50 void process(
int num_samples)
override;
A versatile filter module supporting multiple filter models and mixing options.
Definition filter_module.h:25
const Value * getOnValue()
Retrieves the "on" Value for controlling the filter state if it was created.
Definition filter_module.h:115
A module that manages two filter modules and provides multiple routing configurations.
Definition filters_module.h:16
void init() override
Initializes the FiltersModule, creating parameter controls and instantiating filter submodules.
Definition filters_module.cpp:15
FiltersModule()
Constructs the FiltersModule, initializing internal states and creating outputs for filter inputs.
Definition filters_module.cpp:6
virtual ~FiltersModule()
Definition filters_module.h:40
Processor * clone() const override
Clones the FiltersModule, creating a new instance with identical settings.
Definition filters_module.h:83
const Value * getFilter2OnValue() const
Retrieves the on/off value control for filter 2, if it exists.
Definition filters_module.h:95
FilterModule * filter_2_
The second filter module instance.
Definition filters_module.h:110
void processSerialBackward(int num_samples)
Processes filters in the reverse serial mode, with filter 2 feeding into filter 1.
Definition filters_module.cpp:90
std::shared_ptr< Output > filter_1_input_
Internal output buffer feeding filter 1.
Definition filters_module.h:115
Value * filter_2_filter_input_
Determines if filter 2 is connected in series/parallel routing.
Definition filters_module.h:113
FilterModule * filter_1_
The first filter module instance.
Definition filters_module.h:109
Value * filter_1_filter_input_
Determines if filter 1 is connected in series/parallel routing.
Definition filters_module.h:112
@ kReset
Definition filters_module.h:32
@ kNumInputs
Definition filters_module.h:33
@ kMidi
Definition filters_module.h:31
@ kFilter1Input
Definition filters_module.h:28
@ kKeytrack
Definition filters_module.h:30
@ kFilter2Input
Definition filters_module.h:29
void setOversampleAmount(int oversample) override
Sets the oversampling amount and updates internal buffers accordingly.
Definition filters_module.h:102
void processSerialForward(int num_samples)
Processes filters in serial mode, with filter 1 feeding into filter 2.
Definition filters_module.cpp:67
const Value * getFilter1OnValue() const
Retrieves the on/off value control for filter 1, if it exists.
Definition filters_module.h:89
void process(int num_samples) override
Processes a block of samples, applying either parallel or serial filter configurations based on param...
Definition filters_module.cpp:113
void processParallel(int num_samples)
Processes both filters in parallel, mixing their outputs.
Definition filters_module.cpp:46
std::shared_ptr< Output > filter_2_input_
Internal output buffer feeding filter 2.
Definition filters_module.h:116
Base class for all signal-processing units in Vital.
Definition processor.h:212
virtual void setOversampleAmount(int oversample)
Sets the oversampling amount and updates the effective sample rate.
Definition processor.h:293
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.
constexpr int kMaxBufferSize
Maximum buffer size for processing.
Definition common.h:39
Defines the SynthModule class which extends ProcessorRouter to form a building block of the Vital syn...