Audacity 3.2.0
EffectsPrefs.cpp
Go to the documentation of this file.
1/**********************************************************************
2
3 Audacity: A Digital Audio Editor
4
5 EffectsPrefs.cpp
6
7 Brian Gunlogson
8 Joshua Haberman
9 Dominic Mazzoni
10 James Crook
11
12
13*******************************************************************//*******************************************************************/
19
20
21#include "EffectsPrefs.h"
22
23#include <wx/choice.h>
24#include <wx/defs.h>
25#include <wx/button.h>
26
27#include "PluginManager.h"
29#include "Menus.h"
30#include "Prefs.h"
31#include "ShuttleGui.h"
32
33EffectsPrefs::EffectsPrefs(wxWindow * parent, wxWindowID winid)
34: PrefsPanel(parent, winid, XO("Effects"))
35{
36 Populate();
37}
38
40{
41}
42
44{
46}
47
49{
50 return XO("Preferences for Effects");
51}
52
54{
55 return "Effects_Preferences";
56}
57
59{
60 //------------------------- Main section --------------------
61 // Now construct the GUI itself.
62 // Use 'eIsCreatingFromPrefs' so that the GUI is
63 // initialised with values from gPrefs.
66 // ----------------------- End of main section --------------
67}
68
71 {
72 XO("Sort by effect name") ,
73 XO("Sort by publisher and effect name") ,
74 XO("Sort by type and effect name") ,
75 XO("Group by publisher") ,
76 XO("Group by type") ,
77 XO("Group by category"),
78 XO("Group by type and publisher")
79 },
80 {
81 wxT("sortby:name") ,
82 wxT("sortby:publisher:name") ,
83 wxT("sortby:type:name") ,
84 wxT("groupby:publisher") ,
85 wxT("groupby:type") ,
86 wxT("default"),
87 wxT("groupby:type:publisher")
88 }
89};
90
92 wxT("/Effects/GroupBy"),
94 5 // "default"
95};
96
98 wxT("/Effects/RealtimeGroupBy"),
100 6 // "groupby:type:publisher"
101};
102
104{
105 S.SetBorder(2);
106 S.StartScroller();
107
108 S.StartStatic(XO("Effect Options"));
109 {
110 S.StartMultiColumn(2);
111 {
112 S.MinSize()
113 .TieChoice( XXO("Effect menu &organization:"), EffectsGroupBy);
114 S.MinSize()
115 .TieChoice( XXO("Realtime effect o&rganization:"), RealtimeEffectsGroupBy);
116 }
117 S.EndMultiColumn();
118 }
119 S.EndStatic();
120
121#ifdef EXPERIMENTAL_EQ_SSE_THREADED
122 S.StartStatic(XO("Instruction Set"));
123 {
124 S.TieCheckBox(XXO("&Use SSE/SSE2/.../AVX"),
125 {wxT("/SSE/GUI"),
126 true});
127 }
128 S.EndStatic();
129#endif
130
131 S.AddButton(XO("Open Plugin Manager"), wxALIGN_LEFT)->Bind(wxEVT_BUTTON, [this](auto) {
132 //Adding dependency on PluginRegistrationDialog, not good. Alternatively
133 //that could be done with events, though event should be visible here too...
134 PluginRegistrationDialog dialog(wxGetTopLevelParent(this));
135 if(dialog.ShowModal() == wxID_OK)
137 });
138
139 S.EndScroller();
140}
141
143{
146
147 return true;
148}
149
150namespace{
152 [](wxWindow *parent, wxWindowID winid, AudacityProject *)
153 {
154 wxASSERT(parent); // to justify safenew
155 return safenew EffectsPrefs(parent, winid);
156 }
157};
158}
wxT("CloseDown"))
EnumValueSymbols EffectsGroupSymbols
ChoiceSetting EffectsGroupBy
ChoiceSetting RealtimeEffectsGroupBy
#define EFFECTS_PREFS_PLUGIN_SYMBOL
Definition: EffectsPrefs.h:23
XO("Cut/Copy/Paste")
XXO("&Cut/Copy/Paste Toolbar")
#define safenew
Definition: MemoryX.h:10
ByColumns_t ByColumns
Definition: Prefs.cpp:474
@ eIsCreatingFromPrefs
Definition: ShuttleGui.h:46
@ eIsSavingToPrefs
Definition: ShuttleGui.h:47
#define S(N)
Definition: ToChars.cpp:64
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
Definition: Project.h:90
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
A PrefsPanel for general GUI preferences.
Definition: EffectsPrefs.h:26
void PopulateOrExchange(ShuttleGui &S) override
EffectsPrefs(wxWindow *parent, wxWindowID winid)
bool Commit() override
ComponentInterfaceSymbol GetSymbol() const override
TranslatableString GetDescription() const override
ManualPageID HelpPageName() override
If not empty string, the Help button is added below the panel.
static void RebuildAllMenuBars()
Definition: Menus.cpp:621
Base class for a panel in the PrefsDialog. Classes derived from this class include BatchPrefs,...
Definition: PrefsPanel.h:51
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI.
Definition: ShuttleGui.h:625
Holds a msgid for the translation catalog; may also bind format arguments.
PrefsPanel::Registration sAttachment