metadata.h File Reference

Main Page Modules Class Hierarchy Alphabetical List Compound List File List Compound Members File Members

# include/FLAC/metadata.h File Reference

This module provides functions for creating and manipulating FLAC metadata blocks in memory, and three progressively more powerful interfaces for traversing and editing metadata in FLAC files. More...

`#include "export.h"`
`#include "callback.h"`
`#include "format.h"`

Go to the source code of this file.

## Typedefs

typedef FLAC__Metadata_SimpleIterator | FLAC__Metadata_SimpleIterator
typedef FLAC__Metadata_Chain | FLAC__Metadata_Chain
typedef FLAC__Metadata_Iterator | FLAC__Metadata_Iterator

## Enumerations

enum

FLAC__Metadata_SimpleIteratorStatus {
FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK = 0, FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT, FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ERROR_OPENING_FILE, FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_A_FLAC_FILE,
FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_WRITABLE, FLAC__METADATA_SIMPLE_ITERATOR_STATUS_BAD_METADATA, FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR, FLAC__METADATA_SIMPLE_ITERATOR_STATUS_SEEK_ERROR,
FLAC__METADATA_SIMPLE_ITERATOR_STATUS_WRITE_ERROR, FLAC__METADATA_SIMPLE_ITERATOR_STATUS_RENAME_ERROR, FLAC__METADATA_SIMPLE_ITERATOR_STATUS_UNLINK_ERROR, FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR,
FLAC__METADATA_SIMPLE_ITERATOR_STATUS_INTERNAL_ERROR
}

enum

FLAC__Metadata_ChainStatus {
FLAC__METADATA_CHAIN_STATUS_OK = 0, FLAC__METADATA_CHAIN_STATUS_ILLEGAL_INPUT, FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE, FLAC__METADATA_CHAIN_STATUS_NOT_A_FLAC_FILE,
FLAC__METADATA_CHAIN_STATUS_NOT_WRITABLE, FLAC__METADATA_CHAIN_STATUS_BAD_METADATA, FLAC__METADATA_CHAIN_STATUS_READ_ERROR, FLAC__METADATA_CHAIN_STATUS_SEEK_ERROR,
FLAC__METADATA_CHAIN_STATUS_WRITE_ERROR, FLAC__METADATA_CHAIN_STATUS_RENAME_ERROR, FLAC__METADATA_CHAIN_STATUS_UNLINK_ERROR, FLAC__METADATA_CHAIN_STATUS_MEMORY_ALLOCATION_ERROR,
FLAC__METADATA_CHAIN_STATUS_INTERNAL_ERROR, FLAC__METADATA_CHAIN_STATUS_INVALID_CALLBACKS, FLAC__METADATA_CHAIN_STATUS_READ_WRITE_MISMATCH, FLAC__METADATA_CHAIN_STATUS_WRONG_WRITE_CALL
}

## Functions

