11#if !defined(__EXPORT_FFMPEG_DIALOGS_H__)
12#define __EXPORT_FFMPEG_DIALOGS_H__
14#if defined(USE_FFMPEG)
22#include <unordered_map>
44#define AV_CANMETA (AV_VERSION_INT(255, 255, 255))
185 void OnOpen(wxCommandEvent & evt);
191 DECLARE_EVENT_TABLE()
213 void OnOK(wxCommandEvent& event);
214 void OnGetURL(wxCommandEvent& event);
298 DECLARE_EVENT_TABLE()
const TranslatableString name
std::unordered_map< wxString, FFmpegPreset > FFmpegPresetMap
FFmpegExposedFormat
Identifiers for pre-set export types.
wxString FileExtension
File extension, not including any leading dot.
std::vector< Attribute > AttributesList
Options dialog for FFmpeg exporting of AAC format.
bool TransferDataToWindow() override
bool TransferDataFromWindow() override
ExportFFmpegAACOptions(wxWindow *parent, int format)
virtual ~ExportFFmpegAACOptions()
void PopulateOrExchange(ShuttleGui &S)
AC3 export options dialog.
virtual ~ExportFFmpegAC3Options()
wxChoice * mBitRateChoice
static const int iAC3SampleRates[]
ExportFFmpegAC3Options(wxWindow *parent, int format)
bool TransferDataToWindow() override
bool TransferDataFromWindow() override
void PopulateOrExchange(ShuttleGui &S)
Options dialog for FFmpeg exporting of AMRNB format.
bool TransferDataToWindow() override
ExportFFmpegAMRNBOptions(wxWindow *parent, int format)
void PopulateOrExchange(ShuttleGui &S)
bool TransferDataFromWindow() override
wxChoice * mBitRateChoice
virtual ~ExportFFmpegAMRNBOptions()
bool TransferDataFromWindow() override
void OnOpen(wxCommandEvent &evt)
bool TransferDataToWindow() override
ExportFFmpegCustomOptions(wxWindow *parent, int format)
~ExportFFmpegCustomOptions()
void PopulateOrExchange(ShuttleGui &S)
Options dialog for FFmpeg exporting of OPUS format.
int mComplexityFromSlider
wxSlider * mComplexitySlider
wxChoice * mApplicationChoice
bool TransferDataToWindow() override
bool TransferDataFromWindow() override
wxSlider * mBitRateSlider
~ExportFFmpegOPUSOptions()
ExportFFmpegOPUSOptions(wxWindow *parent, int format)
wxChoice * mFramesizeChoice
int mApplicationFromChoice
static const int iOPUSSampleRates[]
wxChoice * mCuttoffChoice
void PopulateOrExchange(ShuttleGui &S)
Custom FFmpeg export dialog.
void OnExportPresets(wxCommandEvent &event)
void OnSavePreset(wxCommandEvent &event)
static const int iAACSampleRates[]
void OnImportPresets(wxCommandEvent &event)
void FetchPresetList()
Retrieves list of presets from configuration file.
void FindSelectedCodec(wxString **name, wxString **longname)
Finds the codec currently selected and returns its name and description.
int mSampleRateFromChoice
wxArrayStringEx mCodecNames
wxComboBox * mPresetCombo
void OnDeletePreset(wxCommandEvent &event)
wxArrayString mShownFormatLongNames
void FetchCodecList()
Retrieves codec list from libavcodec.
static CompatibilityEntry CompatibilityList[]
std::unique_ptr< FFmpegPresets > mPresets
int FetchCompatibleFormatList(AudacityAVCodecID id, wxString *selfmt)
void OnCodecList(wxCommandEvent &event)
void PopulateOrExchange(ShuttleGui &S)
void FindSelectedFormat(wxString **name, wxString **longname)
Finds the format currently selected and returns its name and description.
void OnLoadPreset(wxCommandEvent &event)
wxArrayStringEx mFormatNames
wxArrayString mShownCodecLongNames
wxArrayString mShownCodecNames
int FetchCompatibleCodecList(const wxChar *fmt, AudacityAVCodecID id)
wxStaticText * mCodecName
wxArrayString mCodecLongNames
void OnFormatList(wxCommandEvent &event)
void OnAllFormats(wxCommandEvent &event)
wxStaticText * mFormatName
void OnOK(wxCommandEvent &event)
ExportFFmpegOptions(wxWindow *parent)
void OnAllCodecs(wxCommandEvent &event)
bool SavePreset(bool bCheckForOverwrite)
void FetchFormatList()
Retrieves format list from libavformat.
static ExposedFormat fmts[]
List of export types.
static ApplicableFor apptable[]
bool ReportIfBadCombination()
wxArrayString mShownFormatNames
void OnGetURL(wxCommandEvent &event)
wxArrayStringEx mPresetNames
void EnableDisableControls(AVCodecWrapper *cdc, wxString *selfmt)
std::shared_ptr< FFmpegFunctions > mFFmpeg
wxArrayString mFormatLongNames
Options dialog for FFmpeg exporting of WMA format.
bool TransferDataFromWindow() override
void PopulateOrExchange(ShuttleGui &S)
bool TransferDataToWindow() override
wxChoice * mBitRateChoice
~ExportFFmpegWMAOptions()
static const int iWMASampleRates[]
ExportFFmpegWMAOptions(wxWindow *parent, int format)
wxArrayString mControlState
void LoadPreset(ExportFFmpegOptions *parent, wxString &name)
bool SavePreset(ExportFFmpegOptions *parent, wxString &name)
void ImportPresets(wxString &filename)
bool OverwriteIsOk(wxString &name)
XMLTagHandler * HandleXMLChild(const std::string_view &tag) override
void DeletePreset(wxString &name)
bool HandleXMLTag(const std::string_view &tag, const AttributesList &attrs) override
void WriteXMLHeader(XMLWriter &xmlFile) const
void GetPresetList(wxArrayString &list)
void WriteXML(XMLWriter &xmlFile) const
void ExportPresets(wxString &filename)
FFmpegPreset * FindPreset(wxString &name)
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI.
Holds a msgid for the translation catalog; may also bind format arguments.
This class is an interface which should be implemented by classes which wish to be able to load and s...
Base class for XMLFileWriter and XMLStringWriter that provides the general functionality for creating...
Extend wxArrayString with move operations and construction and insertion fromstd::initializer_list.
Entry for the Applicability table.
AudacityAVCodecID codec
Codec ID.
bool enable
true if this control should be enabled, false otherwise
const char * format
Format short name.
Describes format-codec compatibility.
const wxChar * fmt
format, recognizable by guess_format()
AudacityAVCodecID codec
codec ID