|
HART
0.2.0
High level Audio Regression and Testing
|
Process signals. More...
Classes | |
| class | AdditiveNoise< SampleType > |
| Mixes additive white noise to the signal. More... | |
| class | DSPBase< SampleType > |
| Polymorphic base for all DSP. More... | |
| class | DSP< SampleType, Derived > |
| Base for DSP effects. More... | |
| class | DSPFunction< SampleType > |
| A DSP processor defined by a user-provided function. More... | |
| class | DSPSequence< SampleType > |
| A DSP unit that renders audio through a linear sequence of DSP instances. More... | |
| class | GainDb< SampleType > |
| Applies gain in decibels to the signal. More... | |
| class | GainLinear< SampleType > |
| Applies linear gain (not decibels) to the signal. More... | |
| class | HardClip< SampleType > |
| Applies symmetrical hard clipping (no knee) to the signal. More... | |
| class | Mute< SampleType > |
| Mutes selected channels in the signal. More... | |
| class | StereoToMidSide< SampleType > |
| Converts regular stereo signal into mid-side signal. More... | |
| class | TimeShift< SampleType > |
| Shifts an audio signal forward in time by a fixed amount. More... | |
Macros | |
| #define | HART_DSP_NON_COPYABLE std::unique_ptr<DSP<SampleType>> copy() const override { return nullptr; } |
| Forbids hart::DSP::copy() method. | |
| #define | HART_DSP_NON_MOVABLE std::unique_ptr<DSP<SampleType>> move() override { return nullptr; } |
| Forbids hart::DSP::move() method. | |
| #define | HART_DSP_COPYABLE(ClassName) |
| Implements a generic hart::DSP::copy() method. | |
| #define | HART_DSP_MOVABLE(ClassName) |
| Implements a generic hart::DSP::move() method. | |
| #define | HART_DSP_SEQUENCE(...) (DSPSequenceBuilder() >> __VA_ARGS__).build() |
| Creates a linear DSP sequence using concise chain syntax. | |
| #define | HART_DSP_SEQUENCE_T(SampleType, ...) (hart::DSPSequenceBuilder<SampleType>() >> __VA_ARGS__).build() |
| Creates a DSP sequence for an explicit sample type. | |
Functions | |
| template<typename SampleType > | |
| std::ostream & | operator<< (std::ostream &stream, const DSPBase< SampleType > &dsp) |
| Prints readable text representation of the DSP object into the I/O stream. | |
Process signals.
| #define HART_DSP_NON_COPYABLE std::unique_ptr<DSP<SampleType>> copy() const override { return nullptr; } |
Forbids hart::DSP::copy() method.
Put this into your class body's public section if either is true:
Definition at line 582 of file hart_dsp.hpp.
| #define HART_DSP_NON_MOVABLE std::unique_ptr<DSP<SampleType>> move() override { return nullptr; } |
Forbids hart::DSP::move() method.
Put this into your class body's public section if either is true:
Obviously, you won't be able to pass your class to the host by rvalue or explicit move, but you still can pass it wrapped into a smart pointer like so:
Definition at line 597 of file hart_dsp.hpp.
| #define HART_DSP_COPYABLE | ( | ClassName | ) |
Implements a generic hart::DSP::copy() method.
Definition at line 602 of file hart_dsp.hpp.
| #define HART_DSP_MOVABLE | ( | ClassName | ) |
Implements a generic hart::DSP::move() method.
Definition at line 610 of file hart_dsp.hpp.
| #define HART_DSP_SEQUENCE | ( | ... | ) | (DSPSequenceBuilder() >> __VA_ARGS__).build() |
Creates a linear DSP sequence using concise chain syntax.
This macro is the preferred way to create a DSPSequence.
It accepts a chain of DSP units chained with >>, preserving the exact order in which they should process the audio.
Example:
The resulting object behaves as a normal DSP subclass and can, among other things, be:
processAudioWith()Signal's DSP chaincopy()double). You can also just use explicitly typedHART_DSP_SEQUENCE_T(). Definition at line 328 of file hart_dsp_sequence.hpp.
| #define HART_DSP_SEQUENCE_T | ( | SampleType, | |
| ... | |||
| ) | (hart::DSPSequenceBuilder<SampleType>() >> __VA_ARGS__).build() |
Creates a DSP sequence for an explicit sample type.
This typed variant of HART_DSP_SEQUENCE(...) is useful when DSP aliases are not declared.
Example:
| SampleType | The sample type used by the sequence and all DSP units |
Definition at line 346 of file hart_dsp_sequence.hpp.
|
related |
Prints readable text representation of the DSP object into the I/O stream.
Definition at line 570 of file hart_dsp.hpp.