+
+void
+PluginInsert::realtime_locate ()
+{
+ for (Plugins::iterator i = _plugins.begin(); i != _plugins.end(); ++i) {
+ (*i)->realtime_locate ();
+ }
+}
+
+void
+PluginInsert::monitoring_changed ()
+{
+ for (Plugins::iterator i = _plugins.begin(); i != _plugins.end(); ++i) {
+ (*i)->monitoring_changed ();
+ }
+}
+
+void
+PluginInsert::start_touch (uint32_t param_id)
+{
+ boost::shared_ptr<AutomationControl> ac = automation_control (Evoral::Parameter (PluginAutomation, 0, param_id));
+ if (ac) {
+ ac->start_touch (session().audible_frame());
+ }
+}
+
+void
+PluginInsert::end_touch (uint32_t param_id)
+{
+ boost::shared_ptr<AutomationControl> ac = automation_control (Evoral::Parameter (PluginAutomation, 0, param_id));
+ if (ac) {
+ ac->stop_touch (true, session().audible_frame());
+ }
+}