|
| enum | event_flag : int { flag_none = 0
, flag_retrigger = 1
, flag_orphan = 2
} |
| |
|
using | tick = halp::tick_musical |
| |
|
|
| halp_meta (name, "MIDI display") halp_meta(c_name |
| |
|
MidiDisplay | halp_meta (category, "Monitoring/Midi") halp_meta(author |
| |
|
MidiDisplay ossia score | halp_meta (manual_url, "") halp_meta(description |
| |
|
MidiDisplay ossia score Visualize the MIDI messages going through a port | halp_meta (uuid, "a2b6c7f1-3d54-4e9a-9c21-8f0d5e73b104") halp_flag(fully_custom_item) |
| |
|
void | prepare (halp::setup s) noexcept |
| |
|
void | operator() (halp::tick_musical t) |
| |
| int | track (uint8_t status, uint8_t d1, uint8_t d2, float t) noexcept |
| |
|
|
static double | recommended_height () |
| |
|
|
struct { | |
| |
|
halp::midi_bus<"in"> midi | |
| |
|
halp::time_chooser<"Window", halp::range{0.5, 60., 8.}> window | |
| | How much of the past is shown: seconds, or a note value (bars).
|
| |
|
struct range | |
| |
|
mode | |
| |
|
channel | |
| |
|
hide_clock | |
| |
|
palette | |
| |
| } | inputs | |
| |
|
struct { | |
| |
|
enum widget | |
| |
|
events | |
| |
| } | outputs | |
| |
|
std::shared_ptr< MidiMonitor > | monitor = std::make_shared<MidiMonitor>() |
| |
|
double | m_rate = 48000. |
| |
|
int64_t | m_frames = 0 |
| |
|
double | m_last_push = -1e9 |
| |
|
uint64_t | m_seq = 0 |
| |
|
std::array< std::array< held_note, 128 >, 16 > | m_held_notes {} |
| |
|
HeldNotes | m_held_state |
| |
|
|
static constexpr double | heartbeat_seconds = 0.03 |
| |
|
static constexpr double | stuck_after_seconds = 2. |
| |
◆ track()
| int Ui::MidiDisplay::Node::track |
( |
uint8_t |
status, |
|
|
uint8_t |
d1, |
|
|
uint8_t |
d2, |
|
|
float |
t |
|
) |
| |
|
inlinenoexcept |
Pairs a message against the running held-note state, returning what is anomalous about it. Malformed messages are not paired.
The documentation for this struct was generated from the following file: