Friday, March 16, 2007

c# y bpms

Acá les presento la base de nuestra tesis. El diagrama muestra el motor de reproducción de la aplicación, el cual está basado en 2 clases que creamos, la clase Audio y la clase Playlist.

Aclaremos que las inicializaciones de los objetos se realizan primero que nada, en el Form_Load de su solucion. Al crear un objeto Playlist e inicializarlo, sincronizamos nuestro objeto con el componente de audio de la solución, además de sincronizarlo con el listview en el cual arrastraremos (drag&drop) los audios desde la biblioteca de audios, en la interfaz de usuario.

Considerando lo anterior, el diagrama:

Partiendo desde la inicializacion de un objeto de audio, a partir de un datarow obtenido gracias a un tableadapter en el dataset designer de nuestra solucion. Al agregar audios al Playlist, modificamos su estado, lo que habilita la reproducción.

Una vez que tenemos al menos 2 audios en memoria podemos inicializar la reproducción. Con esta condicion, nos aseguramos que siempre van a quedar 2 audios en reproducción, lo que por supuesto es mejorable, como por ejemplo agregando una tabla de audios de emergencia para esta condición o que se yo, es cosa de seguir jugando ahí....

Con los botones Play, llamamos los métodos de la clase playlist, la cual a su vez llama a los métodos del componente de audio, pero condicionado de acuerdo a parámetros internos de clase (x ej: UltimoPlayerCargado, PlayerReproduciendo, etc).

Debido a comportamientos del componente de audio, si tenemos habilitados la opciones de CrossFade, y queremos cargar un tema mas corto que lo que dura la propiedad TotalMixingTime, de un obeto de clase FaderObject (incluida al agregar el componente a la solución), monitoreamos el error arrojado por la función de carga de audio en el reproductor correspondiente.

continuará.....

pd: porfavor alguien aplique ctr+U y me explique xq las entradas al costado derecho aparecen 2 veces.
gracias

Monday, January 29, 2007

comenzando

buenas buenas. a modo de intro:


La idea de este blog es crear una comunidad, asociada a la programacion y el audio, como me imagino se habrán dado cuenta...

Mi inquietud nace a partir del desarrollo de mi tesis, con mi compañero Chelo, donde estamos (si, todavía "estamos". La hemos hecho muy larga, pero bueno...) desarrollando una aplicación para automatizar el proceso de puesta al aire de una radio, y que además realize streaming via web...

Por esas cosas de la vida, terminamos desarrollando nuestra aplicación en visual studio 2005, específicamente en C#. Como no somos grandes informáticos, tan sólo aspirantes a ings. en sonido, quisimos optar por lo fácil. Es por esto que para el manejo del audio, nos simplificamos enormemente la vida utilizando un componente externo (http://www.multimediasoft.com/download/), que se encuentra disponible en formatos .Net y ActiveX, por lo que si trabajan en borland o delphi, pueden ocuparlo sin mayores incovenientes. Ya lo sé, el componente requiere ser comprado si piensan distribuir y vender sus aplicaciones, pero el trial es completamente funcional, por lo que creo es un muy buen punto de partida para empezar a jugar con audio y programación....


Durante el periodo de investigación, nos encontramos con una cantidad impresionante de información, que pienso ir ordenando y compartiendo con todos...


Eso es por ahora, ya vienen los primeros links.

Saludos a todos

daniel