FLAC__bool | FLAC__metadata_get_streaminfo (const char *filename, FLAC__StreamMetadata *streaminfo)
FLAC__bool | FLAC__metadata_get_tags (const char *filename, FLAC__StreamMetadata **tags)
FLAC__Metadata_SimpleIterator * | FLAC__metadata_simple_iterator_new ()
void | FLAC__metadata_simple_iterator_delete (FLAC__Metadata_SimpleIterator *iterator)
FLAC__Metadata_SimpleIteratorStatus | FLAC__metadata_simple_iterator_status (FLAC__Metadata_SimpleIterator *iterator)
FLAC__bool | FLAC__metadata_simple_iterator_init (FLAC__Metadata_SimpleIterator *iterator, const char *filename, FLAC__bool read_only, FLAC__bool preserve_file_stats)
FLAC__bool | FLAC__metadata_simple_iterator_is_writable (const FLAC__Metadata_SimpleIterator *iterator)
FLAC__bool | FLAC__metadata_simple_iterator_next (FLAC__Metadata_SimpleIterator *iterator)
FLAC__bool | FLAC__metadata_simple_iterator_prev (FLAC__Metadata_SimpleIterator *iterator)
FLAC__MetadataType | FLAC__metadata_simple_iterator_get_block_type (const FLAC__Metadata_SimpleIterator *iterator)
FLAC__StreamMetadata * | FLAC__metadata_simple_iterator_get_block (FLAC__Metadata_SimpleIterator *iterator)
FLAC__bool | FLAC__metadata_simple_iterator_set_block (FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, FLAC__bool use_padding)
FLAC__bool | FLAC__metadata_simple_iterator_insert_block_after (FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, FLAC__bool use_padding)
FLAC__bool | FLAC__metadata_simple_iterator_delete_block (FLAC__Metadata_SimpleIterator *iterator, FLAC__bool use_padding)
FLAC__Metadata_Chain * | FLAC__metadata_chain_new ()
void | FLAC__metadata_chain_delete (FLAC__Metadata_Chain *chain)
FLAC__Metadata_ChainStatus | FLAC__metadata_chain_status (FLAC__Metadata_Chain *chain)
FLAC__bool | FLAC__metadata_chain_read (FLAC__Metadata_Chain *chain, const char *filename)
FLAC__bool | FLAC__metadata_chain_read_with_callbacks (FLAC__Metadata_Chain *chain, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks)
FLAC__bool | FLAC__metadata_chain_check_if_tempfile_needed (FLAC__Metadata_Chain *chain, FLAC__bool use_padding)
FLAC__bool | FLAC__metadata_chain_write (FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__bool preserve_file_stats)
FLAC__bool | FLAC__metadata_chain_write_with_callbacks (FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks)
FLAC__bool | FLAC__metadata_chain_write_with_callbacks_and_tempfile (FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks, FLAC__IOHandle temp_handle, FLAC__IOCallbacks temp_callbacks)
void | FLAC__metadata_chain_merge_padding (FLAC__Metadata_Chain *chain)
void | FLAC__metadata_chain_sort_padding (FLAC__Metadata_Chain *chain)
FLAC__Metadata_Iterator * | FLAC__metadata_iterator_new ()
void | FLAC__metadata_iterator_delete (FLAC__Metadata_Iterator *iterator)
void | FLAC__metadata_iterator_init (FLAC__Metadata_Iterator *iterator, FLAC__Metadata_Chain *chain)
FLAC__bool | FLAC__metadata_iterator_next (FLAC__Metadata_Iterator *iterator)
FLAC__bool | FLAC__metadata_iterator_prev (FLAC__Metadata_Iterator *iterator)
FLAC__MetadataType | FLAC__metadata_iterator_get_block_type (const FLAC__Metadata_Iterator *iterator)
FLAC__StreamMetadata * | FLAC__metadata_iterator_get_block (FLAC__Metadata_Iterator *iterator)
FLAC__bool | FLAC__metadata_iterator_set_block (FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block)
FLAC__bool | FLAC__metadata_iterator_delete_block (FLAC__Metadata_Iterator *iterator, FLAC__bool replace_with_padding)
FLAC__bool | FLAC__metadata_iterator_insert_block_before (FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block)
FLAC__bool | FLAC__metadata_iterator_insert_block_after (FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block)
FLAC__StreamMetadata * | FLAC__metadata_object_new (FLAC__MetadataType type)
FLAC__StreamMetadata * | FLAC__metadata_object_clone (const FLAC__StreamMetadata *object)
void | FLAC__metadata_object_delete (FLAC__StreamMetadata *object)
FLAC__bool | FLAC__metadata_object_is_equal (const FLAC__StreamMetadata *block1, const FLAC__StreamMetadata *block2)
FLAC__bool | FLAC__metadata_object_application_set_data (FLAC__StreamMetadata *object, FLAC__byte *data, unsigned length, FLAC__bool copy)
FLAC__bool | FLAC__metadata_object_seektable_resize_points (FLAC__StreamMetadata *object, unsigned new_num_points)
void | FLAC__metadata_object_seektable_set_point (FLAC__StreamMetadata *object, unsigned point_num, FLAC__StreamMetadata_SeekPoint point)
FLAC__bool | FLAC__metadata_object_seektable_insert_point (FLAC__StreamMetadata *object, unsigned point_num, FLAC__StreamMetadata_SeekPoint point)
FLAC__bool | FLAC__metadata_object_seektable_delete_point (FLAC__StreamMetadata *object, unsigned point_num)
FLAC__bool | FLAC__metadata_object_seektable_is_legal (const FLAC__StreamMetadata *object)
FLAC__bool | FLAC__metadata_object_seektable_template_append_placeholders (FLAC__StreamMetadata *object, unsigned num)
FLAC__bool | FLAC__metadata_object_seektable_template_append_point (FLAC__StreamMetadata *object, FLAC__uint64 sample_number)
FLAC__bool | FLAC__metadata_object_seektable_template_append_points (FLAC__StreamMetadata *object, FLAC__uint64 sample_numbers[], unsigned num)
FLAC__bool | FLAC__metadata_object_seektable_template_append_spaced_points (FLAC__StreamMetadata *object, unsigned num, FLAC__uint64 total_samples)
FLAC__bool | FLAC__metadata_object_seektable_template_sort (FLAC__StreamMetadata *object, FLAC__bool compact)
FLAC__bool | FLAC__metadata_object_vorbiscomment_set_vendor_string (FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)
FLAC__bool | FLAC__metadata_object_vorbiscomment_resize_comments (FLAC__StreamMetadata *object, unsigned new_num_comments)
FLAC__bool | FLAC__metadata_object_vorbiscomment_set_comment (FLAC__StreamMetadata *object, unsigned comment_num, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)
FLAC__bool | FLAC__metadata_object_vorbiscomment_insert_comment (FLAC__StreamMetadata *object, unsigned comment_num, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)
FLAC__bool | FLAC__metadata_object_vorbiscomment_append_comment (FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy)
FLAC__bool | FLAC__metadata_object_vorbiscomment_replace_comment (FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool all, FLAC__bool copy)
FLAC__bool | FLAC__metadata_object_vorbiscomment_delete_comment (FLAC__StreamMetadata *object, unsigned comment_num)
FLAC__bool | FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair (FLAC__StreamMetadata_VorbisComment_Entry *entry, const char *field_name, const char *field_value)
FLAC__bool | FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair (const FLAC__StreamMetadata_VorbisComment_Entry entry, char **field_name, char **field_value)
FLAC__bool | FLAC__metadata_object_vorbiscomment_entry_matches (const FLAC__StreamMetadata_VorbisComment_Entry entry, const char *field_name, unsigned field_name_length)
int | FLAC__metadata_object_vorbiscomment_find_entry_from (const FLAC__StreamMetadata *object, unsigned offset, const char *field_name)
int | FLAC__metadata_object_vorbiscomment_remove_entry_matching (FLAC__StreamMetadata *object, const char *field_name)
int | FLAC__metadata_object_vorbiscomment_remove_entries_matching (FLAC__StreamMetadata *object, const char *field_name)
FLAC__StreamMetadata_CueSheet_Track * | FLAC__metadata_object_cuesheet_track_new ()
FLAC__StreamMetadata_CueSheet_Track * | FLAC__metadata_object_cuesheet_track_clone (const FLAC__StreamMetadata_CueSheet_Track *object)
void | FLAC__metadata_object_cuesheet_track_delete (FLAC__StreamMetadata_CueSheet_Track *object)
FLAC__bool | FLAC__metadata_object_cuesheet_track_resize_indices (FLAC__StreamMetadata *object, unsigned track_num, unsigned new_num_indices)
FLAC__bool | FLAC__metadata_object_cuesheet_track_insert_index (FLAC__StreamMetadata *object, unsigned track_num, unsigned index_num, FLAC__StreamMetadata_CueSheet_Index index)
FLAC__bool | FLAC__metadata_object_cuesheet_track_insert_blank_index (FLAC__StreamMetadata *object, unsigned track_num, unsigned index_num)
FLAC__bool | FLAC__metadata_object_cuesheet_track_delete_index (FLAC__StreamMetadata *object, unsigned track_num, unsigned index_num)
FLAC__bool | FLAC__metadata_object_cuesheet_resize_tracks (FLAC__StreamMetadata *object, unsigned new_num_tracks)
FLAC__bool | FLAC__metadata_object_cuesheet_insert_track (FLAC__StreamMetadata *object, unsigned track_num, FLAC__StreamMetadata_CueSheet_Track *track, FLAC__bool copy)
FLAC__bool | FLAC__metadata_object_cuesheet_insert_blank_track (FLAC__StreamMetadata *object, unsigned track_num)
FLAC__bool | FLAC__metadata_object_cuesheet_delete_track (FLAC__StreamMetadata *object, unsigned track_num)
FLAC__bool | FLAC__metadata_object_cuesheet_is_legal (const FLAC__StreamMetadata *object, FLAC__bool check_cd_da_subset, const char **violation)

## Variables

const char *const | FLAC__Metadata_SimpleIteratorStatusString []
const char *const | FLAC__Metadata_ChainStatusString []

## Detailed Description

This module provides functions for creating and manipulating FLAC metadata blocks in memory, and three progressively more powerful interfaces for traversing and editing metadata in FLAC files.

See the detailed documentation for each interface in the metadata module.