Async 1.8.0
|
A class for creating a wide range of audio filters. More...
#include <AsyncAudioFilter.h>
Public Member Functions | |
AudioFilter (int sample_rate=INTERNAL_SAMPLE_RATE) | |
Constuctor. | |
AudioFilter (const std::string &filter_spec, int sample_rate=INTERNAL_SAMPLE_RATE) | |
Constuctor. | |
~AudioFilter (void) | |
Destructor. | |
bool | parseFilterSpec (const std::string &filter_spec) |
Create the filter from the given filter specification. | |
std::string | errorString (void) const |
Get the latest filter creation error. | |
void | setOutputGain (float gain_db) |
Set the output gain of the filter. | |
void | reset (void) |
Reset the filter state. | |
![]() | |
AudioProcessor (void) | |
Default constuctor. | |
virtual | ~AudioProcessor (void) |
Destructor. | |
int | writeSamples (const float *samples, int len) |
Write audio to the filter. | |
void | flushSamples (void) |
Order a flush of all samples. | |
void | resumeOutput (void) |
Resume output to the sink if previously stopped. | |
void | allSamplesFlushed (void) |
All samples have been flushed by the sink. | |
![]() | |
AudioSink (void) | |
Default constuctor. | |
virtual | ~AudioSink (void) |
Destructor. | |
bool | registerSource (AudioSource *source) |
Register an audio source to provide samples to this sink. | |
void | unregisterSource (void) |
Unregister the previously registered audio source. | |
bool | isRegistered (void) const |
Check if an audio source has been registered. | |
AudioSource * | source (void) const |
Get the registered audio source. | |
![]() | |
AudioSource (void) | |
Default constuctor. | |
virtual | ~AudioSource (void) |
Destructor. | |
bool | registerSink (AudioSink *sink, bool managed=false) |
Register an audio sink to provide samples to. | |
void | unregisterSink (void) |
Unregister the previously registered audio sink. | |
bool | isRegistered (void) const |
Check if an audio sink has been registered. | |
AudioSink * | sink (void) const |
Get the registered audio sink. | |
bool | sinkManaged (void) const |
Check if the sink is managed or not. | |
void | handleAllSamplesFlushed (void) |
The registered sink has flushed all samples. | |
Protected Member Functions | |
void | processSamples (float *dest, const float *src, int count) |
Process incoming samples and put them into the output buffer. | |
![]() | |
void | setInputOutputSampleRate (int input_rate, int output_rate) |
Set the input and output sample rates. | |
![]() | |
void | sourceResumeOutput (void) |
Tell the source that we are ready to accept more samples. | |
void | sourceAllSamplesFlushed (void) |
Tell the source that all samples have been flushed. | |
bool | setHandler (AudioSink *handler) |
Setup another sink to handle the incoming audio. | |
void | clearHandler (void) |
Clear a handler that was previously setup with setHandler. | |
AudioSink * | handler (void) const |
![]() | |
int | sinkWriteSamples (const float *samples, int len) |
void | sinkFlushSamples (void) |
bool | setHandler (AudioSource *handler) |
Setup another source to handle the outgoing audio. | |
AudioSource * | handler (void) const |
void | clearHandler (void) |
Clear a handler that was previously setup with setHandler. | |
A class for creating a wide range of audio filters.
Definition at line 113 of file AsyncAudioFilter.h.
|
explicit |
Constuctor.
sample_rate | The sampling rate |
|
explicit |
Constuctor.
filter_spec | The filter specification |
sample_rate | The sampling rate |
Use this constructor to set up at filter and call parseFilterSpec on the given filter specification. If the filter creation fails, this function will do an "exit(1)".
Async::AudioFilter::~AudioFilter | ( | void | ) |
Destructor.
|
inline |
Get the latest filter creation error.
If the parseFilterSpec function return false, this function can be used to retrieve an error text describing the error.
Definition at line 158 of file AsyncAudioFilter.h.
bool Async::AudioFilter::parseFilterSpec | ( | const std::string & | filter_spec | ) |
Create the filter from the given filter specification.
filter_spec | The filter specification |
If using the constructor where a filter specification string is not given, use this function to set up the filter. This function may be called multiple times to change the filter without creating a new filter object.
|
protectedvirtual |
Process incoming samples and put them into the output buffer.
dest | Destination buffer |
src | Source buffer |
count | Number of samples in the source buffer |
This function is called from the base class to do the actual processing of the incoming samples. All samples must be processed, otherwise they are lost and the output buffer will contain garbage.
Implements Async::AudioProcessor.
void Async::AudioFilter::reset | ( | void | ) |
Reset the filter state.
void Async::AudioFilter::setOutputGain | ( | float | gain_db | ) |
Set the output gain of the filter.
gain_db | The gain to set in dB |
Use this function to apply a gain (positive) or attenuation (negative) after the filter output. A gain of 6dB will amplify the signal with a factor of two.