Archive for Software

Java/processing con OpenCV en 64bits

// Enero 23rd, 2010 // 10 Comments » // Processing, Software

Según la wikipedia “OpenCV es una biblioteca libre de visión artificial originalmente desarrollada por Intel. Desde que apareció su primera versión alfa en el mes de enero de 1999, se ha utilizado en infinidad de aplicaciones. Desde sistemas de seguridad con detección de movimiento, hasta aplicativos de control de procesos donde se requiere reconocimiento de objetos. Esto se debe a que su publicación se da bajo licencia BSD, que permite que sea usada libremente para propósitos comerciales y de investigación con las condiciones en ella expresadas”.

Y gracias a Stephane Cousot y Douglas Edric Stanley contamos con la implementación de OpenCV para processing y/o java.

INSTALACIÓN

Para instalarla tenemos que en primer lugar instalar opencv, lo bueno es que figura en la mayoría de respositorios así que bastaría usar el administrador de paquetes para instalarlo.
aptitude install opencv
urpmi opencv
pacman -S opencv
emerge opencv
....

dependiendo del sistema en el que estes.

Esto debiera instalar las librerías y cabeceras necesarias en las carpetas del sistema /usr/include y /usr/lib. Como estas ubicaciones ya hacen parte del PATH no vanos a tener los problemas que normalmente se presentan en windows. Al parecer en ubuntu algunas librerías se instalan por aparte, por si acaso esta es la lista de librerías que deberías tener instalada:
/usr/lib/libml.so
/usr/lib/libhighgui.so
/usr/lib/libcxcore.so
/usr/lib/libcvaux.so
/usr/lib/libcv.so
Si no es así seguramente es un paquete separado así que por medio del administrador de paquetes lo puedes buscar e instalar.

Ahora descargamos la librería para processing al momento la 01, aconsejable también los ejemplos para java y/o processing.

El procedimiento es el mismo que cualquier librería, descomprimimos el paquete y copiamos la carpeta dentro de processing-1.0.9/libraries/ y listo.

A este momento si tenemos un dispositivo v4l conectado y configurado correctamente (osea funcionando), debería estar funcionando los ejemplos de la librería, y ya se podría trabajar en ella. Pero los que usamos distribuciones de 64 bits encontraremos un problema como es ya habitual.

AMD64

Si corres algún ejemplo de opencv en processing sobre 64bits puedes encontrar un error del tipo:

!!! required library not found : /usr/lib/libOpenCV.so: /usr/lib/libOpenCV.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)

Si has visto mis post anteriores ya sabrás cual es el problema, tenemos que encontrar un libOpenCV.so compilado para 64bits, pero esta vez la solución fué un poco más “elaborada”, ya que este paquete no existe en los repositorios, fué un paquete compilado especialmente para la implementación de OpenCv en Processing.

Tendremos entonces que compilarlo de las fuentes que se incluyen en el paquete de lka librería que descargamos. Para una solución más sencilla subí el archivo compilado a mi servidor, así que lo pueden descargar de aquí: libOpenCV.so y reemplazar el existente en processing-1.0.9/libraries/OpenCV/library. Con esto queda solucionado y podrás utilizar opencv en 64bits sin problema.

Si quieres compilarlo estos son los pasos que yo seguí, para evitar compilar las clases, lo que hize fué extraer del archivo processing-1.0.9/libraries/OpenCV/library/OpenCV.jar los archivos Bob.class y OpenCV.class, con cualquier gestor de compresión de archivos lo puedes hacer, y los copié en processing-1.0.9/libraries/OpenCV/source/java/hypermedia/video luego desde consola

cd processing-1.0.9/libraries/OpenCV/source/java
javah -jni hypermedia.video.OpenCV

esto nos genera un fichero cabecera hypermedia_video_OpenCV.h, lo movemos a processing-1.0.9/libraries/OpenCV/source/cpp y compilamos la libreria libOpenCV.so
mv ./hypermedia_video_OpenCV.h processing-1.0.9/libraries/OpenCV/source/cpp
cd processing-1.0.9/libraries/OpenCV/source/cpp
g++ -shared OpenCV.cpp -o libOpenCV.so -I/usr/include/opencv/ -I/usr/lib/jvm/java-1.6.0-openjdk/include/ -lcv -lhighgui -fPIC

esto nos genera la librería libOpenCV.so que podemos copiar a processing-1.0.9/libraries/OpenCV/library reemplazando la anterior, y listo!! OpenCV funcionando.

