9 class IirHalfbandDecimator;
65 virtual void process(
int num_samples)
override;
88 std::vector<IirHalfbandDecimator*> stages_;
A ProcessorRouter that intelligently reduces audio sample rate based on configured stages.
Definition decimator.h:19
Decimator(int max_stages=1)
Constructs a Decimator with a specified maximum number of halfband stages.
Definition decimator.cpp:14
virtual Processor * clone() const override
Cloning not implemented for the Decimator.
Definition decimator.h:58
virtual void process(int num_samples) override
Main audio processing routine that checks required decimation stages and processes them.
Definition decimator.cpp:63
virtual void setOversampleAmount(int) override
No-op for oversample amount setting, handled internally.
Definition decimator.h:72
void reset(poly_mask reset_mask) override
Resets all decimator stages for specified voices.
Definition decimator.cpp:49
@ kNumInputs
Definition decimator.h:27
@ kAudio
The main audio input to be decimated.
Definition decimator.h:26
virtual ~Decimator()
Destructor. Cleans up decimator stages.
Definition decimator.cpp:27
void init() override
Initializes the Decimator, hooking up audio connections for each stage.
Definition decimator.cpp:35
Base class for all signal-processing units in Vital.
Definition processor.h:212
A specialized Processor that manages a directed graph of Processors and ensures correct processing or...
Definition processor_router.h:34
#define VITAL_ASSERT(x)
Definition common.h:11
Contains classes and functions used within the Vital synthesizer framework.
Declares the ProcessorRouter class, which manages a graph of Processors and their dependencies.
Represents a vector of integer values using SIMD instructions.
Definition poly_values.h:56