A flexible delay line effect processor that can operate in various styles and apply filtering.
Definition delay.h:47
void hardReset() override
Hard-resets the delay line and internal filters.
Definition delay.cpp:43
A flanger effect module using a modulated delay line to produce comb-filter-like sweeps.
Definition flanger_module.h:15
void hardReset() override
Performs a hard reset of the flanger's delay line, clearing any internal buffers.
Definition flanger_module.h:55
void processWithInput(const poly_float *audio_in, int num_samples) override
Processes audio through the flanger effect using the input buffer and number of samples.
Definition flanger_module.cpp:49
Output * frequency_
The flanger frequency parameter (possibly tempo-synced).
Definition flanger_module.h:97
FlangerModule(const Output *beats_per_second)
Constructs a FlangerModule linked to a beats-per-second output for tempo syncing.
Definition flanger_module.cpp:8
@ kAudioOutput
Definition flanger_module.h:30
@ kFrequencyOutput
Definition flanger_module.h:31
@ kNumOutputs
Definition flanger_module.h:32
void enable(bool enable) override
Enables or disables the module, resetting the delay if disabled.
Definition flanger_module.h:64
const Output * beats_per_second_
Reference output for tempo sync.
Definition flanger_module.h:96
Processor * clone() const override
The FlangerModule does not currently support cloning.
Definition flanger_module.h:93
StereoDelay * delay_
The stereo delay line used to create the flanging effect.
Definition flanger_module.h:104
static constexpr mono_float kMaxFlangerSemitoneOffset
Definition flanger_module.h:18
cr::Value delay_frequency_
Internal parameter representing the current delay frequency set in StereoDelay.
Definition flanger_module.h:103
Output * phase_offset_
Controls stereo phase offset for left/right channels.
Definition flanger_module.h:98
Output * mod_depth_
Controls the depth (amount) of modulation applied to the delay time.
Definition flanger_module.h:100
static constexpr mono_float kFlangerDelayRange
Definition flanger_module.h:19
virtual ~FlangerModule()
Destroys the FlangerModule and releases associated resources.
Definition flanger_module.cpp:14
void correctToTime(double seconds) override
Adjusts the internal modulation phase to align with a given time, useful for syncing to host time.
Definition flanger_module.cpp:80
static constexpr mono_float kFlangerCenter
Definition flanger_module.h:20
void init() override
Initializes the FlangerModule by creating parameters and setting up the internal delay line.
Definition flanger_module.cpp:16
Output * center_
Controls the central delay time around which modulation occurs.
Definition flanger_module.h:99
static constexpr mono_float kModulationDelayBuffer
Definition flanger_module.h:21
poly_float phase_
Current modulation phase.
Definition flanger_module.h:101
Base class for all signal-processing units in Vital.
Definition processor.h:212
virtual void process(int num_samples) override
Processes audio through all Processors managed by this router.
Definition processor_router.cpp:57
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
A control-rate variant of the Value processor.
Definition value.h:82
#define VITAL_ASSERT(x)
Definition common.h:11
Contains classes and functions used within the Vital synthesizer framework.
float mono_float
Definition common.h:33
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
Defines the SynthModule class which extends ProcessorRouter to form a building block of the Vital syn...