Om
1.0.0
A universal framework for multimedia simulation
|
A class that implements a 31-band graphic equalizer with variable-width filters. More...
#include <omSoundGraphicEqualizer.h>
Public Member Functions | |
GraphicEqualizer () | |
Create a default 31-band graphic equalizer with all bands with a gain of 0dB. More... | |
Gain | getOutputGain () const |
Return the linear output gain for this graphic equalizer. More... | |
Gain | getOutputGainDB () const |
Return the output gain in decibels for this graphic equalizer. More... | |
void | setOutputGain (Gain newGain) |
Set the linear output gain for this graphic equalizer. More... | |
void | setOutputGainDB (Gain newGain) |
Set the output gain in decibels for this graphic equalizer. More... | |
Size | getFilterCount () const |
Return the number of filters (frequency bands) that this graphic equalizer has. More... | |
Float | getFilterFrequency (Index filterIndex) const |
Return the frequency of the filter at the specified index. More... | |
Gain | getFilterGain (Index filterIndex) const |
Return the linear gain of the graphic EQ filter at the specified index. More... | |
Gain | getFilterGainDB (Index filterIndex) const |
Return the gain in decibels of the graphic EQ filter at the specified index. More... | |
void | setFilterGain (Index filterIndex, Gain newGain) |
Set the linear gain of the graphic EQ filter at the specified index. More... | |
void | setFilterGainDB (Index filterIndex, Gain newGain) |
Set the gain in decibels of the graphic EQ filter at the specified index. More... | |
void | setFlat () |
Reset all frequency bands to have a gain of 0dB, making the graphic equalizer have a flat response. More... | |
Float | getFilterQ () const |
Return the Q factor used for all filters that make up this graphic equalizer. More... | |
void | setFilterQ (Float newQ) |
Set the Q factor used for all filters that make up this graphic equalizer. More... | |
Float | getFilterBandwidth () const |
Return the octave bandwidth used for all filters that make up this graphic equalizer. More... | |
void | setFilterBandwidth (Float newBandwidth) |
Set the octave bandwidth used for all filters that make up this graphic equalizer. More... | |
virtual UTF8String | getName () const |
Return a human-readable name for this parametric filter. More... | |
virtual UTF8String | getManufacturer () const |
Return the manufacturer name of this parametric filter. More... | |
virtual FilterVersion | getVersion () const |
Return an object representing the version of this parametric filter. More... | |
virtual FilterCategory | getCategory () const |
Return an object that describes the category of effect that this filter implements. More... | |
virtual Bool | allowsInPlaceProcessing () const |
Return whether or not this graphic equalizer can process audio data in-place. More... | |
virtual Size | getParameterCount () const |
Return the total number of generic accessible parameters this filter has. More... | |
virtual Bool | getParameterInfo (Index parameterIndex, FilterParameterInfo &info) const |
Get information about the parameter at the specified index. More... | |
Public Member Functions inherited from om::sound::filters::SoundFilter | |
virtual | ~SoundFilter () |
Destroy this sound filter object. More... | |
SoundResult | read (SoundBuffer &outputBuffer, Size numSamples) |
Fill the specified output buffer with the requested number of samples, based on internal filter state. More... | |
SoundResult | read (SoundFrame &outputFrame, Size numSamples) |
Fill the specified output frame with the requested number of samples, based on internal filter state. More... | |
SoundResult | write (const SoundBuffer &inputBuffer, Size numSamples) |
Process the specified input buffer samples and do something with them. More... | |
SoundResult | write (const SoundFrame &inputFrame, Size numSamples) |
Process the specified input frame samples and do something with them. More... | |
SoundResult | process (const SoundBuffer &inputBuffer, SoundBuffer &outputBuffer, Size numSamples) |
Apply this filter to the specified input buffer data, placing the result in the output buffer. More... | |
SoundResult | process (const SoundBuffer &inputBuffer, SoundFrame &outputFrame, Size numSamples) |
Apply this filter to the specified input buffer data, placing the result in the output frame. More... | |
SoundResult | process (const SoundFrame &inputFrame, SoundFrame &outputFrame, Size numSamples) |
Apply this filter to the specified input frame data, placing the result in the output frame. More... | |
SoundResult | process (const SoundFrame &inputBuffer, SoundBuffer &outputBuffer, Size numSamples) |
Apply this filter to the specified input frame data, placing the result in the output buffer. More... | |
void | reset () |
Signal to the filter that the audio stream is restarting. More... | |
UInt64 | getFrameIndex () const |
Return the index of the next frame to be processed (or the current one if currently processing). More... | |
Size | getInputCount () const |
Return the current number of audio inputs that this filter has. More... | |
virtual UTF8String | getInputName (Index inputIndex) const |
Return a human-readable name of the filter audio input at the specified index. More... | |
Size | getOutputCount () const |
Return the current number of audio outputs that this filter has. More... | |
virtual UTF8String | getOutputName (Index outputIndex) const |
Return a human-readable name of the filter audio output at the specified index. More... | |
Size | getMIDIInputCount () const |
Return the current number of MIDI inputs that this filter has. More... | |
virtual UTF8String | getMIDIInputName (Index inputIndex) const |
Return a human-readable name of the filter MIDI input at the specified index. More... | |
Size | getMIDIOutputCount () const |
Return the current number of MIDI outputs that this filter has. More... | |
virtual UTF8String | getMIDIOutputName (Index outputIndex) const |
Return a human-readable name of the filter MIDI output at the specified index. More... | |
virtual Time | getLatency () const |
Return a Time value indicating the latency of this sound filter in seconds. More... | |
virtual Bool | getParameterIndex (const UTF8String ¶meterName, Index ¶meterIndex) const |
Query the index of the parameter with the specified name. More... | |
virtual Bool | getParameterValueName (Index parameterIndex, const FilterParameter &value, UTF8String &name) const |
Get any special name associated with the specified value of an indexed parameter. More... | |
Bool | getParameter (Index parameterIndex, FilterParameter &value) const |
Place the value of the parameter at the specified index in the output parameter. More... | |
Bool | getParameter (Index parameterIndex, Bool &value) const |
Place the value of the parameter at the specified index in the output parameter. More... | |
Bool | getParameter (Index parameterIndex, Int64 &value) const |
Place the value of the parameter at the specified index in the output parameter. More... | |
Bool | getParameter (Index parameterIndex, Float32 &value) const |
Place the value of the parameter at the specified index in the output parameter. More... | |
Bool | getParameter (Index parameterIndex, Float64 &value) const |
Place the value of the parameter at the specified index in the output parameter. More... | |
template<typename ParameterType > | |
Bool | getParameter (const UTF8String &name, ParameterType &value) const |
Place the value of the parameter with the specified name in the output parameter. More... | |
template<typename ParameterType > | |
Bool | getParameter (const char *name, ParameterType &value) const |
Place the value of the parameter with the specified name in the output parameter. More... | |
Bool | setParameter (Index parameterIndex, const FilterParameter &value) |
Attempt to set the parameter value at the specified index. More... | |
Bool | setParameter (Index parameterIndex, Bool value) |
Attempt to set the parameter value at the specified index. More... | |
Bool | setParameter (Index parameterIndex, Int64 value) |
Attempt to set the parameter value at the specified index. More... | |
Bool | setParameter (Index parameterIndex, Float32 value) |
Attempt to set the parameter value at the specified index. More... | |
Bool | setParameter (Index parameterIndex, Float64 value) |
Attempt to set the parameter value at the specified index. More... | |
template<typename ParameterType > | |
Bool | setParameter (const UTF8String &name, ParameterType value) |
Attempt to set the parameter value with the specified name. More... | |
template<typename ParameterType > | |
Bool | setParameter (const char *name, ParameterType value) |
Attempt to set the parameter value with the specified name. More... | |
virtual Bool | writeState (DataOutputStream &stream) const |
Write the current state of this sound filter to a data output stream. More... | |
virtual Bool | readState (DataInputStream &stream) |
Read a previously saved filter state from the specified data input stream and replace the filter's state. More... | |
virtual Size | getPresetCount () const |
Return the number of standard configuration presets that this sound filter has. More... | |
virtual Bool | getPreset (Index presetIndex, FilterPreset &preset) const |
Get the standard preset for this sound filter with the specified index. More... | |
Bool | getIsSynchronized () const |
Return whether or not this sound filter performs thread synchronization. More... | |
void | setIsSynchronized (Bool newIsSynchronized) |
Set whether or not this sound filter performs thread synchronization. More... | |
Static Public Attributes | |
static const UTF8String | NAME |
A string indicating the human-readable name of this graphic equalizer. More... | |
static const UTF8String | MANUFACTURER |
A string indicating the manufacturer name of this graphic equalizer. More... | |
static const FilterVersion | VERSION |
An object indicating the version of this graphic equalizer. More... | |
Static Public Attributes inherited from om::sound::filters::SoundFilter | |
static const om::resources::ResourceType | RESOURCE_TYPE |
The resource type for a sound filter. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from om::sound::filters::SoundFilter | |
static Size | getMaximumNumberOfInputs () |
Return the maximum number of audio inputs that a SoundFilter can support. More... | |
static Size | getMaximumNumberOfOutputs () |
Return the maximum number of audio outputs that a SoundFilter can support. More... | |
static Size | getMaximumNumberOfMIDIInputs () |
Return the maximum number of MIDI inputs that a SoundFilter can support. More... | |
static Size | getMaximumNumberOfMIDIOutputs () |
Return the maximum number of MIDI outputs that a SoundFilter can support. More... | |
Protected Member Functions inherited from om::sound::filters::SoundFilter | |
SoundFilter () | |
Create a new sound filter with 1 audio input and output, and no MIDI inputs or outputs. More... | |
SoundFilter (Size numInputs, Size numOutputs) | |
Create a new sound filter with the specified number of audio inputs and outputs. More... | |
SoundFilter (Size numInputs, Size numOutputs, Size numMIDIInputs, Size numMIDIOutputs) | |
Create a new sound filter with the specified number of audio inputs and outputs. More... | |
void | setInputCount (Size newNumInputs) |
Set the number of inputs that this filter should have. More... | |
void | setOutputCount (Size newNumOutputs) |
Set the number of outputs that this filter should have. More... | |
void | setMIDIInputCount (Size newNumMIDIInputs) |
Set the number of MIDI inputs that this filter should have. More... | |
void | setMIDIOutputCount (Size newNumMIDIOutputs) |
Set the number of MIDI outputs that this filter should have. More... | |
Bool | isFirstFrame () const |
Return whether or not the filter's next frame to be processed is also its first frame. More... | |
void | lockMutex () const |
Acquire a mutex which handles subclass rendering parameter synchronization. More... | |
void | unlockMutex () const |
Release a mutex which handles subclass rendering parameter synchronization. More... | |
A class that implements a 31-band graphic equalizer with variable-width filters.
This class provides a set of 31 variable-width parametric filters at fixed frequencies spaced at 1/3 octave intervals. Each filter has its own gain control and the width of all filters can be adjusted together.
om::sound::filters::GraphicEqualizer::GraphicEqualizer | ( | ) |
Create a default 31-band graphic equalizer with all bands with a gain of 0dB.
|
inline |
Return the linear output gain for this graphic equalizer.
|
inline |
Return the output gain in decibels for this graphic equalizer.
|
inline |
Set the linear output gain for this graphic equalizer.
|
inline |
Set the output gain in decibels for this graphic equalizer.
|
inline |
Return the number of filters (frequency bands) that this graphic equalizer has.
Return the frequency of the filter at the specified index.
If the specified filter index is invalid, a frequency of 0 Hz is returned.
|
inline |
Return the linear gain of the graphic EQ filter at the specified index.
If the specified filter index is invalid, a gain of 0 is returned.
|
inline |
Return the gain in decibels of the graphic EQ filter at the specified index.
If the specified filter index is invalid, a gain of -infinity is returned.
|
inline |
Set the linear gain of the graphic EQ filter at the specified index.
If the specified filter index is invalid, the method has no effect.
|
inline |
Set the gain in decibels of the graphic EQ filter at the specified index.
If the specified filter index is invalid, the method has no effect.
void om::sound::filters::GraphicEqualizer::setFlat | ( | ) |
Reset all frequency bands to have a gain of 0dB, making the graphic equalizer have a flat response.
|
inline |
Return the Q factor used for all filters that make up this graphic equalizer.
This value controls the width of the boost or cut that a filter produces. A smaller Q indicates a wider filter, while a larger Q indicates a narrower filter.
void om::sound::filters::GraphicEqualizer::setFilterQ | ( | Float | newQ | ) |
Set the Q factor used for all filters that make up this graphic equalizer.
This value controls the width of the boost or cut that a filter produces. A smaller Q indicates a wider filter, while a larger Q indicates a narrower filter.
The new Q value is clamped to the range [0, +infinity].
|
inline |
Return the octave bandwidth used for all filters that make up this graphic equalizer.
This value controls the width of the boost or cut that a filter produces. A larger bandwidth indicates a wider filter, while a smaller bandwidth indicates a narrower filter.
The default bandwidth is 1/3 of an octave.
void om::sound::filters::GraphicEqualizer::setFilterBandwidth | ( | Float | newBandwidth | ) |
Set the octave bandwidth used for all filters that make up this graphic equalizer.
This value controls the width of the boost or cut that a filter produces. A larger bandwidth indicates a wider filter, while a smaller bandwidth indicates a narrower filter.
The default bandwidth is 1/3 of an octave.
|
virtual |
Return a human-readable name for this parametric filter.
The method returns the string "Parametric Filter".
Reimplemented from om::sound::filters::SoundFilter.
|
virtual |
Return the manufacturer name of this parametric filter.
The method returns the string "Om Sound".
Reimplemented from om::sound::filters::SoundFilter.
|
virtual |
Return an object representing the version of this parametric filter.
Reimplemented from om::sound::filters::SoundFilter.
|
virtual |
Return an object that describes the category of effect that this filter implements.
This method returns the value FilterCategory::EQUALIZER.
Reimplemented from om::sound::filters::SoundFilter.
|
virtual |
Return whether or not this graphic equalizer can process audio data in-place.
This method always returns TRUE, graphic equalizers can process audio data in-place.
Reimplemented from om::sound::filters::SoundFilter.
|
virtual |
Return the total number of generic accessible parameters this filter has.
Reimplemented from om::sound::filters::SoundFilter.
|
virtual |
Get information about the parameter at the specified index.
Reimplemented from om::sound::filters::SoundFilter.
|
static |
A string indicating the human-readable name of this graphic equalizer.
|
static |
A string indicating the manufacturer name of this graphic equalizer.
|
static |
An object indicating the version of this graphic equalizer.