MidiBang: un software para maquillar a Arduino

Estoy atendiendo a los talleres OpenLab, organizados por el mediaLab y la ETSII de Madrid. Estamos haciendo pruebas y pequeños proyectos con Arduino, y yo he decidido mejorar mi batería midi, para hacerla más profesional.

Para ello voy a hacer, además del software para Arduino, un programa que escuche lo que llega al USB, y creando un dispositivo virtual MIDI en ALSA, redirija los datos USB al dispositivo virtual MIDI.

He decidido hacerlo en C++ porque quiero usar las bibliotecas JUCE, que desde hace tiempo me gustan y no había tenido ocasión de programar nada con ellas. Hacerlas funcionar ha costado un poco, pero os cuento como lo hice para instalarlas en Debian Lenny:

1. Bajamos las librerías JUCE desde la página de RawMaterial Software.

2. Las descomprimimos en un directorio, por ejemplo /opt/juce

3. Entramos al directorio build/linux

4. Compilamos version de producción y de depuración:

make CONFIG=Debug
make CONFIG=Release

5. Una vez acaben, copiamos libjuce.a y libjuce_debug.a a /usr/lib (ambas bibliotecas estarán en el directorio bin).

6. mkdir /usr/include/juce

7. Volvemos al directorio raíz de JUCE (/opt/juce) y ejecutamos como root:

cp juce_Config.h /usr/include/juce
cp juce.h /usr/include/juce
cp -r src /usr/include/juce

Ale, ya podemos compilar con las librerías de JUCE sin problemas ;)

El siguiente problema con el que me topé, fue que compilar una interfaz de usuario creada con la herramienta “The Jucer” es una tarea compleja si no conoces Juce, o si no eres buen programador de C++ (ambas características concurren en mi persona). Por eso he preparado la aplicación más básica que se puede preparar hecha con Juce. Consta de los dos ficheros generados por “The Jucer” (un .c y un .h) y de un main.cpp. Este main lo saqué de un proyecto realizado con Juce (VirtualKeyboard). Lo importante del asunto es preparar el Makefile, y en Juce usan premake para ello. Hay que ir a la web de premake y bajarlo para nuestra distribución. Cuando se descomprime aparece un ejecutable, que se puede copiar a /usr/bin. Hay que editar el fichero loquesea_premake.lua. Es muy fácil, y básicamente hay que retocar el nombre del proyecto, el del ejecutable y los directorios de include, fuentes, y bibliotecas a usar.

Después se ejecuta el script “runpremake” de la carpeta build/linux y se generará un makefile. Ojo, porque el script”runpremake” contiene el nombre del fichero loquesea_premake.lua, así que si se decide cambiar el nombre del fichero .lua, habrá que cambiarlo también en el script “runpremake”.

Después de construir el Makefile, se compila por fin la aplicación con make. El ejecutable se habrá creado en build/linux/build. Vaya, creo que debería probar a compilar esto en el amd64 a ver si lleva bien Juce con amd.

Como no puedo colgar ficheros aquí, he creado un proyecto en Google Code para alojar el código que fluye por mis venas. El fichero se llama Juce_Template.tgz, y está en la sección de “Downloads” de la página de google code:

http://code.google.com/p/telemacro

Ya ves, es una miniaplicación que me ha costado un día conseguir compilar, torpe de mi que iba por el camino raro :)

~ por telemacro en 26 noviembre, 2007.

3 comentarios to “MidiBang: un software para maquillar a Arduino”

  1. Necesitaria ayuda para compilar esta aplicación, si fueses tan amable de darme una versión compilada te lo agradeceria.

    Un saludo

    P.D : Respondeme al correo por favor

    • Hola Diego, perdona que haya tardado en contestar, llevo meses sin prestarle atención al blog, ahora vuelvo a empezar con él.

      La aplicación te va a costar hacerla compilar, si lees esto de nuevo ponme un correo, te envié uno hace un rato.

      Saludos!

  2. La respuesta llega tarde pero se agradece, he solucionado mis problemas con una aplicacion para ubuntu que se llama ttymidi, si buscas en google seguro que la encuentras. Muchas gracias de todos modos.

    Un saludo

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: