From 2c3d82e85c9d3a8fb9a2f8ffe1c1568fc0066540 Mon Sep 17 00:00:00 2001 From: Andreya-Autumn <105538426+Andreya-Autumn@users.noreply.github.com> Date: Mon, 9 Sep 2024 20:09:10 +0200 Subject: [PATCH] add tilt eq (#1290) --- libs/sst/sst-effects | 2 +- .../edit-screen/components/ProcessorPane.cpp | 4 +++ src-ui/json-assets/processors/tilteq.json | 28 +++++++++++++++++++ src/dsp/processor/processor.h | 1 + src/dsp/processor/processor_defs.h | 19 ++++++++----- 5 files changed, 46 insertions(+), 8 deletions(-) create mode 100644 src-ui/json-assets/processors/tilteq.json diff --git a/libs/sst/sst-effects b/libs/sst/sst-effects index 60f67993..4bd0fbe9 160000 --- a/libs/sst/sst-effects +++ b/libs/sst/sst-effects @@ -1 +1 @@ -Subproject commit 60f679932a1cabc081e248228900a553f129c3fc +Subproject commit 4bd0fbe95d0121055afb7b198f9e6ef17ba86bd4 diff --git a/src-ui/app/edit-screen/components/ProcessorPane.cpp b/src-ui/app/edit-screen/components/ProcessorPane.cpp index 5e6881c4..38dc6457 100644 --- a/src-ui/app/edit-screen/components/ProcessorPane.cpp +++ b/src-ui/app/edit-screen/components/ProcessorPane.cpp @@ -235,6 +235,10 @@ void ProcessorPane::rebuildControlsFromDescription() layoutControlsEQNBandParm(); break; + case dsp::processor::proct_eq_tilt: + layoutControlsFromJSON("processors/tilteq.json"); + break; + case dsp::processor::proct_eq_morph: layoutControlsEQMorph(); break; diff --git a/src-ui/json-assets/processors/tilteq.json b/src-ui/json-assets/processors/tilteq.json new file mode 100644 index 00000000..1d8d245a --- /dev/null +++ b/src-ui/json-assets/processors/tilteq.json @@ -0,0 +1,28 @@ +{ + "defaults": { + "coordinate-system": "absolute", + "component": "knob", + "label-mode": "auto", + "type": "float" + }, + "components": [ + { + "index": 0, + "coordinates": [ + 15, + 25, + 70, + 70 + ] + }, + { + "index": 1, + "coordinates": [ + 105, + 25, + 70, + 70 + ] + } + ] +} diff --git a/src/dsp/processor/processor.h b/src/dsp/processor/processor.h index 3cf7c65f..b3bdb58c 100644 --- a/src/dsp/processor/processor.h +++ b/src/dsp/processor/processor.h @@ -127,6 +127,7 @@ enum ProcessorType proct_eq_3band_parametric_A, proct_eq_6band, proct_eq_morph, + proct_eq_tilt, proct_comb1, proct_fx_bitcrusher, proct_fx_distortion1, diff --git a/src/dsp/processor/processor_defs.h b/src/dsp/processor/processor_defs.h index 3cb64da9..f023f4e3 100644 --- a/src/dsp/processor/processor_defs.h +++ b/src/dsp/processor/processor_defs.h @@ -73,6 +73,7 @@ #include "sst/voice-effects/eq/EqNBandParametric.h" #include "sst/voice-effects/eq/EqGraphic6Band.h" #include "sst/voice-effects/eq/MorphEQ.h" +#include "sst/voice-effects/eq/TiltEQ.h" #include "sst/voice-effects/filter/CytomicSVF.h" #include "sst/voice-effects/filter/SSTFilters.h" @@ -138,19 +139,20 @@ using eq3impl_os = sst::voice_effects::eq::EqNBandParametric, 3 } // namespace procimpl::detail DEFINE_PROC(EQ3Band, procimpl::detail::eq3impl, procimpl::detail::eq3impl_os, - proct_eq_3band_parametric_A, "3 Band Parametric", "EQ & Utility", "eq-parm-3band"); + proct_eq_3band_parametric_A, "3 Band Parametric", "EQ", "eq-parm-3band"); DEFINE_PROC(EQGraphic6Band, sst::voice_effects::eq::EqGraphic6Band>, sst::voice_effects::eq::EqGraphic6Band>, proct_eq_6band, - "6 Band Graphic", "EQ & Utility", "eq-grp-6"); -DEFINE_PROC(MorphEQ, sst::voice_effects::eq::MorphEQ>, - sst::voice_effects::eq::MorphEQ>, proct_eq_morph, "Morph", "Filters", - "eq-morph"); + "6 Band Graphic", "EQ", "eq-grp-6"); + +DEFINE_PROC(TiltEQ, sst::voice_effects::eq::TiltEQ>, + sst::voice_effects::eq::TiltEQ>, proct_eq_tilt, "Tilt EQ", "EQ", + "eq-tilt"); DEFINE_PROC(VolPan, sst::voice_effects::utilities::VolumeAndPan>, sst::voice_effects::utilities::VolumeAndPan>, proct_volpan, - "Volume & Pan", "EQ & Utility", "volume-pan"); + "Volume & Pan", "Utility", "volume-pan"); DEFINE_PROC(Widener, sst::voice_effects::delay::Widener>, sst::voice_effects::delay::Widener>, proct_fx_widener, "Widener", - "EQ & Utility", "fxstereo-fx", dsp::surgeSincTable); + "Utility", "fxstereo-fx", dsp::surgeSincTable); DEFINE_PROC(GenVA, sst::voice_effects::generator::GenVA>, sst::voice_effects::generator::GenVA>, proct_osc_VA, "VA Oscillator", @@ -171,6 +173,9 @@ DEFINE_PROC(StringResonator, sst::voice_effects::delay::StringResonator>, proct_stringResonator, "String Resonator", "Generators", "stringex-fx", dsp::surgeSincTable); +DEFINE_PROC(MorphEQ, sst::voice_effects::eq::MorphEQ>, + sst::voice_effects::eq::MorphEQ>, proct_eq_morph, "Morph", "Filters", + "eq-morph"); DEFINE_PROC(CytomicSVF, sst::voice_effects::filter::CytomicSVF>, sst::voice_effects::filter::CytomicSVF>, proct_CytomicSVF, "Fast SVF", "Filters", "filt-cytomic");