From a76e2128efea2d48fd873e95fd7c0f0b6f6135b3 Mon Sep 17 00:00:00 2001 From: Hans Baier Date: Sun, 11 May 2008 21:03:27 +0000 Subject: [PATCH] * disabled some debugging output * fixed (my) bugs in MidiRingBuffer: aborted reading on corrupted events and event does not match channel mask git-svn-id: svn://localhost/ardour2/branches/3.0@3333 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/ardour/midi_ring_buffer.h | 4 ++-- libs/ardour/midi_model.cc | 8 +++----- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/libs/ardour/ardour/midi_ring_buffer.h b/libs/ardour/ardour/midi_ring_buffer.h index aaad5769a3..680e2a7b61 100644 --- a/libs/ardour/ardour/midi_ring_buffer.h +++ b/libs/ardour/ardour/midi_ring_buffer.h @@ -393,7 +393,7 @@ MidiRingBuffer::read(MidiBuffer& dst, nframes_t start, nframes_t end, nframes_t if(is_channel_event(first_event_byte) && (g_atomic_int_get(&_force_channel) < 0)) { Byte channel_nr = first_event_byte & 0x0F; if( !(g_atomic_int_get(&_channel_mask) & (1L << channel_nr)) ) { - return 0; + continue; } } @@ -403,7 +403,7 @@ MidiRingBuffer::read(MidiBuffer& dst, nframes_t start, nframes_t end, nframes_t if(!ev.buffer()) { std::cerr << "MidiRingBuffer::read WARNING: Skipping MIDI Event with NULL buffer pointer " << " and length " << int(ev.size()) << std::endl; - return 0; + continue; } Byte* write_loc = dst.reserve(ev.time(), ev.size()); diff --git a/libs/ardour/midi_model.cc b/libs/ardour/midi_model.cc index 8a62eba8a6..01f0ecc436 100644 --- a/libs/ardour/midi_model.cc +++ b/libs/ardour/midi_model.cc @@ -316,14 +316,12 @@ size_t MidiModel::read(MidiRingBuffer& dst, nframes_t start, nframes_t nframes, dst.write(_read_iter->time() + stamp_offset - negative_stamp_offset, _read_iter->size(), _read_iter->buffer()); - - cerr << this << " MidiModel::read event @ " << _read_iter->time() - << " type: " << hex << int(_read_iter->type()) << dec + //cerr << this << " MidiModel::read event @ " << _read_iter->time() + //<< " type: " << hex << int(_read_iter->type()) << dec //<< " note: " << int(_read_iter->note()) //<< " velocity: " << int(_read_iter->velocity()) - << endl; + //<< endl; - ++_read_iter; ++read_events; } -- 2.30.2