summaryrefslogtreecommitdiff
path: root/libs/ardour/session_transport.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2020-04-22 05:09:30 +0200
committerRobin Gareus <robin@gareus.org>2020-04-22 05:09:30 +0200
commit2d11667ce3d2ada93c0fb90978bdcc054413c2bb (patch)
treeee71a5ebe7214a52c948a33a3d97b6455816bff3 /libs/ardour/session_transport.cc
parentd03a3903a0e9c50b88c1fed1b7554be60b38940f (diff)
Fix MIDI audition and audition seeking
DiskReader::seek() no longer fills MIDI buffers. MIDI is now read into memory via DR:overwrite_existing_buffers() There is still some edge-case remaining to be fixed. For some reasons the synth does not receive initial patch/program changes when starting auditioning.
Diffstat (limited to 'libs/ardour/session_transport.cc')
-rw-r--r--libs/ardour/session_transport.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc
index 2924629d88..afd26d0373 100644
--- a/libs/ardour/session_transport.cc
+++ b/libs/ardour/session_transport.cc
@@ -1222,6 +1222,9 @@ void
Session::non_realtime_overwrite (int on_entry, bool& finished)
{
boost::shared_ptr<RouteList> rl = routes.reader();
+ if (is_auditioning ()) {
+ rl->push_back (auditioner);
+ }
for (RouteList::iterator i = rl->begin(); i != rl->end(); ++i) {
boost::shared_ptr<Track> tr = boost::dynamic_pointer_cast<Track> (*i);
if (tr && tr->pending_overwrite ()) {