Immutable arrangement-note event lowered by the program compiler. More...
#include <program.hpp>
Public Member Functions | |
| constexpr auto | operator<=> (const NoteProgramEvent &) const =default |
Public Attributes | |
| timebase::SamplePosition | sample |
| timebase::TickPosition | tick |
| timeline::ItemId | clip_id |
| timeline::ItemId | note_id |
| std::uint16_t | velocity = 0xffff |
| std::uint8_t | pitch = 60 |
| std::uint8_t | channel = 0 |
| NoteProgramEventKind | kind = NoteProgramEventKind::On |
Immutable arrangement-note event lowered by the program compiler.
Musical ticks remain available for diagnostics and state snapshots, while the sample position is authoritative for half-open block scheduling against the exact CompiledTempoMap used to build the owning PlaybackProgram. Distinct ticks can quantize to the same compiled sample, so tick order remains authoritative within one sample; note-offs precede note-ons only when both the sample and tick are equal.
|
constexprdefault |
| std::uint8_t pulp::playback::NoteProgramEvent::channel = 0 |
| timeline::ItemId pulp::playback::NoteProgramEvent::clip_id |
| NoteProgramEventKind pulp::playback::NoteProgramEvent::kind = NoteProgramEventKind::On |
| timeline::ItemId pulp::playback::NoteProgramEvent::note_id |
| std::uint8_t pulp::playback::NoteProgramEvent::pitch = 60 |
| timebase::SamplePosition pulp::playback::NoteProgramEvent::sample |
| timebase::TickPosition pulp::playback::NoteProgramEvent::tick |
| std::uint16_t pulp::playback::NoteProgramEvent::velocity = 0xffff |