summaryrefslogtreecommitdiff
path: root/libs/ardour/plugin_insert.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2019-11-14 21:50:00 +0100
committerRobin Gareus <robin@gareus.org>2019-11-14 21:50:00 +0100
commit3c446a52753b1575b7e4a65cdf02efca01f5cdad (patch)
tree3191176688eb65d8a51c84551f79aa95cb38242b /libs/ardour/plugin_insert.cc
parent32cfed62530035bebacbb59603bd0813b918dd3e (diff)
Fix cycle-end position when not rolling
When stopped start_sample == end_sample. This fixes accidental automation lookup, as well as plugin time/position information.
Diffstat (limited to 'libs/ardour/plugin_insert.cc')
-rw-r--r--libs/ardour/plugin_insert.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/libs/ardour/plugin_insert.cc b/libs/ardour/plugin_insert.cc
index 24b5dfd8ad..94f7ee4cbb 100644
--- a/libs/ardour/plugin_insert.cc
+++ b/libs/ardour/plugin_insert.cc
@@ -1294,7 +1294,7 @@ PluginInsert::automate_and_run (BufferSet& bufs, samplepos_t start, samplepos_t
samplecnt_t cnt = min (((samplecnt_t) ceil (next_event.when) - start), (samplecnt_t) nframes);
- connect_and_run (bufs, start, start + cnt, speed, cnt, offset, true); // XXX (start + cnt) * speed
+ connect_and_run (bufs, start, start + cnt * speed, speed, cnt, offset, true);
nframes -= cnt;
offset += cnt;
@@ -1310,7 +1310,7 @@ PluginInsert::automate_and_run (BufferSet& bufs, samplepos_t start, samplepos_t
/* cleanup anything that is left to do */
if (nframes) {
- connect_and_run (bufs, start, start + nframes, speed, nframes, offset, true);
+ connect_and_run (bufs, start, start + nframes * speed, speed, nframes, offset, true);
}
}