various tweaks to port matrix display logic to try to avoid a few wierd things

This commit is contained in:
Paul Davis 2016-07-08 17:10:08 -04:00
parent 581fe8a237
commit d2e59c308e

View File

@ -473,9 +473,6 @@ PortGroupList::gather (ARDOUR::Session* session, ARDOUR::DataType type, bool inp
sync->add_channel (
_("MTC in"), DataType::MIDI, ae->make_port_name_non_relative (session->mtc_input_port()->name())
);
sync->add_channel (
_("MIDI control in"), DataType::MIDI, ae->make_port_name_non_relative (session->midi_input_port()->name())
);
sync->add_channel (
_("MIDI clock in"), DataType::MIDI, ae->make_port_name_non_relative (session->midi_clock_input_port()->name())
);
@ -486,9 +483,6 @@ PortGroupList::gather (ARDOUR::Session* session, ARDOUR::DataType type, bool inp
sync->add_channel (
_("MTC out"), DataType::MIDI, ae->make_port_name_non_relative (session->mtc_output_port()->name())
);
sync->add_channel (
_("MIDI control out"), DataType::MIDI, ae->make_port_name_non_relative (session->midi_output_port()->name())
);
sync->add_channel (
_("MIDI clock out"), DataType::MIDI, ae->make_port_name_non_relative (session->midi_clock_output_port()->name())
);
@ -540,7 +534,7 @@ PortGroupList::gather (ARDOUR::Session* session, ARDOUR::DataType type, bool inp
connections.
*/
if (p.find ("Midi-Through") != string::npos) {
if (p.find ("Midi-Through") != string::npos || p.find ("Midi Through") != string::npos) {
++s;
continue;
}
@ -574,6 +568,9 @@ PortGroupList::gather (ARDOUR::Session* session, ARDOUR::DataType type, bool inp
port_has_prefix (p, X_("alsa_midi:"))) {
extra_system[t].push_back (p);
} else if (port_has_prefix (p, lpnc)) {
/* we own this port (named after the program) */
/* Hide scene ports from non-Tracks Live builds */
if (!ARDOUR::Profile->get_trx()) {
if (p.find (_("Scene ")) != string::npos) {
@ -581,6 +578,7 @@ PortGroupList::gather (ARDOUR::Session* session, ARDOUR::DataType type, bool inp
continue;
}
}
extra_program[t].push_back (p);
} else {
extra_other[t].push_back (p);
@ -602,9 +600,8 @@ PortGroupList::gather (ARDOUR::Session* session, ARDOUR::DataType type, bool inp
for (DataType::iterator i = DataType::begin(); i != DataType::end(); ++i) {
if (!extra_program[*i].empty()) {
/* remove program name prefix from port name and use rest as bundle name */
std::string bundle_name = extra_program[*i].front().substr (lpnc.length());
boost::shared_ptr<Bundle> b = make_bundle_from_ports (extra_program[*i], *i, inputs, bundle_name);
/* used program name as bundle name */
boost::shared_ptr<Bundle> b = make_bundle_from_ports (extra_program[*i], *i, inputs, lpn);
program->add_bundle (b);
}
}