Primero querría pedir disculpas por no actualizar el blog desde hace tiempo y no haber subido el video que prometí hace un mes. Lo cierto es que por motivos técnicos no pude grabar el video y se fue retrasando la actualización del blog y, cuando pensaba que podría hacerlo, mis profesores irrumpieron con una emboscada de miles de trabajos y prácticas y luego llegaron los fatídicos exámenes. Por fortuna, los exámenes han salido bastante bien lo que supone una pequeña inyección de moral para programar intensamente durante las próximas semanas.

Lo cierto es que la falta de actividad de la web no quiere decir que no existan novedades significativas. Ahora existen LFO’s y filtros variados, lo que permiten darle un juego interesante al sonido, que puede generararse además con nuevas formas básicas y se ha añadido un modulador en anillo para tanto para señales de audio como para señales de control. También pueden desactivarse los objetos sin eliminarlos simplemente pinchando en su conexión. Hay también logs multinivel, jerárquico y de salida genérica. Y puede grabarse el sonido que se está generando en un fichero wav. Se han realizado modificaciones importantes en el sistema de objetos que dan versatilidad y nos permitirán escribir una mayor variedad de módulos de síntesis. He hecho también un diagrama muy resumido de la arquitectura del programa, que ofrece una primera visión sobre como podrá ser utilizado el sistema por programadores y puede ser consultado en la sección de documentación de la forja. Y seguro que me dejo cosas en el tintero.

Por otro lado, durante los exámenes he aprovechado algún rato de ensimismamiento para madurar las ideas de las próximas cosas a implementar y el parón ha servido también para refrescar ideas y replantearse algunas cosas. Así, voy a comentar de forma somera que serán las próximas cosas ha implementar:

Como no encontré ninguna librería que se comportase como quería, ayer empecé a implementar un sistema para almacenar las configuraciones del programa. Éste será jerárquico y basado en MVC y podrá intercambiarse de forma transparente para el programador el sistema que se utilice para almacenar la configuración -utilizaré en un principio XML, pero podría usarse indistintamente gconf o el registro de Windows, por ejemplo. También completaré este trabajo con un sistema que permita actualizar automáticamente los parámetros de configuración y una clase PsychosynthApp que facilite la escritura de aplicaciones basadas en Psychosynth.

Luego me pondré manos a la obra con un tema peliagudo: la creación de objetos generadores de ritmos y la solución de los pequeños clicks que se escuchan al conectar y desconectar objetos. Por fortuna, ya tengo más o menos pensado como hacer todo esto.

Una vez hecho esto tengo muchas cosas interesantes en la cabeza pero no se en que orden las haré. Por ejemplo, que el mapeo entre los objetos reales de síntesis y las formas visuales que se muestran en pantalla se realice a través de un lenguaje basado en XML. También quiero escribir un controlador basado en reacTIVision para el simulador 3D ya que, aunque en un principio pensaba esperar a hacer todo el sistema para las mesas, así podremos tener un Reactable sin necesidad de gastar una pasta en parafernalia. Las otras cosas que comparten prioridad con estas últimas en la posibilidad de reproducir ficheros -ajustando el tempo, etcétera, lo que convertiría a Psychosynth en un arma muy atractiva para DJ’s- y que se visualice las señales que transmiten los objetos.

Por último, comentar mi decisión de no desarrollar aún la documentación del proyecto antes de que termine el concurso. Esto se debe a que aún quedan varios meses al menos para poder estabilizar la API y además preferiría no estabilizarla hasta que participen más desarrolladores en el proyecto y hagan sugerencias y se sientan cómodos con las librerías. Como ven hay tengo mucho trabajo por hacer y no hay por que apresurarse demasiado con eso.

Escribe un comentario

*
*