From 0431ed3d3e1d91a19f9ce382a5531f71449b2d0c Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sat, 30 Sep 2017 23:38:41 +0200 Subject: Disk-writer: don't record immediate/oob events --- libs/ardour/disk_writer.cc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'libs/ardour/disk_writer.cc') diff --git a/libs/ardour/disk_writer.cc b/libs/ardour/disk_writer.cc index c30143d262..06218d1ff1 100644 --- a/libs/ardour/disk_writer.cc +++ b/libs/ardour/disk_writer.cc @@ -525,6 +525,20 @@ DiskWriter::run (BufferSet& bufs, samplepos_t start_sample, samplepos_t end_samp continue; } + bool skip_event = false; + if (mt) { + /* skip injected immediate/out-of-band events */ + MidiBuffer const& ieb (mt->immediate_event_buffer()); + for (MidiBuffer::const_iterator j = ieb.begin(); j != ieb.end(); ++j) { + if (*j == ev) { + skip_event = true; + } + } + } + if (skip_event) { + continue; + } + if (!filter || !filter->filter(ev.buffer(), ev.size())) { _midi_buf->write (event_time, ev.event_type(), ev.size(), ev.buffer()); } -- cgit v1.2.3