mirror of
https://github.com/cookiengineer/audacity
synced 2025-05-11 14:41:06 +02:00
... for functions in final classes. override is like const -- it's not necessary, but it helps the compiler to catch mistakes. There may be some overriding functions not explicitly declared virtual and I did not identify such cases, in which I might also add override.
52 lines
1.1 KiB
C++
52 lines
1.1 KiB
C++
/**********************************************************************
|
|
|
|
Audacity: A Digital Audio Editor
|
|
|
|
Reverse.h
|
|
|
|
Mark Phillips
|
|
|
|
This class reverses the selected audio.
|
|
|
|
**********************************************************************/
|
|
|
|
#ifndef __AUDACITY_EFFECT_REVERSE__
|
|
#define __AUDACITY_EFFECT_REVERSE__
|
|
|
|
#include <wx/string.h>
|
|
|
|
#include "Effect.h"
|
|
|
|
#define REVERSE_PLUGIN_SYMBOL XO("Reverse")
|
|
|
|
class EffectReverse final : public Effect
|
|
{
|
|
public:
|
|
EffectReverse();
|
|
virtual ~EffectReverse();
|
|
|
|
// IdentInterface implementation
|
|
|
|
wxString GetSymbol() override;
|
|
wxString GetDescription() override;
|
|
|
|
// EffectIdentInterface implementation
|
|
|
|
EffectType GetType() override;
|
|
bool IsInteractive() override;
|
|
|
|
// Effect implementation
|
|
|
|
bool Process() override;
|
|
|
|
private:
|
|
// EffectReverse implementation
|
|
|
|
bool ProcessOneClip(int count, WaveTrack* track,
|
|
sampleCount start, sampleCount len, sampleCount originalStart, sampleCount originalEnd);
|
|
bool ProcessOneWave(int count, WaveTrack* track, sampleCount start, sampleCount len);
|
|
};
|
|
|
|
#endif
|
|
|