[LAD] How to save and restore MIDI connexion (ALSA sequencer)

Clemens Ladisch cladisch at fastmail.net
Wed Dec 19 10:14:05 UTC 2007


Stéphane Brunner wrote:
> Thanks for your response but I don't succeed to have something working :(
> 
> get (to save) :
>     snd_seq_query_subscribe_set_client(subs, m_iClient);
>     snd_seq_query_subscribe_set_port(subs, m_iMidi);
>     snd_seq_query_subscribe_set_type(subs, SND_SEQ_QUERY_SUBS_READ);
>     snd_seq_query_subscribe_set_index(subs, 0);
>     while (snd_seq_query_port_subscribers(seq, subs) >= 0) {
>         const snd_seq_addr_t *addr;
>         addr = snd_seq_query_subscribe_get_addr(subs);
>         qDebug()<<222<<addr->client<<addr->port;
>         snd_seq_query_subscribe_set_index(subs, snd_seq_query_subscribe_get_index(subs) + 1);
>     }
> 
>     snd_seq_query_subscribe_alloca(&subs);

Shouldn't this be before the first loop?

>     snd_seq_query_subscribe_set_client(subs, m_iClient);
>     snd_seq_query_subscribe_set_port(subs, m_iMidi);
>     snd_seq_query_subscribe_set_type(subs, SND_SEQ_QUERY_SUBS_WRITE);
>     snd_seq_query_subscribe_set_index(subs, 0);
>     while (snd_seq_query_port_subscribers(seq, subs) >= 0) {
>         const snd_seq_addr_t *addr;
>         addr = snd_seq_query_subscribe_get_addr(subs);
>         qDebug()<<333<<addr->client<<addr->port;
>     }

The snd_seq_query_subscribe_set_index() is missing.

> The first block seem to return all the client-port, the second return
> nothing.  :(

Are there any write subscriptions? (see "aconnect -lio")


Regards,
Clemens



More information about the Linux-audio-dev mailing list