diff options
Diffstat (limited to 'libs/ardour/session_vst.cc')
-rw-r--r-- | libs/ardour/session_vst.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libs/ardour/session_vst.cc b/libs/ardour/session_vst.cc index 1b25659cc9..ffff11510b 100644 --- a/libs/ardour/session_vst.cc +++ b/libs/ardour/session_vst.cc @@ -500,11 +500,23 @@ intptr_t Session::vst_callback ( case audioMasterBeginEdit: SHOW_CALLBACK ("audioMasterBeginEdit"); // begin of automation session (when mouse down), parameter index in <index> + if (plug && plug->plugin_insert ()) { + boost::shared_ptr<AutomationControl> ac = plug->plugin_insert ()->automation_control (Evoral::Parameter (PluginAutomation, 0, index)); + if (ac) { + ac->start_touch (ac->session().transport_sample()); + } + } return 0; case audioMasterEndEdit: SHOW_CALLBACK ("audioMasterEndEdit"); // end of automation session (when mouse up), parameter index in <index> + if (plug && plug->plugin_insert ()) { + boost::shared_ptr<AutomationControl> ac = plug->plugin_insert ()->automation_control (Evoral::Parameter (PluginAutomation, 0, index)); + if (ac) { + ac->stop_touch (ac->session().transport_sample()); + } + } return 0; case audioMasterOpenFileSelector: |