diff --git a/libs/sst/sst-effects b/libs/sst/sst-effects index 9969b19f..b7a67fdc 160000 --- a/libs/sst/sst-effects +++ b/libs/sst/sst-effects @@ -1 +1 @@ -Subproject commit 9969b19f20049193d5f7634019b45b2d87eafa14 +Subproject commit b7a67fdcae633ff717339f141e6ea99f725d9081 diff --git a/libs/sst/sst-filters b/libs/sst/sst-filters index 1934e436..66386c08 160000 --- a/libs/sst/sst-filters +++ b/libs/sst/sst-filters @@ -1 +1 @@ -Subproject commit 1934e436adfbe8bab975ffabe7703f9517504e28 +Subproject commit 66386c08b98cb3ea0e5a38a32ca89f813701fc9d diff --git a/src/dsp/processor/processor.h b/src/dsp/processor/processor.h index 7f09dd39..6da2eba0 100644 --- a/src/dsp/processor/processor.h +++ b/src/dsp/processor/processor.h @@ -110,7 +110,7 @@ enum ProcessorType proct_SurgeBiquads, proct_SurgeFilters, - proct_StringExciter, + proct_stringResonator, proct_moogLP4sat, proct_eq_1band_parametric_A, @@ -130,8 +130,8 @@ enum ProcessorType proct_fx_ringmod, proct_fx_freqshift, proct_fx_waveshaper, - proct_fx_pitchring, - proct_fx_fauxstereo, + proct_fx_freqshiftmod, + proct_fx_widener, proct_fx_simple_delay, proct_osc_phasemod, // last part/fx diff --git a/src/dsp/processor/processor_defs.h b/src/dsp/processor/processor_defs.h index f2264759..134b22ca 100644 --- a/src/dsp/processor/processor_defs.h +++ b/src/dsp/processor/processor_defs.h @@ -61,75 +61,66 @@ #include "definition_helpers.h" #include "dsp/processor/processor_impl.h" -#include "sst/voice-effects/distortion/Microgate.h" +#include "sst/voice-effects/delay/Widener.h" +#include "sst/voice-effects/delay/ShortDelay.h" +#include "sst/voice-effects/delay/Microgate.h" + #include "sst/voice-effects/distortion/BitCrusher.h" -#include "sst/voice-effects/distortion/Slewer.h" -#include "sst/voice-effects/distortion/RingModulator.h" #include "sst/voice-effects/waveshaper/WaveShaper.h" #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/filter/CytomicSVF.h" +// #include "sst/voice-effects/filter/SurgeBiquads.h" +#include "sst/voice-effects/filter/SSTFilters.h" +#include "sst/voice-effects/filter/Slewer.h" + #include "sst/voice-effects/generator/GenCorrelatedNoise.h" #include "sst/voice-effects/generator/GenSin.h" #include "sst/voice-effects/generator/GenSaw.h" #include "sst/voice-effects/generator/GenPulseSync.h" -#include "sst/voice-effects/generator/GenPhaseMod.h" +#include "sst/voice-effects/delay/StringResonator.h" -#include "sst/voice-effects/pitch/PitchRing.h" - -#include "sst/voice-effects/delay/FauxStereo.h" -#include "sst/voice-effects/delay/ShortDelay.h" -#include "sst/voice-effects/delay/StringExciter.h" - -#include "sst/voice-effects/filter/CytomicSVF.h" -#include "sst/voice-effects/filter/SurgeBiquads.h" -#include "sst/voice-effects/filter/SSTFilters.h" -#include "sst/voice-effects/filter/StaticPhaser.h" +#include "sst/voice-effects/modulation/FreqShiftMod.h" +#include "sst/voice-effects/modulation/RingMod.h" +#include "sst/voice-effects/modulation/PhaseMod.h" +#include "sst/voice-effects/modulation/StaticPhaser.h" namespace scxt::dsp::processor { // Just don't change the id or streaming name, basically -DEFINE_PROC(MicroGate, sst::voice_effects::distortion::MicroGate>, - sst::voice_effects::distortion::MicroGate>, proct_fx_microgate, - "MicroGate", "Distortion", "micro-gate-fx"); +DEFINE_PROC(Widener, sst::voice_effects::delay::Widener>, + sst::voice_effects::delay::Widener>, proct_fx_widener, "Widener", + "Delay", "fxstereo-fx", dsp::surgeSincTable); +DEFINE_PROC(ShortDelay, sst::voice_effects::delay::ShortDelay>, + sst::voice_effects::delay::ShortDelay>, proct_fx_simple_delay, + "Simple Delay", "Delay", "simpdel-fx", dsp::surgeSincTable); +DEFINE_PROC(MicroGate, sst::voice_effects::delay::MicroGate>, + sst::voice_effects::delay::MicroGate>, proct_fx_microgate, "MicroGate", + "Delay", "micro-gate-fx"); + DEFINE_PROC(BitCrusher, sst::voice_effects::distortion::BitCrusher>, sst::voice_effects::distortion::BitCrusher>, proct_fx_bitcrusher, "BitCrusher", "Distortion", "bit-crusher-fx"); DEFINE_PROC(WaveShaper, sst::voice_effects::waveshaper::WaveShaper>, sst::voice_effects::waveshaper::WaveShaper>, proct_fx_waveshaper, "WaveShaper", "Distortion", "waveshaper-fx"); -DEFINE_PROC(Slewer, sst::voice_effects::distortion::Slewer>, - sst::voice_effects::distortion::Slewer>, proct_fx_slewer, "Slewer", - "Distortion", "slewer-fx"); -DEFINE_PROC(RingMod, sst::voice_effects::distortion::RingModulator>, - sst::voice_effects::distortion::RingModulator>, proct_fx_ringmod, - "Ring Modulator", "Distortion", "ringmod-fx"); // Macros and commas don't get along namespace procimpl::detail { -using eq1impl = sst::voice_effects::eq::EqNBandParametric, 1>; -using eq2impl = sst::voice_effects::eq::EqNBandParametric, 2>; using eq3impl = sst::voice_effects::eq::EqNBandParametric, 3>; - -using eq1impl_os = sst::voice_effects::eq::EqNBandParametric, 1>; -using eq2impl_os = sst::voice_effects::eq::EqNBandParametric, 2>; using eq3impl_os = sst::voice_effects::eq::EqNBandParametric, 3>; } // namespace procimpl::detail -DEFINE_PROC(EQ1Band, procimpl::detail::eq1impl, procimpl::detail::eq1impl_os, - proct_eq_1band_parametric_A, "1 Band Parametric", "EQ", "eq-parm-1band"); -DEFINE_PROC(EQ2Band, procimpl::detail::eq2impl, procimpl::detail::eq2impl_os, - proct_eq_2band_parametric_A, "2 Band Parametric", "EQ", "eq-parm-2band"); DEFINE_PROC(EQ3Band, procimpl::detail::eq3impl, procimpl::detail::eq3impl_os, 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", "eq-grp-6"); - DEFINE_PROC(MorphEQ, sst::voice_effects::eq::MorphEQ>, sst::voice_effects::eq::MorphEQ>, proct_eq_morph, "Morph", "EQ", "eq-morph"); @@ -143,45 +134,41 @@ DEFINE_PROC(GenSaw, sst::voice_effects::generator::GenSaw>, DEFINE_PROC(GenPulseSync, sst::voice_effects::generator::GenPulseSync>, sst::voice_effects::generator::GenPulseSync>, proct_osc_pulse_sync, "Pulse Sync", "Generators", "osc-pulse-sync", dsp::sincTable); -DEFINE_PROC(GenPhaseMod, sst::voice_effects::generator::GenPhaseMod>, - sst::voice_effects::generator::GenPhaseMod>, proct_osc_phasemod, - "Phase Mod", "Generators", "osc-phase-mod"); DEFINE_PROC(GenCorrelatedNoise, sst::voice_effects::generator::GenCorrelatedNoise>, sst::voice_effects::generator::GenCorrelatedNoise>, proct_osc_correlatednoise, "Correlated Noise", "Generators", "osc-correlated-noise"); - -DEFINE_PROC(PitchRing, sst::voice_effects::pitch::PitchRing>, - sst::voice_effects::pitch::PitchRing>, proct_fx_pitchring, "PitchRing", - "Pitch and Frequency", "pitchring-fx"); - -DEFINE_PROC(FauxStereo, sst::voice_effects::delay::FauxStereo>, - sst::voice_effects::delay::FauxStereo>, proct_fx_fauxstereo, - "Faux Stereo", "Delay Based", "fxstereo-fx", dsp::surgeSincTable); -DEFINE_PROC(ShortDelay, sst::voice_effects::delay::ShortDelay>, - sst::voice_effects::delay::ShortDelay>, proct_fx_simple_delay, - "Simple Delay", "Delay Based", "simpdel-fx", dsp::surgeSincTable); -DEFINE_PROC(StringExciter, sst::voice_effects::delay::StringExciter>, - sst::voice_effects::delay::StringExciter>, proct_StringExciter, - "String Exciter", "Delay Based", "stringex-fx", dsp::surgeSincTable); +DEFINE_PROC(StringResonator, sst::voice_effects::delay::StringResonator>, + sst::voice_effects::delay::StringResonator>, proct_stringResonator, + "String Exciter", "Generators", "stringex-fx", dsp::surgeSincTable); DEFINE_PROC(CytomicSVF, sst::voice_effects::filter::CytomicSVF>, sst::voice_effects::filter::CytomicSVF>, proct_CytomicSVF, "Fast SVF", "Filters", "filt-cytomic"); - -DEFINE_PROC(StaticPhaser, sst::voice_effects::filter::StaticStereoPhaser>, - sst::voice_effects::filter::StaticStereoPhaser>, proct_StaticPhaser, - "Static Phaser (Stereo)", "Filters", "filt-statph"); -DEFINE_PROC(MonoPhaser, sst::voice_effects::filter::StaticMonoPhaser>, - sst::voice_effects::filter::StaticMonoPhaser>, proct_MonoStaticPhaser, - "Static Phaser (Mono)", "Filters", "filt-mon-statph"); - -DEFINE_PROC(SurgeBiquads, sst::voice_effects::filter::SurgeBiquads>, +/* DEFINE_PROC(SurgeBiquads, sst::voice_effects::filter::SurgeBiquads>, sst::voice_effects::filter::SurgeBiquads>, proct_SurgeBiquads, - "Surge Biquads", "Filters", "filt-sstbiquad"); - + "Surge Biquads", "Filters", "filt-sstbiquad"); */ DEFINE_PROC(SSTFilters, sst::voice_effects::filter::SSTFilters>, sst::voice_effects::filter::SSTFilters>, proct_SurgeFilters, "Surge Filters", "Filters", "filt-sstfilters"); +DEFINE_PROC(Slewer, sst::voice_effects::filter::Slewer>, + sst::voice_effects::filter::Slewer>, proct_fx_slewer, "Slewer", + "Filters", "slewer-fx"); + +DEFINE_PROC(FreqShiftMod, sst::voice_effects::modulation::FreqShiftMod>, + sst::voice_effects::modulation::FreqShiftMod>, proct_fx_freqshiftmod, + "Freqshift Mod", "Modulation", "pitchring-fx"); +DEFINE_PROC(PhaseMod, sst::voice_effects::modulation::PhaseMod>, + sst::voice_effects::modulation::PhaseMod>, proct_osc_phasemod, + "Phase Mod", "Modulation", "osc-phase-mod"); +DEFINE_PROC(RingMod, sst::voice_effects::modulation::RingMod>, + sst::voice_effects::modulation::RingMod>, proct_fx_ringmod, "Ring Mod", + "Modulation", "ringmod-fx"); +DEFINE_PROC(StaticPhaser, sst::voice_effects::modulation::StaticStereoPhaser>, + sst::voice_effects::modulation::StaticStereoPhaser>, + proct_StaticPhaser, "Static Phaser (Stereo)", "Modulation", "filt-statph"); +DEFINE_PROC(MonoPhaser, sst::voice_effects::modulation::StaticMonoPhaser>, + sst::voice_effects::modulation::StaticMonoPhaser>, + proct_MonoStaticPhaser, "Static Phaser (Mono)", "Modulation", "filt-mon-statph"); } // namespace scxt::dsp::processor