Processing 1.0.1 + openJDK

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/java
ln -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

GSVideo 0.4.5


La librería de video para Processing GSVideo publicó una nueva versión, la gsvideo 0.4.5.

Como novedad trae la implementación del método GSCapture.list(), para listar los dispositivos de captura conectados. Este método asume que el elemento de fuente es v4l2src, pero se le puede pasar el parámetro v4lsrc, GSCapture.list("v4lsrc"). Además incluye la posibilidad de definir pipelines con la clase GSPipeline que terminen en filesink, para hacer captura a disco, un paso más cerca de GSMovieMaker.

También incluye unas facilidades de sintaxis, ya no es necesario emplear un array para escoger el dispositivo de captura en el constructor del objeto GSCapture, por ejemplo:

de esto:
cam = new GSCapture(this, 320, 240, new String[] {"device"}, new String[] {"/dev/video1"},15);

se pasó a esto:
cam = new GSCapture(this, 320, 240, "/dev/video1",15);

Lo que ven en la imagen es un ejemplo de captura simple + el ejemplo ASCII video en Processing 1.0.1 + gsvideo 0.4.5 sobre un sistema Linux Mint Felicia (prácticamente un Ubuntu Intrepid), capturando de mi tarjeta de radio y tv Kworld Plus Lite PCI. Para lograrlo simplemente inicié Processing, luego tvtime en el canal que deseé, cerré tvtime y arranque el ejemplo de processing, y así toma la señal del dispositivo con el último canal sintonizado.

El método GSCapture.list() aún no me ha funcionado, pero seguiré probando y posteándo.

PD: probado en Mandriva Free x86_64 2009 y funciona perfectamente, aunque el método GSCapture.list() presenta el mismo error que en 32 bits.