mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-17 20:26:30 +01:00
Emit Session::MuteChanged() if a mutes route is removed.
This commit is contained in:
parent
f9db9bf5fd
commit
65ff43d0a7
1 changed files with 10 additions and 1 deletions
|
|
@ -3717,12 +3717,13 @@ Session::add_internal_send (boost::shared_ptr<Route> dest, boost::shared_ptr<Pro
|
||||||
void
|
void
|
||||||
Session::remove_routes (boost::shared_ptr<RouteList> routes_to_remove)
|
Session::remove_routes (boost::shared_ptr<RouteList> routes_to_remove)
|
||||||
{
|
{
|
||||||
|
bool mute_changed = false;
|
||||||
|
|
||||||
{ // RCU Writer scope
|
{ // RCU Writer scope
|
||||||
PBD::Unwinder<bool> uw_flag (_route_deletion_in_progress, true);
|
PBD::Unwinder<bool> uw_flag (_route_deletion_in_progress, true);
|
||||||
RCUWriter<RouteList> writer (routes);
|
RCUWriter<RouteList> writer (routes);
|
||||||
boost::shared_ptr<RouteList> rs = writer.get_copy ();
|
boost::shared_ptr<RouteList> rs = writer.get_copy ();
|
||||||
|
|
||||||
|
|
||||||
for (RouteList::iterator iter = routes_to_remove->begin(); iter != routes_to_remove->end(); ++iter) {
|
for (RouteList::iterator iter = routes_to_remove->begin(); iter != routes_to_remove->end(); ++iter) {
|
||||||
|
|
||||||
if (*iter == _master_out) {
|
if (*iter == _master_out) {
|
||||||
|
|
@ -3734,6 +3735,10 @@ Session::remove_routes (boost::shared_ptr<RouteList> routes_to_remove)
|
||||||
(*iter)->solo_control()->set_value (0.0, Controllable::NoGroup);
|
(*iter)->solo_control()->set_value (0.0, Controllable::NoGroup);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((*iter)->mute_control()->muted ()) {
|
||||||
|
mute_changed = true;
|
||||||
|
}
|
||||||
|
|
||||||
rs->remove (*iter);
|
rs->remove (*iter);
|
||||||
|
|
||||||
/* deleting the master out seems like a dumb
|
/* deleting the master out seems like a dumb
|
||||||
|
|
@ -3785,6 +3790,10 @@ Session::remove_routes (boost::shared_ptr<RouteList> routes_to_remove)
|
||||||
|
|
||||||
} // end of RCU Writer scope
|
} // end of RCU Writer scope
|
||||||
|
|
||||||
|
if (mute_changed) {
|
||||||
|
MuteChanged (); /* EMIT SIGNAL */
|
||||||
|
}
|
||||||
|
|
||||||
update_route_solo_state ();
|
update_route_solo_state ();
|
||||||
update_latency_compensation ();
|
update_latency_compensation ();
|
||||||
set_dirty();
|
set_dirty();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue