Roadmap/es
From Psychosynth
Note: Esto es sólo un borrador.
Contents |
Motor sonoro
- Soporte para plugins: LADSPA, LV2, DSSI y tal vez VST. Esta funcionalidad es muy importante para el profesional que querrá poder utilizar sus propios plugins ya hechos con interfaces estándar dentro del programa.
- Generalización de los datos de las conexiones. Es decir, poder transmitir cosas distintas de buffers monocanal (señales de control) o multicanal (de audio) como ahora sino también cadenas de caracteres o escalares. Esto es necesario para algunas de las ideas que tengo en la cabeza, como el anidamiento de samples creando pseudo canales -¡Ableton, tiembla!.
- Sincronización con tempo, es decir, poder definir unos BPM a los que se sincronicen ciertos eventos que ocurran en un area de la mesa determinada. Especialmente necesario para música más rítmica y menos experimental.
Y por supuesto, implementar nuevos filtros, generadores, etc... Será necesario también implementar objetos globales como el radar y secuenciadores de pasos por área, etcétera.
Dynamic patcher
- Cálculo dinámico de la matriz de posibles conexiones, creando tipos de conexiones que no se refieran únicamente al tipo de dato que se envía sino también a la semántica del mismo. Ahora mismo esta matriz es estática pero es imperativo que sea dinámica para poder añadir soporte para plugins y demás.
Interfaz visual
- Mejorar la abstracción de los controles de la mesa, para hacer aún más inmediata la implementación de control por Reactivision.
- Mapeado XML motor-visualizador/controlador, es decir, que los controles asociados y parámetros constantes de los objetos se definan de forma dinámica. Imperativo para los plugins y permite además personalizar totalmente el entorno del programa.
- Para editar esa descripción de como se realiza la visualización y control del objeto puede crearse un editor gráfico dónde arrastremos los controles y los asociemos a parámetros, etc.
- Posibilidad de editar la paleta de objetos disponibles y sus parámetros inciales y también asociarles atajos de teclado. También sería interesante poder definir atajos para el control de los parámetros de los objetos. Ésto haría que uno pueda personalizarse mucho más el entorno para una actuación en vivo.
- Definir un concepto de sesión que permita tener entornos distintos de los parámetros descritos antes.
Menos prioritario pero también importante en el fondo es añadir lindezas visuales, por ejemplo visualizar el espectro de la salida global con barras tridimensionales al rededor de la mesa y demás. Para esto también podría interesar definir una interfaz de plugins de visualización.
Sistema de red
- Comprobar el funcionamiento a través de internet y realizar los ajustes necesarios.
- El modelo actual de las conexiones OSC está hecho para permitir sesiones sincrónicas entre varios Psychosynth, ahora también habría que implementar un servidor OSC prácticamente pasivo que sirva para poder hacer controladores externos basados en OSC. Esto es, de hecho, bastante más sencillo que el modelo que tenemos actualmente así que espero que sea fácil de hacer.
Otros
- Poder grabar sesiones no como audio sino como una sucesión de eventos de manipulación sobre la mesa. Tendríamos así una salida mucho más liviana y que además permite representar también la visualización de la escena.
- Poder grabar y cargar el estado del sistema para continuar experimentando a partir de un punto dado.
- Traducciones con gettext.
- Me han comentado que el programa no funciona en 64 bits así que puliré el port.