Fix Bundle Editor: show connected ports
PortGroupList::gather() first adds UserBundle ports to `system->add_bundle (*i, allow_dups);` That can include ports that are already associated with the current bundle. The port in this case has the Bundle's name. Those ports are later removed in BundleEditorMatrix::setup_ports `_ports[OTHER].remove_bundle (_bundle);` However we do need to show physical ports by their name, even if they're identical to the already associated bundle to allow disassociating them.
This commit is contained in:
parent
4716f34c28
commit
355528781d
@ -59,8 +59,8 @@ BundleEditorMatrix::setup_ports (int dim)
|
||||
_ports[OTHER].suspend_signals ();
|
||||
|
||||
/* when we gather, allow the matrix to contain bundles with duplicate port sets,
|
||||
otherwise in some cases the basic system IO ports may be hidden, making
|
||||
the bundle editor useless */
|
||||
* otherwise ports already associated with this bundle will be hidden, making
|
||||
* the bundle editor useless */
|
||||
|
||||
_ports[OTHER].gather (_session, DataType::NIL, _bundle->ports_are_inputs(), true, show_only_bundles ());
|
||||
_ports[OTHER].remove_bundle (_bundle);
|
||||
|
@ -587,12 +587,15 @@ PortGroupList::gather (ARDOUR::Session* session, ARDOUR::DataType type, bool inp
|
||||
|
||||
std::string const p = *s;
|
||||
|
||||
if (!system->has_port(p) &&
|
||||
!bus->has_port(p) &&
|
||||
!track->has_port(p) &&
|
||||
!sidechain->has_port(p) &&
|
||||
!program->has_port(p) &&
|
||||
!other->has_port(p)) {
|
||||
if (allow_dups || (
|
||||
!system->has_port(p)
|
||||
&& !bus->has_port(p)
|
||||
&& !track->has_port(p)
|
||||
&& !sidechain->has_port(p)
|
||||
&& !program->has_port(p)
|
||||
&& !other->has_port(p)
|
||||
)
|
||||
) {
|
||||
|
||||
/* special hack: ignore MIDI ports labelled Midi-Through. these
|
||||
are basically useless and mess things up for default
|
||||
@ -670,7 +673,7 @@ PortGroupList::gather (ARDOUR::Session* session, ARDOUR::DataType type, bool inp
|
||||
for (DataType::iterator i = DataType::begin(); i != DataType::end(); ++i) {
|
||||
if (!extra_system[*i].empty()) {
|
||||
boost::shared_ptr<Bundle> b = make_bundle_from_ports (extra_system[*i], *i, inputs);
|
||||
system->add_bundle (b);
|
||||
system->add_bundle (b, allow_dups);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user