diff options
author | David Robillard <d@drobilla.net> | 2009-05-01 17:32:48 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2009-05-01 17:32:48 +0000 |
commit | 848df74e581b1c73e40a6a606f5be8d1f2dd922d (patch) | |
tree | bef6398b842cb60c1e712af5ccd487b71cfd1c9d /libs/ardour/midi_source.cc | |
parent | 3014d238013fe2a9093e3c9281079b2b933a6995 (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.cc | 6 |
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; |