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

#include <GlobalEffectableForClip.h>

Inheritance diagram for GlobalEffectableForClip:
Inheritance graph
Collaboration diagram for GlobalEffectableForClip:
Collaboration graph

Public Member Functions

 GlobalEffectableForClip ()
 
int32_t getSidechainVolumeAmountAsPatchCableDepth (ParamManager *paramManager)
 
bool modEncoderButtonAction (uint8_t whichModEncoder, bool on, ModelStackWithThreeMainThings *modelStack) final
 
virtual OutputtoOutput ()=0
 
void getThingWithMostReverb (Clip *activeClip, Sound **soundWithMostReverb, ParamManager **paramManagerWithMostReverb, GlobalEffectableForClip **globalEffectableWithMostReverb, int32_t *highestReverbAmountFound)
 
void saturate (int32_t *data, uint32_t *workingValue)
 
- Public Member Functions inherited from GlobalEffectable
 GlobalEffectable ()
 
void cloneFrom (ModControllableAudio *other)
 
void modButtonAction (uint8_t whichModButton, bool on, ParamManagerForTimeline *paramManager)
 
bool modEncoderButtonAction (uint8_t whichModEncoder, bool on, ModelStackWithThreeMainThings *modelStack)
 
ModelStackWithAutoParamgetParamFromModEncoder (int whichModEncoder, ModelStackWithThreeMainThings *modelStack, bool allowCreation=true)
 
void setupFilterSetConfig (FilterSetConfig *filterSetConfig, int32_t *postFXVolume, ParamManager *paramManager)
 
void processFilters (StereoSample *buffer, int numSamples, FilterSetConfig *filterSetConfig)
 
void compensateVolumeForResonance (ParamManagerForTimeline *paramManager)
 
void processFXForGlobalEffectable (StereoSample *inputBuffer, int numSamples, int32_t *postFXVolume, ParamManager *paramManager, DelayWorkingState *delayWorkingState, int analogDelaySaturationAmount)
 
void writeAttributesToFile (bool writeToFile)
 
void writeTagsToFile (ParamManager *paramManager, bool writeToFile)
 
int readTagFromFile (char const *tagName, ParamManagerForTimeline *paramManager, int32_t readAutomationUpToPos, Song *song)
 
char const * paramToString (uint8_t param)
 
int stringToParam (char const *string)
 
void setupDelayWorkingState (DelayWorkingState *delayWorkingState, ParamManager *paramManager, bool shouldLimitDelayFeedback=false)
 
- 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)
 

Public Attributes

int32_t postReverbVolumeLastTime
 
uint32_t lastSaturationTanHWorkingValue [2]
 
- Public Attributes inherited from GlobalEffectable
FilterSet filterSets [2]
 
uint8_t currentModFXParam
 
uint8_t currentFilterType
 
- 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
 

Protected Member Functions

int getParameterFromKnob (int whichModEncoder) final
 
void renderOutput (ModelStackWithTimelineCounter *modelStack, ParamManager *paramManagerForClip, StereoSample *outputBuffer, int numSamples, int32_t *reverbBuffer, int32_t reverbAmountAdjust, int32_t sideChainHitPending, bool shouldLimitDelayFeedback, bool isClipActive, int outputType, int analogDelaySaturationAmount)
 
virtual void renderGlobalEffectableForClip (ModelStackWithTimelineCounter *modelStack, StereoSample *globalEffectableBuffer, int32_t *bufferToTransferTo, int numSamples, int32_t *reverbBuffer, int32_t reverbAmountAdjust, int32_t sideChainHitPending, bool shouldLimitDelayFeedback, bool isClipActive, int32_t pitchAdjust, int32_t amplitudeAtStart, int32_t amplitudeAtEnd)=0
 
virtual bool willRenderAsOneChannelOnlyWhichWillNeedCopying ()
 
- Protected Member Functions inherited from GlobalEffectable
virtual int getParameterFromKnob (int whichModEncoder)
 
int getActiveModFXType (ParamManager *paramManager)
 
- 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 ()
 

Additional Inherited Members

- Static Public Member Functions inherited from GlobalEffectable
static void initParams (ParamManager *paramManager)
 
static void initParamsForAudioClip (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 void readParamsFromFile (ParamManagerForTimeline *paramManager, int32_t readAutomationUpToPos)
 
static bool readParamTagFromFile (char const *tagName, ParamManagerForTimeline *paramManager, int32_t readAutomationUpToPos)
 
- 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)
 

Constructor & Destructor Documentation

◆ GlobalEffectableForClip()

GlobalEffectableForClip::GlobalEffectableForClip ( )

Member Function Documentation

◆ getParameterFromKnob()

int GlobalEffectableForClip::getParameterFromKnob ( int  whichModEncoder)
finalprotectedvirtual

Reimplemented from GlobalEffectable.

◆ getSidechainVolumeAmountAsPatchCableDepth()

int32_t GlobalEffectableForClip::getSidechainVolumeAmountAsPatchCableDepth ( ParamManager paramManager)

◆ getThingWithMostReverb()

void GlobalEffectableForClip::getThingWithMostReverb ( Clip activeClip,
Sound **  soundWithMostReverb,
ParamManager **  paramManagerWithMostReverb,
GlobalEffectableForClip **  globalEffectableWithMostReverb,
int32_t *  highestReverbAmountFound 
)

◆ modEncoderButtonAction()

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

Reimplemented from GlobalEffectable.

◆ renderGlobalEffectableForClip()

virtual void GlobalEffectableForClip::renderGlobalEffectableForClip ( ModelStackWithTimelineCounter modelStack,
StereoSample globalEffectableBuffer,
int32_t *  bufferToTransferTo,
int  numSamples,
int32_t *  reverbBuffer,
int32_t  reverbAmountAdjust,
int32_t  sideChainHitPending,
bool  shouldLimitDelayFeedback,
bool  isClipActive,
int32_t  pitchAdjust,
int32_t  amplitudeAtStart,
int32_t  amplitudeAtEnd 
)
protectedpure virtual

Implemented in AudioOutput, and Kit.

◆ renderOutput()

void GlobalEffectableForClip::renderOutput ( ModelStackWithTimelineCounter modelStack,
ParamManager paramManagerForClip,
StereoSample outputBuffer,
int  numSamples,
int32_t *  reverbBuffer,
int32_t  reverbAmountAdjust,
int32_t  sideChainHitPending,
bool  shouldLimitDelayFeedback,
bool  isClipActive,
int  outputType,
int  analogDelaySaturationAmount 
)
protected

◆ saturate()

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

◆ toOutput()

virtual Output * GlobalEffectableForClip::toOutput ( )
pure virtual

Implemented in AudioOutput, and Kit.

◆ willRenderAsOneChannelOnlyWhichWillNeedCopying()

virtual bool GlobalEffectableForClip::willRenderAsOneChannelOnlyWhichWillNeedCopying ( )
inlineprotectedvirtual

Reimplemented in AudioOutput.

Member Data Documentation

◆ lastSaturationTanHWorkingValue

uint32_t GlobalEffectableForClip::lastSaturationTanHWorkingValue[2]

◆ postReverbVolumeLastTime

int32_t GlobalEffectableForClip::postReverbVolumeLastTime

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