From 0f2f4d8efc7f3e1144c6f51fd17c1ab309056c3e Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 31 May 2007 21:37:20 +0000 Subject: Rewrote MidiRingBuffer to more efficiently pack data (flat pack stamps, sizes, and event data into a single buffer). Eliminate a double-copy on MIDI playback (MidiRingBuffer -> MidiBuffer). Various MIDI diskstream/source/SMF fixes (only write when appropriate, handle transport locates, etc). Fix MIDI rec region size/offset problems. Code cleanups. git-svn-id: svn://localhost/ardour2/trunk@1934 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/midi_playlist.cc | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'libs/ardour/midi_playlist.cc') diff --git a/libs/ardour/midi_playlist.cc b/libs/ardour/midi_playlist.cc index 2e36e34e43..f99ef299a7 100644 --- a/libs/ardour/midi_playlist.cc +++ b/libs/ardour/midi_playlist.cc @@ -128,10 +128,9 @@ MidiPlaylist::read (MidiRingBuffer& dst, nframes_t start, Glib::Mutex::Lock rm (region_lock); - nframes_t ret = 0; - nframes_t end = start + dur - 1; + nframes_t end = start + dur - 1; - //_read_data_count = 0; + _read_data_count = 0; // relevent regions overlapping start <--> end vector > regs; @@ -150,12 +149,9 @@ MidiPlaylist::read (MidiRingBuffer& dst, nframes_t start, // FIXME: ensure time is monotonic here boost::shared_ptr mr = boost::dynamic_pointer_cast(*i); mr->read_at (dst, start, dur, chan_n); - ret += mr->read_data_count(); + _read_data_count += mr->read_data_count(); } - _read_data_count += ret; - - //return ret; FIXME? return dur; } -- cgit v1.2.3