|
Gin
|
Multi-Segment Envelope Generator (MSEG) for complex modulation curves. More...
#include <gin_mseg.h>
Classes | |
| struct | Data |
| struct | Parameters |
| struct | Point |
Public Member Functions | |
| MSEG (Data &d) | |
| int | getMaxPoints () |
| juce::Array< Point > & | getPoints () |
| void | setSampleRate (double sr) |
| void | setParameters (Parameters p) |
| void | reset () |
| void | setPoints (const juce::Array< Point > &p) |
| void | noteOn (float phase_=-1.0f) |
| float | process (int numSamples) |
| float | getOutput () |
| float | getCurrentPhase () |
| float | getValueAt (float atPhase) |
Multi-Segment Envelope Generator (MSEG) for complex modulation curves.
MSEG provides a sophisticated LFO/envelope generator with multiple breakpoints and adjustable curves between them. Each segment can have independent curve shaping, allowing for complex modulation patterns beyond simple LFO waveforms.
Key Features:
Each Point has:
Usage:
| MSEG::MSEG | ( | Data & | d | ) |
References MSEG::Data::maxPoints, MSEG::Data::numPoints, MSEG::Data::points, and MSEG::Data::reset().
| int MSEG::getMaxPoints | ( | ) |
References MSEG::Data::maxPoints.
| juce::Array< Point > & MSEG::getPoints | ( | ) |
References MSEG::Data::points.
| void MSEG::setParameters | ( | Parameters | p | ) |
| void MSEG::reset | ( | ) |
References MSEG::Data::numPoints, and MSEG::Data::points.
References MSEG::Parameters::delay, MSEG::Parameters::fade, and MSEG::Parameters::phase.
| float MSEG::getOutput | ( | ) |
References MSEG::Parameters::depth, and MSEG::Parameters::offset.
| float MSEG::getCurrentPhase | ( | ) |
References MSEG::Point::curve, MSEG::Data::numPoints, MSEG::Data::points, MSEG::Point::time, and MSEG::Point::value.