Audacity  2.2.0
ExportPlugin Class Referenceabstract

#include <Export.h>

Inheritance diagram for ExportPlugin:
ExportCL ExportMP3 ExportPCM

Public Member Functions

 ExportPlugin ()
 
virtual ~ExportPlugin ()
 
int AddFormat ()
 Add a NEW entry to the list of formats this plug-in can export. More...
 
void SetFormat (const wxString &format, int index)
 
void SetDescription (const wxString &description, int index)
 
void AddExtension (const wxString &extension, int index)
 
void SetExtensions (const wxArrayString &extensions, int index)
 
void SetMask (const wxString &mask, int index)
 
void SetMaxChannels (unsigned maxchannels, unsigned index)
 
void SetCanMetaData (bool canmetadata, int index)
 
virtual int GetFormatCount ()
 
virtual wxString GetFormat (int index)
 
virtual wxString GetDescription (int index)
 
virtual wxString GetExtension (int index=0)
 Return the (first) file name extension for the sub-format. More...
 
virtual wxArrayString GetExtensions (int index=0)
 Return all the file name extensions used for the sub-format. More...
 
virtual wxString GetMask (int index)
 
virtual unsigned GetMaxChannels (int index)
 
virtual bool GetCanMetaData (int index)
 
virtual bool IsExtension (const wxString &ext, int index)
 
virtual bool DisplayOptions (wxWindow *parent, int format=0)
 
virtual wxWindow * OptionsCreate (wxWindow *parent, int format)=0
 
virtual bool CheckFileName (wxFileName &filename, int format=0)
 
virtual int SetNumExportChannels ()
 Exporter plug-ins may override this to specify the number of channels in exported file. -1 for unspecified. More...
 
virtual ProgressResult Export (AudacityProject *project, unsigned channels, const wxString &fName, bool selectedOnly, double t0, double t1, MixerSpec *mixerSpec=NULL, const Tags *metadata=NULL, int subformat=0)=0
 called to export audio into a file. More...
 

Protected Member Functions

std::unique_ptr< MixerCreateMixer (const WaveTrackConstArray &inputTracks, const TimeTrack *timeTrack, double startTime, double stopTime, unsigned numOutChannels, size_t outBufferSize, bool outInterleaved, double outRate, sampleFormat outFormat, bool highQuality=true, MixerSpec *mixerSpec=NULL)
 

Private Attributes

FormatInfoArray mFormatInfos
 

Constructor & Destructor Documentation

ExportPlugin::ExportPlugin ( )

References mFormatInfos.

ExportPlugin::~ExportPlugin ( )
virtual

References mFormatInfos.

Member Function Documentation

void ExportPlugin::AddExtension ( const wxString &  extension,
int  index 
)
int ExportPlugin::AddFormat ( )

Add a NEW entry to the list of formats this plug-in can export.

To configure the format use SetFormat, SetCanMetaData etc with the index of the format.

Returns
The number of formats currently set up. This is one more than the index of the newly added format.

References mFormatInfos.

Referenced by ExportCL::ExportCL(), ExportMP3::ExportMP3(), and ExportPCM::ExportPCM().

bool ExportPlugin::CheckFileName ( wxFileName &  filename,
int  format = 0 
)
virtual

Reimplemented in ExportMP3, and ExportPCM.

Referenced by ExportPCM::CheckFileName().

std::unique_ptr< Mixer > ExportPlugin::CreateMixer ( const WaveTrackConstArray inputTracks,
const TimeTrack timeTrack,
double  startTime,
double  stopTime,
unsigned  numOutChannels,
size_t  outBufferSize,
bool  outInterleaved,
double  outRate,
sampleFormat  outFormat,
bool  highQuality = true,
MixerSpec mixerSpec = NULL 
)
protected
bool ExportPlugin::DisplayOptions ( wxWindow *  parent,
int  format = 0 
)
virtual
virtual ProgressResult ExportPlugin::Export ( AudacityProject project,
unsigned  channels,
const wxString &  fName,
bool  selectedOnly,
double  t0,
double  t1,
MixerSpec mixerSpec = NULL,
const Tags metadata = NULL,
int  subformat = 0 
)
pure virtual

called to export audio into a file.

Parameters
selectedOnlySet to true if all tracks should be mixed, to false if only the selected tracks should be mixed and exported.
metadataA Tags object that will over-ride the one in *project and be used to tag the file that is exported.
subformatControl which of the multiple formats this exporter is capable of exporting should be used. Used where a single export plug-in handles a number of related formats, but they have separate entries in the Format drop-down list box. For example, the options to export to "Other PCM", "AIFF 16 Bit" and "WAV 16 Bit" are all the same libsndfile export plug-in, but with subformat set to 0, 1, and 2 respectively.

Implemented in ExportMP3, ExportPCM, and ExportCL.

bool ExportPlugin::GetCanMetaData ( int  index)
virtual

References mFormatInfos.

wxString ExportPlugin::GetDescription ( int  index)
virtual

References mFormatInfos.

Referenced by GetMask().

wxString ExportPlugin::GetExtension ( int  index = 0)
virtual

Return the (first) file name extension for the sub-format.

Parameters
indexThe sub-format for which the extension is wanted

Reimplemented in ExportPCM.

References mFormatInfos.

Referenced by ExportPCM::GetExtension(), and IsExtension().

wxArrayString ExportPlugin::GetExtensions ( int  index = 0)
virtual

Return all the file name extensions used for the sub-format.

Parameters
indexthe sub-format for which the extension is required

References mFormatInfos.

Referenced by GetMask(), and IsExtension().

wxString ExportPlugin::GetFormat ( int  index)
virtual

References mFormatInfos.

int ExportPlugin::GetFormatCount ( )
virtual

References mFormatInfos.

Referenced by IsExtension().

wxString ExportPlugin::GetMask ( int  index)
virtual
unsigned ExportPlugin::GetMaxChannels ( int  index)
virtual

References mFormatInfos.

bool ExportPlugin::IsExtension ( const wxString &  ext,
int  index 
)
virtual
wxWindow * ExportPlugin::OptionsCreate ( wxWindow *  parent,
int  format 
)
pure virtual
void ExportPlugin::SetCanMetaData ( bool  canmetadata,
int  index 
)
void ExportPlugin::SetDescription ( const wxString &  description,
int  index 
)
void ExportPlugin::SetExtensions ( const wxArrayString &  extensions,
int  index 
)

References mFormatInfos.

Referenced by ExportPCM::ExportPCM().

void ExportPlugin::SetFormat ( const wxString &  format,
int  index 
)
Parameters
indexThe plugin to set the format for (range 0 to one less than the count of formats)

References format, and mFormatInfos.

Referenced by ExportCL::ExportCL(), ExportMP3::ExportMP3(), and ExportPCM::ExportPCM().

void ExportPlugin::SetMask ( const wxString &  mask,
int  index 
)

References mFormatInfos.

void ExportPlugin::SetMaxChannels ( unsigned  maxchannels,
unsigned  index 
)
virtual int ExportPlugin::SetNumExportChannels ( )
inlinevirtual

Exporter plug-ins may override this to specify the number of channels in exported file. -1 for unspecified.

Reimplemented in ExportMP3.

Member Data Documentation


The documentation for this class was generated from the following files: