Hi Tim,
I've worked on something that has many parts of
what you are looking
for, but it won't run if compiled with g++ 3.0 or later. The project
is discontinued, but the sources are here: quitte.de/nam.html if you
happen to feel adventurous.
I remember that I looked at nam a while ago, but I must
admit that I
didn't get very far with it. When I looked at your page again just now,
I noticed that the tar ball nam*.tgz has disappeared.
FWIW, I'm working on a g++ 3+ compatible redesign
but it's only a few
days old, so no ALSA seq in sight yet.
In the meantime, I've put together a
little MIDI routing module for
Python and ALSA. I'm tentatively calling it pyseq, and you can find
it at
http://www.math.tu-berlin.de/~brinkman/software/pyseq.tgz
if you're interested. I'm using ctypes to expose the snd_seq_event
struct and ALSA functions to Python.
It's still rather rudimentary, but it works. Right now, I'm using it
to capture, save, and transmit bulk data from my MIDI keyboard. My
real goal, however, is a lot more ambitious. I really like the way
the ALSA Modular Synthesizer binds MIDI control events to parameters
of its modules, and I'd like to have this sort of feature in other
programs. The solution I have in mind is to have Python map MIDI
control events to X events, which would, in theory anyway, let me
add MIDI controls to almost any GUI. I have a hunch that this idea
may not fly in practice, but I'm having fun thinking about it.
Best,
Peter