ASPiK SDK
|
Use this interface for objects that process audio input samples to produce audio output samples. A derived class must implement the three abstract methods. The others are optional. More...
#include <fxobjects.h>
Public Member Functions | |
virtual bool | reset (double _sampleRate)=0 |
virtual double | processAudioSample (double xn)=0 |
virtual bool | canProcessAudioFrame ()=0 |
virtual void | setSampleRate (double _sampleRate) |
virtual void | enableAuxInput (bool enableAuxInput) |
virtual double | processAuxInputAudioSample (double xn) |
virtual bool | processAudioFrame (const float *inputFrame, float *outputFrame, uint32_t inputChannels, uint32_t outputChannels) |
Use this interface for objects that process audio input samples to produce audio output samples. A derived class must implement the three abstract methods. The others are optional.
|
pure virtual |
return true if the derived object can process a frame, false otherwise
Implemented in Biquad, AudioFilter, LRFilterBank, AudioDetector, DynamicsProcessor, ImpulseConvolver, AnalogFIRFilter, AudioDelay, ModulatedDelay, PhaseShifter, SimpleLPF, SimpleDelay, CombFilter, DelayAPF, TwoBandShelvingFilter, ReverbTank, PeakLimiter, ZVAFilter, EnvelopeFollower, TriodeClassA, ClassATubePre, BitCrusher, WDFButterLPF3, WDFTunableButterLPF3, WDFBesselBSF3, WDFConstKBPF6, WDFIdealRLCLPF, WDFIdealRLCHPF, WDFIdealRLCBPF, WDFIdealRLCBSF, and PSMVocoder.
|
inlinevirtual |
switch to enable/disable the aux input
Reimplemented in DynamicsProcessor.
|
inlinevirtual |
for processing objects with a sidechain input or other necessary aux input — optional processing function e.g. does not make sense for some objects to implement this such as inherently mono objects like Biquad BUT a processor that must use both left and right channels (ping-pong delay) would require it
Reimplemented in AudioDelay, ModulatedDelay, and ReverbTank.
|
pure virtual |
process one sample in and out
Implemented in PSMVocoder, Biquad, AudioFilter, LRFilterBank, AudioDetector, DynamicsProcessor, ImpulseConvolver, AnalogFIRFilter, AudioDelay, ModulatedDelay, PhaseShifter, SimpleLPF, SimpleDelay, CombFilter, DelayAPF, NestedDelayAPF, TwoBandShelvingFilter, ReverbTank, PeakLimiter, ZVAFilter, EnvelopeFollower, TriodeClassA, ClassATubePre, BitCrusher, WDFButterLPF3, WDFTunableButterLPF3, WDFBesselBSF3, WDFConstKBPF6, WDFIdealRLCLPF, WDFIdealRLCHPF, WDFIdealRLCBPF, and WDFIdealRLCBSF.
|
inlinevirtual |
for processing objects with a sidechain input or other necessary aux input the return value is optional and will depend on the subclassed object
Reimplemented in DynamicsProcessor.
|
pure virtual |
initialize the object with the new sample rate
Implemented in Biquad, AudioFilter, LRFilterBank, AudioDetector, DynamicsProcessor, ImpulseConvolver, AnalogFIRFilter, AudioDelay, ModulatedDelay, PhaseShifter, SimpleLPF, SimpleDelay, CombFilter, DelayAPF, NestedDelayAPF, TwoBandShelvingFilter, ReverbTank, PeakLimiter, ZVAFilter, EnvelopeFollower, TriodeClassA, ClassATubePre, BitCrusher, WDFButterLPF3, WDFTunableButterLPF3, WDFBesselBSF3, WDFConstKBPF6, WDFIdealRLCLPF, WDFIdealRLCHPF, WDFIdealRLCBPF, WDFIdealRLCBSF, and PSMVocoder.
|
inlinevirtual |
set or change the sample rate; normally this is done during reset( ) but may be needed outside of initialzation
Reimplemented in AudioFilter, and AudioDetector.