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 "MenuCreator.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 if (auto pButton = S.AddButton(XO("Open Plugin Manager"), wxALIGN_LEFT))
132 pButton->Bind(wxEVT_BUTTON, [this](auto) {
133 //Adding dependency on PluginRegistrationDialog, not good. Alternatively
134 //that could be done with events, though event should be visible here too...
135 PluginRegistrationDialog dialog(wxGetTopLevelParent(this));
136 if(dialog.ShowModal() == wxID_OK)
138 });
139
140 S.EndScroller();
141}
142
144{
147
148 return true;
149}
150
151namespace{
153 [](wxWindow *parent, wxWindowID winid, AudacityProject *)
154 {
155 wxASSERT(parent); // to justify safenew
156 return safenew EffectsPrefs(parent, winid);
157 }
158};
159}
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:489
@ 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()
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:630
Holds a msgid for the translation catalog; may also bind format arguments.
PrefsPanel::Registration sAttachment