audacia/src/effects/Fade.h

50 lines
1.2 KiB
C++

/**********************************************************************
Audacity: A Digital Audio Editor
Fade.h
Dominic Mazzoni
**********************************************************************/
#ifndef __AUDACITY_EFFECT_FADE__
#define __AUDACITY_EFFECT_FADE__
#include "Effect.h"
#define FADEIN_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Fade In") }
#define FADEOUT_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Fade Out") }
class EffectFade final : public Effect
{
public:
EffectFade(bool fadeIn = false);
virtual ~EffectFade();
// ComponentInterface implementation
ComponentInterfaceSymbol GetSymbol() override;
wxString GetDescription() override;
// EffectDefinitionInterface implementation
EffectType GetType() override;
bool IsInteractive() override;
// EffectClientInterface implementation
unsigned GetAudioInCount() override;
unsigned GetAudioOutCount() override;
bool ProcessInitialize(sampleCount totalLen, ChannelNames chanMap = NULL) override;
size_t ProcessBlock(float **inBlock, float **outBlock, size_t blockLen) override;
private:
// EffectFadeIn implementation
bool mFadeIn;
sampleCount mSample;
};
#endif