[LAD] Finding ALSA sequencer client/port numbers

Paul Davis paul at linuxaudiosystems.com
Fri Apr 22 23:22:59 UTC 2011


On Fri, Apr 22, 2011 at 7:18 PM, Lieven Moors <lievenmoors at gmail.com> wrote:
> On Fri, Apr 22, 2011 at 07:09:24PM -0400, Paul Davis wrote:
>> On Fri, Apr 22, 2011 at 7:05 PM, Lieven Moors <lievenmoors at gmail.com> wrote:
>>
>> > I had a similar problem in my studio when I wanted to restore
>> > connections with multiple ZynaddsubFX instances. All the port names
>> > were the same, so I had no way of knowing which was which.
>> > And the client ID is not much help either, because it completely
>> > depends on the order in which you start the applications.
>> > In the end, the only thing I could do was patch ZynaddsubFX so
>> > it would make unique port names. It was very hard to code such
>> > a simple thing, because like you, I couldn't find a way to get
>> > an id from a name...
>>
>> why would you use the name at all. the way we handle this in ardour2
>> is to use only port IDs when storing MIDI connections. the names are
>> not used at all. we use pair<int,int> as SequencerPortAddress (the
>> first one is the client ID, the second is the port ID).
>>
>> --p
>
> But surely, the client IDs are a moving target. I want to connect
> to a specific instance of ZynaddsubFX, not to the program that was
> the second one to get an ALSA ID...
>
> Am I missing something?

i don't think so. but since, as dave pointed out, there is no
particular mapping between client IDs and names, there's really no way
to do this. i think. like i said, i consider the whole design totally
FUBAR'ed. if you use numeric ID's you're screwed because the client ID
may change; if you use names, you're screwed because you can't map
reliably from names to the numeric ID's required by the API. that's
how it looks to me, anyway.



More information about the Linux-audio-dev mailing list