diff options
author | Robin Gareus <robin@gareus.org> | 2018-04-02 22:33:11 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2018-04-02 22:33:11 +0200 |
commit | 868eec264f1cfa546e889b0651d5238e7a3367ee (patch) | |
tree | 4f557895a60824e88af28ef09fff9f29d2fd149d /libs | |
parent | d0f7bec624cdaa133ed5d3661794d97109b7e3c7 (diff) |
Implement VST UI touch (begin/end Edit)
Diffstat (limited to 'libs')
-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: |