Deluge Firmware
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | List of all members
ModControllableAudio Class Reference

#include <ModControllableAudio.h>

Inheritance diagram for ModControllableAudio:
Inheritance graph
Collaboration diagram for ModControllableAudio:
Collaboration graph

Public Member Functions

 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 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

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

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

◆ ModControllableAudio()

ModControllableAudio::ModControllableAudio ( )

◆ ~ModControllableAudio()

ModControllableAudio::~ModControllableAudio ( )
virtual

Member Function Documentation

◆ beginStutter()

void ModControllableAudio::beginStutter ( ParamManagerForTimeline paramManager)
protected

◆ buttonAction()

int ModControllableAudio::buttonAction ( int  x,
int  y,
bool  on,
ModelStackWithThreeMainThings modelStack 
)

◆ clearModFXMemory()

void ModControllableAudio::clearModFXMemory ( )
protected

◆ cloneFrom()

void ModControllableAudio::cloneFrom ( ModControllableAudio other)
virtual

Reimplemented in AudioOutput, and GlobalEffectable.

◆ endStutter()

void ModControllableAudio::endStutter ( ParamManagerForTimeline paramManager)

◆ ensureInaccessibleParamPresetValuesWithoutKnobsAreZero()

virtual void ModControllableAudio::ensureInaccessibleParamPresetValuesWithoutKnobsAreZero ( Song song)
inlinevirtual

Reimplemented in Sound.

◆ getParamFromMIDIKnob()

ModelStackWithAutoParam * ModControllableAudio::getParamFromMIDIKnob ( MIDIKnob knob,
ModelStackWithThreeMainThings modelStack 
)
virtual

Reimplemented from ModControllable.

Reimplemented in Sound.

◆ getParamFromModEncoder()

ModelStackWithAutoParam * ModControllableAudio::getParamFromModEncoder ( int  whichModEncoder,
ModelStackWithThreeMainThings modelStack,
bool  allowCreation 
)
virtual

Reimplemented from ModControllable.

Reimplemented in Sound.

◆ getStutterRate()

int32_t ModControllableAudio::getStutterRate ( ParamManager paramManager)
protected

◆ hasBassAdjusted()

bool ModControllableAudio::hasBassAdjusted ( ParamManager paramManager)

◆ hasTrebleAdjusted()

bool ModControllableAudio::hasTrebleAdjusted ( ParamManager paramManager)

◆ initParams()

void ModControllableAudio::initParams ( ParamManager paramManager)
static

◆ isBitcrushingEnabled()

bool ModControllableAudio::isBitcrushingEnabled ( ParamManager paramManager)

◆ isSRREnabled()

bool ModControllableAudio::isSRREnabled ( ParamManager paramManager)

◆ learnKnob()

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

Reimplemented in Sound.

◆ offerReceivedCCToLearnedParams()

bool ModControllableAudio::offerReceivedCCToLearnedParams ( MIDIDevice fromDevice,
uint8_t  channel,
uint8_t  ccNumber,
uint8_t  value,
ModelStackWithTimelineCounter modelStack,
int  noteRowIndex = -1 
)

◆ offerReceivedPitchBendToLearnedParams()

bool ModControllableAudio::offerReceivedPitchBendToLearnedParams ( MIDIDevice fromDevice,
uint8_t  channel,
uint8_t  data1,
uint8_t  data2,
ModelStackWithTimelineCounter modelStack,
int  noteRowIndex = -1 
)

◆ paramToString()

char const * ModControllableAudio::paramToString ( uint8_t  param)
virtual

Reimplemented in GlobalEffectable, and Sound.

◆ processFX()

void ModControllableAudio::processFX ( StereoSample buffer,
int  numSamples,
int  modFXType,
int32_t  modFXRate,
int32_t  modFXDepth,
DelayWorkingState delayWorkingState,
int32_t *  postFXVolume,
ParamManager paramManager,
int  analogDelaySaturationAmount 
)
protected

◆ processReverbSendAndVolume()

void ModControllableAudio::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 
)

