summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-06-20 12:49:29 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-09-27 14:59:30 -0500
commit7f7a5f1c517cde6b769fb5dc65320323802169f6 (patch)
treeb7612325cb236a10a8cdc180a60c9e81987b7970
parent74ae2c6ae60c06b3cb86bcb52f5be23839e8c4ba (diff)
Flush shadow port buffer (to the backend port buffer) if filtering wrote anything.
-rw-r--r--libs/ardour/async_midi_port.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/libs/ardour/async_midi_port.cc b/libs/ardour/async_midi_port.cc
index 7614015a2e..abbe0d900a 100644
--- a/libs/ardour/async_midi_port.cc
+++ b/libs/ardour/async_midi_port.cc
@@ -151,7 +151,10 @@ AsyncMIDIPort::cycle_start (MIDI::pframes_t nframes)
}
if (shadow_port) {
- shadow_midi_filter (mb, shadow_port->get_midi_buffer (nframes));
+ MidiBuffer& shadow_buffer (shadow_port->get_midi_buffer (nframes));
+ if (shadow_midi_filter (mb, shadow_buffer)) {
+ shadow_port->flush_buffers (nframes);
+ }
}
}
}