Processing 1.0.9 + OpenGL + GSVideo 0.6 + GNU/Linux AMD64

// Diciembre 31st, 2009 // No Comments » // Gentoo, Processing, Software

Holas, pues me armé un nuevo computador!!
Y aprovechando la nueva adquisición, actualizo la información sobre la instalación de Processing en distribuciones de 64bits, para el caso: Gentoo amd64 (aunque es válido para otras distribuciones).

Como recordarán para que funcionara processing en 64bits antiguamente teníamos que hacer una par de cosas, primero tocaba instalar jikes y reemplazar el que incluía processing con éste, esto ya no es necesario. Posteriormente tocaba reemplazar el java que venía incluído con uno nativo, cosa que permite usar el sun-jdk o el open-jdk, como lo mecioné anteriormente.

Ahora si descargas processing, que a la fecha su versión es la 1.0.9, verás que funciona perfectamente sin hacerle ningún cambio, lo cual es una muy buena noticia. Pero, como parte del combo yo instalo la librería GSVideo, verás que comienzan los problemas.

GSVIDEO 0.6

Al descargar e instalar la última versión (gsvideo-0.6-pre0.zip a la fecha), verás que processing nos vota un error del tipo:

Exception in thread “Animation Thread” java.lang.UnsatisfiedLinkError: Unable to load library ‘gstreamer-0.10′: /usr/lib/libgstreamer-0.10.so.0.22.0: wrong ELF class: ELFCLASS64

Como bien lo dice (o podrán intuir) el problema radica en la arquitectura de 64bits. Pero ¿porqué presenta este problema si GSVideo es una librería multiplataforma?, la respuesta es simple, en realidad el problema está en que gsvideo requiere de gstreamer instalado, es decir nativo, de 64bits, y cuando es llamado por processing lo procesa dentro de un java de 32bits lo cual genera la incompatibilidad.

Para solucionarlo volvemos a la opción de instalar un jdk y reemplazar el existente en processing por este. Para esto podemos seguir las instrucciones que escribí aquí. Tengan en cuenta que aunque las instrucciones son para el open-jdk, también son válidas para el sun-jdk si es de su preferencia.

Con esto volvemos a ejecutar nuestros ejemplos de GSVideo en processing y ya no tendremos ningún problema.

OpenGL

Podríamos pensar que ya está listo nuestro processing para trabajar, pero no es así, si volvemos a probar todo encontraremos un nuevo problema: lo que antes probamos con la librería OpenGL ya no funciona, ¿porqué?.

Si nos fijamos el error que ahora vota es muy similar al anterior de GSVideo:

Exception in thread “Animation Thread” java.lang.UnsatisfiedLinkError: /opt/processing-1.0.9/libraries/opengl/library/libgluegen-rt.so: /opt/processing-1.0.9/libraries/opengl/library/libgluegen-rt.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)

Como podremos observar es un error nuevamente de arquitectura, pero esta vez nos dice “wrong ELF class: ELFCLASS32″, es decir, que la librería que encontró (libgluegen-rt.so), es de 32 bits y que eso es incorrecto. Pues si analizamos el cambio que hicimos nos daremos cuenta fácilmente del problema, al reemplazar el java que traía processing que era de 32 bits por el que nosostros instalamos que es de 64bits, generó la incompatibilidad con el opengl de 32bits que traía processing.

