A MasterEffectProcessor renders a effect on a stereo signal. More...
Public Member Functions | |
virtual void | applyEffect (AudioSampleBuffer &b, int startSample, int numSamples)=0 |
A wrapper function around the actual processing. More... | |
void | renderNextBlock (AudioSampleBuffer &, int startSample, int numSamples) final override |
This only renders the modulatorChains. More... | |
virtual void | renderWholeBuffer (AudioSampleBuffer &buffer) |
This renders the whole buffer. More... | |
![]() | |
virtual bool | hasTail () const =0 |
Overwrite this method if the effect has a tail (produces sound if no input is active. | |
bool | isTailingOff () const |
Checks if the effect is tailing off. More... | |
void | renderAllChains (int startSample, int numSamples) |
Renders all chains (envelopes & voicestart are rendered monophonically. More... | |
![]() | |
virtual ProcessorEditorBody * | createEditor (ProcessorEditor *parentEditor)=0 |
Creates a ProcessorEditor for this Processor and returns the pointer. More... | |
void | enableConsoleOutput (bool shouldBeEnabled) |
Enables the Processor to output messages to the Console. More... | |
virtual float | getAttribute (int parameterIndex) const =0 |
returns the attribute with the specified index (use a enum in the derived class). More... | |
virtual Processor * | getChildProcessor (int processorIndex)=0 |
This must be overriden by every Processor and return the Chain with the Chain index. More... | |
virtual float | getDefaultValue (int) const |
Overwrite this and return the default value. More... | |
bool | getEditorState (int state) const |
Restores the state of the Processor's editor. More... | |
const String & | getId () const |
Returns the unique id of the Processor instance (!= the Processor name). More... | |
virtual Identifier | getIdentifierForParameterIndex (int parameterIndex) const |
This returns a Identifier with the name of the parameter. More... | |
float | getInputValue () const |
This can be used to display the Processors input value. More... | |
int | getLargestBlockSize () const |
Returns the block size. More... | |
virtual const String | getName () const |
Overwrite this and return a pretty name. More... | |
virtual int | getNumChildProcessors () const =0 |
This must return the number of Child processors. More... | |
virtual int | getNumInternalChains () const |
If your processor uses internal chains, you can return the number here. More... | |
int | getNumParameters () const |
This returns the number of (named) parameters. More... | |
float | getOutputValue () const |
This can be used to display the Processors output value. More... | |
double | getSampleRate () const |
Returns the sample rate. More... | |
const Path | getSymbol () const |
Returns the symbol of the Processor. More... | |
virtual const Identifier | getType () const =0 |
Overwrite this method to specify the name. More... | |
int | getVoiceAmount () const noexcept |
getNumVoices() is occupied by the Synthesiser class, d'oh! | |
bool | isBypassed () const noexcept |
Returns true if the processor is bypassed. More... | |
Processor (MainController *m, const String &id_, int numVoices) | |
Creates a new Processor with the given Identifier. More... | |
void | restoreCompleteEditorState (const XmlElement *storedState) |
Restores the EditorState from a BigInteger that was retrieved using getCompleteEditorState. More... | |
void | setAttribute (int parameterIndex, float newValue, juce::NotificationType notifyEditor) |
Changes a Processor parameter. More... | |
void | setEditorState (int state, bool isOn, NotificationType notifyView=sendNotification) |
Saves the state of the Processor's editor. More... | |
void | setIsOnAir (bool isBeingProcessedInAudioThread) |
Call this method after inserting the processor in the signal chain. More... | |
void | setSymbol (Path newSymbol) |
Sets a special symbol for the Processor. More... | |
virtual | ~Processor () |
Overwrite this if you need custom destruction behaviour. More... | |
![]() | |
void | addChangeListener (SafeChangeListener *listener) |
Registers a listener to receive change callbacks from this broadcaster. More... | |
void | removeAllChangeListeners () |
Removes all listeners from the list. More... | |
void | removeChangeListener (SafeChangeListener *listener) |
Unregisters a listener from the list. More... | |
void | sendAllocationFreeChangeMessage () |
This will send a message without allocating a message slot. More... | |
void | sendChangeMessage (const String &=String()) |
Causes an asynchronous change message to be sent to all the registered listeners. More... | |
void | sendSynchronousChangeMessage () |
Sends a synchronous change message to all the registered listeners. More... | |
![]() | |
ControlledObject (MainController *m) | |
Creates a new ControlledObject. More... | |
const MainController * | getMainController () const noexcept |
Provides read-only access to the main controller. More... | |
MainController * | getMainController () noexcept |
Provides write access to the main controller. More... | |
![]() | |
void | editRouting (Component *childComponent) |
Opens a routing editor in the quasi modal popup. More... | |
int | getLeftDestinationChannel () const |
Quick way to get the left target channel. More... | |
int | getLeftSourceChannel () const |
Quick way to get the left channel for processing. More... | |
int | getRightDestinationChannel () const |
Quick way to get the right target channel. More... | |
int | getRightSourceChannel () const |
Quick way to get the right channel for processing. More... | |
Additional Inherited Members | |
![]() | |
enum | InternalChains |
Overwrite this enum and list all internal chains. More... | |
enum | SpecialParameters |
Overwrite this enum and add new parameters. More... | |
![]() | |
void | setInputValue (float newValue, NotificationType notify=sendNotification) |
Call this from the baseclass whenever you want its editor to display a input value change. More... | |
virtual void | setInternalAttribute (int parameterIndex, float newValue)=0 |
Changes a Processor parameter. More... | |
void | setOutputValue (float newValue) |
Call this from the baseclass whenever you want its editor to display a value change. More... | |
A MasterEffectProcessor renders a effect on a stereo signal.
Derive all effects that are processed on the whole buffer from this class. For polyphonic effects that need to process single voices, use VoiceEffectProcessor as base class.
|
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).
|
inlinefinaloverridevirtual |
This only renders the modulatorChains.
Implements EffectProcessor.
|
inlinevirtual |
This renders the whole buffer.
You can still modulate the wet signal amount or pan effects using multiplications