33#ifndef FLACPP__METADATA_H 
   34#define FLACPP__METADATA_H 
  116            Prototype(const ::FLAC__StreamMetadata &);
 
  117            Prototype(const ::FLAC__StreamMetadata *);
 
  135            Prototype &operator=(const ::FLAC__StreamMetadata &);
 
  136            Prototype &operator=(const ::FLAC__StreamMetadata *);
 
  157            inline bool operator==(
const Prototype &) 
const;
 
  158            inline bool operator==(const ::FLAC__StreamMetadata &) 
const;
 
  159            inline bool operator==(const ::FLAC__StreamMetadata *) 
const;
 
  164            inline bool operator!=(
const Prototype &) 
const;
 
  165            inline bool operator!=(const ::FLAC__StreamMetadata &) 
const;
 
  166            inline bool operator!=(const ::FLAC__StreamMetadata *) 
const;
 
  176            inline bool is_valid() 
const;
 
  219            inline operator const ::FLAC__StreamMetadata *() 
const;
 
  226            inline void set_reference(
bool x) { is_reference_ = x; }
 
 
  240#pragma warning ( disable : 4800 ) 
  253#pragma warning ( default : 4800 ) 
  266        { 
return 0 != object_; }
 
 
  268        inline Prototype::operator const ::FLAC__StreamMetadata *() 
const 
 
  289            inline StreamInfo(const ::FLAC__StreamMetadata *
object): Prototype(object) { }
 
  302            inline StreamInfo &operator=(const ::FLAC__StreamMetadata &
object) { Prototype::operator=(
object); 
return *
this; }
 
  303            inline StreamInfo &operator=(const ::FLAC__StreamMetadata *
object) { Prototype::operator=(
object); 
return *
this; }
 
  314            inline bool operator==(const ::FLAC__StreamMetadata &
object)
 const { 
return Prototype::operator==(
object); }
 
  315            inline bool operator==(const ::FLAC__StreamMetadata *
object)
 const { 
return Prototype::operator==(
object); }
 
  321            inline bool operator!=(const ::FLAC__StreamMetadata &
object)
 const { 
return Prototype::operator!=(
object); }
 
  322            inline bool operator!=(const ::FLAC__StreamMetadata *
object)
 const { 
return Prototype::operator!=(
object); }
 
  328            uint32_t get_max_blocksize() 
const;
 
  329            uint32_t get_min_framesize() 
const;
 
  330            uint32_t get_max_framesize() 
const;
 
  331            uint32_t get_sample_rate() 
const;
 
  332            uint32_t get_channels() 
const;
 
  333            uint32_t get_bits_per_sample() 
const;
 
  334            FLAC__uint64 get_total_samples() 
const;
 
  335            const FLAC__byte *get_md5sum() 
const;
 
  337            void set_min_blocksize(uint32_t value);
 
  338            void set_max_blocksize(uint32_t value);
 
  339            void set_min_framesize(uint32_t value);
 
  340            void set_max_framesize(uint32_t value);
 
  341            void set_sample_rate(uint32_t value);
 
  342            void set_channels(uint32_t value);
 
  343            void set_bits_per_sample(uint32_t value);
 
  344            void set_total_samples(FLAC__uint64 value);
 
  345            void set_md5sum(
const FLAC__byte value[16]);
 
 
  363            inline Padding(const ::FLAC__StreamMetadata *
object): Prototype(object) { }
 
  380            inline Padding &operator=(const ::FLAC__StreamMetadata &
object) { Prototype::operator=(
object); 
return *
this; }
 
  381            inline Padding &operator=(const ::FLAC__StreamMetadata *
object) { Prototype::operator=(
object); 
return *
this; }
 
  392            inline bool operator==(const ::FLAC__StreamMetadata &
object)
 const { 
return Prototype::operator==(
object); }
 
  393            inline bool operator==(const ::FLAC__StreamMetadata *
object)
 const { 
return Prototype::operator==(
object); }
 
  399            inline bool operator!=(const ::FLAC__StreamMetadata &
object)
 const { 
return Prototype::operator!=(
object); }
 
  400            inline bool operator!=(const ::FLAC__StreamMetadata *
object)
 const { 
return Prototype::operator!=(
object); }
 
 
  422            inline Application(const ::FLAC__StreamMetadata *
object): Prototype(object) { }
 
  435            inline Application &operator=(const ::FLAC__StreamMetadata &
object) { Prototype::operator=(
object); 
return *
this; }
 
  436            inline Application &operator=(const ::FLAC__StreamMetadata *
object) { Prototype::operator=(
object); 
return *
this; }
 
  447            inline bool operator==(const ::FLAC__StreamMetadata &
object)
 const { 
return Prototype::operator==(
object); }
 
  448            inline bool operator==(const ::FLAC__StreamMetadata *
object)
 const { 
return Prototype::operator==(
object); }
 
  454            inline bool operator!=(const ::FLAC__StreamMetadata &
object)
 const { 
return Prototype::operator!=(
object); }
 
  455            inline bool operator!=(const ::FLAC__StreamMetadata *
object)
 const { 
return Prototype::operator!=(
object); }
 
  458            const FLAC__byte *get_id() 
const;
 
  459            const FLAC__byte *get_data() 
const;
 
  461            void set_id(
const FLAC__byte value[4]);
 
  463            bool set_data(
const FLAC__byte *data, uint32_t length);
 
  464            bool set_data(FLAC__byte *data, uint32_t length, 
bool copy);
 
 
  481            inline SeekTable(const ::FLAC__StreamMetadata *
object): Prototype(object) { }
 
  494            inline SeekTable &operator=(const ::FLAC__StreamMetadata &
object) { Prototype::operator=(
object); 
return *
this; }
 
  495            inline SeekTable &operator=(const ::FLAC__StreamMetadata *
object) { Prototype::operator=(
object); 
return *
this; }
 
  506            inline bool operator==(const ::FLAC__StreamMetadata &
object)
 const { 
return Prototype::operator==(
object); }
 
  507            inline bool operator==(const ::FLAC__StreamMetadata *
object)
 const { 
return Prototype::operator==(
object); }
 
  513            inline bool operator!=(const ::FLAC__StreamMetadata &
object)
 const { 
return Prototype::operator!=(
object); }
 
  514            inline bool operator!=(const ::FLAC__StreamMetadata *
object)
 const { 
return Prototype::operator!=(
object); }
 
  517            uint32_t get_num_points() 
const;
 
  524            void set_point(uint32_t index, const ::FLAC__StreamMetadata_SeekPoint &point);
 
  527            bool insert_point(uint32_t index, const ::FLAC__StreamMetadata_SeekPoint &point);
 
 
  593                Entry(
const char *field, uint32_t field_length);
 
  594                Entry(
const char *field); 
 
  596                Entry(
const char *field_name, 
const char *field_value, uint32_t field_value_length);
 
  597                Entry(
const char *field_name, 
const char *field_value); 
 
  607                uint32_t get_field_length() 
const;
 
  608                uint32_t get_field_name_length() 
const;
 
  609                uint32_t get_field_value_length() 
const;
 
  612                const char *get_field() 
const;
 
  613                const char *get_field_name() 
const;
 
  614                const char *get_field_value() 
