All Classes Namespaces Functions Variables Enumerations Enumerator Modules Pages
Public Member Functions | List of all members
VoiceEffectProcessor Class Referenceabstract
Inheritance diagram for VoiceEffectProcessor:
EffectProcessor Processor SafeChangeBroadcaster RestorableObject ControlledObject EffectProcessorChain StereoEffect

Public Member Functions

virtual void preRenderCallback (int startSample, int numSamples)
virtual void applyEffect (int voiceIndex, AudioSampleBuffer &b, int startSample, int numSample)=0
virtual void renderVoice (int voiceIndex, AudioSampleBuffer &b, int startSample, int numSamples)
- Public Member Functions inherited from EffectProcessor
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

Additional Inherited Members

- Public Types inherited from Processor
enum  SpecialParameters
enum  InternalChains
- Protected Member Functions inherited from EffectProcessor
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
void setOutputValue (float newValue)
void setInputValue (float newValue, NotificationType notify=sendNotification)
virtual void setInternalAttribute (int parameterIndex, float newValue)=0

Detailed Description

A VoiceEffectProcessor has multiple states that allows polyphonic rendering of the audio effect.

Member Function Documentation

virtual void applyEffect ( int  voiceIndex,
AudioSampleBuffer &  b,
int  startSample,
int  numSample 
pure virtual

A wrapper function around the actual processing.

You can assume that all internal chains are processed and the numSample amount is set according to the stepsize calculated with calculateStepSize(). That means you can grab the current modulation value using getCurrentModulationValue(), set the parameters and process the block with smooth parameter changes.

virtual void preRenderCallback ( int  startSample,
int  numSamples 

This is called before every voice is processed. Use this to calculate all non polyphonic modulators in your subclasses chains!

virtual void renderVoice ( int  voiceIndex,
AudioSampleBuffer &  b,
int  startSample,
int  numSamples 

renders a voice and applies the effect on the voice.

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