ardour
|
#include <midi_state_tracker.h>
Public Member Functions | |
MidiStateTracker () | |
void | track (const MidiBuffer::const_iterator &from, const MidiBuffer::const_iterator &to) |
void | track (const uint8_t *evbuf) |
void | add (uint8_t note, uint8_t chn) |
void | remove (uint8_t note, uint8_t chn) |
void | resolve_notes (MidiBuffer &buffer, framepos_t time) |
void | resolve_notes (Evoral::EventSink< framepos_t > &buffer, framepos_t time) |
void | resolve_notes (MidiSource &src, const Glib::Threads::Mutex::Lock &lock, Evoral::Beats time) |
void | dump (std::ostream &) |
void | reset () |
bool | empty () const |
uint16_t | on () const |
bool | active (uint8_t note, uint8_t channel) |
template<typename Time > | |
void | track (const Evoral::Event< Time > &ev) |
Private Attributes | |
uint8_t | _active_notes [128 *16] |
uint16_t | _on |
Tracks played notes, so they can be resolved in potential stuck note situations (e.g. looping, transport stop, etc).
Definition at line 38 of file midi_state_tracker.h.
MidiStateTracker::MidiStateTracker | ( | ) |
Definition at line 36 of file midi_state_tracker.cc.
|
inline |
Definition at line 54 of file midi_state_tracker.h.
void MidiStateTracker::add | ( | uint8_t | note, |
uint8_t | chn | ||
) |
Definition at line 50 of file midi_state_tracker.cc.
void MidiStateTracker::dump | ( | std::ostream & | ) |
Definition at line 202 of file midi_state_tracker.cc.
|
inline |
Definition at line 52 of file midi_state_tracker.h.
|
inline |
Definition at line 53 of file midi_state_tracker.h.
void MidiStateTracker::remove | ( | uint8_t | note, |
uint8_t | chn | ||
) |
Definition at line 67 of file midi_state_tracker.cc.
void MidiStateTracker::reset | ( | ) |
Definition at line 42 of file midi_state_tracker.cc.
void MidiStateTracker::resolve_notes | ( | MidiBuffer & | buffer, |
framepos_t | time | ||
) |
Definition at line 113 of file midi_state_tracker.cc.
void MidiStateTracker::resolve_notes | ( | Evoral::EventSink< framepos_t > & | buffer, |
framepos_t | time | ||
) |
Definition at line 141 of file midi_state_tracker.cc.
void MidiStateTracker::resolve_notes | ( | MidiSource & | src, |
const Glib::Threads::Mutex::Lock & | lock, | ||
Evoral::Beats | time | ||
) |
Definition at line 171 of file midi_state_tracker.cc.
void MidiStateTracker::track | ( | const MidiBuffer::const_iterator & | from, |
const MidiBuffer::const_iterator & | to | ||
) |
Definition at line 87 of file midi_state_tracker.cc.
void MidiStateTracker::track | ( | const uint8_t * | evbuf | ) |
Definition at line 95 of file midi_state_tracker.cc.
|
inline |
Definition at line 59 of file midi_state_tracker.h.
|
private |
Definition at line 64 of file midi_state_tracker.h.
|
private |
Definition at line 65 of file midi_state_tracker.h.