From f39606f985223d211d218799c9e0de1e7c0e7f0c Mon Sep 17 00:00:00 2001 From: Hans Baier Date: Tue, 8 Apr 2008 23:57:59 +0000 Subject: * fixed bug: MIDI region did not sound if its position was less than its start offset git-svn-id: svn://localhost/ardour2/branches/3.0@3239 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/smf_source.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libs/ardour/smf_source.cc') diff --git a/libs/ardour/smf_source.cc b/libs/ardour/smf_source.cc index 6df78f3b29..18d7e87d88 100644 --- a/libs/ardour/smf_source.cc +++ b/libs/ardour/smf_source.cc @@ -331,7 +331,7 @@ SMFSource::read_event(uint32_t* delta_t, uint32_t* size, Byte** buf) const /** All stamps in audio frames */ nframes_t -SMFSource::read_unlocked (MidiRingBuffer& dst, nframes_t start, nframes_t cnt, nframes_t stamp_offset) const +SMFSource::read_unlocked (MidiRingBuffer& dst, nframes_t start, nframes_t cnt, nframes_t stamp_offset, nframes_t negative_stamp_offset) const { cerr << "SMF read_unlocked " << name() << " read " << start << ", count=" << cnt << ", offset=" << stamp_offset << endl; @@ -377,7 +377,7 @@ SMFSource::read_unlocked (MidiRingBuffer& dst, nframes_t start, nframes_t cnt, n ((time / (double)_ppqn) * frames_per_beat)) + stamp_offset; if (ev_frame_time <= start + cnt) - dst.write(ev_frame_time, ev_size, ev_buffer); + dst.write(ev_frame_time - negative_stamp_offset, ev_size, ev_buffer); else break; } -- cgit v1.2.3