diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-04-09 16:15:26 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-05-31 15:30:40 -0400 |
commit | 8fc18766263c72a7c02593de726f304ea2f866a6 (patch) | |
tree | ecca3cbbbf14e3657074048e9401aaa1c1b9e34b /libs/ardour/automatable.cc | |
parent | 2c6d59561416900cd99e79bee4d5afb82d87aed8 (diff) |
do not non-automable controls to an Automatable's list of what can be automated
Diffstat (limited to 'libs/ardour/automatable.cc')
-rw-r--r-- | libs/ardour/automatable.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libs/ardour/automatable.cc b/libs/ardour/automatable.cc index f85bc83e85..d02139b4d1 100644 --- a/libs/ardour/automatable.cc +++ b/libs/ardour/automatable.cc @@ -148,7 +148,9 @@ Automatable::add_control(boost::shared_ptr<Evoral::Control> ac) boost::shared_ptr<AutomationList> al = boost::dynamic_pointer_cast<AutomationList> (ac->list ()); - if (al) { + boost::shared_ptr<AutomationControl> actl (boost::dynamic_pointer_cast<AutomationControl> (ac)); + + if ((!actl || !(actl->flags() & Controllable::NotAutomatable)) && al) { al->automation_state_changed.connect_same_thread ( _list_connections, boost::bind (&Automatable::automation_list_automation_state_changed, @@ -157,7 +159,7 @@ Automatable::add_control(boost::shared_ptr<Evoral::Control> ac) ControlSet::add_control (ac); - if (al) { + if ((!actl || !(actl->flags() & Controllable::NotAutomatable)) && al) { _can_automate_list.insert (param); automation_list_automation_state_changed (param, al->automation_state ()); // sync everything up } |