60 return std::make_unique<BuiltinCommandsModule>();
93 return XO(
"Builtin Commands");
98 return XO(
"The Audacity Team");
104 return AUDACITY_VERSION_STRING;
109 return XO(
"Provides builtin commands to Audacity");
120 +
entry.name.Internal();
150 const auto &path = pair.first;
167 names.push_back( pair.first );
186 errMsg =
XO(
"Unknown built-in command name");
190std::unique_ptr<ComponentInterface>
211 return iter->second->factory();
#define BUILTIN_GENERIC_COMMAND_PREFIX
std::vector< PluginPath > PluginPaths
wxString PluginPath
type alias for identifying a Plugin supplied by a module, each module defining its own interpretation...
static ProjectFileIORegistry::AttributeWriterEntry entry
DECLARE_BUILTIN_PROVIDER(BuiltinsCommandBuiltin)
DECLARE_PROVIDER_ENTRY(AudacityModule)
std::function< std::unique_ptr< AudacityCommand >() > Factory
ComponentInterfaceSymbol GetSymbol() const override
wxString GetVersion() const override
PluginPath GetPath() const override
EffectFamilySymbol GetOptionalFamilySymbol() override
A symbol identifying the family of plug-ins provided by this.
void Terminate() override
Called just prior to deletion to allow releasing any resources.
VendorSymbol GetVendor() const override
bool Initialize() override
Called immediately after creation. Let provider initialize.
unsigned DiscoverPluginsAtPath(const PluginPath &path, TranslatableString &errMsg, const RegistrationCallback &callback) override
const FileExtensions & GetFileExtensions() override
File types associated with this protocol.
static void DoRegistration(const ComponentInterfaceSymbol &name, const Factory &factory)
virtual ~BuiltinCommandsModule()
bool CheckPluginExist(const PluginPath &path) const override
Performs plugin/module existence check, still plugin may fail to load. Implementation should avoid lo...
void AutoRegisterPlugins(PluginManagerInterface &pm) override
Called so that a provider of a static set of plug-ins can register them.
TranslatableString GetDescription() const override
PluginPaths FindModulePaths(PluginManagerInterface &pm) override
std::unique_ptr< AudacityCommand > Instantiate(const PluginPath &path)
std::unique_ptr< ComponentInterface > LoadPlugin(const PluginPath &path) override
Load the plug-in at a path reported by DiscoverPluginsAtPath.
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
static const PluginID & AudacityCommandRegistrationCallback(PluginProvider *provider, ComponentInterface *ident)
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)?
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.
ComponentInterfaceSymbol name
static Entries & Registry()
std::vector< Entry > Entries