77 lines
1.7 KiB
C++
77 lines
1.7 KiB
C++
/**********************************************************************
|
|
|
|
Audacity: A Digital Audio Editor
|
|
|
|
Fade.cpp
|
|
|
|
Robert Leidle
|
|
|
|
*******************************************************************//**
|
|
|
|
\class EffectFadeIn
|
|
\brief An EffectSimpleMono
|
|
|
|
*//****************************************************************//**
|
|
|
|
\class EffectFadeOut
|
|
\brief An EffectSimpleMono
|
|
|
|
*//*******************************************************************/
|
|
|
|
#include "../Audacity.h"
|
|
|
|
#include "Fade.h"
|
|
#include "../WaveTrack.h"
|
|
|
|
#include <wx/generic/textdlgg.h>
|
|
#include <math.h>
|
|
|
|
bool EffectFadeIn::NewTrackSimpleMono()
|
|
{
|
|
mLen = (int)((mCurT1 - mCurT0) * mCurRate + 0.5);
|
|
mSample = 0;
|
|
|
|
return true;
|
|
}
|
|
|
|
bool EffectFadeIn::ProcessSimpleMono(float *buffer, sampleCount len)
|
|
{
|
|
for (sampleCount i = 0; i < len; i++)
|
|
buffer[i] = (float) (buffer[i] * (float) (mSample + i)
|
|
/ (float) (mLen));
|
|
mSample += len;
|
|
|
|
return true;
|
|
}
|
|
|
|
bool EffectFadeOut::NewTrackSimpleMono()
|
|
{
|
|
mLen = (int)((mCurT1 - mCurT0) * mCurRate + 0.5);
|
|
mSample = 0;
|
|
|
|
return true;
|
|
}
|
|
|
|
bool EffectFadeOut::ProcessSimpleMono(float *buffer, sampleCount len)
|
|
{
|
|
for (sampleCount i = 0; i < len; i++)
|
|
buffer[i] = (float) (buffer[i]
|
|
* (float) (mLen - 1 - (mSample + i))
|
|
/ (float) (mLen));
|
|
mSample += len;
|
|
|
|
return true;
|
|
}
|
|
|
|
// 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: cd703234-7ddd-4d78-b878-2847d0f014a4
|
|
|