|
Tabula Sonora 0.1.0
A native C++20 implementation of the Roland Sound Canvas VA synth voice
|
Turns a flat event list into per-part controller timelines and a note list. More...
Functions | |
| Sequence | build (std::span< const MidiEvent > events) |
| Builds a sequence from a flat event list, ordered by position. | |
| constexpr int | channel_from_block (int block) noexcept |
| Converts a GS block number to a MIDI channel. | |
Variables | |
| constexpr int | default_volume = 100 |
| Power-on volume after a GM or GS reset. | |
| constexpr int | default_expression = 127 |
| Power-on expression. | |
| constexpr int | default_pan = 64 |
| Power-on pan. | |
| constexpr int | default_master = 127 |
| Power-on master volume. | |
| constexpr int | default_reverb_send = 40 |
| GM default reverb send. | |
| constexpr int | default_chorus_send = 0 |
| GM default chorus send. | |
Turns a flat event list into per-part controller timelines and a note list.
The engine has no MIDI output, so nothing can be read back from it: every piece of channel state has to be tracked here.
Builds a sequence from a flat event list, ordered by position.
|
nodiscardconstexprnoexcept |
Converts a GS block number to a MIDI channel.
The block number is not the channel: block 0 is channel 9 (the drum part), blocks 1–9 are channels 0–8, and blocks 10–15 map straight through.
|
inlineconstexpr |
Power-on volume after a GM or GS reset.
|
inlineconstexpr |
Power-on expression.
|
inlineconstexpr |
Power-on pan.
|
inlineconstexpr |
Power-on master volume.
|
inlineconstexpr |
GM default reverb send.
|
inlineconstexpr |
GM default chorus send.