diff --git a/include/audacity/ImporterInterface.h b/include/audacity/ImporterInterface.h index 10e00d003..d479a62de 100644 --- a/include/audacity/ImporterInterface.h +++ b/include/audacity/ImporterInterface.h @@ -73,7 +73,7 @@ public: // import. If a filename matches any of these extensions, // this importer will get first dibs on importing it. virtual FileExtensions GetSupportedExtensions() = 0; - virtual bool SupportsExtension(const wxString & extension) = 0; + virtual bool SupportsExtension(const FileExtension & extension) = 0; // Create the client that will be used to import a file. virtual ImporterClientInterface *CreateClient() = 0; diff --git a/src/BatchCommands.cpp b/src/BatchCommands.cpp index 3db649396..babf1db92 100644 --- a/src/BatchCommands.cpp +++ b/src/BatchCommands.cpp @@ -631,7 +631,7 @@ bool MacroCommands::ApplySpecialCommand( } wxString filename; - wxString extension; // required for correct message + FileExtension extension; // required for correct message if (command == wxT("ExportWAV")) extension = wxT(".wav"); else if (command == wxT("ExportOgg")) diff --git a/src/export/Export.cpp b/src/export/Export.cpp index d2ecf23f6..d6177f80d 100644 --- a/src/export/Export.cpp +++ b/src/export/Export.cpp @@ -123,7 +123,7 @@ void ExportPlugin::SetDescription(const TranslatableString & description, int in mFormatInfos[index].mDescription = description; } -void ExportPlugin::AddExtension(const wxString &extension,int index) +void ExportPlugin::AddExtension(const FileExtension &extension, int index) { mFormatInfos[index].mExtensions.push_back(extension); } @@ -201,7 +201,7 @@ bool ExportPlugin::GetCanMetaData(int index) return mFormatInfos[index].mCanMetaData; } -bool ExportPlugin::IsExtension(const wxString & ext, int index) +bool ExportPlugin::IsExtension(const FileExtension & ext, int index) { bool isext = false; for (int i = index; i < GetFormatCount(); i = GetFormatCount()) @@ -462,7 +462,7 @@ bool Exporter::Process(AudacityProject *project, bool selectedOnly, double t0, d } bool Exporter::Process(AudacityProject *project, unsigned numChannels, - const wxChar *type, const wxString & filename, + const FileExtension &type, const wxString & filename, bool selectedOnly, double t0, double t1) { // Save parms @@ -592,7 +592,7 @@ bool Exporter::GetFilename() mFormat = -1; wxString maskString; - wxString defaultFormat = mFormatName; + auto defaultFormat = mFormatName; if( defaultFormat.empty() ) defaultFormat = gPrefs->Read(wxT("/Export/Format"), wxT("WAV")); @@ -683,7 +683,7 @@ bool Exporter::GetFilename() } } - auto ext = mFilename.GetExt(); + const auto ext = mFilename.GetExt(); defext = mPlugins[mFormat]->GetExtension(mSubFormat).Lower(); // diff --git a/src/export/Export.h b/src/export/Export.h index 6357acbc6..2eb86da73 100644 --- a/src/export/Export.h +++ b/src/export/Export.h @@ -69,7 +69,7 @@ public: int AddFormat(); void SetFormat(const wxString & format, int index); void SetDescription(const TranslatableString & description, int index); - void AddExtension(const wxString &extension,int index); + void AddExtension(const FileExtension &extension, int index); void SetExtensions(FileExtensions extensions, int index); void SetMask(const wxString & mask, int index); void SetMaxChannels(unsigned maxchannels, unsigned index); @@ -89,7 +89,7 @@ public: virtual unsigned GetMaxChannels(int index); virtual bool GetCanMetaData(int index); - virtual bool IsExtension(const wxString & ext, int index); + virtual bool IsExtension(const FileExtension & ext, int index); virtual bool DisplayOptions(wxWindow *parent, int format = 0); @@ -185,12 +185,12 @@ public: virtual ~Exporter(); void SetFileDialogTitle( const TranslatableString & DialogTitle ); - void SetDefaultFormat( const wxString & Format ){ mFormatName = Format;}; + void SetDefaultFormat( const FileExtension & Format ){ mFormatName = Format;}; bool Process(AudacityProject *project, bool selectedOnly, double t0, double t1); bool Process(AudacityProject *project, unsigned numChannels, - const wxChar *type, const wxString & filename, + const FileExtension &type, const wxString & filename, bool selectedOnly, double t0, double t1); void DisplayOptions(int index); @@ -227,7 +227,7 @@ private: void OnFilterChanged(wxFileCtrlEvent & evt); private: - wxString mFormatName; + FileExtension mFormatName; FileDialogWrapper *mDialog; TranslatableString mFileDialogTitle; AudacityProject *mProject; diff --git a/src/export/ExportFFmpeg.cpp b/src/export/ExportFFmpeg.cpp index 01df247c2..4376be31f 100644 --- a/src/export/ExportFFmpeg.cpp +++ b/src/export/ExportFFmpeg.cpp @@ -214,13 +214,13 @@ ExportFFmpeg::ExportFFmpeg() switch(newfmt) { case FMT_M4A: - AddExtension(wxString(wxT("3gp")),fmtindex); - AddExtension(wxString(wxT("m4r")),fmtindex); - AddExtension(wxString(wxT("mp4")),fmtindex); + AddExtension(wxT("3gp"),fmtindex); + AddExtension(wxT("m4r"),fmtindex); + AddExtension(wxT("mp4"),fmtindex); break; case FMT_WMA2: - AddExtension(wxString(wxT("asf")),fmtindex); - AddExtension(wxString(wxT("wmv")),fmtindex); + AddExtension(wxT("asf"),fmtindex); + AddExtension(wxT("wmv"),fmtindex); break; default: break; diff --git a/src/export/ExportFFmpegDialogs.h b/src/export/ExportFFmpegDialogs.h index 9900e4858..b5cbbb189 100644 --- a/src/export/ExportFFmpegDialogs.h +++ b/src/export/ExportFFmpegDialogs.h @@ -48,7 +48,7 @@ struct ExposedFormat { FFmpegExposedFormat fmtid; //!< one of the FFmpegExposedFormat const wxChar *name; //!< format name (internal, should be unique; if not - export dialog may show unusual behaviour) - const wxChar *extension; //!< default extension for this format. More extensions may be added later via AddExtension. + const FileExtension extension; //!< default extension for this format. More extensions may be added later via AddExtension. const wxChar *shortname; //!< used to guess the format unsigned maxchannels; //!< how many channels this format could handle const int canmetadata; //!< !=0 if format supports metadata, AV_CANMETA any avformat version, otherwise version support added diff --git a/src/export/ExportPCM.cpp b/src/export/ExportPCM.cpp index b2dff42eb..585d65fd5 100644 --- a/src/export/ExportPCM.cpp +++ b/src/export/ExportPCM.cpp @@ -372,7 +372,7 @@ ExportPCM::ExportPCM() si.format = kFormats[i].format; for (si.channels = 1; sf_format_check(&si); si.channels++) ; - wxString ext = sf_header_extension(si.format); + auto ext = sf_header_extension(si.format); SetFormat(kFormats[i].name, format); SetCanMetaData(true, format); diff --git a/src/import/Import.cpp b/src/import/Import.cpp index 80c0ae475..fda4d7d9d 100644 --- a/src/import/Import.cpp +++ b/src/import/Import.cpp @@ -350,7 +350,7 @@ bool Importer::Import(const FilePath &fName, AudacityProject *pProj = GetActiveProject(); auto cleanup = valueRestorer( pProj->mbBusyImporting, true ); - wxString extension = fName.AfterLast(wxT('.')); + const FileExtension extension{ fName.AfterLast(wxT('.')) }; // Always refuse to import MIDI, even though the FFmpeg plugin pretends to know how (but makes very bad renderings) #ifdef USE_MIDI diff --git a/src/import/ImportGStreamer.cpp b/src/import/ImportGStreamer.cpp index 64e05e320..fe5d1a305 100644 --- a/src/import/ImportGStreamer.cpp +++ b/src/import/ImportGStreamer.cpp @@ -345,7 +345,7 @@ GStreamerImportPlugin::GetSupportedExtensions() // We refresh the extensions each time this is called in case the // user had installed additional gstreamer plugins while Audacity // was active. - mExtensions.Empty(); + mExtensions.clear(); // Gather extensions from all factories that support audio { diff --git a/src/import/ImportPlugin.h b/src/import/ImportPlugin.h index 740a7f562..bd6dda329 100644 --- a/src/import/ImportPlugin.h +++ b/src/import/ImportPlugin.h @@ -173,7 +173,7 @@ public: return mFormatName; } - bool SupportsExtension(const wxString &extension) + bool SupportsExtension(const FileExtension &extension) { return mExtensions.Index(extension, false) != wxNOT_FOUND; } diff --git a/src/menus/FileMenus.cpp b/src/menus/FileMenus.cpp index 06c12fb8f..721565f01 100644 --- a/src/menus/FileMenus.cpp +++ b/src/menus/FileMenus.cpp @@ -35,8 +35,7 @@ // private helper classes and functions namespace { -void DoExport -(AudacityProject &project, const wxString & Format ) +void DoExport( AudacityProject &project, const FileExtension & Format ) { auto &tracks = TrackList::Get( project );