summaryrefslogtreecommitdiff
path: root/libs/ardour/route.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-03-09 10:26:09 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2016-05-31 15:30:40 -0400
commit8eb45c518dd61594ca059c3751ca9de0f71ecb15 (patch)
tree37ccef2cbb6bd620aaebf7ebbcc91a5aced37a9b /libs/ardour/route.cc
parent91f8c0be5424b615a33ef3e6e418ba3a1ace4613 (diff)
rearrange AutomationControl and RouteAutomationControl to get more shared logic and consistent master/slave behaviour
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r--libs/ardour/route.cc12
1 files changed, 7 insertions, 5 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index 641bc8ef83..94111e602e 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -5899,8 +5899,8 @@ void
Route::vca_assign (boost::shared_ptr<VCA> vca)
{
_gain_control->add_master (vca->gain_control());
- vca->add_solo_target (shared_from_this());
- vca->add_mute_target (shared_from_this());
+ _solo_control->add_master (vca->solo_control());
+ _mute_control->add_master (vca->mute_control());
}
void
@@ -5909,10 +5909,12 @@ Route::vca_unassign (boost::shared_ptr<VCA> vca)
if (!vca) {
/* unassign from all */
_gain_control->clear_masters ();
- /* XXXX need to remove from solo/mute target lists */
+ _solo_control->clear_masters ();
+ _mute_control->clear_masters ();
} else {
_gain_control->remove_master (vca->gain_control());
- vca->remove_solo_target (shared_from_this());
- vca->remove_mute_target (shared_from_this());
+ _solo_control->remove_master (vca->solo_control());
+ _mute_control->remove_master (vca->mute_control());
+
}
}