ardour
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Attributes | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
ARDOUR::ExportFormatBase Class Reference

#include <export_format_base.h>

Inheritance diagram for ARDOUR::ExportFormatBase:
ARDOUR::ExportFormat ARDOUR::ExportFormatCompatibility ARDOUR::ExportFormatSpecification ARDOUR::ExportFormatBWF ARDOUR::ExportFormatFLAC ARDOUR::ExportFormatLinear ARDOUR::ExportFormatOggVorbis

Classes

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

Public Types

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
}
 

Public Member Functions

 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
 

Static Public Member Functions

static SampleRate nearest_sample_rate (framecnt_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

boost::shared_ptr
< ExportFormatBase
do_set_operation (ExportFormatBase const &other, SetOperation operation) const
 

Private Attributes

std::string _extension
 

Friends

class HasSampleFormat
 

Detailed Description

Definition at line 41 of file export_format_base.h.

Member Typedef Documentation

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

Definition at line 177 of file export_format_base.h.

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

Definition at line 179 of file export_format_base.h.

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

Definition at line 180 of file export_format_base.h.

Definition at line 173 of file export_format_base.h.

Definition at line 178 of file export_format_base.h.

Member Enumeration Documentation

Enumerator
D_None 
D_Rect 
D_Tri 
D_Shaped 

Definition at line 81 of file export_format_base.h.

Enumerator
E_FileDefault 
E_Little 
E_Big 
E_Cpu 

Definition at line 62 of file export_format_base.h.

Enumerator
F_None 
F_WAV 
F_W64 
F_CAF 
F_AIFF 
F_AU 
F_IRCAM 
F_RAW 
F_FLAC 
F_Ogg 

Definition at line 49 of file export_format_base.h.

Enumerator
Q_None 
Q_Any 
Q_LosslessLinear 
Q_LosslessCompression 
Q_LossyCompression 

Definition at line 88 of file export_format_base.h.

Enumerator
SF_None 
SF_8 
SF_16 
SF_24 
SF_32 
SF_U8 
SF_Float 
SF_Double 
SF_Vorbis 

Definition at line 69 of file export_format_base.h.

Enumerator
SR_None 
SR_Session 
SR_8 
SR_22_05 
SR_44_1 
SR_48 
SR_88_2 
SR_96 
SR_192 

Definition at line 96 of file export_format_base.h.

Enumerator
SetUnion 
SetIntersection 

Definition at line 191 of file export_format_base.h.

Enumerator
SRC_SincBest 
SRC_SincMedium 
SRC_SincFast 
SRC_ZeroOrderHold 
SRC_Linear 

Definition at line 108 of file export_format_base.h.

Enumerator
T_None 
T_Sndfile 

Definition at line 44 of file export_format_base.h.

Constructor & Destructor Documentation

ARDOUR::ExportFormatBase::ExportFormatBase ( )

Definition at line 47 of file export_format_base.cc.

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

Definition at line 52 of file export_format_base.cc.

ARDOUR::ExportFormatBase::~ExportFormatBase ( )
virtual

Definition at line 62 of file export_format_base.cc.

Member Function Documentation

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

Definition at line 80 of file export_format_base.cc.

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

Definition at line 153 of file export_format_base.h.

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

Definition at line 166 of file export_format_base.h.

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

Definition at line 156 of file export_format_base.h.

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

Definition at line 68 of file export_format_base.cc.

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

Definition at line 74 of file export_format_base.cc.

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

Definition at line 159 of file export_format_base.h.

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

Definition at line 162 of file export_format_base.h.

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

Definition at line 163 of file export_format_base.h.

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

Definition at line 160 of file export_format_base.h.

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

Definition at line 161 of file export_format_base.h.

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

Definition at line 181 of file export_format_base.cc.

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

Definition at line 157 of file export_format_base.h.

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

Definition at line 154 of file export_format_base.h.

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

Definition at line 155 of file export_format_base.h.

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

Definition at line 165 of file export_format_base.h.

Friends And Related Function Documentation

friend class HasSampleFormat
friend

Definition at line 172 of file export_format_base.h.

Member Data Documentation

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

Definition at line 189 of file export_format_base.h.

EndianSet ARDOUR::ExportFormatBase::endiannesses
protected

Definition at line 182 of file export_format_base.h.

FormatSet ARDOUR::ExportFormatBase::format_ids
protected

Definition at line 184 of file export_format_base.h.

QualitySet ARDOUR::ExportFormatBase::qualities
protected

Definition at line 185 of file export_format_base.h.

SampleFormatSet ARDOUR::ExportFormatBase::sample_formats
protected

Definition at line 174 of file export_format_base.h.

SampleRateSet ARDOUR::ExportFormatBase::sample_rates
protected

Definition at line 183 of file export_format_base.h.


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