const;
 
  616                bool set_field(
const char *field, uint32_t field_length);
 
  617                bool set_field(
const char *field); 
 
  618                bool set_field_name(
const char *field_name);
 
  619                bool set_field_value(
const char *field_value, uint32_t field_value_length);
 
  620                bool set_field_value(
const char *field_value); 
 
  625                uint32_t field_name_length_;
 
  627                uint32_t field_value_length_;
 
  632                void clear_field_name();
 
  633                void clear_field_value();
 
  634                void construct(
const char *field, uint32_t field_length);
 
  635                void construct(
const char *field); 
 
  636                void construct(
const char *field_name, 
const char *field_value, uint32_t field_value_length);
 
  637                void construct(
const char *field_name, 
const char *field_value); 
 
  638                void compose_field();
 
 
  650            inline VorbisComment(const ::FLAC__StreamMetadata *
object): Prototype(object) { }
 
  663            inline VorbisComment &operator=(const ::FLAC__StreamMetadata &
object) { Prototype::operator=(
object); 
return *
this; }
 
  664            inline VorbisComment &operator=(const ::FLAC__StreamMetadata *
object) { Prototype::operator=(
object); 
return *
this; }
 
  675            inline bool operator==(const ::FLAC__StreamMetadata &
object)
 const { 
return Prototype::operator==(
object); }
 
  676            inline bool operator==(const ::FLAC__StreamMetadata *
object)
 const { 
return Prototype::operator==(
object); }
 
  682            inline bool operator!=(const ::FLAC__StreamMetadata &
object)
 const { 
return Prototype::operator!=(
object); }
 
  683            inline bool operator!=(const ::FLAC__StreamMetadata *
object)
 const { 
return Prototype::operator!=(
object); }
 
  686            uint32_t get_num_comments() 
const;
 
  687            const FLAC__byte *get_vendor_string() 
const; 
 
  688            Entry get_comment(uint32_t index) 
const;
 
 
  738                Track(const ::FLAC__StreamMetadata_CueSheet_Track *track);
 
  747                inline FLAC__uint64 get_offset()
 const { 
return object_->
offset; }
 
  748                inline FLAC__byte get_number()
 const { 
return object_->
number; }
 
  749                inline const char *get_isrc()
 const { 
return object_->
isrc; }
 
  750                inline uint32_t get_type()
 const { 
return object_->
type; }
 
  751                inline bool get_pre_emphasis()
 const { 
return object_->
pre_emphasis; }
 
  753                inline FLAC__byte get_num_indices()
 const { 
return object_->
num_indices; }
 
  756                inline const ::FLAC__StreamMetadata_CueSheet_Track *get_track()
 const { 
return object_; }
 
  758                inline void set_offset(FLAC__uint64 value) { object_->
offset = value; }
 
  759                inline void set_number(FLAC__byte value) { object_->
number = value; }
 
  760                void set_isrc(
const char value[12]);
 
  761                void set_type(uint32_t value);
 
  762                inline void set_pre_emphasis(
bool value) { object_->
pre_emphasis = value? 1 : 0; }
 
  764                void set_index(uint32_t i, const ::FLAC__StreamMetadata_CueSheet_Index &index);
 
 
  777            inline CueSheet(const ::FLAC__StreamMetadata *
object): Prototype(object) { }
 
  790            inline CueSheet &operator=(const ::FLAC__StreamMetadata &
object) { Prototype::operator=(
object); 
return *
this; }
 
  791            inline CueSheet &operator=(const ::FLAC__StreamMetadata *
object) { Prototype::operator=(
object); 
return *
this; }
 
  802            inline bool operator==(const ::FLAC__StreamMetadata &
object)
 const { 
return Prototype::operator==(
object); }
 
  803            inline bool operator==(const ::FLAC__StreamMetadata *
object)
 const { 
return Prototype::operator==(
object); }
 
  809            inline bool operator!=(const ::FLAC__StreamMetadata &
object)
 const { 
return Prototype::operator!=(
object); }
 
  810            inline bool operator!=(const ::FLAC__StreamMetadata *
object)
 const { 
return Prototype::operator!=(
object); }
 
  813            const char *get_media_catalog_number() 
const;
 
  814            FLAC__uint64 get_lead_in() 
const;
 
  815            bool get_is_cd() 
const;
 
  817            uint32_t get_num_tracks() 
const;
 
  818            Track get_track(uint32_t i) 
