14 std::uint8_t velocity ) noexcept
24 std::uint8_t velocity ) noexcept
34 std::uint8_t pressure ) noexcept
45 std::byte value ) noexcept
53 std::uint8_t value ) noexcept
59 return control_change( channel, std::byte{controller}, std::byte{value} );
71 std::uint8_t pressure ) noexcept
85 const std::int32_t offset = 8192;
90 constexpr std::array< message_t< 3 >, 2 >
92 std::byte control_function_lsb, std::uint16_t value )
99 constexpr std::array< message_t< 3 >, 2 >
106 constexpr std::array< message_t< 3 >, 2 >
bank_select( std::uint8_t channel,
107 std::uint16_t bank ) noexcept
114 std::uint8_t program ) noexcept
121 std::uint16_t value ) noexcept
127 std::uint16_t value ) noexcept
133 std::uint16_t value ) noexcept
139 std::uint16_t value ) noexcept
144 constexpr std::array< message_t< 3 >, 2 >
data_entry( std::uint8_t channel,
145 std::uint16_t value ) noexcept
151 std::uint16_t value ) noexcept
156 constexpr std::array< message_t< 3 >, 2 >
balance( std::uint8_t channel,
157 std::uint16_t value ) noexcept
162 constexpr std::array< message_t< 3 >, 2 >
pan( std::uint8_t channel,
163 std::uint16_t value ) noexcept
169 std::uint16_t value ) noexcept
174 constexpr std::array< message_t< 3 >, 2 >
effect_control( std::uint8_t
id, std::uint8_t channel,
175 std::uint16_t value ) noexcept
179 const auto control_function =
184 constexpr std::array< message_t< 3 >, 2 >
186 std::uint16_t value ) noexcept
190 const auto control_function =
198 constexpr std::array< message_t< 3 >, 2 >
205 constexpr std::array< message_t< 3 >, 2 >
214 return on ? std::byte{0x7F} : std::byte{0x00};
217 constexpr message_t< 3 >
damper_pedal( std::uint8_t channel,
bool on ) noexcept
222 constexpr message_t< 3 >
portamento( std::uint8_t channel,
bool on ) noexcept
227 constexpr message_t< 3 >
sostenuto( std::uint8_t channel,
bool on ) noexcept
232 constexpr message_t< 3 >
soft_pedal( std::uint8_t channel,
bool on ) noexcept
237 constexpr message_t< 3 >
hold_2( std::uint8_t channel,
bool on ) noexcept
243 std::byte control_function ) noexcept
245 return control_change( channel, control_function, std::byte{0x00} );
260 constexpr message_t< 3 >
local_control( std::uint8_t channel,
bool on ) noexcept
263 const auto data_byte = on ? std::byte{0x7F} : std::byte{0x00};
291 constexpr message_t< 3 >
effects_1_depth( std::uint8_t channel, std::uint8_t value ) noexcept
298 constexpr message_t< 3 >
effects_2_depth( std::uint8_t channel, std::uint8_t value ) noexcept
305 constexpr message_t< 3 >
effects_3_depth( std::uint8_t channel, std::uint8_t value ) noexcept
312 constexpr message_t< 3 >
effects_4_depth( std::uint8_t channel, std::uint8_t value ) noexcept
319 constexpr message_t< 3 >
effects_5_depth( std::uint8_t channel, std::uint8_t value ) noexcept
constexpr auto sostenuto
Definition: byte.hpp:77
constexpr auto non_registered_parameter_number_msb
Definition: byte.hpp:86
constexpr message_t< 3 > polymorphic_key_pressure(std::uint8_t channel, std::uint8_t key, std::uint8_t pressure) noexcept
Definition: channel_voice.hpp:33
constexpr message_t< 3 > soft_pedal(std::uint8_t channel, bool on) noexcept
Definition: channel_voice.hpp:232
constexpr std::array< message_t< 3 >, 2 > control_change_lsb_msb(std::uint8_t channel, std::byte control_function_msb, std::byte control_function_lsb, std::uint16_t value)
Definition: channel_voice.hpp:91
constexpr std::array< message_t< 3 >, 2 > general_purpose_controller(std::uint8_t id, std::uint8_t channel, std::uint16_t value) noexcept
Definition: channel_voice.hpp:185
constexpr auto balance_msb
Definition: byte.hpp:57
constexpr auto channel_pressure
Definition: byte.hpp:14
constexpr auto expression_controller_msb
Definition: byte.hpp:61
constexpr auto breath_controller_msb
Definition: byte.hpp:47
constexpr message_t< 3 > effects_1_depth(std::uint8_t channel, std::uint8_t value) noexcept
Definition: channel_voice.hpp:291
constexpr auto channel_volume_msb
Definition: byte.hpp:55
constexpr auto all_sounds_off
Definition: byte.hpp:89
constexpr message_t< 3 > effects_2_depth(std::uint8_t channel, std::uint8_t value) noexcept
Definition: channel_voice.hpp:298
constexpr auto reset_all_controllers
Definition: byte.hpp:90
constexpr auto registered_parameter_number_msb
Definition: byte.hpp:88
constexpr std::array< message_t< 3 >, 2 > expression_controller(std::uint8_t channel, std::uint16_t value) noexcept
Definition: channel_voice.hpp:168
constexpr auto foot_controller_msb
Definition: byte.hpp:49
constexpr std::array< message_t< 3 >, 2 > bank_select(std::uint8_t channel, std::uint16_t bank) noexcept
Definition: channel_voice.hpp:106
constexpr auto effect_control_1_msb
Definition: byte.hpp:63
constexpr message_t< 3 > damper_pedal(std::uint8_t channel, bool on) noexcept
Definition: channel_voice.hpp:217
std::conditional_t< greater_than< number_of_bytes, 0 >::value, std::array< std::byte, number_of_bytes >, std::vector< std::byte > > message_t
Definition: message_type.hpp:18
constexpr auto polymorphic_key_pressure
Definition: byte.hpp:11
#define SEQUENCER_ASSERT(cond)
Definition: assert.hpp:8
constexpr std::array< message_t< 3 >, 2 > modulation_wheel(std::uint8_t channel, std::uint16_t value) noexcept
Definition: channel_voice.hpp:120
constexpr auto program_change
Definition: byte.hpp:13
constexpr message_t< 3 > note_on(std::uint8_t channel, std::uint8_t note, std::uint8_t velocity) noexcept
Definition: channel_voice.hpp:13
constexpr auto lsb(std::byte msb)
Definition: byte.hpp:37
constexpr message_t< 2 > program_change(std::uint8_t channel, std::uint8_t program) noexcept
Definition: channel_voice.hpp:62
constexpr message_t< 3 > all_notes_off(std::uint8_t channel) noexcept
Definition: channel_voice.hpp:267
constexpr message_t< 3 > omni_mode_off(std::uint8_t channel) noexcept
Definition: channel_voice.hpp:273
constexpr message_t< 3 > control_change(std::uint8_t channel, std::byte controller, std::byte value) noexcept
Definition: channel_voice.hpp:44
constexpr std::array< message_t< 3 >, 2 > non_registered_parameter_number(std::uint8_t channel, std::uint16_t value) noexcept
Definition: channel_voice.hpp:199
constexpr message_t< 3 > note_off(std::uint8_t channel, std::uint8_t note, std::uint8_t velocity) noexcept
Definition: channel_voice.hpp:23
constexpr std::array< message_t< 3 >, 2 > balance(std::uint8_t channel, std::uint16_t value) noexcept
Definition: channel_voice.hpp:156
constexpr auto pan_msb
Definition: byte.hpp:59
constexpr message_t< 3 > effects_5_depth(std::uint8_t channel, std::uint8_t value) noexcept
Definition: channel_voice.hpp:319
constexpr auto effects_4_depth
Definition: byte.hpp:83
constexpr auto portamento_time_msb
Definition: byte.hpp:51
constexpr std::array< message_t< 3 >, 2 > portamento_time(std::uint8_t channel, std::uint16_t value) noexcept
Definition: channel_voice.hpp:138
constexpr auto hold_2
Definition: byte.hpp:79
constexpr auto bank_select_msb
Definition: byte.hpp:43
constexpr message_t< 3 > hold_2(std::uint8_t channel, bool on) noexcept
Definition: channel_voice.hpp:237
constexpr auto omni_mode_on
Definition: byte.hpp:94
constexpr message_t< 2 > channel_pressure(std::uint8_t channel, std::uint8_t pressure) noexcept
Definition: channel_voice.hpp:70
constexpr message_t< 3 > effects_4_depth(std::uint8_t channel, std::uint8_t value) noexcept
Definition: channel_voice.hpp:312
constexpr auto data_entry_msb
Definition: byte.hpp:53
constexpr std::array< message_t< 3 >, 2 > breath_controller(std::uint8_t channel, std::uint16_t value) noexcept
Definition: channel_voice.hpp:126
constexpr auto effects_3_depth
Definition: byte.hpp:82
constexpr auto omni_mode_off
Definition: byte.hpp:93
constexpr message_t< 3 > sostenuto(std::uint8_t channel, bool on) noexcept
Definition: channel_voice.hpp:227
constexpr auto local_control
Definition: byte.hpp:91
constexpr auto damper_pedal
Definition: byte.hpp:75
constexpr auto effects_5_depth
Definition: byte.hpp:84
constexpr auto effects_2_depth
Definition: byte.hpp:81
constexpr auto soft_pedal
Definition: byte.hpp:78
constexpr auto general_purpose_controller_1_msb
Definition: byte.hpp:67
Definition: channel_voice.hpp:11
constexpr auto non_registered_parameter_number_lsb
Definition: byte.hpp:85
constexpr message_t< 3 > local_control(std::uint8_t channel, bool on) noexcept
Definition: channel_voice.hpp:260
constexpr std::array< message_t< 3 >, 2 > data_entry(std::uint8_t channel, std::uint16_t value) noexcept
Definition: channel_voice.hpp:144
constexpr auto note_on
Definition: byte.hpp:9
constexpr auto modulation_wheel_msb
Definition: byte.hpp:45
constexpr message_t< 3 > pitch_bend_change(std::uint8_t channel, std::int16_t value) noexcept
Definition: channel_voice.hpp:79
constexpr auto general_purpose_controller_4_msb
Definition: byte.hpp:73
constexpr std::array< message_t< 3 >, 2 > pan(std::uint8_t channel, std::uint16_t value) noexcept
Definition: channel_voice.hpp:162
constexpr std::byte status_byte_for(std::byte status_byte, std::uint8_t channel) noexcept
Definition: util.hpp:16
constexpr auto all_notes_off
Definition: byte.hpp:92
constexpr std::array< message_t< 3 >, 2 > foot_controller(std::uint8_t channel, std::uint16_t value) noexcept
Definition: channel_voice.hpp:132
constexpr auto poly_mode_on
Definition: byte.hpp:95
constexpr std::byte on_off_byte(bool on) noexcept
Definition: channel_voice.hpp:212
constexpr std::pair< std::byte, std::byte > uint16_to_lsb_msb(std::uint16_t value) noexcept
Definition: util.hpp:34
constexpr auto note_off
Definition: byte.hpp:10
constexpr auto pitch_bend_change
Definition: byte.hpp:15
constexpr message_t< 3 > omni_mode_on(std::uint8_t channel) noexcept
Definition: channel_voice.hpp:279
constexpr std::array< message_t< 3 >, 2 > registered_parameter_number(std::uint8_t channel, std::uint16_t value) noexcept
Definition: channel_voice.hpp:206
constexpr std::tuple< message_t< 3 >, message_t< 3 >, message_t< 2 > > bank_select_with_program(std::uint8_t channel, std::uint16_t bank, std::uint8_t program) noexcept
Definition: channel_voice.hpp:113
constexpr auto registered_parameter_number_lsb
Definition: byte.hpp:87
constexpr auto effects_1_depth
Definition: byte.hpp:80
constexpr message_t< 3 > all_sounds_off(std::uint8_t channel) noexcept
Definition: channel_voice.hpp:248
constexpr message_t< 3 > portamento(std::uint8_t channel, bool on) noexcept
Definition: channel_voice.hpp:222
constexpr std::array< message_t< 3 >, 2 > effect_control(std::uint8_t id, std::uint8_t channel, std::uint16_t value) noexcept
Definition: channel_voice.hpp:174
constexpr auto general_purpose_controller_2_msb
Definition: byte.hpp:69
constexpr message_t< 3 > poly_mode_on(std::uint8_t channel) noexcept
Definition: channel_voice.hpp:285
constexpr message_t< 3 > effects_3_depth(std::uint8_t channel, std::uint8_t value) noexcept
Definition: channel_voice.hpp:305
constexpr auto control_change
Definition: byte.hpp:12
constexpr message_t< 3 > reset_all_controllers(std::uint8_t channel) noexcept
Definition: channel_voice.hpp:254
constexpr auto effect_control_2_msb
Definition: byte.hpp:65
constexpr auto general_purpose_controller_3_msb
Definition: byte.hpp:71
constexpr auto portamento
Definition: byte.hpp:76
constexpr std::array< message_t< 3 >, 2 > channel_volume(std::uint8_t channel, std::uint16_t value) noexcept
Definition: channel_voice.hpp:150