feat: remove filter from distortion (filter will be it's own plugin)
This commit is contained in:
parent
970cb6049d
commit
821f3d7d65
2 changed files with 4 additions and 40 deletions
|
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/make -f
|
#!/usr/bin/make -f
|
||||||
NAME = SquidgeDistortion
|
NAME = SquidgeDistortion
|
||||||
|
|
||||||
FILES_DSP = SquidgeDistortion.cpp ../../core/Gain.cpp ../../core/Clipper.cpp ../../core/Mixer.cpp ../../core/Filter.cpp
|
FILES_DSP = SquidgeDistortion.cpp ../../core/Gain.cpp ../../core/Clipper.cpp ../../core/Mixer.cpp
|
||||||
|
|
||||||
TARGETS = vst3 clap
|
TARGETS = vst3 clap
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
|
||||||
#include "../../core/Clipper.hpp"
|
#include "../../core/Clipper.hpp"
|
||||||
#include "../../core/Filter.hpp"
|
|
||||||
#include "../../core/Gain.hpp"
|
#include "../../core/Gain.hpp"
|
||||||
#include "../../core/Mixer.hpp"
|
#include "../../core/Mixer.hpp"
|
||||||
|
|
||||||
|
|
@ -27,13 +26,11 @@ public:
|
||||||
enum Parameters {
|
enum Parameters {
|
||||||
kParamGain,
|
kParamGain,
|
||||||
kParamClipMode,
|
kParamClipMode,
|
||||||
kParamFilter,
|
|
||||||
kParamFilterFeedback,
|
|
||||||
kParamMixVolume,
|
kParamMixVolume,
|
||||||
kParameterCount // must be last
|
kParameterCount // must be last
|
||||||
};
|
};
|
||||||
SquidgeDistortion()
|
SquidgeDistortion()
|
||||||
: Plugin(kParameterCount, 0, 0), gain_(2.0f), mixer_(1.0f), filter_(440) {
|
: Plugin(kParameterCount, 0, 0), gain_(2.0f), mixer_(1.0f) {
|
||||||
mixer_.setInputGain(kChannelDry, 0.0f);
|
mixer_.setInputGain(kChannelDry, 0.0f);
|
||||||
mixer_.setInputGain(kChannelWet, 1.0f);
|
mixer_.setInputGain(kChannelWet, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
@ -74,22 +71,6 @@ protected:
|
||||||
parameter.enumValues.values =
|
parameter.enumValues.values =
|
||||||
const_cast<ParameterEnumerationValue *>(sClipModes);
|
const_cast<ParameterEnumerationValue *>(sClipModes);
|
||||||
break;
|
break;
|
||||||
case kParamFilter:
|
|
||||||
parameter.name = "Filter";
|
|
||||||
parameter.symbol = "filter";
|
|
||||||
parameter.ranges.min = 20.0f;
|
|
||||||
parameter.ranges.def = 1000.0f;
|
|
||||||
parameter.ranges.max = 10000.0f;
|
|
||||||
parameter.hints = kParameterIsAutomatable;
|
|
||||||
break;
|
|
||||||
case kParamFilterFeedback:
|
|
||||||
parameter.name = "Filter Feedback";
|
|
||||||
parameter.symbol = "filterfeedback";
|
|
||||||
parameter.ranges.min = 0.0f;
|
|
||||||
parameter.ranges.def = .1f;
|
|
||||||
parameter.ranges.max = 0.99f;
|
|
||||||
parameter.hints = kParameterIsAutomatable;
|
|
||||||
break;
|
|
||||||
case kParamMixVolume:
|
case kParamMixVolume:
|
||||||
parameter.name = "Dry/Wet";
|
parameter.name = "Dry/Wet";
|
||||||
parameter.symbol = "drywetvolume";
|
parameter.symbol = "drywetvolume";
|
||||||
|
|
@ -107,10 +88,6 @@ protected:
|
||||||
return gain_.getGain();
|
return gain_.getGain();
|
||||||
case kParamClipMode:
|
case kParamClipMode:
|
||||||
return (float)clipper_.getMode();
|
return (float)clipper_.getMode();
|
||||||
case kParamFilter:
|
|
||||||
return (float)filter_.getCutOff();
|
|
||||||
case kParamFilterFeedback:
|
|
||||||
return (float)filter_.getFeedback();
|
|
||||||
case kParamMixVolume:
|
case kParamMixVolume:
|
||||||
return mixer_.getInputGain(kChannelWet);
|
return mixer_.getInputGain(kChannelWet);
|
||||||
}
|
}
|
||||||
|
|
@ -127,12 +104,6 @@ protected:
|
||||||
static_cast<float>(Clipper::kClipperModeCount - 1));
|
static_cast<float>(Clipper::kClipperModeCount - 1));
|
||||||
clipper_.setMode(static_cast<Clipper::ClipperMode>(std::lround(value)));
|
clipper_.setMode(static_cast<Clipper::ClipperMode>(std::lround(value)));
|
||||||
break;
|
break;
|
||||||
case kParamFilter:
|
|
||||||
filter_.setCutOff(value);
|
|
||||||
break;
|
|
||||||
case kParamFilterFeedback:
|
|
||||||
filter_.setFeedback(value);
|
|
||||||
break;
|
|
||||||
case kParamMixVolume:
|
case kParamMixVolume:
|
||||||
mixer_.setInputGain(kChannelWet, value);
|
mixer_.setInputGain(kChannelWet, value);
|
||||||
mixer_.setInputGain(kChannelDry, 1.0f - value);
|
mixer_.setInputGain(kChannelDry, 1.0f - value);
|
||||||
|
|
@ -152,24 +123,17 @@ protected:
|
||||||
buffers_.clippedR, frames);
|
buffers_.clippedR, frames);
|
||||||
clipper_.processStereo(buffers_.clippedL, buffers_.clippedR,
|
clipper_.processStereo(buffers_.clippedL, buffers_.clippedR,
|
||||||
buffers_.clippedL, buffers_.clippedR, frames);
|
buffers_.clippedL, buffers_.clippedR, frames);
|
||||||
filter_.processStereo(buffers_.clippedL, buffers_.clippedR, buffers_.lpL,
|
|
||||||
buffers_.lpR, frames);
|
|
||||||
|
|
||||||
const float *inputsL[2] = {inputs[0], buffers_.lpL};
|
const float *inputsL[2] = {inputs[0], buffers_.clippedL};
|
||||||
const float *inputsR[2] = {inputs[1], buffers_.lpR};
|
const float *inputsR[2] = {inputs[1], buffers_.clippedR};
|
||||||
|
|
||||||
mixer_.processStereo(inputsL, inputsR, outputs[0], outputs[1], frames);
|
mixer_.processStereo(inputsL, inputsR, outputs[0], outputs[1], frames);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sampleRateChanged(double newSr) override {
|
|
||||||
filter_.setSampleRate(static_cast<float>(newSr));
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Gain gain_;
|
Gain gain_;
|
||||||
Clipper clipper_;
|
Clipper clipper_;
|
||||||
Mixer<2> mixer_;
|
Mixer<2> mixer_;
|
||||||
Filter filter_;
|
|
||||||
AudioBuffers buffers_;
|
AudioBuffers buffers_;
|
||||||
|
|
||||||
DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(SquidgeDistortion);
|
DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(SquidgeDistortion);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue