All Classes Namespaces Functions Variables Enumerations Enumerator Modules Pages
Public Member Functions | Protected Member Functions | List of all members
EffectProcessor Class Referenceabstract
Inheritance diagram for EffectProcessor:
Processor SafeChangeBroadcaster RestorableObject ControlledObject MasterEffectProcessor MonophonicEffectProcessor VoiceEffectProcessor AudioProcessorWrapper ConvolutionEffect CurveEq DelayEffect EmptyFX GainEffect MdaEffectWrapper RouteEffect SaturatorEffect SimpleReverbEffect SlotFX EffectProcessorChain StereoEffect

Public Member Functions

virtual void prepareToPlay (double sampleRate, int samplesPerBlock)
 
virtual bool hasTail () const =0
 
virtual bool isTailingOff () const
 
virtual void renderNextBlock (AudioSampleBuffer &buffer, int startSample, int numSamples)=0
 
- Public Member Functions inherited from Processor
 Processor (MainController *m, const String &id_)
 
virtual ~Processor ()
 
virtual ProcessorEditorBodycreateEditor (ProcessorEditor *parentEditor)=0
 
virtual ValueTree exportAsValueTree () const override
 
virtual void restoreFromValueTree (const ValueTree &previouslyExportedProcessorState) override
 
virtual const Identifier getType () const =0
 
const Path getSymbol () const
 
void setSymbol (Path newSymbol)
 
void setAttribute (int parameterIndex, float newValue, juce::NotificationType notifyEditor)
 
virtual float getAttribute (int parameterIndex) const =0
 
virtual float getDefaultValue (int) const
 
virtual ProcessorgetChildProcessor (int processorIndex)=0
 
virtual int getNumChildProcessors () const =0
 
virtual int getNumInternalChains () const
 
void enableConsoleOutput (bool shouldBeEnabled)
 
const String & getId () const
 
virtual const String getName () const
 
virtual void setBypassed (bool shouldBeBypassed, NotificationType notifyChangeHandler=dontSendNotification) noexcept
 
bool isBypassed () const noexcept
 
double getSampleRate () const
 
int getBlockSize () const
 
float getOutputValue () const
 
float getInputValue () const
 
void setEditorState (int state, bool isOn, NotificationType notifyView=sendNotification)
 
bool getEditorState (int state) const
 
void restoreCompleteEditorState (const XmlElement *storedState)
 
const Identifier getIdentifierForParameterIndex (int parameterIndex) const
 
int getNumParameters () const
 
void setIsOnAir (bool isBeingProcessedInAudioThread)
 
const CriticalSection & getDummyLockWhenNotOnAir () const
 
- Public Member Functions inherited from SafeChangeBroadcaster
void sendSynchronousChangeMessage ()
 
void addChangeListener (SafeChangeListener *listener)
 
void removeChangeListener (SafeChangeListener *listener)
 
void removeAllChangeListeners ()
 
void sendChangeMessage (const String &=String())
 
void sendAllocationFreeChangeMessage ()
 
- Public Member Functions inherited from ControlledObject
 ControlledObject (MainController *m)
 
const MainControllergetMainController () const noexcept
 
MainControllergetMainController () noexcept
 

Protected Member Functions

virtual AudioSampleBuffer & getBufferForChain (int)
 
void saveBufferForTailCheck (AudioSampleBuffer &b, int startSample, int numSamples)
 
void checkTailing (AudioSampleBuffer &b, int startSample, int numSamples)
 
int calculateStepSize (int, int numSamples)
 
- Protected Member Functions inherited from Processor
virtual Path getSpecialSymbol () const
 
void setOutputValue (float newValue)
 
void setInputValue (float newValue, NotificationType notify=sendNotification)
 
virtual void setInternalAttribute (int parameterIndex, float newValue)=0
 

Additional Inherited Members

- Public Types inherited from Processor
enum  SpecialParameters
 
enum  InternalChains
 

Detailed Description

Base class for all Processors that applies a audio effect on the audio data.

Member Function Documentation

int calculateStepSize ( int  ,
int  numSamples 
)
inlineprotected

Searches the modulation buffer for the minima and maxima and returns a power of two number according to the dynamic.

This can be used to check if there is some action in the modulation that needs splitting of processing to avoid parameter jumps without having to calculate each sample.

void checkTailing ( AudioSampleBuffer &  b,
int  startSample,
int  numSamples 
)
protected

If your effect produces a tail, you have to call this method after your processing.

virtual AudioSampleBuffer& getBufferForChain ( int  )
inlineprotectedvirtual

Overwrite this method and return a reference to an internal buffer.

This is used to store the precalculated modulation values from preRenderCallback()

virtual bool hasTail ( ) const
pure virtual

Overwrite this method if the effect has a tail (produces sound if no input is active

virtual bool isTailingOff ( ) const
inlinevirtual

Checks if the effect is tailing off. This simply returns the calculated value, but the EffectChain overwrites this.

virtual void prepareToPlay ( double  sampleRate,
int  samplesPerBlock 
)
inlinevirtual

You have to override this method, since almost every effect needs the samplerate anyway.

Reimplemented from Processor.

virtual void renderNextBlock ( AudioSampleBuffer &  buffer,
int  startSample,
int  numSamples 
)
pure virtual

Renders the next block and applies the effect to the buffer.

Implemented in MonophonicEffectProcessor, and MasterEffectProcessor.

void saveBufferForTailCheck ( AudioSampleBuffer &  b,
int  startSample,
int  numSamples 
)
inlineprotected

Takes a copy of the buffer before it is processed to check if a tail was added after processing.

©2017 HISE. This documentation is autogenerated from the HISE source code using Doxygen.