diff --git a/libs/midi++2/alsa_sequencer_midiport.cc b/libs/midi++2/alsa_sequencer_midiport.cc index f7ce4ad165..b39401149a 100644 --- a/libs/midi++2/alsa_sequencer_midiport.cc +++ b/libs/midi++2/alsa_sequencer_midiport.cc @@ -172,8 +172,6 @@ ALSA_SequencerMidiPort::create_ports (const Port::Descriptor& desc) if (desc.mode == O_RDONLY || desc.mode == O_RDWR) caps |= SND_SEQ_PORT_CAP_READ | SND_SEQ_PORT_CAP_SUBS_READ; - cerr << "Create ALSA MIDI port for " << desc.tag << endl; - if (0 <= (err = snd_seq_create_simple_port (seq, desc.tag.c_str(), caps, (SND_SEQ_PORT_TYPE_MIDI_GENERIC| SND_SEQ_PORT_TYPE_SOFTWARE| @@ -310,15 +308,17 @@ ALSA_SequencerMidiPort::get_connections (vector& connectio seq_addr.client = snd_seq_client_id (seq); seq_addr.port = port_id; snd_seq_query_subscribe_set_root(subs, &seq_addr); - + while (snd_seq_query_port_subscribers(seq, subs) >= 0) { - seq_addr = *snd_seq_query_subscribe_get_addr (subs); + if (snd_seq_query_subscribe_get_time_real (subs)) { + /* interesting connection */ - cerr << _tagname << " is connected to " << seq_addr.client << "/" << seq_addr.port << endl; - - connections.push_back (SequencerPortAddress (seq_addr.client, - seq_addr.port)); + seq_addr = *snd_seq_query_subscribe_get_addr (subs); + + connections.push_back (SequencerPortAddress (seq_addr.client, + seq_addr.port)); + } snd_seq_query_subscribe_set_index(subs, snd_seq_query_subscribe_get_index(subs) + 1); }