Entonces ¿cómo lo solucionamos?, pues de un modo similar al caso anterior, instalamos el paquete de opengl para java que es llamado jogl, y reemplazamos los archivos de processing/libraries/opengl/library/* con estos.

Para el caso de gentoo el paquete jogl se encuentra en el java-overlay, para las demás distribuciones no sabría decirles si existe un paquete precompilado, pero googleando se darán cuenta o en último caso está la posibilidad de compilarlo desde las fuentes.

Yo manejo los overlays con layman, así que estos fueron mis pasos:
layman -a java-overlay
echo "dev-java/jogl ~amd64" >> /etc/portage/package.keywords
echo "dev-java/gluegen ~amd64" >> /etc/portage/package.keywords
emerge -av jogl

Con esto ya tengo instalado jogl en mis sistema, lo cual generó los archivos:

/usr/lib64/gluegen/libgluegen-rt.so
/usr/share/gluegen/lib/gluegen.jar
/usr/share/gluegen/lib/gluegen-rt.jar
para dev-java/gluegen, que instaló como dependencia, y:

/usr/lib64/jogl/libjogl_awt.so
/usr/lib64/jogl/libjogl.so
/usr/share/jogl/lib/jogl.jar
para dev-java/jogl.

Ahora lo único que tendremos que hacer es copiar estos archivos a processing-1.0.9/libraries/opengl/library/ reemplazando los que se encuentren allí.

Con esto ya deberíamos tener funcionando processing completo sobre amd64.

OpenGL en Processing 64 bits

// Junio 22nd, 2009 // 2 Comments » // Processing, Software

Como ya vimos, para correr processing en linux de 64 bits es necesario reemplazar el java que incluye por uno del sistema.

Ahora, la solución a usar la librería OpenGL. Como te habrás fijado cuando se intenta usar esta librería vota un error del estilo:

java.lang.UnsatisfiedLinkError: /self-installed/processing-0135/libraries/opengl/library/libjogl_drihack.so: /self-installed/processing-0135/libraries/opengl/library/libjogl_drihack.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)

Esto es claramente por usar librerías de 32 bits (wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)), para solucionarlo podemos bajar la librería de soporte OpenGL para java (JOGL) de su página oficial.

Al final de la página encontrarás los links de descarga, hay versión para tanto para linux amd64 como para windows 64bits.

Una vez lo descarges todo lo que tendrás que hacer es descomprimirlo y copiar todo el contenido de la carpeta  /lib  a  processing/opengl/library/ , sobreescribe lo que ya exista.

——————————————————————–

Actualización:
En gentoo se encuentra el paquete jogl en el overlay java-overlay. Para usarlo instalamos layman, añadimos el overlay e instalamos.
emerge -av layman
layman -a java-overlay
emerge -av jogl
Portage va a pedir que desenmascares algunos paquetes que se encuentran el la rama ~amd64.
Esto nos instala jogl y gluegen como dependencia, luego copiamos o hacemos un enlace simbólico de los archivos instalados dentro de processing/libraries/opengl/library/ re-escribiendo los archivos originales.

Processing 1.0.1 + openJDK

// Enero 7th, 2009 // 7 Comments » // Processing, Software

Processing funciona de manera nativa con el jdk de sun, y para poder trabajar en 64bits y/o de una manera más “libre”, tendremos que instalar el openjdk. El jre no sirve, tiene que ser el entorno completo de desarrollo. Posteriormente tendremos que reemplazar la carpeta java con un link simbólico a la carpeta de instalación del jdk y listo.

Yo instalé el paquete java-1.6.0-openjdk-devel, que como lo mencioné entre líneas difiere del de sun, en que este es un jdk opensource.

Una vez instalado el jdk, se ubica la carpeta donde se instaló, generalmente los gestores gráficos de paquetes, como synaptic y adept, permiten ver los archivos instalados por dicho paquete, así podremos ubicar la carpeta raiz del jdk, que, para el caso del java-1.6.0-openjdk-devel sobre un Mandriva Free 2009 x86_64, se instaló en ‎/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64. Dentro de dicha carpeta tendrá que haber mímino una carpeta bin, una lib y una del jre.

Procederemos a borrar o mover la carpeta java del processing y hacer el link simbólico, para ello desde consola y como root.

rm -R /opt/processing-1.0.1/javaln -s /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64 /opt/processing-1.0.1/java

y listo tendremos nuestro processing funcionando. No olvides que para ejecutarlo en caso de dar algún error prueba con:

cd /opt/processing-1.0.0 && ./processing

Lanzado Processing 1.0

// Noviembre 27th, 2008 // 4 Comments » // Processing, Software

Este excelente software de producción digital audiovisual lanza su primera versión estable.

Según parece la descarga estuvo disponible desde el 24 de este mes, y hubo record de descargas a tal punto que se saturó varias veces el servidor, pero bueno yo hasta ahora me entero y aquí esta la captura de Processing 1.0 sobre Sabayón GNU/Linux. Los colores de la interfaz cambiaron, y si alcanzar a ver el panel inferior notarán que también cambió el icono, no he tenido tiempo de probarlo mucho aún, pero siempre me ha parecido feo que la versión para linux incluya la librería video la cual no funciona en linux, solo en windows y mac, en fin para eso está GSVideo.

Instalando MySQL-workbench en linux

// Noviembre 26th, 2008 // No Comments » // Gentoo, Software

MySQL workbench es un programa multiplataforma, para el modelado visual de bases de datos mysql. Se le denomina como el sucesor del proyecto DBDesigner4.

A continuación describo los pasos que hize para lograr la instalación sobre un sistema Sabayon Linux 3.5 i386.

Bien, partí descargando las fuentes de la sección de descargas de la página oficial, versión que a la fecha es la 5.0.27, descomprimiendo el paquete y leyendo el README y el INSTALL (algo que siempre se debe hacer), y de acuerdo a eso empezé desde consola.

./autogen.sh

el primer problema que marcó fué acerca del paquete google-ctemplate, como no estaba en el arbol portage lo descargé de la página http://code.google.com/p/google-ctemplate/ y procedí del mismo modo, LEER EL README Y EL INSTALL, a lo cual el procedimiento era de lo más normal, y todo sin problemas.

./configure
make
make install

Luego de intentar nuevamente con el script auntogen.sh de mysql-workbench, tuve el segundo error, esta vez con el paquete lua5.1, para conseguir instalarlo desde portage antes tuve que actualizar libtool

emerge -u libtool
emerge -av lua

Pero para mi sorpresa luego de aparecer un lindo mensajito que indicaba estar listo para el make, cuando lo compilé produjo un error que no logré relacionar con ningún paquete, pues he aquí donde hallé la solución: http://dev.mysql.com/workbench/?p=158

Está explicada la instalación para Ubuntu y supongo funciona con debian y derivados, con un repositorio para instalarlo desde deb’s. En la parte de abajo está lo que buscaba, para usuarios no-ubuntu (palabras casi textuales), se puede intentar compilar desde las fuentes (es lo que estaba haciéndo) , pero recomiendan descargar el siguiente paquete:

ftp://ftp.mysql.com/pub/mysql/download/gui-tools/mysql-workbench-5.1.3-alpha.tar.gz

Como pueden ver es una versión alfa, pero no tiene problemas para compilarlo (solo tuve que instalar libzip), y según comentarios funciona también en distros amd64., el binario lo genera por defecto en /usr/local/bin pero se le puede cambiar especificándole al autogen.

Para compilarlo en distribuciones debian o derivados (sin usar los paquetes deb que mencioné antes) las instrucciones de la construcción en linux funcionan bien.

Openframeworks 0.05 + codeblocks

// Julio 12th, 2008 // 4 Comments » // Gentoo, Openframeworks, Software, Video

made with openFrameworks from openFrameworks on Vimeo.

Para los que no conocen OF (Openframeworks), es una librería para C++ para facilitar la creación de aplicaciones multimediales, con una sintaxis similar a processing, diseñada para trabajar con openGL , rtAudio, freeType, freeImage, y quicktime.

Como es una librería de C++, indagué primero por las IDE’s recomendadas entre las que se encuentran Eclipse y Codeblocks, ya conocía la primera, así que prové codeblocks y me pareció una excelente opción, es una IDE completa y liviana, así que dejaremos el eclipse para java.

Para probarlo simplemente se descarga de la página, se descomprime y ya, los ejemplos vienen con el proyecto en codeblocks así que simplemente abrimos un proyecto y ya tenemos todo importado con la jerarquía que necesitamos para trabajar openframeworks.

Para poder ejecutar las aplicaciones deberíamos tener instalado:
freeglut3-dev libasound2-dev libxmu-dev libxxf86vm-dev g++ libgl1-mesa-dev libglu1-mesa-dev libraw1394-dev
Para mi caso en gentoo instalé media-libs/glut, en vez de freeglut que me dió problemas.

A la hora de provarlo hasta el momento no ha funcionado en 64bits, me bota el error

Linking console executable: bin/imageLoaderExample_debug
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible ../../../libs/fmodex/lib/libfmodex.so when searching for -lfmodex
../../../libs/ffmpeg/libavcodec/libavcodec.so: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 0 seconds)
0 errors, 0 warnings

Leyendo tenía dos opciones la jaula de 32 bits o construir openframeworks con las versiones de 64bits de la librerías de las que depende. Como tengo una jaula de 32 bits primero probé ahí.

En la jaula de 32bits, inicialmente botaba errores de compilación, chequeándo en el foro encontré que el problema radica en que codeblocks cuando la salida del gcc no está en inglés cree que todos los warnings son errores, la respuesta la encontré aquí, simplemente ejecutamos export LC_ALL=C y en la misma consola llamamos a codeblocks.

Por fin openframeworks trabajando!!!!

Ahora vamos a tratar la segunda opción, trabajar con las librerías de 64 bits.

Para esto vamos a nuestro directorio de descarga de openframework desde la consola, e ingresamos a libs/, empezaremos en orden así que vamos a ffmpeg/libavcodec/ allí encontraremos 4 archivos que deberemos borrar, mover o renombrar, y reemplazarlos por los del sistema (naturalmente debes tener instalado ffmpeg), yo decidí moverlo y luego hacer un enlace simbólico a la ruta que encontré en el sistema gracias al comando locate.

ln -s /usr/include/ffmpeg/avcodec.h ./
ln -s /usr/lib64/libavcodec.a ./
ln -s /usr/lib64/libavcodec.so ./
ln -s /usr/lib64/libavcodec.so.51 ./
recuerden estar parados en of-path/libs/ffmpeg/libavcodec/

Nos devolvemos a libs/ffmpeg y seguimos de la misma manera con las otras dos carpetas libavformat y libavutil.

oceano libavcodec # cd ..
oceano ffmpeg # cd libavformat/
oceano libavformat # ln -s /usr/include/ffmpeg/avformat.h ./
oceano libavformat # ln -s /usr/lib64/libavformat.so.51 ./
oceano libavformat # ln -s /usr/lib64/libavformat.so ./
oceano libavformat # ln -s /usr/lib64/libavformat.a ./
oceano libavformat # cd ..
oceano ffmpeg # cd libavutil/
oceano libavutil # ln -s /usr/lib64/libavutil.a ./
oceano libavutil # ln -s /usr/lib64/libavutil.so ./
oceano libavutil # ln -s /usr/lib64/libavutil.so.49 ./
oceano libavutil # ln -s /usr/include/ffmpeg/avutil.h ./
oceano libavutil # ln -s /usr/include/ffmpeg/common.h ./
oceano libavutil # ln -s /usr/include/ffmpeg/integer.h ./
oceano libavutil # ln -s /usr/include/ffmpeg/intfloat_readwrite.h ./
oceano libavutil # ln -s /usr/include/ffmpeg/mathematics.h ./
oceano libavutil # ln -s /usr/include/ffmpeg/rational.h ./
oceano libavutil # ln -s /usr/include/ffmpeg/log.h ./

Terminamos ffmpeg, seguimos con fmodex, para esto necesitamos instalado fmod, y repetimos el procedimiento:

oceano libavutil # cd ..
oceano ffmpeg # cd ..
oceano libs # cd fmodex/inc/
oceano inc # ln -s /usr/include/fmodex/fmod_codec.h
oceano inc # ln -s /usr/include/fmodex/fmod_dsp.h
oceano inc # ln -s /usr/include/fmodex/fmod_errors.h
oceano inc # ln -s /usr/include/fmodex/fmod.h
oceano inc # ln -s /usr/include/fmodex/fmod.hpp
oceano inc # ln -s /usr/include/fmodex/fmod_output.h
oceano inc # cd ..
oceano fmodex # cd lib/
oceano lib # ln -s /usr/lib64/libfmodexp.so ./
oceano lib # ln -s /usr/lib64/libfmodexp.so.4.11.03 ./libfmodexp.so.4.08.00
oceano lib # ln -s /usr/lib64/libfmodex.so ./
oceano lib # ln -s /usr/lib64/libfmodex.so.4.11.03 ./libfmodex.so.4.08.00

en la carpeta plugins todos los que encontrarás en el sistema terminan en 64 así que hay que renombrarlos, y no encontré los archivos codec_flac, codec_vag y dsp_lowpass_simple en el sistema así que le dejé los originales.

oceano lib # cd ..
oceano fmodex # cd plugins/
oceano plugins # ln -s /usr/lib64/fmodex/plugins/codec_aiff64.so ./codec_aiff.sooceano plugins # ln -s /usr/lib64/fmodex/plugins/codec_cdda64.so ./codec_cdda.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/codec_dls64.so ./codec_dls.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/codec_fsb.so ./
oceano plugins # ln -s /usr/lib64/fmodex/plugins/codec_it64.so ./codec_it.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/codec_midi64.so ./codec_midi.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/codec_mod64.so ./codec_mod.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/codec_mpeg64.so ./codec_mpeg.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/codec_oggvorbis64.so ./codec_oggvorbis.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/codec_playlist64.so ./codec_playlist.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/codec_raw64.so ./codec_raw.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/codec_s3m64.so ./codec_s3m.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/codec_sf264.so ./codec_sf2.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/codec_tag64.so ./codec_tag.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/codec_wav64.so ./codec_wav.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/codec_xm64.so ./codec_xm.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/dsp_chorus64.so ./dsp_chorus.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/dsp_compressor64.so ./dsp_compressor.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/dsp_distortion64.so ./dsp_distortion.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/dsp_echo64.so ./dsp_echo.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/dsp_flange64.so ./dsp_flange.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/dsp_highpass64.so ./dsp_highpass.so
oceano plugins # ln -s /usr
/lib64/fmodex/plugins/dsp_itecho64.so ./dsp_itecho.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/dsp_lowpass264.so ./dsp_lowpass2.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/dsp_lowpass64.so ./dsp_lowpass.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/dsp_normalize64.so ./dsp_normalize.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/dsp_oscillator64.so ./dsp_oscillator.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/dsp_parameq64.so ./dsp_parameq.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/dsp_pitchshift64.so ./dsp_pitchshift.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/dsp_reverb64.so ./dsp_reverb.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/dsp_sfxreverb64.so ./dsp_sfxreverb.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/output_alsa64.so ./output_alsa.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/output_esd64.so ./output_esd.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/output_nosound64.so ./output_nosound.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/output_oss64.so ./output_oss.so
oceano plugins # ln -s /usr/lib64/fmodex/plugins/output_wavwriter64.so ./output_wavwriter.so

el proceso se repite sucesivamente para el resto de librerías.


Agrego: al tiempo que estaba haciéndo esto encontré que arturo y muchos otros ya lo habían hecho, pero arturo tuvo la amabilidad de subirlo y compartirlo listo para usar. Les dejo el link de descarga y en enlace al post donde encontré el enlace.

descarga of_64bits

VisualP5.net

// Julio 3rd, 2008 // No Comments » // Processing, Software

VisualP5.net es un proyecto iniciado por Alba Corral, dedicado a documentar y ayudar a todos aquellos interesados en Processing y en la Creación digital, todo completamente en español.

Actualmente cuenta con un foro, una sección de conferencias donde se pueden descargar o ver en línea video-conferencias de introducción a processing, processing mobile y otros que periódicamente publica.

Estamos comenzando con el wiki, donde planeamos tener toda la información de tutoriales, traducciones y demás de este gran software de creación multimedia. Digo estamos porque me he involucrado con el proyecto, e invito a todos a participar en esta excelente iniciativa.

0.3.12 nueva versión de gsvideo

// Mayo 8th, 2008 // 20 Comments » // Processing, Software, Video

La librería para captura de video multiplataforma para processing gsvideo lanza su nueva versión, (y está estrenando sitio en sourceforge), esta vez cuenta con la utilidad para escoger entre los dispositivos v4l que tengamos conectados.

Para utilizar este nuevo método tenemos que añadirle los parámetros a la linea que inicia el objeto de captura
video = new GSCapture(this, 160, 120, 15);
añadiéndole el dispositivo que queremos que reconozca, si no le añadimos nada reconocerá el primero
video = new GSCapture(this, 320, 240, new String[] {“device”}, new String[] {“/dev/video1″},15);
si tenemos errores por “v4l2src” podemos añadirle también
video = new GSCapture(this, 320, 240, “v4lsrc”, new String[] {“device”}, new String[] {“/dev/video1″},15);
donde /dev/video1 será la dirección del dispositivo que queremos trabajar.
Así mismo podemos suprimir el último parámetro que corresponde a los fotogramas por segundo a los que hará la captura, siendo el predeterminado 25.

Parece que todavía no soporta múltiples dispositivos, ya que cuando agrego otro vota NullPointerException, pero es un gran avance, y seguramente seguirá teniendo mejoras significativas para el delite de todos aquellos que trabajamos con video en tiempo real, o edición algorítmica.

Mis agradecimientos y felicitaciones a Andrés Colubri por compartir su trabajo con nosotros.

blue: interfáz gráfica para csound

// Marzo 21st, 2008 // No Comments » // Audio, Software

Les presento blue, una interfaz hecha en java y por tal multiplataforma para manejar de una manera gráfica y amigable csound, el conocido programa para creación sonora algorítmica.

Es de muy fácil instalación ya que basta bajar el archivo .jar y lo ejecutas como un programa java con el comando java -jar blue-version-installer.jar, lo cual lanza una interfaz de instalación en la que le das siguiente, siguiente, aceptas las condiciones, siguiente….., muy sencillo, naturalmente tenemos que tener una jvm instalada, lo cual en la mayoría de los casos ya está, ya que muchos programas la usan. Este proceso nos genera una carpeta blue en la ubicación que le dijiste, dentro de la cual está la carpeta /bin y el script ejecutable blue.sh que puedes agregar al menú de aplicaciones.