Deluge Firmware
|
#include <sound.h>
Public Member Functions | |
Sound () | |
virtual ArpeggiatorSettings * | getArpSettings (InstrumentClip *clip=NULL)=0 |
virtual void | setSkippingRendering (bool newSkipping) |
bool | setModFXType (int newType) final |
void | patchedParamPresetValueChanged (uint8_t p, ModelStackWithSoundFlags *modelStack, int32_t oldValue, int32_t newValue) |
void | render (ModelStackWithThreeMainThings *modelStack, StereoSample *outputBuffer, int numSamples, int32_t *reverbBuffer, int32_t sideChainHitPending, int32_t reverbAmountAdjust=134217728, bool shouldLimitDelayFeedback=false, int32_t pitchAdjust=16777216) |
void | unassignAllVoices () |
void | ensureInaccessibleParamPresetValuesWithoutKnobsAreZero (Song *song) final |
void | ensureInaccessibleParamPresetValuesWithoutKnobsAreZero (ModelStackWithThreeMainThings *modelStack) |
void | ensureInaccessibleParamPresetValuesWithoutKnobsAreZeroWithMinimalDetails (ParamManager *paramManager) |
void | ensureParamPresetValueWithoutKnobIsZero (ModelStackWithAutoParam *modelStack) |
void | ensureParamPresetValueWithoutKnobIsZeroWithMinimalDetails (ParamManager *paramManager, int p) |
uint8_t | maySourcePatchToParam (uint8_t s, uint8_t p, ParamManager *paramManager) |
void | setLFOGlobalSyncLevel (uint8_t newLevel) |
void | resyncGlobalLFO () |
void | setLFOGlobalWave (uint8_t newWave) |
int8_t | getKnobPos (uint8_t p, ParamManagerForTimeline *paramManager, uint32_t timePos, TimelineCounter *counter) |
int32_t | getKnobPosBig (int p, ParamManagerForTimeline *paramManager, uint32_t timePos, TimelineCounter *counter) |
bool | learnKnob (MIDIDevice *fromDevice, ParamDescriptor paramDescriptor, uint8_t whichKnob, uint8_t modKnobMode, uint8_t midiChannel, Song *song) final |
bool | hasFilters () |
void | sampleZoneChanged (int markerType, int s, ModelStackWithSoundFlags *modelStack) |
void | setNumUnison (int newNum, ModelStackWithSoundFlags *modelStack) |
void | setUnisonDetune (int newAmount, ModelStackWithSoundFlags *modelStack) |
void | setModulatorTranspose (int m, int value, ModelStackWithSoundFlags *modelStack) |
void | setModulatorCents (int m, int value, ModelStackWithSoundFlags *modelStack) |
int | readFromFile (ModelStackWithModControllable *modelStack, int32_t readAutomationUpToPos, ArpeggiatorSettings *arpSettings) |
void | writeToFile (bool savingSong, ParamManager *paramManager, ArpeggiatorSettings *arpSettings) |
bool | allowNoteTails (ModelStackWithSoundFlags *modelStack, bool disregardSampleLoop=false) |
void | voiceUnassigned (ModelStackWithVoice *modelStack) |
bool | isSourceActiveCurrently (int s, ParamManagerForTimeline *paramManager) |
bool | isSourceActiveEverDisregardingMissingSample (int s, ParamManager *paramManager) |
bool | isSourceActiveEver (int s, ParamManager *paramManager) |
bool | isNoiseActiveEver (ParamManagerForTimeline *paramManager) |
void | noteOn (ModelStackWithThreeMainThings *modelStack, ArpeggiatorBase *arpeggiator, int noteCode, int16_t const *mpeValues, uint32_t sampleSyncLength=0, int32_t ticksLate=0, uint32_t samplesLate=0, int velocity=64, int fromMIDIChannel=16) |
void | allNotesOff (ModelStackWithThreeMainThings *modelStack, ArpeggiatorBase *arpeggiator) |
void | noteOffPostArpeggiator (ModelStackWithSoundFlags *modelStack, int noteCode=-32768) |
void | noteOnPostArpeggiator (ModelStackWithSoundFlags *modelStack, int newNoteCodeBeforeArpeggiation, int newNoteCodeAfterArpeggiation, int velocity, int16_t const *mpeValues, uint32_t sampleSyncLength, int32_t ticksLate, uint32_t samplesLate, int fromMIDIChannel=16) |
int16_t | getMaxOscTranspose (InstrumentClip *clip) |
int16_t | getMinOscTranspose () |
void | setSynthMode (uint8_t value, Song *song) |
uint8_t | getSynthMode () |
bool | anyNoteIsOn () |
virtual bool | isDrum () |
void | setupAsSample (ParamManagerForTimeline *paramManager) |
void | recalculateAllVoicePhaseIncrements (ModelStackWithSoundFlags *modelStack) |
int | loadAllAudioFiles (bool mayActuallyReadFiles) |
bool | envelopeHasSustainCurrently (int e, ParamManagerForTimeline *paramManager) |
bool | envelopeHasSustainEver (int e, ParamManagerForTimeline *paramManager) |
bool | renderingOscillatorSyncCurrently (ParamManagerForTimeline *paramManager) |
bool | renderingOscillatorSyncEver (ParamManager *paramManager) |
bool | hasAnyVoices () |
void | setupAsBlankSynth (ParamManager *paramManager) |
void | setupAsDefaultSynth (ParamManager *paramManager) |
void | modButtonAction (uint8_t whichModButton, bool on, ParamManagerForTimeline *paramManager) final |
bool | modEncoderButtonAction (uint8_t whichModEncoder, bool on, ModelStackWithThreeMainThings *modelStack) final |
int32_t | hasAnyTimeStretchSyncing (ParamManagerForTimeline *paramManager, bool getSampleLength=false, int note=0) |
int32_t | hasCutOrLoopModeSamples (ParamManagerForTimeline *paramManager, int note, bool *anyLooping=NULL) |
bool | hasCutModeSamples (ParamManagerForTimeline *paramManager) |
bool | allowsVeryLateNoteStart (InstrumentClip *clip, ParamManagerForTimeline *paramManager) |
void | fastReleaseAllVoices (ModelStackWithSoundFlags *modelStack) |
void | recalculatePatchingToParam (uint8_t p, ParamManagerForTimeline *paramManager) |
void | doneReadingFromFile () |
virtual void | setupPatchingForAllParamManagers (Song *song) |
void | compensateVolumeForResonance (ModelStackWithThreeMainThings *modelStack) |
ModelStackWithAutoParam * | getParamFromModEncoder (int whichModEncoder, ModelStackWithThreeMainThings *modelStack, bool allowCreation=true) final |
void | reassessRenderSkippingStatus (ModelStackWithSoundFlags *modelStack, bool shouldJustCutModFX=false) |
void | getThingWithMostReverb (Sound **soundWithMostReverb, ParamManager **paramManagerWithMostReverb, GlobalEffectableForClip **globalEffectableWithMostReverb, int32_t *highestReverbAmountFound, ParamManagerForTimeline *paramManager) |
virtual bool | readTagFromFile (char const *tagName)=0 |
void | detachSourcesFromAudioFiles () |
void | confirmNumVoices (char const *error) |
int32_t | getSmoothedPatchedParamValue (int p, ParamManager *paramManager) |
void | notifyValueChangeViaLPF (int p, bool shouldDoParamLPF, ModelStackWithThreeMainThings const *modelStack, int32_t oldValue, int32_t newValue, bool fromAutomation) |
void | deleteMultiRange (int s, int r) |
void | prepareForHibernation () |
void | wontBeRenderedForAWhile () |
char const * | paramToString (uint8_t param) final |
int | stringToParam (char const *string) final |
ModelStackWithAutoParam * | getParamFromMIDIKnob (MIDIKnob *knob, ModelStackWithThreeMainThings *modelStack) final |
virtual ArpeggiatorBase * | getArp ()=0 |
void | possiblySetupDefaultExpressionPatching (ParamManager *paramManager) |
void | saturate (int32_t *data, uint32_t *workingValue) |
![]() | |
ModControllableAudio () | |
virtual | ~ModControllableAudio () |
virtual void | cloneFrom (ModControllableAudio *other) |
void | processStutter (StereoSample *buffer, int numSamples, ParamManager *paramManager) |
void | processReverbSendAndVolume (StereoSample *buffer, int numSamples, int32_t *reverbBuffer, int32_t postFXVolume, int32_t postReverbVolume, int32_t reverbSendAmount, int32_t pan=0, bool doAmplitudeIncrement=false, int32_t amplitudeIncrement=0) |
void | writeAttributesToFile () |
void | writeTagsToFile () |
int | readTagFromFile (char const *tagName, ParamManagerForTimeline *paramManager, int32_t readAutomationUpToPos, Song *song) |
void | processSRRAndBitcrushing (StereoSample *buffer, int numSamples, int32_t *postFXVolume, ParamManager *paramManager) |
void | wontBeRenderedForAWhile () |
void | endStutter (ParamManagerForTimeline *paramManager) |
virtual bool | setModFXType (int newType) |
bool | offerReceivedCCToLearnedParams (MIDIDevice *fromDevice, uint8_t channel, uint8_t ccNumber, uint8_t value, ModelStackWithTimelineCounter *modelStack, int noteRowIndex=-1) |
bool | offerReceivedPitchBendToLearnedParams (MIDIDevice *fromDevice, uint8_t channel, uint8_t data1, uint8_t data2, ModelStackWithTimelineCounter *modelStack, int noteRowIndex=-1) |
virtual bool | learnKnob (MIDIDevice *fromDevice, ParamDescriptor paramDescriptor, uint8_t whichKnob, uint8_t modKnobMode, uint8_t midiChannel, Song *song) |
bool | unlearnKnobs (ParamDescriptor paramDescriptor, Song *song) |
virtual void | ensureInaccessibleParamPresetValuesWithoutKnobsAreZero (Song *song) |
virtual char const * | paramToString (uint8_t param) |
virtual int | stringToParam (char const *string) |
bool | isBitcrushingEnabled (ParamManager *paramManager) |
bool | isSRREnabled (ParamManager *paramManager) |
bool | hasBassAdjusted (ParamManager *paramManager) |
bool | hasTrebleAdjusted (ParamManager *paramManager) |
ModelStackWithAutoParam * | getParamFromMIDIKnob (MIDIKnob *knob, ModelStackWithThreeMainThings *modelStack) |
int | buttonAction (int x, int y, bool on, ModelStackWithThreeMainThings *modelStack) |
ModelStackWithAutoParam * | getParamFromModEncoder (int whichModEncoder, ModelStackWithThreeMainThings *modelStack, bool allowCreation) |
![]() | |
ModControllable () | |
virtual bool | modEncoderButtonAction (uint8_t whichModEncoder, bool on, ModelStackWithThreeMainThings *modelStack) |
virtual void | modButtonAction (uint8_t whichModButton, bool on, ParamManagerForTimeline *paramManager) |
virtual ModelStackWithAutoParam * | getParamFromModEncoder (int whichModEncoder, ModelStackWithThreeMainThings *modelStack, bool allowCreation=true) |
virtual ModelStackWithAutoParam * | getParamFromMIDIKnob (MIDIKnob *knob, ModelStackWithThreeMainThings *modelStack) |
virtual uint8_t * | getModKnobMode () |
virtual bool | isKit () |
virtual int | getKnobPosForNonExistentParam (int whichModEncoder, ModelStackWithAutoParam *modelStack) |
virtual int | modEncoderActionForNonExistentParam (int offset, int whichModEncoder, ModelStackWithAutoParam *modelStack) |
virtual bool | allowNoteTails (ModelStackWithSoundFlags *modelStack, bool disregardSampleLoop=false) |
virtual void | polyphonicExpressionEventOnChannelOrNote (int newValue, int whichExpressionDimension, int channelOrNoteNumber, int whichCharacteristic) |
virtual void | monophonicExpressionEvent (int newValue, int whichExpressionDimension) |
Static Public Member Functions | |
static void | writeParamsToFile (ParamManager *paramManager, bool writeAutomation) |
static void | readParamsFromFile (ParamManagerForTimeline *paramManager, int32_t readAutomationUpToPos) |
static bool | readParamTagFromFile (char const *tagName, ParamManagerForTimeline *paramManager, int32_t readAutomationUpToPos) |
static void | initParams (ParamManager *paramManager) |
static int | createParamManagerForLoading (ParamManagerForTimeline *paramManager) |
![]() | |
static void | writeParamAttributesToFile (ParamManager *paramManager, bool writeAutomation, int32_t *valuesForOverride=NULL) |
static void | writeParamTagsToFile (ParamManager *paramManager, bool writeAutomation, int32_t *valuesForOverride=NULL) |
static bool | readParamTagFromFile (char const *tagName, ParamManagerForTimeline *paramManager, int32_t readAutomationUpToPos) |
static void | initParams (ParamManager *paramManager) |
Additional Inherited Members | |
![]() | |
void | processFX (StereoSample *buffer, int numSamples, int modFXType, int32_t modFXRate, int32_t modFXDepth, DelayWorkingState *delayWorkingState, int32_t *postFXVolume, ParamManager *paramManager, int analogDelaySaturationAmount) |
int32_t | getStutterRate (ParamManager *paramManager) |
void | beginStutter (ParamManagerForTimeline *paramManager) |
void | switchDelayPingPong () |
void | switchDelayAnalog () |
void | switchLPFMode () |
void | clearModFXMemory () |
Sound::Sound | ( | ) |
void Sound::allNotesOff | ( | ModelStackWithThreeMainThings * | modelStack, |
ArpeggiatorBase * | arpeggiator | ||
) |
|
virtual |
Reimplemented from ModControllable.
Reimplemented in SoundDrum.
bool Sound::allowsVeryLateNoteStart | ( | InstrumentClip * | clip, |
ParamManagerForTimeline * | paramManager | ||
) |
bool Sound::anyNoteIsOn | ( | ) |
void Sound::compensateVolumeForResonance | ( | ModelStackWithThreeMainThings * | modelStack | ) |
void Sound::confirmNumVoices | ( | char const * | error | ) |
|
static |
void Sound::deleteMultiRange | ( | int | s, |
int | r | ||
) |
void Sound::detachSourcesFromAudioFiles | ( | ) |
void Sound::doneReadingFromFile | ( | ) |
void Sound::ensureInaccessibleParamPresetValuesWithoutKnobsAreZero | ( | ModelStackWithThreeMainThings * | modelStack | ) |
|
finalvirtual |
Reimplemented from ModControllableAudio.
void Sound::ensureInaccessibleParamPresetValuesWithoutKnobsAreZeroWithMinimalDetails | ( | ParamManager * | paramManager | ) |
void Sound::ensureParamPresetValueWithoutKnobIsZero | ( | ModelStackWithAutoParam * | modelStack | ) |
void Sound::ensureParamPresetValueWithoutKnobIsZeroWithMinimalDetails | ( | ParamManager * | paramManager, |
int | p | ||
) |
bool Sound::envelopeHasSustainCurrently | ( | int | e, |
ParamManagerForTimeline * | paramManager | ||
) |
bool Sound::envelopeHasSustainEver | ( | int | e, |
ParamManagerForTimeline * | paramManager | ||
) |
void Sound::fastReleaseAllVoices | ( | ModelStackWithSoundFlags * | modelStack | ) |
|
pure virtual |
Implemented in SoundDrum, and SoundInstrument.
|
pure virtual |
Implemented in SoundDrum, and SoundInstrument.
int8_t Sound::getKnobPos | ( | uint8_t | p, |
ParamManagerForTimeline * | paramManager, | ||
uint32_t | timePos, | ||
TimelineCounter * | counter | ||
) |
int32_t Sound::getKnobPosBig | ( | int | p, |
ParamManagerForTimeline * | paramManager, | ||
uint32_t | timePos, | ||
TimelineCounter * | counter | ||
) |
int16_t Sound::getMaxOscTranspose | ( | InstrumentClip * | clip | ) |
int16_t Sound::getMinOscTranspose | ( | ) |
|
finalvirtual |
Reimplemented from ModControllableAudio.
|
finalvirtual |
Reimplemented from ModControllableAudio.
|
inline |
|
inline |
void Sound::getThingWithMostReverb | ( | Sound ** | soundWithMostReverb, |
ParamManager ** | paramManagerWithMostReverb, | ||
GlobalEffectableForClip ** | globalEffectableWithMostReverb, | ||
int32_t * | highestReverbAmountFound, | ||
ParamManagerForTimeline * | paramManager | ||
) |
int32_t Sound::hasAnyTimeStretchSyncing | ( | ParamManagerForTimeline * | paramManager, |
bool | getSampleLength = false , |
||
int | note = 0 |
||
) |
bool Sound::hasAnyVoices | ( | ) |
bool Sound::hasCutModeSamples | ( | ParamManagerForTimeline * | paramManager | ) |
int32_t Sound::hasCutOrLoopModeSamples | ( | ParamManagerForTimeline * | paramManager, |
int | note, | ||
bool * | anyLooping = NULL |
||
) |
bool Sound::hasFilters | ( | ) |
|
static |
|
inlinevirtual |
Reimplemented in SoundDrum.
bool Sound::isNoiseActiveEver | ( | ParamManagerForTimeline * | paramManager | ) |
bool Sound::isSourceActiveCurrently | ( | int | s, |
ParamManagerForTimeline * | paramManager | ||
) |
bool Sound::isSourceActiveEver | ( | int | s, |
ParamManager * | paramManager | ||
) |
bool Sound::isSourceActiveEverDisregardingMissingSample | ( | int | s, |
ParamManager * | paramManager | ||
) |
|
finalvirtual |
Reimplemented from ModControllableAudio.
int Sound::loadAllAudioFiles | ( | bool | mayActuallyReadFiles | ) |
uint8_t Sound::maySourcePatchToParam | ( | uint8_t | s, |
uint8_t | p, | ||
ParamManager * | paramManager | ||
) |
|
finalvirtual |
Reimplemented from ModControllable.
|
finalvirtual |
Reimplemented from ModControllable.
void Sound::noteOffPostArpeggiator | ( | ModelStackWithSoundFlags * | modelStack, |
int | noteCode = -32768 |
||
) |
void Sound::noteOn | ( | ModelStackWithThreeMainThings * | modelStack, |
ArpeggiatorBase * | arpeggiator, | ||
int | noteCode, | ||
int16_t const * | mpeValues, | ||
uint32_t | sampleSyncLength = 0 , |
||
int32_t | ticksLate = 0 , |
||
uint32_t | samplesLate = 0 , |
||
int | velocity = 64 , |
||
int | fromMIDIChannel = 16 |
||
) |
void Sound::noteOnPostArpeggiator | ( | ModelStackWithSoundFlags * | modelStack, |
int | newNoteCodeBeforeArpeggiation, | ||
int | newNoteCodeAfterArpeggiation, | ||
int | velocity, | ||
int16_t const * | mpeValues, | ||
uint32_t | sampleSyncLength, | ||
int32_t | ticksLate, | ||
uint32_t | samplesLate, | ||
int | fromMIDIChannel = 16 |
||
) |
void Sound::notifyValueChangeViaLPF | ( | int | p, |
bool | shouldDoParamLPF, | ||
ModelStackWithThreeMainThings const * | modelStack, | ||
int32_t | oldValue, | ||
int32_t | newValue, | ||
bool | fromAutomation | ||
) |
|
finalvirtual |
Reimplemented from ModControllableAudio.
void Sound::patchedParamPresetValueChanged | ( | uint8_t | p, |
ModelStackWithSoundFlags * | modelStack, | ||
int32_t | oldValue, | ||
int32_t | newValue | ||
) |
void Sound::possiblySetupDefaultExpressionPatching | ( | ParamManager * | paramManager | ) |
void Sound::prepareForHibernation | ( | ) |
int Sound::readFromFile | ( | ModelStackWithModControllable * | modelStack, |
int32_t | readAutomationUpToPos, | ||
ArpeggiatorSettings * | arpSettings | ||
) |
|
static |
|
static |
|
pure virtual |
Implemented in SoundDrum, and SoundInstrument.
void Sound::reassessRenderSkippingStatus | ( | ModelStackWithSoundFlags * | modelStack, |
bool | shouldJustCutModFX = false |
||
) |
void Sound::recalculateAllVoicePhaseIncrements | ( | ModelStackWithSoundFlags * | modelStack | ) |
void Sound::recalculatePatchingToParam | ( | uint8_t | p, |
ParamManagerForTimeline * | paramManager | ||
) |
void Sound::render | ( | ModelStackWithThreeMainThings * | modelStack, |
StereoSample * | outputBuffer, | ||
int | numSamples, | ||
int32_t * | reverbBuffer, | ||
int32_t | sideChainHitPending, | ||
int32_t | reverbAmountAdjust = 134217728 , |
||
bool | shouldLimitDelayFeedback = false , |
||
int32_t | pitchAdjust = 16777216 |
||
) |
bool Sound::renderingOscillatorSyncCurrently | ( | ParamManagerForTimeline * | paramManager | ) |
bool Sound::renderingOscillatorSyncEver | ( | ParamManager * | paramManager | ) |
void Sound::resyncGlobalLFO | ( | ) |
void Sound::sampleZoneChanged | ( | int | markerType, |
int | s, | ||
ModelStackWithSoundFlags * | modelStack | ||
) |
|
inline |
void Sound::setLFOGlobalSyncLevel | ( | uint8_t | newLevel | ) |
void Sound::setLFOGlobalWave | ( | uint8_t | newWave | ) |
|
finalvirtual |
Reimplemented from ModControllableAudio.
void Sound::setModulatorCents | ( | int | m, |
int | value, | ||
ModelStackWithSoundFlags * | modelStack | ||
) |
void Sound::setModulatorTranspose | ( | int | m, |
int | value, | ||
ModelStackWithSoundFlags * | modelStack | ||
) |
void Sound::setNumUnison | ( | int | newNum, |
ModelStackWithSoundFlags * | modelStack | ||
) |
|
virtual |
Reimplemented in SoundDrum.
void Sound::setSynthMode | ( | uint8_t | value, |
Song * | song | ||
) |
void Sound::setUnisonDetune | ( | int | newAmount, |
ModelStackWithSoundFlags * | modelStack | ||
) |
void Sound::setupAsBlankSynth | ( | ParamManager * | paramManager | ) |
void Sound::setupAsDefaultSynth | ( | ParamManager * | paramManager | ) |
void Sound::setupAsSample | ( | ParamManagerForTimeline * | paramManager | ) |
|
inlinevirtual |
Reimplemented in SoundDrum, and SoundInstrument.
|
finalvirtual |
Reimplemented from ModControllableAudio.
void Sound::unassignAllVoices | ( | ) |
void Sound::voiceUnassigned | ( | ModelStackWithVoice * | modelStack | ) |
void Sound::wontBeRenderedForAWhile | ( | ) |
|
static |
void Sound::writeToFile | ( | bool | savingSong, |
ParamManager * | paramManager, | ||
ArpeggiatorSettings * | arpSettings | ||
) |
LFO Sound::globalLFO |
int32_t Sound::globalSourceValues[FIRST_LOCAL_SOURCE] |
int Sound::lastNoteCode |
uint8_t Sound::lfoGlobalSyncLevel |
uint8_t Sound::lfoGlobalWaveType |
uint8_t Sound::lfoLocalWaveType |
ModKnob Sound::modKnobs[NUM_MOD_BUTTONS][NUM_PHYSICAL_MOD_KNOBS] |
bool Sound::modulator1ToModulator0 |
int8_t Sound::modulatorCents[numModulators] |
uint32_t Sound::modulatorRetriggerPhase[numModulators] |
int16_t Sound::modulatorTranspose[numModulators] |
PhaseIncrementFineTuner Sound::modulatorTransposers[numModulators] |
int32_t Sound::monophonicExpressionValues[NUM_EXPRESSION_DIMENSIONS] |
uint32_t Sound::numSamplesSkippedRenderingForGlobalLFO |
uint8_t Sound::numUnison |
int Sound::numVoicesAssigned |
bool Sound::oscillatorSync |
uint32_t Sound::oscRetriggerPhase[NUM_SOURCES] |
int32_t Sound::paramFinalValues[NUM_PARAMS - FIRST_GLOBAL_PARAM] |
ParamLPF Sound::paramLPF |
Patcher Sound::patcher |
uint8_t Sound::polyphonic |
int32_t Sound::postReverbVolumeLastTime |
int32_t Sound::sideChainSendLevel |
bool Sound::skippingRendering |
Source Sound::sources[NUM_SOURCES] |
uint32_t Sound::sourcesChanged |
uint32_t Sound::startSkippingRenderingAtTime |
uint8_t Sound::synthMode |
uint32_t Sound::timeStartedSkippingRenderingArp |
uint32_t Sound::timeStartedSkippingRenderingLFO |
uint32_t Sound::timeStartedSkippingRenderingModFX |
int16_t Sound::transpose |
int8_t Sound::unisonDetune |
PhaseIncrementFineTuner Sound::unisonDetuners[maxNumUnison] |
uint8_t Sound::voicePriority |
int32_t Sound::volumeNeutralValueForUnison |
uint8_t Sound::whichExpressionSourcesChangedAtSynthLevel |