# metadata.h File Reference

## 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.

`#include <sys/types.h>`
`#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__bool | FLAC__metadata_get_cuesheet (const char *filename, FLAC__StreamMetadata **cuesheet)
FLAC__bool | FLAC__metadata_get_picture (const char *filename, FLAC__StreamMetadata **picture, FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, unsigned max_width, unsigned max_height, unsigned max_depth, unsigned max_colors)
FLAC__Metadata_SimpleIterator * | FLAC__metadata_simple_iterator_new (void)
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__bool | FLAC__metadata_simple_iterator_is_last (const FLAC__Metadata_SimpleIterator *iterator)
off_t | FLAC__metadata_simple_iterator_get_block_offset (const FLAC__Metadata_SimpleIterator *iterator)
FLAC__MetadataType | FLAC__metadata_simple_iterator_get_block_type (const FLAC__Metadata_SimpleIterator *iterator)
unsigned | FLAC__metadata_simple_iterator_get_block_length (const FLAC__Metadata_SimpleIterator *iterator)
FLAC__bool | FLAC__metadata_simple_iterator_get_application_id (FLAC__Metadata_SimpleIterator *iterator, FLAC__byte *id)
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)
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_ogg (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_read_ogg_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)
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_append_spaced_points_by_samples (FLAC__StreamMetadata *object, unsigned samples, 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 (void)
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)
FLAC__uint32 | FLAC__metadata_object_cuesheet_calculate_cddb_id (const FLAC__StreamMetadata *object)
FLAC__bool | FLAC__metadata_object_picture_set_mime_type (FLAC__StreamMetadata *object, char *mime_type, FLAC__bool copy)
FLAC__bool | FLAC__metadata_object_picture_set_description (FLAC__StreamMetadata *object, FLAC__byte *description, FLAC__bool copy)
FLAC__bool | FLAC__metadata_object_picture_set_data (FLAC__StreamMetadata *object, FLAC__byte *data, FLAC__uint32 length, FLAC__bool copy)
FLAC__bool | FLAC__metadata_object_picture_is_legal (const FLAC__StreamMetadata *object, const char **violation)

## Variables

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

Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson |