audacia/src/effects/SBSMSEffect.h
Paul Licameli 990080ae7d Replace virtual with override wherever possible; eliminate needless virtual...
... 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.
2016-02-26 12:35:38 -05:00

48 lines
1.3 KiB
C++

/**********************************************************************
Audacity: A Digital Audio Editor
SBSMSEffect.h
ClaytonOtey
This abstract class contains all of the common code for an
effect that uses SBSMS to do its processing (TimeScale)
**********************************************************************/
#if USE_SBSMS
#ifndef __AUDACITY_EFFECT_SBSMS__
#define __AUDACITY_EFFECT_SBSMS__
#include "Effect.h"
#include "sbsms.h"
using namespace _sbsms_;
class EffectSBSMS /* not final */ : public Effect
{
public:
bool Process() override;
void setParameters(double rateStart, double rateEnd, double pitchStart, double pitchEnd,
SlideType rateSlideType, SlideType pitchSlideType,
bool bLinkRatePitch, bool bRateReferenceInput, bool bPitchReferenceInput);
static double getInvertedStretchedTime(double rateStart, double rateEnd, SlideType slideType, double outputTime);
static double getRate(double rateStart, double rateEnd, SlideType slideType, double t);
private:
bool ProcessLabelTrack(Track *track);
double rateStart, rateEnd, pitchStart, pitchEnd;
bool bLinkRatePitch, bRateReferenceInput, bPitchReferenceInput;
SlideType rateSlideType;
SlideType pitchSlideType;
int mCurTrackNum;
double mCurT0;
double mCurT1;
float mTotalStretch;
};
#endif
#endif