|
Gin
|
Equation parser with audio-specific functions for DSP processing. More...
#include <gin_audioequationparser.h>
Public Member Functions | |
| AudioEquationParser ()=default | |
| void | addConstants () |
| Adds audio constants like pi, sampleRate, e, etc. | |
| void | addUtilities () |
| Adds utility functions like clamp, wrap, fold, abs, etc. | |
| void | addOscillatorFunctions () |
| Adds oscillator functions: sine, saw, square, triangle, noise, etc. | |
| void | addSynthFilterFunctions () |
| Adds synthesis filters: lp12, lp24, hp12, hp24, bp12, bp24, notch12, notch24. | |
| void | addEffectFilterFunctions () |
| Adds effect-style filters with resonance control for creative processing. | |
Public Member Functions inherited from EquationParser | |
| EquationParser () | |
| EquationParser (const juce::String &equation) | |
| ~EquationParser () | |
| void | defineNameChars (const juce::String &chars) |
| void | setEquation (const juce::String &equation) |
| void | clearVariables () |
| void | addVariable (const juce::String &name, double *value) |
| void | setVarFactory (std::function< double *(const char *)> fun) |
| juce::StringArray | getUsedVariables () |
| void | clearConstants () |
| void | addConstant (const juce::String &name, double value) |
| void | addFunction (const juce::String &name, std::function< double(int id, const juce::String &)> fun) |
| void | addFunction (const juce::String &name, std::function< double(int id)> fun) |
| void | addFunction (const juce::String &name, std::function< double(int id, double)> fun) |
| void | addFunction (const juce::String &name, std::function< double(int id, double, double)> fun) |
| void | addFunction (const juce::String &name, std::function< double(int id, double, double, double)> fun) |
| void | addFunction (const juce::String &name, std::function< double(int id, double, double, double, double)> fun) |
| double | evaluate () |
| bool | hasError () const |
| juce::String | getError () const |
Public Member Functions inherited from AudioFunctionHost | |
| void | setSampleRate (double sr) |
| double | getSampleRate () |
| void | reset () |
| void | addConstants (gin::EquationParser &) |
| void | addUtilities (gin::EquationParser &) |
| void | addOscillatorFunctions (gin::EquationParser &) |
| void | addSynthFilterFunctions (gin::EquationParser &) |
| void | addEffectFilterFunctions (gin::EquationParser &) |
| template<class T > | |
| T * | getFuncParams (int i, double sr) |
Additional Inherited Members | |
Public Attributes inherited from AudioFunctionHost | |
| gin::BandLimitedLookupTables * | lookupTables = nullptr |
Protected Attributes inherited from AudioFunctionHost | |
| std::map< int, std::unique_ptr< FuncState > > | funcStates |
| double | sampleRate = 44100.0 |
Equation parser with audio-specific functions for DSP processing.
AudioEquationParser extends EquationParser with audio and synthesis functions, allowing users to create custom audio processing algorithms using mathematical expressions. It provides oscillators, filters, utilities, and audio constants that can be evaluated in real-time for creative sound design.
Key Features:
The parser is particularly useful for:
Usage:
|
default |
| void AudioEquationParser::addConstants | ( | ) |
Adds audio constants like pi, sampleRate, e, etc.
| void AudioEquationParser::addUtilities | ( | ) |
Adds utility functions like clamp, wrap, fold, abs, etc.
| void AudioEquationParser::addOscillatorFunctions | ( | ) |
Adds oscillator functions: sine, saw, square, triangle, noise, etc.
| void AudioEquationParser::addSynthFilterFunctions | ( | ) |
Adds synthesis filters: lp12, lp24, hp12, hp24, bp12, bp24, notch12, notch24.
| void AudioEquationParser::addEffectFilterFunctions | ( | ) |
Adds effect-style filters with resonance control for creative processing.