◆ processSRRAndBitcrushing()

void ModControllableAudio::processSRRAndBitcrushing ( StereoSample buffer,
int  numSamples,
int32_t *  postFXVolume,
ParamManager paramManager 
)

◆ processStutter()

void ModControllableAudio::processStutter ( StereoSample buffer,
int  numSamples,
ParamManager paramManager 
)

◆ readParamTagFromFile()

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

◆ readTagFromFile()

int ModControllableAudio::readTagFromFile ( char const *  tagName,
ParamManagerForTimeline paramManager,
int32_t  readAutomationUpToPos,
Song song 
)

◆ setModFXType()

bool ModControllableAudio::setModFXType ( int  newType)
virtual

Reimplemented in Sound.

◆ stringToParam()

int ModControllableAudio::stringToParam ( char const *  string)
virtual

Reimplemented in GlobalEffectable, and Sound.

◆ switchDelayAnalog()

void ModControllableAudio::switchDelayAnalog ( )
protected

◆ switchDelayPingPong()

void ModControllableAudio::switchDelayPingPong ( )
protected

◆ switchLPFMode()

void ModControllableAudio::switchLPFMode ( )
protected

◆ unlearnKnobs()

bool ModControllableAudio::unlearnKnobs ( ParamDescriptor  paramDescriptor,
Song song 
)

◆ wontBeRenderedForAWhile()

void ModControllableAudio::wontBeRenderedForAWhile ( )

◆ writeAttributesToFile()

void ModControllableAudio::writeAttributesToFile ( )

◆ writeParamAttributesToFile()

void ModControllableAudio::writeParamAttributesToFile ( ParamManager paramManager,
bool  writeAutomation,
int32_t *  valuesForOverride = NULL 
)
static

◆ writeParamTagsToFile()

void ModControllableAudio::writeParamTagsToFile ( ParamManager paramManager,
bool  writeAutomation,
int32_t *  valuesForOverride = NULL 
)
static

◆ writeTagsToFile()

void ModControllableAudio::writeTagsToFile ( )

Member Data Documentation

◆ allpassMemory

StereoSample ModControllableAudio::allpassMemory[PHASER_NUM_ALLPASS_FILTERS]

◆ bassFreq

int32_t ModControllableAudio::bassFreq

◆ bassOnlyL

int32_t ModControllableAudio::bassOnlyL

◆ bassOnlyR

int32_t ModControllableAudio::bassOnlyR

◆ clippingAmount

uint8_t ModControllableAudio::clippingAmount

◆ compressor

Compressor ModControllableAudio::compressor

◆ delay

Delay ModControllableAudio::delay

◆ grabbedSample

StereoSample ModControllableAudio::grabbedSample

◆ highSampleRatePos

uint32_t ModControllableAudio::highSampleRatePos

◆ lastGrabbedSample

StereoSample ModControllableAudio::lastGrabbedSample

◆ lastSample

StereoSample ModControllableAudio::lastSample

◆ lowSampleRatePos

uint32_t ModControllableAudio::lowSampleRatePos

◆ lpfMode

uint8_t ModControllableAudio::lpfMode

◆ midiKnobArray

MidiKnobArray ModControllableAudio::midiKnobArray

◆ modFXBuffer

StereoSample* ModControllableAudio::modFXBuffer

◆ modFXBufferWriteIndex

uint16_t ModControllableAudio::modFXBufferWriteIndex

◆ modFXLFO

LFO ModControllableAudio::modFXLFO

◆ modFXType

uint8_t ModControllableAudio::modFXType

◆ phaserMemory

StereoSample ModControllableAudio::phaserMemory

◆ sampleRateReductionOnLastTime

bool ModControllableAudio::sampleRateReductionOnLastTime

◆ stutterer

Stutterer ModControllableAudio::stutterer

◆ trebleFreq

int32_t ModControllableAudio::trebleFreq

◆ withoutTrebleL

int32_t ModControllableAudio::withoutTrebleL

◆ withoutTrebleR

int32_t ModControllableAudio::withoutTrebleR

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