1 /**********************************************************************
2 
3   Audacity: A Digital Audio Editor
4 
5   RecordingPrefs.h
6 
7   Joshua Haberman
8   James Crook
9 
10 **********************************************************************/
11 
12 #ifndef __AUDACITY_RECORDING_PREFS__
13 #define __AUDACITY_RECORDING_PREFS__
14 
15 
16 
17 #include <wx/defs.h>
18 
19 #include "PrefsPanel.h"
20 
21 class wxTextCtrl;
22 class ShuttleGui;
23 
24 #ifdef EXPERIMENTAL_AUTOMATED_INPUT_LEVEL_ADJUSTMENT
25    #define AILA_DEF_TARGET_PEAK 92
26    #define AILA_DEF_DELTA_PEAK 2
27    #define AILA_DEF_ANALYSIS_TIME 1000
28    #define AILA_DEF_NUMBER_ANALYSIS 5
29 #endif
30 
31 #define RECORDING_PREFS_PLUGIN_SYMBOL ComponentInterfaceSymbol{ \
32    L"Recording", \
33    /* i18n-hint: modifier as in "Recording preferences", not progressive verb */ \
34    XC("Recording", "preference") \
35 }
36 
37 #define AUDIO_PRE_ROLL_KEY (wxT("/AudioIO/PreRoll"))
38 #define DEFAULT_PRE_ROLL_SECONDS 5.0
39 
40 #define AUDIO_ROLL_CROSSFADE_KEY (wxT("/AudioIO/Crossfade"))
41 #define DEFAULT_ROLL_CROSSFADE_MS 10.0
42 
43 class RecordingPrefs final : public PrefsPanel
44 {
45  public:
46    RecordingPrefs(wxWindow * parent, wxWindowID winid);
47    virtual ~RecordingPrefs();
48    ComponentInterfaceSymbol GetSymbol() override;
49    TranslatableString GetDescription() override;
50 
51    bool Commit() override;
52    ManualPageID HelpPageName() override;
53    void PopulateOrExchange(ShuttleGui & S) override;
54 
55  private:
56    void Populate();
57    void OnToggleCustomName(wxCommandEvent & /* Evt */);
58 
59    wxTextCtrl *mToggleCustomName;
60    bool mUseCustomTrackName;
61    bool mOldNameChoice;
62 
63    DECLARE_EVENT_TABLE()
64 };
65 
66 #endif
67