diff --git a/src/effects/Equalization.h b/src/effects/Equalization.h index 09c91f1a1..1c844ef04 100644 --- a/src/effects/Equalization.h +++ b/src/effects/Equalization.h @@ -100,11 +100,11 @@ using EQCurveArray = std::vector; class EffectEqualization48x; #endif -class EffectEqualization final : public Effect, +class EffectEqualization : public Effect, public XMLTagHandler { public: - EffectEqualization(int Options); + EffectEqualization(int Options = kEqLegacy); virtual ~EffectEqualization(); // ComponentInterface implementation @@ -290,6 +290,18 @@ private: friend class EditCurvesDialog; }; +class EffectEqualizationCurve final : public EffectEqualization +{ +public: + EffectEqualizationCurve() : EffectEqualization( kEqOptionCurve ) {} +}; + +class EffectEqualizationGraphic final : public EffectEqualization +{ +public: + EffectEqualizationGraphic() : EffectEqualization( kEqOptionGraphic ) {} +}; + class EqualizationPanel final : public wxPanelWrapper { public: diff --git a/src/effects/Fade.h b/src/effects/Fade.h index 302b4bd44..028468c1a 100644 --- a/src/effects/Fade.h +++ b/src/effects/Fade.h @@ -16,7 +16,7 @@ #define FADEIN_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Fade In") } #define FADEOUT_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Fade Out") } -class EffectFade final : public Effect +class EffectFade : public Effect { public: EffectFade(bool fadeIn = false); @@ -40,10 +40,23 @@ public: size_t ProcessBlock(float **inBlock, float **outBlock, size_t blockLen) override; private: - // EffectFadeIn implementation + // EffectFade implementation bool mFadeIn; sampleCount mSample; }; +class EffectFadeIn final : public EffectFade +{ +public: + EffectFadeIn() : EffectFade{ true } {} +}; + + +class EffectFadeOut final : public EffectFade +{ +public: + EffectFadeOut() : EffectFade{ false } {} +}; + #endif diff --git a/src/effects/LoadEffects.cpp b/src/effects/LoadEffects.cpp index fc2b63acc..d55788aee 100644 --- a/src/effects/LoadEffects.cpp +++ b/src/effects/LoadEffects.cpp @@ -106,41 +106,41 @@ // Define the list of effects that will be autoregistered and how to instantiate each // #define EFFECT_LIST \ - EFFECT( CHIRP, EffectToneGen, (true) ) \ - EFFECT( DTMFTONES, EffectDtmf, () ) \ - EFFECT( NOISE, EffectNoise, () ) \ - EFFECT( SILENCE, EffectSilence, () ) \ - EFFECT( TONE, EffectToneGen, (false) ) \ - EFFECT( AMPLIFY, EffectAmplify, () ) \ - EFFECT( BASSTREBLE, EffectBassTreble, () ) \ - EFFECT( CHANGESPEED, EffectChangeSpeed, () ) \ - EFFECT( CLICKREMOVAL, EffectClickRemoval, () ) \ - EFFECT( COMPRESSOR, EffectCompressor, () ) \ - EFFECT( DISTORTION, EffectDistortion, () ) \ - EFFECT( ECHO, EffectEcho, () ) \ - EFFECT( FADEIN, EffectFade, (true) ) \ - EFFECT( FADEOUT, EffectFade, (false) ) \ - EFFECT( FILTER_CURVE, EffectEqualization, (kEqOptionCurve) ) \ - EFFECT( GRAPHIC_EQ, EffectEqualization, (kEqOptionGraphic) ) \ - EFFECT( INVERT, EffectInvert, () ) \ - EFFECT( LOUDNESS , EffectLoudness, () ) \ - EFFECT( NORMALIZE, EffectNormalize, () ) \ - EFFECT( PHASER, EffectPhaser, () ) \ - EFFECT( REPAIR, EffectRepair, () ) \ - EFFECT( REPEAT, EffectRepeat, () ) \ - EFFECT( REVERB, EffectReverb, () ) \ - EFFECT( REVERSE, EffectReverse, () ) \ - EFFECT( STEREOTOMONO, EffectStereoToMono, () ) \ - EFFECT( TRUNCATESILENCE, EffectTruncSilence, () ) \ - EFFECT( WAHWAH, EffectWahwah, () ) \ - EFFECT( FINDCLIPPING, EffectFindClipping, () ) \ - NOISEREDUCTION_EFFECT \ - SOUNDTOUCH_EFFECTS \ - EFFECT( AUTODUCK, EffectAutoDuck, () ) \ - EFFECT( PAULSTRETCH, EffectPaulstretch, () ) \ + EFFECT( CHIRP, EffectChirp, () ) \ + EFFECT( DTMFTONES, EffectDtmf, () ) \ + EFFECT( NOISE, EffectNoise, () ) \ + EFFECT( SILENCE, EffectSilence, () ) \ + EFFECT( TONE, EffectTone, () ) \ + EFFECT( AMPLIFY, EffectAmplify, () ) \ + EFFECT( BASSTREBLE, EffectBassTreble, () ) \ + EFFECT( CHANGESPEED, EffectChangeSpeed, () ) \ + EFFECT( CLICKREMOVAL, EffectClickRemoval, () ) \ + EFFECT( COMPRESSOR, EffectCompressor, () ) \ + EFFECT( DISTORTION, EffectDistortion, () ) \ + EFFECT( ECHO, EffectEcho, () ) \ + EFFECT( FADEIN, EffectFadeIn, () ) \ + EFFECT( FADEOUT, EffectFadeOut, () ) \ + EFFECT( FILTER_CURVE, EffectEqualizationCurve, () ) \ + EFFECT( GRAPHIC_EQ, EffectEqualizationGraphic, () ) \ + EFFECT( INVERT, EffectInvert, () ) \ + EFFECT( LOUDNESS , EffectLoudness, () ) \ + EFFECT( NORMALIZE, EffectNormalize, () ) \ + EFFECT( PHASER, EffectPhaser, () ) \ + EFFECT( REPAIR, EffectRepair, () ) \ + EFFECT( REPEAT, EffectRepeat, () ) \ + EFFECT( REVERB, EffectReverb, () ) \ + EFFECT( REVERSE, EffectReverse, () ) \ + EFFECT( STEREOTOMONO, EffectStereoToMono, () ) \ + EFFECT( TRUNCATESILENCE, EffectTruncSilence, () ) \ + EFFECT( WAHWAH, EffectWahwah, () ) \ + EFFECT( FINDCLIPPING, EffectFindClipping, () ) \ + NOISEREDUCTION_EFFECT \ + SOUNDTOUCH_EFFECTS \ + EFFECT( AUTODUCK, EffectAutoDuck, () ) \ + EFFECT( PAULSTRETCH, EffectPaulstretch, () ) \ SBSMS_EFFECTS -//EFFECT( EQUALIZATION, EffectEqualization, (kEqLegacy) ) \ +// EFFECT( EQUALIZATION, EffectEqualization, () ) \ // diff --git a/src/effects/ToneGen.h b/src/effects/ToneGen.h index ebdc6c17d..94d013295 100644 --- a/src/effects/ToneGen.h +++ b/src/effects/ToneGen.h @@ -21,7 +21,7 @@ class ShuttleGui; #define CHIRP_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Chirp") } #define TONE_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Tone") } -class EffectToneGen final : public Effect +class EffectToneGen : public Effect { public: EffectToneGen(bool isChirp); @@ -78,4 +78,17 @@ private: DECLARE_EVENT_TABLE() }; +class EffectChirp final : public EffectToneGen +{ +public: + EffectChirp() : EffectToneGen{ true } {} +}; + + +class EffectTone final : public EffectToneGen +{ +public: + EffectTone() : EffectToneGen{ false } {} +}; + #endif