26#include <wx/textctrl.h>
45:
PrefsPanel(parent, winid,
XC("Recording", "preference"))
47 gPrefs->
Read(
wxT(
"/GUI/TrackNames/RecordingNameCustom"), &mUseCustomTrackName,
false);
48 mOldNameChoice = mUseCustomTrackName;
63 return XO(
"Preferences for Recording");
68 return "Recording_Preferences";
87 S.StartStatic(
XO(
"Options"));
90 S.TieCheckBox(
XXO(
"Hear &other tracks while recording (overdub)"),
91 {
wxT(
"/AudioIO/Duplex"),
97 S.TieCheckBox(
XO(
"Use &hardware to play other tracks"),
98 {
wxT(
"/AudioIO/Playthrough"),
101 S.TieCheckBox(
XXO(
"Audible input &monitoring"),
102 {
wxT(
"/AudioIO/SWPlaythrough"),
104#if !defined(__WXMAC__)
108 S.TieCheckBox(
XXO(
"Record on a new track"),
109 {
wxT(
"/GUI/PreferNewTrackRecord"),
113 S.TieCheckBox(
XXO(
"Detect dropouts"),
121 S.StartStatic(
XO(
"Sound Activated Recording"));
125 S.StartMultiColumn(2, wxEXPAND);
129 S.TieSlider(
XXO(
"Le&vel (dB):"),
130 {
wxT(
"/AudioIO/SilenceLevel"),
140 S.StartStatic(
XO(
"Name newly recorded tracks"));
145 S.StartMultiColumn( 2 );
148 S.AddFixedText(
XO(
"With:")) ;
149 S.StartMultiColumn(3);
152 {
wxT(
"/GUI/TrackNames/RecordingNameCustom"),
156 .Name(
XO(
"Custom name text"))
159 {
wxT(
"/GUI/TrackNames/RecodingTrackName"),
160 _(
"Recorded_Audio")},
166 S.AddFixedText( {} );
167 S.StartMultiColumn(3);
169 S.TieCheckBox(
XXO(
"&Track Number"),
170 {
wxT(
"/GUI/TrackNames/TrackNumber"),
173 S.TieCheckBox(
XXO(
"System &Date"),
174 {
wxT(
"/GUI/TrackNames/DateStamp"),
177 S.TieCheckBox(
XXO(
"System T&ime"),
178 {
wxT(
"/GUI/TrackNames/TimeStamp"),
187 #ifdef EXPERIMENTAL_AUTOMATED_INPUT_LEVEL_ADJUSTMENT
188 S.StartStatic(
XO(
"Automated Recording Level Adjustment"));
190 S.TieCheckBox(
XXO(
"Enable Automated Recording Level Adjustment."),
191 {
wxT(
"/AudioIO/AutomatedInputLevelAdjustment"),
194 S.StartMultiColumn(2, wxEXPAND);
199 S.TieSlider(
XXO(
"Target Peak:"),
200 {
wxT(
"/AudioIO/TargetPeak"),
201 AILA_DEF_TARGET_PEAK},
205 S.TieSlider(
XXO(
"Within:"),
206 {
wxT(
"/AudioIO/DeltaPeakVolume"),
207 AILA_DEF_DELTA_PEAK},
213 S.StartThreeColumn();
215 S.TieIntegerTextBox(
XXO(
"Analysis Time:"),
216 {
wxT(
"/AudioIO/AnalysisTime"),
217 AILA_DEF_ANALYSIS_TIME},
219 S.AddUnits(
XO(
"milliseconds (time of one analysis)"));
221 S.TieIntegerTextBox(
XXO(
"Number of consecutive analysis:"),
222 {
wxT(
"/AudioIO/NumberAnalysis"),
223 AILA_DEF_NUMBER_ANALYSIS},
225 S.AddUnits(
XO(
"0 means endless"));
232 S.StartStatic(
XO(
"Punch and Roll Recording"));
234 S.StartThreeColumn();
237 .NameSuffix(
XO(
"seconds"))
238 .TieNumericTextBox(
XXO(
"Pre-ro&ll:"),
242 S.AddUnits(
XO(
"seconds"));
246 .NameSuffix(
XO(
"milliseconds"))
247 .TieNumericTextBox(
XXO(
"Cross&fade:"),
251 S.AddUnits(
XO(
"milliseconds"));
270 #ifdef EXPERIMENTAL_AUTOMATED_INPUT_LEVEL_ADJUSTMENT
271 double targetpeak, deltapeak;
274 if (targetpeak + deltapeak > 100.0 || targetpeak - deltapeak < 0.0)
276 gPrefs->
Write(
wxT(
"/AudioIO/DeltaPeakVolume"),
min(100.0 - targetpeak, targetpeak));
282 gPrefs->
Write(
wxT(
"/AudioIO/AnalysisTime"), AILA_DEF_ANALYSIS_TIME);
286 gPrefs->
Write(
wxT(
"/AudioIO/NumberAnalysis"), AILA_DEF_NUMBER_ANALYSIS);
BoolSetting SoundActivatedRecord
DoubleSetting AudioIOLatencyDuration
IntSetting DecibelScaleCutoff
Negation of this value is the lowest dB level that should be shown in dB scales.
XXO("&Cut/Copy/Paste Toolbar")
audacity::BasicSettings * gPrefs
wxString WarningDialogKey(const wxString &internalDialogName)
#define AUDIO_PRE_ROLL_KEY
#define DEFAULT_PRE_ROLL_SECONDS
#define DEFAULT_ROLL_CROSSFADE_MS
#define RECORDING_PREFS_PLUGIN_SYMBOL
#define AUDIO_ROLL_CROSSFADE_KEY
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
Base class for a panel in the PrefsDialog. Classes derived from this class include BatchPrefs,...
A PrefsPanel used to select recording options.
ManualPageID HelpPageName() override
If not empty string, the Help button is added below the panel.
TranslatableString GetDescription() const override
wxTextCtrl * mToggleCustomName
void PopulateOrExchange(ShuttleGui &S) override
ComponentInterfaceSymbol GetSymbol() const override
void OnToggleCustomName(wxCommandEvent &)
virtual ~RecordingPrefs()
void Invalidate() override
bool Reset()
Reset to the default value.
bool Read(T *pVar) const
overload of Read returning a boolean that is true if the value was previously defined */
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI.
Holds a msgid for the translation catalog; may also bind format arguments.
virtual bool Write(const wxString &key, bool value)=0
virtual bool Read(const wxString &key, bool *value) const =0
PrefsPanel::Registration sAttachment