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

Public Member Functions

void renderAllChains (int startSample, int numSamples)
 
virtual void applyEffect (AudioSampleBuffer &b, int startSample, int numSamples)=0
 
virtual void renderNextBlock (AudioSampleBuffer &, int startSample, int numSamples) finaloverride
 
virtual void renderWholeBuffer (AudioSampleBuffer &buffer)
 
- Public Member Functions inherited from EffectProcessor
virtual void prepareToPlay (double sampleRate, int samplesPerBlock)
 
virtual bool hasTail () const =0
 
virtual bool isTailingOff () const
 
- Public Member Functions inherited from Processor
 Processor (MainController *m, const String &id_)
 
virtual ~Processor ()
 
virtual ProcessorEditorBodycreateEditor (ProcessorEditor *parentEditor)=0
 
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
 
- Public Member Functions inherited from RoutableProcessor
void editRouting (Component *childComponent)
 
int getLeftSourceChannel () const
 
int getRightSourceChannel () const
 
int getLeftDestinationChannel () const
 
int getRightDestinationChannel () const
 

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 MasterEffectProcessor renders a effect on a block of audio samples.

Derive all effects that are processed on the whole buffer from this class. For polyphonic effects, use VoiceEffectProcessor as baseclass.

Member Function Documentation

virtual void applyEffect ( AudioSampleBuffer &  b,
int  startSample,
int  numSamples 
)
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.

Also this effect grabs the whole buffer (it can be divided by incoming midi messages for VoiceEffectProcessors).

void renderAllChains ( int  startSample,
int  numSamples 
)
inline

Renders all chains (envelopes & voicestart are rendered monophonically.

virtual void renderNextBlock ( AudioSampleBuffer &  ,
int  startSample,
int  numSamples 
)
inlinefinaloverridevirtual

This only renders the modulatorChains.

Implements EffectProcessor.

virtual void renderWholeBuffer ( AudioSampleBuffer &  buffer)
inlinevirtual

This renders the whole buffer.

You can still modulate the wet signal amount or pan effects using multiplications

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