10 force_audio_rate_(force_audio_rate) {
A processor that generates an envelope signal based on typical ADSR (Attack, Decay,...
Definition envelope.h:16
@ kReleasePower
Definition envelope.h:41
@ kDelay
Definition envelope.h:33
@ kDecay
Definition envelope.h:37
@ kAttackPower
Definition envelope.h:35
@ kSustain
Definition envelope.h:39
@ kTrigger
Definition envelope.h:42
@ kHold
Definition envelope.h:36
@ kAttack
Definition envelope.h:34
@ kRelease
Definition envelope.h:40
@ kDecayPower
Definition envelope.h:38
@ kValue
Definition envelope.h:53
@ kPhase
Definition envelope.h:54
std::string prefix_
Prefix for all envelope parameter names.
Definition envelope_module.h:76
EnvelopeModule(const std::string &prefix, bool force_audio_rate=false)
Constructs an EnvelopeModule with a given prefix for parameter naming and a control rate mode.
Definition envelope_module.cpp:7
@ kTrigger
Definition envelope_module.h:25
void init() override
Initializes the EnvelopeModule, creating parameter controls and connecting them to the internal Envel...
Definition envelope_module.cpp:23
@ kValue
Definition envelope_module.h:36
@ kPhase
Definition envelope_module.h:37
bool force_audio_rate_
Whether this module is forced to run at audio rate.
Definition envelope_module.h:78
Envelope * envelope_
The internal Envelope processor handling the envelope generation.
Definition envelope_module.h:77
void setControlRate(bool control_rate) override
Sets the processing mode of the envelope (control-rate or audio-rate) if not forced.
Definition envelope_module.h:70
void useOutput(Output *output)
Uses an existing Output object as this Processor's first output.
Definition processor.cpp:138
force_inline Input * input(unsigned int index=0) const
Retrieves the Input pointer at a given index.
Definition processor.h:587
void useInput(Input *input)
Uses an existing Input object as this Processor's first input.
Definition processor.cpp:126
void plug(const Output *source)
Connects an external Output to this Processor's first input.
Definition processor.cpp:79
force_inline Output * output(unsigned int index=0) const
Retrieves the Output pointer at a given index.
Definition processor.h:616
virtual void addProcessor(Processor *processor)
Adds a Processor to be managed by this router.
Definition processor_router.cpp:121
A ProcessorRouter that encapsulates a cohesive unit of functionality in the synthesizer.
Definition synth_module.h:129
Output * createPolyModControl(std::string name, bool audio_rate=false, bool smooth_value=false, Output *internal_modulation=nullptr, Input *reset=nullptr)
Creates a polyphonic mod control, including applying parameter scaling.
Definition synth_module.cpp:173
Value * createBaseControl(std::string name, bool audio_rate=false, bool smooth_value=false)
Creates a simple control processor for a given parameter name.
Definition synth_module.cpp:22
A Processor that maintains and outputs a constant poly_float value.
Definition value.h:24
Contains classes and functions used within the Vital synthesizer framework.
Holds and manages a buffer of samples (poly_float) for a Processor's output.
Definition processor.h:35