mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-10 16:46:35 +01:00
Make clicks on io menu bundles always connect
If a bundle was already connected, a click on the corresponding entry disconnected it, essentially giving toggle semantics to the io menus. This behavior has three problems: — When clicking on a not yet connected bundle, the new bundle replaces any already connected one. This is not consistent with a toggle mode. — It is a less discoverable and less easy way to disconnect a bundle than the already present "Disconnect" menu entry. — Bundles that match the I/O channels only partially (recently added to cater for e.g. MIDI+STEREO tracks connecting to Master) are never considered "connected" because the channels are not connected 1:1. Those will thus never toggle, making the behavior inconsistent. Change the semantics to ensure a bundle is connected on click instead.
This commit is contained in:
parent
9c793759c8
commit
dea8ee7f38
1 changed files with 2 additions and 14 deletions
|
|
@ -1078,13 +1078,7 @@ MixerStrip::bundle_input_chosen (boost::shared_ptr<ARDOUR::Bundle> c)
|
|||
return;
|
||||
}
|
||||
|
||||
ARDOUR::BundleList current = _route->input()->bundles_connected ();
|
||||
|
||||
if (std::find (current.begin(), current.end(), c) == current.end()) {
|
||||
_route->input()->connect_ports_to_bundle (c, true, this);
|
||||
} else {
|
||||
_route->input()->disconnect_ports_from_bundle (c, this);
|
||||
}
|
||||
_route->input()->connect_ports_to_bundle (c, true, this);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
@ -1094,13 +1088,7 @@ MixerStrip::bundle_output_chosen (boost::shared_ptr<ARDOUR::Bundle> c)
|
|||
return;
|
||||
}
|
||||
|
||||
ARDOUR::BundleList current = _route->output()->bundles_connected ();
|
||||
|
||||
if (std::find (current.begin(), current.end(), c) == current.end()) {
|
||||
_route->output()->connect_ports_to_bundle (c, true, true, this);
|
||||
} else {
|
||||
_route->output()->disconnect_ports_from_bundle (c, this);
|
||||
}
|
||||
route->output()->connect_ports_to_bundle (c, true, true, this);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue