summaryrefslogtreecommitdiff
path: root/libs/ardour/insert.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2006-10-31 02:40:08 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2006-10-31 02:40:08 +0000
commit71c94e69438c7c282b2dcac5ead080119944b290 (patch)
tree17bc6b75ff24c0eca6a7a45043f2c9d11cc2ff0c /libs/ardour/insert.cc
parent74df5d49c8ff42c05d7eb9300c3a9f9a7257e694 (diff)
massive changes in automation state handling, not entirely complete; some bug fixes for automation line drawing
git-svn-id: svn://localhost/ardour2/trunk@1034 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/insert.cc')
-rw-r--r--libs/ardour/insert.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/libs/ardour/insert.cc b/libs/ardour/insert.cc
index ee8fdbcec0..77dd67a240 100644
--- a/libs/ardour/insert.cc
+++ b/libs/ardour/insert.cc
@@ -311,6 +311,23 @@ PluginInsert::connect_and_run (vector<Sample*>& bufs, uint32_t nbufs, nframes_t
}
void
+PluginInsert::automation_snapshot (nframes_t now)
+{
+ map<uint32_t,AutomationList*>::iterator li;
+
+ for (li = parameter_automation.begin(); li != parameter_automation.end(); ++li) {
+
+ AutomationList *alist = ((*li).second);
+ if (alist != 0 && alist->automation_write ()) {
+
+ float val = _plugins[0]->get_parameter ((*li).first);
+ alist->rt_add (now, val);
+ last_automation_snapshot = now;
+ }
+ }
+}
+
+void
PluginInsert::transport_stopped (nframes_t now)
{
map<uint32_t,AutomationList*>::iterator li;