33#ifndef FLACPP__METADATA_H
34#define FLACPP__METADATA_H
157 inline bool operator==(
const Prototype &)
const;
164 inline bool operator!=(
const Prototype &)
const;
176 inline bool is_valid()
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_; }
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]);
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);
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();
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);
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;
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);
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);
1080 bool init(
const char *filename,
bool read_only,
bool preserve_file_stats);
1174 bool read(
const char *filename,
bool is_ogg =
false);
1179 bool write(
bool use_padding =
true,
bool preserve_file_stats =
false);
1188 virtual void clear();
1222 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:170