Ardour  9.0-pre0-582-g084a23a80d
ARDOUR::ExportFormat Class Referenceabstract

Base class for formats. More...

#include <export_formats.h>

Inheritance diagram for ARDOUR::ExportFormat:
[legend]

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 has_codec_quality ()
 
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 ()
 
std::shared_ptr< ExportFormatBaseget_intersection (ExportFormatBase const &other) const
 
std::shared_ptr< ExportFormatBaseget_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 , T_FFMPEG }
 
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 , F_MPEG = 0x230000 , F_FFMPEG = 0xF10000
}
 
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 , SF_Opus = 0x0064 , SF_MPEG_LAYER_III = 0x0082
}
 
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_24 = 24000 , SR_44_1 = 44100 , SR_48 = 48000 , SR_88_2 = 88200 ,
  SR_96 = 96000 , SR_176_4 = 176400 , 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 (samplecnt_t sample_rate)
 
- Public Attributes inherited from ARDOUR::ExportFormatBase::SelectableCompatible
PBD::Signal< void(bool)> SelectChanged
 
PBD::Signal< 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 45 of file export_formats.h.

Constructor & Destructor Documentation

◆ ExportFormat()

ARDOUR::ExportFormat::ExportFormat ( )
inline

Definition at line 48 of file export_formats.h.

◆ ~ExportFormat()

ARDOUR::ExportFormat::~ExportFormat ( )
inline

Definition at line 49 of file export_formats.h.

Member Function Documentation

◆ add_endianness()

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

Definition at line 108 of file export_formats.h.

◆ add_sample_rate()

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

Definition at line 103 of file export_formats.h.

◆ default_sample_format()

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

◆ get_channel_limit()

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

Reimplemented in ARDOUR::ExportFormatFLAC.

Definition at line 85 of file export_formats.h.

◆ get_explicit_sample_format()

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

◆ get_format_id()

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

Definition at line 55 of file export_formats.h.

◆ get_quality()

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

Definition at line 60 of file export_formats.h.

◆ get_type()

◆ has_broadcast_info()

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

Reimplemented in ARDOUR::ExportFormatBWF.

Definition at line 97 of file export_formats.h.

◆ has_codec_quality()

bool ARDOUR::ExportFormat::has_codec_quality ( )

◆ has_sample_format()

bool ARDOUR::ExportFormat::has_sample_format ( )

◆ sample_format_is_compatible()

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

◆ set_compatibility_state()

◆ set_format_id()

void ARDOUR::ExportFormat::set_format_id ( FormatId  id)
inlineprotected

Definition at line 113 of file export_formats.h.

◆ set_quality()

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

Definition at line 119 of file export_formats.h.

◆ supports_tagging()

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

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