Deluge Firmware
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Sound Class Referenceabstract

#include <sound.h>

Inheritance diagram for Sound:
Inheritance graph
Collaboration diagram for Sound:
Collaboration graph

Public Member Functions

 Sound ()
 
virtual ArpeggiatorSettingsgetArpSettings (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)
 
ModelStackWithAutoParamgetParamFromModEncoder (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
 
ModelStackWithAutoParamgetParamFromMIDIKnob (MIDIKnob *knob, ModelStackWithThreeMainThings *modelStack) final
 
virtual ArpeggiatorBasegetArp ()=0
 
void possiblySetupDefaultExpressionPatching (ParamManager *paramManager)
 
void saturate (int32_t *data, uint32_t *workingValue)
 
- Public Member Functions inherited from ModControllableAudio
 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)
 
ModelStackWithAutoParamgetParamFromMIDIKnob (MIDIKnob *knob, ModelStackWithThreeMainThings *modelStack)
 
int buttonAction (int x, int y, bool on, ModelStackWithThreeMainThings *modelStack)
 
ModelStackWithAutoParamgetParamFromModEncoder (int whichModEncoder, ModelStackWithThreeMainThings *modelStack, bool allowCreation)
 
- Public Member Functions inherited from ModControllable
 ModControllable ()
 
virtual bool modEncoderButtonAction (uint8_t whichModEncoder, bool on, ModelStackWithThreeMainThings *modelStack)
 
virtual void modButtonAction (uint8_t whichModButton, bool on, ParamManagerForTimeline *paramManager)
 
virtual ModelStackWithAutoParamgetParamFromModEncoder (int whichModEncoder, ModelStackWithThreeMainThings *modelStack, bool allowCreation=true)
 
virtual ModelStackWithAutoParamgetParamFromMIDIKnob (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 Public Member Functions inherited from ModControllableAudio
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)
 

Public Attributes

Patcher patcher
 
ParamLPF paramLPF
 
Source sources [NUM_SOURCES]
 
int32_t paramFinalValues [NUM_PARAMS - FIRST_GLOBAL_PARAM]
 
int32_t globalSourceValues [FIRST_LOCAL_SOURCE]
 
uint32_t sourcesChanged
 
LFO globalLFO
 
uint8_t lfoGlobalWaveType
 
uint8_t lfoLocalWaveType
 
uint8_t lfoGlobalSyncLevel
 
ModKnob modKnobs [NUM_MOD_BUTTONS][NUM_PHYSICAL_MOD_KNOBS]
 
int32_t sideChainSendLevel
 
uint8_t polyphonic
 
int16_t transpose
 
uint8_t numUnison
 
int8_t unisonDetune
 
int16_t modulatorTranspose [numModulators]
 
int8_t modulatorCents [numModulators]
 
PhaseIncrementFineTuner modulatorTransposers [numModulators]
 
PhaseIncrementFineTuner unisonDetuners [maxNumUnison]
 
uint8_t synthMode
 
bool modulator1ToModulator0
 
int32_t volumeNeutralValueForUnison
 
int lastNoteCode
 
bool oscillatorSync
 
uint8_t voicePriority
 
bool skippingRendering
 
uint8_t whichExpressionSourcesChangedAtSynthLevel
 
int32_t monophonicExpressionValues [NUM_EXPRESSION_DIMENSIONS]
 
uint32_t oscRetriggerPhase [NUM_SOURCES]
 
uint32_t modulatorRetriggerPhase [numModulators]
 
int32_t postReverbVolumeLastTime
 
uint32_t numSamplesSkippedRenderingForGlobalLFO
 
uint32_t timeStartedSkippingRenderingModFX
 
uint32_t timeStartedSkippingRenderingLFO
 
uint32_t timeStartedSkippingRenderingArp
 
uint32_t startSkippingRenderingAtTime
 
int numVoicesAssigned
 
- Public Attributes inherited from ModControllableAudio
StereoSample phaserMemory
 
StereoSample allpassMemory [PHASER_NUM_ALLPASS_FILTERS]
 
int32_t bassFreq
 
int32_t trebleFreq
 
int32_t withoutTrebleL
 
int32_t bassOnlyL
 
int32_t withoutTrebleR
 
int32_t bassOnlyR
 
Delay delay
 
