Vital
Loading...
Searching...
No Matches
distortion_module.h
Go to the documentation of this file.
1#pragma once
2
3#include "synth_constants.h"
4#include "synth_module.h"
5
6namespace vital {
7
8 class Distortion;
9 class DigitalSvf;
10
19 public:
24
28 virtual ~DistortionModule();
29
36 virtual void init() override;
37
42 virtual void setSampleRate(int sample_rate) override;
43
54 virtual void processWithInput(const poly_float* audio_in, int num_samples) override;
55
60 virtual Processor* clone() const override { return new DistortionModule(*this); }
61
62 protected:
68
69 JUCE_LEAK_DETECTOR(DistortionModule)
70 };
71} // namespace vital
A state-variable filter (SVF) implementation, supporting multiple filter types (12/24 dB,...
Definition digital_svf.h:17
A Processor that applies various types of distortion to an audio signal.
Definition distortion.h:16
A module that applies distortion and optional filtering to an audio signal.
Definition distortion_module.h:18
Output * distortion_mix_
Control for blending between dry and distorted signal.
Definition distortion_module.h:66
virtual Processor * clone() const override
Clones this DistortionModule instance, creating a new identical module.
Definition distortion_module.h:60
DistortionModule()
Constructs a new DistortionModule.
Definition distortion_module.cpp:8
DigitalSvf * filter_
The internal digital state-variable filter processor.
Definition distortion_module.h:65
virtual ~DistortionModule()
Destroys the DistortionModule, releasing its internal resources.
Definition distortion_module.cpp:14
Value * filter_order_
Determines the order of filtering relative to distortion.
Definition distortion_module.h:64
virtual void processWithInput(const poly_float *audio_in, int num_samples) override
Processes a block of samples with given input audio, applying distortion and filtering.
Definition distortion_module.cpp:66
virtual void init() override
Initializes the DistortionModule, setting up internal controls and connecting processors.
Definition distortion_module.cpp:18
virtual void setSampleRate(int sample_rate) override
Sets the sample rate for the module, ensuring time-dependent parameters scale properly.
Definition distortion_module.cpp:54
poly_float mix_
The current effective mix value for wet/dry blending.
Definition distortion_module.h:67
Distortion * distortion_
The internal Distortion processor.
Definition distortion_module.h:63
Base class for all signal-processing units in Vital.
Definition processor.h:212
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...