990080ae7d
... 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.
48 lines
1.3 KiB
C++
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
|