bool sampleRateReductionOnLastTime
 
uint8_t clippingAmount
 
uint8_t lpfMode
 
uint8_t modFXType
 
StereoSamplemodFXBuffer
 
uint16_t modFXBufferWriteIndex
 
LFO modFXLFO
 
Stutterer stutterer
 
uint32_t lowSampleRatePos
 
uint32_t highSampleRatePos
 
StereoSample lastSample
 
StereoSample grabbedSample
 
StereoSample lastGrabbedSample
 
Compressor compressor
 
MidiKnobArray midiKnobArray
 

Additional Inherited Members

- Protected Member Functions inherited from ModControllableAudio
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 ()
 

Constructor & Destructor Documentation

◆ Sound()

Sound::Sound ( )

Member Function Documentation

◆ allNotesOff()

void Sound::allNotesOff ( ModelStackWithThreeMainThings modelStack,
ArpeggiatorBase arpeggiator 
)

◆ allowNoteTails()

bool Sound::allowNoteTails ( ModelStackWithSoundFlags modelStack,
bool  disregardSampleLoop = false 
)
virtual

Reimplemented from ModControllable.

Reimplemented in SoundDrum.

◆ allowsVeryLateNoteStart()

bool Sound::allowsVeryLateNoteStart ( InstrumentClip clip,
ParamManagerForTimeline paramManager 
)

◆ anyNoteIsOn()

bool Sound::anyNoteIsOn ( )

◆ compensateVolumeForResonance()

void Sound::compensateVolumeForResonance ( ModelStackWithThreeMainThings modelStack)

◆ confirmNumVoices()

void Sound::confirmNumVoices ( char const *  error)

◆ createParamManagerForLoading()

int Sound::createParamManagerForLoading ( ParamManagerForTimeline paramManager)
static

◆ deleteMultiRange()

void Sound::deleteMultiRange ( int  s,
int  r 
)

◆ detachSourcesFromAudioFiles()

void Sound::detachSourcesFromAudioFiles ( )

◆ doneReadingFromFile()

void Sound::doneReadingFromFile ( )

◆ ensureInaccessibleParamPresetValuesWithoutKnobsAreZero() [1/2]

void Sound::ensureInaccessibleParamPresetValuesWithoutKnobsAreZero ( ModelStackWithThreeMainThings modelStack)

◆ ensureInaccessibleParamPresetValuesWithoutKnobsAreZero() [2/2]

void Sound::ensureInaccessibleParamPresetValuesWithoutKnobsAreZero ( Song song)
finalvirtual

Reimplemented from ModControllableAudio.

◆ ensureInaccessibleParamPresetValuesWithoutKnobsAreZeroWithMinimalDetails()

void Sound::ensureInaccessibleParamPresetValuesWithoutKnobsAreZeroWithMinimalDetails ( ParamManager paramManager)

◆ ensureParamPresetValueWithoutKnobIsZero()

void Sound::ensureParamPresetValueWithoutKnobIsZero ( ModelStackWithAutoParam modelStack)

◆ ensureParamPresetValueWithoutKnobIsZeroWithMinimalDetails()

void Sound::ensureParamPresetValueWithoutKnobIsZeroWithMinimalDetails ( ParamManager paramManager,
int  p 
)

◆ envelopeHasSustainCurrently()

bool Sound::envelopeHasSustainCurrently ( int  e,
ParamManagerForTimeline paramManager 
)

◆ envelopeHasSustainEver()

bool Sound::envelopeHasSustainEver ( int  e,
ParamManagerForTimeline paramManager 
)

◆ fastReleaseAllVoices()

void Sound::fastReleaseAllVoices ( ModelStackWithSoundFlags modelStack)

◆ getArp()

virtual ArpeggiatorBase * Sound::getArp ( )
pure virtual

Implemented in SoundDrum, and SoundInstrument.

◆ getArpSettings()

virtual ArpeggiatorSettings * Sound::getArpSettings ( InstrumentClip clip = NULL)
pure virtual

Implemented in SoundDrum, and SoundInstrument.

◆ getKnobPos()

int8_t Sound::getKnobPos ( uint8_t  p,
ParamManagerForTimeline paramManager,
uint32_t  timePos,
TimelineCounter counter 
)

◆ getKnobPosBig()

