diff options
author | Robin Gareus <robin@gareus.org> | 2019-11-14 21:50:00 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2019-11-14 21:50:00 +0100 |
commit | 3c446a52753b1575b7e4a65cdf02efca01f5cdad (patch) | |
tree | 3191176688eb65d8a51c84551f79aa95cb38242b /libs/ardour/plugin_insert.cc | |
parent | 32cfed62530035bebacbb59603bd0813b918dd3e (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.cc | 4 |
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); } } |