⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 metadata.h

📁 tcpmp.src.0.72RC1 优秀的多媒体播放器TCPMP的源代码
💻 H
📖 第 1 页 / 共 3 页
字号:
			/** Constructs an object with copy control.  See			 *  Prototype(::FLAC__StreamMetadata *object, bool copy).			 */			inline Padding(::FLAC__StreamMetadata *object, bool copy): Prototype(object, copy) { }			~Padding();			//@{			/** Assign from another object.  Always performs a deep copy. */			inline Padding &operator=(const Padding &object) { Prototype::operator=(object); return *this; }			inline Padding &operator=(const ::FLAC__StreamMetadata &object) { Prototype::operator=(object); return *this; }			inline Padding &operator=(const ::FLAC__StreamMetadata *object) { Prototype::operator=(object); return *this; }			//@}			/** Assigns an object with copy control.  See			 *  Prototype::assign_object(::FLAC__StreamMetadata *object, bool copy).			 */			inline Padding &assign(::FLAC__StreamMetadata *object, bool copy) { Prototype::assign_object(object, copy); return *this; }			//@{			/** Check for equality, performing a deep compare by following pointers. */			inline bool operator==(const Padding &object) const { return Prototype::operator==(object); }			inline bool operator==(const ::FLAC__StreamMetadata &object) const { return Prototype::operator==(object); }			inline bool operator==(const ::FLAC__StreamMetadata *object) const { return Prototype::operator==(object); }			//@}			//@{			/** Check for inequality, performing a deep compare by following pointers. */			inline bool operator!=(const Padding &object) const { return Prototype::operator!=(object); }			inline bool operator!=(const ::FLAC__StreamMetadata &object) const { return Prototype::operator!=(object); }			inline bool operator!=(const ::FLAC__StreamMetadata *object) const { return Prototype::operator!=(object); }			//@}			void set_length(unsigned length);		};		/** APPLICATION metadata block.		 *  See <A HREF="../format.html#metadata_block_application">format specification</A>.		 */		class FLACPP_API Application : public Prototype {		public:			Application();			//			//@{			/** Constructs a copy of the given object.  This form			 *  always performs a deep copy.			 */			inline Application(const Application &object): Prototype(object) { }			inline Application(const ::FLAC__StreamMetadata &object): Prototype(object) { }			inline Application(const ::FLAC__StreamMetadata *object): Prototype(object) { }			//@}			/** Constructs an object with copy control.  See			 *  Prototype(::FLAC__StreamMetadata *object, bool copy).			 */			inline Application(::FLAC__StreamMetadata *object, bool copy): Prototype(object, copy) { }			~Application();			//@{			/** Assign from another object.  Always performs a deep copy. */			inline Application &operator=(const Application &object) { Prototype::operator=(object); return *this; }			inline Application &operator=(const ::FLAC__StreamMetadata &object) { Prototype::operator=(object); return *this; }			inline Application &operator=(const ::FLAC__StreamMetadata *object) { Prototype::operator=(object); return *this; }			//@}			/** Assigns an object with copy control.  See			 *  Prototype::assign_object(::FLAC__StreamMetadata *object, bool copy).			 */			inline Application &assign(::FLAC__StreamMetadata *object, bool copy) { Prototype::assign_object(object, copy); return *this; }			//@{			/** Check for equality, performing a deep compare by following pointers. */			inline bool operator==(const Application &object) const { return Prototype::operator==(object); }			inline bool operator==(const ::FLAC__StreamMetadata &object) const { return Prototype::operator==(object); }			inline bool operator==(const ::FLAC__StreamMetadata *object) const { return Prototype::operator==(object); }			//@}			//@{			/** Check for inequality, performing a deep compare by following pointers. */			inline bool operator!=(const Application &object) const { return Prototype::operator!=(object); }			inline bool operator!=(const ::FLAC__StreamMetadata &object) const { return Prototype::operator!=(object); }			inline bool operator!=(const ::FLAC__StreamMetadata *object) const { return Prototype::operator!=(object); }			//@}			const FLAC__byte *get_id() const;			const FLAC__byte *get_data() const;			void set_id(const FLAC__byte value[4]);			//! This form always copies \a data			bool set_data(const FLAC__byte *data, unsigned length);			bool set_data(FLAC__byte *data, unsigned length, bool copy);		};		/** SEEKTABLE metadata block.		 *  See <A HREF="../format.html#metadata_block_seektable">format specification</A>.		 */		class FLACPP_API SeekTable : public Prototype {		public:			SeekTable();			//@{			/** Constructs a copy of the given object.  This form			 *  always performs a deep copy.			 */			inline SeekTable(const SeekTable &object): Prototype(object) { }			inline SeekTable(const ::FLAC__StreamMetadata &object): Prototype(object) { }			inline SeekTable(const ::FLAC__StreamMetadata *object): Prototype(object) { }			//@}			/** Constructs an object with copy control.  See			 *  Prototype(::FLAC__StreamMetadata *object, bool copy).			 */			inline SeekTable(::FLAC__StreamMetadata *object, bool copy): Prototype(object, copy) { }			~SeekTable();			//@{			/** Assign from another object.  Always performs a deep copy. */			inline SeekTable &operator=(const SeekTable &object) { Prototype::operator=(object); return *this; }			inline SeekTable &operator=(const ::FLAC__StreamMetadata &object) { Prototype::operator=(object); return *this; }			inline SeekTable &operator=(const ::FLAC__StreamMetadata *object) { Prototype::operator=(object); return *this; }			//@}			/** Assigns an object with copy control.  See			 *  Prototype::assign_object(::FLAC__StreamMetadata *object, bool copy).			 */			inline SeekTable &assign(::FLAC__StreamMetadata *object, bool copy) { Prototype::assign_object(object, copy); return *this; }			//@{			/** Check for equality, performing a deep compare by following pointers. */			inline bool operator==(const SeekTable &object) const { return Prototype::operator==(object); }			inline bool operator==(const ::FLAC__StreamMetadata &object) const { return Prototype::operator==(object); }			inline bool operator==(const ::FLAC__StreamMetadata *object) const { return Prototype::operator==(object); }			//@}			//@{			/** Check for inequality, performing a deep compare by following pointers. */			inline bool operator!=(const SeekTable &object) const { return Prototype::operator!=(object); }			inline bool operator!=(const ::FLAC__StreamMetadata &object) const { return Prototype::operator!=(object); }			inline bool operator!=(const ::FLAC__StreamMetadata *object) const { return Prototype::operator!=(object); }			//@}			unsigned get_num_points() const;			::FLAC__StreamMetadata_SeekPoint get_point(unsigned index) const;			//! See FLAC__metadata_object_seektable_set_point()			void set_point(unsigned index, const ::FLAC__StreamMetadata_SeekPoint &point);			//! See FLAC__metadata_object_seektable_insert_point()			bool insert_point(unsigned index, const ::FLAC__StreamMetadata_SeekPoint &point);			//! See FLAC__metadata_object_seektable_delete_point()			bool delete_point(unsigned index);			//! See FLAC__metadata_object_seektable_is_legal()			bool is_legal() const;		};		/** VORBIS_COMMENT metadata block.		 *  See <A HREF="../format.html#metadata_block_vorbis_comment">format specification</A>.		 */		class FLACPP_API VorbisComment : public Prototype {		public:			/** Convenience class for encapsulating Vorbis comment			 *  entries.  An entry is a vendor string or a comment			 *  field.  In the case of a vendor string, the field			 *  name is undefined; only the field value is relevant.			 *			 *  A \a field as used in the methods refers to an			 *  entire 'NAME=VALUE' string; for convenience the			 *  string is NUL-terminated.  A length field is			 *  required in the unlikely event that the value			 *  contains contain embedded NULs.			 *			 *  A \a field_name is what is on the left side of the			 *  first '=' in the \a field.  By definition it is ASCII			 *  and so is NUL-terminated and does not require a			 *  length to describe it.  \a field_name is undefined			 *  for a vendor string entry.			 *			 *  A \a field_value is what is on the right side of the			 *  first '=' in the \a field.  By definition, this may			 *  contain embedded NULs and so a \a field_value_length			 *  is required to describe it.  However in practice,			 *  embedded NULs are not known to be used, so it is			 *  generally safe to treat field values as NUL-			 *  terminated UTF-8 strings.			 *			 *  Always check is_valid() after the constructor or operator=			 *  to make sure memory was properly allocated and that the			 *  Entry conforms to the Vorbis comment specification.			 */			class FLACPP_API Entry {			public:				Entry();				Entry(const char *field, unsigned field_length);				Entry(const char *field); // assumes \a field is NUL-terminated				Entry(const char *field_name, const char *field_value, unsigned field_value_length);				Entry(const char *field_name, const char *field_value); // assumes \a field_value is NUL-terminated				Entry(const Entry &entry);				Entry &operator=(const Entry &entry);				virtual ~Entry();				virtual bool is_valid() const;				unsigned get_field_length() const;				unsigned get_field_name_length() const;				unsigned get_field_value_length() const;				::FLAC__StreamMetadata_VorbisComment_Entry get_entry() const;				const char *get_field() const;				const char *get_field_name() const;				const char *get_field_value() const;				bool set_field(const char *field, unsigned field_length);				bool set_field(const char *field); // assumes \a field is NUL-terminated				bool set_field_name(const char *field_name);				bool set_field_value(const char *field_value, unsigned field_value_length);				bool set_field_value(const char *field_value); // assumes \a field_value is NUL-terminated			protected:				bool is_valid_;				::FLAC__StreamMetadata_VorbisComment_Entry entry_;				char *field_name_;				unsigned field_name_length_;				char *field_value_;				unsigned field_value_length_;			private:				void zero();				void clear();				void clear_entry();				void clear_field_name();				void clear_field_value();				void construct(const char *field, unsigned field_length);				void construct(const char *field); // assumes \a field is NUL-terminated				void construct(const char *field_name, const char *field_value, unsigned field_value_length);				void construct(const char *field_name, const char *field_value); // assumes \a field_value is NUL-terminated				void compose_field();				void parse_field();			};			VorbisComment();			//@{			/** Constructs a copy of the given object.  This form			 *  always performs a deep copy.			 */			inline VorbisComment(const VorbisComment &object): Prototype(object) { }			inline VorbisComment(const ::FLAC__StreamMetadata &object): Prototype(object) { }			inline VorbisComment(const ::FLAC__StreamMetadata *object): Prototype(object) { }			//@}			/** Constructs an object with copy control.  See			 *  Prototype(::FLAC__StreamMetadata *object, bool copy).			 */			inline VorbisComment(::FLAC__StreamMetadata *object, bool copy): Prototype(object, copy) { }			~VorbisComment();			//@{			/** Assign from another object.  Always performs a deep copy. */			inline VorbisComment &operator=(const VorbisComment &object) { Prototype::operator=(object); return *this; }			inline VorbisComment &operator=(const ::FLAC__StreamMetadata &object) { Prototype::operator=(object); return *this; }			inline VorbisComment &operator=(const ::FLAC__StreamMetadata *object) { Prototype::operator=(object); return *this; }			//@}			/** Assigns an object with copy control.  See			 *  Prototype::assign_object(::FLAC__StreamMetadata *object, bool copy).			 */			inline VorbisComment &assign(::FLAC__StreamMetadata *object, bool copy) { Prototype::assign_object(object, copy); return *this; }			//@{			/** Check for equality, performing a deep compare by following pointers. */			inline bool operator==(const VorbisComment &object) const { return Prototype::operator==(object); }			inline bool operator==(const ::FLAC__StreamMetadata &object) const { return Prototype::operator==(object); }			inline bool operator==(const ::FLAC__StreamMetadata *object) const { return Prototype::operator==(object); }			//@}			//@{			/** Check for inequality, performing a deep compare by following pointers. */			inline bool operator!=(const VorbisComment &object) const { return Prototype::operator!=(object); }			inline bool operator!=(const ::FLAC__StreamMetadata &object) const { return Prototype::operator!=(object); }			inline bool operator!=(const ::FLAC__StreamMetadata *object) const { return Prototype::operator!=(object); }			//@}			unsigned get_num_comments() const;			const FLAC__byte *get_vendor_string() const; // NUL-terminated UTF-8 string			Entry get_comment(unsigned index) const;			//! See FLAC__metadata_object_vorbiscomment_set_vendor_string()			bool set_vendor_string(const FLAC__byte *string); // NUL-terminated UTF-8 string			//! See FLAC__metadata_object_vorbiscomment_set_comment()			bool set_comment(unsigned index, const Entry &entry);			//! See FLAC__metadata_object_vorbiscomment_insert_comment()			bool insert_comment(unsigned index, const Entry &entry);			//! See FLAC__metadata_object_vorbiscomment_append_comment()			bool append_comment(const Entry &entry);			//! See FLAC__metadata_object_vorbiscomment_delete_comment()			bool delete_comment(unsigned index);		};		/** CUESHEET metadata block.		 *  See <A HREF="../format.html#metadata_block_cuesheet">format specification</A>.		 */		class FLACPP_API CueSheet : public Prototype {		public:			/** Convenience class for encapsulating a cue sheet			 *  track.			 *			 *  Always check is_valid() after the constructor or operator=			 *  to make sure memory was properly allocated.			 */			class FLACPP_API Track {			protected:				::FLAC__StreamMetadata_CueSheet_Track *object_;			public:				Track();				Track(const ::FLAC__StreamMetadata_CueSheet_Track *track);				Track(const Track &track);				Track &operator=(const Track &track);				virtual ~Track();				virtual bool is_valid() const;				inline FLAC__uint64 get_offset() const { return object_->offset; }				inline FLAC__byte get_number() const { return object_->number; }				inline const char *get_isrc() const { return object_->isrc; }				inline unsigned get_type() const { return object_->type; }				inline bool get_pre_emphasis() const { return object_->pre_emphasis; }				inline FLAC__byte get_num_indices() const { return object_->num_indices; }				::FLAC__StreamMetadata_CueSheet_Index get_index(unsigned i) const;				inline const ::FLAC__StreamMetadata_CueSheet_Track *get_track() const { return object_; }				inline void set_offset(FLAC__uint64 value) { object_->offset = value; }				inline void set_number(FLAC__byte value) { object_->number = value; }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -