diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-04-24 21:47:52 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-05-31 15:30:41 -0400 |
commit | 83e51ee69b6b95574f160d4024995d6ad7cdfab5 (patch) | |
tree | a130f38171510a12ce51cdd162c95b796e5ea228 /libs/ardour/vca.cc | |
parent | 69f67b6198995f5bc46991212d73e6a1149b868f (diff) |
add Slavable API for VCA assign/unassign
Diffstat (limited to 'libs/ardour/vca.cc')
-rw-r--r-- | libs/ardour/vca.cc | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/libs/ardour/vca.cc b/libs/ardour/vca.cc index 0e33dca6e2..2ab84d5570 100644 --- a/libs/ardour/vca.cc +++ b/libs/ardour/vca.cc @@ -152,3 +152,30 @@ VCA::clear_all_solo_state () { _solo_control->clear_all_solo_state (); } + +int +VCA::assign_controls (boost::shared_ptr<VCA> vca) +{ + _gain_control->add_master (vca->gain_control()); + _solo_control->add_master (vca->solo_control()); + _mute_control->add_master (vca->mute_control()); + + return 0; +} + +int +VCA::unassign_controls (boost::shared_ptr<VCA> vca) +{ + if (!vca) { + /* unassign from all */ + _gain_control->clear_masters (); + _solo_control->clear_masters (); + _mute_control->clear_masters (); + } else { + _gain_control->remove_master (vca->gain_control()); + _solo_control->remove_master (vca->solo_control()); + _mute_control->remove_master (vca->mute_control()); + } + + return 0; +} |