Skip to content

Integrando módulos y segundo vídeo

6 marzo 2010

Hola hamijos. Tras una ardua pelea con mi proyecto, he conseguido integrar la parte del análisis del sonido para captar la nota con la parte gráfica. Yo creía que iba a ser un camino de rosas, total, simplemente unir una clase con la otra y listo, si cada una funcionaba bien por separado.

Nada más lejos de la realidad.

Resumiéndolo mucho, para usar la librería de sonido hay que definir una función de callback que se ejecuta en un hilo aparte con la que hay que ser cautos y no cargar de código importante, tal y como explican en el wiki del proyecto. Esta función hay que pasársela como puntero al procedimiento que inicia el flujo, así que para no complicar mucho el código la hice estática y ya está. Además, le pasaba un puntero a una clase en la que guardaba el búffer en el que iba guardando los datos. Aquí es donde por lo visto estaba el error.

Aunque visto así parece fácil de detectar, a la hora de la verdad es todo lo contrario, ya que el 10% de las veces funcionaba sin error , además de que cuando usaba gdb para depurar, las trazas eran difusas y muchas veces decía que la pila estaba corrupta y blablablá… vamos, un montón de sinsentidos a los que no sabía cómo meterles mano.

Al final lo que hice fue poner el búffer también estático, así no tenía que pasarle ningún puntero a la función, y ya funcionó. Pero para darme cuenta de eso me llevé la tira de tiempo.

En fin, serafín.

3 comentarios leave one →
  1. 6 marzo 2010 14:42

    Está chulísimo, después del módulo de detección ¿qué vas a hacer?

    • theom3ga permalink*
      6 marzo 2010 16:42

      A partir de ahora lo que voy a hacer es una parte de lecciones sobre tocar la flauta, en plan cuáles son las notas, las figuras, y demás, y por otro lado la aplicación práctica del módulo éste, que será añadir canciones pa que los niños las toquen y según cómo lo hagan pues tengan más puntos y tal😀

  2. 17 marzo 2010 18:20

    Tiene muy buena pinta, felicidades por el proyecto, y por el Accesit.🙂

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: