14 class SallenKeyFilter;
59 void process(
int num_samples)
override;
87 Output* internal_modulation =
nullptr);
A module that implements a comb filter effect.
Definition comb_module.h:17
A state-variable filter (SVF) implementation, supporting multiple filter types (12/24 dB,...
Definition digital_svf.h:17
A diode ladder filter implementation for the Vital synthesizer.
Definition diode_filter.h:20
A nonlinear filter that produces a "dirty" and saturated sound, ideal for adding character to the sig...
Definition dirty_filter.h:30
A versatile filter module supporting multiple filter models and mixing options.
Definition filter_module.h:25
SallenKeyFilter * sallen_key_filter_
Sallen-Key filter submodule (analog-inspired).
Definition filter_module.h:147
@ kNumInputs
Definition filter_module.h:40
@ kMidi
Definition filter_module.h:39
@ kReset
Definition filter_module.h:37
@ kKeytrack
Definition filter_module.h:38
@ kAudio
Definition filter_module.h:36
std::string prefix_
A prefix for naming parameters, enabling multiple instances.
Definition filter_module.h:130
const Value * getOnValue()
Retrieves the "on" Value for controlling the filter state if it was created.
Definition filter_module.h:115
Value * filter_model_
A parameter selecting which filter model to use.
Definition filter_module.h:135
void setMono(bool mono)
Configures the FilterModule to be mono or polyphonic.
Definition filter_module.cpp:260
void setModel(int new_model)
Sets the current filter model, enabling the corresponding submodule and disabling others.
Definition filter_module.cpp:199
DirtyFilter * dirty_filter_
"Dirty" filter submodule (non-linear, characterful).
Definition filter_module.h:143
bool was_on_
Tracks whether the filter was previously on or off.
Definition filter_module.h:129
DigitalSvf * digital_svf_
Digital state-variable filter submodule.
Definition filter_module.h:141
Output * filter_mix_
The parameter output controlling the wet/dry mix.
Definition filter_module.h:138
int last_model_
Tracks the last active filter model to detect changes.
Definition filter_module.h:128
bool create_on_value_
Whether an "on" parameter should be created.
Definition filter_module.h:131
FilterModule(std::string prefix="")
Constructs a FilterModule, optionally with a prefix for parameter naming.
Definition filter_module.cpp:15
virtual Processor * clone() const override
Clones the filter module, creating a new instance with identical settings.
Definition filter_module.h:104
poly_float mix_
Current wet/dry mix value for blending filtered audio with the original.
Definition filter_module.h:136
bool mono_
True if the filter is in mono mode, false for polyphonic.
Definition filter_module.h:132
virtual ~FilterModule()
Definition filter_module.h:49
void hardReset() override
Performs a hard reset of all filter submodules, clearing their states and buffers.
Definition filter_module.cpp:175
void process(int num_samples) override
Processes a block of samples, applying the selected filter model and mixing the result.
Definition filter_module.cpp:231
Output * createModControl(std::string name, bool audio_rate=false, bool smooth_value=false, Output *internal_modulation=nullptr)
Creates a modulation control parameter for the filter.
Definition filter_module.cpp:189
FormantModule * formant_filter_
Formant filter submodule (for vowel/formant filtering).
Definition filter_module.h:144
CombModule * comb_filter_
Comb filter submodule.
Definition filter_module.h:140
void init() override
Initializes the filter module, creating parameters and linking them to submodules.
Definition filter_module.cpp:58
PhaserFilter * phaser_filter_
Phaser filter submodule (phase-based filtering).
Definition filter_module.h:146
LadderFilter * ladder_filter_
Ladder filter submodule (classic analog-style filter).
Definition filter_module.h:145
void setCreateOnValue(bool create_on_value)
Sets whether a "on/off" value control should be created.
Definition filter_module.h:66
DiodeFilter * diode_filter_
Diode filter submodule.
Definition filter_module.h:142
Value * on_
Optional "on" control parameter.
Definition filter_module.h:134
A classic transistor ladder-style filter for the Vital synthesizer.
Definition ladder_filter.h:19
A multi-stage phaser filter for the Vital synthesizer.
Definition phaser_filter.h:19
Base class for all signal-processing units in Vital.
Definition processor.h:212
A Sallen-Key style filter capable of multiple modes (12dB, 24dB, dual modes) with nonlinear drive and...
Definition sallen_key_filter.h:28
A ProcessorRouter that encapsulates a cohesive unit of functionality in the synthesizer.
Definition synth_module.h:129
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
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...