ardour
Classes | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
ARDOUR::ExportFormatSpecification Class Reference

#include <export_format_specification.h>

Inheritance diagram for ARDOUR::ExportFormatSpecification:
ARDOUR::ExportFormatBase

Classes

struct  Time
 

Public Member Functions

 ExportFormatSpecification (ExportFormatSpecification const &other, bool modify_name=true)
 
 ~ExportFormatSpecification ()
 
bool is_compatible_with (ExportFormatCompatibility const &compatibility) const
 
bool is_complete () const
 
void set_format (boost::shared_ptr< ExportFormat > format)
 
void set_name (std::string const &name)
 
void set_type (Type type)
 
void set_format_id (FormatId value)
 
void set_endianness (Endianness value)
 
void set_sample_format (SampleFormat value)
 
void set_sample_rate (SampleRate value)
 
void set_quality (Quality value)
 
void set_dither_type (DitherType value)
 
void set_src_quality (SRCQuality value)
 
void set_trim_beginning (bool value)
 
void set_trim_end (bool value)
 
void set_normalize (bool value)
 
void set_normalize_target (float value)
 
void set_tag (bool tag_it)
 
void set_with_cue (bool yn)
 
void set_with_toc (bool yn)
 
void set_with_mp4chaps (bool yn)
 
void set_soundcloud_upload (bool yn)
 
void set_command (std::string command)
 
void set_silence_beginning (AnyTime const &value)
 
void set_silence_end (AnyTime const &value)
 
PBD::UUID const & id ()
 
std::string const & name () const
 
std::string description (bool include_name=true)
 
bool has_broadcast_info () const
 
uint32_t channel_limit () const
 
std::string format_name () const
 
Type type () const
 
FormatId format_id () const
 
Endianness endianness () const
 
SampleFormat sample_format () const
 
SampleRate sample_rate () const
 
Quality quality () const
 
DitherType dither_type () const
 
SRCQuality src_quality () const
 
bool trim_beginning () const
 
bool trim_end () const
 
bool normalize () const
 
float normalize_target () const
 
bool with_toc () const
 
bool with_cue () const
 
bool with_mp4chaps () const
 
bool soundcloud_upload () const
 
std::string command () const
 
bool tag () const
 
framecnt_t silence_beginning_at (framepos_t position, framecnt_t samplerate) const
 
framecnt_t silence_end_at (framepos_t position, framecnt_t samplerate) const
 
AnyTime silence_beginning_time () const
 
AnyTime silence_end_time () const
 
XMLNodeget_state ()
 
int set_state (const XMLNode &root)
 
- 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
 

Private Member Functions

 ExportFormatSpecification (Session &s)
 
 ExportFormatSpecification (Session &s, XMLNode const &state)
 
void add_option (XMLNode *node, std::string const &name, std::string const &value)
 
std::string get_option (XMLNode const *node, std::string const &name)
 

Private Attributes

Sessionsession
 
std::string _format_name
 
bool has_sample_format
 
bool supports_tagging
 
bool _has_broadcast_info
 
uint32_t _channel_limit
 
std::string _name
 
PBD::UUID _id
 
Type _type
 
DitherType _dither_type
 
SRCQuality _src_quality
 
bool _tag
 
bool _trim_beginning
 
Time _silence_beginning
 
bool _trim_end
 
Time _silence_end
 
bool _normalize
 
float _normalize_target
 
bool _with_toc
 
bool _with_cue
 
bool _with_mp4chaps
 
bool _soundcloud_upload
 
std::string _command
 

Friends

class ExportElementFactory
 

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)
 
- 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

Definition at line 41 of file export_format_specification.h.

Constructor & Destructor Documentation

ARDOUR::ExportFormatSpecification::ExportFormatSpecification ( Session s)
explicitprivate

Definition at line 153 of file export_format_specification.cc.

ARDOUR::ExportFormatSpecification::ExportFormatSpecification ( Session s,
XMLNode const &  state 
)
private

Definition at line 184 of file export_format_specification.cc.

ARDOUR::ExportFormatSpecification::ExportFormatSpecification ( ExportFormatSpecification const &  other,
bool  modify_name = true 
)

Definition at line 196 of file export_format_specification.cc.

ARDOUR::ExportFormatSpecification::~ExportFormatSpecification ( )

Definition at line 238 of file export_format_specification.cc.

Member Function Documentation

void ARDOUR::ExportFormatSpecification::add_option ( XMLNode node,
std::string const &  name,
std::string const &  value 
)
private

Definition at line 633 of file export_format_specification.cc.

uint32_t ARDOUR::ExportFormatSpecification::channel_limit ( ) const
inline

Definition at line 113 of file export_format_specification.h.

std::string ARDOUR::ExportFormatSpecification::command ( ) const
inline

Definition at line 134 of file export_format_specification.h.

string ARDOUR::ExportFormatSpecification::description ( bool  include_name = true)

Definition at line 551 of file export_format_specification.cc.

DitherType ARDOUR::ExportFormatSpecification::dither_type ( ) const
inline

Definition at line 123 of file export_format_specification.h.

Endianness ARDOUR::ExportFormatSpecification::endianness ( ) const
inline

Definition at line 118 of file export_format_specification.h.

FormatId ARDOUR::ExportFormatSpecification::format_id ( ) const
inline

Definition at line 117 of file export_format_specification.h.

std::string ARDOUR::ExportFormatSpecification::format_name ( ) const
inline

Definition at line 114 of file export_format_specification.h.

std::string ARDOUR::ExportFormatSpecification::get_option ( XMLNode const *  node,
std::string const &  name 
)
private

Definition at line 641 of file export_format_specification.cc.

XMLNode & ARDOUR::ExportFormatSpecification::get_state ( void  )

Definition at line 243 of file export_format_specification.cc.

bool ARDOUR::ExportFormatSpecification::has_broadcast_info ( ) const
inline

Definition at line 112 of file export_format_specification.h.

PBD::UUID const& ARDOUR::ExportFormatSpecification::id ( )
inline

Definition at line 108 of file export_format_specification.h.

bool ARDOUR::ExportFormatSpecification::is_compatible_with ( ExportFormatCompatibility const &  compatibility) const

Definition at line 463 of file export_format_specification.cc.

bool ARDOUR::ExportFormatSpecification::is_complete ( ) const

Definition at line 491 of file export_format_specification.cc.

std::string const& ARDOUR::ExportFormatSpecification::name ( ) const
inline

Definition at line 109 of file export_format_specification.h.

bool ARDOUR::ExportFormatSpecification::normalize ( ) const
inline

Definition at line 127 of file export_format_specification.h.

float ARDOUR::ExportFormatSpecification::normalize_target ( ) const
inline

Definition at line 128 of file export_format_specification.h.

Quality ARDOUR::ExportFormatSpecification::quality ( ) const
inline

Definition at line 121 of file export_format_specification.h.

SampleFormat ARDOUR::ExportFormatSpecification::sample_format ( ) const
inline

Definition at line 119 of file export_format_specification.h.

SampleRate ARDOUR::ExportFormatSpecification::sample_rate ( ) const
inline

Definition at line 120 of file export_format_specification.h.

void ARDOUR::ExportFormatSpecification::set_command ( std::string  command)
inline

Definition at line 101 of file export_format_specification.h.

void ARDOUR::ExportFormatSpecification::set_dither_type ( DitherType  value)
inline

Definition at line 89 of file export_format_specification.h.

void ARDOUR::ExportFormatSpecification::set_endianness ( Endianness  value)
inline

Definition at line 84 of file export_format_specification.h.

void ARDOUR::ExportFormatSpecification::set_format ( boost::shared_ptr< ExportFormat format)

Definition at line 515 of file export_format_specification.cc.

void ARDOUR::ExportFormatSpecification::set_format_id ( FormatId  value)
inline

Definition at line 83 of file export_format_specification.h.

void ARDOUR::ExportFormatSpecification::set_name ( std::string const &  name)
inline

Definition at line 80 of file export_format_specification.h.

void ARDOUR::ExportFormatSpecification::set_normalize ( bool  value)
inline

Definition at line 93 of file export_format_specification.h.

void ARDOUR::ExportFormatSpecification::set_normalize_target ( float  value)
inline

Definition at line 94 of file export_format_specification.h.

void ARDOUR::ExportFormatSpecification::set_quality ( Quality  value)
inline

Definition at line 87 of file export_format_specification.h.

void ARDOUR::ExportFormatSpecification::set_sample_format ( SampleFormat  value)
inline

Definition at line 85 of file export_format_specification.h.

void ARDOUR::ExportFormatSpecification::set_sample_rate ( SampleRate  value)
inline

Definition at line 86 of file export_format_specification.h.

void ARDOUR::ExportFormatSpecification::set_silence_beginning ( AnyTime const &  value)
inline

Definition at line 103 of file export_format_specification.h.

void ARDOUR::ExportFormatSpecification::set_silence_end ( AnyTime const &  value)
inline

Definition at line 104 of file export_format_specification.h.

void ARDOUR::ExportFormatSpecification::set_soundcloud_upload ( bool  yn)
inline

Definition at line 100 of file export_format_specification.h.

void ARDOUR::ExportFormatSpecification::set_src_quality ( SRCQuality  value)
inline

Definition at line 90 of file export_format_specification.h.

int ARDOUR::ExportFormatSpecification::set_state ( const XMLNode root)

Definition at line 305 of file export_format_specification.cc.

void ARDOUR::ExportFormatSpecification::set_tag ( bool  tag_it)
inline

Definition at line 96 of file export_format_specification.h.

void ARDOUR::ExportFormatSpecification::set_trim_beginning ( bool  value)
inline

Definition at line 91 of file export_format_specification.h.

void ARDOUR::ExportFormatSpecification::set_trim_end ( bool  value)
inline

Definition at line 92 of file export_format_specification.h.

void ARDOUR::ExportFormatSpecification::set_type ( Type  type)
inline

Definition at line 82 of file export_format_specification.h.

void ARDOUR::ExportFormatSpecification::set_with_cue ( bool  yn)
inline

Definition at line 97 of file export_format_specification.h.

