[linux-audio-user] Managing instruments

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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



[Index of Archives]     [Linux Sound]     [ALSA Users]     [Pulse Audio]     [ALSA Devel]     [Sox Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux