The house low-frequency oscillator: seven waveforms plus a continuous shape morph, a delay/fade/repeat lifecycle, stereo and quadrature output, and a deterministic random layer — all on one phase accumulator. More...
#include <pulp/signal/lfo_sampling.hpp>#include <pulp/signal/mod_tools.hpp>#include <pulp/signal/rng.hpp>#include <algorithm>#include <cmath>#include <cstdint>Go to the source code of this file.
Classes | |
| class | pulp::signal::detail::BasicLfoT< SampleType, Convention > |
| Shared implementation selected by the two explicit public LFO types below. More... | |
| class | pulp::signal::LfoT< SampleType > |
| class | pulp::signal::EffectLfoT< SampleType > |
Namespaces | |
| namespace | pulp |
| namespace | pulp::signal |
| namespace | pulp::signal::detail |
| Round-2 effect-wave vocabulary. | |
Typedefs | |
| using | pulp::signal::Lfo = LfoT<float> |
| using | pulp::signal::Lfo64 = LfoT<double> |
| using | pulp::signal::EffectLfo = EffectLfoT<float> |
| using | pulp::signal::EffectLfo64 = EffectLfoT<double> |
Enumerations | |
| enum class | pulp::signal::detail::LfoConvention : std::uint8_t { pulp::signal::detail::toolkit , pulp::signal::detail::effect } |
| Selects the waveform/rate convention at the type boundary. More... | |
The house low-frequency oscillator: seven waveforms plus a continuous shape morph, a delay/fade/repeat lifecycle, stereo and quadrature output, and a deterministic random layer — all on one phase accumulator.
RT contract: prepare() and the set_*() setters recompute coefficients and are control-side calls. next(), next_stereo(), next_unipolar(), next_quadrature(), retrigger(), reset(), and the accessors allocate nothing and are audio-thread safe. The type owns no memory.
USE — what each waveform is actually for, because picking the wrong one is the difference between "modulated" and "musical":
Depth windows and cross-modulation of rate or fade are deliberately not here. Routing concerns belong to ModMatrixT and AttenuverterT; "an envelope rides the LFO's depth" is the matrix's via slot. The LFO stays a pure source.