On Sun, Jul 31, 2005 at 11:15:46AM +1000, Ryan Heise wrote: > What I'm dreaming of is configuring my sequencer to output to just one > alsa sequencer port. On that port is one "logical" bank of all the > "logical" instruments I use (just instrument names, only). The piece of > software listening on this port is to associate each instrument with a > synthesiser, and most importantly, can be reconfigured by selecting a > different profile if I unplug my laptop from an external synth and am > forced to use a software synth temporarily. I am a roaming midi user. Let's see whether I got this right: You want a MIDI router with one input port and several output ports, and you want the router to look at the names of available synthesizers and automatically connect its output ports accordingly. Similarly, the router should recognize your sequencer and hook up its input port accordingly. This leaves the question of how to assign events to output ports. I suppose one could simply route events based on their channel. Is this the behavior you have in mind? Possible enhancement: Instead of profiles, one may want to have hierarchies of instruments, so that for each output port the router automatically picks the most desirable instrument that's currently available. > Are there any solutions already to this problem? What do you guys do to > manage your instruments? My standard approach to problems of this kind is to just hack together a few dozen lines of throwaway Python code as I need them. The job you describe shouldn't take much more than that. (And it just happens that I recently added some functionality to my Python bindings for accessing sequencer clients and their ports by name:) Peter