1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-08-02 08:59:28 +02:00
audacity/src/prefs/PlaybackPrefs.cpp
2017-06-07 10:24:10 +01:00

137 lines
3.5 KiB
C++

/**********************************************************************
Audacity: A Digital Audio Editor
PlaybackPrefs.cpp
Joshua Haberman
Dominic Mazzoni
James Crook
*******************************************************************//**
\class PlaybackPrefs
\brief A PrefsPanel used to select playback options.
Presents interface for user to update the various playback options
like previewing and seeking.
*//********************************************************************/
#include "../Audacity.h"
#include "PlaybackPrefs.h"
#include <wx/defs.h>
#include <wx/textctrl.h>
#include "../ShuttleGui.h"
#include "../Prefs.h"
PlaybackPrefs::PlaybackPrefs(wxWindow * parent)
: PrefsPanel(parent, _("Playback"))
{
Populate();
}
PlaybackPrefs::~PlaybackPrefs()
{
}
void PlaybackPrefs::Populate()
{
//------------------------- Main section --------------------
// Now construct the GUI itself.
// Use 'eIsCreatingFromPrefs' so that the GUI is
// initialised with values from gPrefs.
ShuttleGui S(this, eIsCreatingFromPrefs);
PopulateOrExchange(S);
// ----------------------- End of main section --------------
}
void PlaybackPrefs::PopulateOrExchange(ShuttleGui & S)
{
wxTextCtrl *w;
S.SetBorder(2);
S.StartStatic(_("Effects Preview"));
{
S.StartThreeColumn();
{
w = S.TieNumericTextBox(_("&Length:"),
wxT("/AudioIO/EffectsPreviewLen"),
6.0,
9);
S.AddUnits(_("seconds"));
w->SetName(w->GetName() + wxT(" ") + _("seconds"));
}
S.EndThreeColumn();
}
S.EndStatic();
/* i18n-hint: (noun) this is a preview of the cut */
S.StartStatic(_("Cut Preview"));
{
S.StartThreeColumn();
{
w = S.TieNumericTextBox(_("&Before cut region:"),
wxT("/AudioIO/CutPreviewBeforeLen"),
2.0,
9);
S.AddUnits(_("seconds"));
w->SetName(w->GetName() + wxT(" ") + _("seconds"));
w = S.TieNumericTextBox(_("&After cut region:"),
wxT("/AudioIO/CutPreviewAfterLen"),
1.0,
9);
S.AddUnits(_("seconds"));
w->SetName(w->GetName() + wxT(" ") + _("seconds"));
}
S.EndThreeColumn();
}
S.EndStatic();
S.StartStatic(_("Seek Time when playing"));
{
S.StartThreeColumn();
{
w = S.TieNumericTextBox(_("&Short period:"),
wxT("/AudioIO/SeekShortPeriod"),
1.0,
9);
S.AddUnits(_("seconds"));
w->SetName(w->GetName() + wxT(" ") + _("seconds"));
w = S.TieNumericTextBox(_("Lo&ng period:"),
wxT("/AudioIO/SeekLongPeriod"),
15.0,
9);
S.AddUnits(_("seconds"));
w->SetName(w->GetName() + wxT(" ") + _("seconds"));
}
S.EndThreeColumn();
}
S.EndStatic();
}
bool PlaybackPrefs::Apply()
{
ShuttleGui S(this, eIsSavingToPrefs);
PopulateOrExchange(S);
return true;
}
wxString PlaybackPrefs::HelpPageName()
{
return "Playback_Preferences";
}
PrefsPanel *PlaybackPrefsFactory::Create(wxWindow *parent)
{
wxASSERT(parent); // to justify safenew
return safenew PlaybackPrefs(parent);
}