void ARDOUR::ExportFormatSpecification::set_with_mp4chaps ( bool  yn)
inline

Definition at line 99 of file export_format_specification.h.

void ARDOUR::ExportFormatSpecification::set_with_toc ( bool  yn)
inline

Definition at line 98 of file export_format_specification.h.

framecnt_t ARDOUR::ExportFormatSpecification::silence_beginning_at ( framepos_t  position,
framecnt_t  samplerate 
) const
inline

Definition at line 138 of file export_format_specification.h.

AnyTime ARDOUR::ExportFormatSpecification::silence_beginning_time ( ) const
inline

Definition at line 143 of file export_format_specification.h.

framecnt_t ARDOUR::ExportFormatSpecification::silence_end_at ( framepos_t  position,
framecnt_t  samplerate 
) const
inline

Definition at line 140 of file export_format_specification.h.

AnyTime ARDOUR::ExportFormatSpecification::silence_end_time ( ) const
inline

Definition at line 144 of file export_format_specification.h.

bool ARDOUR::ExportFormatSpecification::soundcloud_upload ( ) const
inline

Definition at line 133 of file export_format_specification.h.

SRCQuality ARDOUR::ExportFormatSpecification::src_quality ( ) const
inline

Definition at line 124 of file export_format_specification.h.

bool ARDOUR::ExportFormatSpecification::tag ( ) const
inline

Definition at line 136 of file export_format_specification.h.

bool ARDOUR::ExportFormatSpecification::trim_beginning ( ) const
inline

Definition at line 125 of file export_format_specification.h.

bool ARDOUR::ExportFormatSpecification::trim_end ( ) const
inline

Definition at line 126 of file export_format_specification.h.

Type ARDOUR::ExportFormatSpecification::type ( ) const
inline

Definition at line 116 of file export_format_specification.h.

bool ARDOUR::ExportFormatSpecification::with_cue ( ) const
inline

Definition at line 130 of file export_format_specification.h.

bool ARDOUR::ExportFormatSpecification::with_mp4chaps ( ) const
inline

Definition at line 131 of file export_format_specification.h.

bool ARDOUR::ExportFormatSpecification::with_toc ( ) const
inline

Definition at line 129 of file export_format_specification.h.

Friends And Related Function Documentation

friend class ExportElementFactory
friend

Definition at line 63 of file export_format_specification.h.

Member Data Documentation

uint32_t ARDOUR::ExportFormatSpecification::_channel_limit
private

Definition at line 162 of file export_format_specification.h.

std::string ARDOUR::ExportFormatSpecification::_command
private

Definition at line 186 of file export_format_specification.h.

DitherType ARDOUR::ExportFormatSpecification::_dither_type
private

Definition at line 170 of file export_format_specification.h.

std::string ARDOUR::ExportFormatSpecification::_format_name
private

Definition at line 158 of file export_format_specification.h.

bool ARDOUR::ExportFormatSpecification::_has_broadcast_info
private

Definition at line 161 of file export_format_specification.h.

PBD::UUID ARDOUR::ExportFormatSpecification::_id
private

Definition at line 167 of file export_format_specification.h.

std::string ARDOUR::ExportFormatSpecification::_name
private

Definition at line 166 of file export_format_specification.h.

bool ARDOUR::ExportFormatSpecification::_normalize
private

Definition at line 180 of file export_format_specification.h.

float ARDOUR::ExportFormatSpecification::_normalize_target
private

Definition at line 181 of file export_format_specification.h.

Time ARDOUR::ExportFormatSpecification::_silence_beginning
private

Definition at line 176 of file export_format_specification.h.

Time ARDOUR::ExportFormatSpecification::_silence_end
private

Definition at line 178 of file export_format_specification.h.

bool ARDOUR::ExportFormatSpecification::_soundcloud_upload
private

Definition at line 185 of file export_format_specification.h.

SRCQuality ARDOUR::ExportFormatSpecification::_src_quality
private

Definition at line 171 of file export_format_specification.h.

bool ARDOUR::ExportFormatSpecification::_tag
private

Definition at line 173 of file export_format_specification.h.

bool ARDOUR::ExportFormatSpecification::_trim_beginning
private

Definition at line 175 of file export_format_specification.h.

bool ARDOUR::ExportFormatSpecification::_trim_end
private

Definition at line 177 of file export_format_specification.h.

Type ARDOUR::ExportFormatSpecification::_type
private

Definition at line 169 of file export_format_specification.h.

bool ARDOUR::ExportFormatSpecification::_with_cue
private

Definition at line 183 of file export_format_specification.h.

bool ARDOUR::ExportFormatSpecification::_with_mp4chaps
private

Definition at line 184 of file export_format_specification.h.

bool ARDOUR::ExportFormatSpecification::_with_toc
private

Definition at line 182 of file export_format_specification.h.

bool ARDOUR::ExportFormatSpecification::has_sample_format
private

Definition at line 159 of file export_format_specification.h.

Session& ARDOUR::ExportFormatSpecification::session
private

Definition at line 154 of file export_format_specification.h.

bool ARDOUR::ExportFormatSpecification::supports_tagging
private

Definition at line 160 of file export_format_specification.h.


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