int32_t Sound::getKnobPosBig ( int  p,
ParamManagerForTimeline paramManager,
uint32_t  timePos,
TimelineCounter counter 
)

◆ getMaxOscTranspose()

int16_t Sound::getMaxOscTranspose ( InstrumentClip clip)

◆ getMinOscTranspose()

int16_t Sound::getMinOscTranspose ( )

◆ getParamFromMIDIKnob()

ModelStackWithAutoParam * Sound::getParamFromMIDIKnob ( MIDIKnob knob,
ModelStackWithThreeMainThings modelStack 
)
finalvirtual

Reimplemented from ModControllableAudio.

◆ getParamFromModEncoder()

ModelStackWithAutoParam * Sound::getParamFromModEncoder ( int  whichModEncoder,
ModelStackWithThreeMainThings modelStack,
bool  allowCreation = true 
)
finalvirtual

Reimplemented from ModControllableAudio.

◆ getSmoothedPatchedParamValue()

int32_t Sound::getSmoothedPatchedParamValue ( int  p,
ParamManager paramManager 
)
inline

◆ getSynthMode()

uint8_t Sound::getSynthMode ( )
inline

◆ getThingWithMostReverb()

void Sound::getThingWithMostReverb ( Sound **  soundWithMostReverb,
ParamManager **  paramManagerWithMostReverb,
GlobalEffectableForClip **  globalEffectableWithMostReverb,
int32_t *  highestReverbAmountFound,
ParamManagerForTimeline paramManager 
)

◆ hasAnyTimeStretchSyncing()

int32_t Sound::hasAnyTimeStretchSyncing ( ParamManagerForTimeline paramManager,
bool  getSampleLength = false,
int  note = 0 
)

◆ hasAnyVoices()

bool Sound::hasAnyVoices ( )

◆ hasCutModeSamples()

bool Sound::hasCutModeSamples ( ParamManagerForTimeline paramManager)

◆ hasCutOrLoopModeSamples()

int32_t Sound::hasCutOrLoopModeSamples ( ParamManagerForTimeline paramManager,
int  note,
bool *  anyLooping = NULL 
)

◆ hasFilters()

bool Sound::hasFilters ( )

◆ initParams()

void Sound::initParams ( ParamManager paramManager)
static

◆ isDrum()

virtual bool Sound::isDrum ( )
inlinevirtual

Reimplemented in SoundDrum.

◆ isNoiseActiveEver()

bool Sound::isNoiseActiveEver ( ParamManagerForTimeline paramManager)

◆ isSourceActiveCurrently()

bool Sound::isSourceActiveCurrently ( int  s,
ParamManagerForTimeline paramManager 
)

◆ isSourceActiveEver()

bool Sound::isSourceActiveEver ( int  s,
ParamManager paramManager 
)

◆ isSourceActiveEverDisregardingMissingSample()

bool Sound::isSourceActiveEverDisregardingMissingSample ( int  s,
ParamManager paramManager 
)

◆ learnKnob()

bool Sound::learnKnob ( MIDIDevice fromDevice,
ParamDescriptor  paramDescriptor,
uint8_t  whichKnob,
uint8_t  modKnobMode,
uint8_t  midiChannel,
Song song 
)
finalvirtual

Reimplemented from ModControllableAudio.

◆ loadAllAudioFiles()

int Sound::loadAllAudioFiles ( bool  mayActuallyReadFiles)

◆ maySourcePatchToParam()

uint8_t Sound::maySourcePatchToParam ( uint8_t  s,
uint8_t  p,
ParamManager paramManager 
)

◆ modButtonAction()

void Sound::modButtonAction ( uint8_t  whichModButton,
bool  on,
ParamManagerForTimeline paramManager 
)
finalvirtual

Reimplemented from ModControllable.

◆ modEncoderButtonAction()

bool Sound::modEncoderButtonAction ( uint8_t  whichModEncoder,
bool  on,
ModelStackWithThreeMainThings modelStack 
)
finalvirtual

Reimplemented from ModControllable.

◆ noteOffPostArpeggiator()

void Sound::noteOffPostArpeggiator ( ModelStackWithSoundFlags modelStack,
int  noteCode = -32768 
)

◆ noteOn()

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 
)

◆ noteOnPostArpeggiator()

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 
)

