diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-03-09 10:26:09 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-05-31 15:30:40 -0400 |
commit | 8eb45c518dd61594ca059c3751ca9de0f71ecb15 (patch) | |
tree | 37ccef2cbb6bd620aaebf7ebbcc91a5aced37a9b /libs/ardour/route.cc | |
parent | 91f8c0be5424b615a33ef3e6e418ba3a1ace4613 (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.cc | 12 |
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()); + } } |