diff options
author | David Robillard <d@drobilla.net> | 2009-02-01 21:04:12 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2009-02-01 21:04:12 +0000 |
commit | 44ac5f5097af43ec6bf60489d73a532f43702bf3 (patch) | |
tree | 03e859a131be8e9187f5a95fb7eba813f9d761eb /libs/ardour/midi_state_tracker.cc | |
parent | 554d46896bf60fdf0804225acb26a9fd79e592c4 (diff) |
Removed fixed/maximum event size assumption/limitation from MIDI buffer.
git-svn-id: svn://localhost/ardour2/branches/3.0@4471 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/midi_state_tracker.cc')
-rw-r--r-- | libs/ardour/midi_state_tracker.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libs/ardour/midi_state_tracker.cc b/libs/ardour/midi_state_tracker.cc index c2aa19e5c8..3871c139df 100644 --- a/libs/ardour/midi_state_tracker.cc +++ b/libs/ardour/midi_state_tracker.cc @@ -31,7 +31,7 @@ MidiStateTracker::MidiStateTracker () } void -MidiStateTracker::track_note_onoffs (Evoral::MIDIEvent &event) +MidiStateTracker::track_note_onoffs (const Evoral::MIDIEvent &event) { if (event.is_note_on()) { _active_notes [event.note() + 128 * event.channel()] = true; @@ -46,12 +46,13 @@ MidiStateTracker::track (const MidiBuffer::iterator &from, const MidiBuffer::ite bool ret = false; for (MidiBuffer::iterator i = from; i != to; ++i) { - if ((*i).event_type() == LoopEventType) { + const Evoral::MIDIEvent ev(*i, false); + if (ev.event_type() == LoopEventType) { ret = true; continue; } - track_note_onoffs (*i); + track_note_onoffs (ev); } return ret; } |