30 wxT(
"adjustable-fade.ny"),
33 wxT(
"crossfadeclips.ny"),
34 wxT(
"crossfadetracks.ny"),
38 wxT(
"label-sounds.ny"),
39 wxT(
"legacy-limiter.ny"),
43 wxT(
"nyquist-plug-in-installer.ny"),
45 wxT(
"rhythmtrack.ny"),
47 wxT(
"sample-data-export.ny"),
48 wxT(
"sample-data-import.ny"),
49 wxT(
"ShelfFilter.ny"),
50 wxT(
"spectral-delete.ny"),
51 wxT(
"SpectralEditMulti.ny"),
52 wxT(
"SpectralEditParametricEQ.ny"),
53 wxT(
"SpectralEditShelves.ny"),
54 wxT(
"StudioFadeOut.ny"),
72 return std::make_unique<NyquistEffectsModule>();
105 return XO(
"Nyquist Effects");
110 return XO(
"The Audacity Team");
121 return XO(
"Provides Nyquist Effects support to Audacity");
132 for (
size_t i = 0, cnt = audacityPathList.size(); i < cnt; i++)
134 wxFileName
name(audacityPathList[i],
wxT(
""));
135 name.AppendDir(
wxT(
"nyquist"));
136 name.SetFullName(
wxT(
"nyquist.lsp"));
137 if (
name.FileExists())
140 nyx_set_xlisp_path(
name.GetPath().ToUTF8());
145 wxLogWarning(
wxT(
"Critical Nyquist files could not be found. Nyquist effects will not work."));
152 nyx_set_xlisp_path(NULL);
197 for (
size_t j = 0, cnt = files.size(); j < cnt; j++)
235 return { files.begin(), files.end() };
247 callback(
this, &effect);
255std::unique_ptr<ComponentInterface>
260 if (effect && effect->IsOk())
270 return wxFileName::FileExists(path);
#define NYQUISTEFFECTS_FAMILY
std::vector< PluginPath > PluginPaths
wxString PluginPath
type alias for identifying a Plugin supplied by a module, each module defining its own interpretation...
DECLARE_PROVIDER_ENTRY(AudacityModule)
DECLARE_BUILTIN_PROVIDER(NyquistsEffectBuiltin)
static const wxChar * kShippedEffects[]
#define NYQUISTEFFECTS_VERSION
#define NYQUIST_PROMPT_ID
#define NYQUIST_PROMPT_NAME
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
static result_type Call(Arguments &&...arguments)
Null check of the installed function is done for you.
An Effect that calls up a Nyquist (XLISP) plug-in, i.e. many possible effects from this one class.
const TranslatableString & InitializationError() const
static FilePaths GetNyquistSearchPath()
void Terminate() override
Called just prior to deletion to allow releasing any resources.
VendorSymbol GetVendor() const override
virtual ~NyquistEffectsModule()
bool CheckPluginExist(const PluginPath &path) const override
Performs plugin/module existence check, still plugin may fail to load. Implementation should avoid lo...
unsigned DiscoverPluginsAtPath(const PluginPath &path, TranslatableString &errMsg, const RegistrationCallback &callback) override
std::unique_ptr< ComponentInterface > LoadPlugin(const PluginPath &path) override
Load the plug-in at a path reported by DiscoverPluginsAtPath.
FilePath InstallPath() override
Where plug-in files should be copied to install them.
const FileExtensions & GetFileExtensions() override
File types associated with this protocol.
PluginPath GetPath() const override
void AutoRegisterPlugins(PluginManagerInterface &pm) override
Called so that a provider of a static set of plug-ins can register them.
ComponentInterfaceSymbol GetSymbol() const override
TranslatableString GetDescription() const override
EffectFamilySymbol GetOptionalFamilySymbol() override
A symbol identifying the family of plug-ins provided by this.
PluginPaths FindModulePaths(PluginManagerInterface &pm) override
wxString GetVersion() const override
bool Initialize() override
Called immediately after creation. Let provider initialize.
virtual void FindFilesInPathList(const wxString &pattern, const FilePaths &pathList, FilePaths &files, bool directories=false)=0
virtual bool IsPluginRegistered(const PluginPath &path, const TranslatableString *pName=nullptr)=0
Was the plugin registry already populated for a path (maybe from loading the config file)?
static const PluginID & DefaultRegistrationCallback(PluginProvider *provider, ComponentInterface *ident)
std::function< const PluginID &(PluginProvider *, ComponentInterface *) > RegistrationCallback
Further expand a path reported by FindModulePaths.
Holds a msgid for the translation catalog; may also bind format arguments.
Extend wxArrayString with move operations and construction and insertion fromstd::initializer_list.
FILES_API FilePath PlugInDir()
The user plug-in directory (not a system one)
FILES_API const FilePaths & AudacityPathList()
A list of directories that should be searched for Audacity files (plug-ins, help files,...