Audacity 3.2.0
Nyquist.h
Go to the documentation of this file.
1/**********************************************************************
2
3 Audacity: A Digital Audio Editor
4
5 Nyquist.h
6
7 Dominic Mazzoni
8
9**********************************************************************/
10
11#ifndef __AUDACITY_EFFECT_NYQUIST__
12#define __AUDACITY_EFFECT_NYQUIST__
13
14#include "../StatefulEffectUIServices.h"
15#include "NyquistBase.h"
16#include "wxPanelWrapper.h"
17
18class wxArrayString;
19class wxFileName;
20class wxCheckBox;
21class wxTextCtrl;
22
24
26{
27public:
29
30private:
33
36
39
41 EffectBase& plugin, wxWindow& parent, const EffectDialogFactory& factory,
42 std::shared_ptr<EffectInstance>& pInstance, EffectSettingsAccess& access,
43 bool forceModal = false) override;
44 std::unique_ptr<EffectEditor> PopulateOrExchange(
46 const EffectOutputs* pOutputs) override;
47 bool TransferDataToWindow(const EffectSettings& settings) override;
49
50protected:
51 wxTextCtrl* mCommandText;
52
53 DECLARE_EVENT_TABLE()
54 void OnLoad(wxCommandEvent& evt);
55 void OnSave(wxCommandEvent& evt);
56 void OnDebug(wxCommandEvent& evt);
57
58 void OnText(wxCommandEvent& evt);
59 void OnSlider(wxCommandEvent& evt);
60 void OnChoice(wxCommandEvent& evt);
61 void OnTime(wxCommandEvent& evt);
62 void OnFileButton(wxCommandEvent& evt);
63
64private:
65 wxWeakRef<wxWindow> mUIParent {};
66};
67
69{
70public:
72 const TranslatableString& title, const TranslatableString& message);
73
74private:
75 void OnOk(wxCommandEvent & event);
76
77private:
78 DECLARE_EVENT_TABLE()
79};
80
81
82#endif
static RegisteredToolbarFactory factory
std::function< DialogFactoryResults(wxWindow &parent, EffectBase &, EffectUIServices &, EffectSettingsAccess &) > EffectDialogFactory
Type of function that creates a dialog for an effect.
static const auto title
#define S(N)
Definition: ToChars.cpp:64
static Settings & settings()
Definition: TrackInfo.cpp:51
Base class for many of the effects in Audacity.
Definition: EffectBase.h:33
Performs effect computation.
Use this object to copy the input tracks to tentative outputTracks.
Hold values to send to effect output meters.
An Effect that calls up a Nyquist (XLISP) plug-in, i.e. many possible effects from this one class.
Definition: NyquistBase.h:77
NyquistBase(const wxString &fName)
Definition: NyquistBase.cpp:56
wxWeakRef< wxWindow > mUIParent
Definition: Nyquist.h:65
wxTextCtrl * mCommandText
Definition: Nyquist.h:51
bool TransferDataFromPromptWindow()
Definition: Nyquist.cpp:254
bool TransferDataFromWindow(EffectSettings &settings) override
Definition: Nyquist.cpp:196
void BuildEffectWindow(ShuttleGui &S)
Definition: Nyquist.cpp:444
void OnLoad(wxCommandEvent &evt)
Definition: Nyquist.cpp:609
bool TransferDataFromEffectWindow()
Definition: Nyquist.cpp:272
void OnFileButton(wxCommandEvent &evt)
Definition: Nyquist.cpp:742
bool TransferDataToPromptWindow()
Definition: Nyquist.cpp:210
int ShowHostInterface(EffectBase &plugin, wxWindow &parent, const EffectDialogFactory &factory, std::shared_ptr< EffectInstance > &pInstance, EffectSettingsAccess &access, bool forceModal=false) override
bool TransferDataToEffectWindow()
Definition: Nyquist.cpp:217
std::unique_ptr< EffectEditor > PopulateOrExchange(ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs) override
Add controls to effect panel; always succeeds.
Definition: Nyquist.cpp:162
bool TransferDataToWindow(const EffectSettings &settings) override
Definition: Nyquist.cpp:174
void OnSlider(wxCommandEvent &evt)
Definition: Nyquist.cpp:674
void OnSave(wxCommandEvent &evt)
Definition: Nyquist.cpp:647
void BuildPromptWindow(ShuttleGui &S)
Definition: Nyquist.cpp:412
void OnTime(wxCommandEvent &evt)
Definition: Nyquist.cpp:711
void OnDebug(wxCommandEvent &evt)
void OnChoice(wxCommandEvent &evt)
Definition: Nyquist.cpp:706
void OnText(wxCommandEvent &evt)
Definition: Nyquist.cpp:830
Dialog used with NyquistBase.
Definition: Nyquist.h:69
void OnOk(wxCommandEvent &event)
Definition: Nyquist.cpp:900
NyquistOutputDialog(const TranslatableString &title, const TranslatableString &message)
Definition: Nyquist.cpp:860
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI.
Definition: ShuttleGui.h:640
Holds a msgid for the translation catalog; may also bind format arguments.
Externalized state of a plug-in.