1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-16 16:10:06 +02:00

ModuleInterface::GetFileExtensions() returns const reference...

... avoiding repeated array allocation
This commit is contained in:
Paul Licameli 2019-03-08 15:06:24 -05:00
parent bf005c0dec
commit 74128156bf
18 changed files with 43 additions and 20 deletions

View File

@ -84,7 +84,7 @@ public:
// This function returns nonempty only when that is the case, and lists
// the possible extensions of such files (an empty string in a nonempty
// array means any file is a candidate).
virtual FileExtensions GetFileExtensions() = 0;
virtual const FileExtensions &GetFileExtensions() = 0;
// Returns empty, or else, where to copy a plug-in file or bundle.
// Drag-and-drop is supported only if GetFileExtensions() returns nonempty and

View File

@ -1787,7 +1787,7 @@ bool PluginManager::DropFile(const wxString &fileName)
continue;
const auto &ff = module->InstallPath();
auto extensions = module->GetFileExtensions();
const auto &extensions = module->GetFileExtensions();
if ( !ff.empty() &&
extensions.Index(src.GetExt(), false) != wxNOT_FOUND ) {
wxString errMsg;

View File

@ -228,6 +228,12 @@ void BuiltinCommandsModule::Terminate()
return;
}
const FileExtensions &BuiltinCommandsModule::GetFileExtensions()
{
static FileExtensions empty;
return empty;
}
bool BuiltinCommandsModule::AutoRegisterPlugins(PluginManagerInterface & pm)
{
wxString ignoredErrMsg;

View File

@ -40,7 +40,7 @@ public:
bool Initialize() override;
void Terminate() override;
FileExtensions GetFileExtensions() override { return {}; }
const FileExtensions &GetFileExtensions() override;
FilePath InstallPath() override { return {}; }
bool AutoRegisterPlugins(PluginManagerInterface & pm) override;

View File

@ -293,6 +293,12 @@ void BuiltinEffectsModule::Terminate()
return;
}
const FileExtensions &BuiltinEffectsModule::GetFileExtensions()
{
static FileExtensions empty;
return empty;
}
bool BuiltinEffectsModule::AutoRegisterPlugins(PluginManagerInterface & pm)
{
wxString ignoredErrMsg;

View File

@ -39,7 +39,7 @@ public:
bool Initialize() override;
void Terminate() override;
FileExtensions GetFileExtensions() override { return {}; }
const FileExtensions &GetFileExtensions() override;
FilePath InstallPath() override { return {}; }
bool AutoRegisterPlugins(PluginManagerInterface & pm) override;

View File

@ -370,9 +370,10 @@ void VSTEffectsModule::Terminate()
return;
}
FileExtensions VSTEffectsModule::GetFileExtensions()
const FileExtensions &VSTEffectsModule::GetFileExtensions()
{
return {{ _T("vst") }};
static FileExtensions result{{ _T("vst") }};
return result;
}
FilePath VSTEffectsModule::InstallPath()

View File

@ -416,7 +416,7 @@ public:
bool Initialize() override;
void Terminate() override;
FileExtensions GetFileExtensions() override;
const FileExtensions &GetFileExtensions() override;
FilePath InstallPath() override;
bool AutoRegisterPlugins(PluginManagerInterface & pm) override;

View File

@ -137,9 +137,10 @@ wxString AudioUnitEffectsModule::GetDescription()
// ModuleInterface implementation
// ============================================================================
FileExtensions AudioUnitEffectsModule::GetFileExtensions()
const FileExtensions &AudioUnitEffectsModule::GetFileExtensions()
{
return {{ _T("au") }};
static FileExtensions result{{ _T("au") }};
return result;
}
bool AudioUnitEffectsModule::Initialize()

View File

@ -241,7 +241,7 @@ public:
bool Initialize() override;
void Terminate() override;
FileExtensions GetFileExtensions() override;
const FileExtensions &GetFileExtensions() override;
FilePath InstallPath() override { return {}; }
bool AutoRegisterPlugins(PluginManagerInterface & pm) override;

View File

@ -156,9 +156,9 @@ void LadspaEffectsModule::Terminate()
return;
}
FileExtensions LadspaEffectsModule::GetFileExtensions()
const FileExtensions &LadspaEffectsModule::GetFileExtensions()
{
return {{
static FileExtensions result{{
#ifdef __WXMSW__
@ -176,6 +176,7 @@ FileExtensions LadspaEffectsModule::GetFileExtensions()
#endif
}};
return result;
}
FilePath LadspaEffectsModule::InstallPath()

View File

@ -222,7 +222,7 @@ public:
bool Initialize() override;
void Terminate() override;
FileExtensions GetFileExtensions() override;
const FileExtensions &GetFileExtensions() override;
FilePath InstallPath() override;
bool AutoRegisterPlugins(PluginManagerInterface & pm) override;

View File

@ -207,6 +207,12 @@ void LV2EffectsModule::Terminate()
return;
}
const FileExtensions &LV2EffectsModule::GetFileExtensions()
{
static FileExtensions empty;
return empty;
}
bool LV2EffectsModule::AutoRegisterPlugins(PluginManagerInterface & WXUNUSED(pm))
{
return false;

View File

@ -86,7 +86,7 @@ public:
bool Initialize() override;
void Terminate() override;
FileExtensions GetFileExtensions() override { return {}; }
const FileExtensions &GetFileExtensions() override;
FilePath InstallPath() override { return {}; }
bool AutoRegisterPlugins(PluginManagerInterface & pm) override;

View File

@ -156,9 +156,10 @@ void NyquistEffectsModule::Terminate()
return;
}
FileExtensions NyquistEffectsModule::GetFileExtensions()
const FileExtensions &NyquistEffectsModule::GetFileExtensions()
{
return {{ _T("ny") }};
static FileExtensions result{{ _T("ny") }};
return result;
}
FilePath NyquistEffectsModule::InstallPath()

View File

@ -37,7 +37,7 @@ public:
bool Initialize() override;
void Terminate() override;
FileExtensions GetFileExtensions() override;
const FileExtensions &GetFileExtensions() override;
FilePath InstallPath() override;
bool AutoRegisterPlugins(PluginManagerInterface & pm) override;

View File

@ -112,9 +112,10 @@ void VampEffectsModule::Terminate()
return;
}
FileExtensions VampEffectsModule::GetFileExtensions()
const FileExtensions &VampEffectsModule::GetFileExtensions()
{
return {};
static FileExtensions empty;
return empty;
}
bool VampEffectsModule::AutoRegisterPlugins(PluginManagerInterface & WXUNUSED(pm))

View File

@ -45,7 +45,7 @@ public:
bool Initialize() override;
void Terminate() override;
FileExtensions GetFileExtensions() override;
const FileExtensions &GetFileExtensions() override;
FilePath InstallPath() override { return {}; }
bool AutoRegisterPlugins(PluginManagerInterface & pm) override;