Ardour  9.0-pre0-582-g084a23a80d
ARDOUR::ExportFormatBase Class Reference

#include <export_format_base.h>

Inheritance diagram for ARDOUR::ExportFormatBase:
[legend]

Classes

class  SelectableCompatible
 Class for managing selection and compatibility states. More...
 

Public Types

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
}
 

Public Member Functions

 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
 

Static Public Member Functions

static SampleRate nearest_sample_rate (samplecnt_t sample_rate)
 

Protected Types

typedef std::set< SampleFormatSampleFormatSet
 
typedef std::set< EndiannessEndianSet
 
typedef std::set< SampleRateSampleRateSet
 
typedef std::set< FormatIdFormatSet
 
typedef std::set< QualityQualitySet
 

Protected Attributes

SampleFormatSet sample_formats
 
EndianSet endiannesses
 
SampleRateSet sample_rates
 
FormatSet format_ids
 
QualitySet qualities
 

Private Types

enum  SetOperation { SetUnion , SetIntersection }
 

Private Member Functions

std::shared_ptr< ExportFormatBasedo_set_operation (ExportFormatBase const &other, SetOperation operation) const
 

Private Attributes

std::string _extension
 

Friends

class HasSampleFormat
 

Detailed Description

Definition at line 40 of file export_format_base.h.

Member Typedef Documentation

◆ EndianSet

typedef std::set<Endianness> ARDOUR::ExportFormatBase::EndianSet
protected

Definition at line 183 of file export_format_base.h.

◆ FormatSet

typedef std::set<FormatId> ARDOUR::ExportFormatBase::FormatSet
protected

Definition at line 185 of file export_format_base.h.

◆ QualitySet

typedef std::set<Quality> ARDOUR::ExportFormatBase::QualitySet
protected

Definition at line 186 of file export_format_base.h.

◆ SampleFormatSet

Definition at line 179 of file export_format_base.h.

◆ SampleRateSet

Definition at line 184 of file export_format_base.h.

Member Enumeration Documentation

◆ DitherType

Enumerator
D_None 
D_Rect 
D_Tri 
D_Shaped 

Definition at line 85 of file export_format_base.h.

◆ Endianness

Enumerator
E_FileDefault 
E_Little 
E_Big 
E_Cpu 

Definition at line 64 of file export_format_base.h.

◆ FormatId

Enumerator
F_None 
F_WAV 
F_W64 
F_CAF 
F_AIFF 
F_AU 
F_IRCAM 
F_RAW 
F_FLAC 
F_Ogg 
F_MPEG 
F_FFMPEG 

Definition at line 49 of file export_format_base.h.

◆ Quality

Enumerator
Q_None 
Q_Any 
Q_LosslessLinear 
Q_LosslessCompression 
Q_LossyCompression 

Definition at line 92 of file export_format_base.h.

◆ SampleFormat

Enumerator
SF_None 
SF_8 
SF_16 
SF_24 
SF_32 
SF_U8 
SF_Float 
SF_Double 
SF_Vorbis 
SF_Opus 
SF_MPEG_LAYER_III 

Definition at line 71 of file export_format_base.h.

◆ SampleRate

Enumerator
SR_None 
SR_Session 
SR_8 
SR_22_05 
SR_24 
SR_44_1 
SR_48 
SR_88_2 
SR_96 
SR_176_4 
SR_192 

Definition at line 100 of file export_format_base.h.

◆ SetOperation

Enumerator
SetUnion 
SetIntersection 

Definition at line 197 of file export_format_base.h.

◆ SRCQuality

Enumerator
SRC_SincBest 
SRC_SincMedium 
SRC_SincFast 
SRC_ZeroOrderHold 
SRC_Linear 

Definition at line 114 of file export_format_base.h.

◆ Type

Enumerator
T_None 
T_Sndfile 
T_FFMPEG 

Definition at line 43 of file export_format_base.h.

Constructor & Destructor Documentation

◆ ExportFormatBase() [1/2]

ARDOUR::ExportFormatBase::ExportFormatBase ( )

