ardour
Public Member Functions | Protected Member Functions | List of all members
ARDOUR::ExportFormat Class Referenceabstract

Base class for formats. More...

#include <export_formats.h>

Inheritance diagram for ARDOUR::ExportFormat:
ARDOUR::ExportFormatBase ARDOUR::ExportFormatBase::SelectableCompatible ARDOUR::ExportFormatBWF ARDOUR::ExportFormatFLAC ARDOUR::ExportFormatLinear ARDOUR::ExportFormatOggVorbis

Public Member Functions

 ExportFormat ()
 
 ~ExportFormat ()
 
virtual bool set_compatibility_state (ExportFormatCompatibility const &compatibility)=0
 
virtual Type get_type () const =0
 
FormatId get_format_id () const
 
Quality get_quality () const
 
bool has_sample_format ()
 
bool sample_format_is_compatible (SampleFormat format) const
 
virtual SampleFormat get_explicit_sample_format () const
 
virtual ExportFormat::SampleFormat default_sample_format () const
 
virtual uint32_t get_channel_limit () const
 
virtual bool supports_tagging () const
 
virtual bool has_broadcast_info () const
 
- Public Member Functions inherited from ARDOUR::ExportFormatBase
 ExportFormatBase ()
 
 ExportFormatBase (ExportFormatBase const &other)
 
virtual ~ExportFormatBase ()
 
boost::shared_ptr
< ExportFormatBase
get_intersection (ExportFormatBase const &other) const
 
boost::shared_ptr
< ExportFormatBase
get_union (ExportFormatBase const &other) const
 
bool endiannesses_empty () const
 
bool sample_formats_empty () const
 
bool sample_rates_empty () const
 
bool formats_empty () const
 
bool qualities_empty () const
 
bool has_endianness (Endianness endianness) const
 
bool has_sample_format (SampleFormat format) const
 
bool has_sample_rate (SampleRate rate) const
 
bool has_format (FormatId format) const
 
bool has_quality (Quality quality) const
 
void set_extension (std::string const &extension)
 
std::string const & extension () const
 
- Public Member Functions inherited from ARDOUR::ExportFormatBase::SelectableCompatible
 SelectableCompatible ()
 
 ~SelectableCompatible ()
 
bool selected () const
 
bool compatible () const
 
std::string name () const
 
void set_selected (bool value)
 
void set_compatible (bool value)
 

Protected Member Functions

void add_sample_rate (SampleRate rate)
 
void add_endianness (Endianness endianness)
 
void set_format_id (FormatId id)
 
void set_quality (Quality value)
 
- Protected Member Functions inherited from ARDOUR::ExportFormatBase::SelectableCompatible
void set_name (std::string name)
 

Additional Inherited Members

- Public Types inherited from ARDOUR::ExportFormatBase
enum  Type { T_None = 0, T_Sndfile }
 
enum  FormatId {
  F_None = 0, F_WAV = SF_FORMAT_WAV, F_W64 = SF_FORMAT_W64, F_CAF = SF_FORMAT_CAF,
  F_AIFF = SF_FORMAT_AIFF, F_AU = SF_FORMAT_AU, F_IRCAM = SF_FORMAT_IRCAM, F_RAW = SF_FORMAT_RAW,
  F_FLAC = SF_FORMAT_FLAC, F_Ogg = SF_FORMAT_OGG
}
 
enum  Endianness { E_FileDefault = SF_ENDIAN_FILE, E_Little = SF_ENDIAN_LITTLE, E_Big = SF_ENDIAN_BIG, E_Cpu = SF_ENDIAN_CPU }
 
enum  SampleFormat {
  SF_None = 0, SF_8 = SF_FORMAT_PCM_S8, SF_16 = SF_FORMAT_PCM_16, SF_24 = SF_FORMAT_PCM_24,
  SF_32 = SF_FORMAT_PCM_32, SF_U8 = SF_FORMAT_PCM_U8, SF_Float = SF_FORMAT_FLOAT, SF_Double = SF_FORMAT_DOUBLE,
  SF_Vorbis = SF_FORMAT_VORBIS
}
 
enum  DitherType { D_None = AudioGrapher::D_None, D_Rect = AudioGrapher::D_Rect, D_Tri = AudioGrapher::D_Tri, D_Shaped = AudioGrapher::D_Shaped }
 
