/********************************************************************** Audacity: A Digital Audio Editor Compressor2.h Max Maisel (based on Compressor effect) **********************************************************************/ #ifndef __AUDACITY_EFFECT_COMPRESSOR2__ #define __AUDACITY_EFFECT_COMPRESSOR2__ #include #include #include #include #include #include #include "Effect.h" class ShuttleGui; class EffectCompressor2 final : public Effect { public: static const ComponentInterfaceSymbol Symbol; EffectCompressor2(); virtual ~EffectCompressor2(); // ComponentInterface implementation ComponentInterfaceSymbol GetSymbol() override; TranslatableString GetDescription() override; ManualPageID ManualPage() override; // EffectDefinitionInterface implementation EffectType GetType() override; // EffectClientInterface implementation bool DefineParams( ShuttleParams & S ) override; bool GetAutomationParameters(CommandParameters & parms) override; bool SetAutomationParameters(CommandParameters & parms) override; // Effect implementation bool CheckWhetherSkipEffect() override; bool Startup() override; bool Process() override; void PopulateOrExchange(ShuttleGui & S) override; bool TransferDataToWindow() override; bool TransferDataFromWindow() override; private: // EffectCompressor2 implementation bool UpdateProgress(); void OnUpdateUI(wxCommandEvent & evt); void UpdateUI(); private: DECLARE_EVENT_TABLE() }; #endif