void useOutput(Output *output)
Uses an existing Output object as this Processor's first output.
Definition processor.cpp:138
void plug(const Output *source)
Connects an external Output to this Processor's first input.
Definition processor.cpp:79
virtual void process(int num_samples)=0
Main processing function. Called by the ProcessorRouter.
force_inline Output * output(unsigned int index=0) const
Retrieves the Output pointer at a given index.
Definition processor.h:616
virtual void setSampleRate(int sample_rate)
Updates the sample rate of this Processor (scaled by oversampling).
Definition processor.h:285
virtual void init()
Called after constructor, used for any additional initialization. Subclasses can override....
Definition processor.h:258
virtual void addIdleProcessor(Processor *processor)
Adds a Processor that should remain idle (not processed) in the router.
Definition processor_router.cpp:146
virtual void process(int num_samples) override
Processes audio through all Processors managed by this router.
Definition processor_router.cpp:57
A Processor implementing a dense feedback network reverb.
Definition reverb.h:16
void hardReset() override
Resets the reverb, clearing buffer contents and resetting filters.
Definition reverb.cpp:483
void setSampleRate(int sample_rate) override
Overrides base class to update reverb internal buffers at a new sample rate.
Definition reverb.cpp:462
@ kChorusFrequency
Frequency of the chorus LFO (Hz)
Definition reverb.h:107
@ kPreHighCutoff
Pre-filter high cutoff (MIDI note)
Definition reverb.h:101
@ kSize
Overall size (scales buffer size exponent)
Definition reverb.h:109
@ kChorusAmount
Amount of chorusing applied to feedback lines.
Definition reverb.h:106
@ kHighGain
High-frequency attenuation (dB)
Definition reverb.h:105
@ kDelay
Additional pre-delay in samples.
Definition reverb.h:110
@ kPreLowCutoff
Pre-filter low cutoff (MIDI note)
Definition reverb.h:100
@ kHighCutoff
Internal feedback high cutoff (MIDI note)
Definition reverb.h:104
@ kLowCutoff
Internal feedback low cutoff (MIDI note)
Definition reverb.h:102
@ kDecayTime
Reverb decay time in seconds.
Definition reverb.h:99
@ kLowGain
Low-frequency attenuation (dB)
Definition reverb.h:103
@ kWet
Dry/wet mix.
Definition reverb.h:111
void processWithInput(const poly_float *audio_in, int num_samples) override
Processes a block of audio using a provided input buffer.
Definition reverb.cpp:128
void enable(bool enable) override
Enables or disables the reverb module.
Definition reverb_module.cpp:75
void init() override
Initializes the reverb module and sets up parameter controls.
Definition reverb_module.cpp:25
void processWithInput(const poly_float *audio_in, int num_samples) override
Processes an input audio buffer through the reverb effect.
Definition reverb_module.cpp:100
Reverb * reverb_
Definition reverb_module.h:80
void hardReset() override
Performs a hard reset of the reverb.
Definition reverb_module.cpp:64
void setSampleRate(int sample_rate) override
Sets the sample rate of the reverb processor.
Definition reverb_module.cpp:89
ReverbModule()
Constructs a ReverbModule.
Definition reverb_module.cpp:11
virtual ~ReverbModule()
Destructor for ReverbModule.
Definition reverb_module.cpp:16
A ProcessorRouter that encapsulates a cohesive unit of functionality in the synthesizer.
Definition synth_module.h:129
virtual void enable(bool enable) override
Enables or disables this SynthModule and its owned processors.
Definition synth_module.cpp:516
Output * createMonoModControl(std::string name, bool audio_rate=false, bool smooth_value=false, Output *internal_modulation=nullptr)
Creates a monophonic mod control, including applying parameter scaling.
Definition synth_module.cpp:104
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
Represents a vector of floating-point values using SIMD instructions.
Definition poly_values.h:600