diff options
author | Robin Gareus <robin@gareus.org> | 2017-06-12 02:25:20 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-06-12 02:26:23 +0200 |
commit | 333e20a3a60cccbab57957b8266ea043bb7bfb8a (patch) | |
tree | 842ce7b1d91aadfec3595ac25d96f1890c9d1d66 /libs/ardour/solo_control.cc | |
parent | 3d2bbf93efe42412823722a17ae4da25db3b51f2 (diff) |
VCA/SlavableAutomationCtrl re-design:
* remember master-ctrl value on assignment & save with session
* Control/AutomationCtrl only stores ctrl's own value (w/o master)
* virtual AutomationControl::get_value () -> use SlavableAC method
* MasterRecord uses weak-ptr (fixes recursive ~Controllable() deadlock)
Diffstat (limited to 'libs/ardour/solo_control.cc')
-rw-r--r-- | libs/ardour/solo_control.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libs/ardour/solo_control.cc b/libs/ardour/solo_control.cc index 0b07f88c6b..9d898493dc 100644 --- a/libs/ardour/solo_control.cc +++ b/libs/ardour/solo_control.cc @@ -259,8 +259,10 @@ SoloControl::get_state () } void -SoloControl::master_changed (bool /*from self*/, GroupControlDisposition, boost::shared_ptr<AutomationControl> m) +SoloControl::master_changed (bool /*from self*/, GroupControlDisposition, boost::weak_ptr<AutomationControl> wm) { + boost::shared_ptr<AutomationControl> m = wm.lock (); + assert (m); bool send_signal = false; _transition_into_solo = 0; |