Tabula Sonora 0.1.0
A native C++20 implementation of the Roland Sound Canvas VA synth voice
Loading...
Searching...
No Matches
ts::RxSwitches Struct Reference

The GS receive switches, one per message class the module can be told to ignore. More...

#include <tabulasonora/part.hpp>

Public Attributes

bool pitch_bend = true
bool channel_pressure = true
bool program_change = true
bool control_change = true
 The master gate every controller shares; the channel-mode messages (CC#120 up) bypass it.
bool poly_pressure = true
bool notes = true
bool rpn = true
bool nrpn = true
bool modulation = true
bool volume = true
bool panpot = true
bool expression = true
bool hold = true
bool portamento = true
bool sostenuto = true
bool soft = true
bool bank_msb = true
 Bank select, split MSB/LSB the way 40 1x 23/24 split it.
bool bank_lsb = true

Detailed Description

The GS receive switches, one per message class the module can be told to ignore.

The engine keeps these as a 16-bit mask at part+0x3d6 and every recovered handler opens with a test against it – cc11_expression requires 0x810, cc64_hold_damper 0x820, and so on. They are named booleans here rather than a mask because nothing needs the packed form: there is no bulk dump to emit, and the SysEx that writes them (40 1x 03-40 1x 12, plus the bank pair at 40 1x 23/24) arrives one switch at a time.

Everything defaults on, which is the GS-reset state.

Member Data Documentation

◆ pitch_bend

bool ts::RxSwitches::pitch_bend = true

◆ channel_pressure

bool ts::RxSwitches::channel_pressure = true

◆ program_change

bool ts::RxSwitches::program_change = true

◆ control_change

bool ts::RxSwitches::control_change = true

The master gate every controller shares; the channel-mode messages (CC#120 up) bypass it.

◆ poly_pressure

bool ts::RxSwitches::poly_pressure = true

◆ notes

bool ts::RxSwitches::notes = true

◆ rpn

bool ts::RxSwitches::rpn = true

◆ nrpn

bool ts::RxSwitches::nrpn = true

◆ modulation

bool ts::RxSwitches::modulation = true

◆ volume

bool ts::RxSwitches::volume = true

◆ panpot

bool ts::RxSwitches::panpot = true

◆ expression

bool ts::RxSwitches::expression = true

◆ hold

bool ts::RxSwitches::hold = true

◆ portamento

bool ts::RxSwitches::portamento = true

◆ sostenuto

bool ts::RxSwitches::sostenuto = true

◆ soft

bool ts::RxSwitches::soft = true

◆ bank_msb

bool ts::RxSwitches::bank_msb = true

Bank select, split MSB/LSB the way 40 1x 23/24 split it.

◆ bank_lsb

bool ts::RxSwitches::bank_lsb = true

The documentation for this struct was generated from the following file: