¡Habemus editor!

Diciembre 2, 2006

Imagen 8.png

Llevo un montón de tiempo sin escribir nada, vaya. Me he dedicado a implementar la parte del editor de transparencias y bueno, faltan muchas cosas todavía pero creo que el camino elegido da resultados rápidamente. No me arrepiento de la cantidad de trabajo que ha resultado crear un toolkit, la verdad.

Por fin Cabaret tiene un editor con el que podemos crear diferentes objetos, moverlos, organizarlos y editarlos. El editor de textos no es muy bueno, pero algo es algo. Por otro lado hay una ventana “inspector” (rollito mac) que presenta las propiedades de los objetos que vas seleccionando y, bueno, creo que va mas o menos bien. Por otro lado hay un nuevo menú para ver la presentación a pantalla completa y el organizador de la presentación parece que va bien (había un pequeño bug tonto pero ya está solucionado).

Mas cosas. He creado un álbum de flickr donde hay unos pantallazos de todo esto, no son muy espectaculares pero creo que muestran cómo va la aplicación. Están en

http://www.flickr.com/photos/voiser/sets/72157594401882791/

Lo próximo creo que será empezar con las transiciones.

No me gustan las transiciones tipo vídeo BBC (Bodas, Bautizos y Comuniones), es decir, ese rollo Powerpoint cutre con cortinillas y persianas, o textos dando vueltas o cosas así. Trataré de que sean lo más sencillas, fundidos alpha y algo de movimiento pero no demasiado. Había pensado en que sean plugins, eso está claro, pero no sé si enfocarlo como “plugin de Cabaret” o “plugin de la presentación de Cabaret”. Me gusta la idea de que el plugin viaje con el paquete de la presentación, pero no sé no sé… si uso Mac y otro señor usa Linux tendré que darle sus plugins compilados o algo así. He leído que es muy fácil utilizar scripts de Python en un programa C++, quizá sea la solución :)

Voy a indagar.

Bienvenidos al Cabaret

Octubre 28, 2006

Es un placer que la propuesta de Cabaret haya sido aceptada en el I Concurso Universitario de Software Libre. Espero estar a la altura y hacer de Cabaret una realidad.

La idea de Cabaret lleva bastante tiempo rondándome. La motivación fue simple: en el GUL al que tengo el placer de pertenecer organizamos jornadas de cursos en los cuales alguna vez he participado. La idea de dar las charlas con transparencias nunca me gustó, pero admito que es muy útil especialmente si la audiencia no se va a dedicar a tomar apuntes. Por ello opté, para dar una charla sobre PostgreSQL, por prepararme unas cuantas. Probé OpenOffice, que resulta realmente sencillo de usar, pero el resultado era realmente malo. Nadie en su sano juicio usaría fuentes sin suavizar en el siglo XXI.

Pero no quería usar Keynote: no es libre y es demasiado caro para usarlo de pascuas a ramos. Así que opté por LaTeX Beamer, un paquete de LaTeX que hace unas transparencias realmente buenas. Obviamente la salida es PDF así que olvida todo lo relacionado con transiciones y movimientos. No es que me gusten demasiado, pero de vez en cuando pueden ser muy apropiados. La experiencia resultó muy buena, excepto por una cosa: es LaTeX. O sea, olvida la sencillez, la facilidad de uso, la intuitividad y esas cosas que no pueden faltar en un escritorio del año en curso.

Desde entonces, cómo no, llevo pensando en Cabaret. Incluso he llegado a hacer alguna prueba de concepto que mis compañeros guleros han visto. Ahora toca coger el toro por los cuernos y dejarnos de pruebas de concepto: hay que construir un Cabaret.

Si nos asomamos a la forja del proyecto, vemos que está en fase Planning. Eso significa que hay que escribir en algún sitio un plan te ataque del proyecto. Sea pues:

  • Cabaret se basará en GLUT sobre OpenGL. La razón es que GLUT está muy extendido, existe una implementación libre que llevan de serie las distros como Ubuntu, por ejemplo, y es muy sencillo de usar. Tiene alguna cosa mala, como por ejemplo el soporte de tildes en algunos sistemas como Mac, en Linux creo que funciona bien.
  • Cabaret se usará mediante una GUI: olvidemos escribir las transparencias mediante comandos y etiquetas. Pero la GUI debe ser realmente completa, por lo que nos va a hacer falta un buen toolkit para OpenGL
  • Cabaret guardará los documentos en XML. Habrá que hacer algún uso de bibliotecas XML o generarse un parser para leer este formato. Habrá que sopesar libxml o alguno de esos, pero lo más probable es que acabe haciéndome una clase sencillita y punto.
  • Cabaret soportará animaciones y transiciones mediante plugins. Este es un punto difícil porque estas transiciones y animaciones dan lugar a las horteradas mas brutales que podamos ver nunca. Así que el soporte para plugins será pequeño y muy simple, orientado a hacer las cosas sencillas y, ante todo, que no salga un clip con ojos borrando unas letras y escribiendo otras :)

Con estas premisas en mente, ya podemos comenzar a programar algo.