25 stages_[i].
reset(reset_mask);
27 remove_lows_stage_.
reset(reset_mask);
28 remove_highs_stage_.
reset(reset_mask);
41 allpass_output_ = 0.0f;
77 drive_ = (resonance_ * 0.5f + 1.0f) * filter_state.
drive;
84 peak3_amount_ = -peak1_amount_ - peak5_amount_ + 1.0f;
87 if (filter_state.
style)
force_inline void reset(poly_mask reset_mask)
Resets the filter state for the voices indicated by a mask.
Definition one_pole_filter.h:36
A multi-stage phaser filter for the Vital synthesizer.
Definition phaser_filter.h:19
PhaserFilter(bool clean)
Constructs a PhaserFilter object.
Definition phaser_filter.cpp:11
static constexpr int kMaxStages
Maximum number of stages (3 clusters of 4 stages = 12 total).
Definition phaser_filter.h:49
static constexpr mono_float kMaxResonance
Maximum resonance value.
Definition phaser_filter.h:29
static constexpr mono_float kMinResonance
Minimum resonance value.
Definition phaser_filter.h:24
void reset(poly_mask reset_mask) override
Resets internal filter states for the specified voices.
Definition phaser_filter.cpp:22
void hardReset() override
Performs a full reset of the filter states (for all voices).
Definition phaser_filter.cpp:34
virtual void process(int num_samples) override
Processes the audio buffer through the phaser effect.
Definition phaser_filter.cpp:48
void processWithInput(const poly_float *audio_in, int num_samples) override
Processes a given input buffer through the phaser effect.
Definition phaser_filter.cpp:58
void setupFilter(const FilterState &filter_state) override
Sets up the filter parameters (resonance, drive, peaks) based on the FilterState.
Definition phaser_filter.cpp:71
Base class for all signal-processing units in Vital.
Definition processor.h:212
force_inline Input * input(unsigned int index=0) const
Retrieves the Input pointer at a given index.
Definition processor.h:587
bool inputMatchesBufferSize(int input=0)
Checks whether the buffer size of a particular input matches the size needed by this Processor.
Definition processor.cpp:42
Holds the parameters necessary to configure a SynthFilter at runtime.
Definition synth_filter.h:92
poly_float pass_blend
Blend parameter in [0..2], controlling pass type.
Definition synth_filter.h:117
poly_float drive
Drive in linear magnitude.
Definition synth_filter.h:113
int style
Filter style enum (e.g., k12Db, k24Db)
Definition synth_filter.h:116
poly_float resonance_percent
Resonance parameter in [0..1].
Definition synth_filter.h:112
@ kAudio
Audio input index.
Definition synth_filter.h:55
#define VITAL_ASSERT(x)
Definition common.h:11
Contains faster but less accurate versions of utility math functions, such as exponential,...
const poly_mask kFullMask
A mask covering all lanes of a poly_float vector.
Definition synth_constants.h:257
force_inline poly_float clamp(poly_float value, mono_float min, mono_float max)
Clamps each lane of a vector to [min, max].
Definition poly_utils.h:306
force_inline poly_float maskLoad(poly_float zero_value, poly_float one_value, poly_mask reset_mask)
Selects between two values (zero_value or one_value) based on a mask in each lane.
Definition poly_utils.h:351
force_inline poly_float interpolate(poly_float from, poly_float to, mono_float t)
Performs a linear interpolation between two poly_floats using a scalar t in [0..1].
Definition poly_utils.h:182
Contains classes and functions used within the Vital synthesizer framework.
Represents a vector of floating-point values using SIMD instructions.
Definition poly_values.h:600
Represents a vector of integer values using SIMD instructions.
Definition poly_values.h:56