diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2019-10-14 19:00:32 -0600 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2019-11-02 16:32:18 -0600 |
commit | 22da779322e742775eb8d1e22bdf8c16f20c16b2 (patch) | |
tree | 61327a4f3df2ff393600f78b4573a35d833dbea1 /libs/ardour/midi_source.cc | |
parent | cc949232fe39c4c0a8a0775ab9fc9284df3fb39a (diff) |
introduce new all-in-RAM MIDI datastructure and use it for MIDI playback
Diffstat (limited to 'libs/ardour/midi_source.cc')
-rw-r--r-- | libs/ardour/midi_source.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libs/ardour/midi_source.cc b/libs/ardour/midi_source.cc index a2e8839651..2f6c62f4a8 100644 --- a/libs/ardour/midi_source.cc +++ b/libs/ardour/midi_source.cc @@ -38,6 +38,7 @@ #include "pbd/xml++.h" #include "pbd/pthread_utils.h" #include "pbd/basename.h" +#include "pbd/timing.h" #include "evoral/Control.hpp" #include "evoral/EventSink.hpp" @@ -241,6 +242,7 @@ MidiSource::midi_read (const Lock& lm, cursor.last_read_end = start + cnt; + samplepos_t time_samples = 0; // Copy events in [start, start + cnt) into dst for (; i != _model->end(); ++i) { @@ -277,7 +279,7 @@ MidiSource::midi_read (const Lock& lm, destroying events in the model during read. */ Evoral::Event<Temporal::Beats> ev(*i, true); if (!filter->filter(ev.buffer(), ev.size())) { - dst.write(time_samples, ev.event_type(), ev.size(), ev.buffer()); + dst.write (time_samples, ev.event_type(), ev.size(), ev.buffer()); } else { DEBUG_TRACE (DEBUG::MidiSourceIO, string_compose ("%1: filter event @ %2 type %3 size %4\n", |