Desde hace un tiempo quiero que tenga soporte de podcasts. El asunto es que ... siempre me pareció mucho trabajo. Seguro, usando phonon puedo crear un reproductor de audio y eso, pero...
Estoy usando un widget HTML para mostrar los posts, así que tendría que encontrar una forma de agregar el reproductor a la interface y... mucho trabajo.
Hoy me desperté y pensé... esperá... El widget HTML de Qt está basado en Webkit. Y webkit soporta HTML5. Y HTML5 tiene un tag "audio".
Entonces, si hiciera que uRSSus bajara los links de los enclosures, y los agregara a la base de datos, y agrego esto al template de post:
<?py for enclosure in post.enclosures: ?>
<audio autobuffer="Yes" controls="controls" src=#{enclosure.href}></audio><br>
<?py #end ?>
Eso no funcionaría? Bueno, sí!
Y ahí está, yo tenia razón en no implementarlo, porque la forma fácil de hacerlo es dejar que Qt lo haga ;-)
Eso es porque no sé qué estoy haciendo, y no lo digo en el sentido de "no soy un buen programador" (aunque eso es medio cierto), sino que literalmente no sé como debe verse la aplicación, o qué debe poder hacer.
Así que he decidido embarcarme en una serie de experimentos que llamo "24-hour apps".
Éstas son las reglas:
Debo crear una aplicación linda, estable, útil, usable y de aspecto agradable.
Debo hacerlo en menos de 24 horas. Después de ese tiempo, debe al menos ser digna de un preview, si no un beta.
Esas 24 horas se pueden dividir en dos o tres sesiones.
El tiempo usado haciendo iconos, documentación, etc, cuenta.
Todo el desarrollo debe ser público (estoy usando github).
Debo tener un uso para la aplicación producida, y debe ser al menos una solución adecuada para ese problema.
Entonces, ¿cual és el primer proyecto? lo llamo Die Schere (Las Tijeras en alemán) y es un editor de video.
No es un reemplazo de kdenlive, es tan solo el editor de video que me hubiera gustado tener cuando necesité pegar un pedazo de un video con un pedazo de otro.
El el antiguo mundo pre-digital, eso se hacía con un cutter y cinta scotch. Quiero que Die Schere sea al menos tan útil y comprensible como era eso, pero útil para gente torpe como yo.
Aquí hay un video después de la sesión de hoy, que duró unas 8 o 9 horas:
La funcionalidad básica está ahí, aunque queda mucho trabajo por delante.
Se pueden cargar clips para trabajar con ellos.
Se pueden cortar (como con un cutter)
Se puede elegir el punto de corte interactivamente o editando un valor tiempo
Se pueden acomodar (como con cinta scotch!)
Se puede generar el video de salida
Como backend estoy usando mencoder, pero no hay motivo para que no funcione con ffmpeg o melt si alguien escribe 20 líneas de código.
El status actual es que la infraestructura necesaria para el editor de stylesheets está hecha:
Ya entendí como hacer para convertir el objeto StyleSheet de vuelta en un stylesheet JSON.
Los cambios se hacen y se "unen" en el mismo archivo.
Está hecha la interface para 3 de los 6 pedazos necesarios. Los que faltan: estilos de texto, fuentes y opciones de configuración (ej: que las subsecciones empiecen en páginas impares)
La interface para toda la aplicación es bastante cruda, estoy en pleno modo hacer-que-ande por ahora. Se va a repensar completamente después.
Por supuesto, una cosa lleva a otra y se está empezando a parecer más a un procesador de texto que a otra cosa, pero ... que pasó con el editor de stylesheets?
Claro, se puede usar la solapa "Style" y editar como quieras, pero no es exactamente amigable para todo el mundo.
Así que vamos a hacer uno. Acá está el video del estado actual:
Esto es tal vez 1/20 del editor de estilos, pero por lo menos el diálogo está hecho, y la mayor parte del trabajo remanente es enganchar widgets, que es fácil con designer.