◆ notifyValueChangeViaLPF()

void Sound::notifyValueChangeViaLPF ( int  p,
bool  shouldDoParamLPF,
ModelStackWithThreeMainThings const *  modelStack,
int32_t  oldValue,
int32_t  newValue,
bool  fromAutomation 
)

◆ paramToString()

char const * Sound::paramToString ( uint8_t  param)
finalvirtual

Reimplemented from ModControllableAudio.

◆ patchedParamPresetValueChanged()

void Sound::patchedParamPresetValueChanged ( uint8_t  p,
ModelStackWithSoundFlags modelStack,
int32_t  oldValue,
int32_t  newValue 
)

◆ possiblySetupDefaultExpressionPatching()

void Sound::possiblySetupDefaultExpressionPatching ( ParamManager paramManager)

◆ prepareForHibernation()

void Sound::prepareForHibernation ( )

◆ readFromFile()

int Sound::readFromFile ( ModelStackWithModControllable modelStack,
int32_t  readAutomationUpToPos,
ArpeggiatorSettings arpSettings 
)

◆ readParamsFromFile()

void Sound::readParamsFromFile ( ParamManagerForTimeline paramManager,
int32_t  readAutomationUpToPos 
)
static

◆ readParamTagFromFile()

bool Sound::readParamTagFromFile ( char const *  tagName,
ParamManagerForTimeline paramManager,
int32_t  readAutomationUpToPos 
)
static

◆ readTagFromFile()

virtual bool Sound::readTagFromFile ( char const *  tagName)
pure virtual

Implemented in SoundDrum, and SoundInstrument.

◆ reassessRenderSkippingStatus()

void Sound::reassessRenderSkippingStatus ( ModelStackWithSoundFlags modelStack,
bool  shouldJustCutModFX = false 
)

◆ recalculateAllVoicePhaseIncrements()

void Sound::recalculateAllVoicePhaseIncrements ( ModelStackWithSoundFlags modelStack)

◆ recalculatePatchingToParam()

void Sound::recalculatePatchingToParam ( uint8_t  p,
ParamManagerForTimeline paramManager 
)

◆ render()

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 
)

◆ renderingOscillatorSyncCurrently()

bool Sound::renderingOscillatorSyncCurrently ( ParamManagerForTimeline paramManager)

◆ renderingOscillatorSyncEver()

bool Sound::renderingOscillatorSyncEver ( ParamManager paramManager)

◆ resyncGlobalLFO()

void Sound::resyncGlobalLFO ( )

◆ sampleZoneChanged()

void Sound::sampleZoneChanged ( int  markerType,
int  s,
ModelStackWithSoundFlags modelStack 
)

◆ saturate()

void Sound::saturate ( int32_t *  data,
uint32_t *  workingValue 
)
inline

◆ setLFOGlobalSyncLevel()

void Sound::setLFOGlobalSyncLevel ( uint8_t  newLevel)

◆ setLFOGlobalWave()

void Sound::setLFOGlobalWave ( uint8_t  newWave)

◆ setModFXType()

bool Sound::setModFXType ( int  newType)
finalvirtual

Reimplemented from ModControllableAudio.

◆ setModulatorCents()

void Sound::setModulatorCents ( int  m,
int  value,
ModelStackWithSoundFlags modelStack 
)

◆ setModulatorTranspose()

void Sound::setModulatorTranspose ( int  m,
int  value,
ModelStackWithSoundFlags modelStack 
)

◆ setNumUnison()

void Sound::setNumUnison ( int  newNum,
ModelStackWithSoundFlags modelStack 
)

◆ setSkippingRendering()

void Sound::setSkippingRendering ( bool  newSkipping)
virtual

Reimplemented in SoundDrum.

◆ setSynthMode()

void Sound::setSynthMode ( uint8_t  value,
Song song 
)

◆ setUnisonDetune()

void Sound::setUnisonDetune ( int  newAmount,
ModelStackWithSoundFlags modelStack 
)

◆ setupAsBlankSynth()

void Sound::setupAsBlankSynth ( ParamManager paramManager)

◆ setupAsDefaultSynth()

void Sound::setupAsDefaultSynth ( ParamManager paramManager)

◆ setupAsSample()

void Sound::setupAsSample ( ParamManagerForTimeline paramManager)