const;
 
  820            void set_media_catalog_number(
const char value[128]);
 
  821            void set_lead_in(FLAC__uint64 value);
 
  822            void set_is_cd(
bool value);
 
  824            void set_index(uint32_t track_num, uint32_t index_num, const ::FLAC__StreamMetadata_CueSheet_Index &index);
 
  830            bool insert_index(uint32_t track_num, uint32_t index_num, const ::FLAC__StreamMetadata_CueSheet_Index &index);
 
  854            bool is_legal(
bool check_cd_da_subset = 
false, 
const char **violation = 0) 
const;
 
 
  874            inline Picture(const ::FLAC__StreamMetadata *
object): Prototype(object) { }
 
  887            inline Picture &operator=(const ::FLAC__StreamMetadata &
object) { Prototype::operator=(
object); 
return *
this; }
 
  888            inline Picture &operator=(const ::FLAC__StreamMetadata *
object) { Prototype::operator=(
object); 
return *
this; }
 
  899            inline bool operator==(const ::FLAC__StreamMetadata &
object)
 const { 
return Prototype::operator==(
object); }
 
  900            inline bool operator==(const ::FLAC__StreamMetadata *
object)
 const { 
return Prototype::operator==(
object); }
 
  906            inline bool operator!=(const ::FLAC__StreamMetadata &
object)
 const { 
return Prototype::operator!=(
object); }
 
  907            inline bool operator!=(const ::FLAC__StreamMetadata *
object)
 const { 
return Prototype::operator!=(
object); }
 
  911            const char *get_mime_type() 
const; 
 
  912            const FLAC__byte *get_description() 
const; 
 
  913            FLAC__uint32 get_width() 
const;
 
  914            FLAC__uint32 get_height() 
const;
 
  915            FLAC__uint32 get_depth() 
const;
 
  917            FLAC__uint32 get_data_length() 
const;
 
  918            const FLAC__byte *get_data() 
const;
 
  928            void set_width(FLAC__uint32 value) 
const;
 
  929            void set_height(FLAC__uint32 value) 
const;
 
  930            void set_depth(FLAC__uint32 value) 
const;
 
  934            bool set_data(
const FLAC__byte *data, FLAC__uint32 data_length);
 
 
  956            inline Unknown(const ::FLAC__StreamMetadata *
object): Prototype(object) { }
 
  969            inline Unknown &operator=(const ::FLAC__StreamMetadata &
object) { Prototype::operator=(
object); 
return *
this; }
 
  970            inline Unknown &operator=(const ::FLAC__StreamMetadata *
object) { Prototype::operator=(
object); 
return *
this; }
 
  981            inline bool operator==(const ::FLAC__StreamMetadata &
object)
 const { 
return Prototype::operator==(
object); }
 
  982            inline bool operator==(const ::FLAC__StreamMetadata *
object)
 const { 
return Prototype::operator==(
object); }
 
  988            inline bool operator!=(const ::FLAC__StreamMetadata &
object)
 const { 
return Prototype::operator!=(
object); }
 
  989            inline bool operator!=(const ::FLAC__StreamMetadata *
object)
 const { 
return Prototype::operator!=(
object); }
 
  992            const FLAC__byte *get_data() 
const;
 
  995            bool set_data(
const FLAC__byte *data, uint32_t length);
 
  996            bool set_data(FLAC__byte *data, uint32_t length, 
bool copy);
 
 
 1069                inline operator ::FLAC__Metadata_SimpleIteratorStatus()
 const { 
return status_; }
 
 1070                inline const char *as_cstring()
 const { return ::FLAC__Metadata_SimpleIteratorStatusString[status_]; }
 
 
 1080            bool init(
const char *filename, 
bool read_only, 
bool preserve_file_stats); 
 
 
 1159                inline operator ::FLAC__Metadata_ChainStatus()
 const { 
return status_; }
 
 1160                inline const char *as_cstring()
 const { return ::FLAC__Metadata_ChainStatusString[status_]; }
 
 
 1174            bool read(
const char *filename, 
bool is_ogg = 
false);                                
 
 1179            bool write(
bool use_padding = 
true, 
bool preserve_file_stats = 
false); 
 
 1180            bool write(
const char *filename, 
bool use_padding = 
false); 
 
 1189            virtual void clear();
 
 
 1223            virtual void clear();
 
 
This module contains #defines and symbols for exporting function calls, and providing version informa...
void * FLAC__IOHandle
Definition callback.h:89
#define FLACPP_API
Definition export.h:88
Definition callback.h:175