******************************************************************************* Libre Media Server - An Open source Media Server. (c) Santiago Noreña 2012-2013 ******************************************************************************* Developing and support: libremediaserver@gmail.com Code: http://code.google.com/p/libremediaserver ******************************************************************************* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ******************************************************************************* v0.04: + PD: Mirar cómo poder incluir la carpeta tcl dentro de directorio libremediaserver --> Cambio en los dir + GUI: Añadido contador de Frames Por Segundo. + GUI: Selector de tasa de frames. + Carpetas para fuentes + Video: Live input Próximas versiones: - Pure Data Video: Modularidad, sumar ventanas por instancias de LMS --> NO SE PUEDE POR USAR LOS MISMOS PUERTOS --> Opción de arranque? --> Blending entre proyectores. Mirar ejemplo Gem multiprojection --> Añadir shaders a la capa? - Pure Data Video: Cambiar alpha por glgs --> Mirar ejemplos en doc de Gem --> Mirar requerimientos de tarjetas gráficas --> GLSG en OpenGL 2.0 --> Parece que se pueden cambiar más cosas aparte de alpha. Ejemplo 1 brillo y contraste. - Conectividad: CITP/MSEx 1.1. Thumbs y previews de imágenes --> Esperar a 1.2 en MagicQ? - Pure Data: sincronismo de audio con videos --> Parece que hay que hacer un script para separar el audio del video, y luego ejecutarlos juntos. Un poco chapu, la verdad. La aternativa es volver a pdp mediante pdp2gem (inviable, demasiado proceso) --> De momento separando el .ogg del video, ejecutando en auto, y mandando play a la vez debería de estar sincronizados. Ahora mismo se podría separando el audio en un fichero .ogg y presionando el play a la vez en modo auto --> La opción de pdp2gem parece la más factible. Gem no soporta en absoluto el audio, habría que crear un backend para manejarlo y es una movida. ¿Hacerlo sólo en una capa? --> hay que adaptar todo el patch a pdp_player e incluir los externals de pdp y pdp2gem. Adaptar sólo el método auto en esta capa, sin la velocidad ni los modos - Documentación en inglés - Incluir archivos en el ejecutable como recursos Qt --> Podrá leer Pure Data los .pd_linux? --> Los externals empiezan a pesar demasiado y sería un ejecutable demasiado grande: Incluir sólo los patches. - Audio: Theremin, sintetizadores. - Audio: Música fractal mediante generadores de fx de las mesas - Audio: Tarjetas con varias salidas y varias mezclas - Empaquetar en .deb - Scripts: nuevo script para numerar los media - Text: Alphas high y low. Mirar si se puede. --> Parece que pix_alpha no tiene efecto alguno sobre text3d. Alpha blending tampoco. - Video: Generación de fractales visuales --> Iteración en Gem - Core: Evitar los loops de reinicio. --> Detectar y mandar mensaje a la terminal --> Cortar la lectura DMX o apagar la ventana --> Depurar a saco las condiciones del reinicio - Scripts: script para formatear archivos de texto - GUI: avisar cuando no se pueda leer un archivo de texto - Audio: Mute check box. - Scripts: nuevo script para formatear una archivo de texto plano. --> Cambiar coll por textfile? textfile no soporta la búsqueda por línea - Preview texts --> No dispara el pix2image? ----------------- Para considerar/investigar: - Necesidad de 16 bits en size, rotation, entry-end points, puntos de bezier? - Más puntos de Bezier? - Hacer external con reproductor de pix_film --> Merece la pena codificarlo en C una vez hecho en PD? Ahorrará consumo de CPU? - GUI: PD Watchdog reinicia el proceso Pure Data --> Puede que sea mejor que se reproduzca más lento a forzar un reinicio? --> Ahora estoy trabajando sin watchdog y no noto la diferencia - Sustituir PD/Gem por OpenGl? --> Pros: - Aumenta la estabilidad y el rendimiento al quitar una capa - Mejora la detección de errores - Quita la limitación de versiones de OpenGl causada por Gem - Aligera el programa al integrarse todo en el proceso principal - Aumenta las posibilidades de rendering - El patch actual sirve como esquema. Básicamente el proceso sería codificar ese patch en C+ - Aumenta la portabilidad - Reduce las conexiones TCP y Unix Local Socket por llamadas a funciones. --> Contras: - Se pierde la facilidad de uso y modificación que proporciona Pure Data - Varios meses de trabajo. El patch de PD/Gem ya está funcionando --> Pasos: - Hacer una clase para lectura de DMX - Hacer el cargador de medias que cargará en el pipeline el media a reproducir: Phonon - Hacer clase QGLWidget renderWindow - Una señal por canal DMX - FPS conectando un timer a la rutina de renderizado - Creación/Destrucción/Tamaño/Posición de la ventana ----------------- Descartados: - Separar textos en otra personalidad --> No posible, al iniciar un nuevo proceso inicia una nueva ventana- Malo para textos, bueno para varios proyectores y blending