diff options
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r-- | libs/ardour/route.cc | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index db92edf786..edffc3f3ce 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -5894,3 +5894,23 @@ Route::slaved_to (boost::shared_ptr<VCA> vca) const return _gain_control->slaved_to (vca); } + +void +Route::vca_assign (boost::shared_ptr<VCA> vca) +{ + _gain_control->add_master (vca); + vca->add_solo_mute_target (shared_from_this()); +} + +void +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 */ + } else { + _gain_control->remove_master (vca); + vca->remove_solo_mute_target (shared_from_this()); + } +} |