For today’s creative thing, I figured out how to get Flickering Lights working with the MIDI ports on my Echo AudioFire2 sound card. Flickering Lights is a cross-platform Java-based monome application, inspired by Tonematrix and the Tenori-on.
As the app is not JACK-aware, it only sees ALSA-based MIDI devices. USB-MIDI devices and my PCI soundcard all show up on the ALSA tab of QJackCtl, since that’s the JACK driver they use. FireWire-based MIDI devices don’t show up on the ALSA tab, since they use ffado (which is available in my overlay). They appear on the middle MIDI tab. The problem, then, is this: how do you get Flickering Lights to connect to the right MIDI device? The answer: a2jmidid and the virtual MIDI kernel module.
First, load the virtual MIDI module:
# modprobe snd-virmidi
Now start qjackctl and JACK, then launch the daemon to bridge FireWire MIDI to ALSA MIDI:
$ a2jmidid --export-hw
On the MIDI tab of QJackCtl’s connection manager, connect one of the virtual MIDI device outputs (which will show up under a2j) to your FireWire device’s MIDI inputs. if you want to send MIDI control messages to Flickering Lights, then connect your FireWire card’s output to a virtual MIDI input.
Once you’ve downloaded and unzipped Flickering Lights, make sure to edit settings.xml before starting the app. You need to tell it the size of your monome.
Now start monomeserial and Flickering Lights:
$ monomeserial -s 8080 -a 8000 flicker $ java -jar flickering.jar
Once the GUI loads, select the input and output devices that correspond to your setup in QJackCtl. In my case, virmidi hw:2,0,0.
Select your scale (you can even specify custom scales with a few simple bits of XML coding), and start pushing buttons on your monome!


Pingback: Links 17/8/2011: Linux 3.0.2, KVM 3.0 | Techrights