mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-07 23:35:03 +01:00
fix mis-assignment of various Ports when constructing the PortGroup list for the (e.g.) PortMatrix
This commit is contained in:
parent
9a058672ab
commit
34b1c0db94
1 changed files with 12 additions and 3 deletions
|
|
@ -492,6 +492,7 @@ PortGroupList::gather (ARDOUR::Session* session, ARDOUR::DataType type, bool inp
|
||||||
/* Now find all other ports that we haven't thought of yet */
|
/* Now find all other ports that we haven't thought of yet */
|
||||||
|
|
||||||
std::vector<std::string> extra_system[DataType::num_types];
|
std::vector<std::string> extra_system[DataType::num_types];
|
||||||
|
std::vector<std::string> extra_ardour[DataType::num_types];
|
||||||
std::vector<std::string> extra_other[DataType::num_types];
|
std::vector<std::string> extra_other[DataType::num_types];
|
||||||
|
|
||||||
string lpn (PROGRAM_NAME);
|
string lpn (PROGRAM_NAME);
|
||||||
|
|
@ -542,9 +543,11 @@ PortGroupList::gather (ARDOUR::Session* session, ARDOUR::DataType type, bool inp
|
||||||
DataType t (AudioEngine::instance()->port_engine().port_data_type (ph));
|
DataType t (AudioEngine::instance()->port_engine().port_data_type (ph));
|
||||||
if (t != DataType::NIL) {
|
if (t != DataType::NIL) {
|
||||||
if (port_has_prefix (p, N_("system:")) ||
|
if (port_has_prefix (p, N_("system:")) ||
|
||||||
port_has_prefix (p, N_("alsa_pcm")) ||
|
port_has_prefix (p, N_("alsa_pcm:")) ||
|
||||||
port_has_prefix (p, lpnc)) {
|
port_has_prefix (p, N_("alsa_midi:"))) {
|
||||||
extra_system[t].push_back (p);
|
extra_system[t].push_back (p);
|
||||||
|
} else if (port_has_prefix (p, lpnc)) {
|
||||||
|
extra_ardour[t].push_back (p);
|
||||||
} else {
|
} else {
|
||||||
extra_other[t].push_back (p);
|
extra_other[t].push_back (p);
|
||||||
}
|
}
|
||||||
|
|
@ -563,6 +566,13 @@ PortGroupList::gather (ARDOUR::Session* session, ARDOUR::DataType type, bool inp
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (DataType::iterator i = DataType::begin(); i != DataType::end(); ++i) {
|
||||||
|
if (!extra_ardour[*i].empty()) {
|
||||||
|
boost::shared_ptr<Bundle> b = make_bundle_from_ports (extra_ardour[*i], *i, inputs);
|
||||||
|
ardour->add_bundle (b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for (DataType::iterator i = DataType::begin(); i != DataType::end(); ++i) {
|
for (DataType::iterator i = DataType::begin(); i != DataType::end(); ++i) {
|
||||||
if (extra_other[*i].empty()) continue;
|
if (extra_other[*i].empty()) continue;
|
||||||
std::string cp;
|
std::string cp;
|
||||||
|
|
@ -796,4 +806,3 @@ PortGroupList::empty () const
|
||||||
{
|
{
|
||||||
return _groups.empty ();
|
return _groups.empty ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue