1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-30 23:23:44 +02:00
audacity/src/effects/ChangeLength.h

85 lines
1.9 KiB
C++

/**********************************************************************
Audacity: A Digital Audio Editor
ChangeLength.h
Lynn Allan (from DM's ChangeTempo)
**********************************************************************/
#ifndef __AUDACITY_EFFECT_CHANGE_LENGTH__
#define __AUDACITY_EFFECT_CHANGE_LENGTH__
#include <wx/dialog.h>
#include "Effect.h"
class wxTextCtrl;
class EffectChangeLength: public Effect {
public:
EffectChangeLength();
virtual wxString GetEffectName() {
return wxString(_("Change Length..."));
}
virtual wxString GetEffectIdentifier() {
return wxString(wxT("ChangeLength"));
}
virtual wxString GetEffectAction() {
return wxString(_("Changing Length..."));
}
virtual bool Init();
virtual void End();
virtual bool CheckWhetherSkipEffect();
virtual bool PromptUser();
virtual bool TransferParameters( Shuttle & shuttle );
virtual bool Process();
private:
WaveTrack *mTrack;
double mFromLength;
double mToLength;
friend class ChangeLengthDialog;
};
//----------------------------------------------------------------------------
// ChangeLengthDialog
//----------------------------------------------------------------------------
class ChangeLengthDialog: public wxDialog
{
public:
// constructors and destructors
ChangeLengthDialog(wxWindow *parent, wxWindowID id, const wxString &title);
double mFromLength;
double mToLength;
virtual bool TransferDataToWindow();
virtual bool TransferDataFromWindow();
private:
void OnOk( wxCommandEvent &event );
void OnCancel( wxCommandEvent &event );
void OnRecalculate(wxCommandEvent & event);
void OnText_ToLength(wxCommandEvent & event);
wxTextCtrl * m_pTextCtrl_ToRange;
wxTextCtrl * m_pTextCtrl_PercentChange;
wxTextCtrl * m_pTextCtrl_FromLength;
wxTextCtrl * m_pTextCtrl_ToLength;
double mPercentChange;
private:
DECLARE_EVENT_TABLE()
};
#endif