diff options
author | David Robillard <d@drobilla.net> | 2014-11-19 20:47:18 -0500 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2014-11-20 11:31:31 -0500 |
commit | 8f8a4878f30795b7ac5398c8daa6b01b5c6d4468 (patch) | |
tree | ad69529a7ee88452f77403104b8cd0d970d67123 /libs/ardour/midi_state_tracker.cc | |
parent | 9d8bbf4b9a7ddf2f7f030a6716f9d647190abca8 (diff) |
Clean up some MIDI code.
Diffstat (limited to 'libs/ardour/midi_state_tracker.cc')
-rw-r--r-- | libs/ardour/midi_state_tracker.cc | 25 |
1 files changed, 1 insertions, 24 deletions
diff --git a/libs/ardour/midi_state_tracker.cc b/libs/ardour/midi_state_tracker.cc index 466fc20b63..5e99c35294 100644 --- a/libs/ardour/midi_state_tracker.cc +++ b/libs/ardour/midi_state_tracker.cc @@ -47,16 +47,6 @@ MidiStateTracker::reset () } void -MidiStateTracker::track_note_onoffs (const Evoral::MIDIEvent<MidiBuffer::TimeType>& event) -{ - if (event.is_note_on()) { - add (event.note(), event.channel()); - } else if (event.is_note_off()){ - remove (event.note(), event.channel()); - } -} - -void MidiStateTracker::add (uint8_t note, uint8_t chn) { if (_active_notes[note+128 * chn] == 0) { @@ -96,21 +86,8 @@ MidiStateTracker::remove (uint8_t note, uint8_t chn) void MidiStateTracker::track (const MidiBuffer::iterator &from, const MidiBuffer::iterator &to) { - // DEBUG_TRACE (PBD::DEBUG::MidiTrackers, string_compose ("%1 track notes\n", this)); - for (MidiBuffer::iterator i = from; i != to; ++i) { - const Evoral::MIDIEvent<MidiBuffer::TimeType> ev(*i, false); - - /* catch AllNotesOff message and turn off all notes - */ - - if (ev.type() == MIDI_CTL_ALL_NOTES_OFF) { - cerr << "State tracker sees ALL_NOTES_OFF, silenceing " << sizeof (_active_notes) << endl; - memset (_active_notes, 0, sizeof (_active_notes)); - _on = 0; - } else { - track_note_onoffs (ev); - } + track(*i); } } |