fix "other" port-group tab
Separate port-bundles for each jack client in the connection manager. Previously, apps were only listed as separate bundles if the ports were gathered at different times. ie one app shows up after the other (and if no complete re-scan was triggered) Fixes issue reported by Fons Adriaensen.
This commit is contained in:
parent
5155a36002
commit
53d98b4db9
@ -574,8 +574,22 @@ PortGroupList::gather (ARDOUR::Session* session, ARDOUR::DataType type, bool inp
|
||||
}
|
||||
|
||||
for (DataType::iterator i = DataType::begin(); i != DataType::end(); ++i) {
|
||||
if (!extra_other[*i].empty()) {
|
||||
boost::shared_ptr<Bundle> b = make_bundle_from_ports (extra_other[*i], *i, inputs);
|
||||
if (extra_other[*i].empty()) continue;
|
||||
std::string cp;
|
||||
std::vector<std::string> nb;
|
||||
for (uint32_t j = 0; j < extra_other[*i].size(); ++j) {
|
||||
std::string nn = extra_other[*i][j];
|
||||
std::string pf = nn.substr (0, nn.find_first_of (":") + 1);
|
||||
if (pf != cp && !nb.empty()) {
|
||||
boost::shared_ptr<Bundle> b = make_bundle_from_ports (nb, *i, inputs);
|
||||
other->add_bundle (b);
|
||||
nb.clear();
|
||||
}
|
||||
cp = pf;
|
||||
nb.push_back(extra_other[*i][j]);
|
||||
}
|
||||
if (!nb.empty()) {
|
||||
boost::shared_ptr<Bundle> b = make_bundle_from_ports (nb, *i, inputs);
|
||||
other->add_bundle (b);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user