![]() |
Deluge Firmware 1.3.0
Build date: 2025.04.16
|
Typedefs | |
using | ParamType = uint8_t |
Enumerations | |
enum class | Kind : int32_t { NONE , PATCHED , UNPATCHED_SOUND , UNPATCHED_GLOBAL , STATIC , MIDI , PATCH_CABLE , EXPRESSION } |
enum | Local : ParamType { LOCAL_OSC_A_VOLUME , LOCAL_OSC_B_VOLUME , LOCAL_VOLUME , LOCAL_NOISE_VOLUME , LOCAL_MODULATOR_0_VOLUME , LOCAL_MODULATOR_1_VOLUME , LOCAL_FOLD , FIRST_LOCAL_NON_VOLUME , LOCAL_MODULATOR_0_FEEDBACK = FIRST_LOCAL_NON_VOLUME , LOCAL_MODULATOR_1_FEEDBACK , LOCAL_CARRIER_0_FEEDBACK , LOCAL_CARRIER_1_FEEDBACK , LOCAL_LPF_RESONANCE , LOCAL_HPF_RESONANCE , LOCAL_ENV_0_SUSTAIN , LOCAL_ENV_1_SUSTAIN , LOCAL_ENV_2_SUSTAIN , LOCAL_ENV_3_SUSTAIN , LOCAL_LPF_MORPH , LOCAL_HPF_MORPH , FIRST_LOCAL__HYBRID , LOCAL_OSC_A_PHASE_WIDTH = FIRST_LOCAL__HYBRID , LOCAL_OSC_B_PHASE_WIDTH , LOCAL_OSC_A_WAVE_INDEX , LOCAL_OSC_B_WAVE_INDEX , LOCAL_PAN , FIRST_LOCAL_EXP , LOCAL_LPF_FREQ = FIRST_LOCAL_EXP , LOCAL_PITCH_ADJUST , LOCAL_OSC_A_PITCH_ADJUST , LOCAL_OSC_B_PITCH_ADJUST , LOCAL_MODULATOR_0_PITCH_ADJUST , LOCAL_MODULATOR_1_PITCH_ADJUST , LOCAL_HPF_FREQ , LOCAL_LFO_LOCAL_FREQ_1 , LOCAL_LFO_LOCAL_FREQ_2 , LOCAL_ENV_0_ATTACK , LOCAL_ENV_1_ATTACK , LOCAL_ENV_2_ATTACK , LOCAL_ENV_3_ATTACK , LOCAL_ENV_0_DECAY , LOCAL_ENV_1_DECAY , LOCAL_ENV_2_DECAY , LOCAL_ENV_3_DECAY , LOCAL_ENV_0_RELEASE , LOCAL_ENV_1_RELEASE , LOCAL_ENV_2_RELEASE , LOCAL_ENV_3_RELEASE , LOCAL_LAST } |
"Local" patched params, which apply to individual voices within the sound More... | |
enum | Global : ParamType { FIRST_GLOBAL = LOCAL_LAST , GLOBAL_VOLUME_POST_FX = FIRST_GLOBAL , GLOBAL_VOLUME_POST_REVERB_SEND , GLOBAL_REVERB_AMOUNT , GLOBAL_MOD_FX_DEPTH , FIRST_GLOBAL_NON_VOLUME , GLOBAL_DELAY_FEEDBACK = FIRST_GLOBAL_NON_VOLUME , FIRST_GLOBAL_HYBRID , FIRST_GLOBAL_EXP = FIRST_GLOBAL_HYBRID , GLOBAL_DELAY_RATE = FIRST_GLOBAL_EXP , GLOBAL_MOD_FX_RATE , GLOBAL_LFO_FREQ_1 , GLOBAL_LFO_FREQ_2 , GLOBAL_ARP_RATE , GLOBAL_NONE } |
enum | Placeholder : ParamType { PLACEHOLDER_RANGE = 89 } |
Fake param IDs for use when loading old presets. More... | |
enum | UnpatchedShared : ParamType { UNPATCHED_STUTTER_RATE , UNPATCHED_BASS , UNPATCHED_TREBLE , UNPATCHED_BASS_FREQ , UNPATCHED_TREBLE_FREQ , UNPATCHED_SAMPLE_RATE_REDUCTION , UNPATCHED_BITCRUSHING , UNPATCHED_MOD_FX_OFFSET , UNPATCHED_MOD_FX_FEEDBACK , UNPATCHED_SIDECHAIN_SHAPE , UNPATCHED_COMPRESSOR_THRESHOLD , UNPATCHED_FIRST_ARP_PARAM , UNPATCHED_ARP_GATE = UNPATCHED_FIRST_ARP_PARAM , UNPATCHED_ARP_RHYTHM , UNPATCHED_ARP_SEQUENCE_LENGTH , UNPATCHED_ARP_CHORD_POLYPHONY , UNPATCHED_ARP_RATCHET_AMOUNT , UNPATCHED_NOTE_PROBABILITY , UNPATCHED_REVERSE_PROBABILITY , UNPATCHED_ARP_BASS_PROBABILITY , UNPATCHED_ARP_CHORD_PROBABILITY , UNPATCHED_ARP_RATCHET_PROBABILITY , UNPATCHED_ARP_SPREAD_GATE , UNPATCHED_ARP_SPREAD_OCTAVE , UNPATCHED_SPREAD_VELOCITY , UNPATCHED_LAST_ARP_PARAM , UNPATCHED_NUM_SHARED = UNPATCHED_LAST_ARP_PARAM } |
enum | UnpatchedSound : ParamType { UNPATCHED_PORTAMENTO = UNPATCHED_NUM_SHARED , UNPATCHED_SOUND_MAX_NUM } |
Unpatched params which are only used for Sounds. | |
enum | UnpatchedGlobal : ParamType { UNPATCHED_MOD_FX_RATE = UNPATCHED_NUM_SHARED , UNPATCHED_MOD_FX_DEPTH , UNPATCHED_DELAY_RATE , UNPATCHED_DELAY_AMOUNT , UNPATCHED_ARP_RATE , UNPATCHED_PAN , UNPATCHED_LPF_FREQ , UNPATCHED_LPF_RES , UNPATCHED_LPF_MORPH , UNPATCHED_HPF_FREQ , UNPATCHED_HPF_RES , UNPATCHED_HPF_MORPH , UNPATCHED_REVERB_SEND_AMOUNT , UNPATCHED_VOLUME , UNPATCHED_SIDECHAIN_VOLUME , UNPATCHED_PITCH_ADJUST , UNPATCHED_TEMPO , UNPATCHED_GLOBAL_MAX_NUM } |
Just for GlobalEffectables. | |
enum | Static : ParamType { STATIC_SIDECHAIN_ATTACK = STATIC_START , STATIC_SIDECHAIN_RELEASE , STATIC_SIDECHAIN_VOLUME } |
Functions | |
bool | isParamBipolar (Kind kind, int32_t paramID) |
bool | isParamPan (Kind kind, int32_t paramID) |
bool | isParamArpRhythm (Kind kind, int32_t paramID) |
bool | isParamPitch (Kind kind, int32_t paramID) |
bool | isParamPitchBend (Kind kind, int32_t paramID) |
bool | isParamStutter (Kind kind, int32_t paramID) |
bool | isParamQuantizedStutter (Kind kind, int32_t paramID, ModControllableAudio *modControllableAudio) |
bool | isVibratoPatchCableShortcut (int32_t xDisplay, int32_t yDisplay) |
bool | isSidechainPatchCableShortcut (int32_t xDisplay, int32_t yDisplay) |
bool | isPatchCableShortcut (int32_t xDisplay, int32_t yDisplay) |
void | getPatchCableFromShortcut (int32_t xDisplay, int32_t yDisplay, ParamDescriptor *paramDescriptor) |
char const * | getPatchedParamShortName (ParamType type) |
Get the short version of a param name, for use in the OLED mod matrix display (maximum 10 characters) | |
char const * | getPatchedParamDisplayName (int32_t p) |
char const * | getParamDisplayName (Kind kind, int32_t p) |
bool | paramNeedsLPF (ParamType p, bool fromAutomation) |
constexpr char const * | paramNameForFileConst (Kind const kind, ParamType const param) |
char const * | paramNameForFile (Kind const kind, ParamType const param) |
constexpr ParamType | fileStringToParamConst (Kind kind, char const *name, bool allowPatched) |
ParamType | fileStringToParam (Kind kind, char const *name, bool allowPatched) |
uint32_t | expressionParamFromShortcut (int x, int y) |
constexpr bool | validateParams () |
Variables | |
constexpr ParamType | UNPATCHED_START = 90 |
constexpr ParamType | STATIC_START = 162 |
constexpr ParamType | PATCH_CABLE = 190 |
Special case for representing patch cables. | |
constexpr ParamType | kNumParams = GLOBAL_NONE |
None is the last global param, 0 indexed so it's also the number of patched params. | |
constexpr ParamType | kMaxNumUnpatchedParams |
constexpr ParamType | kUnpatchedAndPatchedMaximum = kMaxNumUnpatchedParams + UNPATCHED_START |
constexpr uint32_t | kNoParamID = 0xFFFFFFFF |
Magic number which represents an invalid or missing param type. | |
const uint32_t | patchedParamShortcuts [kDisplayWidth][kDisplayHeight] |
const uint32_t | unpatchedNonGlobalParamShortcuts [kDisplayWidth][kDisplayHeight] |
const uint32_t | unpatchedGlobalParamShortcuts [kDisplayWidth][kDisplayHeight] |
"Param"s are at the heart of the Deluge's modulation capabilities.
Each Param is identified by its Kind and its Type. The Kind identifies how the numeric value of the Type should be interpreted.
Params have 4 separate modes via which they can be combined:
using deluge::modulation::params::ParamType = uint8_t |
Integer type used for all Param enumerations.
Should be as small as possible for efficiency. Some things might also depend on this being exactly uint8_t, so try to audit for that if you need to change it.
"Global" patched params, which apply to the whole sound. ANY TIME YOU UPDATE THIS LIST, please also update getParamDisplayName and paramNameForFile!
|
strong |
Enumerator | |
---|---|
PATCHED | Voice-local parameters which can be modulated via the mod matrix. |
UNPATCHED_SOUND | Parameters which apply to the internal sound engine specifically. |
UNPATCHED_GLOBAL | Parameters which can not be modulated and apply to the whole Output. |
STATIC | Unused. |
MIDI | Internal representation for MIDI CCs. |
PATCH_CABLE | Modulates the strength of the modulation between a mod source and another param. |
EXPRESSION | Parameter connected to an MPE expression axis. |
"Local" patched params, which apply to individual voices within the sound
Enumerator | |
---|---|
LOCAL_LAST | Special value used to chain in to the Global params. |
IDs for UNPATCHED_* params, for all ModControllables. This is the prefix of UNPATCHED params shared between Sounds and GlobalEffectables. ANY TIME YOU UPDATE THIS LIST! paramNameForFile() in param.cpp
Enumerator | |
---|---|
UNPATCHED_NUM_SHARED | Special value for chaining the UNPATCHED_* params. |
Convert a ParamType (along with its Kind) in to a string suitable for use as an XML attribute name.
This handles Param::Local and Param::Unpatched. If an Param::Unpatched is passed for param, it must be offset by UNPATCHED_START. The Kind is used to distinguish between UNPATCHED_Sound (when kind == UNPATCHED_SOUND) and UNPATCHED_GlobalEffectable (when kind == UNPATCHED_GLOBAL) as these two sub-ranges would otherwise overlap.
|
constexpr |
|
constexpr |
The absolute highest param number used by patched or unpatched params
fileStrongToParam uses this to iterate over all known parameters.
const uint32_t deluge::modulation::params::patchedParamShortcuts[kDisplayWidth][kDisplayHeight] |
Grid sized array (patched param version) to assign automatable parameters to the grid used in automation view and in midi follow
|
constexpr |
Offset to use for the start of unpatched params when patched and unpatched params need to be compressed in to a single array.
const uint32_t deluge::modulation::params::unpatchedGlobalParamShortcuts[kDisplayWidth][kDisplayHeight] |
Grid sized array (unpatched, global) to assign automatable parameters to the grid used in automation view and in midi follow
const uint32_t deluge::modulation::params::unpatchedNonGlobalParamShortcuts[kDisplayWidth][kDisplayHeight] |
Grid sized array (unpatched, non-global) to assign automatable parameters to the grid used in automation view and in midi follow