enum  Quality {
  Q_None = 0, Q_Any, Q_LosslessLinear, Q_LosslessCompression,
  Q_LossyCompression
}
 
enum  SampleRate {
  SR_None = 0, SR_Session = 1, SR_8 = 8000, SR_22_05 = 22050,
  SR_44_1 = 44100, SR_48 = 48000, SR_88_2 = 88200, SR_96 = 96000,
  SR_192 = 192000
}
 
enum  SRCQuality {
  SRC_SincBest = SRC_SINC_BEST_QUALITY, SRC_SincMedium = SRC_SINC_MEDIUM_QUALITY, SRC_SincFast = SRC_SINC_FASTEST, SRC_ZeroOrderHold = SRC_ZERO_ORDER_HOLD,
  SRC_Linear = SRC_LINEAR
}
 
- Static Public Member Functions inherited from ARDOUR::ExportFormatBase
static SampleRate nearest_sample_rate (framecnt_t sample_rate)
 
- Public Attributes inherited from ARDOUR::ExportFormatBase::SelectableCompatible
PBD::Signal1< void, bool > SelectChanged
 
PBD::Signal1< void, bool > CompatibleChanged
 
- Protected Types inherited from ARDOUR::ExportFormatBase
typedef std::set< SampleFormatSampleFormatSet
 
typedef std::set< EndiannessEndianSet
 
typedef std::set< SampleRateSampleRateSet
 
typedef std::set< FormatIdFormatSet
 
typedef std::set< QualityQualitySet
 
- Protected Attributes inherited from ARDOUR::ExportFormatBase
SampleFormatSet sample_formats
 
EndianSet endiannesses
 
SampleRateSet sample_rates
 
FormatSet format_ids
 
QualitySet qualities
 

Detailed Description

Base class for formats.

Definition at line 42 of file export_formats.h.

Constructor & Destructor Documentation

ARDOUR::ExportFormat::ExportFormat ( )
inline

Definition at line 45 of file export_formats.h.

ARDOUR::ExportFormat::~ExportFormat ( )
inline

Definition at line 46 of file export_formats.h.

Member Function Documentation

void ARDOUR::ExportFormat::add_endianness ( Endianness  endianness)
inlineprotected

Definition at line 82 of file export_formats.h.

void ARDOUR::ExportFormat::add_sample_rate ( SampleRate  rate)
inlineprotected

Definition at line 81 of file export_formats.h.

virtual ExportFormat::SampleFormat ARDOUR::ExportFormat::default_sample_format ( ) const
inlinevirtual
virtual uint32_t ARDOUR::ExportFormat::get_channel_limit ( ) const
inlinevirtual

Reimplemented in ARDOUR::ExportFormatFLAC.

Definition at line 69 of file export_formats.h.

virtual SampleFormat ARDOUR::ExportFormat::get_explicit_sample_format ( ) const
inlinevirtual

Reimplemented in ARDOUR::ExportFormatOggVorbis.

Definition at line 61 of file export_formats.h.

FormatId ARDOUR::ExportFormat::get_format_id ( ) const
inline

Definition at line 51 of file export_formats.h.

Quality ARDOUR::ExportFormat::get_quality ( ) const
inline

Definition at line 52 of file export_formats.h.

virtual Type ARDOUR::ExportFormat::get_type ( ) const
pure virtual
virtual bool ARDOUR::ExportFormat::has_broadcast_info ( ) const
inlinevirtual

Reimplemented in ARDOUR::ExportFormatBWF.

Definition at line 77 of file export_formats.h.

bool ARDOUR::ExportFormat::has_sample_format ( )

Definition at line 31 of file export_formats.cc.

bool ARDOUR::ExportFormat::sample_format_is_compatible ( SampleFormat  format) const

Definition at line 37 of file export_formats.cc.

virtual bool ARDOUR::ExportFormat::set_compatibility_state ( ExportFormatCompatibility const &  compatibility)
pure virtual
void ARDOUR::ExportFormat::set_format_id ( FormatId  id)
inlineprotected

Definition at line 84 of file export_formats.h.

void ARDOUR::ExportFormat::set_quality ( Quality  value)
inlineprotected

Definition at line 85 of file export_formats.h.

virtual bool ARDOUR::ExportFormat::supports_tagging ( ) const
inlinevirtual

Reimplemented in ARDOUR::ExportFormatFLAC, and ARDOUR::ExportFormatOggVorbis.

Definition at line 73 of file export_formats.h.


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