mirror of
https://github.com/cookiengineer/audacity
synced 2025-11-08 22:23:59 +01:00
Locate and position the current Audacity source code, and clear a variety of old junk out of the way into junk-branches
This commit is contained in:
74
src/effects/SoundTouchEffect.h
Normal file
74
src/effects/SoundTouchEffect.h
Normal file
@@ -0,0 +1,74 @@
|
||||
/**********************************************************************
|
||||
|
||||
Audacity: A Digital Audio Editor
|
||||
|
||||
SoundTouchEffect.h
|
||||
|
||||
Dominic Mazzoni, Vaughan Johnson
|
||||
|
||||
This abstract class contains all of the common code for an
|
||||
effect that uses SoundTouch to do its processing (ChangeTempo
|
||||
and ChangePitch).
|
||||
|
||||
**********************************************************************/
|
||||
|
||||
#if USE_SOUNDTOUCH
|
||||
|
||||
#ifndef __AUDACITY_EFFECT_SOUNDTOUCH__
|
||||
#define __AUDACITY_EFFECT_SOUNDTOUCH__
|
||||
|
||||
#include "Effect.h"
|
||||
|
||||
// Soundtouch defines these as well, so get rid of them before including
|
||||
#undef PACKAGE_NAME
|
||||
#undef PACKAGE_STRING
|
||||
#undef PACKAGE_TARNAME
|
||||
#undef PACKAGE_VERSION
|
||||
#undef PACKAGE_BUGREPORT
|
||||
#include "SoundTouch.h"
|
||||
|
||||
using namespace soundtouch;
|
||||
|
||||
|
||||
class WaveTrack;
|
||||
|
||||
class EffectSoundTouch:public Effect {
|
||||
|
||||
public:
|
||||
virtual bool Process();
|
||||
|
||||
protected:
|
||||
SoundTouch *mSoundTouch;
|
||||
double mCurT0;
|
||||
double mCurT1;
|
||||
|
||||
private:
|
||||
bool ProcessLabelTrack(Track *track);
|
||||
bool ProcessOne(WaveTrack * t,
|
||||
sampleCount start, sampleCount end, bool first);
|
||||
bool ProcessStereo(WaveTrack* leftTrack, WaveTrack* rightTrack,
|
||||
sampleCount start, sampleCount end, bool first);
|
||||
bool ProcessStereoResults(const unsigned int outputCount,
|
||||
WaveTrack* outputLeftTrack,
|
||||
WaveTrack* outputRightTrack);
|
||||
|
||||
int mCurTrackNum;
|
||||
|
||||
double m_maxNewLength;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
// Indentation settings for Vim and Emacs and unique identifier for Arch, a
|
||||
// version control system. Please do not modify past this point.
|
||||
//
|
||||
// Local Variables:
|
||||
// c-basic-offset: 3
|
||||
// indent-tabs-mode: nil
|
||||
// End:
|
||||
//
|
||||
// vim: et sts=3 sw=3
|
||||
// arch-tag: 6f08259e-6cac-4c47-9aa5-1de7b68eb495
|
||||
|
||||
Reference in New Issue
Block a user