Public Types | List of all members
ConvolutionEffect Class Reference

A convolution reverb using zero-latency convolutionThis is a wrapper for the convolution engine found in WDL (the sole MIT licenced convolution engine available) It is not designed to replace real convolution reverbs (as the CPU usage for impulses > 0.6 seconds is unreasonable), but your early reflection impulses or other filter impulses will be thankful for this effect. More...

Inheritance diagram for ConvolutionEffect:
MasterEffectProcessor AudioSampleProcessor EffectProcessor RoutableProcessor PoolBase::Listener Processor SafeChangeBroadcaster RestorableObject ControlledObject Dispatchable

Public Types

enum  Parameters {
  DryGain = 0, WetGain, Latency, ImpulseLength,
  ProcessInput, UseBackgroundThread, Predelay, HiCut,
  Damping
}
 
- Public Types inherited from Processor
enum  InternalChains
 Overwrite this enum and list all internal chains. More...
 
enum  SpecialParameters
 Overwrite this enum and add new parameters. More...
 

Additional Inherited Members

- Public Member Functions inherited from MasterEffectProcessor
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...
 
- Public Member Functions inherited from EffectProcessor
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...
 
- Public Member Functions inherited from Processor
void enableConsoleOutput (bool shouldBeEnabled)
 Enables the Processor to output messages to the Console. 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 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...
 
- Public Member Functions inherited from SafeChangeBroadcaster
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...
 
- Public Member Functions inherited from ControlledObject
 ControlledObject (MainController *m)
 Creates a new ControlledObject. More...
 
const MainControllergetMainController () const noexcept
 Provides read-only access to the main controller. More...
 
MainControllergetMainController () noexcept
 Provides write access to the main controller. More...
 
- Public Member Functions inherited from RoutableProcessor
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...
 
- Public Member Functions inherited from AudioSampleProcessor
const AudioSampleBuffer * getBuffer ()
 Returns a const pointer to the audio sample buffer. More...
 
String getFileName () const
 Returns the filename that was loaded. More...
 
Range< int > getRange () const
 Returns the range of the sample. More...
 
void restoreFromValueTree (const ValueTree &v)
 Call this method within your restoreFromValueTree() method to load the sample settings. More...
 
void saveToValueTree (ValueTree &v) const
 Call this method within your exportAsValueTree method to store the sample settings. More...
 
void setLoadedFile (const String &fileName, bool loadThisFile=false, bool forceReload=false)
 This loads the file from disk (or from the pool, if existing and loadThisFile is false. More...
 
void setRange (Range< int > newSampleRange)
 Sets the sample range that should be used in the plugin. More...
 
virtual ~AudioSampleProcessor ()
 Automatically releases the sample in the pool. More...
 
- Public Member Functions inherited from PoolBase::Listener
virtual void poolEntryAdded ()
 Called whenever a pool entry was added. More...
 
virtual void poolEntryChanged (PoolReference referenceThatWasChanged)
 If a pool entry gets changed, this will be called. More...
 
virtual void poolEntryRemoved ()
 Called when a pool entry was removed. More...
 
- Protected Member Functions inherited from Processor
void setInputValue (float newValue, NotificationType notify=sendNotification)
 Call this from the baseclass whenever you want its editor to display a input value change. More...
 
void setOutputValue (float newValue)
 Call this from the baseclass whenever you want its editor to display a value change. More...
 
- Protected Member Functions inherited from AudioSampleProcessor
 AudioSampleProcessor (Processor *p)
 Call this constructor within your subclass constructor. More...
 

Detailed Description

A convolution reverb using zero-latency convolution

This is a wrapper for the convolution engine found in WDL (the sole MIT licenced convolution engine available) It is not designed to replace real convolution reverbs (as the CPU usage for impulses > 0.6 seconds is unreasonable), but your early reflection impulses or other filter impulses will be thankful for this effect.

Member Enumeration Documentation

enum Parameters
Enumerator
DryGain 

the gain of the unprocessed input

WetGain 

the gain of the convoluted input

Latency 

you can change the latency (unused)

ImpulseLength 

the Impulse length (deprecated, use the SampleArea of the AudioSampleBufferComponent to change the impulse response)

ProcessInput 

if this attribute is set, the engine will fade out in a short time and reset itself.

UseBackgroundThread 

if true, then the tail of the impulse response will be rendered on a background thread to save cycles on the audio thread.

Predelay 

delays the reverb tail by the given amount in milliseconds

HiCut 

applies a low pass filter to the impulse response

Damping 

applies a fade-out to the impulse response

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