◆ ExportFormatBase() [2/2]

ARDOUR::ExportFormatBase::ExportFormatBase ( ExportFormatBase const &  other)

◆ ~ExportFormatBase()

virtual ARDOUR::ExportFormatBase::~ExportFormatBase ( )
virtual

Member Function Documentation

◆ do_set_operation()

std::shared_ptr<ExportFormatBase> ARDOUR::ExportFormatBase::do_set_operation ( ExportFormatBase const &  other,
SetOperation  operation 
) const
private

◆ endiannesses_empty()

bool ARDOUR::ExportFormatBase::endiannesses_empty ( ) const
inline

Definition at line 159 of file export_format_base.h.

◆ extension()

std::string const& ARDOUR::ExportFormatBase::extension ( ) const
inline

Definition at line 172 of file export_format_base.h.

◆ formats_empty()

bool ARDOUR::ExportFormatBase::formats_empty ( ) const
inline

Definition at line 162 of file export_format_base.h.

◆ get_intersection()

std::shared_ptr<ExportFormatBase> ARDOUR::ExportFormatBase::get_intersection ( ExportFormatBase const &  other) const

◆ get_union()

std::shared_ptr<ExportFormatBase> ARDOUR::ExportFormatBase::get_union ( ExportFormatBase const &  other) const

◆ has_endianness()

bool ARDOUR::ExportFormatBase::has_endianness ( Endianness  endianness) const
inline

Definition at line 165 of file export_format_base.h.

◆ has_format()

bool ARDOUR::ExportFormatBase::has_format ( FormatId  format) const
inline

Definition at line 168 of file export_format_base.h.

◆ has_quality()

bool ARDOUR::ExportFormatBase::has_quality ( Quality  quality) const
inline

Definition at line 169 of file export_format_base.h.

◆ has_sample_format()

bool ARDOUR::ExportFormatBase::has_sample_format ( SampleFormat  format) const
inline

Definition at line 166 of file export_format_base.h.

◆ has_sample_rate()

bool ARDOUR::ExportFormatBase::has_sample_rate ( SampleRate  rate) const
inline

Definition at line 167 of file export_format_base.h.

◆ nearest_sample_rate()

static SampleRate ARDOUR::ExportFormatBase::nearest_sample_rate ( samplecnt_t  sample_rate)
static

◆ qualities_empty()

bool ARDOUR::ExportFormatBase::qualities_empty ( ) const
inline

Definition at line 163 of file export_format_base.h.

◆ sample_formats_empty()

bool ARDOUR::ExportFormatBase::sample_formats_empty ( ) const
inline

Definition at line 160 of file export_format_base.h.

◆ sample_rates_empty()

bool ARDOUR::ExportFormatBase::sample_rates_empty ( ) const
inline

Definition at line 161 of file export_format_base.h.

◆ set_extension()

void ARDOUR::ExportFormatBase::set_extension ( std::string const &  extension)
inline

Definition at line 171 of file export_format_base.h.

Friends And Related Function Documentation

◆ HasSampleFormat

friend class HasSampleFormat
friend

Definition at line 178 of file export_format_base.h.

Member Data Documentation

◆ _extension

std::string ARDOUR::ExportFormatBase::_extension
private

Definition at line 195 of file export_format_base.h.

◆ endiannesses

EndianSet ARDOUR::ExportFormatBase::endiannesses
protected

Definition at line 188 of file export_format_base.h.

◆ format_ids

FormatSet ARDOUR::ExportFormatBase::format_ids
protected

Definition at line 190 of file export_format_base.h.

◆ qualities

QualitySet ARDOUR::ExportFormatBase::qualities
protected

Definition at line 191 of file export_format_base.h.

◆ sample_formats

SampleFormatSet ARDOUR::ExportFormatBase::sample_formats
protected

Definition at line 180 of file export_format_base.h.

◆ sample_rates

SampleRateSet ARDOUR::ExportFormatBase::sample_rates
protected

Definition at line 189 of file export_format_base.h.


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