constexpr bool midi_lane_address_well_formed(const MidiLaneAddress &address) noexcept
Returns whether every address component fits the width the wire gives it.
Definition midi_lane.hpp:57
constexpr std::uint8_t midi_lane_address_maximum
Largest admitted UMP group and channel address component.
Definition midi_lane.hpp:33
Definition program_compiler.hpp:18
Nonzero monotonic identity for a Timeline-owned object.
Definition item_id.hpp:19
One controller stream's authored points, ordered by (position, id).
Definition midi_lane.hpp:90
auto operator<=>(const MidiExpressionLane &) const =default
std::vector< MidiLanePoint > points
Definition midi_lane.hpp:93
ItemId id
Definition midi_lane.hpp:91
MidiLaneAddress address
Definition midi_lane.hpp:92
Address of one continuous controller stream within a MidiContent.
Definition midi_lane.hpp:41
std::uint8_t group
UMP group carrying the stream.
Definition midi_lane.hpp:43
std::uint8_t bank
Controller bank; zero for controllers that have none.
Definition midi_lane.hpp:49
std::uint8_t index
Controller index within its bank.
Definition midi_lane.hpp:51
std::uint8_t status
Channel-voice status nibble identifying the controller family.
Definition midi_lane.hpp:47
std::uint8_t channel
Channel within the group.
Definition midi_lane.hpp:45
constexpr auto operator<=>(const MidiLaneAddress &) const =default
One authored value on a controller lane, positioned in canonical ticks.
Definition midi_lane.hpp:68
constexpr auto operator<=>(const MidiLanePoint &) const =default
std::uint32_t value
Definition midi_lane.hpp:71
ItemId id
Definition midi_lane.hpp:69
timebase::TickPosition position
Definition midi_lane.hpp:70
bool chased
Whether flattening derived this point at a retained-window boundary rather than reading it where the ...
Definition midi_lane.hpp:80