21 std::array<MidiEvent, Capacity>
events{};
45 const uint8_t ch = manager_channel == 15 ? uint8_t{15} : uint8_t{0};
57 if (!(semitones > 0.0f))
59 if (semitones > 127.0f)
61 const auto whole =
static_cast<uint8_t
>(semitones);
62 auto cents =
static_cast<int>((semitones -
static_cast<float>(whole)) * 100.0f + 0.5f);
65 const uint8_t ch = channel & 0x0F;
81 config.upper_zone.manager_channel == 15 ? config.upper_zone.member_channels : uint8_t{0};
91 float manager_semitones,
92 float member_semitones) {
98 for (uint8_t c = 0; c < 16; ++c) {
109 for (
const auto& e : list)
virtual void send(const MidiEvent &event)=0
Definition custom_node_events.hpp:26
MpeMessageList< 6 > mpe_zone_layout_messages(const MpeConfig &config)
Zone layout: one Configuration Message for each zone, lower first.
Definition mpe_config_messages.hpp:76
MpeMessageList< 4 > mpe_pitch_bend_range_message(uint8_t channel, float semitones)
Pitch-bend range (RPN 0) for one channel: whole semitones in Data Entry MSB and the remaining hundred...
Definition mpe_config_messages.hpp:55
MpeMessageList< 3 > mpe_configuration_message(uint8_t manager_channel, uint8_t member_count)
MPE Configuration Message: RPN 6 on a manager channel.
Definition mpe_config_messages.hpp:43
void send_mpe_messages(MidiOutput &output, const MpeMessageList< N > &list)
Send every event in list to output, in order.
Definition mpe_config_messages.hpp:108
MpeMessageList< 64 > mpe_zone_pitch_bend_range_messages(const MpeZone &zone, float manager_semitones, float member_semitones)
Pitch-bend ranges for a whole zone: the manager channel gets manager_semitones and every member chann...
Definition mpe_config_messages.hpp:90
Timestamped MIDI event combining a choc::midi::ShortMessage with timing info.
Definition message.hpp:32
static MidiEvent cc(uint8_t channel, uint8_t controller, uint8_t value)
Create a Control Change event.
Definition message.hpp:64
Fixed-capacity, allocation-free list of events returned by the builders.
Definition mpe_config_messages.hpp:20
const MidiEvent * begin() const
Definition mpe_config_messages.hpp:24
std::array< MidiEvent, Capacity > events
Definition mpe_config_messages.hpp:21
std::size_t count
Definition mpe_config_messages.hpp:22
std::size_t size() const
Definition mpe_config_messages.hpp:30
void push(const MidiEvent &e)
Definition mpe_config_messages.hpp:34
const MidiEvent * end() const
Definition mpe_config_messages.hpp:27
uint8_t manager_channel
Definition ump.hpp:358
uint8_t member_channels
Definition ump.hpp:359
bool contains_channel(uint8_t ch) const
Definition ump.hpp:365