Address of one continuous controller stream within a MidiContent. More...
#include <midi_lane.hpp>
Public Member Functions | |
| constexpr auto | operator<=> (const MidiLaneAddress &) const =default |
Public Attributes | |
| std::uint8_t | group = 0 |
| UMP group carrying the stream. | |
| std::uint8_t | channel = 0 |
| Channel within the group. | |
| std::uint8_t | status = 0 |
| Channel-voice status nibble identifying the controller family. | |
| std::uint8_t | bank = 0 |
| Controller bank; zero for controllers that have none. | |
| std::uint8_t | index = 0 |
| Controller index within its bank. | |
Address of one continuous controller stream within a MidiContent.
Two lanes may not share an address: a stream with two lanes has two authored answers for its value at a position, and no rule picks between them. Which addresses carry meaning is a playback question, not a storage one, so only the wire's own structural bounds are enforced here.
|
constexprdefault |
| std::uint8_t pulp::timeline::MidiLaneAddress::bank = 0 |
Controller bank; zero for controllers that have none.
| std::uint8_t pulp::timeline::MidiLaneAddress::channel = 0 |
Channel within the group.
| std::uint8_t pulp::timeline::MidiLaneAddress::group = 0 |
UMP group carrying the stream.
| std::uint8_t pulp::timeline::MidiLaneAddress::index = 0 |
Controller index within its bank.
| std::uint8_t pulp::timeline::MidiLaneAddress::status = 0 |
Channel-voice status nibble identifying the controller family.