summaryrefslogtreecommitdiff
path: root/libs/ardour/midi_source.cc
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-05-01 17:32:48 +0000
committerDavid Robillard <d@drobilla.net>2009-05-01 17:32:48 +0000
commit848df74e581b1c73e40a6a606f5be8d1f2dd922d (patch)
treebef6398b842cb60c1e712af5ccd487b71cfd1c9d /libs/ardour/midi_source.cc
parent3014d238013fe2a9093e3c9281079b2b933a6995 (diff)
Fix MIDI playback.
git-svn-id: svn://localhost/ardour2/branches/3.0@5024 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/midi_source.cc')
-rw-r--r--libs/ardour/midi_source.cc6
1 files changed, 3 insertions, 3 deletions
diff --git a/libs/ardour/midi_source.cc b/libs/ardour/midi_source.cc
index eec89c60f3..9f0a021274 100644
--- a/libs/ardour/midi_source.cc
+++ b/libs/ardour/midi_source.cc
@@ -138,7 +138,7 @@ MidiSource::midi_read (MidiRingBuffer<nframes_t>& dst, sframes_t source_start,
Evoral::Sequence<double>::const_iterator& i = _model_iter;
- if (_last_read_end == 0 || start != _last_read_end || !i.valid()) {
+ if (_last_read_end == 0 || start != _last_read_end) { // || !i.valid()) {
cerr << "MidiSource seeking to " << start << " from " << _last_read_end << endl;
for (i = _model->begin(); i != _model->end(); ++i) {
if (BEATS_TO_FRAMES(i->time()) >= start) {
@@ -150,8 +150,8 @@ MidiSource::midi_read (MidiRingBuffer<nframes_t>& dst, sframes_t source_start,
_last_read_end = start + cnt;
for (; i != _model->end(); ++i) {
- const nframes_t time_frames = BEATS_TO_FRAMES(i->time());
- if (time_frames < start + cnt) {
+ const sframes_t time_frames = BEATS_TO_FRAMES(i->time());
+ if (time_frames < source_start + start + cnt) {
dst.write(time_frames, i->event_type(), i->size(), i->buffer());
} else {
break;