1#ifndef LAYER_H_INCLUDED_
2#define LAYER_H_INCLUDED_
One layer of a melodic instrument.
Definition layer.h:82
std::int16_t base_pan
fixed offset of panning adjustment (raw scale: -32 to +31)
Definition layer.h:86
static InstrumentLayer parse(const char *input)
parse a layer specification according to the specication given in the class comment.
static const std::uint8_t endian_remap[]
order of bytes to be sent or received from the big-endian firmware.
Definition layer.h:123
static const std::size_t maxlen
maximum length of patch description returned by format.
Definition layer.h:112
char * format(char *target)
formats the specification as string.
std::uint8_t volume
attenuation of 63.5dB (0) to 0dB (127) given in steps of 0.5dB
Definition layer.h:90
std::uint8_t min_val
minimum (inclusive) of limited key or velocity range, 0 if no limit
Definition layer.h:103
std::uint8_t boost6db
add a fixed 6dB boost to the patch if set.
Definition layer.h:109
std::int16_t pitch
pitch adjustment in 2048th of an octave
Definition layer.h:88
std::uint8_t exists
set if this layer is present
Definition layer.h:92
std::uint8_t max_val
maximim (inclusive) of limited key or velocity range, 127 if no limit
Definition layer.h:107
std::uint8_t pan_mode
parameter used for linear panning adjustment
Definition layer.h:94
static const char *const pan_keyword[]
keywords for the 8 possible linear panning parameters
Definition layer.h:125
std::uint16_t patch
number of the patch to play
Definition layer.h:84
std::uint8_t dispatch_on_velocity
if set, limit on velocity, if clear, limit on key
Definition layer.h:105
std::int8_t pan_scale
scale for linear panning adjustment.
Definition layer.h:101