remove useless code recently added to RouteGroup
When a slaved automation control is changed because of a Master changing its own value, the slave notifies about the change with NoGroup as the GroupControlDisposition. There is therefore no need to disable a RouteGroup's enabled status for its ControlGroups - the changes initiated by any Master will not propagate to the group (which is precisely what we intend)
This commit is contained in:
parent
eaddf752c7
commit
2380bbae5b
|
@ -163,10 +163,6 @@ class LIBARDOUR_API RouteGroup : public SessionObject
|
||||||
PBD::Property<bool> _color;
|
PBD::Property<bool> _color;
|
||||||
PBD::Property<bool> _monitoring;
|
PBD::Property<bool> _monitoring;
|
||||||
|
|
||||||
bool pre_master_gain;
|
|
||||||
bool pre_master_solo;
|
|
||||||
bool pre_master_mute;
|
|
||||||
|
|
||||||
boost::shared_ptr<ControlGroup> _solo_group;
|
boost::shared_ptr<ControlGroup> _solo_group;
|
||||||
boost::shared_ptr<ControlGroup> _mute_group;
|
boost::shared_ptr<ControlGroup> _mute_group;
|
||||||
boost::shared_ptr<ControlGroup> _rec_enable_group;
|
boost::shared_ptr<ControlGroup> _rec_enable_group;
|
||||||
|
|
|
@ -295,10 +295,6 @@ RouteGroup::set_gain (bool yn)
|
||||||
_gain = yn;
|
_gain = yn;
|
||||||
_gain_group->set_active (yn);
|
_gain_group->set_active (yn);
|
||||||
|
|
||||||
if (routes->empty() || !routes->front()->slaved()) {
|
|
||||||
pre_master_gain = yn;
|
|
||||||
}
|
|
||||||
|
|
||||||
send_change (PropertyChange (Properties::gain));
|
send_change (PropertyChange (Properties::gain));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -311,10 +307,6 @@ RouteGroup::set_mute (bool yn)
|
||||||
_mute = yn;
|
_mute = yn;
|
||||||
_mute_group->set_active (yn);
|
_mute_group->set_active (yn);
|
||||||
|
|
||||||
if (routes->empty() || !routes->front()->slaved()) {
|
|
||||||
pre_master_mute = yn;
|
|
||||||
}
|
|
||||||
|
|
||||||
send_change (PropertyChange (Properties::mute));
|
send_change (PropertyChange (Properties::mute));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -327,10 +319,6 @@ RouteGroup::set_solo (bool yn)
|
||||||
_solo = yn;
|
_solo = yn;
|
||||||
_solo_group->set_active (yn);
|
_solo_group->set_active (yn);
|
||||||
|
|
||||||
if (routes->empty() || !routes->front()->slaved()) {
|
|
||||||
pre_master_solo = yn;
|
|
||||||
}
|
|
||||||
|
|
||||||
send_change (PropertyChange (Properties::solo));
|
send_change (PropertyChange (Properties::solo));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -568,32 +556,13 @@ RouteGroup::assign_master (boost::shared_ptr<VCA> master)
|
||||||
|
|
||||||
boost::shared_ptr<Route> front = routes->front ();
|
boost::shared_ptr<Route> front = routes->front ();
|
||||||
|
|
||||||
if (!front) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (front->slaved_to (master)) {
|
if (front->slaved_to (master)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cancel_master_controls = false;
|
|
||||||
|
|
||||||
if (!front->slaved()) {
|
|
||||||
pre_master_gain = is_gain ();
|
|
||||||
pre_master_solo = is_solo ();
|
|
||||||
pre_master_mute = is_mute ();
|
|
||||||
cancel_master_controls = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (RouteList::iterator r = routes->begin(); r != routes->end(); ++r) {
|
for (RouteList::iterator r = routes->begin(); r != routes->end(); ++r) {
|
||||||
(*r)->assign (master);
|
(*r)->assign (master);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cancel_master_controls) {
|
|
||||||
set_gain (false);
|
|
||||||
set_solo (false);
|
|
||||||
set_mute (false);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -605,10 +574,6 @@ RouteGroup::unassign_master (boost::shared_ptr<VCA> master)
|
||||||
|
|
||||||
boost::shared_ptr<Route> front = routes->front ();
|
boost::shared_ptr<Route> front = routes->front ();
|
||||||
|
|
||||||
if (!front) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!front->slaved_to (master)) {
|
if (!front->slaved_to (master)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -616,12 +581,6 @@ RouteGroup::unassign_master (boost::shared_ptr<VCA> master)
|
||||||
for (RouteList::iterator r = routes->begin(); r != routes->end(); ++r) {
|
for (RouteList::iterator r = routes->begin(); r != routes->end(); ++r) {
|
||||||
(*r)->unassign (master);
|
(*r)->unassign (master);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!front->slaved()) {
|
|
||||||
set_gain (pre_master_gain);
|
|
||||||
set_solo (pre_master_solo);
|
|
||||||
set_mute (pre_master_mute);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
|
|
Loading…
Reference in New Issue
Block a user