24#define NYQUISTEFFECTS_VERSION wxT("1.0.0.0")
25#define NYQUIST_WORKER_ID wxT("Nyquist Worker")
26#define UNINITIALIZED_CONTROL ((double)99999999.99)
81 GetEffectHook, std::unique_ptr<NyquistBase>(const wxString& pluginId)>
88 std::vector<WaveChannelSubViewType>(const WaveTrack*)>
94 ShowDebugOutputHook, void(
95 const TranslatableString& title,
96 const TranslatableString& message)>
101 GlobalHook<ExecFromMainHook, void(wxString* pIn, wxString* pOut)>
120 wxString GetVersion()
const override;
129 EffectType GetClassification()
const override;
131 bool IsInteractive()
const override;
132 bool IsDefault()
const override;
133 bool EnablesDebug()
const override;
152 bool Init()
override;
157 void RedirectOutput();
158 void SetCommand(
const wxString& cmd);
179 static wxString NyquistToWxString(
const char* nyqString);
180 wxString EscapeString(
const wxString& inStr);
181 static std::vector<EnumValueSymbol> ParseChoice(
const wxString& text);
187 static void StaticOutputCallback(
int c,
void* userdata);
188 static void StaticOSCallback(
void* userdata);
190 void OutputCallback(
int c);
196 bool ParseCommand(
const wxString& cmd);
199 bool ParseProgram(wxInputStream& stream);
209 const wxString& line,
bool eof,
size_t trimStart,
size_t trimEnd);
211 bool Parse(
Tokenizer& tokenizer,
const wxString& line,
bool eof,
bool first);
214 const wxString& s,
bool allowParens =
true,
215 wxString* pExtraString =
nullptr);
216 static wxString UnQuote(
217 const wxString& s,
bool allowParens =
true,
218 wxString* pExtraString =
nullptr);
221 static double GetCtrlValue(
const wxString& s);
223 bool validatePath(wxString path);
224 wxString ToTimeFormat(
double t);
227 std::pair<bool, FilePath> CheckHelpPage()
const;
wxString FileExtension
File extension, not including any leading dot.
wxString PluginPath
type alias for identifying a Plugin supplied by a module, each module defining its own interpretation...
@ Continue
Save was not handled by the extension.
static Settings & settings()
CommandParameters, derived from wxFileConfig, is essentially doing the same things as the SettingsVis...
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
Performs effect computation.
Use this object to copy the input tracks to tentative outputTracks.
std::vector< FileType > FileTypes
Global function-valued variable, adding a convenient Call()
A control on a NyquistDialog.
NyqControl & operator=(const NyqControl &)=default
NyqControl(const NyqControl &)=default
std::vector< EnumValueSymbol > choices
FileNames::FileTypes fileTypes
An Effect that calls up a Nyquist (XLISP) plug-in, i.e. many possible effects from this one class.
TranslatableString mCopyright
TranslatableString mInitError
TranslatableString mPromptName
wxArrayString mCategories
unsigned mNumSelectedChannels
wxFileName mFileName
Name of the Nyquist script file this effect is loaded from.
wxDateTime mFileModified
When the script was last modified on disk.
TranslatableString mAction
TranslatableString mDebugOutput
TranslatableString mReleaseVersion
TranslatableString mAuthor
std::vector< NyqControl > mControls
TranslatableString mName
Name of the Effect (untranslated)
const TranslatableString & InitializationError() const
Visitor of effect or command parameters. This is a base class with lots of virtual functions that do ...
Holds a msgid for the translation catalog; may also bind format arguments.
Positions or offsets within audio files need a wide type.
Extend wxArrayString with move operations and construction and insertion fromstd::initializer_list.
ProjectFileIOExtensionRegistry::Extension extension
Externalized state of a plug-in.
std::vector< NyqControl > controls
EffectSettings proxySettings