audacia/src/effects/Silence.cpp

104 lines
2.2 KiB
C++
Raw Normal View History

/**********************************************************************
Audacity: A Digital Audio Editor
Silence.cpp
Dominic Mazzoni
*******************************************************************//**
\class EffectSilence
\brief An effect to add silence.
*//*******************************************************************/
#include "../Audacity.h"
#include <wx/intl.h>
#include "Silence.h"
EffectSilence::EffectSilence()
{
}
EffectSilence::~EffectSilence()
{
}
2012-10-11 01:45:33 +00:00
// IdentInterface implementation
wxString EffectSilence::GetSymbol()
{
return SILENCE_PLUGIN_SYMBOL;
}
wxString EffectSilence::GetDescription()
{
return XO("Creates audio of zero amplitude");
}
// EffectIdentInterface implementation
EffectType EffectSilence::GetType()
{
return EffectTypeGenerate;
}
// Effect implementation
void EffectSilence::PopulateOrExchange(ShuttleGui & S)
{
S.StartVerticalLay();
{
S.StartHorizontalLay();
{
S.AddPrompt(_("Duration:"));
if (S.GetMode() == eIsCreating)
{
mDurationT = new
NumericTextCtrl(NumericConverter::TIME,
S.GetParent(),
wxID_ANY,
(mT1 > mT0) ? _("hh:mm:ss + samples") : _("hh:mm:ss + milliseconds"),
mDuration,
mProjectRate,
wxDefaultPosition,
wxDefaultSize,
true);
mDurationT->SetName(_("Duration"));
mDurationT->EnableMenu();
}
S.AddWindow(mDurationT, wxALIGN_CENTER | wxALL);
}
S.EndHorizontalLay();
}
S.EndVerticalLay();
return;
}
bool EffectSilence::TransferDataToWindow()
{
mDurationT->SetValue(mDuration);
return true;
}
bool EffectSilence::TransferDataFromWindow()
{
mDuration = mDurationT->GetValue();
return true;
}
bool EffectSilence::GenerateTrack(WaveTrack *tmp,
const WaveTrack & WXUNUSED(track),
int WXUNUSED(ntrack))
{
bool bResult = tmp->InsertSilence(0.0, mDuration);
wxASSERT(bResult);
return bResult;
}