diff options
author | Robin Gareus <robin@gareus.org> | 2017-09-30 23:38:41 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-09-30 23:38:41 +0200 |
commit | 0431ed3d3e1d91a19f9ce382a5531f71449b2d0c (patch) | |
tree | 2f79fbcf3eb1eecd5b484189ec555438c44b4c9f /libs | |
parent | 93d11d155c32af9eb397ccb30823f45e58958491 (diff) |
Disk-writer: don't record immediate/oob events
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/disk_writer.cc | 14 |
1 files changed, 14 insertions, 0 deletions
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()); } |