◆ setupPatchingForAllParamManagers()

virtual void Sound::setupPatchingForAllParamManagers ( Song song)
inlinevirtual

Reimplemented in SoundDrum, and SoundInstrument.

◆ stringToParam()

int Sound::stringToParam ( char const *  string)
finalvirtual

Reimplemented from ModControllableAudio.

◆ unassignAllVoices()

void Sound::unassignAllVoices ( )

◆ voiceUnassigned()

void Sound::voiceUnassigned ( ModelStackWithVoice modelStack)

◆ wontBeRenderedForAWhile()

void Sound::wontBeRenderedForAWhile ( )

◆ writeParamsToFile()

void Sound::writeParamsToFile ( ParamManager paramManager,
bool  writeAutomation 
)
static

◆ writeToFile()

void Sound::writeToFile ( bool  savingSong,
ParamManager paramManager,
ArpeggiatorSettings arpSettings 
)

Member Data Documentation

◆ globalLFO

LFO Sound::globalLFO

◆ globalSourceValues

int32_t Sound::globalSourceValues[FIRST_LOCAL_SOURCE]

◆ lastNoteCode

int Sound::lastNoteCode

◆ lfoGlobalSyncLevel

uint8_t Sound::lfoGlobalSyncLevel

◆ lfoGlobalWaveType

uint8_t Sound::lfoGlobalWaveType

◆ lfoLocalWaveType

uint8_t Sound::lfoLocalWaveType

◆ modKnobs

◆ modulator1ToModulator0

bool Sound::modulator1ToModulator0

◆ modulatorCents

int8_t Sound::modulatorCents[numModulators]

◆ modulatorRetriggerPhase

uint32_t Sound::modulatorRetriggerPhase[numModulators]

◆ modulatorTranspose

int16_t Sound::modulatorTranspose[numModulators]

◆ modulatorTransposers

PhaseIncrementFineTuner Sound::modulatorTransposers[numModulators]

◆ monophonicExpressionValues

int32_t Sound::monophonicExpressionValues[NUM_EXPRESSION_DIMENSIONS]

◆ numSamplesSkippedRenderingForGlobalLFO

uint32_t Sound::numSamplesSkippedRenderingForGlobalLFO

◆ numUnison

uint8_t Sound::numUnison

◆ numVoicesAssigned

int Sound::numVoicesAssigned

◆ oscillatorSync

bool Sound::oscillatorSync

◆ oscRetriggerPhase

uint32_t Sound::oscRetriggerPhase[NUM_SOURCES]

◆ paramFinalValues

int32_t Sound::paramFinalValues[NUM_PARAMS - FIRST_GLOBAL_PARAM]

◆ paramLPF

ParamLPF Sound::paramLPF

◆ patcher

Patcher Sound::patcher

◆ polyphonic

uint8_t Sound::polyphonic

◆ postReverbVolumeLastTime

int32_t Sound::postReverbVolumeLastTime

◆ sideChainSendLevel

int32_t Sound::sideChainSendLevel

◆ skippingRendering

bool Sound::skippingRendering

◆ sources

Source Sound::sources[NUM_SOURCES]

◆ sourcesChanged

uint32_t Sound::sourcesChanged

◆ startSkippingRenderingAtTime

uint32_t Sound::startSkippingRenderingAtTime

◆ synthMode

uint8_t Sound::synthMode

◆ timeStartedSkippingRenderingArp

uint32_t Sound::timeStartedSkippingRenderingArp

◆ timeStartedSkippingRenderingLFO

uint32_t Sound::timeStartedSkippingRenderingLFO

◆ timeStartedSkippingRenderingModFX

uint32_t Sound::timeStartedSkippingRenderingModFX

◆ transpose

int16_t Sound::transpose

◆ unisonDetune

int8_t Sound::unisonDetune

◆ unisonDetuners

PhaseIncrementFineTuner Sound::unisonDetuners[maxNumUnison]

◆ voicePriority

uint8_t Sound::voicePriority

◆ volumeNeutralValueForUnison

int32_t Sound::volumeNeutralValueForUnison

◆ whichExpressionSourcesChangedAtSynthLevel

uint8_t Sound::whichExpressionSourcesChangedAtSynthLevel

The documentation for this class was generated from the following files: