diff options
author | Robin Gareus <robin@gareus.org> | 2020-04-12 13:35:21 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2020-04-12 13:35:21 +0200 |
commit | fc34626e501ed5c64400f222028e34691f67efa2 (patch) | |
tree | 06426b6f1684c6703ca4df23019b5564699c968b /libs/ardour/session.cc | |
parent | 68ecf6c0b33e1348523f7540d1a2603321a915bc (diff) |
Fix loop range changes while playing - #8001
Since ead883302fe800ae, it is no longer possible to use a null
pointer SessionEvent::track as flag to indicate overriding all
buffers.
Diffstat (limited to 'libs/ardour/session.cc')
-rw-r--r-- | libs/ardour/session.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 2b0b9c0921..900cd90372 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -1549,9 +1549,10 @@ Session::auto_loop_changed (Location* location) } else { - // schedule a buffer overwrite to refill buffers with the new loop. - - request_overwrite_buffer (boost::shared_ptr<Track>(), LoopChanged); + /* schedule a buffer overwrite to refill buffers with the new loop. */ + SessionEvent *ev = new SessionEvent (SessionEvent::OverwriteAll, SessionEvent::Add, SessionEvent::Immediate, 0, 0, 0.0); + ev->overwrite = LoopChanged; + queue_event (ev); } } |