~ubuntu-branches/ubuntu/precise/flac/precise-updates

« back to all changes in this revision

Viewing changes to doc/html/api/group__flac__metadata__object.html

  • Committer: Bazaar Package Importer
  • Author(s): Joshua Kwan
  • Date: 2007-05-29 22:56:36 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20070529225636-ljeff8xxip09qaap
Tags: 1.1.4-1
* New upstream release. closes: #405167, #411311
  - libOggFLAC and libOggFLAC++ have been merged into libFLAC, so
    remove their corresponding packages.
  - Because of the API changes required to effect the above, there has
    been yet another soname bump. libflac7 -> libflac8 and
    libflac++5 -> libflac++6. Emails have been dispatched to the
    maintainers of dependent packages.
* Some notes on patches that were removed:
  - 02_stdin_stdout, 06_manpage_mention_utf8_convert: merged upstream
  - 08_manpage_warnings: Upstream has changed the manpage so it defintely
    can't fit in in 80 cols, so just forget about it. We'll live.
  - 05_eof_warnings_are_errors: Upstream decided to add a -w option to
    flac to treat all warnings as errors. I am going to defer to that
    for now, but if people think it's stupid let me know and I'll port
    the patch forward.
  - 04_stack_smasher: was a backport from 1.1.3, so it's obsolete.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3
 
<title>FLAC/metadata.h: metadata object methods</title>
 
3
<title>FLAC: FLAC/metadata.h: metadata object methods</title>
4
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
5
</head><body>
6
 
<!-- Generated by Doxygen 1.2.14 -->
7
 
<center>
8
 
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
9
 
<hr><h1>FLAC/metadata.h: metadata object methods<br>
 
6
<!-- Generated by Doxygen 1.4.2 -->
 
7
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
 
8
<h1>FLAC/metadata.h: metadata object methods<br>
10
9
<small>
11
10
[<a class="el" href="group__flac__metadata.html">FLAC/metadata.h: metadata interfaces</a>]</small>
12
 
</h1>This module contains methods for manipulating FLAC metadata objects. 
13
 
<a href="#_details">More...</a><table border=0 cellpadding=0 cellspacing=0>
14
 
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
15
 
<tr><td nowrap align=right valign=top><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a0">FLAC__metadata_object_new</a> (<a class="el" href="group__flac__format.html#a97">FLAC__MetadataType</a> type)</td></tr>
16
 
<tr><td nowrap align=right valign=top><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a1">FLAC__metadata_object_clone</a> (const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
17
 
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a2">FLAC__metadata_object_delete</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
18
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a3">FLAC__metadata_object_is_equal</a> (const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *block1, const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *block2)</td></tr>
19
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a4">FLAC__metadata_object_application_set_data</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__byte *data, unsigned length, FLAC__bool copy)</td></tr>
20
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a5">FLAC__metadata_object_seektable_resize_points</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned new_num_points)</td></tr>
21
 
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a6">FLAC__metadata_object_seektable_set_point</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned point_num, <a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a> point)</td></tr>
22
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a7">FLAC__metadata_object_seektable_insert_point</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned point_num, <a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a> point)</td></tr>
23
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a8">FLAC__metadata_object_seektable_delete_point</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned point_num)</td></tr>
24
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a9">FLAC__metadata_object_seektable_is_legal</a> (const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
25
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a10">FLAC__metadata_object_seektable_template_append_placeholders</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned num)</td></tr>
26
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a11">FLAC__metadata_object_seektable_template_append_point</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__uint64 sample_number)</td></tr>
27
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a12">FLAC__metadata_object_seektable_template_append_points</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__uint64 sample_numbers[], unsigned num)</td></tr>
28
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a13">FLAC__metadata_object_seektable_template_append_spaced_points</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned num, FLAC__uint64 total_samples)</td></tr>
29
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a14">FLAC__metadata_object_seektable_template_sort</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__bool compact)</td></tr>
30
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a15">FLAC__metadata_object_vorbiscomment_set_vendor_string</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, FLAC__bool copy)</td></tr>
31
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a16">FLAC__metadata_object_vorbiscomment_resize_comments</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned new_num_comments)</td></tr>
32
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a17">FLAC__metadata_object_vorbiscomment_set_comment</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned comment_num, <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, FLAC__bool copy)</td></tr>
33
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a18">FLAC__metadata_object_vorbiscomment_insert_comment</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned comment_num, <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, FLAC__bool copy)</td></tr>
34
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a19">FLAC__metadata_object_vorbiscomment_append_comment</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, FLAC__bool copy)</td></tr>
35
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a20">FLAC__metadata_object_vorbiscomment_replace_comment</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, FLAC__bool all, FLAC__bool copy)</td></tr>
36
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a21">FLAC__metadata_object_vorbiscomment_delete_comment</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned comment_num)</td></tr>
37
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a22">FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair</a> (<a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> *entry, const char *field_name, const char *field_value)</td></tr>
38
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a23">FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair</a> (const <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, char **field_name, char **field_value)</td></tr>
39
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a24">FLAC__metadata_object_vorbiscomment_entry_matches</a> (const <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, const char *field_name, unsigned field_name_length)</td></tr>
40
 
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a25">FLAC__metadata_object_vorbiscomment_find_entry_from</a> (const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned offset, const char *field_name)</td></tr>
41
 
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a26">FLAC__metadata_object_vorbiscomment_remove_entry_matching</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, const char *field_name)</td></tr>
42
 
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a27">FLAC__metadata_object_vorbiscomment_remove_entries_matching</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, const char *field_name)</td></tr>
43
 
<tr><td nowrap align=right valign=top><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a28">FLAC__metadata_object_cuesheet_track_new</a> ()</td></tr>
44
 
<tr><td nowrap align=right valign=top><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a29">FLAC__metadata_object_cuesheet_track_clone</a> (const <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *object)</td></tr>
45
 
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a30">FLAC__metadata_object_cuesheet_track_delete</a> (<a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *object)</td></tr>
46
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a31">FLAC__metadata_object_cuesheet_track_resize_indices</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num, unsigned new_num_indices)</td></tr>
47
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a32">FLAC__metadata_object_cuesheet_track_insert_index</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num, unsigned index_num, <a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a> index)</td></tr>
48
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a33">FLAC__metadata_object_cuesheet_track_insert_blank_index</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num, unsigned index_num)</td></tr>
49
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a34">FLAC__metadata_object_cuesheet_track_delete_index</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num, unsigned index_num)</td></tr>
50
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a35">FLAC__metadata_object_cuesheet_resize_tracks</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned new_num_tracks)</td></tr>
51
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a36">FLAC__metadata_object_cuesheet_insert_track</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num, <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *track, FLAC__bool copy)</td></tr>
52
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a37">FLAC__metadata_object_cuesheet_insert_blank_track</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num)</td></tr>
53
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a38">FLAC__metadata_object_cuesheet_delete_track</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num)</td></tr>
54
 
<tr><td nowrap align=right valign=top>FLAC__bool&nbsp;</td><td valign=bottom><a class="el" href="group__flac__metadata__object.html#a39">FLAC__metadata_object_cuesheet_is_legal</a> (const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__bool check_cd_da_subset, const char **violation)</td></tr>
 
11
</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
 
12
This module contains methods for manipulating FLAC metadata objects. 
 
13
<p>
 
14
Since many are variable length we have to be careful about the memory management. We decree that all pointers to data in the object are owned by the object and memory-managed by the object.<p>
 
15
Use the <a class="el" href="group__flac__metadata__object.html#ga0">FLAC__metadata_object_new()</a> and <a class="el" href="group__flac__metadata__object.html#ga2">FLAC__metadata_object_delete()</a> functions to create all instances. When using the FLAC__metadata_object_set_*() functions to set pointers to data, set <em>copy</em> to <code>true</code> to have the function make it's own copy of the data, or to <code>false</code> to give the object ownership of your data. In the latter case your pointer must be freeable by free() and will be free()d when the object is <a class="el" href="group__flac__metadata__object.html#ga2">FLAC__metadata_object_delete()</a>d. It is legal to pass a null pointer as the data pointer to a FLAC__metadata_object_set_*() function as long as the length argument is 0 and the <em>copy</em> argument is <code>false</code>.<p>
 
16
The <a class="el" href="group__flac__metadata__object.html#ga0">FLAC__metadata_object_new()</a> and <a class="el" href="group__flac__metadata__object.html#ga1">FLAC__metadata_object_clone()</a> function will return <code>NULL</code> in the case of a memory allocation error, otherwise a new object. The FLAC__metadata_object_set_*() functions return <code>false</code> in the case of a memory allocation error.<p>
 
17
We don't have the convenience of C++ here, so note that the library relies on you to keep the types straight. In other words, if you pass, for example, a FLAC__StreamMetadata* that represents a STREAMINFO block to <a class="el" href="group__flac__metadata__object.html#ga4">FLAC__metadata_object_application_set_data()</a>, you will get an assertion failure.<p>
 
18
For convenience the FLAC__metadata_object_vorbiscomment_*() functions maintain a trailing NUL on each Vorbis comment entry. This is not counted toward the length or stored in the stream, but it can make working with plain comments (those that don't contain embedded-NULs in the value) easier. Entries passed into these functions have trailing NULs added if missing, and returned entries are guaranteed to have a trailing NUL.<p>
 
19
The FLAC__metadata_object_vorbiscomment_*() functions that take a Vorbis comment entry/name/value will first validate that it complies with the Vorbis comment specification and return false if it does not.<p>
 
20
There is no need to recalculate the length field on metadata blocks you have modified. They will be calculated automatically before they are written back to a file. 
 
21
<p>
 
22
<table border="0" cellpadding="0" cellspacing="0">
 
23
<tr><td></td></tr>
 
24
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
 
25
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga0">FLAC__metadata_object_new</a> (<a class="el" href="group__flac__format.html#ga109">FLAC__MetadataType</a> type)</td></tr>
 
26
 
 
27
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga1">FLAC__metadata_object_clone</a> (const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
 
28
 
 
29
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga2">FLAC__metadata_object_delete</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
 
30
 
 
31
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga3">FLAC__metadata_object_is_equal</a> (const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *block1, const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *block2)</td></tr>
 
32
 
 
33
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga4">FLAC__metadata_object_application_set_data</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__byte *data, unsigned length, FLAC__bool copy)</td></tr>
 
34
 
 
35
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga5">FLAC__metadata_object_seektable_resize_points</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned new_num_points)</td></tr>
 
36
 
 
37
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga6">FLAC__metadata_object_seektable_set_point</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned point_num, <a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a> point)</td></tr>
 
38
 
 
39
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga7">FLAC__metadata_object_seektable_insert_point</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned point_num, <a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a> point)</td></tr>
 
40
 
 
41
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga8">FLAC__metadata_object_seektable_delete_point</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned point_num)</td></tr>
 
42
 
 
43
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga9">FLAC__metadata_object_seektable_is_legal</a> (const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
 
44
 
 
45
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga10">FLAC__metadata_object_seektable_template_append_placeholders</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned num)</td></tr>
 
46
 
 
47
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga11">FLAC__metadata_object_seektable_template_append_point</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__uint64 sample_number)</td></tr>
 
48
 
 
49
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga12">FLAC__metadata_object_seektable_template_append_points</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__uint64 sample_numbers[], unsigned num)</td></tr>
 
50
 
 
51
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga13">FLAC__metadata_object_seektable_template_append_spaced_points</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned num, FLAC__uint64 total_samples)</td></tr>
 
52
 
 
53
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga14">FLAC__metadata_object_seektable_template_append_spaced_points_by_samples</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned samples, FLAC__uint64 total_samples)</td></tr>
 
54
 
 
55
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga15">FLAC__metadata_object_seektable_template_sort</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__bool compact)</td></tr>
 
56
 
 
57
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga16">FLAC__metadata_object_vorbiscomment_set_vendor_string</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, FLAC__bool copy)</td></tr>
 
58
 
 
59
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga17">FLAC__metadata_object_vorbiscomment_resize_comments</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned new_num_comments)</td></tr>
 
60
 
 
61
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga18">FLAC__metadata_object_vorbiscomment_set_comment</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned comment_num, <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, FLAC__bool copy)</td></tr>
 
62
 
 
63
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga19">FLAC__metadata_object_vorbiscomment_insert_comment</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned comment_num, <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, FLAC__bool copy)</td></tr>
 
64
 
 
65
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga20">FLAC__metadata_object_vorbiscomment_append_comment</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, FLAC__bool copy)</td></tr>
 
66
 
 
67
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga21">FLAC__metadata_object_vorbiscomment_replace_comment</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, FLAC__bool all, FLAC__bool copy)</td></tr>
 
68
 
 
69
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga22">FLAC__metadata_object_vorbiscomment_delete_comment</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned comment_num)</td></tr>
 
70
 
 
71
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga23">FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair</a> (<a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> *entry, const char *field_name, const char *field_value)</td></tr>
 
72
 
 
73
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga24">FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair</a> (const <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, char **field_name, char **field_value)</td></tr>
 
74
 
 
75
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga25">FLAC__metadata_object_vorbiscomment_entry_matches</a> (const <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> entry, const char *field_name, unsigned field_name_length)</td></tr>
 
76
 
 
77
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga26">FLAC__metadata_object_vorbiscomment_find_entry_from</a> (const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned offset, const char *field_name)</td></tr>
 
78
 
 
79
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga27">FLAC__metadata_object_vorbiscomment_remove_entry_matching</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, const char *field_name)</td></tr>
 
80
 
 
81
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga28">FLAC__metadata_object_vorbiscomment_remove_entries_matching</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, const char *field_name)</td></tr>
 
82
 
 
83
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga29">FLAC__metadata_object_cuesheet_track_new</a> (void)</td></tr>
 
84
 
 
85
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga30">FLAC__metadata_object_cuesheet_track_clone</a> (const <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *object)</td></tr>
 
86
 
 
87
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga31">FLAC__metadata_object_cuesheet_track_delete</a> (<a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *object)</td></tr>
 
88
 
 
89
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga32">FLAC__metadata_object_cuesheet_track_resize_indices</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num, unsigned new_num_indices)</td></tr>
 
90
 
 
91
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga33">FLAC__metadata_object_cuesheet_track_insert_index</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num, unsigned index_num, <a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a> index)</td></tr>
 
92
 
 
93
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga34">FLAC__metadata_object_cuesheet_track_insert_blank_index</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num, unsigned index_num)</td></tr>
 
94
 
 
95
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga35">FLAC__metadata_object_cuesheet_track_delete_index</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num, unsigned index_num)</td></tr>
 
96
 
 
97
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga36">FLAC__metadata_object_cuesheet_resize_tracks</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned new_num_tracks)</td></tr>
 
98
 
 
99
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga37">FLAC__metadata_object_cuesheet_insert_track</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num, <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *track, FLAC__bool copy)</td></tr>
 
100
 
 
101
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga38">FLAC__metadata_object_cuesheet_insert_blank_track</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num)</td></tr>
 
102
 
 
103
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga39">FLAC__metadata_object_cuesheet_delete_track</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, unsigned track_num)</td></tr>
 
104
 
 
105
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga40">FLAC__metadata_object_cuesheet_is_legal</a> (const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__bool check_cd_da_subset, const char **violation)</td></tr>
 
106
 
 
107
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga41">FLAC__metadata_object_cuesheet_calculate_cddb_id</a> (const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)</td></tr>
 
108
 
 
109
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga42">FLAC__metadata_object_picture_set_mime_type</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, char *mime_type, FLAC__bool copy)</td></tr>
 
110
 
 
111
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga43">FLAC__metadata_object_picture_set_description</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__byte *description, FLAC__bool copy)</td></tr>
 
112
 
 
113
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga44">FLAC__metadata_object_picture_set_data</a> (<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, FLAC__byte *data, FLAC__uint32 length, FLAC__bool copy)</td></tr>
 
114
 
 
115
<tr><td class="memItemLeft" nowrap align="right" valign="top">FLAC__bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flac__metadata__object.html#ga45">FLAC__metadata_object_picture_is_legal</a> (const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, const char **violation)</td></tr>
 
116
 
55
117
</table>
56
 
<hr><a name="_details"></a><h2>Detailed Description</h2>
57
 
This module contains methods for manipulating FLAC metadata objects.
58
 
<p>
59
 
 
60
 
<p>
61
 
 Since many are variable length we have to be careful about the memory management. We decree that all pointers to data in the object are owned by the object and memory-managed by the object.
62
 
<p>
63
 
Use the <a class="el" href="group__flac__metadata__object.html#a0">FLAC__metadata_object_new</a>() and <a class="el" href="group__flac__metadata__object.html#a2">FLAC__metadata_object_delete</a>() functions to create all instances. When using the FLAC__metadata_object_set_*() functions to set pointers to data, set <em>copy</em> to <code>true</code> to have the function make it's own copy of the data, or to <code>false</code> to give the object ownership of your data. In the latter case your pointer must be freeable by free() and will be free()d when the object is <a class="el" href="group__flac__metadata__object.html#a2">FLAC__metadata_object_delete</a>()d. It is legal to pass a null pointer as the data pointer to a FLAC__metadata_object_set_*() function as long as the length argument is 0 and the <em>copy</em> argument is <code>false</code>.
64
 
<p>
65
 
The <a class="el" href="group__flac__metadata__object.html#a0">FLAC__metadata_object_new</a>() and <a class="el" href="group__flac__metadata__object.html#a1">FLAC__metadata_object_clone</a>() function will return <code>NULL</code> in the case of a memory allocation error, otherwise a new object. The FLAC__metadata_object_set_*() functions return <code>false</code> in the case of a memory allocation error.
66
 
<p>
67
 
We don't have the convenience of C++ here, so note that the library relies on you to keep the types straight. In other words, if you pass, for example, a <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a>* that represents a STREAMINFO block to <a class="el" href="group__flac__metadata__object.html#a4">FLAC__metadata_object_application_set_data</a>(), you will get an assertion failure.
68
 
<p>
69
 
For convenience the FLAC__metadata_object_vorbiscomment_*() functions maintain a trailing NUL on each Vorbis comment entry. This is not counted toward the length or stored in the stream, but it can make working with plain comments (those that don't contain embedded-NULs in the value) easier. Entries passed into these functions have trailing NULs added if missing, and returned entries are guaranteed to have a trailing NUL.
70
 
<p>
71
 
The FLAC__metadata_object_vorbiscomment_*() functions that take a Vorbis comment entry/name/value will first validate that it complies with the Vorbis comment specification and return false if it does not.
72
 
<p>
73
 
There is no need to recalculate the length field on metadata blocks you have modified. They will be calculated automatically before they are written back to a file. <hr><h2>Function Documentation</h2>
74
 
<a name="a0" doxytag="metadata.h::FLAC__metadata_object_new"></a><p>
75
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
 
118
<hr><h2>Function Documentation</h2>
 
119
<a class="anchor" name="ga0" doxytag="metadata.h::FLAC__metadata_object_new"></a><p>
 
120
<table class="mdTable" cellpadding="2" cellspacing="0">
76
121
  <tr>
77
 
    <td class="md">
 
122
    <td class="mdRow">
78
123
      <table cellpadding="0" cellspacing="0" border="0">
79
124
        <tr>
80
 
          <td class="md" nowrap valign="top"> <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a>* FLAC__metadata_object_new </td>
 
125
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a>* FLAC__metadata_object_new           </td>
81
126
          <td class="md" valign="top">(&nbsp;</td>
82
 
          <td class="md" nowrap valign="top"><a class="el" href="group__flac__format.html#a97">FLAC__MetadataType</a>&nbsp;</td>
83
 
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>type</em>          </td>
84
 
          <td class="md" valign="top">)&nbsp;</td>
 
127
          <td class="md" nowrap valign="top"><a class="el" href="group__flac__format.html#ga109">FLAC__MetadataType</a>&nbsp;</td>
 
128
          <td class="mdname1" valign="top" nowrap> <em>type</em>          </td>
 
129
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
85
130
          <td class="md" nowrap></td>
86
131
        </tr>
87
 
 
88
132
      </table>
89
133
    </td>
90
134
  </tr>
91
135
</table>
92
 
<table cellspacing=5 cellpadding=0 border=0>
 
136
<table cellspacing="5" cellpadding="0" border="0">
93
137
  <tr>
94
138
    <td>
95
139
      &nbsp;
97
141
    <td>
98
142
 
99
143
<p>
100
 
Create a new metadata object instance of the given type.
101
 
<p>
102
 
The object will be "empty"; i.e. values and data pointers will be <code>0</code>, with the exception of FLAC__METADATA_TYPE_VORBIS_COMMENT, which will have the vendor string set (but zero comments).
103
 
<p>
104
 
Do not pass in a value greater than or equal to <em>FLAC__METADATA_TYPE_UNDEFINED</em> unless you really know what you're doing.<dl compact><dt><b>
105
 
Parameters: </b><dd>
106
 
<table border=0 cellspacing=2 cellpadding=0>
107
 
<tr><td valign=top><em>type</em>&nbsp;</td><td>
108
 
Type of object to create </td></tr>
109
 
</table>
110
 
</dl><dl compact><dt><b>
111
 
Return values: </b><dd>
112
 
<table border=0 cellspacing=2 cellpadding=0>
113
 
<tr><td valign=top><em><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a></em>&nbsp;</td><td>
114
 
* <code>NULL</code> if there was an error allocating memory or the type code is greater than FLAC__MAX_METADATA_TYPE_CODE, else the new instance. </td></tr>
115
 
</table>
116
 
</dl>    </td>
 
144
Create a new metadata object instance of the given type.<p>
 
145
The object will be "empty"; i.e. values and data pointers will be <code>0</code>, with the exception of FLAC__METADATA_TYPE_VORBIS_COMMENT, which will have the vendor string set (but zero comments).<p>
 
146
Do not pass in a value greater than or equal to <em>FLAC__METADATA_TYPE_UNDEFINED</em> unless you really know what you're doing.<p>
 
147
<dl compact><dt><b>Parameters:</b></dt><dd>
 
148
  <table border="0" cellspacing="2" cellpadding="0">
 
149
    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>Type of object to create </td></tr>
 
150
  </table>
 
151
</dl>
 
152
<dl compact><dt><b>Return values:</b></dt><dd>
 
153
  <table border="0" cellspacing="2" cellpadding="0">
 
154
    <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamMetadata*</em>&nbsp;</td><td><code>NULL</code> if there was an error allocating memory or the type code is greater than FLAC__MAX_METADATA_TYPE_CODE, else the new instance. </td></tr>
 
155
  </table>
 
156
</dl>
 
157
    </td>
117
158
  </tr>
118
159
</table>
119
 
<a name="a1" doxytag="metadata.h::FLAC__metadata_object_clone"></a><p>
120
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
 
160
<a class="anchor" name="ga1" doxytag="metadata.h::FLAC__metadata_object_clone"></a><p>
 
161
<table class="mdTable" cellpadding="2" cellspacing="0">
121
162
  <tr>
122
 
    <td class="md">
 
163
    <td class="mdRow">
123
164
      <table cellpadding="0" cellspacing="0" border="0">
124
165
        <tr>
125
 
          <td class="md" nowrap valign="top"> <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a>* FLAC__metadata_object_clone </td>
 
166
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a>* FLAC__metadata_object_clone           </td>
126
167
          <td class="md" valign="top">(&nbsp;</td>
127
168
          <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
128
 
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>object</em>          </td>
129
 
          <td class="md" valign="top">)&nbsp;</td>
 
169
          <td class="mdname1" valign="top" nowrap> <em>object</em>          </td>
 
170
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
130
171
          <td class="md" nowrap></td>
131
172
        </tr>
132
 
 
133
173
      </table>
134
174
    </td>
135
175
  </tr>
136
176
</table>
137
 
<table cellspacing=5 cellpadding=0 border=0>
 
177
<table cellspacing="5" cellpadding="0" border="0">
138
178
  <tr>
139
179
    <td>
140
180
      &nbsp;
142
182
    <td>
143
183
 
144
184
<p>
145
 
Create a copy of an existing metadata object.
146
 
<p>
147
 
The copy is a "deep" copy, i.e. dynamically allocated data within the object is also copied. The caller takes ownership of the new block and is responsible for freeing it with <a class="el" href="group__flac__metadata__object.html#a2">FLAC__metadata_object_delete</a>().<dl compact><dt><b>
148
 
Parameters: </b><dd>
149
 
<table border=0 cellspacing=2 cellpadding=0>
150
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
151
 
Pointer to object to copy. </td></tr>
152
 
</table>
153
 
</dl><dl compact><dt><b>
154
 
Assertions:</b><dd>
155
 
 <div class="fragment"><pre>object != NULL 
156
 
</pre></div> </dl><dl compact><dt><b>
157
 
Return values: </b><dd>
158
 
<table border=0 cellspacing=2 cellpadding=0>
159
 
<tr><td valign=top><em><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a></em>&nbsp;</td><td>
160
 
* <code>NULL</code> if there was an error allocating memory, else the new instance. </td></tr>
161
 
</table>
162
 
</dl>    </td>
 
185
Create a copy of an existing metadata object.<p>
 
186
The copy is a "deep" copy, i.e. dynamically allocated data within the object is also copied. The caller takes ownership of the new block and is responsible for freeing it with <a class="el" href="group__flac__metadata__object.html#ga2">FLAC__metadata_object_delete()</a>.<p>
 
187
<dl compact><dt><b>Parameters:</b></dt><dd>
 
188
  <table border="0" cellspacing="2" cellpadding="0">
 
189
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>Pointer to object to copy. </td></tr>
 
190
  </table>
 
191
</dl>
 
192
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
193
</pre></div> </dd></dl>
 
194
<dl compact><dt><b>Return values:</b></dt><dd>
 
195
  <table border="0" cellspacing="2" cellpadding="0">
 
196
    <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamMetadata*</em>&nbsp;</td><td><code>NULL</code> if there was an error allocating memory, else the new instance. </td></tr>
 
197
  </table>
 
198
</dl>
 
199
    </td>
163
200
  </tr>
164
201
</table>
165
 
<a name="a2" doxytag="metadata.h::FLAC__metadata_object_delete"></a><p>
166
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
 
202
<a class="anchor" name="ga2" doxytag="metadata.h::FLAC__metadata_object_delete"></a><p>
 
203
<table class="mdTable" cellpadding="2" cellspacing="0">
167
204
  <tr>
168
 
    <td class="md">
 
205
    <td class="mdRow">
169
206
      <table cellpadding="0" cellspacing="0" border="0">
170
207
        <tr>
171
 
          <td class="md" nowrap valign="top"> void FLAC__metadata_object_delete </td>
 
208
          <td class="md" nowrap valign="top">void FLAC__metadata_object_delete           </td>
172
209
          <td class="md" valign="top">(&nbsp;</td>
173
210
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
174
 
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>object</em>          </td>
175
 
          <td class="md" valign="top">)&nbsp;</td>
 
211
          <td class="mdname1" valign="top" nowrap> <em>object</em>          </td>
 
212
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
176
213
          <td class="md" nowrap></td>
177
214
        </tr>
178
 
 
179
215
      </table>
180
216
    </td>
181
217
  </tr>
182
218
</table>
183
 
<table cellspacing=5 cellpadding=0 border=0>
 
219
<table cellspacing="5" cellpadding="0" border="0">
184
220
  <tr>
185
221
    <td>
186
222
      &nbsp;
188
224
    <td>
189
225
 
190
226
<p>
191
 
Free a metadata object. Deletes the object pointed to by <em>object</em>.
192
 
<p>
193
 
The delete is a "deep" delete, i.e. dynamically allocated data within the object is also deleted.<dl compact><dt><b>
194
 
Parameters: </b><dd>
195
 
<table border=0 cellspacing=2 cellpadding=0>
196
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
197
 
A pointer to an existing object. </td></tr>
198
 
</table>
199
 
</dl><dl compact><dt><b>
200
 
Assertions:</b><dd>
201
 
 <div class="fragment"><pre>object != NULL 
202
 
</pre></div> </dl>    </td>
 
227
Free a metadata object. Deletes the object pointed to by <em>object</em>.<p>
 
228
The delete is a "deep" delete, i.e. dynamically allocated data within the object is also deleted.<p>
 
229
<dl compact><dt><b>Parameters:</b></dt><dd>
 
230
  <table border="0" cellspacing="2" cellpadding="0">
 
231
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing object. </td></tr>
 
232
  </table>
 
233
</dl>
 
234
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
235
</pre></div> </dd></dl>
 
236
    </td>
203
237
  </tr>
204
238
</table>
205
 
<a name="a3" doxytag="metadata.h::FLAC__metadata_object_is_equal"></a><p>
206
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
 
239
<a class="anchor" name="ga3" doxytag="metadata.h::FLAC__metadata_object_is_equal"></a><p>
 
240
<table class="mdTable" cellpadding="2" cellspacing="0">
207
241
  <tr>
208
 
    <td class="md">
 
242
    <td class="mdRow">
209
243
      <table cellpadding="0" cellspacing="0" border="0">
210
244
        <tr>
211
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_is_equal </td>
 
245
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_is_equal           </td>
212
246
          <td class="md" valign="top">(&nbsp;</td>
213
247
          <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
214
 
          <td class="mdname" nowrap>&nbsp; <em>block1</em>, </td>
 
248
          <td class="mdname" nowrap> <em>block1</em>, </td>
215
249
        </tr>
216
250
        <tr>
217
 
          <td></td>
218
 
          <td></td>
 
251
          <td class="md" nowrap align="right"></td>
 
252
          <td class="md"></td>
219
253
          <td class="md" nowrap>const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
220
 
          <td class="mdname" nowrap>&nbsp; <em>block2</em></td>
 
254
          <td class="mdname" nowrap> <em>block2</em></td>
221
255
        </tr>
222
256
        <tr>
223
 
          <td></td>
 
257
          <td class="md"></td>
224
258
          <td class="md">)&nbsp;</td>
225
259
          <td class="md" colspan="2"></td>
226
260
        </tr>
227
 
 
228
261
      </table>
229
262
    </td>
230
263
  </tr>
231
264
</table>
232
 
<table cellspacing=5 cellpadding=0 border=0>
 
265
<table cellspacing="5" cellpadding="0" border="0">
233
266
  <tr>
234
267
    <td>
235
268
      &nbsp;
237
270
    <td>
238
271
 
239
272
<p>
240
 
Compares two metadata objects.
241
 
<p>
242
 
The compare is "deep", i.e. dynamically allocated data within the object is also compared.<dl compact><dt><b>
243
 
Parameters: </b><dd>
244
 
<table border=0 cellspacing=2 cellpadding=0>
245
 
<tr><td valign=top><em>block1</em>&nbsp;</td><td>
246
 
A pointer to an existing object. </td></tr>
247
 
<tr><td valign=top><em>block2</em>&nbsp;</td><td>
248
 
A pointer to an existing object. </td></tr>
249
 
</table>
250
 
</dl><dl compact><dt><b>
251
 
Assertions:</b><dd>
252
 
 <div class="fragment"><pre>block1 != NULL 
253
 
</pre></div> <div class="fragment"><pre>block2 != NULL 
254
 
</pre></div> </dl><dl compact><dt><b>
255
 
Return values: </b><dd>
256
 
<table border=0 cellspacing=2 cellpadding=0>
257
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
258
 
<code>true</code> if objects are identical, else <code>false</code>. </td></tr>
259
 
</table>
260
 
</dl>    </td>
 
273
Compares two metadata objects.<p>
 
274
The compare is "deep", i.e. dynamically allocated data within the object is also compared.<p>
 
275
<dl compact><dt><b>Parameters:</b></dt><dd>
 
276
  <table border="0" cellspacing="2" cellpadding="0">
 
277
    <tr><td valign="top"></td><td valign="top"><em>block1</em>&nbsp;</td><td>A pointer to an existing object. </td></tr>
 
278
    <tr><td valign="top"></td><td valign="top"><em>block2</em>&nbsp;</td><td>A pointer to an existing object. </td></tr>
 
279
  </table>
 
280
</dl>
 
281
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> block1 != NULL 
 
282
</pre></div> <div class="fragment"><pre class="fragment"> block2 != NULL 
 
283
</pre></div> </dd></dl>
 
284
<dl compact><dt><b>Return values:</b></dt><dd>
 
285
  <table border="0" cellspacing="2" cellpadding="0">
 
286
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if objects are identical, else <code>false</code>. </td></tr>
 
287
  </table>
 
288
</dl>
 
289
    </td>
261
290
  </tr>
262
291
</table>
263
 
<a name="a4" doxytag="metadata.h::FLAC__metadata_object_application_set_data"></a><p>
264
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
 
292
<a class="anchor" name="ga4" doxytag="metadata.h::FLAC__metadata_object_application_set_data"></a><p>
 
293
<table class="mdTable" cellpadding="2" cellspacing="0">
265
294
  <tr>
266
 
    <td class="md">
 
295
    <td class="mdRow">
267
296
      <table cellpadding="0" cellspacing="0" border="0">
268
297
        <tr>
269
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_application_set_data </td>
 
298
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_application_set_data           </td>
270
299
          <td class="md" valign="top">(&nbsp;</td>
271
300
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
272
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
 
301
          <td class="mdname" nowrap> <em>object</em>, </td>
273
302
        </tr>
274
303
        <tr>
275
 
          <td></td>
276
 
          <td></td>
 
304
          <td class="md" nowrap align="right"></td>
 
305
          <td class="md"></td>
277
306
          <td class="md" nowrap>FLAC__byte *&nbsp;</td>
278
 
          <td class="mdname" nowrap>&nbsp; <em>data</em>, </td>
 
307
          <td class="mdname" nowrap> <em>data</em>, </td>
279
308
        </tr>
280
309
        <tr>
281
 
          <td></td>
282
 
          <td></td>
 
310
          <td class="md" nowrap align="right"></td>
 
311
          <td class="md"></td>
283
312
          <td class="md" nowrap>unsigned&nbsp;</td>
284
 
          <td class="mdname" nowrap>&nbsp; <em>length</em>, </td>
 
313
          <td class="mdname" nowrap> <em>length</em>, </td>
285
314
        </tr>
286
315
        <tr>
287
 
          <td></td>
288
 
          <td></td>
 
316
          <td class="md" nowrap align="right"></td>
 
317
          <td class="md"></td>
289
318
          <td class="md" nowrap>FLAC__bool&nbsp;</td>
290
 
          <td class="mdname" nowrap>&nbsp; <em>copy</em></td>
 
319
          <td class="mdname" nowrap> <em>copy</em></td>
291
320
        </tr>
292
321
        <tr>
293
 
          <td></td>
 
322
          <td class="md"></td>
294
323
          <td class="md">)&nbsp;</td>
295
324
          <td class="md" colspan="2"></td>
296
325
        </tr>
297
 
 
298
326
      </table>
299
327
    </td>
300
328
  </tr>
301
329
</table>
302
 
<table cellspacing=5 cellpadding=0 border=0>
 
330
<table cellspacing="5" cellpadding="0" border="0">
303
331
  <tr>
304
332
    <td>
305
333
      &nbsp;
307
335
    <td>
308
336
 
309
337
<p>
310
 
Sets the application data of an APPLICATION block.
311
 
<p>
312
 
If <em>copy</em> is <code>true</code>, a copy of the data is stored; otherwise, the object takes ownership of the pointer.<dl compact><dt><b>
313
 
Parameters: </b><dd>
314
 
<table border=0 cellspacing=2 cellpadding=0>
315
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
316
 
A pointer to an existing APPLICATION object. </td></tr>
317
 
<tr><td valign=top><em>data</em>&nbsp;</td><td>
318
 
A pointer to the data to set. </td></tr>
319
 
<tr><td valign=top><em>length</em>&nbsp;</td><td>
320
 
The length of <em>data</em> in bytes. </td></tr>
321
 
<tr><td valign=top><em>copy</em>&nbsp;</td><td>
322
 
See above. </td></tr>
323
 
</table>
324
 
</dl><dl compact><dt><b>
325
 
Assertions:</b><dd>
326
 
 <div class="fragment"><pre>object != NULL 
327
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a99">FLAC__METADATA_TYPE_APPLICATION</a> 
328
 
</pre></div> <div class="fragment"><pre>(data != NULL &amp;&amp; length &gt; 0) ||
329
 
 (data == NULL &amp;&amp; length == 0 &amp;&amp; copy == <font class="keyword">false</font>) 
330
 
</pre></div> </dl><dl compact><dt><b>
331
 
Return values: </b><dd>
332
 
<table border=0 cellspacing=2 cellpadding=0>
333
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
334
 
<code>false</code> if <em>copy</em> is <code>true</code> and malloc() fails, else <code>true</code>. </td></tr>
335
 
</table>
336
 
</dl>    </td>
 
338
Sets the application data of an APPLICATION block.<p>
 
339
If <em>copy</em> is <code>true</code>, a copy of the data is stored; otherwise, the object takes ownership of the pointer. The existing data will be freed if this function is successful, otherwise the original data will remain if <em>copy</em> is <code>true</code> and malloc() fails.<p>
 
340
<dl compact><dt><b>Note:</b></dt><dd>It is safe to pass a const pointer to <em>data</em> if <em>copy</em> is <code>true</code>.</dd></dl>
 
341
<dl compact><dt><b>Parameters:</b></dt><dd>
 
342
  <table border="0" cellspacing="2" cellpadding="0">
 
343
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing APPLICATION object. </td></tr>
 
344
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>A pointer to the data to set. </td></tr>
 
345
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The length of <em>data</em> in bytes. </td></tr>
 
346
    <tr><td valign="top"></td><td valign="top"><em>copy</em>&nbsp;</td><td>See above. </td></tr>
 
347
  </table>
 
348
</dl>
 
349
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
350
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a110">FLAC__METADATA_TYPE_APPLICATION</a> 
 
351
</pre></div> <div class="fragment"><pre class="fragment"> (data != NULL &amp;&amp; length &gt; 0) ||
 
352
 (data == NULL &amp;&amp; length == 0 &amp;&amp; copy == <span class="keyword">false</span>) 
 
353
</pre></div> </dd></dl>
 
354
<dl compact><dt><b>Return values:</b></dt><dd>
 
355
  <table border="0" cellspacing="2" cellpadding="0">
 
356
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if <em>copy</em> is <code>true</code> and malloc() fails, else <code>true</code>. </td></tr>
 
357
  </table>
 
358
</dl>
 
359
    </td>
337
360
  </tr>
338
361
</table>
339
 
<a name="a5" doxytag="metadata.h::FLAC__metadata_object_seektable_resize_points"></a><p>
340
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
 
362
<a class="anchor" name="ga5" doxytag="metadata.h::FLAC__metadata_object_seektable_resize_points"></a><p>
 
363
<table class="mdTable" cellpadding="2" cellspacing="0">
341
364
  <tr>
342
 
    <td class="md">
 
365
    <td class="mdRow">
343
366
      <table cellpadding="0" cellspacing="0" border="0">
344
367
        <tr>
345
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_seektable_resize_points </td>
 
368
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_seektable_resize_points           </td>
346
369
          <td class="md" valign="top">(&nbsp;</td>
347
370
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
348
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
 
371
          <td class="mdname" nowrap> <em>object</em>, </td>
349
372
        </tr>
350
373
        <tr>
351
 
          <td></td>
352
 
          <td></td>
 
374
          <td class="md" nowrap align="right"></td>
 
375
          <td class="md"></td>
353
376
          <td class="md" nowrap>unsigned&nbsp;</td>
354
 
          <td class="mdname" nowrap>&nbsp; <em>new_num_points</em></td>
 
377
          <td class="mdname" nowrap> <em>new_num_points</em></td>
355
378
        </tr>
356
379
        <tr>
357
 
          <td></td>
 
380
          <td class="md"></td>
358
381
          <td class="md">)&nbsp;</td>
359
382
          <td class="md" colspan="2"></td>
360
383
        </tr>
361
 
 
362
384
      </table>
363
385
    </td>
364
386
  </tr>
365
387
</table>
366
 
<table cellspacing=5 cellpadding=0 border=0>
 
388
<table cellspacing="5" cellpadding="0" border="0">
367
389
  <tr>
368
390
    <td>
369
391
      &nbsp;
371
393
    <td>
372
394
 
373
395
<p>
374
 
Resize the seekpoint array.
375
 
<p>
376
 
If the size shrinks, elements will truncated; if it grows, new placeholder points will be added to the end.<dl compact><dt><b>
377
 
Parameters: </b><dd>
378
 
<table border=0 cellspacing=2 cellpadding=0>
379
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
380
 
A pointer to an existing SEEKTABLE object. </td></tr>
381
 
<tr><td valign=top><em>new_num_points</em>&nbsp;</td><td>
382
 
The desired length of the array; may be <code>0</code>. </td></tr>
383
 
</table>
384
 
</dl><dl compact><dt><b>
385
 
Assertions:</b><dd>
386
 
 <div class="fragment"><pre>object != NULL 
387
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a100">FLAC__METADATA_TYPE_SEEKTABLE</a> 
388
 
</pre></div> <div class="fragment"><pre>(object-&gt;data.seek_table.points == NULL &amp;&amp; object-&gt;data.seek_table.num_points == 0) ||
 
396
Resize the seekpoint array.<p>
 
397
If the size shrinks, elements will truncated; if it grows, new placeholder points will be added to the end.<p>
 
398
<dl compact><dt><b>Parameters:</b></dt><dd>
 
399
  <table border="0" cellspacing="2" cellpadding="0">
 
400
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing SEEKTABLE object. </td></tr>
 
401
    <tr><td valign="top"></td><td valign="top"><em>new_num_points</em>&nbsp;</td><td>The desired length of the array; may be <code>0</code>. </td></tr>
 
402
  </table>
 
403
</dl>
 
404
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
405
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a111">FLAC__METADATA_TYPE_SEEKTABLE</a> 
 
406
</pre></div> <div class="fragment"><pre class="fragment"> (object-&gt;data.seek_table.points == NULL &amp;&amp; object-&gt;data.seek_table.num_points == 0) ||
389
407
 (object-&gt;data.seek_table.points != NULL &amp;&amp; object-&gt;data.seek_table.num_points &gt; 0) 
390
 
</pre></div> </dl><dl compact><dt><b>
391
 
Return values: </b><dd>
392
 
<table border=0 cellspacing=2 cellpadding=0>
393
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
394
 
<code>false</code> if memory allocation error, else <code>true</code>. </td></tr>
395
 
</table>
396
 
</dl>    </td>
397
 
  </tr>
398
 
</table>
399
 
<a name="a6" doxytag="metadata.h::FLAC__metadata_object_seektable_set_point"></a><p>
400
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
401
 
  <tr>
402
 
    <td class="md">
403
 
      <table cellpadding="0" cellspacing="0" border="0">
404
 
        <tr>
405
 
          <td class="md" nowrap valign="top"> void FLAC__metadata_object_seektable_set_point </td>
406
 
          <td class="md" valign="top">(&nbsp;</td>
407
 
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
408
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
409
 
        </tr>
410
 
        <tr>
411
 
          <td></td>
412
 
          <td></td>
413
 
          <td class="md" nowrap>unsigned&nbsp;</td>
414
 
          <td class="mdname" nowrap>&nbsp; <em>point_num</em>, </td>
415
 
        </tr>
416
 
        <tr>
417
 
          <td></td>
418
 
          <td></td>
419
 
          <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a>&nbsp;</td>
420
 
          <td class="mdname" nowrap>&nbsp; <em>point</em></td>
421
 
        </tr>
422
 
        <tr>
423
 
          <td></td>
424
 
          <td class="md">)&nbsp;</td>
425
 
          <td class="md" colspan="2"></td>
426
 
        </tr>
427
 
 
428
 
      </table>
429
 
    </td>
430
 
  </tr>
431
 
</table>
432
 
<table cellspacing=5 cellpadding=0 border=0>
433
 
  <tr>
434
 
    <td>
435
 
      &nbsp;
436
 
    </td>
437
 
    <td>
438
 
 
439
 
<p>
440
 
Set a seekpoint in a seektable.<dl compact><dt><b>
441
 
Parameters: </b><dd>
442
 
<table border=0 cellspacing=2 cellpadding=0>
443
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
444
 
A pointer to an existing SEEKTABLE object. </td></tr>
445
 
<tr><td valign=top><em>point_num</em>&nbsp;</td><td>
446
 
Index into seekpoint array to set. </td></tr>
447
 
<tr><td valign=top><em>point</em>&nbsp;</td><td>
448
 
The point to set. </td></tr>
449
 
</table>
450
 
</dl><dl compact><dt><b>
451
 
Assertions:</b><dd>
452
 
 <div class="fragment"><pre>object != NULL 
453
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a100">FLAC__METADATA_TYPE_SEEKTABLE</a> 
454
 
</pre></div> <div class="fragment"><pre>object-&gt;data.seek_table.num_points &gt; point_num 
455
 
</pre></div> </dl>    </td>
456
 
  </tr>
457
 
</table>
458
 
<a name="a7" doxytag="metadata.h::FLAC__metadata_object_seektable_insert_point"></a><p>
459
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
460
 
  <tr>
461
 
    <td class="md">
462
 
      <table cellpadding="0" cellspacing="0" border="0">
463
 
        <tr>
464
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_seektable_insert_point </td>
465
 
          <td class="md" valign="top">(&nbsp;</td>
466
 
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
467
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
468
 
        </tr>
469
 
        <tr>
470
 
          <td></td>
471
 
          <td></td>
472
 
          <td class="md" nowrap>unsigned&nbsp;</td>
473
 
          <td class="mdname" nowrap>&nbsp; <em>point_num</em>, </td>
474
 
        </tr>
475
 
        <tr>
476
 
          <td></td>
477
 
          <td></td>
478
 
          <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a>&nbsp;</td>
479
 
          <td class="mdname" nowrap>&nbsp; <em>point</em></td>
480
 
        </tr>
481
 
        <tr>
482
 
          <td></td>
483
 
          <td class="md">)&nbsp;</td>
484
 
          <td class="md" colspan="2"></td>
485
 
        </tr>
486
 
 
487
 
      </table>
488
 
    </td>
489
 
  </tr>
490
 
</table>
491
 
<table cellspacing=5 cellpadding=0 border=0>
492
 
  <tr>
493
 
    <td>
494
 
      &nbsp;
495
 
    </td>
496
 
    <td>
497
 
 
498
 
<p>
499
 
Insert a seekpoint into a seektable.<dl compact><dt><b>
500
 
Parameters: </b><dd>
501
 
<table border=0 cellspacing=2 cellpadding=0>
502
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
503
 
A pointer to an existing SEEKTABLE object. </td></tr>
504
 
<tr><td valign=top><em>point_num</em>&nbsp;</td><td>
505
 
Index into seekpoint array to set. </td></tr>
506
 
<tr><td valign=top><em>point</em>&nbsp;</td><td>
507
 
The point to set. </td></tr>
508
 
</table>
509
 
</dl><dl compact><dt><b>
510
 
Assertions:</b><dd>
511
 
 <div class="fragment"><pre>object != NULL 
512
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a100">FLAC__METADATA_TYPE_SEEKTABLE</a> 
513
 
</pre></div> <div class="fragment"><pre>object-&gt;data.seek_table.num_points &gt;= point_num 
514
 
</pre></div> </dl><dl compact><dt><b>
515
 
Return values: </b><dd>
516
 
<table border=0 cellspacing=2 cellpadding=0>
517
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
518
 
<code>false</code> if memory allocation error, else <code>true</code>. </td></tr>
519
 
</table>
520
 
</dl>    </td>
521
 
  </tr>
522
 
</table>
523
 
<a name="a8" doxytag="metadata.h::FLAC__metadata_object_seektable_delete_point"></a><p>
524
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
525
 
  <tr>
526
 
    <td class="md">
527
 
      <table cellpadding="0" cellspacing="0" border="0">
528
 
        <tr>
529
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_seektable_delete_point </td>
530
 
          <td class="md" valign="top">(&nbsp;</td>
531
 
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
532
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
533
 
        </tr>
534
 
        <tr>
535
 
          <td></td>
536
 
          <td></td>
537
 
          <td class="md" nowrap>unsigned&nbsp;</td>
538
 
          <td class="mdname" nowrap>&nbsp; <em>point_num</em></td>
539
 
        </tr>
540
 
        <tr>
541
 
          <td></td>
542
 
          <td class="md">)&nbsp;</td>
543
 
          <td class="md" colspan="2"></td>
544
 
        </tr>
545
 
 
546
 
      </table>
547
 
    </td>
548
 
  </tr>
549
 
</table>
550
 
<table cellspacing=5 cellpadding=0 border=0>
551
 
  <tr>
552
 
    <td>
553
 
      &nbsp;
554
 
    </td>
555
 
    <td>
556
 
 
557
 
<p>
558
 
Delete a seekpoint from a seektable.<dl compact><dt><b>
559
 
Parameters: </b><dd>
560
 
<table border=0 cellspacing=2 cellpadding=0>
561
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
562
 
A pointer to an existing SEEKTABLE object. </td></tr>
563
 
<tr><td valign=top><em>point_num</em>&nbsp;</td><td>
564
 
Index into seekpoint array to set. </td></tr>
565
 
</table>
566
 
</dl><dl compact><dt><b>
567
 
Assertions:</b><dd>
568
 
 <div class="fragment"><pre>object != NULL 
569
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a100">FLAC__METADATA_TYPE_SEEKTABLE</a> 
570
 
</pre></div> <div class="fragment"><pre>object-&gt;data.seek_table.num_points &gt; point_num 
571
 
</pre></div> </dl><dl compact><dt><b>
572
 
Return values: </b><dd>
573
 
<table border=0 cellspacing=2 cellpadding=0>
574
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
575
 
<code>false</code> if memory allocation error, else <code>true</code>. </td></tr>
576
 
</table>
577
 
</dl>    </td>
578
 
  </tr>
579
 
</table>
580
 
<a name="a9" doxytag="metadata.h::FLAC__metadata_object_seektable_is_legal"></a><p>
581
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
582
 
  <tr>
583
 
    <td class="md">
584
 
      <table cellpadding="0" cellspacing="0" border="0">
585
 
        <tr>
586
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_seektable_is_legal </td>
 
408
</pre></div> </dd></dl>
 
409
<dl compact><dt><b>Return values:</b></dt><dd>
 
410
  <table border="0" cellspacing="2" cellpadding="0">
 
411
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation error, else <code>true</code>. </td></tr>
 
412
  </table>
 
413
</dl>
 
414
    </td>
 
415
  </tr>
 
416
</table>
 
417
<a class="anchor" name="ga6" doxytag="metadata.h::FLAC__metadata_object_seektable_set_point"></a><p>
 
418
<table class="mdTable" cellpadding="2" cellspacing="0">
 
419
  <tr>
 
420
    <td class="mdRow">
 
421
      <table cellpadding="0" cellspacing="0" border="0">
 
422
        <tr>
 
423
          <td class="md" nowrap valign="top">void FLAC__metadata_object_seektable_set_point           </td>
 
424
          <td class="md" valign="top">(&nbsp;</td>
 
425
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
 
426
          <td class="mdname" nowrap> <em>object</em>, </td>
 
427
        </tr>
 
428
        <tr>
 
429
          <td class="md" nowrap align="right"></td>
 
430
          <td class="md"></td>
 
431
          <td class="md" nowrap>unsigned&nbsp;</td>
 
432
          <td class="mdname" nowrap> <em>point_num</em>, </td>
 
433
        </tr>
 
434
        <tr>
 
435
          <td class="md" nowrap align="right"></td>
 
436
          <td class="md"></td>
 
437
          <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a>&nbsp;</td>
 
438
          <td class="mdname" nowrap> <em>point</em></td>
 
439
        </tr>
 
440
        <tr>
 
441
          <td class="md"></td>
 
442
          <td class="md">)&nbsp;</td>
 
443
          <td class="md" colspan="2"></td>
 
444
        </tr>
 
445
      </table>
 
446
    </td>
 
447
  </tr>
 
448
</table>
 
449
<table cellspacing="5" cellpadding="0" border="0">
 
450
  <tr>
 
451
    <td>
 
452
      &nbsp;
 
453
    </td>
 
454
    <td>
 
455
 
 
456
<p>
 
457
Set a seekpoint in a seektable.<p>
 
458
<dl compact><dt><b>Parameters:</b></dt><dd>
 
459
  <table border="0" cellspacing="2" cellpadding="0">
 
460
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing SEEKTABLE object. </td></tr>
 
461
    <tr><td valign="top"></td><td valign="top"><em>point_num</em>&nbsp;</td><td>Index into seekpoint array to set. </td></tr>
 
462
    <tr><td valign="top"></td><td valign="top"><em>point</em>&nbsp;</td><td>The point to set. </td></tr>
 
463
  </table>
 
464
</dl>
 
465
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
466
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a111">FLAC__METADATA_TYPE_SEEKTABLE</a> 
 
467
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.seek_table.num_points &gt; point_num 
 
468
</pre></div> </dd></dl>
 
469
    </td>
 
470
  </tr>
 
471
</table>
 
472
<a class="anchor" name="ga7" doxytag="metadata.h::FLAC__metadata_object_seektable_insert_point"></a><p>
 
473
<table class="mdTable" cellpadding="2" cellspacing="0">
 
474
  <tr>
 
475
    <td class="mdRow">
 
476
      <table cellpadding="0" cellspacing="0" border="0">
 
477
        <tr>
 
478
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_seektable_insert_point           </td>
 
479
          <td class="md" valign="top">(&nbsp;</td>
 
480
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
 
481
          <td class="mdname" nowrap> <em>object</em>, </td>
 
482
        </tr>
 
483
        <tr>
 
484
          <td class="md" nowrap align="right"></td>
 
485
          <td class="md"></td>
 
486
          <td class="md" nowrap>unsigned&nbsp;</td>
 
487
          <td class="mdname" nowrap> <em>point_num</em>, </td>
 
488
        </tr>
 
489
        <tr>
 
490
          <td class="md" nowrap align="right"></td>
 
491
          <td class="md"></td>
 
492
          <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a>&nbsp;</td>
 
493
          <td class="mdname" nowrap> <em>point</em></td>
 
494
        </tr>
 
495
        <tr>
 
496
          <td class="md"></td>
 
497
          <td class="md">)&nbsp;</td>
 
498
          <td class="md" colspan="2"></td>
 
499
        </tr>
 
500
      </table>
 
501
    </td>
 
502
  </tr>
 
503
</table>
 
504
<table cellspacing="5" cellpadding="0" border="0">
 
505
  <tr>
 
506
    <td>
 
507
      &nbsp;
 
508
    </td>
 
509
    <td>
 
510
 
 
511
<p>
 
512
Insert a seekpoint into a seektable.<p>
 
513
<dl compact><dt><b>Parameters:</b></dt><dd>
 
514
  <table border="0" cellspacing="2" cellpadding="0">
 
515
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing SEEKTABLE object. </td></tr>
 
516
    <tr><td valign="top"></td><td valign="top"><em>point_num</em>&nbsp;</td><td>Index into seekpoint array to set. </td></tr>
 
517
    <tr><td valign="top"></td><td valign="top"><em>point</em>&nbsp;</td><td>The point to set. </td></tr>
 
518
  </table>
 
519
</dl>
 
520
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
521
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a111">FLAC__METADATA_TYPE_SEEKTABLE</a> 
 
522
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.seek_table.num_points &gt;= point_num 
 
523
</pre></div> </dd></dl>
 
524
<dl compact><dt><b>Return values:</b></dt><dd>
 
525
  <table border="0" cellspacing="2" cellpadding="0">
 
526
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation error, else <code>true</code>. </td></tr>
 
527
  </table>
 
528
</dl>
 
529
    </td>
 
530
  </tr>
 
531
</table>
 
532
<a class="anchor" name="ga8" doxytag="metadata.h::FLAC__metadata_object_seektable_delete_point"></a><p>
 
533
<table class="mdTable" cellpadding="2" cellspacing="0">
 
534
  <tr>
 
535
    <td class="mdRow">
 
536
      <table cellpadding="0" cellspacing="0" border="0">
 
537
        <tr>
 
538
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_seektable_delete_point           </td>
 
539
          <td class="md" valign="top">(&nbsp;</td>
 
540
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
 
541
          <td class="mdname" nowrap> <em>object</em>, </td>
 
542
        </tr>
 
543
        <tr>
 
544
          <td class="md" nowrap align="right"></td>
 
545
          <td class="md"></td>
 
546
          <td class="md" nowrap>unsigned&nbsp;</td>
 
547
          <td class="mdname" nowrap> <em>point_num</em></td>
 
548
        </tr>
 
549
        <tr>
 
550
          <td class="md"></td>
 
551
          <td class="md">)&nbsp;</td>
 
552
          <td class="md" colspan="2"></td>
 
553
        </tr>
 
554
      </table>
 
555
    </td>
 
556
  </tr>
 
557
</table>
 
558
<table cellspacing="5" cellpadding="0" border="0">
 
559
  <tr>
 
560
    <td>
 
561
      &nbsp;
 
562
    </td>
 
563
    <td>
 
564
 
 
565
<p>
 
566
Delete a seekpoint from a seektable.<p>
 
567
<dl compact><dt><b>Parameters:</b></dt><dd>
 
568
  <table border="0" cellspacing="2" cellpadding="0">
 
569
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing SEEKTABLE object. </td></tr>
 
570
    <tr><td valign="top"></td><td valign="top"><em>point_num</em>&nbsp;</td><td>Index into seekpoint array to set. </td></tr>
 
571
  </table>
 
572
</dl>
 
573
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
574
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a111">FLAC__METADATA_TYPE_SEEKTABLE</a> 
 
575
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.seek_table.num_points &gt; point_num 
 
576
</pre></div> </dd></dl>
 
577
<dl compact><dt><b>Return values:</b></dt><dd>
 
578
  <table border="0" cellspacing="2" cellpadding="0">
 
579
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation error, else <code>true</code>. </td></tr>
 
580
  </table>
 
581
</dl>
 
582
    </td>
 
583
  </tr>
 
584
</table>
 
585
<a class="anchor" name="ga9" doxytag="metadata.h::FLAC__metadata_object_seektable_is_legal"></a><p>
 
586
<table class="mdTable" cellpadding="2" cellspacing="0">
 
587
  <tr>
 
588
    <td class="mdRow">
 
589
      <table cellpadding="0" cellspacing="0" border="0">
 
590
        <tr>
 
591
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_seektable_is_legal           </td>
587
592
          <td class="md" valign="top">(&nbsp;</td>
588
593
          <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
589
 
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>object</em>          </td>
590
 
          <td class="md" valign="top">)&nbsp;</td>
 
594
          <td class="mdname1" valign="top" nowrap> <em>object</em>          </td>
 
595
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
591
596
          <td class="md" nowrap></td>
592
597
        </tr>
593
 
 
594
 
      </table>
595
 
    </td>
596
 
  </tr>
597
 
</table>
598
 
<table cellspacing=5 cellpadding=0 border=0>
599
 
  <tr>
600
 
    <td>
601
 
      &nbsp;
602
 
    </td>
603
 
    <td>
604
 
 
605
 
<p>
606
 
Check a seektable to see if it conforms to the FLAC specification. See the format specification for limits on the contents of the seektable.<dl compact><dt><b>
607
 
Parameters: </b><dd>
608
 
<table border=0 cellspacing=2 cellpadding=0>
609
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
610
 
A pointer to an existing SEEKTABLE object. </td></tr>
611
 
</table>
612
 
</dl><dl compact><dt><b>
613
 
Assertions:</b><dd>
614
 
 <div class="fragment"><pre>object != NULL 
615
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a100">FLAC__METADATA_TYPE_SEEKTABLE</a> 
616
 
</pre></div> </dl><dl compact><dt><b>
617
 
Return values: </b><dd>
618
 
<table border=0 cellspacing=2 cellpadding=0>
619
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
620
 
<code>false</code> if seek table is illegal, else <code>true</code>. </td></tr>
621
 
</table>
622
 
</dl>    </td>
623
 
  </tr>
624
 
</table>
625
 
<a name="a10" doxytag="metadata.h::FLAC__metadata_object_seektable_template_append_placeholders"></a><p>
626
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
627
 
  <tr>
628
 
    <td class="md">
629
 
      <table cellpadding="0" cellspacing="0" border="0">
630
 
        <tr>
631
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_seektable_template_append_placeholders </td>
632
 
          <td class="md" valign="top">(&nbsp;</td>
633
 
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
634
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
635
 
        </tr>
636
 
        <tr>
637
 
          <td></td>
638
 
          <td></td>
639
 
          <td class="md" nowrap>unsigned&nbsp;</td>
640
 
          <td class="mdname" nowrap>&nbsp; <em>num</em></td>
641
 
        </tr>
642
 
        <tr>
643
 
          <td></td>
644
 
          <td class="md">)&nbsp;</td>
645
 
          <td class="md" colspan="2"></td>
646
 
        </tr>
647
 
 
648
 
      </table>
649
 
    </td>
650
 
  </tr>
651
 
</table>
652
 
<table cellspacing=5 cellpadding=0 border=0>
653
 
  <tr>
654
 
    <td>
655
 
      &nbsp;
656
 
    </td>
657
 
    <td>
658
 
 
659
 
<p>
660
 
Append a number of placeholder points to the end of a seek table.
661
 
<p>
662
 
<dl compact><dt><b>
663
 
Note: </b><dd>
664
 
 As with the other ..._seektable_template_... functions, you should call <a class="el" href="group__flac__metadata__object.html#a14">FLAC__metadata_object_seektable_template_sort</a>() when finished to make the seek table legal.</dl><dl compact><dt><b>
665
 
Parameters: </b><dd>
666
 
<table border=0 cellspacing=2 cellpadding=0>
667
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
668
 
A pointer to an existing SEEKTABLE object. </td></tr>
669
 
<tr><td valign=top><em>num</em>&nbsp;</td><td>
670
 
The number of placeholder points to append. </td></tr>
671
 
</table>
672
 
</dl><dl compact><dt><b>
673
 
Assertions:</b><dd>
674
 
 <div class="fragment"><pre>object != NULL 
675
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a100">FLAC__METADATA_TYPE_SEEKTABLE</a> 
676
 
</pre></div> </dl><dl compact><dt><b>
677
 
Return values: </b><dd>
678
 
<table border=0 cellspacing=2 cellpadding=0>
679
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
680
 
<code>false</code> if memory allocation fails, else <code>true</code>. </td></tr>
681
 
</table>
682
 
</dl>    </td>
683
 
  </tr>
684
 
</table>
685
 
<a name="a11" doxytag="metadata.h::FLAC__metadata_object_seektable_template_append_point"></a><p>
686
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
687
 
  <tr>
688
 
    <td class="md">
689
 
      <table cellpadding="0" cellspacing="0" border="0">
690
 
        <tr>
691
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_seektable_template_append_point </td>
692
 
          <td class="md" valign="top">(&nbsp;</td>
693
 
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
694
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
695
 
        </tr>
696
 
        <tr>
697
 
          <td></td>
698
 
          <td></td>
699
 
          <td class="md" nowrap>FLAC__uint64&nbsp;</td>
700
 
          <td class="mdname" nowrap>&nbsp; <em>sample_number</em></td>
701
 
        </tr>
702
 
        <tr>
703
 
          <td></td>
704
 
          <td class="md">)&nbsp;</td>
705
 
          <td class="md" colspan="2"></td>
706
 
        </tr>
707
 
 
708
 
      </table>
709
 
    </td>
710
 
  </tr>
711
 
</table>
712
 
<table cellspacing=5 cellpadding=0 border=0>
713
 
  <tr>
714
 
    <td>
715
 
      &nbsp;
716
 
    </td>
717
 
    <td>
718
 
 
719
 
<p>
720
 
Append a specific seek point template to the end of a seek table.
721
 
<p>
722
 
<dl compact><dt><b>
723
 
Note: </b><dd>
724
 
 As with the other ..._seektable_template_... functions, you should call <a class="el" href="group__flac__metadata__object.html#a14">FLAC__metadata_object_seektable_template_sort</a>() when finished to make the seek table legal.</dl><dl compact><dt><b>
725
 
Parameters: </b><dd>
726
 
<table border=0 cellspacing=2 cellpadding=0>
727
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
728
 
A pointer to an existing SEEKTABLE object. </td></tr>
729
 
<tr><td valign=top><em>sample_number</em>&nbsp;</td><td>
730
 
The sample number of the seek point template. </td></tr>
731
 
</table>
732
 
</dl><dl compact><dt><b>
733
 
Assertions:</b><dd>
734
 
 <div class="fragment"><pre>object != NULL 
735
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a100">FLAC__METADATA_TYPE_SEEKTABLE</a> 
736
 
</pre></div> </dl><dl compact><dt><b>
737
 
Return values: </b><dd>
738
 
<table border=0 cellspacing=2 cellpadding=0>
739
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
740
 
<code>false</code> if memory allocation fails, else <code>true</code>. </td></tr>
741
 
</table>
742
 
</dl>    </td>
743
 
  </tr>
744
 
</table>
745
 
<a name="a12" doxytag="metadata.h::FLAC__metadata_object_seektable_template_append_points"></a><p>
746
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
747
 
  <tr>
748
 
    <td class="md">
749
 
      <table cellpadding="0" cellspacing="0" border="0">
750
 
        <tr>
751
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_seektable_template_append_points </td>
752
 
          <td class="md" valign="top">(&nbsp;</td>
753
 
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
754
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
755
 
        </tr>
756
 
        <tr>
757
 
          <td></td>
758
 
          <td></td>
759
 
          <td class="md" nowrap>FLAC__uint64&nbsp;</td>
760
 
          <td class="mdname" nowrap>&nbsp; <em>sample_numbers</em>[], </td>
761
 
        </tr>
762
 
        <tr>
763
 
          <td></td>
764
 
          <td></td>
765
 
          <td class="md" nowrap>unsigned&nbsp;</td>
766
 
          <td class="mdname" nowrap>&nbsp; <em>num</em></td>
767
 
        </tr>
768
 
        <tr>
769
 
          <td></td>
770
 
          <td class="md">)&nbsp;</td>
771
 
          <td class="md" colspan="2"></td>
772
 
        </tr>
773
 
 
774
 
      </table>
775
 
    </td>
776
 
  </tr>
777
 
</table>
778
 
<table cellspacing=5 cellpadding=0 border=0>
779
 
  <tr>
780
 
    <td>
781
 
      &nbsp;
782
 
    </td>
783
 
    <td>
784
 
 
785
 
<p>
786
 
Append specific seek point templates to the end of a seek table.
787
 
<p>
788
 
<dl compact><dt><b>
789
 
Note: </b><dd>
790
 
 As with the other ..._seektable_template_... functions, you should call <a class="el" href="group__flac__metadata__object.html#a14">FLAC__metadata_object_seektable_template_sort</a>() when finished to make the seek table legal.</dl><dl compact><dt><b>
791
 
Parameters: </b><dd>
792
 
<table border=0 cellspacing=2 cellpadding=0>
793
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
794
 
A pointer to an existing SEEKTABLE object. </td></tr>
795
 
<tr><td valign=top><em>sample_numbers</em>&nbsp;</td><td>
796
 
An array of sample numbers for the seek points. </td></tr>
797
 
<tr><td valign=top><em>num</em>&nbsp;</td><td>
798
 
The number of seek point templates to append. </td></tr>
799
 
</table>
800
 
</dl><dl compact><dt><b>
801
 
Assertions:</b><dd>
802
 
 <div class="fragment"><pre>object != NULL 
803
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a100">FLAC__METADATA_TYPE_SEEKTABLE</a> 
804
 
</pre></div> </dl><dl compact><dt><b>
805
 
Return values: </b><dd>
806
 
<table border=0 cellspacing=2 cellpadding=0>
807
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
808
 
<code>false</code> if memory allocation fails, else <code>true</code>. </td></tr>
809
 
</table>
810
 
</dl>    </td>
811
 
  </tr>
812
 
</table>
813
 
<a name="a13" doxytag="metadata.h::FLAC__metadata_object_seektable_template_append_spaced_points"></a><p>
814
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
815
 
  <tr>
816
 
    <td class="md">
817
 
      <table cellpadding="0" cellspacing="0" border="0">
818
 
        <tr>
819
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_seektable_template_append_spaced_points </td>
820
 
          <td class="md" valign="top">(&nbsp;</td>
821
 
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
822
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
823
 
        </tr>
824
 
        <tr>
825
 
          <td></td>
826
 
          <td></td>
827
 
          <td class="md" nowrap>unsigned&nbsp;</td>
828
 
          <td class="mdname" nowrap>&nbsp; <em>num</em>, </td>
829
 
        </tr>
830
 
        <tr>
831
 
          <td></td>
832
 
          <td></td>
833
 
          <td class="md" nowrap>FLAC__uint64&nbsp;</td>
834
 
          <td class="mdname" nowrap>&nbsp; <em>total_samples</em></td>
835
 
        </tr>
836
 
        <tr>
837
 
          <td></td>
838
 
          <td class="md">)&nbsp;</td>
839
 
          <td class="md" colspan="2"></td>
840
 
        </tr>
841
 
 
842
 
      </table>
843
 
    </td>
844
 
  </tr>
845
 
</table>
846
 
<table cellspacing=5 cellpadding=0 border=0>
847
 
  <tr>
848
 
    <td>
849
 
      &nbsp;
850
 
    </td>
851
 
    <td>
852
 
 
853
 
<p>
854
 
Append a set of evenly-spaced seek point templates to the end of a seek table.
855
 
<p>
856
 
<dl compact><dt><b>
857
 
Note: </b><dd>
858
 
 As with the other ..._seektable_template_... functions, you should call <a class="el" href="group__flac__metadata__object.html#a14">FLAC__metadata_object_seektable_template_sort</a>() when finished to make the seek table legal.</dl><dl compact><dt><b>
859
 
Parameters: </b><dd>
860
 
<table border=0 cellspacing=2 cellpadding=0>
861
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
862
 
A pointer to an existing SEEKTABLE object. </td></tr>
863
 
<tr><td valign=top><em>num</em>&nbsp;</td><td>
864
 
The number of placeholder points to append. </td></tr>
865
 
<tr><td valign=top><em>total_samples</em>&nbsp;</td><td>
866
 
The total number of samples to be encoded; the seekpoints will be spaced approximately <em>total_samples</em> / <em>num</em> samples apart. </td></tr>
867
 
</table>
868
 
</dl><dl compact><dt><b>
869
 
Assertions:</b><dd>
870
 
 <div class="fragment"><pre>object != NULL 
871
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a100">FLAC__METADATA_TYPE_SEEKTABLE</a> 
872
 
</pre></div> </dl><dl compact><dt><b>
873
 
Return values: </b><dd>
874
 
<table border=0 cellspacing=2 cellpadding=0>
875
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
876
 
<code>false</code> if memory allocation fails, else <code>true</code>. </td></tr>
877
 
</table>
878
 
</dl>    </td>
879
 
  </tr>
880
 
</table>
881
 
<a name="a14" doxytag="metadata.h::FLAC__metadata_object_seektable_template_sort"></a><p>
882
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
883
 
  <tr>
884
 
    <td class="md">
885
 
      <table cellpadding="0" cellspacing="0" border="0">
886
 
        <tr>
887
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_seektable_template_sort </td>
888
 
          <td class="md" valign="top">(&nbsp;</td>
889
 
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
890
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
891
 
        </tr>
892
 
        <tr>
893
 
          <td></td>
894
 
          <td></td>
 
598
      </table>
 
599
    </td>
 
600
  </tr>
 
601
</table>
 
602
<table cellspacing="5" cellpadding="0" border="0">
 
603
  <tr>
 
604
    <td>
 
605
      &nbsp;
 
606
    </td>
 
607
    <td>
 
608
 
 
609
<p>
 
610
Check a seektable to see if it conforms to the FLAC specification. See the format specification for limits on the contents of the seektable.<p>
 
611
<dl compact><dt><b>Parameters:</b></dt><dd>
 
612
  <table border="0" cellspacing="2" cellpadding="0">
 
613
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing SEEKTABLE object. </td></tr>
 
614
  </table>
 
615
</dl>
 
616
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
617
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a111">FLAC__METADATA_TYPE_SEEKTABLE</a> 
 
618
</pre></div> </dd></dl>
 
619
<dl compact><dt><b>Return values:</b></dt><dd>
 
620
  <table border="0" cellspacing="2" cellpadding="0">
 
621
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if seek table is illegal, else <code>true</code>. </td></tr>
 
622
  </table>
 
623
</dl>
 
624
    </td>
 
625
  </tr>
 
626
</table>
 
627
<a class="anchor" name="ga10" doxytag="metadata.h::FLAC__metadata_object_seektable_template_append_placeholders"></a><p>
 
628
<table class="mdTable" cellpadding="2" cellspacing="0">
 
629
  <tr>
 
630
    <td class="mdRow">
 
631
      <table cellpadding="0" cellspacing="0" border="0">
 
632
        <tr>
 
633
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_seektable_template_append_placeholders           </td>
 
634
          <td class="md" valign="top">(&nbsp;</td>
 
635
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
 
636
          <td class="mdname" nowrap> <em>object</em>, </td>
 
637
        </tr>
 
638
        <tr>
 
639
          <td class="md" nowrap align="right"></td>
 
640
          <td class="md"></td>
 
641
          <td class="md" nowrap>unsigned&nbsp;</td>
 
642
          <td class="mdname" nowrap> <em>num</em></td>
 
643
        </tr>
 
644
        <tr>
 
645
          <td class="md"></td>
 
646
          <td class="md">)&nbsp;</td>
 
647
          <td class="md" colspan="2"></td>
 
648
        </tr>
 
649
      </table>
 
650
    </td>
 
651
  </tr>
 
652
</table>
 
653
<table cellspacing="5" cellpadding="0" border="0">
 
654
  <tr>
 
655
    <td>
 
656
      &nbsp;
 
657
    </td>
 
658
    <td>
 
659
 
 
660
<p>
 
661
Append a number of placeholder points to the end of a seek table.<p>
 
662
<dl compact><dt><b>Note:</b></dt><dd>As with the other ..._seektable_template_... functions, you should call <a class="el" href="group__flac__metadata__object.html#ga15">FLAC__metadata_object_seektable_template_sort()</a> when finished to make the seek table legal.</dd></dl>
 
663
<dl compact><dt><b>Parameters:</b></dt><dd>
 
664
  <table border="0" cellspacing="2" cellpadding="0">
 
665
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing SEEKTABLE object. </td></tr>
 
666
    <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>The number of placeholder points to append. </td></tr>
 
667
  </table>
 
668
</dl>
 
669
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
670
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a111">FLAC__METADATA_TYPE_SEEKTABLE</a> 
 
671
</pre></div> </dd></dl>
 
672
<dl compact><dt><b>Return values:</b></dt><dd>
 
673
  <table border="0" cellspacing="2" cellpadding="0">
 
674
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation fails, else <code>true</code>. </td></tr>
 
675
  </table>
 
676
</dl>
 
677
    </td>
 
678
  </tr>
 
679
</table>
 
680
<a class="anchor" name="ga11" doxytag="metadata.h::FLAC__metadata_object_seektable_template_append_point"></a><p>
 
681
<table class="mdTable" cellpadding="2" cellspacing="0">
 
682
  <tr>
 
683
    <td class="mdRow">
 
684
      <table cellpadding="0" cellspacing="0" border="0">
 
685
        <tr>
 
686
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_seektable_template_append_point           </td>
 
687
          <td class="md" valign="top">(&nbsp;</td>
 
688
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
 
689
          <td class="mdname" nowrap> <em>object</em>, </td>
 
690
        </tr>
 
691
        <tr>
 
692
          <td class="md" nowrap align="right"></td>
 
693
          <td class="md"></td>
 
694
          <td class="md" nowrap>FLAC__uint64&nbsp;</td>
 
695
          <td class="mdname" nowrap> <em>sample_number</em></td>
 
696
        </tr>
 
697
        <tr>
 
698
          <td class="md"></td>
 
699
          <td class="md">)&nbsp;</td>
 
700
          <td class="md" colspan="2"></td>
 
701
        </tr>
 
702
      </table>
 
703
    </td>
 
704
  </tr>
 
705
</table>
 
706
<table cellspacing="5" cellpadding="0" border="0">
 
707
  <tr>
 
708
    <td>
 
709
      &nbsp;
 
710
    </td>
 
711
    <td>
 
712
 
 
713
<p>
 
714
Append a specific seek point template to the end of a seek table.<p>
 
715
<dl compact><dt><b>Note:</b></dt><dd>As with the other ..._seektable_template_... functions, you should call <a class="el" href="group__flac__metadata__object.html#ga15">FLAC__metadata_object_seektable_template_sort()</a> when finished to make the seek table legal.</dd></dl>
 
716
<dl compact><dt><b>Parameters:</b></dt><dd>
 
717
  <table border="0" cellspacing="2" cellpadding="0">
 
718
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing SEEKTABLE object. </td></tr>
 
719
    <tr><td valign="top"></td><td valign="top"><em>sample_number</em>&nbsp;</td><td>The sample number of the seek point template. </td></tr>
 
720
  </table>
 
721
</dl>
 
722
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
723
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a111">FLAC__METADATA_TYPE_SEEKTABLE</a> 
 
724
</pre></div> </dd></dl>
 
725
<dl compact><dt><b>Return values:</b></dt><dd>
 
726
  <table border="0" cellspacing="2" cellpadding="0">
 
727
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation fails, else <code>true</code>. </td></tr>
 
728
  </table>
 
729
</dl>
 
730
    </td>
 
731
  </tr>
 
732
</table>
 
733
<a class="anchor" name="ga12" doxytag="metadata.h::FLAC__metadata_object_seektable_template_append_points"></a><p>
 
734
<table class="mdTable" cellpadding="2" cellspacing="0">
 
735
  <tr>
 
736
    <td class="mdRow">
 
737
      <table cellpadding="0" cellspacing="0" border="0">
 
738
        <tr>
 
739
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_seektable_template_append_points           </td>
 
740
          <td class="md" valign="top">(&nbsp;</td>
 
741
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
 
742
          <td class="mdname" nowrap> <em>object</em>, </td>
 
743
        </tr>
 
744
        <tr>
 
745
          <td class="md" nowrap align="right"></td>
 
746
          <td class="md"></td>
 
747
          <td class="md" nowrap>FLAC__uint64&nbsp;</td>
 
748
          <td class="mdname" nowrap> <em>sample_numbers</em>[], </td>
 
749
        </tr>
 
750
        <tr>
 
751
          <td class="md" nowrap align="right"></td>
 
752
          <td class="md"></td>
 
753
          <td class="md" nowrap>unsigned&nbsp;</td>
 
754
          <td class="mdname" nowrap> <em>num</em></td>
 
755
        </tr>
 
756
        <tr>
 
757
          <td class="md"></td>
 
758
          <td class="md">)&nbsp;</td>
 
759
          <td class="md" colspan="2"></td>
 
760
        </tr>
 
761
      </table>
 
762
    </td>
 
763
  </tr>
 
764
</table>
 
765
<table cellspacing="5" cellpadding="0" border="0">
 
766
  <tr>
 
767
    <td>
 
768
      &nbsp;
 
769
    </td>
 
770
    <td>
 
771
 
 
772
<p>
 
773
Append specific seek point templates to the end of a seek table.<p>
 
774
<dl compact><dt><b>Note:</b></dt><dd>As with the other ..._seektable_template_... functions, you should call <a class="el" href="group__flac__metadata__object.html#ga15">FLAC__metadata_object_seektable_template_sort()</a> when finished to make the seek table legal.</dd></dl>
 
775
<dl compact><dt><b>Parameters:</b></dt><dd>
 
776
  <table border="0" cellspacing="2" cellpadding="0">
 
777
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing SEEKTABLE object. </td></tr>
 
778
    <tr><td valign="top"></td><td valign="top"><em>sample_numbers</em>&nbsp;</td><td>An array of sample numbers for the seek points. </td></tr>
 
779
    <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>The number of seek point templates to append. </td></tr>
 
780
  </table>
 
781
</dl>
 
782
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
783
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a111">FLAC__METADATA_TYPE_SEEKTABLE</a> 
 
784
</pre></div> </dd></dl>
 
785
<dl compact><dt><b>Return values:</b></dt><dd>
 
786
  <table border="0" cellspacing="2" cellpadding="0">
 
787
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation fails, else <code>true</code>. </td></tr>
 
788
  </table>
 
789
</dl>
 
790
    </td>
 
791
  </tr>
 
792
</table>
 
793
<a class="anchor" name="ga13" doxytag="metadata.h::FLAC__metadata_object_seektable_template_append_spaced_points"></a><p>
 
794
<table class="mdTable" cellpadding="2" cellspacing="0">
 
795
  <tr>
 
796
    <td class="mdRow">
 
797
      <table cellpadding="0" cellspacing="0" border="0">
 
798
        <tr>
 
799
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_seektable_template_append_spaced_points           </td>
 
800
          <td class="md" valign="top">(&nbsp;</td>
 
801
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
 
802
          <td class="mdname" nowrap> <em>object</em>, </td>
 
803
        </tr>
 
804
        <tr>
 
805
          <td class="md" nowrap align="right"></td>
 
806
          <td class="md"></td>
 
807
          <td class="md" nowrap>unsigned&nbsp;</td>
 
808
          <td class="mdname" nowrap> <em>num</em>, </td>
 
809
        </tr>
 
810
        <tr>
 
811
          <td class="md" nowrap align="right"></td>
 
812
          <td class="md"></td>
 
813
          <td class="md" nowrap>FLAC__uint64&nbsp;</td>
 
814
          <td class="mdname" nowrap> <em>total_samples</em></td>
 
815
        </tr>
 
816
        <tr>
 
817
          <td class="md"></td>
 
818
          <td class="md">)&nbsp;</td>
 
819
          <td class="md" colspan="2"></td>
 
820
        </tr>
 
821
      </table>
 
822
    </td>
 
823
  </tr>
 
824
</table>
 
825
<table cellspacing="5" cellpadding="0" border="0">
 
826
  <tr>
 
827
    <td>
 
828
      &nbsp;
 
829
    </td>
 
830
    <td>
 
831
 
 
832
<p>
 
833
Append a set of evenly-spaced seek point templates to the end of a seek table.<p>
 
834
<dl compact><dt><b>Note:</b></dt><dd>As with the other ..._seektable_template_... functions, you should call <a class="el" href="group__flac__metadata__object.html#ga15">FLAC__metadata_object_seektable_template_sort()</a> when finished to make the seek table legal.</dd></dl>
 
835
<dl compact><dt><b>Parameters:</b></dt><dd>
 
836
  <table border="0" cellspacing="2" cellpadding="0">
 
837
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing SEEKTABLE object. </td></tr>
 
838
    <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>The number of placeholder points to append. </td></tr>
 
839
    <tr><td valign="top"></td><td valign="top"><em>total_samples</em>&nbsp;</td><td>The total number of samples to be encoded; the seekpoints will be spaced approximately <em>total_samples</em> / <em>num</em> samples apart. </td></tr>
 
840
  </table>
 
841
</dl>
 
842
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
843
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a111">FLAC__METADATA_TYPE_SEEKTABLE</a> 
 
844
</pre></div> <div class="fragment"><pre class="fragment"> total_samples &gt; 0 
 
845
</pre></div> </dd></dl>
 
846
<dl compact><dt><b>Return values:</b></dt><dd>
 
847
  <table border="0" cellspacing="2" cellpadding="0">
 
848
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation fails, else <code>true</code>. </td></tr>
 
849
  </table>
 
850
</dl>
 
851
    </td>
 
852
  </tr>
 
853
</table>
 
854
<a class="anchor" name="ga14" doxytag="metadata.h::FLAC__metadata_object_seektable_template_append_spaced_points_by_samples"></a><p>
 
855
<table class="mdTable" cellpadding="2" cellspacing="0">
 
856
  <tr>
 
857
    <td class="mdRow">
 
858
      <table cellpadding="0" cellspacing="0" border="0">
 
859
        <tr>
 
860
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_seektable_template_append_spaced_points_by_samples           </td>
 
861
          <td class="md" valign="top">(&nbsp;</td>
 
862
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
 
863
          <td class="mdname" nowrap> <em>object</em>, </td>
 
864
        </tr>
 
865
        <tr>
 
866
          <td class="md" nowrap align="right"></td>
 
867
          <td class="md"></td>
 
868
          <td class="md" nowrap>unsigned&nbsp;</td>
 
869
          <td class="mdname" nowrap> <em>samples</em>, </td>
 
870
        </tr>
 
871
        <tr>
 
872
          <td class="md" nowrap align="right"></td>
 
873
          <td class="md"></td>
 
874
          <td class="md" nowrap>FLAC__uint64&nbsp;</td>
 
875
          <td class="mdname" nowrap> <em>total_samples</em></td>
 
876
        </tr>
 
877
        <tr>
 
878
          <td class="md"></td>
 
879
          <td class="md">)&nbsp;</td>
 
880
          <td class="md" colspan="2"></td>
 
881
        </tr>
 
882
      </table>
 
883
    </td>
 
884
  </tr>
 
885
</table>
 
886
<table cellspacing="5" cellpadding="0" border="0">
 
887
  <tr>
 
888
    <td>
 
889
      &nbsp;
 
890
    </td>
 
891
    <td>
 
892
 
 
893
<p>
 
894
Append a set of evenly-spaced seek point templates to the end of a seek table.<p>
 
895
<dl compact><dt><b>Note:</b></dt><dd>As with the other ..._seektable_template_... functions, you should call <a class="el" href="group__flac__metadata__object.html#ga15">FLAC__metadata_object_seektable_template_sort()</a> when finished to make the seek table legal.</dd></dl>
 
896
<dl compact><dt><b>Parameters:</b></dt><dd>
 
897
  <table border="0" cellspacing="2" cellpadding="0">
 
898
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing SEEKTABLE object. </td></tr>
 
899
    <tr><td valign="top"></td><td valign="top"><em>samples</em>&nbsp;</td><td>The number of samples apart to space the placeholder points. The first point will be at sample <code>0</code>, the second at sample <em>samples</em>, then 2*<em>samples</em>, and so on. As long as <em>samples</em> and <em>total_samples</em> are greater than <code>0</code>, there will always be at least one seekpoint at sample <code>0</code>. </td></tr>
 
900
    <tr><td valign="top"></td><td valign="top"><em>total_samples</em>&nbsp;</td><td>The total number of samples to be encoded; the seekpoints will be spaced <em>samples</em> samples apart. </td></tr>
 
901
  </table>
 
902
</dl>
 
903
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
904
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a111">FLAC__METADATA_TYPE_SEEKTABLE</a> 
 
905
</pre></div> <div class="fragment"><pre class="fragment"> samples &gt; 0 
 
906
</pre></div> <div class="fragment"><pre class="fragment"> total_samples &gt; 0 
 
907
</pre></div> </dd></dl>
 
908
<dl compact><dt><b>Return values:</b></dt><dd>
 
909
  <table border="0" cellspacing="2" cellpadding="0">
 
910
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation fails, else <code>true</code>. </td></tr>
 
911
  </table>
 
912
</dl>
 
913
    </td>
 
914
  </tr>
 
915
</table>
 
916
<a class="anchor" name="ga15" doxytag="metadata.h::FLAC__metadata_object_seektable_template_sort"></a><p>
 
917
<table class="mdTable" cellpadding="2" cellspacing="0">
 
918
  <tr>
 
919
    <td class="mdRow">
 
920
      <table cellpadding="0" cellspacing="0" border="0">
 
921
        <tr>
 
922
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_seektable_template_sort           </td>
 
923
          <td class="md" valign="top">(&nbsp;</td>
 
924
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
 
925
          <td class="mdname" nowrap> <em>object</em>, </td>
 
926
        </tr>
 
927
        <tr>
 
928
          <td class="md" nowrap align="right"></td>
 
929
          <td class="md"></td>
895
930
          <td class="md" nowrap>FLAC__bool&nbsp;</td>
896
 
          <td class="mdname" nowrap>&nbsp; <em>compact</em></td>
 
931
          <td class="mdname" nowrap> <em>compact</em></td>
897
932
        </tr>
898
933
        <tr>
899
 
          <td></td>
 
934
          <td class="md"></td>
900
935
          <td class="md">)&nbsp;</td>
901
936
          <td class="md" colspan="2"></td>
902
937
        </tr>
903
 
 
904
938
      </table>
905
939
    </td>
906
940
  </tr>
907
941
</table>
908
 
<table cellspacing=5 cellpadding=0 border=0>
 
942
<table cellspacing="5" cellpadding="0" border="0">
909
943
  <tr>
910
944
    <td>
911
945
      &nbsp;
913
947
    <td>
914
948
 
915
949
<p>
916
 
Sort a seek table's seek points according to the format specification, removing duplicates.<dl compact><dt><b>
917
 
Parameters: </b><dd>
918
 
<table border=0 cellspacing=2 cellpadding=0>
919
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
920
 
A pointer to a seek table to be sorted. </td></tr>
921
 
<tr><td valign=top><em>compact</em>&nbsp;</td><td>
922
 
If <code>false</code>, behaves like <a class="el" href="group__flac__format.html#a73">FLAC__format_seektable_sort</a>(). If <code>true</code>, duplicates are deleted and the seek table is shrunk appropriately; the number of placeholder points present in the seek table will be the same after the call as before. </td></tr>
923
 
</table>
924
 
</dl><dl compact><dt><b>
925
 
Assertions:</b><dd>
926
 
 <div class="fragment"><pre>object != NULL 
927
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a100">FLAC__METADATA_TYPE_SEEKTABLE</a> 
928
 
</pre></div> </dl><dl compact><dt><b>
929
 
Return values: </b><dd>
930
 
<table border=0 cellspacing=2 cellpadding=0>
931
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
932
 
<code>false</code> if realloc() fails, else <code>true</code>. </td></tr>
933
 
</table>
934
 
</dl>    </td>
 
950
Sort a seek table's seek points according to the format specification, removing duplicates.<p>
 
951
<dl compact><dt><b>Parameters:</b></dt><dd>
 
952
  <table border="0" cellspacing="2" cellpadding="0">
 
953
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to a seek table to be sorted. </td></tr>
 
954
    <tr><td valign="top"></td><td valign="top"><em>compact</em>&nbsp;</td><td>If <code>false</code>, behaves like <a class="el" href="group__flac__format.html#ga82">FLAC__format_seektable_sort()</a>. If <code>true</code>, duplicates are deleted and the seek table is shrunk appropriately; the number of placeholder points present in the seek table will be the same after the call as before. </td></tr>
 
955
  </table>
 
956
</dl>
 
957
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
958
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a111">FLAC__METADATA_TYPE_SEEKTABLE</a> 
 
959
</pre></div> </dd></dl>
 
960
<dl compact><dt><b>Return values:</b></dt><dd>
 
961
  <table border="0" cellspacing="2" cellpadding="0">
 
962
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if realloc() fails, else <code>true</code>. </td></tr>
 
963
  </table>
 
964
</dl>
 
965
    </td>
935
966
  </tr>
936
967
</table>
937
 
<a name="a15" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_set_vendor_string"></a><p>
938
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
 
968
<a class="anchor" name="ga16" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_set_vendor_string"></a><p>
 
969
<table class="mdTable" cellpadding="2" cellspacing="0">
939
970
  <tr>
940
 
    <td class="md">
 
971
    <td class="mdRow">
941
972
      <table cellpadding="0" cellspacing="0" border="0">
942
973
        <tr>
943
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_vorbiscomment_set_vendor_string </td>
 
974
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_vorbiscomment_set_vendor_string           </td>
944
975
          <td class="md" valign="top">(&nbsp;</td>
945
976
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
946
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
 
977
          <td class="mdname" nowrap> <em>object</em>, </td>
947
978
        </tr>
948
979
        <tr>
949
 
          <td></td>
950
 
          <td></td>
 
980
          <td class="md" nowrap align="right"></td>
 
981
          <td class="md"></td>
951
982
          <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>&nbsp;</td>
952
 
          <td class="mdname" nowrap>&nbsp; <em>entry</em>, </td>
 
983
          <td class="mdname" nowrap> <em>entry</em>, </td>
953
984
        </tr>
954
985
        <tr>
955
 
          <td></td>
956
 
          <td></td>
 
986
          <td class="md" nowrap align="right"></td>
 
987
          <td class="md"></td>
957
988
          <td class="md" nowrap>FLAC__bool&nbsp;</td>
958
 
          <td class="mdname" nowrap>&nbsp; <em>copy</em></td>
 
989
          <td class="mdname" nowrap> <em>copy</em></td>
959
990
        </tr>
960
991
        <tr>
961
 
          <td></td>
 
992
          <td class="md"></td>
962
993
          <td class="md">)&nbsp;</td>
963
994
          <td class="md" colspan="2"></td>
964
995
        </tr>
965
 
 
966
996
      </table>
967
997
    </td>
968
998
  </tr>
969
999
</table>
970
 
<table cellspacing=5 cellpadding=0 border=0>
 
1000
<table cellspacing="5" cellpadding="0" border="0">
971
1001
  <tr>
972
1002
    <td>
973
1003
      &nbsp;
975
1005
    <td>
976
1006
 
977
1007
<p>
978
 
Sets the vendor string in a VORBIS_COMMENT block.
979
 
<p>
980
 
For convenience, a trailing NUL is added to the entry if it doesn't have one already.
981
 
<p>
982
 
If <em>copy</em> is <code>true</code>, a copy of the entry is stored; otherwise, the object takes ownership of the <code>entry.entry</code> pointer.
983
 
<p>
984
 
<dl compact><dt><b>
985
 
Note: </b><dd>
986
 
If this function returns <code>false</code>, the caller still owns the pointer.</dl><dl compact><dt><b>
987
 
Parameters: </b><dd>
988
 
<table border=0 cellspacing=2 cellpadding=0>
989
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
990
 
A pointer to an existing VORBIS_COMMENT object. </td></tr>
991
 
<tr><td valign=top><em>entry</em>&nbsp;</td><td>
992
 
The entry to set the vendor string to. </td></tr>
993
 
<tr><td valign=top><em>copy</em>&nbsp;</td><td>
994
 
See above. </td></tr>
995
 
</table>
996
 
</dl><dl compact><dt><b>
997
 
Assertions:</b><dd>
998
 
 <div class="fragment"><pre>object != NULL 
999
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a101">FLAC__METADATA_TYPE_VORBIS_COMMENT</a> 
1000
 
</pre></div> <div class="fragment"><pre>(entry.entry != NULL &amp;&amp; entry.length &gt; 0) ||
 
1008
Sets the vendor string in a VORBIS_COMMENT block.<p>
 
1009
For convenience, a trailing NUL is added to the entry if it doesn't have one already.<p>
 
1010
If <em>copy</em> is <code>true</code>, a copy of the entry is stored; otherwise, the object takes ownership of the <code>entry.entry</code> pointer.<p>
 
1011
<dl compact><dt><b>Note:</b></dt><dd>If this function returns <code>false</code>, the caller still owns the pointer.</dd></dl>
 
1012
<dl compact><dt><b>Parameters:</b></dt><dd>
 
1013
  <table border="0" cellspacing="2" cellpadding="0">
 
1014
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing VORBIS_COMMENT object. </td></tr>
 
1015
    <tr><td valign="top"></td><td valign="top"><em>entry</em>&nbsp;</td><td>The entry to set the vendor string to. </td></tr>
 
1016
    <tr><td valign="top"></td><td valign="top"><em>copy</em>&nbsp;</td><td>See above. </td></tr>
 
1017
  </table>
 
1018
</dl>
 
1019
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
1020
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a112">FLAC__METADATA_TYPE_VORBIS_COMMENT</a> 
 
1021
</pre></div> <div class="fragment"><pre class="fragment"> (entry.entry != NULL &amp;&amp; entry.length &gt; 0) ||
1001
1022
 (entry.entry == NULL &amp;&amp; entry.length == 0) 
1002
 
</pre></div> </dl><dl compact><dt><b>
1003
 
Return values: </b><dd>
1004
 
<table border=0 cellspacing=2 cellpadding=0>
1005
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
1006
 
<code>false</code> if memory allocation fails or <em>entry</em> does not comply with the Vorbis comment specification, else <code>true</code>. </td></tr>
1007
 
</table>
1008
 
</dl>    </td>
 
1023
</pre></div> </dd></dl>
 
1024
<dl compact><dt><b>Return values:</b></dt><dd>
 
1025
  <table border="0" cellspacing="2" cellpadding="0">
 
1026
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation fails or <em>entry</em> does not comply with the Vorbis comment specification, else <code>true</code>. </td></tr>
 
1027
  </table>
 
1028
</dl>
 
1029
    </td>
1009
1030
  </tr>
1010
1031
</table>
1011
 
<a name="a16" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_resize_comments"></a><p>
1012
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
 
1032
<a class="anchor" name="ga17" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_resize_comments"></a><p>
 
1033
<table class="mdTable" cellpadding="2" cellspacing="0">
1013
1034
  <tr>
1014
 
    <td class="md">
 
1035
    <td class="mdRow">
1015
1036
      <table cellpadding="0" cellspacing="0" border="0">
1016
1037
        <tr>
1017
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_vorbiscomment_resize_comments </td>
 
1038
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_vorbiscomment_resize_comments           </td>
1018
1039
          <td class="md" valign="top">(&nbsp;</td>
1019
1040
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
1020
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
 
1041
          <td class="mdname" nowrap> <em>object</em>, </td>
1021
1042
        </tr>
1022
1043
        <tr>
1023
 
          <td></td>
1024
 
          <td></td>
 
1044
          <td class="md" nowrap align="right"></td>
 
1045
          <td class="md"></td>
1025
1046
          <td class="md" nowrap>unsigned&nbsp;</td>
1026
 
          <td class="mdname" nowrap>&nbsp; <em>new_num_comments</em></td>
 
1047
          <td class="mdname" nowrap> <em>new_num_comments</em></td>
1027
1048
        </tr>
1028
1049
        <tr>
1029
 
          <td></td>
 
1050
          <td class="md"></td>
1030
1051
          <td class="md">)&nbsp;</td>
1031
1052
          <td class="md" colspan="2"></td>
1032
1053
        </tr>
1033
 
 
1034
1054
      </table>
1035
1055
    </td>
1036
1056
  </tr>
1037
1057
</table>
1038
 
<table cellspacing=5 cellpadding=0 border=0>
 
1058
<table cellspacing="5" cellpadding="0" border="0">
1039
1059
  <tr>
1040
1060
    <td>
1041
1061
      &nbsp;
1043
1063
    <td>
1044
1064
 
1045
1065
<p>
1046
 
Resize the comment array.
1047
 
<p>
1048
 
If the size shrinks, elements will truncated; if it grows, new empty fields will be added to the end.<dl compact><dt><b>
1049
 
Parameters: </b><dd>
1050
 
<table border=0 cellspacing=2 cellpadding=0>
1051
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
1052
 
A pointer to an existing VORBIS_COMMENT object. </td></tr>
1053
 
<tr><td valign=top><em>new_num_comments</em>&nbsp;</td><td>
1054
 
The desired length of the array; may be <code>0</code>. </td></tr>
1055
 
</table>
1056
 
</dl><dl compact><dt><b>
1057
 
Assertions:</b><dd>
1058
 
 <div class="fragment"><pre>object != NULL 
1059
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a101">FLAC__METADATA_TYPE_VORBIS_COMMENT</a> 
1060
 
</pre></div> <div class="fragment"><pre>(object-&gt;data.vorbis_comment.comments == NULL &amp;&amp; object-&gt;data.vorbis_comment.num_comments == 0) ||
 
1066
Resize the comment array.<p>
 
1067
If the size shrinks, elements will truncated; if it grows, new empty fields will be added to the end.<p>
 
1068
<dl compact><dt><b>Parameters:</b></dt><dd>
 
1069
  <table border="0" cellspacing="2" cellpadding="0">
 
1070
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing VORBIS_COMMENT object. </td></tr>
 
1071
    <tr><td valign="top"></td><td valign="top"><em>new_num_comments</em>&nbsp;</td><td>The desired length of the array; may be <code>0</code>. </td></tr>
 
1072
  </table>
 
1073
</dl>
 
1074
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
1075
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a112">FLAC__METADATA_TYPE_VORBIS_COMMENT</a> 
 
1076
</pre></div> <div class="fragment"><pre class="fragment"> (object-&gt;data.vorbis_comment.comments == NULL &amp;&amp; object-&gt;data.vorbis_comment.num_comments == 0) ||
1061
1077
 (object-&gt;data.vorbis_comment.comments != NULL &amp;&amp; object-&gt;data.vorbis_comment.num_comments &gt; 0) 
1062
 
</pre></div> </dl><dl compact><dt><b>
1063
 
Return values: </b><dd>
1064
 
<table border=0 cellspacing=2 cellpadding=0>
1065
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
1066
 
<code>false</code> if memory allocation fails, else <code>true</code>. </td></tr>
1067
 
</table>
1068
 
</dl>    </td>
 
1078
</pre></div> </dd></dl>
 
1079
<dl compact><dt><b>Return values:</b></dt><dd>
 
1080
  <table border="0" cellspacing="2" cellpadding="0">
 
1081
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation fails, else <code>true</code>. </td></tr>
 
1082
  </table>
 
1083
</dl>
 
1084
    </td>
1069
1085
  </tr>
1070
1086
</table>
1071
 
<a name="a17" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_set_comment"></a><p>
1072
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
 
1087
<a class="anchor" name="ga18" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_set_comment"></a><p>
 
1088
<table class="mdTable" cellpadding="2" cellspacing="0">
1073
1089
  <tr>
1074
 
    <td class="md">
 
1090
    <td class="mdRow">
1075
1091
      <table cellpadding="0" cellspacing="0" border="0">
1076
1092
        <tr>
1077
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_vorbiscomment_set_comment </td>
 
1093
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_vorbiscomment_set_comment           </td>
1078
1094
          <td class="md" valign="top">(&nbsp;</td>
1079
1095
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
1080
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
 
1096
          <td class="mdname" nowrap> <em>object</em>, </td>
1081
1097
        </tr>
1082
1098
        <tr>
1083
 
          <td></td>
1084
 
          <td></td>
 
1099
          <td class="md" nowrap align="right"></td>
 
1100
          <td class="md"></td>
1085
1101
          <td class="md" nowrap>unsigned&nbsp;</td>
1086
 
          <td class="mdname" nowrap>&nbsp; <em>comment_num</em>, </td>
 
1102
          <td class="mdname" nowrap> <em>comment_num</em>, </td>
1087
1103
        </tr>
1088
1104
        <tr>
1089
 
          <td></td>
1090
 
          <td></td>
 
1105
          <td class="md" nowrap align="right"></td>
 
1106
          <td class="md"></td>
1091
1107
          <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>&nbsp;</td>
1092
 
          <td class="mdname" nowrap>&nbsp; <em>entry</em>, </td>
 
1108
          <td class="mdname" nowrap> <em>entry</em>, </td>
1093
1109
        </tr>
1094
1110
        <tr>
1095
 
          <td></td>
1096
 
          <td></td>
 
1111
          <td class="md" nowrap align="right"></td>
 
1112
          <td class="md"></td>
1097
1113
          <td class="md" nowrap>FLAC__bool&nbsp;</td>
1098
 
          <td class="mdname" nowrap>&nbsp; <em>copy</em></td>
 
1114
          <td class="mdname" nowrap> <em>copy</em></td>
1099
1115
        </tr>
1100
1116
        <tr>
1101
 
          <td></td>
 
1117
          <td class="md"></td>
1102
1118
          <td class="md">)&nbsp;</td>
1103
1119
          <td class="md" colspan="2"></td>
1104
1120
        </tr>
1105
 
 
1106
1121
      </table>
1107
1122
    </td>
1108
1123
  </tr>
1109
1124
</table>
1110
 
<table cellspacing=5 cellpadding=0 border=0>
 
1125
<table cellspacing="5" cellpadding="0" border="0">
1111
1126
  <tr>
1112
1127
    <td>
1113
1128
      &nbsp;
1115
1130
    <td>
1116
1131
 
1117
1132
<p>
1118
 
Sets a comment in a VORBIS_COMMENT block.
1119
 
<p>
1120
 
For convenience, a trailing NUL is added to the entry if it doesn't have one already.
1121
 
<p>
1122
 
If <em>copy</em> is <code>true</code>, a copy of the entry is stored; otherwise, the object takes ownership of the <code>entry.entry</code> pointer.
1123
 
<p>
1124
 
<dl compact><dt><b>
1125
 
Note: </b><dd>
1126
 
If this function returns <code>false</code>, the caller still owns the pointer.</dl><dl compact><dt><b>
1127
 
Parameters: </b><dd>
1128
 
<table border=0 cellspacing=2 cellpadding=0>
1129
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
1130
 
A pointer to an existing VORBIS_COMMENT object. </td></tr>
1131
 
<tr><td valign=top><em>comment_num</em>&nbsp;</td><td>
1132
 
Index into comment array to set. </td></tr>
1133
 
<tr><td valign=top><em>entry</em>&nbsp;</td><td>
1134
 
The entry to set the comment to. </td></tr>
1135
 
<tr><td valign=top><em>copy</em>&nbsp;</td><td>
1136
 
See above. </td></tr>
1137
 
</table>
1138
 
</dl><dl compact><dt><b>
1139
 
Assertions:</b><dd>
1140
 
 <div class="fragment"><pre>object != NULL 
1141
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a101">FLAC__METADATA_TYPE_VORBIS_COMMENT</a> 
1142
 
</pre></div> <div class="fragment"><pre>comment_num &lt; object-&gt;data.vorbis_comment.num_comments 
1143
 
</pre></div> <div class="fragment"><pre>(entry.entry != NULL &amp;&amp; entry.length &gt; 0) ||
 
1133
Sets a comment in a VORBIS_COMMENT block.<p>
 
1134
For convenience, a trailing NUL is added to the entry if it doesn't have one already.<p>
 
1135
If <em>copy</em> is <code>true</code>, a copy of the entry is stored; otherwise, the object takes ownership of the <code>entry.entry</code> pointer.<p>
 
1136
<dl compact><dt><b>Note:</b></dt><dd>If this function returns <code>false</code>, the caller still owns the pointer.</dd></dl>
 
1137
<dl compact><dt><b>Parameters:</b></dt><dd>
 
1138
  <table border="0" cellspacing="2" cellpadding="0">
 
1139
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing VORBIS_COMMENT object. </td></tr>
 
1140
    <tr><td valign="top"></td><td valign="top"><em>comment_num</em>&nbsp;</td><td>Index into comment array to set. </td></tr>
 
1141
    <tr><td valign="top"></td><td valign="top"><em>entry</em>&nbsp;</td><td>The entry to set the comment to. </td></tr>
 
1142
    <tr><td valign="top"></td><td valign="top"><em>copy</em>&nbsp;</td><td>See above. </td></tr>
 
1143
  </table>
 
1144
</dl>
 
1145
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
1146
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a112">FLAC__METADATA_TYPE_VORBIS_COMMENT</a> 
 
1147
</pre></div> <div class="fragment"><pre class="fragment"> comment_num &lt; object-&gt;data.vorbis_comment.num_comments 
 
1148
</pre></div> <div class="fragment"><pre class="fragment"> (entry.entry != NULL &amp;&amp; entry.length &gt; 0) ||
1144
1149
 (entry.entry == NULL &amp;&amp; entry.length == 0) 
1145
 
</pre></div> </dl><dl compact><dt><b>
1146
 
Return values: </b><dd>
1147
 
<table border=0 cellspacing=2 cellpadding=0>
1148
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
1149
 
<code>false</code> if memory allocation fails or <em>entry</em> does not comply with the Vorbis comment specification, else <code>true</code>. </td></tr>
1150
 
</table>
1151
 
</dl>    </td>
1152
 
  </tr>
1153
 
</table>
1154
 
<a name="a18" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_insert_comment"></a><p>
1155
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1156
 
  <tr>
1157
 
    <td class="md">
1158
 
      <table cellpadding="0" cellspacing="0" border="0">
1159
 
        <tr>
1160
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_vorbiscomment_insert_comment </td>
1161
 
          <td class="md" valign="top">(&nbsp;</td>
1162
 
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
1163
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
1164
 
        </tr>
1165
 
        <tr>
1166
 
          <td></td>
1167
 
          <td></td>
1168
 
          <td class="md" nowrap>unsigned&nbsp;</td>
1169
 
          <td class="mdname" nowrap>&nbsp; <em>comment_num</em>, </td>
1170
 
        </tr>
1171
 
        <tr>
1172
 
          <td></td>
1173
 
          <td></td>
1174
 
          <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>&nbsp;</td>
1175
 
          <td class="mdname" nowrap>&nbsp; <em>entry</em>, </td>
1176
 
        </tr>
1177
 
        <tr>
1178
 
          <td></td>
1179
 
          <td></td>
1180
 
          <td class="md" nowrap>FLAC__bool&nbsp;</td>
1181
 
          <td class="mdname" nowrap>&nbsp; <em>copy</em></td>
1182
 
        </tr>
1183
 
        <tr>
1184
 
          <td></td>
1185
 
          <td class="md">)&nbsp;</td>
1186
 
          <td class="md" colspan="2"></td>
1187
 
        </tr>
1188
 
 
1189
 
      </table>
1190
 
    </td>
1191
 
  </tr>
1192
 
</table>
1193
 
<table cellspacing=5 cellpadding=0 border=0>
1194
 
  <tr>
1195
 
    <td>
1196
 
      &nbsp;
1197
 
    </td>
1198
 
    <td>
1199
 
 
1200
 
<p>
1201
 
Insert a comment in a VORBIS_COMMENT block at the given index.
1202
 
<p>
1203
 
For convenience, a trailing NUL is added to the entry if it doesn't have one already.
1204
 
<p>
1205
 
If <em>copy</em> is <code>true</code>, a copy of the entry is stored; otherwise, the object takes ownership of the <code>entry.entry</code> pointer.
1206
 
<p>
1207
 
<dl compact><dt><b>
1208
 
Note: </b><dd>
1209
 
If this function returns <code>false</code>, the caller still owns the pointer.</dl><dl compact><dt><b>
1210
 
Parameters: </b><dd>
1211
 
<table border=0 cellspacing=2 cellpadding=0>
1212
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
1213
 
A pointer to an existing VORBIS_COMMENT object. </td></tr>
1214
 
<tr><td valign=top><em>comment_num</em>&nbsp;</td><td>
1215
 
The index at which to insert the comment. The comments at and after <em>comment_num</em> move right one position. To append a comment to the end, set <em>comment_num</em> to <code>object-&gt;data.vorbis_comment.num_comments</code> . </td></tr>
1216
 
<tr><td valign=top><em>entry</em>&nbsp;</td><td>
1217
 
The comment to insert. </td></tr>
1218
 
<tr><td valign=top><em>copy</em>&nbsp;</td><td>
1219
 
See above. </td></tr>
1220
 
</table>
1221
 
</dl><dl compact><dt><b>
1222
 
Assertions:</b><dd>
1223
 
 <div class="fragment"><pre>object != NULL 
1224
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a101">FLAC__METADATA_TYPE_VORBIS_COMMENT</a> 
1225
 
</pre></div> <div class="fragment"><pre>object-&gt;data.vorbis_comment.num_comments &gt;= comment_num 
1226
 
</pre></div> <div class="fragment"><pre>(entry.entry != NULL &amp;&amp; entry.length &gt; 0) ||
1227
 
 (entry.entry == NULL &amp;&amp; entry.length == 0 &amp;&amp; copy == <font class="keyword">false</font>) 
1228
 
</pre></div> </dl><dl compact><dt><b>
1229
 
Return values: </b><dd>
1230
 
<table border=0 cellspacing=2 cellpadding=0>
1231
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
1232
 
<code>false</code> if memory allocation fails or <em>entry</em> does not comply with the Vorbis comment specification, else <code>true</code>. </td></tr>
1233
 
</table>
1234
 
</dl>    </td>
1235
 
  </tr>
1236
 
</table>
1237
 
<a name="a19" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_append_comment"></a><p>
1238
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1239
 
  <tr>
1240
 
    <td class="md">
1241
 
      <table cellpadding="0" cellspacing="0" border="0">
1242
 
        <tr>
1243
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_vorbiscomment_append_comment </td>
1244
 
          <td class="md" valign="top">(&nbsp;</td>
1245
 
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
1246
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
1247
 
        </tr>
1248
 
        <tr>
1249
 
          <td></td>
1250
 
          <td></td>
1251
 
          <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>&nbsp;</td>
1252
 
          <td class="mdname" nowrap>&nbsp; <em>entry</em>, </td>
1253
 
        </tr>
1254
 
        <tr>
1255
 
          <td></td>
1256
 
          <td></td>
1257
 
          <td class="md" nowrap>FLAC__bool&nbsp;</td>
1258
 
          <td class="mdname" nowrap>&nbsp; <em>copy</em></td>
1259
 
        </tr>
1260
 
        <tr>
1261
 
          <td></td>
1262
 
          <td class="md">)&nbsp;</td>
1263
 
          <td class="md" colspan="2"></td>
1264
 
        </tr>
1265
 
 
1266
 
      </table>
1267
 
    </td>
1268
 
  </tr>
1269
 
</table>
1270
 
<table cellspacing=5 cellpadding=0 border=0>
1271
 
  <tr>
1272
 
    <td>
1273
 
      &nbsp;
1274
 
    </td>
1275
 
    <td>
1276
 
 
1277
 
<p>
1278
 
Appends a comment to a VORBIS_COMMENT block.
1279
 
<p>
1280
 
For convenience, a trailing NUL is added to the entry if it doesn't have one already.
1281
 
<p>
1282
 
If <em>copy</em> is <code>true</code>, a copy of the entry is stored; otherwise, the object takes ownership of the <code>entry.entry</code> pointer.
1283
 
<p>
1284
 
<dl compact><dt><b>
1285
 
Note: </b><dd>
1286
 
If this function returns <code>false</code>, the caller still owns the pointer.</dl><dl compact><dt><b>
1287
 
Parameters: </b><dd>
1288
 
<table border=0 cellspacing=2 cellpadding=0>
1289
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
1290
 
A pointer to an existing VORBIS_COMMENT object. </td></tr>
1291
 
<tr><td valign=top><em>entry</em>&nbsp;</td><td>
1292
 
The comment to insert. </td></tr>
1293
 
<tr><td valign=top><em>copy</em>&nbsp;</td><td>
1294
 
See above. </td></tr>
1295
 
</table>
1296
 
</dl><dl compact><dt><b>
1297
 
Assertions:</b><dd>
1298
 
 <div class="fragment"><pre>object != NULL 
1299
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a101">FLAC__METADATA_TYPE_VORBIS_COMMENT</a> 
1300
 
</pre></div> <div class="fragment"><pre>(entry.entry != NULL &amp;&amp; entry.length &gt; 0) ||
1301
 
 (entry.entry == NULL &amp;&amp; entry.length == 0 &amp;&amp; copy == <font class="keyword">false</font>) 
1302
 
</pre></div> </dl><dl compact><dt><b>
1303
 
Return values: </b><dd>
1304
 
<table border=0 cellspacing=2 cellpadding=0>
1305
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
1306
 
<code>false</code> if memory allocation fails or <em>entry</em> does not comply with the Vorbis comment specification, else <code>true</code>. </td></tr>
1307
 
</table>
1308
 
</dl>    </td>
1309
 
  </tr>
1310
 
</table>
1311
 
<a name="a20" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_replace_comment"></a><p>
1312
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1313
 
  <tr>
1314
 
    <td class="md">
1315
 
      <table cellpadding="0" cellspacing="0" border="0">
1316
 
        <tr>
1317
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_vorbiscomment_replace_comment </td>
1318
 
          <td class="md" valign="top">(&nbsp;</td>
1319
 
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
1320
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
1321
 
        </tr>
1322
 
        <tr>
1323
 
          <td></td>
1324
 
          <td></td>
1325
 
          <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>&nbsp;</td>
1326
 
          <td class="mdname" nowrap>&nbsp; <em>entry</em>, </td>
1327
 
        </tr>
1328
 
        <tr>
1329
 
          <td></td>
1330
 
          <td></td>
1331
 
          <td class="md" nowrap>FLAC__bool&nbsp;</td>
1332
 
          <td class="mdname" nowrap>&nbsp; <em>all</em>, </td>
1333
 
        </tr>
1334
 
        <tr>
1335
 
          <td></td>
1336
 
          <td></td>
1337
 
          <td class="md" nowrap>FLAC__bool&nbsp;</td>
1338
 
          <td class="mdname" nowrap>&nbsp; <em>copy</em></td>
1339
 
        </tr>
1340
 
        <tr>
1341
 
          <td></td>
1342
 
          <td class="md">)&nbsp;</td>
1343
 
          <td class="md" colspan="2"></td>
1344
 
        </tr>
1345
 
 
1346
 
      </table>
1347
 
    </td>
1348
 
  </tr>
1349
 
</table>
1350
 
<table cellspacing=5 cellpadding=0 border=0>
1351
 
  <tr>
1352
 
    <td>
1353
 
      &nbsp;
1354
 
    </td>
1355
 
    <td>
1356
 
 
1357
 
<p>
1358
 
Replaces comments in a VORBIS_COMMENT block with a new one.
1359
 
<p>
1360
 
For convenience, a trailing NUL is added to the entry if it doesn't have one already.
1361
 
<p>
1362
 
Depending on the the value of <em>all</em>, either all or just the first comment whose field name(s) match the given entry's name will be replaced by the given entry. If no comments match, <em>entry</em> will simply be appended.
1363
 
<p>
1364
 
If <em>copy</em> is <code>true</code>, a copy of the entry is stored; otherwise, the object takes ownership of the <code>entry.entry</code> pointer.
1365
 
<p>
1366
 
<dl compact><dt><b>
1367
 
Note: </b><dd>
1368
 
If this function returns <code>false</code>, the caller still owns the pointer.</dl><dl compact><dt><b>
1369
 
Parameters: </b><dd>
1370
 
<table border=0 cellspacing=2 cellpadding=0>
1371
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
1372
 
A pointer to an existing VORBIS_COMMENT object. </td></tr>
1373
 
<tr><td valign=top><em>entry</em>&nbsp;</td><td>
1374
 
The comment to insert. </td></tr>
1375
 
<tr><td valign=top><em>all</em>&nbsp;</td><td>
1376
 
If <code>true</code>, all comments whose field name matches <em>entry's</em> field name will be removed, and <em>entry</em> will be inserted at the position of the first matching comment. If <code>false</code>, only the first comment whose field name matches <em>entry's</em> field name will be replaced with <em>entry</em>. </td></tr>
1377
 
<tr><td valign=top><em>copy</em>&nbsp;</td><td>
1378
 
See above. </td></tr>
1379
 
</table>
1380
 
</dl><dl compact><dt><b>
1381
 
Assertions:</b><dd>
1382
 
 <div class="fragment"><pre>object != NULL 
1383
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a101">FLAC__METADATA_TYPE_VORBIS_COMMENT</a> 
1384
 
</pre></div> <div class="fragment"><pre>(entry.entry != NULL &amp;&amp; entry.length &gt; 0) ||
1385
 
 (entry.entry == NULL &amp;&amp; entry.length == 0 &amp;&amp; copy == <font class="keyword">false</font>) 
1386
 
</pre></div> </dl><dl compact><dt><b>
1387
 
Return values: </b><dd>
1388
 
<table border=0 cellspacing=2 cellpadding=0>
1389
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
1390
 
<code>false</code> if memory allocation fails or <em>entry</em> does not comply with the Vorbis comment specification, else <code>true</code>. </td></tr>
1391
 
</table>
1392
 
</dl>    </td>
1393
 
  </tr>
1394
 
</table>
1395
 
<a name="a21" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_delete_comment"></a><p>
1396
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1397
 
  <tr>
1398
 
    <td class="md">
1399
 
      <table cellpadding="0" cellspacing="0" border="0">
1400
 
        <tr>
1401
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_vorbiscomment_delete_comment </td>
1402
 
          <td class="md" valign="top">(&nbsp;</td>
1403
 
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
1404
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
1405
 
        </tr>
1406
 
        <tr>
1407
 
          <td></td>
1408
 
          <td></td>
1409
 
          <td class="md" nowrap>unsigned&nbsp;</td>
1410
 
          <td class="mdname" nowrap>&nbsp; <em>comment_num</em></td>
1411
 
        </tr>
1412
 
        <tr>
1413
 
          <td></td>
1414
 
          <td class="md">)&nbsp;</td>
1415
 
          <td class="md" colspan="2"></td>
1416
 
        </tr>
1417
 
 
1418
 
      </table>
1419
 
    </td>
1420
 
  </tr>
1421
 
</table>
1422
 
<table cellspacing=5 cellpadding=0 border=0>
1423
 
  <tr>
1424
 
    <td>
1425
 
      &nbsp;
1426
 
    </td>
1427
 
    <td>
1428
 
 
1429
 
<p>
1430
 
Delete a comment in a VORBIS_COMMENT block at the given index.<dl compact><dt><b>
1431
 
Parameters: </b><dd>
1432
 
<table border=0 cellspacing=2 cellpadding=0>
1433
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
1434
 
A pointer to an existing VORBIS_COMMENT object. </td></tr>
1435
 
<tr><td valign=top><em>comment_num</em>&nbsp;</td><td>
1436
 
The index of the comment to delete. </td></tr>
1437
 
</table>
1438
 
</dl><dl compact><dt><b>
1439
 
Assertions:</b><dd>
1440
 
 <div class="fragment"><pre>object != NULL 
1441
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a101">FLAC__METADATA_TYPE_VORBIS_COMMENT</a> 
1442
 
</pre></div> <div class="fragment"><pre>object-&gt;data.vorbis_comment.num_comments &gt; comment_num 
1443
 
</pre></div> </dl><dl compact><dt><b>
1444
 
Return values: </b><dd>
1445
 
<table border=0 cellspacing=2 cellpadding=0>
1446
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
1447
 
<code>false</code> if realloc() fails, else <code>true</code>. </td></tr>
1448
 
</table>
1449
 
</dl>    </td>
1450
 
  </tr>
1451
 
</table>
1452
 
<a name="a22" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair"></a><p>
1453
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1454
 
  <tr>
1455
 
    <td class="md">
1456
 
      <table cellpadding="0" cellspacing="0" border="0">
1457
 
        <tr>
1458
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair </td>
 
1150
</pre></div> </dd></dl>
 
1151
<dl compact><dt><b>Return values:</b></dt><dd>
 
1152
  <table border="0" cellspacing="2" cellpadding="0">
 
1153
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation fails or <em>entry</em> does not comply with the Vorbis comment specification, else <code>true</code>. </td></tr>
 
1154
  </table>
 
1155
</dl>
 
1156
    </td>
 
1157
  </tr>
 
1158
</table>
 
1159
<a class="anchor" name="ga19" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_insert_comment"></a><p>
 
1160
<table class="mdTable" cellpadding="2" cellspacing="0">
 
1161
  <tr>
 
1162
    <td class="mdRow">
 
1163
      <table cellpadding="0" cellspacing="0" border="0">
 
1164
        <tr>
 
1165
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_vorbiscomment_insert_comment           </td>
 
1166
          <td class="md" valign="top">(&nbsp;</td>
 
1167
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
 
1168
          <td class="mdname" nowrap> <em>object</em>, </td>
 
1169
        </tr>
 
1170
        <tr>
 
1171
          <td class="md" nowrap align="right"></td>
 
1172
          <td class="md"></td>
 
1173
          <td class="md" nowrap>unsigned&nbsp;</td>
 
1174
          <td class="mdname" nowrap> <em>comment_num</em>, </td>
 
1175
        </tr>
 
1176
        <tr>
 
1177
          <td class="md" nowrap align="right"></td>
 
1178
          <td class="md"></td>
 
1179
          <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>&nbsp;</td>
 
1180
          <td class="mdname" nowrap> <em>entry</em>, </td>
 
1181
        </tr>
 
1182
        <tr>
 
1183
          <td class="md" nowrap align="right"></td>
 
1184
          <td class="md"></td>
 
1185
          <td class="md" nowrap>FLAC__bool&nbsp;</td>
 
1186
          <td class="mdname" nowrap> <em>copy</em></td>
 
1187
        </tr>
 
1188
        <tr>
 
1189
          <td class="md"></td>
 
1190
          <td class="md">)&nbsp;</td>
 
1191
          <td class="md" colspan="2"></td>
 
1192
        </tr>
 
1193
      </table>
 
1194
    </td>
 
1195
  </tr>
 
1196
</table>
 
1197
<table cellspacing="5" cellpadding="0" border="0">
 
1198
  <tr>
 
1199
    <td>
 
1200
      &nbsp;
 
1201
    </td>
 
1202
    <td>
 
1203
 
 
1204
<p>
 
1205
Insert a comment in a VORBIS_COMMENT block at the given index.<p>
 
1206
For convenience, a trailing NUL is added to the entry if it doesn't have one already.<p>
 
1207
If <em>copy</em> is <code>true</code>, a copy of the entry is stored; otherwise, the object takes ownership of the <code>entry.entry</code> pointer.<p>
 
1208
<dl compact><dt><b>Note:</b></dt><dd>If this function returns <code>false</code>, the caller still owns the pointer.</dd></dl>
 
1209
<dl compact><dt><b>Parameters:</b></dt><dd>
 
1210
  <table border="0" cellspacing="2" cellpadding="0">
 
1211
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing VORBIS_COMMENT object. </td></tr>
 
1212
    <tr><td valign="top"></td><td valign="top"><em>comment_num</em>&nbsp;</td><td>The index at which to insert the comment. The comments at and after <em>comment_num</em> move right one position. To append a comment to the end, set <em>comment_num</em> to <code>object-&gt;data.vorbis_comment.num_comments</code> . </td></tr>
 
1213
    <tr><td valign="top"></td><td valign="top"><em>entry</em>&nbsp;</td><td>The comment to insert. </td></tr>
 
1214
    <tr><td valign="top"></td><td valign="top"><em>copy</em>&nbsp;</td><td>See above. </td></tr>
 
1215
  </table>
 
1216
</dl>
 
1217
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
1218
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a112">FLAC__METADATA_TYPE_VORBIS_COMMENT</a> 
 
1219
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.vorbis_comment.num_comments &gt;= comment_num 
 
1220
</pre></div> <div class="fragment"><pre class="fragment"> (entry.entry != NULL &amp;&amp; entry.length &gt; 0) ||
 
1221
 (entry.entry == NULL &amp;&amp; entry.length == 0 &amp;&amp; copy == <span class="keyword">false</span>) 
 
1222
</pre></div> </dd></dl>
 
1223
<dl compact><dt><b>Return values:</b></dt><dd>
 
1224
  <table border="0" cellspacing="2" cellpadding="0">
 
1225
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation fails or <em>entry</em> does not comply with the Vorbis comment specification, else <code>true</code>. </td></tr>
 
1226
  </table>
 
1227
</dl>
 
1228
    </td>
 
1229
  </tr>
 
1230
</table>
 
1231
<a class="anchor" name="ga20" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_append_comment"></a><p>
 
1232
<table class="mdTable" cellpadding="2" cellspacing="0">
 
1233
  <tr>
 
1234
    <td class="mdRow">
 
1235
      <table cellpadding="0" cellspacing="0" border="0">
 
1236
        <tr>
 
1237
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_vorbiscomment_append_comment           </td>
 
1238
          <td class="md" valign="top">(&nbsp;</td>
 
1239
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
 
1240
          <td class="mdname" nowrap> <em>object</em>, </td>
 
1241
        </tr>
 
1242
        <tr>
 
1243
          <td class="md" nowrap align="right"></td>
 
1244
          <td class="md"></td>
 
1245
          <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>&nbsp;</td>
 
1246
          <td class="mdname" nowrap> <em>entry</em>, </td>
 
1247
        </tr>
 
1248
        <tr>
 
1249
          <td class="md" nowrap align="right"></td>
 
1250
          <td class="md"></td>
 
1251
          <td class="md" nowrap>FLAC__bool&nbsp;</td>
 
1252
          <td class="mdname" nowrap> <em>copy</em></td>
 
1253
        </tr>
 
1254
        <tr>
 
1255
          <td class="md"></td>
 
1256
          <td class="md">)&nbsp;</td>
 
1257
          <td class="md" colspan="2"></td>
 
1258
        </tr>
 
1259
      </table>
 
1260
    </td>
 
1261
  </tr>
 
1262
</table>
 
1263
<table cellspacing="5" cellpadding="0" border="0">
 
1264
  <tr>
 
1265
    <td>
 
1266
      &nbsp;
 
1267
    </td>
 
1268
    <td>
 
1269
 
 
1270
<p>
 
1271
Appends a comment to a VORBIS_COMMENT block.<p>
 
1272
For convenience, a trailing NUL is added to the entry if it doesn't have one already.<p>
 
1273
If <em>copy</em> is <code>true</code>, a copy of the entry is stored; otherwise, the object takes ownership of the <code>entry.entry</code> pointer.<p>
 
1274
<dl compact><dt><b>Note:</b></dt><dd>If this function returns <code>false</code>, the caller still owns the pointer.</dd></dl>
 
1275
<dl compact><dt><b>Parameters:</b></dt><dd>
 
1276
  <table border="0" cellspacing="2" cellpadding="0">
 
1277
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing VORBIS_COMMENT object. </td></tr>
 
1278
    <tr><td valign="top"></td><td valign="top"><em>entry</em>&nbsp;</td><td>The comment to insert. </td></tr>
 
1279
    <tr><td valign="top"></td><td valign="top"><em>copy</em>&nbsp;</td><td>See above. </td></tr>
 
1280
  </table>
 
1281
</dl>
 
1282
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
1283
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a112">FLAC__METADATA_TYPE_VORBIS_COMMENT</a> 
 
1284
</pre></div> <div class="fragment"><pre class="fragment"> (entry.entry != NULL &amp;&amp; entry.length &gt; 0) ||
 
1285
 (entry.entry == NULL &amp;&amp; entry.length == 0 &amp;&amp; copy == <span class="keyword">false</span>) 
 
1286
</pre></div> </dd></dl>
 
1287
<dl compact><dt><b>Return values:</b></dt><dd>
 
1288
  <table border="0" cellspacing="2" cellpadding="0">
 
1289
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation fails or <em>entry</em> does not comply with the Vorbis comment specification, else <code>true</code>. </td></tr>
 
1290
  </table>
 
1291
</dl>
 
1292
    </td>
 
1293
  </tr>
 
1294
</table>
 
1295
<a class="anchor" name="ga21" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_replace_comment"></a><p>
 
1296
<table class="mdTable" cellpadding="2" cellspacing="0">
 
1297
  <tr>
 
1298
    <td class="mdRow">
 
1299
      <table cellpadding="0" cellspacing="0" border="0">
 
1300
        <tr>
 
1301
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_vorbiscomment_replace_comment           </td>
 
1302
          <td class="md" valign="top">(&nbsp;</td>
 
1303
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
 
1304
          <td class="mdname" nowrap> <em>object</em>, </td>
 
1305
        </tr>
 
1306
        <tr>
 
1307
          <td class="md" nowrap align="right"></td>
 
1308
          <td class="md"></td>
 
1309
          <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>&nbsp;</td>
 
1310
          <td class="mdname" nowrap> <em>entry</em>, </td>
 
1311
        </tr>
 
1312
        <tr>
 
1313
          <td class="md" nowrap align="right"></td>
 
1314
          <td class="md"></td>
 
1315
          <td class="md" nowrap>FLAC__bool&nbsp;</td>
 
1316
          <td class="mdname" nowrap> <em>all</em>, </td>
 
1317
        </tr>
 
1318
        <tr>
 
1319
          <td class="md" nowrap align="right"></td>
 
1320
          <td class="md"></td>
 
1321
          <td class="md" nowrap>FLAC__bool&nbsp;</td>
 
1322
          <td class="mdname" nowrap> <em>copy</em></td>
 
1323
        </tr>
 
1324
        <tr>
 
1325
          <td class="md"></td>
 
1326
          <td class="md">)&nbsp;</td>
 
1327
          <td class="md" colspan="2"></td>
 
1328
        </tr>
 
1329
      </table>
 
1330
    </td>
 
1331
  </tr>
 
1332
</table>
 
1333
<table cellspacing="5" cellpadding="0" border="0">
 
1334
  <tr>
 
1335
    <td>
 
1336
      &nbsp;
 
1337
    </td>
 
1338
    <td>
 
1339
 
 
1340
<p>
 
1341
Replaces comments in a VORBIS_COMMENT block with a new one.<p>
 
1342
For convenience, a trailing NUL is added to the entry if it doesn't have one already.<p>
 
1343
Depending on the the value of <em>all</em>, either all or just the first comment whose field name(s) match the given entry's name will be replaced by the given entry. If no comments match, <em>entry</em> will simply be appended.<p>
 
1344
If <em>copy</em> is <code>true</code>, a copy of the entry is stored; otherwise, the object takes ownership of the <code>entry.entry</code> pointer.<p>
 
1345
<dl compact><dt><b>Note:</b></dt><dd>If this function returns <code>false</code>, the caller still owns the pointer.</dd></dl>
 
1346
<dl compact><dt><b>Parameters:</b></dt><dd>
 
1347
  <table border="0" cellspacing="2" cellpadding="0">
 
1348
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing VORBIS_COMMENT object. </td></tr>
 
1349
    <tr><td valign="top"></td><td valign="top"><em>entry</em>&nbsp;</td><td>The comment to insert. </td></tr>
 
1350
    <tr><td valign="top"></td><td valign="top"><em>all</em>&nbsp;</td><td>If <code>true</code>, all comments whose field name matches <em>entry's</em> field name will be removed, and <em>entry</em> will be inserted at the position of the first matching comment. If <code>false</code>, only the first comment whose field name matches <em>entry's</em> field name will be replaced with <em>entry</em>. </td></tr>
 
1351
    <tr><td valign="top"></td><td valign="top"><em>copy</em>&nbsp;</td><td>See above. </td></tr>
 
1352
  </table>
 
1353
</dl>
 
1354
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
1355
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a112">FLAC__METADATA_TYPE_VORBIS_COMMENT</a> 
 
1356
</pre></div> <div class="fragment"><pre class="fragment"> (entry.entry != NULL &amp;&amp; entry.length &gt; 0) ||
 
1357
 (entry.entry == NULL &amp;&amp; entry.length == 0 &amp;&amp; copy == <span class="keyword">false</span>) 
 
1358
</pre></div> </dd></dl>
 
1359
<dl compact><dt><b>Return values:</b></dt><dd>
 
1360
  <table border="0" cellspacing="2" cellpadding="0">
 
1361
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation fails or <em>entry</em> does not comply with the Vorbis comment specification, else <code>true</code>. </td></tr>
 
1362
  </table>
 
1363
</dl>
 
1364
    </td>
 
1365
  </tr>
 
1366
</table>
 
1367
<a class="anchor" name="ga22" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_delete_comment"></a><p>
 
1368
<table class="mdTable" cellpadding="2" cellspacing="0">
 
1369
  <tr>
 
1370
    <td class="mdRow">
 
1371
      <table cellpadding="0" cellspacing="0" border="0">
 
1372
        <tr>
 
1373
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_vorbiscomment_delete_comment           </td>
 
1374
          <td class="md" valign="top">(&nbsp;</td>
 
1375
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
 
1376
          <td class="mdname" nowrap> <em>object</em>, </td>
 
1377
        </tr>
 
1378
        <tr>
 
1379
          <td class="md" nowrap align="right"></td>
 
1380
          <td class="md"></td>
 
1381
          <td class="md" nowrap>unsigned&nbsp;</td>
 
1382
          <td class="mdname" nowrap> <em>comment_num</em></td>
 
1383
        </tr>
 
1384
        <tr>
 
1385
          <td class="md"></td>
 
1386
          <td class="md">)&nbsp;</td>
 
1387
          <td class="md" colspan="2"></td>
 
1388
        </tr>
 
1389
      </table>
 
1390
    </td>
 
1391
  </tr>
 
1392
</table>
 
1393
<table cellspacing="5" cellpadding="0" border="0">
 
1394
  <tr>
 
1395
    <td>
 
1396
      &nbsp;
 
1397
    </td>
 
1398
    <td>
 
1399
 
 
1400
<p>
 
1401
Delete a comment in a VORBIS_COMMENT block at the given index.<p>
 
1402
<dl compact><dt><b>Parameters:</b></dt><dd>
 
1403
  <table border="0" cellspacing="2" cellpadding="0">
 
1404
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing VORBIS_COMMENT object. </td></tr>
 
1405
    <tr><td valign="top"></td><td valign="top"><em>comment_num</em>&nbsp;</td><td>The index of the comment to delete. </td></tr>
 
1406
  </table>
 
1407
</dl>
 
1408
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
1409
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a112">FLAC__METADATA_TYPE_VORBIS_COMMENT</a> 
 
1410
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.vorbis_comment.num_comments &gt; comment_num 
 
1411
</pre></div> </dd></dl>
 
1412
<dl compact><dt><b>Return values:</b></dt><dd>
 
1413
  <table border="0" cellspacing="2" cellpadding="0">
 
1414
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if realloc() fails, else <code>true</code>. </td></tr>
 
1415
  </table>
 
1416
</dl>
 
1417
    </td>
 
1418
  </tr>
 
1419
</table>
 
1420
<a class="anchor" name="ga23" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair"></a><p>
 
1421
<table class="mdTable" cellpadding="2" cellspacing="0">
 
1422
  <tr>
 
1423
    <td class="mdRow">
 
1424
      <table cellpadding="0" cellspacing="0" border="0">
 
1425
        <tr>
 
1426
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair           </td>
1459
1427
          <td class="md" valign="top">(&nbsp;</td>
1460
1428
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> *&nbsp;</td>
1461
 
          <td class="mdname" nowrap>&nbsp; <em>entry</em>, </td>
1462
 
        </tr>
1463
 
        <tr>
1464
 
          <td></td>
1465
 
          <td></td>
1466
 
          <td class="md" nowrap>const char *&nbsp;</td>
1467
 
          <td class="mdname" nowrap>&nbsp; <em>field_name</em>, </td>
1468
 
        </tr>
1469
 
        <tr>
1470
 
          <td></td>
1471
 
          <td></td>
1472
 
          <td class="md" nowrap>const char *&nbsp;</td>
1473
 
          <td class="mdname" nowrap>&nbsp; <em>field_value</em></td>
1474
 
        </tr>
1475
 
        <tr>
1476
 
          <td></td>
1477
 
          <td class="md">)&nbsp;</td>
1478
 
          <td class="md" colspan="2"></td>
1479
 
        </tr>
1480
 
 
1481
 
      </table>
1482
 
    </td>
1483
 
  </tr>
1484
 
</table>
1485
 
<table cellspacing=5 cellpadding=0 border=0>
1486
 
  <tr>
1487
 
    <td>
1488
 
      &nbsp;
1489
 
    </td>
1490
 
    <td>
1491
 
 
1492
 
<p>
1493
 
Creates a Vorbis comment entry from NUL-terminated name and value strings.
1494
 
<p>
1495
 
On return, the filled-in <em>entry-&gt;entry</em> pointer will point to malloc()ed memory and shall be owned by the caller. For convenience the entry will have a terminating NUL.<dl compact><dt><b>
1496
 
Parameters: </b><dd>
1497
 
<table border=0 cellspacing=2 cellpadding=0>
1498
 
<tr><td valign=top><em>entry</em>&nbsp;</td><td>
1499
 
A pointer to a Vorbis comment entry. The entry's <code>entry</code> pointer should not point to allocated memory as it will be overwritten. </td></tr>
1500
 
<tr><td valign=top><em>field_name</em>&nbsp;</td><td>
1501
 
The field name in ASCII, <code>NUL</code> terminated. </td></tr>
1502
 
<tr><td valign=top><em>field_value</em>&nbsp;</td><td>
1503
 
The field value in UTF-8, <code>NUL</code> terminated. </td></tr>
1504
 
</table>
1505
 
</dl><dl compact><dt><b>
1506
 
Assertions:</b><dd>
1507
 
 <div class="fragment"><pre>entry != NULL 
1508
 
</pre></div> <div class="fragment"><pre>field_name != NULL 
1509
 
</pre></div> <div class="fragment"><pre>field_value != NULL 
1510
 
</pre></div> </dl><dl compact><dt><b>
1511
 
Return values: </b><dd>
1512
 
<table border=0 cellspacing=2 cellpadding=0>
1513
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
1514
 
<code>false</code> if malloc() fails, or if <em>field_name</em> or <em>field_value</em> does not comply with the Vorbis comment specification, else <code>true</code>. </td></tr>
1515
 
</table>
1516
 
</dl>    </td>
1517
 
  </tr>
1518
 
</table>
1519
 
<a name="a23" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair"></a><p>
1520
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1521
 
  <tr>
1522
 
    <td class="md">
1523
 
      <table cellpadding="0" cellspacing="0" border="0">
1524
 
        <tr>
1525
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair </td>
1526
 
          <td class="md" valign="top">(&nbsp;</td>
1527
 
          <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>&nbsp;</td>
1528
 
          <td class="mdname" nowrap>&nbsp; <em>entry</em>, </td>
1529
 
        </tr>
1530
 
        <tr>
1531
 
          <td></td>
1532
 
          <td></td>
1533
 
          <td class="md" nowrap>char **&nbsp;</td>
1534
 
          <td class="mdname" nowrap>&nbsp; <em>field_name</em>, </td>
1535
 
        </tr>
1536
 
        <tr>
1537
 
          <td></td>
1538
 
          <td></td>
1539
 
          <td class="md" nowrap>char **&nbsp;</td>
1540
 
          <td class="mdname" nowrap>&nbsp; <em>field_value</em></td>
1541
 
        </tr>
1542
 
        <tr>
1543
 
          <td></td>
1544
 
          <td class="md">)&nbsp;</td>
1545
 
          <td class="md" colspan="2"></td>
1546
 
        </tr>
1547
 
 
1548
 
      </table>
1549
 
    </td>
1550
 
  </tr>
1551
 
</table>
1552
 
<table cellspacing=5 cellpadding=0 border=0>
1553
 
  <tr>
1554
 
    <td>
1555
 
      &nbsp;
1556
 
    </td>
1557
 
    <td>
1558
 
 
1559
 
<p>
1560
 
Splits a Vorbis comment entry into NUL-terminated name and value strings.
1561
 
<p>
1562
 
The returned pointers to name and value will be allocated by malloc() and shall be owned by the caller.<dl compact><dt><b>
1563
 
Parameters: </b><dd>
1564
 
<table border=0 cellspacing=2 cellpadding=0>
1565
 
<tr><td valign=top><em>entry</em>&nbsp;</td><td>
1566
 
An existing Vorbis comment entry. </td></tr>
1567
 
<tr><td valign=top><em>field_name</em>&nbsp;</td><td>
1568
 
The address of where the returned pointer to the field name will be stored. </td></tr>
1569
 
<tr><td valign=top><em>field_value</em>&nbsp;</td><td>
1570
 
The address of where the returned pointer to the field value will be stored. </td></tr>
1571
 
</table>
1572
 
</dl><dl compact><dt><b>
1573
 
Assertions:</b><dd>
1574
 
 <div class="fragment"><pre>(entry.entry != NULL &amp;&amp; entry.length &gt; 0) 
1575
 
</pre></div> <div class="fragment"><pre>memchr(entry.entry, <font class="charliteral">'='</font>, entry.length) != NULL 
1576
 
</pre></div> <div class="fragment"><pre>field_name != NULL 
1577
 
</pre></div> <div class="fragment"><pre>field_value != NULL 
1578
 
</pre></div> </dl><dl compact><dt><b>
1579
 
Return values: </b><dd>
1580
 
<table border=0 cellspacing=2 cellpadding=0>
1581
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
1582
 
<code>false</code> if memory allocation fails or <em>entry</em> does not comply with the Vorbis comment specification, else <code>true</code>. </td></tr>
1583
 
</table>
1584
 
</dl>    </td>
1585
 
  </tr>
1586
 
</table>
1587
 
<a name="a24" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_entry_matches"></a><p>
1588
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1589
 
  <tr>
1590
 
    <td class="md">
1591
 
      <table cellpadding="0" cellspacing="0" border="0">
1592
 
        <tr>
1593
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_vorbiscomment_entry_matches </td>
1594
 
          <td class="md" valign="top">(&nbsp;</td>
1595
 
          <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>&nbsp;</td>
1596
 
          <td class="mdname" nowrap>&nbsp; <em>entry</em>, </td>
1597
 
        </tr>
1598
 
        <tr>
1599
 
          <td></td>
1600
 
          <td></td>
1601
 
          <td class="md" nowrap>const char *&nbsp;</td>
1602
 
          <td class="mdname" nowrap>&nbsp; <em>field_name</em>, </td>
1603
 
        </tr>
1604
 
        <tr>
1605
 
          <td></td>
1606
 
          <td></td>
 
1429
          <td class="mdname" nowrap> <em>entry</em>, </td>
 
1430
        </tr>
 
1431
        <tr>
 
1432
          <td class="md" nowrap align="right"></td>
 
1433
          <td class="md"></td>
 
1434
          <td class="md" nowrap>const char *&nbsp;</td>
 
1435
          <td class="mdname" nowrap> <em>field_name</em>, </td>
 
1436
        </tr>
 
1437
        <tr>
 
1438
          <td class="md" nowrap align="right"></td>
 
1439
          <td class="md"></td>
 
1440
          <td class="md" nowrap>const char *&nbsp;</td>
 
1441
          <td class="mdname" nowrap> <em>field_value</em></td>
 
1442
        </tr>
 
1443
        <tr>
 
1444
          <td class="md"></td>
 
1445
          <td class="md">)&nbsp;</td>
 
1446
          <td class="md" colspan="2"></td>
 
1447
        </tr>
 
1448
      </table>
 
1449
    </td>
 
1450
  </tr>
 
1451
</table>
 
1452
<table cellspacing="5" cellpadding="0" border="0">
 
1453
  <tr>
 
1454
    <td>
 
1455
      &nbsp;
 
1456
    </td>
 
1457
    <td>
 
1458
 
 
1459
<p>
 
1460
Creates a Vorbis comment entry from NUL-terminated name and value strings.<p>
 
1461
On return, the filled-in <em>entry-&gt;entry</em> pointer will point to malloc()ed memory and shall be owned by the caller. For convenience the entry will have a terminating NUL.<p>
 
1462
<dl compact><dt><b>Parameters:</b></dt><dd>
 
1463
  <table border="0" cellspacing="2" cellpadding="0">
 
1464
    <tr><td valign="top"></td><td valign="top"><em>entry</em>&nbsp;</td><td>A pointer to a Vorbis comment entry. The entry's <code>entry</code> pointer should not point to allocated memory as it will be overwritten. </td></tr>
 
1465
    <tr><td valign="top"></td><td valign="top"><em>field_name</em>&nbsp;</td><td>The field name in ASCII, <code>NUL</code> terminated. </td></tr>
 
1466
    <tr><td valign="top"></td><td valign="top"><em>field_value</em>&nbsp;</td><td>The field value in UTF-8, <code>NUL</code> terminated. </td></tr>
 
1467
  </table>
 
1468
</dl>
 
1469
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> entry != NULL 
 
1470
</pre></div> <div class="fragment"><pre class="fragment"> field_name != NULL 
 
1471
</pre></div> <div class="fragment"><pre class="fragment"> field_value != NULL 
 
1472
</pre></div> </dd></dl>
 
1473
<dl compact><dt><b>Return values:</b></dt><dd>
 
1474
  <table border="0" cellspacing="2" cellpadding="0">
 
1475
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if malloc() fails, or if <em>field_name</em> or <em>field_value</em> does not comply with the Vorbis comment specification, else <code>true</code>. </td></tr>
 
1476
  </table>
 
1477
</dl>
 
1478
    </td>
 
1479
  </tr>
 
1480
</table>
 
1481
<a class="anchor" name="ga24" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair"></a><p>
 
1482
<table class="mdTable" cellpadding="2" cellspacing="0">
 
1483
  <tr>
 
1484
    <td class="mdRow">
 
1485
      <table cellpadding="0" cellspacing="0" border="0">
 
1486
        <tr>
 
1487
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair           </td>
 
1488
          <td class="md" valign="top">(&nbsp;</td>
 
1489
          <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>&nbsp;</td>
 
1490
          <td class="mdname" nowrap> <em>entry</em>, </td>
 
1491
        </tr>
 
1492
        <tr>
 
1493
          <td class="md" nowrap align="right"></td>
 
1494
          <td class="md"></td>
 
1495
          <td class="md" nowrap>char **&nbsp;</td>
 
1496
          <td class="mdname" nowrap> <em>field_name</em>, </td>
 
1497
        </tr>
 
1498
        <tr>
 
1499
          <td class="md" nowrap align="right"></td>
 
1500
          <td class="md"></td>
 
1501
          <td class="md" nowrap>char **&nbsp;</td>
 
1502
          <td class="mdname" nowrap> <em>field_value</em></td>
 
1503
        </tr>
 
1504
        <tr>
 
1505
          <td class="md"></td>
 
1506
          <td class="md">)&nbsp;</td>
 
1507
          <td class="md" colspan="2"></td>
 
1508
        </tr>
 
1509
      </table>
 
1510
    </td>
 
1511
  </tr>
 
1512
</table>
 
1513
<table cellspacing="5" cellpadding="0" border="0">
 
1514
  <tr>
 
1515
    <td>
 
1516
      &nbsp;
 
1517
    </td>
 
1518
    <td>
 
1519
 
 
1520
<p>
 
1521
Splits a Vorbis comment entry into NUL-terminated name and value strings.<p>
 
1522
The returned pointers to name and value will be allocated by malloc() and shall be owned by the caller.<p>
 
1523
<dl compact><dt><b>Parameters:</b></dt><dd>
 
1524
  <table border="0" cellspacing="2" cellpadding="0">
 
1525
    <tr><td valign="top"></td><td valign="top"><em>entry</em>&nbsp;</td><td>An existing Vorbis comment entry. </td></tr>
 
1526
    <tr><td valign="top"></td><td valign="top"><em>field_name</em>&nbsp;</td><td>The address of where the returned pointer to the field name will be stored. </td></tr>
 
1527
    <tr><td valign="top"></td><td valign="top"><em>field_value</em>&nbsp;</td><td>The address of where the returned pointer to the field value will be stored. </td></tr>
 
1528
  </table>
 
1529
</dl>
 
1530
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> (entry.entry != NULL &amp;&amp; entry.length &gt; 0) 
 
1531
</pre></div> <div class="fragment"><pre class="fragment"> memchr(entry.entry, <span class="charliteral">'='</span>, entry.length) != NULL 
 
1532
</pre></div> <div class="fragment"><pre class="fragment"> field_name != NULL 
 
1533
</pre></div> <div class="fragment"><pre class="fragment"> field_value != NULL 
 
1534
</pre></div> </dd></dl>
 
1535
<dl compact><dt><b>Return values:</b></dt><dd>
 
1536
  <table border="0" cellspacing="2" cellpadding="0">
 
1537
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation fails or <em>entry</em> does not comply with the Vorbis comment specification, else <code>true</code>. </td></tr>
 
1538
  </table>
 
1539
</dl>
 
1540
    </td>
 
1541
  </tr>
 
1542
</table>
 
1543
<a class="anchor" name="ga25" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_entry_matches"></a><p>
 
1544
<table class="mdTable" cellpadding="2" cellspacing="0">
 
1545
  <tr>
 
1546
    <td class="mdRow">
 
1547
      <table cellpadding="0" cellspacing="0" border="0">
 
1548
        <tr>
 
1549
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_vorbiscomment_entry_matches           </td>
 
1550
          <td class="md" valign="top">(&nbsp;</td>
 
1551
          <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>&nbsp;</td>
 
1552
          <td class="mdname" nowrap> <em>entry</em>, </td>
 
1553
        </tr>
 
1554
        <tr>
 
1555
          <td class="md" nowrap align="right"></td>
 
1556
          <td class="md"></td>
 
1557
          <td class="md" nowrap>const char *&nbsp;</td>
 
1558
          <td class="mdname" nowrap> <em>field_name</em>, </td>
 
1559
        </tr>
 
1560
        <tr>
 
1561
          <td class="md" nowrap align="right"></td>
 
1562
          <td class="md"></td>
1607
1563
          <td class="md" nowrap>unsigned&nbsp;</td>
1608
 
          <td class="mdname" nowrap>&nbsp; <em>field_name_length</em></td>
 
1564
          <td class="mdname" nowrap> <em>field_name_length</em></td>
1609
1565
        </tr>
1610
1566
        <tr>
1611
 
          <td></td>
 
1567
          <td class="md"></td>
1612
1568
          <td class="md">)&nbsp;</td>
1613
1569
          <td class="md" colspan="2"></td>
1614
1570
        </tr>
1615
 
 
1616
1571
      </table>
1617
1572
    </td>
1618
1573
  </tr>
1619
1574
</table>
1620
 
<table cellspacing=5 cellpadding=0 border=0>
 
1575
<table cellspacing="5" cellpadding="0" border="0">
1621
1576
  <tr>
1622
1577
    <td>
1623
1578
      &nbsp;
1625
1580
    <td>
1626
1581
 
1627
1582
<p>
1628
 
Check if the given Vorbis comment entry's field name matches the given field name.<dl compact><dt><b>
1629
 
Parameters: </b><dd>
1630
 
<table border=0 cellspacing=2 cellpadding=0>
1631
 
<tr><td valign=top><em>entry</em>&nbsp;</td><td>
1632
 
An existing Vorbis comment entry. </td></tr>
1633
 
<tr><td valign=top><em>field_name</em>&nbsp;</td><td>
1634
 
The field name to check. </td></tr>
1635
 
<tr><td valign=top><em>field_name_length</em>&nbsp;</td><td>
1636
 
The length of <em>field_name</em>, not including the terminating <code>NUL</code>. </td></tr>
1637
 
</table>
1638
 
</dl><dl compact><dt><b>
1639
 
Assertions:</b><dd>
1640
 
 <div class="fragment"><pre>(entry.entry != NULL &amp;&amp; entry.length &gt; 0) 
1641
 
</pre></div> </dl><dl compact><dt><b>
1642
 
Return values: </b><dd>
1643
 
<table border=0 cellspacing=2 cellpadding=0>
1644
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
1645
 
<code>true</code> if the field names match, else <code>false</code> </td></tr>
1646
 
</table>
1647
 
</dl>    </td>
 
1583
Check if the given Vorbis comment entry's field name matches the given field name.<p>
 
1584
<dl compact><dt><b>Parameters:</b></dt><dd>
 
1585
  <table border="0" cellspacing="2" cellpadding="0">
 
1586
    <tr><td valign="top"></td><td valign="top"><em>entry</em>&nbsp;</td><td>An existing Vorbis comment entry. </td></tr>
 
1587
    <tr><td valign="top"></td><td valign="top"><em>field_name</em>&nbsp;</td><td>The field name to check. </td></tr>
 
1588
    <tr><td valign="top"></td><td valign="top"><em>field_name_length</em>&nbsp;</td><td>The length of <em>field_name</em>, not including the terminating <code>NUL</code>. </td></tr>
 
1589
  </table>
 
1590
</dl>
 
1591
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> (entry.entry != NULL &amp;&amp; entry.length &gt; 0) 
 
1592
</pre></div> </dd></dl>
 
1593
<dl compact><dt><b>Return values:</b></dt><dd>
 
1594
  <table border="0" cellspacing="2" cellpadding="0">
 
1595
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>true</code> if the field names match, else <code>false</code> </td></tr>
 
1596
  </table>
 
1597
</dl>
 
1598
    </td>
1648
1599
  </tr>
1649
1600
</table>
1650
 
<a name="a25" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_find_entry_from"></a><p>
1651
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
 
1601
<a class="anchor" name="ga26" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_find_entry_from"></a><p>
 
1602
<table class="mdTable" cellpadding="2" cellspacing="0">
1652
1603
  <tr>
1653
 
    <td class="md">
 
1604
    <td class="mdRow">
1654
1605
      <table cellpadding="0" cellspacing="0" border="0">
1655
1606
        <tr>
1656
 
          <td class="md" nowrap valign="top"> int FLAC__metadata_object_vorbiscomment_find_entry_from </td>
 
1607
          <td class="md" nowrap valign="top">int FLAC__metadata_object_vorbiscomment_find_entry_from           </td>
1657
1608
          <td class="md" valign="top">(&nbsp;</td>
1658
1609
          <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
1659
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
 
1610
          <td class="mdname" nowrap> <em>object</em>, </td>
1660
1611
        </tr>
1661
1612
        <tr>
1662
 
          <td></td>
1663
 
          <td></td>
 
1613
          <td class="md" nowrap align="right"></td>
 
1614
          <td class="md"></td>
1664
1615
          <td class="md" nowrap>unsigned&nbsp;</td>
1665
 
          <td class="mdname" nowrap>&nbsp; <em>offset</em>, </td>
1666
 
        </tr>
1667
 
        <tr>
1668
 
          <td></td>
1669
 
          <td></td>
1670
 
          <td class="md" nowrap>const char *&nbsp;</td>
1671
 
          <td class="mdname" nowrap>&nbsp; <em>field_name</em></td>
1672
 
        </tr>
1673
 
        <tr>
1674
 
          <td></td>
1675
 
          <td class="md">)&nbsp;</td>
1676
 
          <td class="md" colspan="2"></td>
1677
 
        </tr>
1678
 
 
1679
 
      </table>
1680
 
    </td>
1681
 
  </tr>
1682
 
</table>
1683
 
<table cellspacing=5 cellpadding=0 border=0>
1684
 
  <tr>
1685
 
    <td>
1686
 
      &nbsp;
1687
 
    </td>
1688
 
    <td>
1689
 
 
1690
 
<p>
1691
 
Find a Vorbis comment with the given field name.
1692
 
<p>
1693
 
The search begins at entry number <em>offset</em>; use an offset of 0 to search from the beginning of the comment array.<dl compact><dt><b>
1694
 
Parameters: </b><dd>
1695
 
<table border=0 cellspacing=2 cellpadding=0>
1696
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
1697
 
A pointer to an existing VORBIS_COMMENT object. </td></tr>
1698
 
<tr><td valign=top><em>offset</em>&nbsp;</td><td>
1699
 
The offset into the comment array from where to start the search. </td></tr>
1700
 
<tr><td valign=top><em>field_name</em>&nbsp;</td><td>
1701
 
The field name of the comment to find. </td></tr>
1702
 
</table>
1703
 
</dl><dl compact><dt><b>
1704
 
Assertions:</b><dd>
1705
 
 <div class="fragment"><pre>object != NULL 
1706
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a101">FLAC__METADATA_TYPE_VORBIS_COMMENT</a> 
1707
 
</pre></div> <div class="fragment"><pre>field_name != NULL 
1708
 
</pre></div> </dl><dl compact><dt><b>
1709
 
Return values: </b><dd>
1710
 
<table border=0 cellspacing=2 cellpadding=0>
1711
 
<tr><td valign=top><em>int</em>&nbsp;</td><td>
1712
 
The offset in the comment array of the first comment whose field name matches <em>field_name</em>, or <code>-1</code> if no match was found. </td></tr>
1713
 
</table>
1714
 
</dl>    </td>
1715
 
  </tr>
1716
 
</table>
1717
 
<a name="a26" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_remove_entry_matching"></a><p>
1718
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1719
 
  <tr>
1720
 
    <td class="md">
1721
 
      <table cellpadding="0" cellspacing="0" border="0">
1722
 
        <tr>
1723
 
          <td class="md" nowrap valign="top"> int FLAC__metadata_object_vorbiscomment_remove_entry_matching </td>
1724
 
          <td class="md" valign="top">(&nbsp;</td>
1725
 
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
1726
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
1727
 
        </tr>
1728
 
        <tr>
1729
 
          <td></td>
1730
 
          <td></td>
1731
 
          <td class="md" nowrap>const char *&nbsp;</td>
1732
 
          <td class="mdname" nowrap>&nbsp; <em>field_name</em></td>
1733
 
        </tr>
1734
 
        <tr>
1735
 
          <td></td>
1736
 
          <td class="md">)&nbsp;</td>
1737
 
          <td class="md" colspan="2"></td>
1738
 
        </tr>
1739
 
 
1740
 
      </table>
1741
 
    </td>
1742
 
  </tr>
1743
 
</table>
1744
 
<table cellspacing=5 cellpadding=0 border=0>
1745
 
  <tr>
1746
 
    <td>
1747
 
      &nbsp;
1748
 
    </td>
1749
 
    <td>
1750
 
 
1751
 
<p>
1752
 
Remove first Vorbis comment matching the given field name.<dl compact><dt><b>
1753
 
Parameters: </b><dd>
1754
 
<table border=0 cellspacing=2 cellpadding=0>
1755
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
1756
 
A pointer to an existing VORBIS_COMMENT object. </td></tr>
1757
 
<tr><td valign=top><em>field_name</em>&nbsp;</td><td>
1758
 
The field name of comment to delete. </td></tr>
1759
 
</table>
1760
 
</dl><dl compact><dt><b>
1761
 
Assertions:</b><dd>
1762
 
 <div class="fragment"><pre>object != NULL 
1763
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a101">FLAC__METADATA_TYPE_VORBIS_COMMENT</a> 
1764
 
</pre></div> </dl><dl compact><dt><b>
1765
 
Return values: </b><dd>
1766
 
<table border=0 cellspacing=2 cellpadding=0>
1767
 
<tr><td valign=top><em>int</em>&nbsp;</td><td>
1768
 
<code>-1</code> for memory allocation error, <code>0</code> for no matching entries, <code>1</code> for one matching entry deleted. </td></tr>
1769
 
</table>
1770
 
</dl>    </td>
1771
 
  </tr>
1772
 
</table>
1773
 
<a name="a27" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_remove_entries_matching"></a><p>
1774
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1775
 
  <tr>
1776
 
    <td class="md">
1777
 
      <table cellpadding="0" cellspacing="0" border="0">
1778
 
        <tr>
1779
 
          <td class="md" nowrap valign="top"> int FLAC__metadata_object_vorbiscomment_remove_entries_matching </td>
1780
 
          <td class="md" valign="top">(&nbsp;</td>
1781
 
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
1782
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
1783
 
        </tr>
1784
 
        <tr>
1785
 
          <td></td>
1786
 
          <td></td>
1787
 
          <td class="md" nowrap>const char *&nbsp;</td>
1788
 
          <td class="mdname" nowrap>&nbsp; <em>field_name</em></td>
1789
 
        </tr>
1790
 
        <tr>
1791
 
          <td></td>
1792
 
          <td class="md">)&nbsp;</td>
1793
 
          <td class="md" colspan="2"></td>
1794
 
        </tr>
1795
 
 
1796
 
      </table>
1797
 
    </td>
1798
 
  </tr>
1799
 
</table>
1800
 
<table cellspacing=5 cellpadding=0 border=0>
1801
 
  <tr>
1802
 
    <td>
1803
 
      &nbsp;
1804
 
    </td>
1805
 
    <td>
1806
 
 
1807
 
<p>
1808
 
Remove all Vorbis comments matching the given field name.<dl compact><dt><b>
1809
 
Parameters: </b><dd>
1810
 
<table border=0 cellspacing=2 cellpadding=0>
1811
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
1812
 
A pointer to an existing VORBIS_COMMENT object. </td></tr>
1813
 
<tr><td valign=top><em>field_name</em>&nbsp;</td><td>
1814
 
The field name of comments to delete. </td></tr>
1815
 
</table>
1816
 
</dl><dl compact><dt><b>
1817
 
Assertions:</b><dd>
1818
 
 <div class="fragment"><pre>object != NULL 
1819
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a101">FLAC__METADATA_TYPE_VORBIS_COMMENT</a> 
1820
 
</pre></div> </dl><dl compact><dt><b>
1821
 
Return values: </b><dd>
1822
 
<table border=0 cellspacing=2 cellpadding=0>
1823
 
<tr><td valign=top><em>int</em>&nbsp;</td><td>
1824
 
<code>-1</code> for memory allocation error, <code>0</code> for no matching entries, else the number of matching entries deleted. </td></tr>
1825
 
</table>
1826
 
</dl>    </td>
1827
 
  </tr>
1828
 
</table>
1829
 
<a name="a28" doxytag="metadata.h::FLAC__metadata_object_cuesheet_track_new"></a><p>
1830
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
1831
 
  <tr>
1832
 
    <td class="md">
1833
 
      <table cellpadding="0" cellspacing="0" border="0">
1834
 
        <tr>
1835
 
          <td class="md" nowrap valign="top"> <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a>* FLAC__metadata_object_cuesheet_track_new </td>
1836
 
          <td class="md" valign="top">(&nbsp;</td>
1837
 
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
1838
 
          <td class="md" valign="top">)&nbsp;</td>
 
1616
          <td class="mdname" nowrap> <em>offset</em>, </td>
 
1617
        </tr>
 
1618
        <tr>
 
1619
          <td class="md" nowrap align="right"></td>
 
1620
          <td class="md"></td>
 
1621
          <td class="md" nowrap>const char *&nbsp;</td>
 
1622
          <td class="mdname" nowrap> <em>field_name</em></td>
 
1623
        </tr>
 
1624
        <tr>
 
1625
          <td class="md"></td>
 
1626
          <td class="md">)&nbsp;</td>
 
1627
          <td class="md" colspan="2"></td>
 
1628
        </tr>
 
1629
      </table>
 
1630
    </td>
 
1631
  </tr>
 
1632
</table>
 
1633
<table cellspacing="5" cellpadding="0" border="0">
 
1634
  <tr>
 
1635
    <td>
 
1636
      &nbsp;
 
1637
    </td>
 
1638
    <td>
 
1639
 
 
1640
<p>
 
1641
Find a Vorbis comment with the given field name.<p>
 
1642
The search begins at entry number <em>offset</em>; use an offset of 0 to search from the beginning of the comment array.<p>
 
1643
<dl compact><dt><b>Parameters:</b></dt><dd>
 
1644
  <table border="0" cellspacing="2" cellpadding="0">
 
1645
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing VORBIS_COMMENT object. </td></tr>
 
1646
    <tr><td valign="top"></td><td valign="top"><em>offset</em>&nbsp;</td><td>The offset into the comment array from where to start the search. </td></tr>
 
1647
    <tr><td valign="top"></td><td valign="top"><em>field_name</em>&nbsp;</td><td>The field name of the comment to find. </td></tr>
 
1648
  </table>
 
1649
</dl>
 
1650
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
1651
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a112">FLAC__METADATA_TYPE_VORBIS_COMMENT</a> 
 
1652
</pre></div> <div class="fragment"><pre class="fragment"> field_name != NULL 
 
1653
</pre></div> </dd></dl>
 
1654
<dl compact><dt><b>Return values:</b></dt><dd>
 
1655
  <table border="0" cellspacing="2" cellpadding="0">
 
1656
    <tr><td valign="top"></td><td valign="top"><em>int</em>&nbsp;</td><td>The offset in the comment array of the first comment whose field name matches <em>field_name</em>, or <code>-1</code> if no match was found. </td></tr>
 
1657
  </table>
 
1658
</dl>
 
1659
    </td>
 
1660
  </tr>
 
1661
</table>
 
1662
<a class="anchor" name="ga27" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_remove_entry_matching"></a><p>
 
1663
<table class="mdTable" cellpadding="2" cellspacing="0">
 
1664
  <tr>
 
1665
    <td class="mdRow">
 
1666
      <table cellpadding="0" cellspacing="0" border="0">
 
1667
        <tr>
 
1668
          <td class="md" nowrap valign="top">int FLAC__metadata_object_vorbiscomment_remove_entry_matching           </td>
 
1669
          <td class="md" valign="top">(&nbsp;</td>
 
1670
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
 
1671
          <td class="mdname" nowrap> <em>object</em>, </td>
 
1672
        </tr>
 
1673
        <tr>
 
1674
          <td class="md" nowrap align="right"></td>
 
1675
          <td class="md"></td>
 
1676
          <td class="md" nowrap>const char *&nbsp;</td>
 
1677
          <td class="mdname" nowrap> <em>field_name</em></td>
 
1678
        </tr>
 
1679
        <tr>
 
1680
          <td class="md"></td>
 
1681
          <td class="md">)&nbsp;</td>
 
1682
          <td class="md" colspan="2"></td>
 
1683
        </tr>
 
1684
      </table>
 
1685
    </td>
 
1686
  </tr>
 
1687
</table>
 
1688
<table cellspacing="5" cellpadding="0" border="0">
 
1689
  <tr>
 
1690
    <td>
 
1691
      &nbsp;
 
1692
    </td>
 
1693
    <td>
 
1694
 
 
1695
<p>
 
1696
Remove first Vorbis comment matching the given field name.<p>
 
1697
<dl compact><dt><b>Parameters:</b></dt><dd>
 
1698
  <table border="0" cellspacing="2" cellpadding="0">
 
1699
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing VORBIS_COMMENT object. </td></tr>
 
1700
    <tr><td valign="top"></td><td valign="top"><em>field_name</em>&nbsp;</td><td>The field name of comment to delete. </td></tr>
 
1701
  </table>
 
1702
</dl>
 
1703
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
1704
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a112">FLAC__METADATA_TYPE_VORBIS_COMMENT</a> 
 
1705
</pre></div> </dd></dl>
 
1706
<dl compact><dt><b>Return values:</b></dt><dd>
 
1707
  <table border="0" cellspacing="2" cellpadding="0">
 
1708
    <tr><td valign="top"></td><td valign="top"><em>int</em>&nbsp;</td><td><code>-1</code> for memory allocation error, <code>0</code> for no matching entries, <code>1</code> for one matching entry deleted. </td></tr>
 
1709
  </table>
 
1710
</dl>
 
1711
    </td>
 
1712
  </tr>
 
1713
</table>
 
1714
<a class="anchor" name="ga28" doxytag="metadata.h::FLAC__metadata_object_vorbiscomment_remove_entries_matching"></a><p>
 
1715
<table class="mdTable" cellpadding="2" cellspacing="0">
 
1716
  <tr>
 
1717
    <td class="mdRow">
 
1718
      <table cellpadding="0" cellspacing="0" border="0">
 
1719
        <tr>
 
1720
          <td class="md" nowrap valign="top">int FLAC__metadata_object_vorbiscomment_remove_entries_matching           </td>
 
1721
          <td class="md" valign="top">(&nbsp;</td>
 
1722
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
 
1723
          <td class="mdname" nowrap> <em>object</em>, </td>
 
1724
        </tr>
 
1725
        <tr>
 
1726
          <td class="md" nowrap align="right"></td>
 
1727
          <td class="md"></td>
 
1728
          <td class="md" nowrap>const char *&nbsp;</td>
 
1729
          <td class="mdname" nowrap> <em>field_name</em></td>
 
1730
        </tr>
 
1731
        <tr>
 
1732
          <td class="md"></td>
 
1733
          <td class="md">)&nbsp;</td>
 
1734
          <td class="md" colspan="2"></td>
 
1735
        </tr>
 
1736
      </table>
 
1737
    </td>
 
1738
  </tr>
 
1739
</table>
 
1740
<table cellspacing="5" cellpadding="0" border="0">
 
1741
  <tr>
 
1742
    <td>
 
1743
      &nbsp;
 
1744
    </td>
 
1745
    <td>
 
1746
 
 
1747
<p>
 
1748
Remove all Vorbis comments matching the given field name.<p>
 
1749
<dl compact><dt><b>Parameters:</b></dt><dd>
 
1750
  <table border="0" cellspacing="2" cellpadding="0">
 
1751
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing VORBIS_COMMENT object. </td></tr>
 
1752
    <tr><td valign="top"></td><td valign="top"><em>field_name</em>&nbsp;</td><td>The field name of comments to delete. </td></tr>
 
1753
  </table>
 
1754
</dl>
 
1755
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
1756
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a112">FLAC__METADATA_TYPE_VORBIS_COMMENT</a> 
 
1757
</pre></div> </dd></dl>
 
1758
<dl compact><dt><b>Return values:</b></dt><dd>
 
1759
  <table border="0" cellspacing="2" cellpadding="0">
 
1760
    <tr><td valign="top"></td><td valign="top"><em>int</em>&nbsp;</td><td><code>-1</code> for memory allocation error, <code>0</code> for no matching entries, else the number of matching entries deleted. </td></tr>
 
1761
  </table>
 
1762
</dl>
 
1763
    </td>
 
1764
  </tr>
 
1765
</table>
 
1766
<a class="anchor" name="ga29" doxytag="metadata.h::FLAC__metadata_object_cuesheet_track_new"></a><p>
 
1767
<table class="mdTable" cellpadding="2" cellspacing="0">
 
1768
  <tr>
 
1769
    <td class="mdRow">
 
1770
      <table cellpadding="0" cellspacing="0" border="0">
 
1771
        <tr>
 
1772
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a>* FLAC__metadata_object_cuesheet_track_new           </td>
 
1773
          <td class="md" valign="top">(&nbsp;</td>
 
1774
          <td class="md" nowrap valign="top">void&nbsp;</td>
 
1775
          <td class="mdname1" valign="top" nowrap>          </td>
 
1776
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1839
1777
          <td class="md" nowrap></td>
1840
1778
        </tr>
1841
 
 
1842
1779
      </table>
1843
1780
    </td>
1844
1781
  </tr>
1845
1782
</table>
1846
 
<table cellspacing=5 cellpadding=0 border=0>
 
1783
<table cellspacing="5" cellpadding="0" border="0">
1847
1784
  <tr>
1848
1785
    <td>
1849
1786
      &nbsp;
1851
1788
    <td>
1852
1789
 
1853
1790
<p>
1854
 
Create a new CUESHEET track instance.
1855
 
<p>
1856
 
The object will be "empty"; i.e. values and data pointers will be <code>0</code>.<dl compact><dt><b>
1857
 
Return values: </b><dd>
1858
 
<table border=0 cellspacing=2 cellpadding=0>
1859
 
<tr><td valign=top><em><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a></em>&nbsp;</td><td>
1860
 
* <code>NULL</code> if there was an error allocating memory, else the new instance. </td></tr>
1861
 
</table>
1862
 
</dl>    </td>
 
1791
Create a new CUESHEET track instance.<p>
 
1792
The object will be "empty"; i.e. values and data pointers will be <code>0</code>.<p>
 
1793
<dl compact><dt><b>Return values:</b></dt><dd>
 
1794
  <table border="0" cellspacing="2" cellpadding="0">
 
1795
    <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamMetadata_CueSheet_Track*</em>&nbsp;</td><td><code>NULL</code> if there was an error allocating memory, else the new instance. </td></tr>
 
1796
  </table>
 
1797
</dl>
 
1798
    </td>
1863
1799
  </tr>
1864
1800
</table>
1865
 
<a name="a29" doxytag="metadata.h::FLAC__metadata_object_cuesheet_track_clone"></a><p>
1866
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
 
1801
<a class="anchor" name="ga30" doxytag="metadata.h::FLAC__metadata_object_cuesheet_track_clone"></a><p>
 
1802
<table class="mdTable" cellpadding="2" cellspacing="0">
1867
1803
  <tr>
1868
 
    <td class="md">
 
1804
    <td class="mdRow">
1869
1805
      <table cellpadding="0" cellspacing="0" border="0">
1870
1806
        <tr>
1871
 
          <td class="md" nowrap valign="top"> <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a>* FLAC__metadata_object_cuesheet_track_clone </td>
 
1807
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a>* FLAC__metadata_object_cuesheet_track_clone           </td>
1872
1808
          <td class="md" valign="top">(&nbsp;</td>
1873
1809
          <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *&nbsp;</td>
1874
 
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>object</em>          </td>
1875
 
          <td class="md" valign="top">)&nbsp;</td>
 
1810
          <td class="mdname1" valign="top" nowrap> <em>object</em>          </td>
 
1811
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1876
1812
          <td class="md" nowrap></td>
1877
1813
        </tr>
1878
 
 
1879
1814
      </table>
1880
1815
    </td>
1881
1816
  </tr>
1882
1817
</table>
1883
 
<table cellspacing=5 cellpadding=0 border=0>
 
1818
<table cellspacing="5" cellpadding="0" border="0">
1884
1819
  <tr>
1885
1820
    <td>
1886
1821
      &nbsp;
1888
1823
    <td>
1889
1824
 
1890
1825
<p>
1891
 
Create a copy of an existing CUESHEET track object.
1892
 
<p>
1893
 
The copy is a "deep" copy, i.e. dynamically allocated data within the object is also copied. The caller takes ownership of the new object and is responsible for freeing it with <a class="el" href="group__flac__metadata__object.html#a30">FLAC__metadata_object_cuesheet_track_delete</a>().<dl compact><dt><b>
1894
 
Parameters: </b><dd>
1895
 
<table border=0 cellspacing=2 cellpadding=0>
1896
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
1897
 
Pointer to object to copy. </td></tr>
1898
 
</table>
1899
 
</dl><dl compact><dt><b>
1900
 
Assertions:</b><dd>
1901
 
 <div class="fragment"><pre>object != NULL 
1902
 
</pre></div> </dl><dl compact><dt><b>
1903
 
Return values: </b><dd>
1904
 
<table border=0 cellspacing=2 cellpadding=0>
1905
 
<tr><td valign=top><em><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a></em>&nbsp;</td><td>
1906
 
* <code>NULL</code> if there was an error allocating memory, else the new instance. </td></tr>
1907
 
</table>
1908
 
</dl>    </td>
 
1826
Create a copy of an existing CUESHEET track object.<p>
 
1827
The copy is a "deep" copy, i.e. dynamically allocated data within the object is also copied. The caller takes ownership of the new object and is responsible for freeing it with <a class="el" href="group__flac__metadata__object.html#ga31">FLAC__metadata_object_cuesheet_track_delete()</a>.<p>
 
1828
<dl compact><dt><b>Parameters:</b></dt><dd>
 
1829
  <table border="0" cellspacing="2" cellpadding="0">
 
1830
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>Pointer to object to copy. </td></tr>
 
1831
  </table>
 
1832
</dl>
 
1833
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
1834
</pre></div> </dd></dl>
 
1835
<dl compact><dt><b>Return values:</b></dt><dd>
 
1836
  <table border="0" cellspacing="2" cellpadding="0">
 
1837
    <tr><td valign="top"></td><td valign="top"><em>FLAC__StreamMetadata_CueSheet_Track*</em>&nbsp;</td><td><code>NULL</code> if there was an error allocating memory, else the new instance. </td></tr>
 
1838
  </table>
 
1839
</dl>
 
1840
    </td>
1909
1841
  </tr>
1910
1842
</table>
1911
 
<a name="a30" doxytag="metadata.h::FLAC__metadata_object_cuesheet_track_delete"></a><p>
1912
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
 
1843
<a class="anchor" name="ga31" doxytag="metadata.h::FLAC__metadata_object_cuesheet_track_delete"></a><p>
 
1844
<table class="mdTable" cellpadding="2" cellspacing="0">
1913
1845
  <tr>
1914
 
    <td class="md">
 
1846
    <td class="mdRow">
1915
1847
      <table cellpadding="0" cellspacing="0" border="0">
1916
1848
        <tr>
1917
 
          <td class="md" nowrap valign="top"> void FLAC__metadata_object_cuesheet_track_delete </td>
 
1849
          <td class="md" nowrap valign="top">void FLAC__metadata_object_cuesheet_track_delete           </td>
1918
1850
          <td class="md" valign="top">(&nbsp;</td>
1919
1851
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *&nbsp;</td>
1920
 
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>object</em>          </td>
1921
 
          <td class="md" valign="top">)&nbsp;</td>
 
1852
          <td class="mdname1" valign="top" nowrap> <em>object</em>          </td>
 
1853
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1922
1854
          <td class="md" nowrap></td>
1923
1855
        </tr>
1924
 
 
1925
1856
      </table>
1926
1857
    </td>
1927
1858
  </tr>
1928
1859
</table>
1929
 
<table cellspacing=5 cellpadding=0 border=0>
 
1860
<table cellspacing="5" cellpadding="0" border="0">
1930
1861
  <tr>
1931
1862
    <td>
1932
1863
      &nbsp;
1934
1865
    <td>
1935
1866
 
1936
1867
<p>
1937
 
Delete a CUESHEET track object<dl compact><dt><b>
1938
 
Parameters: </b><dd>
1939
 
<table border=0 cellspacing=2 cellpadding=0>
1940
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
1941
 
A pointer to an existing CUESHEET track object. </td></tr>
1942
 
</table>
1943
 
</dl><dl compact><dt><b>
1944
 
Assertions:</b><dd>
1945
 
 <div class="fragment"><pre>object != NULL 
1946
 
</pre></div> </dl>    </td>
 
1868
Delete a CUESHEET track object<p>
 
1869
<dl compact><dt><b>Parameters:</b></dt><dd>
 
1870
  <table border="0" cellspacing="2" cellpadding="0">
 
1871
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing CUESHEET track object. </td></tr>
 
1872
  </table>
 
1873
</dl>
 
1874
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
1875
</pre></div> </dd></dl>
 
1876
    </td>
1947
1877
  </tr>
1948
1878
</table>
1949
 
<a name="a31" doxytag="metadata.h::FLAC__metadata_object_cuesheet_track_resize_indices"></a><p>
1950
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
 
1879
<a class="anchor" name="ga32" doxytag="metadata.h::FLAC__metadata_object_cuesheet_track_resize_indices"></a><p>
 
1880
<table class="mdTable" cellpadding="2" cellspacing="0">
1951
1881
  <tr>
1952
 
    <td class="md">
 
1882
    <td class="mdRow">
1953
1883
      <table cellpadding="0" cellspacing="0" border="0">
1954
1884
        <tr>
1955
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_cuesheet_track_resize_indices </td>
 
1885
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_cuesheet_track_resize_indices           </td>
1956
1886
          <td class="md" valign="top">(&nbsp;</td>
1957
1887
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
1958
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
1959
 
        </tr>
1960
 
        <tr>
1961
 
          <td></td>
1962
 
          <td></td>
1963
 
          <td class="md" nowrap>unsigned&nbsp;</td>
1964
 
          <td class="mdname" nowrap>&nbsp; <em>track_num</em>, </td>
1965
 
        </tr>
1966
 
        <tr>
1967
 
          <td></td>
1968
 
          <td></td>
1969
 
          <td class="md" nowrap>unsigned&nbsp;</td>
1970
 
          <td class="mdname" nowrap>&nbsp; <em>new_num_indices</em></td>
1971
 
        </tr>
1972
 
        <tr>
1973
 
          <td></td>
 
1888
          <td class="mdname" nowrap> <em>object</em>, </td>
 
1889
        </tr>
 
1890
        <tr>
 
1891
          <td class="md" nowrap align="right"></td>
 
1892
          <td class="md"></td>
 
1893
          <td class="md" nowrap>unsigned&nbsp;</td>
 
1894
          <td class="mdname" nowrap> <em>track_num</em>, </td>
 
1895
        </tr>
 
1896
        <tr>
 
1897
          <td class="md" nowrap align="right"></td>
 
1898
          <td class="md"></td>
 
1899
          <td class="md" nowrap>unsigned&nbsp;</td>
 
1900
          <td class="mdname" nowrap> <em>new_num_indices</em></td>
 
1901
        </tr>
 
1902
        <tr>
 
1903
          <td class="md"></td>
1974
1904
          <td class="md">)&nbsp;</td>
1975
1905
          <td class="md" colspan="2"></td>
1976
1906
        </tr>
1977
 
 
1978
1907
      </table>
1979
1908
    </td>
1980
1909
  </tr>
1981
1910
</table>
1982
 
<table cellspacing=5 cellpadding=0 border=0>
 
1911
<table cellspacing="5" cellpadding="0" border="0">
1983
1912
  <tr>
1984
1913
    <td>
1985
1914
      &nbsp;
1987
1916
    <td>
1988
1917
 
1989
1918
<p>
1990
 
Resize a track's index point array.
1991
 
<p>
1992
 
If the size shrinks, elements will truncated; if it grows, new blank indices will be added to the end.<dl compact><dt><b>
1993
 
Parameters: </b><dd>
1994
 
<table border=0 cellspacing=2 cellpadding=0>
1995
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
1996
 
A pointer to an existing CUESHEET object. </td></tr>
1997
 
<tr><td valign=top><em>track_num</em>&nbsp;</td><td>
1998
 
The index of the track to modify. NOTE: this is not necessarily the same as the track's <em>number</em> field. </td></tr>
1999
 
<tr><td valign=top><em>new_num_indices</em>&nbsp;</td><td>
2000
 
The desired length of the array; may be <code>0</code>. </td></tr>
2001
 
</table>
2002
 
</dl><dl compact><dt><b>
2003
 
Assertions:</b><dd>
2004
 
 <div class="fragment"><pre>object != NULL 
2005
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a102">FLAC__METADATA_TYPE_CUESHEET</a> 
2006
 
</pre></div> <div class="fragment"><pre>object-&gt;data.cue_sheet.num_tracks &gt; track_num 
2007
 
</pre></div> <div class="fragment"><pre>(object-&gt;data.cue_sheet.tracks[track_num].indices == NULL &amp;&amp; object-&gt;data.cue_sheet.tracks[track_num].num_indices == 0) ||
 
1919
Resize a track's index point array.<p>
 
1920
If the size shrinks, elements will truncated; if it grows, new blank indices will be added to the end.<p>
 
1921
<dl compact><dt><b>Parameters:</b></dt><dd>
 
1922
  <table border="0" cellspacing="2" cellpadding="0">
 
1923
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing CUESHEET object. </td></tr>
 
1924
    <tr><td valign="top"></td><td valign="top"><em>track_num</em>&nbsp;</td><td>The index of the track to modify. NOTE: this is not necessarily the same as the track's <em>number</em> field. </td></tr>
 
1925
    <tr><td valign="top"></td><td valign="top"><em>new_num_indices</em>&nbsp;</td><td>The desired length of the array; may be <code>0</code>. </td></tr>
 
1926
  </table>
 
1927
</dl>
 
1928
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
1929
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a113">FLAC__METADATA_TYPE_CUESHEET</a> 
 
1930
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.cue_sheet.num_tracks &gt; track_num 
 
1931
</pre></div> <div class="fragment"><pre class="fragment"> (object-&gt;data.cue_sheet.tracks[track_num].indices == NULL &amp;&amp; object-&gt;data.cue_sheet.tracks[track_num].num_indices == 0) ||
2008
1932
 (object-&gt;data.cue_sheet.tracks[track_num].indices != NULL &amp;&amp; object-&gt;data.cue_sheet.tracks[track_num].num_indices &gt; 0) 
2009
 
</pre></div> </dl><dl compact><dt><b>
2010
 
Return values: </b><dd>
2011
 
<table border=0 cellspacing=2 cellpadding=0>
2012
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
2013
 
<code>false</code> if memory allocation error, else <code>true</code>. </td></tr>
2014
 
</table>
2015
 
</dl>    </td>
 
1933
</pre></div> </dd></dl>
 
1934
<dl compact><dt><b>Return values:</b></dt><dd>
 
1935
  <table border="0" cellspacing="2" cellpadding="0">
 
1936
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation error, else <code>true</code>. </td></tr>
 
1937
  </table>
 
1938
</dl>
 
1939
    </td>
2016
1940
  </tr>
2017
1941
</table>
2018
 
<a name="a32" doxytag="metadata.h::FLAC__metadata_object_cuesheet_track_insert_index"></a><p>
2019
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
 
1942
<a class="anchor" name="ga33" doxytag="metadata.h::FLAC__metadata_object_cuesheet_track_insert_index"></a><p>
 
1943
<table class="mdTable" cellpadding="2" cellspacing="0">
2020
1944
  <tr>
2021
 
    <td class="md">
 
1945
    <td class="mdRow">
2022
1946
      <table cellpadding="0" cellspacing="0" border="0">
2023
1947
        <tr>
2024
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_cuesheet_track_insert_index </td>
 
1948
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_cuesheet_track_insert_index           </td>
2025
1949
          <td class="md" valign="top">(&nbsp;</td>
2026
1950
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
2027
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
2028
 
        </tr>
2029
 
        <tr>
2030
 
          <td></td>
2031
 
          <td></td>
2032
 
          <td class="md" nowrap>unsigned&nbsp;</td>
2033
 
          <td class="mdname" nowrap>&nbsp; <em>track_num</em>, </td>
2034
 
        </tr>
2035
 
        <tr>
2036
 
          <td></td>
2037
 
          <td></td>
2038
 
          <td class="md" nowrap>unsigned&nbsp;</td>
2039
 
          <td class="mdname" nowrap>&nbsp; <em>index_num</em>, </td>
2040
 
        </tr>
2041
 
        <tr>
2042
 
          <td></td>
2043
 
          <td></td>
 
1951
          <td class="mdname" nowrap> <em>object</em>, </td>
 
1952
        </tr>
 
1953
        <tr>
 
1954
          <td class="md" nowrap align="right"></td>
 
1955
          <td class="md"></td>
 
1956
          <td class="md" nowrap>unsigned&nbsp;</td>
 
1957
          <td class="mdname" nowrap> <em>track_num</em>, </td>
 
1958
        </tr>
 
1959
        <tr>
 
1960
          <td class="md" nowrap align="right"></td>
 
1961
          <td class="md"></td>
 
1962
          <td class="md" nowrap>unsigned&nbsp;</td>
 
1963
          <td class="mdname" nowrap> <em>index_num</em>, </td>
 
1964
        </tr>
 
1965
        <tr>
 
1966
          <td class="md" nowrap align="right"></td>
 
1967
          <td class="md"></td>
2044
1968
          <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a>&nbsp;</td>
2045
 
          <td class="mdname" nowrap>&nbsp; <em>index</em></td>
2046
 
        </tr>
2047
 
        <tr>
2048
 
          <td></td>
2049
 
          <td class="md">)&nbsp;</td>
2050
 
          <td class="md" colspan="2"></td>
2051
 
        </tr>
2052
 
 
2053
 
      </table>
2054
 
    </td>
2055
 
  </tr>
2056
 
</table>
2057
 
<table cellspacing=5 cellpadding=0 border=0>
2058
 
  <tr>
2059
 
    <td>
2060
 
      &nbsp;
2061
 
    </td>
2062
 
    <td>
2063
 
 
2064
 
<p>
2065
 
Insert an index point in a CUESHEET track at the given index.<dl compact><dt><b>
2066
 
Parameters: </b><dd>
2067
 
<table border=0 cellspacing=2 cellpadding=0>
2068
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
2069
 
A pointer to an existing CUESHEET object. </td></tr>
2070
 
<tr><td valign=top><em>track_num</em>&nbsp;</td><td>
2071
 
The index of the track to modify. NOTE: this is not necessarily the same as the track's <em>number</em> field. </td></tr>
2072
 
<tr><td valign=top><em>index_num</em>&nbsp;</td><td>
2073
 
The index into the track's index array at which to insert the index point. NOTE: this is not necessarily the same as the index point's <em>number</em> field. The indices at and after <em>index_num</em> move right one position. To append an index point to the end, set <em>index_num</em> to <code>object-&gt;data.cue_sheet.tracks[track_num].num_indices</code> . </td></tr>
2074
 
<tr><td valign=top><em>index</em>&nbsp;</td><td>
2075
 
The index point to insert. </td></tr>
2076
 
</table>
2077
 
</dl><dl compact><dt><b>
2078
 
Assertions:</b><dd>
2079
 
 <div class="fragment"><pre>object != NULL 
2080
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a102">FLAC__METADATA_TYPE_CUESHEET</a> 
2081
 
</pre></div> <div class="fragment"><pre>object-&gt;data.cue_sheet.num_tracks &gt; track_num 
2082
 
</pre></div> <div class="fragment"><pre>object-&gt;data.cue_sheet.tracks[track_num].num_indices &gt;= index_num 
2083
 
</pre></div> </dl><dl compact><dt><b>
2084
 
Return values: </b><dd>
2085
 
<table border=0 cellspacing=2 cellpadding=0>
2086
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
2087
 
<code>false</code> if realloc() fails, else <code>true</code>. </td></tr>
2088
 
</table>
2089
 
</dl>    </td>
2090
 
  </tr>
2091
 
</table>
2092
 
<a name="a33" doxytag="metadata.h::FLAC__metadata_object_cuesheet_track_insert_blank_index"></a><p>
2093
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
2094
 
  <tr>
2095
 
    <td class="md">
2096
 
      <table cellpadding="0" cellspacing="0" border="0">
2097
 
        <tr>
2098
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_cuesheet_track_insert_blank_index </td>
2099
 
          <td class="md" valign="top">(&nbsp;</td>
2100
 
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
2101
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
2102
 
        </tr>
2103
 
        <tr>
2104
 
          <td></td>
2105
 
          <td></td>
2106
 
          <td class="md" nowrap>unsigned&nbsp;</td>
2107
 
          <td class="mdname" nowrap>&nbsp; <em>track_num</em>, </td>
2108
 
        </tr>
2109
 
        <tr>
2110
 
          <td></td>
2111
 
          <td></td>
2112
 
          <td class="md" nowrap>unsigned&nbsp;</td>
2113
 
          <td class="mdname" nowrap>&nbsp; <em>index_num</em></td>
2114
 
        </tr>
2115
 
        <tr>
2116
 
          <td></td>
2117
 
          <td class="md">)&nbsp;</td>
2118
 
          <td class="md" colspan="2"></td>
2119
 
        </tr>
2120
 
 
2121
 
      </table>
2122
 
    </td>
2123
 
  </tr>
2124
 
</table>
2125
 
<table cellspacing=5 cellpadding=0 border=0>
2126
 
  <tr>
2127
 
    <td>
2128
 
      &nbsp;
2129
 
    </td>
2130
 
    <td>
2131
 
 
2132
 
<p>
2133
 
Insert a blank index point in a CUESHEET track at the given index.
2134
 
<p>
2135
 
A blank index point is one in which all field values are zero.<dl compact><dt><b>
2136
 
Parameters: </b><dd>
2137
 
<table border=0 cellspacing=2 cellpadding=0>
2138
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
2139
 
A pointer to an existing CUESHEET object. </td></tr>
2140
 
<tr><td valign=top><em>track_num</em>&nbsp;</td><td>
2141
 
The index of the track to modify. NOTE: this is not necessarily the same as the track's <em>number</em> field. </td></tr>
2142
 
<tr><td valign=top><em>index_num</em>&nbsp;</td><td>
2143
 
The index into the track's index array at which to insert the index point. NOTE: this is not necessarily the same as the index point's <em>number</em> field. The indices at and after <em>index_num</em> move right one position. To append an index point to the end, set <em>index_num</em> to <code>object-&gt;data.cue_sheet.tracks[track_num].num_indices</code> . </td></tr>
2144
 
</table>
2145
 
</dl><dl compact><dt><b>
2146
 
Assertions:</b><dd>
2147
 
 <div class="fragment"><pre>object != NULL 
2148
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a102">FLAC__METADATA_TYPE_CUESHEET</a> 
2149
 
</pre></div> <div class="fragment"><pre>object-&gt;data.cue_sheet.num_tracks &gt; track_num 
2150
 
</pre></div> <div class="fragment"><pre>object-&gt;data.cue_sheet.tracks[track_num].num_indices &gt;= index_num 
2151
 
</pre></div> </dl><dl compact><dt><b>
2152
 
Return values: </b><dd>
2153
 
<table border=0 cellspacing=2 cellpadding=0>
2154
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
2155
 
<code>false</code> if realloc() fails, else <code>true</code>. </td></tr>
2156
 
</table>
2157
 
</dl>    </td>
2158
 
  </tr>
2159
 
</table>
2160
 
<a name="a34" doxytag="metadata.h::FLAC__metadata_object_cuesheet_track_delete_index"></a><p>
2161
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
2162
 
  <tr>
2163
 
    <td class="md">
2164
 
      <table cellpadding="0" cellspacing="0" border="0">
2165
 
        <tr>
2166
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_cuesheet_track_delete_index </td>
2167
 
          <td class="md" valign="top">(&nbsp;</td>
2168
 
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
2169
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
2170
 
        </tr>
2171
 
        <tr>
2172
 
          <td></td>
2173
 
          <td></td>
2174
 
          <td class="md" nowrap>unsigned&nbsp;</td>
2175
 
          <td class="mdname" nowrap>&nbsp; <em>track_num</em>, </td>
2176
 
        </tr>
2177
 
        <tr>
2178
 
          <td></td>
2179
 
          <td></td>
2180
 
          <td class="md" nowrap>unsigned&nbsp;</td>
2181
 
          <td class="mdname" nowrap>&nbsp; <em>index_num</em></td>
2182
 
        </tr>
2183
 
        <tr>
2184
 
          <td></td>
2185
 
          <td class="md">)&nbsp;</td>
2186
 
          <td class="md" colspan="2"></td>
2187
 
        </tr>
2188
 
 
2189
 
      </table>
2190
 
    </td>
2191
 
  </tr>
2192
 
</table>
2193
 
<table cellspacing=5 cellpadding=0 border=0>
2194
 
  <tr>
2195
 
    <td>
2196
 
      &nbsp;
2197
 
    </td>
2198
 
    <td>
2199
 
 
2200
 
<p>
2201
 
Delete an index point in a CUESHEET track at the given index.<dl compact><dt><b>
2202
 
Parameters: </b><dd>
2203
 
<table border=0 cellspacing=2 cellpadding=0>
2204
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
2205
 
A pointer to an existing CUESHEET object. </td></tr>
2206
 
<tr><td valign=top><em>track_num</em>&nbsp;</td><td>
2207
 
The index into the track array of the track to modify. NOTE: this is not necessarily the same as the track's <em>number</em> field. </td></tr>
2208
 
<tr><td valign=top><em>index_num</em>&nbsp;</td><td>
2209
 
The index into the track's index array of the index to delete. NOTE: this is not necessarily the same as the index's <em>number</em> field. </td></tr>
2210
 
</table>
2211
 
</dl><dl compact><dt><b>
2212
 
Assertions:</b><dd>
2213
 
 <div class="fragment"><pre>object != NULL 
2214
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a102">FLAC__METADATA_TYPE_CUESHEET</a> 
2215
 
</pre></div> <div class="fragment"><pre>object-&gt;data.cue_sheet.num_tracks &gt; track_num 
2216
 
</pre></div> <div class="fragment"><pre>object-&gt;data.cue_sheet.tracks[track_num].num_indices &gt; index_num 
2217
 
</pre></div> </dl><dl compact><dt><b>
2218
 
Return values: </b><dd>
2219
 
<table border=0 cellspacing=2 cellpadding=0>
2220
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
2221
 
<code>false</code> if realloc() fails, else <code>true</code>. </td></tr>
2222
 
</table>
2223
 
</dl>    </td>
2224
 
  </tr>
2225
 
</table>
2226
 
<a name="a35" doxytag="metadata.h::FLAC__metadata_object_cuesheet_resize_tracks"></a><p>
2227
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
2228
 
  <tr>
2229
 
    <td class="md">
2230
 
      <table cellpadding="0" cellspacing="0" border="0">
2231
 
        <tr>
2232
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_cuesheet_resize_tracks </td>
2233
 
          <td class="md" valign="top">(&nbsp;</td>
2234
 
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
2235
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
2236
 
        </tr>
2237
 
        <tr>
2238
 
          <td></td>
2239
 
          <td></td>
2240
 
          <td class="md" nowrap>unsigned&nbsp;</td>
2241
 
          <td class="mdname" nowrap>&nbsp; <em>new_num_tracks</em></td>
2242
 
        </tr>
2243
 
        <tr>
2244
 
          <td></td>
2245
 
          <td class="md">)&nbsp;</td>
2246
 
          <td class="md" colspan="2"></td>
2247
 
        </tr>
2248
 
 
2249
 
      </table>
2250
 
    </td>
2251
 
  </tr>
2252
 
</table>
2253
 
<table cellspacing=5 cellpadding=0 border=0>
2254
 
  <tr>
2255
 
    <td>
2256
 
      &nbsp;
2257
 
    </td>
2258
 
    <td>
2259
 
 
2260
 
<p>
2261
 
Resize the track array.
2262
 
<p>
2263
 
If the size shrinks, elements will truncated; if it grows, new blank tracks will be added to the end.<dl compact><dt><b>
2264
 
Parameters: </b><dd>
2265
 
<table border=0 cellspacing=2 cellpadding=0>
2266
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
2267
 
A pointer to an existing CUESHEET object. </td></tr>
2268
 
<tr><td valign=top><em>new_num_tracks</em>&nbsp;</td><td>
2269
 
The desired length of the array; may be <code>0</code>. </td></tr>
2270
 
</table>
2271
 
</dl><dl compact><dt><b>
2272
 
Assertions:</b><dd>
2273
 
 <div class="fragment"><pre>object != NULL 
2274
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a102">FLAC__METADATA_TYPE_CUESHEET</a> 
2275
 
</pre></div> <div class="fragment"><pre>(object-&gt;data.cue_sheet.tracks == NULL &amp;&amp; object-&gt;data.cue_sheet.num_tracks == 0) ||
 
1969
          <td class="mdname" nowrap> <em>index</em></td>
 
1970
        </tr>
 
1971
        <tr>
 
1972
          <td class="md"></td>
 
1973
          <td class="md">)&nbsp;</td>
 
1974
          <td class="md" colspan="2"></td>
 
1975
        </tr>
 
1976
      </table>
 
1977
    </td>
 
1978
  </tr>
 
1979
</table>
 
1980
<table cellspacing="5" cellpadding="0" border="0">
 
1981
  <tr>
 
1982
    <td>
 
1983
      &nbsp;
 
1984
    </td>
 
1985
    <td>
 
1986
 
 
1987
<p>
 
1988
Insert an index point in a CUESHEET track at the given index.<p>
 
1989
<dl compact><dt><b>Parameters:</b></dt><dd>
 
1990
  <table border="0" cellspacing="2" cellpadding="0">
 
1991
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing CUESHEET object. </td></tr>
 
1992
    <tr><td valign="top"></td><td valign="top"><em>track_num</em>&nbsp;</td><td>The index of the track to modify. NOTE: this is not necessarily the same as the track's <em>number</em> field. </td></tr>
 
1993
    <tr><td valign="top"></td><td valign="top"><em>index_num</em>&nbsp;</td><td>The index into the track's index array at which to insert the index point. NOTE: this is not necessarily the same as the index point's <em>number</em> field. The indices at and after <em>index_num</em> move right one position. To append an index point to the end, set <em>index_num</em> to <code>object-&gt;data.cue_sheet.tracks</code>[track_num].num_indices . </td></tr>
 
1994
    <tr><td valign="top"></td><td valign="top"><em>index</em>&nbsp;</td><td>The index point to insert. </td></tr>
 
1995
  </table>
 
1996
</dl>
 
1997
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
1998
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a113">FLAC__METADATA_TYPE_CUESHEET</a> 
 
1999
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.cue_sheet.num_tracks &gt; track_num 
 
2000
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.cue_sheet.tracks[track_num].num_indices &gt;= index_num 
 
2001
</pre></div> </dd></dl>
 
2002
<dl compact><dt><b>Return values:</b></dt><dd>
 
2003
  <table border="0" cellspacing="2" cellpadding="0">
 
2004
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if realloc() fails, else <code>true</code>. </td></tr>
 
2005
  </table>
 
2006
</dl>
 
2007
    </td>
 
2008
  </tr>
 
2009
</table>
 
2010
<a class="anchor" name="ga34" doxytag="metadata.h::FLAC__metadata_object_cuesheet_track_insert_blank_index"></a><p>
 
2011
<table class="mdTable" cellpadding="2" cellspacing="0">
 
2012
  <tr>
 
2013
    <td class="mdRow">
 
2014
      <table cellpadding="0" cellspacing="0" border="0">
 
2015
        <tr>
 
2016
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_cuesheet_track_insert_blank_index           </td>
 
2017
          <td class="md" valign="top">(&nbsp;</td>
 
2018
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
 
2019
          <td class="mdname" nowrap> <em>object</em>, </td>
 
2020
        </tr>
 
2021
        <tr>
 
2022
          <td class="md" nowrap align="right"></td>
 
2023
          <td class="md"></td>
 
2024
          <td class="md" nowrap>unsigned&nbsp;</td>
 
2025
          <td class="mdname" nowrap> <em>track_num</em>, </td>
 
2026
        </tr>
 
2027
        <tr>
 
2028
          <td class="md" nowrap align="right"></td>
 
2029
          <td class="md"></td>
 
2030
          <td class="md" nowrap>unsigned&nbsp;</td>
 
2031
          <td class="mdname" nowrap> <em>index_num</em></td>
 
2032
        </tr>
 
2033
        <tr>
 
2034
          <td class="md"></td>
 
2035
          <td class="md">)&nbsp;</td>
 
2036
          <td class="md" colspan="2"></td>
 
2037
        </tr>
 
2038
      </table>
 
2039
    </td>
 
2040
  </tr>
 
2041
</table>
 
2042
<table cellspacing="5" cellpadding="0" border="0">
 
2043
  <tr>
 
2044
    <td>
 
2045
      &nbsp;
 
2046
    </td>
 
2047
    <td>
 
2048
 
 
2049
<p>
 
2050
Insert a blank index point in a CUESHEET track at the given index.<p>
 
2051
A blank index point is one in which all field values are zero.<p>
 
2052
<dl compact><dt><b>Parameters:</b></dt><dd>
 
2053
  <table border="0" cellspacing="2" cellpadding="0">
 
2054
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing CUESHEET object. </td></tr>
 
2055
    <tr><td valign="top"></td><td valign="top"><em>track_num</em>&nbsp;</td><td>The index of the track to modify. NOTE: this is not necessarily the same as the track's <em>number</em> field. </td></tr>
 
2056
    <tr><td valign="top"></td><td valign="top"><em>index_num</em>&nbsp;</td><td>The index into the track's index array at which to insert the index point. NOTE: this is not necessarily the same as the index point's <em>number</em> field. The indices at and after <em>index_num</em> move right one position. To append an index point to the end, set <em>index_num</em> to <code>object-&gt;data.cue_sheet.tracks</code>[track_num].num_indices . </td></tr>
 
2057
  </table>
 
2058
</dl>
 
2059
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
2060
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a113">FLAC__METADATA_TYPE_CUESHEET</a> 
 
2061
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.cue_sheet.num_tracks &gt; track_num 
 
2062
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.cue_sheet.tracks[track_num].num_indices &gt;= index_num 
 
2063
</pre></div> </dd></dl>
 
2064
<dl compact><dt><b>Return values:</b></dt><dd>
 
2065
  <table border="0" cellspacing="2" cellpadding="0">
 
2066
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if realloc() fails, else <code>true</code>. </td></tr>
 
2067
  </table>
 
2068
</dl>
 
2069
    </td>
 
2070
  </tr>
 
2071
</table>
 
2072
<a class="anchor" name="ga35" doxytag="metadata.h::FLAC__metadata_object_cuesheet_track_delete_index"></a><p>
 
2073
<table class="mdTable" cellpadding="2" cellspacing="0">
 
2074
  <tr>
 
2075
    <td class="mdRow">
 
2076
      <table cellpadding="0" cellspacing="0" border="0">
 
2077
        <tr>
 
2078
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_cuesheet_track_delete_index           </td>
 
2079
          <td class="md" valign="top">(&nbsp;</td>
 
2080
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
 
2081
          <td class="mdname" nowrap> <em>object</em>, </td>
 
2082
        </tr>
 
2083
        <tr>
 
2084
          <td class="md" nowrap align="right"></td>
 
2085
          <td class="md"></td>
 
2086
          <td class="md" nowrap>unsigned&nbsp;</td>
 
2087
          <td class="mdname" nowrap> <em>track_num</em>, </td>
 
2088
        </tr>
 
2089
        <tr>
 
2090
          <td class="md" nowrap align="right"></td>
 
2091
          <td class="md"></td>
 
2092
          <td class="md" nowrap>unsigned&nbsp;</td>
 
2093
          <td class="mdname" nowrap> <em>index_num</em></td>
 
2094
        </tr>
 
2095
        <tr>
 
2096
          <td class="md"></td>
 
2097
          <td class="md">)&nbsp;</td>
 
2098
          <td class="md" colspan="2"></td>
 
2099
        </tr>
 
2100
      </table>
 
2101
    </td>
 
2102
  </tr>
 
2103
</table>
 
2104
<table cellspacing="5" cellpadding="0" border="0">
 
2105
  <tr>
 
2106
    <td>
 
2107
      &nbsp;
 
2108
    </td>
 
2109
    <td>
 
2110
 
 
2111
<p>
 
2112
Delete an index point in a CUESHEET track at the given index.<p>
 
2113
<dl compact><dt><b>Parameters:</b></dt><dd>
 
2114
  <table border="0" cellspacing="2" cellpadding="0">
 
2115
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing CUESHEET object. </td></tr>
 
2116
    <tr><td valign="top"></td><td valign="top"><em>track_num</em>&nbsp;</td><td>The index into the track array of the track to modify. NOTE: this is not necessarily the same as the track's <em>number</em> field. </td></tr>
 
2117
    <tr><td valign="top"></td><td valign="top"><em>index_num</em>&nbsp;</td><td>The index into the track's index array of the index to delete. NOTE: this is not necessarily the same as the index's <em>number</em> field. </td></tr>
 
2118
  </table>
 
2119
</dl>
 
2120
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
2121
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a113">FLAC__METADATA_TYPE_CUESHEET</a> 
 
2122
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.cue_sheet.num_tracks &gt; track_num 
 
2123
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.cue_sheet.tracks[track_num].num_indices &gt; index_num 
 
2124
</pre></div> </dd></dl>
 
2125
<dl compact><dt><b>Return values:</b></dt><dd>
 
2126
  <table border="0" cellspacing="2" cellpadding="0">
 
2127
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if realloc() fails, else <code>true</code>. </td></tr>
 
2128
  </table>
 
2129
</dl>
 
2130
    </td>
 
2131
  </tr>
 
2132
</table>
 
2133
<a class="anchor" name="ga36" doxytag="metadata.h::FLAC__metadata_object_cuesheet_resize_tracks"></a><p>
 
2134
<table class="mdTable" cellpadding="2" cellspacing="0">
 
2135
  <tr>
 
2136
    <td class="mdRow">
 
2137
      <table cellpadding="0" cellspacing="0" border="0">
 
2138
        <tr>
 
2139
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_cuesheet_resize_tracks           </td>
 
2140
          <td class="md" valign="top">(&nbsp;</td>
 
2141
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
 
2142
          <td class="mdname" nowrap> <em>object</em>, </td>
 
2143
        </tr>
 
2144
        <tr>
 
2145
          <td class="md" nowrap align="right"></td>
 
2146
          <td class="md"></td>
 
2147
          <td class="md" nowrap>unsigned&nbsp;</td>
 
2148
          <td class="mdname" nowrap> <em>new_num_tracks</em></td>
 
2149
        </tr>
 
2150
        <tr>
 
2151
          <td class="md"></td>
 
2152
          <td class="md">)&nbsp;</td>
 
2153
          <td class="md" colspan="2"></td>
 
2154
        </tr>
 
2155
      </table>
 
2156
    </td>
 
2157
  </tr>
 
2158
</table>
 
2159
<table cellspacing="5" cellpadding="0" border="0">
 
2160
  <tr>
 
2161
    <td>
 
2162
      &nbsp;
 
2163
    </td>
 
2164
    <td>
 
2165
 
 
2166
<p>
 
2167
Resize the track array.<p>
 
2168
If the size shrinks, elements will truncated; if it grows, new blank tracks will be added to the end.<p>
 
2169
<dl compact><dt><b>Parameters:</b></dt><dd>
 
2170
  <table border="0" cellspacing="2" cellpadding="0">
 
2171
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing CUESHEET object. </td></tr>
 
2172
    <tr><td valign="top"></td><td valign="top"><em>new_num_tracks</em>&nbsp;</td><td>The desired length of the array; may be <code>0</code>. </td></tr>
 
2173
  </table>
 
2174
</dl>
 
2175
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
2176
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a113">FLAC__METADATA_TYPE_CUESHEET</a> 
 
2177
</pre></div> <div class="fragment"><pre class="fragment"> (object-&gt;data.cue_sheet.tracks == NULL &amp;&amp; object-&gt;data.cue_sheet.num_tracks == 0) ||
2276
2178
 (object-&gt;data.cue_sheet.tracks != NULL &amp;&amp; object-&gt;data.cue_sheet.num_tracks &gt; 0) 
2277
 
</pre></div> </dl><dl compact><dt><b>
2278
 
Return values: </b><dd>
2279
 
<table border=0 cellspacing=2 cellpadding=0>
2280
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
2281
 
<code>false</code> if memory allocation error, else <code>true</code>. </td></tr>
2282
 
</table>
2283
 
</dl>    </td>
 
2179
</pre></div> </dd></dl>
 
2180
<dl compact><dt><b>Return values:</b></dt><dd>
 
2181
  <table border="0" cellspacing="2" cellpadding="0">
 
2182
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if memory allocation error, else <code>true</code>. </td></tr>
 
2183
  </table>
 
2184
</dl>
 
2185
    </td>
2284
2186
  </tr>
2285
2187
</table>
2286
 
<a name="a36" doxytag="metadata.h::FLAC__metadata_object_cuesheet_insert_track"></a><p>
2287
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
 
2188
<a class="anchor" name="ga37" doxytag="metadata.h::FLAC__metadata_object_cuesheet_insert_track"></a><p>
 
2189
<table class="mdTable" cellpadding="2" cellspacing="0">
2288
2190
  <tr>
2289
 
    <td class="md">
 
2191
    <td class="mdRow">
2290
2192
      <table cellpadding="0" cellspacing="0" border="0">
2291
2193
        <tr>
2292
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_cuesheet_insert_track </td>
 
2194
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_cuesheet_insert_track           </td>
2293
2195
          <td class="md" valign="top">(&nbsp;</td>
2294
2196
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
2295
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
 
2197
          <td class="mdname" nowrap> <em>object</em>, </td>
2296
2198
        </tr>
2297
2199
        <tr>
2298
 
          <td></td>
2299
 
          <td></td>
 
2200
          <td class="md" nowrap align="right"></td>
 
2201
          <td class="md"></td>
2300
2202
          <td class="md" nowrap>unsigned&nbsp;</td>
2301
 
          <td class="mdname" nowrap>&nbsp; <em>track_num</em>, </td>
 
2203
          <td class="mdname" nowrap> <em>track_num</em>, </td>
2302
2204
        </tr>
2303
2205
        <tr>
2304
 
          <td></td>
2305
 
          <td></td>
 
2206
          <td class="md" nowrap align="right"></td>
 
2207
          <td class="md"></td>
2306
2208
          <td class="md" nowrap><a class="el" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *&nbsp;</td>
2307
 
          <td class="mdname" nowrap>&nbsp; <em>track</em>, </td>
 
2209
          <td class="mdname" nowrap> <em>track</em>, </td>
2308
2210
        </tr>
2309
2211
        <tr>
2310
 
          <td></td>
2311
 
          <td></td>
 
2212
          <td class="md" nowrap align="right"></td>
 
2213
          <td class="md"></td>
2312
2214
          <td class="md" nowrap>FLAC__bool&nbsp;</td>
2313
 
          <td class="mdname" nowrap>&nbsp; <em>copy</em></td>
 
2215
          <td class="mdname" nowrap> <em>copy</em></td>
2314
2216
        </tr>
2315
2217
        <tr>
2316
 
          <td></td>
 
2218
          <td class="md"></td>
2317
2219
          <td class="md">)&nbsp;</td>
2318
2220
          <td class="md" colspan="2"></td>
2319
2221
        </tr>
2320
 
 
2321
2222
      </table>
2322
2223
    </td>
2323
2224
  </tr>
2324
2225
</table>
2325
 
<table cellspacing=5 cellpadding=0 border=0>
 
2226
<table cellspacing="5" cellpadding="0" border="0">
2326
2227
  <tr>
2327
2228
    <td>
2328
2229
      &nbsp;
2330
2231
    <td>
2331
2232
 
2332
2233
<p>
2333
 
Sets a track in a CUESHEET block.
2334
 
<p>
2335
 
If <em>copy</em> is <code>true</code>, a copy of the track is stored; otherwise, the object takes ownership of the <em>track</em> pointer.<dl compact><dt><b>
2336
 
Parameters: </b><dd>
2337
 
<table border=0 cellspacing=2 cellpadding=0>
2338
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
2339
 
A pointer to an existing CUESHEET object. </td></tr>
2340
 
<tr><td valign=top><em>track_num</em>&nbsp;</td><td>
2341
 
Index into track array to set. NOTE: this is not necessarily the same as the track's <em>number</em> field. </td></tr>
2342
 
<tr><td valign=top><em>track</em>&nbsp;</td><td>
2343
 
The track to set the track to. You may safely pass in a const pointer if <em>copy</em> is <code>true</code>. </td></tr>
2344
 
<tr><td valign=top><em>copy</em>&nbsp;</td><td>
2345
 
See above. </td></tr>
2346
 
</table>
2347
 
</dl><dl compact><dt><b>
2348
 
Assertions:</b><dd>
2349
 
 <div class="fragment"><pre>object != NULL 
2350
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a102">FLAC__METADATA_TYPE_CUESHEET</a> 
2351
 
</pre></div> <div class="fragment"><pre>track_num &lt; object-&gt;data.cue_sheet.num_tracks 
2352
 
</pre></div> <div class="fragment"><pre>(track-&gt;indices != NULL &amp;&amp; track-&gt;num_indices &gt; 0) ||
 
2234
Sets a track in a CUESHEET block.<p>
 
2235
If <em>copy</em> is <code>true</code>, a copy of the track is stored; otherwise, the object takes ownership of the <em>track</em> pointer.<p>
 
2236
<dl compact><dt><b>Parameters:</b></dt><dd>
 
2237
  <table border="0" cellspacing="2" cellpadding="0">
 
2238
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing CUESHEET object. </td></tr>
 
2239
    <tr><td valign="top"></td><td valign="top"><em>track_num</em>&nbsp;</td><td>Index into track array to set. NOTE: this is not necessarily the same as the track's <em>number</em> field. </td></tr>
 
2240
    <tr><td valign="top"></td><td valign="top"><em>track</em>&nbsp;</td><td>The track to set the track to. You may safely pass in a const pointer if <em>copy</em> is <code>true</code>. </td></tr>
 
2241
    <tr><td valign="top"></td><td valign="top"><em>copy</em>&nbsp;</td><td>See above. </td></tr>
 
2242
  </table>
 
2243
</dl>
 
2244
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
2245
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a113">FLAC__METADATA_TYPE_CUESHEET</a> 
 
2246
</pre></div> <div class="fragment"><pre class="fragment"> track_num &lt; object-&gt;data.cue_sheet.num_tracks 
 
2247
</pre></div> <div class="fragment"><pre class="fragment"> (track-&gt;indices != NULL &amp;&amp; track-&gt;num_indices &gt; 0) ||
2353
2248
 (track-&gt;indices == NULL &amp;&amp; track-&gt;num_indices == 0)
2354
2249
 \retval FLAC__bool
2355
 
    \c <font class="keyword">false</font> <font class="keywordflow">if</font> \a copy is \c <font class="keyword">true</font> and malloc() fails, <font class="keywordflow">else</font> \c <font class="keyword">true</font>.
 
2250
    \c <span class="keyword">false</span> <span class="keywordflow">if</span> \a copy is \c <span class="keyword">true</span> and malloc() fails, else \c true.
2356
2251
 */
2357
 
   FLAC__bool FLAC__metadata_object_cuesheet_set_track(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <font class="keywordtype">unsigned</font> track_num, <a class="code" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *track, FLAC__bool copy);
2358
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a102">FLAC__METADATA_TYPE_CUESHEET</a> 
2359
 
</pre></div> <div class="fragment"><pre>object-&gt;data.cue_sheet.num_tracks &gt;= track_num 
2360
 
</pre></div> </dl><dl compact><dt><b>
2361
 
Return values: </b><dd>
2362
 
<table border=0 cellspacing=2 cellpadding=0>
2363
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
2364
 
<code>false</code> if <em>copy</em> is <code>true</code> and malloc() fails, else <code>true</code>. </td></tr>
2365
 
</table>
2366
 
</dl>    </td>
2367
 
  </tr>
2368
 
</table>
2369
 
<a name="a37" doxytag="metadata.h::FLAC__metadata_object_cuesheet_insert_blank_track"></a><p>
2370
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
2371
 
  <tr>
2372
 
    <td class="md">
2373
 
      <table cellpadding="0" cellspacing="0" border="0">
2374
 
        <tr>
2375
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_cuesheet_insert_blank_track </td>
2376
 
          <td class="md" valign="top">(&nbsp;</td>
2377
 
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
2378
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
2379
 
        </tr>
2380
 
        <tr>
2381
 
          <td></td>
2382
 
          <td></td>
2383
 
          <td class="md" nowrap>unsigned&nbsp;</td>
2384
 
          <td class="mdname" nowrap>&nbsp; <em>track_num</em></td>
2385
 
        </tr>
2386
 
        <tr>
2387
 
          <td></td>
2388
 
          <td class="md">)&nbsp;</td>
2389
 
          <td class="md" colspan="2"></td>
2390
 
        </tr>
2391
 
 
2392
 
      </table>
2393
 
    </td>
2394
 
  </tr>
2395
 
</table>
2396
 
<table cellspacing=5 cellpadding=0 border=0>
2397
 
  <tr>
2398
 
    <td>
2399
 
      &nbsp;
2400
 
    </td>
2401
 
    <td>
2402
 
 
2403
 
<p>
2404
 
Insert a blank track in a CUESHEET block at the given index.
2405
 
<p>
2406
 
A blank track is one in which all field values are zero.<dl compact><dt><b>
2407
 
Parameters: </b><dd>
2408
 
<table border=0 cellspacing=2 cellpadding=0>
2409
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
2410
 
A pointer to an existing CUESHEET object. </td></tr>
2411
 
<tr><td valign=top><em>track_num</em>&nbsp;</td><td>
2412
 
The index at which to insert the track. NOTE: this is not necessarily the same as the track's <em>number</em> field. The tracks at and after <em>track_num</em> move right one position. To append a track to the end, set <em>track_num</em> to <code>object-&gt;data.cue_sheet.num_tracks</code> . </td></tr>
2413
 
</table>
2414
 
</dl><dl compact><dt><b>
2415
 
Assertions:</b><dd>
2416
 
 <div class="fragment"><pre>object != NULL 
2417
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a102">FLAC__METADATA_TYPE_CUESHEET</a> 
2418
 
</pre></div> <div class="fragment"><pre>object-&gt;data.cue_sheet.num_tracks &gt;= track_num 
2419
 
</pre></div> </dl><dl compact><dt><b>
2420
 
Return values: </b><dd>
2421
 
<table border=0 cellspacing=2 cellpadding=0>
2422
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
2423
 
<code>false</code> if <em>copy</em> is <code>true</code> and malloc() fails, else <code>true</code>. </td></tr>
2424
 
</table>
2425
 
</dl>    </td>
2426
 
  </tr>
2427
 
</table>
2428
 
<a name="a38" doxytag="metadata.h::FLAC__metadata_object_cuesheet_delete_track"></a><p>
2429
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
2430
 
  <tr>
2431
 
    <td class="md">
2432
 
      <table cellpadding="0" cellspacing="0" border="0">
2433
 
        <tr>
2434
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_cuesheet_delete_track </td>
2435
 
          <td class="md" valign="top">(&nbsp;</td>
2436
 
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
2437
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
2438
 
        </tr>
2439
 
        <tr>
2440
 
          <td></td>
2441
 
          <td></td>
2442
 
          <td class="md" nowrap>unsigned&nbsp;</td>
2443
 
          <td class="mdname" nowrap>&nbsp; <em>track_num</em></td>
2444
 
        </tr>
2445
 
        <tr>
2446
 
          <td></td>
2447
 
          <td class="md">)&nbsp;</td>
2448
 
          <td class="md" colspan="2"></td>
2449
 
        </tr>
2450
 
 
2451
 
      </table>
2452
 
    </td>
2453
 
  </tr>
2454
 
</table>
2455
 
<table cellspacing=5 cellpadding=0 border=0>
2456
 
  <tr>
2457
 
    <td>
2458
 
      &nbsp;
2459
 
    </td>
2460
 
    <td>
2461
 
 
2462
 
<p>
2463
 
Delete a track in a CUESHEET block at the given index.<dl compact><dt><b>
2464
 
Parameters: </b><dd>
2465
 
<table border=0 cellspacing=2 cellpadding=0>
2466
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
2467
 
A pointer to an existing CUESHEET object. </td></tr>
2468
 
<tr><td valign=top><em>track_num</em>&nbsp;</td><td>
2469
 
The index into the track array of the track to delete. NOTE: this is not necessarily the same as the track's <em>number</em> field. </td></tr>
2470
 
</table>
2471
 
</dl><dl compact><dt><b>
2472
 
Assertions:</b><dd>
2473
 
 <div class="fragment"><pre>object != NULL 
2474
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a102">FLAC__METADATA_TYPE_CUESHEET</a> 
2475
 
</pre></div> <div class="fragment"><pre>object-&gt;data.cue_sheet.num_tracks &gt; track_num 
2476
 
</pre></div> </dl><dl compact><dt><b>
2477
 
Return values: </b><dd>
2478
 
<table border=0 cellspacing=2 cellpadding=0>
2479
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
2480
 
<code>false</code> if realloc() fails, else <code>true</code>. </td></tr>
2481
 
</table>
2482
 
</dl>    </td>
2483
 
  </tr>
2484
 
</table>
2485
 
<a name="a39" doxytag="metadata.h::FLAC__metadata_object_cuesheet_is_legal"></a><p>
2486
 
<table width="100%" cellpadding="2" cellspacing="0" border="0">
2487
 
  <tr>
2488
 
    <td class="md">
2489
 
      <table cellpadding="0" cellspacing="0" border="0">
2490
 
        <tr>
2491
 
          <td class="md" nowrap valign="top"> FLAC__bool FLAC__metadata_object_cuesheet_is_legal </td>
2492
 
          <td class="md" valign="top">(&nbsp;</td>
2493
 
          <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
2494
 
          <td class="mdname" nowrap>&nbsp; <em>object</em>, </td>
2495
 
        </tr>
2496
 
        <tr>
2497
 
          <td></td>
2498
 
          <td></td>
2499
 
          <td class="md" nowrap>FLAC__bool&nbsp;</td>
2500
 
          <td class="mdname" nowrap>&nbsp; <em>check_cd_da_subset</em>, </td>
2501
 
        </tr>
2502
 
        <tr>
2503
 
          <td></td>
2504
 
          <td></td>
2505
 
          <td class="md" nowrap>const char **&nbsp;</td>
2506
 
          <td class="mdname" nowrap>&nbsp; <em>violation</em></td>
2507
 
        </tr>
2508
 
        <tr>
2509
 
          <td></td>
2510
 
          <td class="md">)&nbsp;</td>
2511
 
          <td class="md" colspan="2"></td>
2512
 
        </tr>
2513
 
 
2514
 
      </table>
2515
 
    </td>
2516
 
  </tr>
2517
 
</table>
2518
 
<table cellspacing=5 cellpadding=0 border=0>
2519
 
  <tr>
2520
 
    <td>
2521
 
      &nbsp;
2522
 
    </td>
2523
 
    <td>
2524
 
 
2525
 
<p>
2526
 
Check a cue sheet to see if it conforms to the FLAC specification. See the format specification for limits on the contents of the cue sheet.<dl compact><dt><b>
2527
 
Parameters: </b><dd>
2528
 
<table border=0 cellspacing=2 cellpadding=0>
2529
 
<tr><td valign=top><em>object</em>&nbsp;</td><td>
2530
 
A pointer to an existing CUESHEET object. </td></tr>
2531
 
<tr><td valign=top><em>check_cd_da_subset</em>&nbsp;</td><td>
2532
 
If <code>true</code>, check CUESHEET against more stringent requirements for a CD-DA (audio) disc. </td></tr>
2533
 
<tr><td valign=top><em>violation</em>&nbsp;</td><td>
2534
 
Address of a pointer to a string. If there is a violation, a pointer to a string explanation of the violation will be returned here. <em>violation</em> may be <code>NULL</code> if you don't need the returned string. Do not free the returned string; it will always point to static data. </td></tr>
2535
 
</table>
2536
 
</dl><dl compact><dt><b>
2537
 
Assertions:</b><dd>
2538
 
 <div class="fragment"><pre>object != NULL 
2539
 
</pre></div> <div class="fragment"><pre>object-&gt;type == <a class="code" href="format_8h.html#a97a102">FLAC__METADATA_TYPE_CUESHEET</a> 
2540
 
</pre></div> </dl><dl compact><dt><b>
2541
 
Return values: </b><dd>
2542
 
<table border=0 cellspacing=2 cellpadding=0>
2543
 
<tr><td valign=top><em>FLAC__bool</em>&nbsp;</td><td>
2544
 
<code>false</code> if cue sheet is illegal, else <code>true</code>. </td></tr>
2545
 
</table>
2546
 
</dl>    </td>
2547
 
  </tr>
2548
 
</table>
2549
 
<hr><address><small>Generated on Fri Feb 4 18:39:16 2005 for FLAC by
2550
 
<a href="http://www.doxygen.org/index.html">
2551
 
<img src="doxygen.gif" alt="doxygen" align="middle" border=0 
2552
 
width=110 height=53></a>1.2.14 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
2553
 
 &copy;&nbsp;1997-2002</small></address>
 
2252
   FLAC__bool FLAC__metadata_object_cuesheet_set_track(<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">unsigned</span> track_num, <a class="code" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *track, FLAC__bool copy);
 
2253
 
 
2254
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a113">FLAC__METADATA_TYPE_CUESHEET</a> 
 
2255
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.cue_sheet.num_tracks &gt;= track_num 
 
2256
</pre></div> </dd></dl>
 
2257
<dl compact><dt><b>Return values:</b></dt><dd>
 
2258
  <table border="0" cellspacing="2" cellpadding="0">
 
2259
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if <em>copy</em> is <code>true</code> and malloc() fails, else <code>true</code>. </td></tr>
 
2260
  </table>
 
2261
</dl>
 
2262
    </td>
 
2263
  </tr>
 
2264
</table>
 
2265
<a class="anchor" name="ga38" doxytag="metadata.h::FLAC__metadata_object_cuesheet_insert_blank_track"></a><p>
 
2266
<table class="mdTable" cellpadding="2" cellspacing="0">
 
2267
  <tr>
 
2268
    <td class="mdRow">
 
2269
      <table cellpadding="0" cellspacing="0" border="0">
 
2270
        <tr>
 
2271
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_cuesheet_insert_blank_track           </td>
 
2272
          <td class="md" valign="top">(&nbsp;</td>
 
2273
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
 
2274
          <td class="mdname" nowrap> <em>object</em>, </td>
 
2275
        </tr>
 
2276
        <tr>
 
2277
          <td class="md" nowrap align="right"></td>
 
2278
          <td class="md"></td>
 
2279
          <td class="md" nowrap>unsigned&nbsp;</td>
 
2280
          <td class="mdname" nowrap> <em>track_num</em></td>
 
2281
        </tr>
 
2282
        <tr>
 
2283
          <td class="md"></td>
 
2284
          <td class="md">)&nbsp;</td>
 
2285
          <td class="md" colspan="2"></td>
 
2286
        </tr>
 
2287
      </table>
 
2288
    </td>
 
2289
  </tr>
 
2290
</table>
 
2291
<table cellspacing="5" cellpadding="0" border="0">
 
2292
  <tr>
 
2293
    <td>
 
2294
      &nbsp;
 
2295
    </td>
 
2296
    <td>
 
2297
 
 
2298
<p>
 
2299
Insert a blank track in a CUESHEET block at the given index.<p>
 
2300
A blank track is one in which all field values are zero.<p>
 
2301
<dl compact><dt><b>Parameters:</b></dt><dd>
 
2302
  <table border="0" cellspacing="2" cellpadding="0">
 
2303
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing CUESHEET object. </td></tr>
 
2304
    <tr><td valign="top"></td><td valign="top"><em>track_num</em>&nbsp;</td><td>The index at which to insert the track. NOTE: this is not necessarily the same as the track's <em>number</em> field. The tracks at and after <em>track_num</em> move right one position. To append a track to the end, set <em>track_num</em> to <code>object-&gt;data.cue_sheet.num_tracks</code> . </td></tr>
 
2305
  </table>
 
2306
</dl>
 
2307
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
2308
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a113">FLAC__METADATA_TYPE_CUESHEET</a> 
 
2309
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.cue_sheet.num_tracks &gt;= track_num 
 
2310
</pre></div> </dd></dl>
 
2311
<dl compact><dt><b>Return values:</b></dt><dd>
 
2312
  <table border="0" cellspacing="2" cellpadding="0">
 
2313
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if <em>copy</em> is <code>true</code> and malloc() fails, else <code>true</code>. </td></tr>
 
2314
  </table>
 
2315
</dl>
 
2316
    </td>
 
2317
  </tr>
 
2318
</table>
 
2319
<a class="anchor" name="ga39" doxytag="metadata.h::FLAC__metadata_object_cuesheet_delete_track"></a><p>
 
2320
<table class="mdTable" cellpadding="2" cellspacing="0">
 
2321
  <tr>
 
2322
    <td class="mdRow">
 
2323
      <table cellpadding="0" cellspacing="0" border="0">
 
2324
        <tr>
 
2325
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_cuesheet_delete_track           </td>
 
2326
          <td class="md" valign="top">(&nbsp;</td>
 
2327
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
 
2328
          <td class="mdname" nowrap> <em>object</em>, </td>
 
2329
        </tr>
 
2330
        <tr>
 
2331
          <td class="md" nowrap align="right"></td>
 
2332
          <td class="md"></td>
 
2333
          <td class="md" nowrap>unsigned&nbsp;</td>
 
2334
          <td class="mdname" nowrap> <em>track_num</em></td>
 
2335
        </tr>
 
2336
        <tr>
 
2337
          <td class="md"></td>
 
2338
          <td class="md">)&nbsp;</td>
 
2339
          <td class="md" colspan="2"></td>
 
2340
        </tr>
 
2341
      </table>
 
2342
    </td>
 
2343
  </tr>
 
2344
</table>
 
2345
<table cellspacing="5" cellpadding="0" border="0">
 
2346
  <tr>
 
2347
    <td>
 
2348
      &nbsp;
 
2349
    </td>
 
2350
    <td>
 
2351
 
 
2352
<p>
 
2353
Delete a track in a CUESHEET block at the given index.<p>
 
2354
<dl compact><dt><b>Parameters:</b></dt><dd>
 
2355
  <table border="0" cellspacing="2" cellpadding="0">
 
2356
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing CUESHEET object. </td></tr>
 
2357
    <tr><td valign="top"></td><td valign="top"><em>track_num</em>&nbsp;</td><td>The index into the track array of the track to delete. NOTE: this is not necessarily the same as the track's <em>number</em> field. </td></tr>
 
2358
  </table>
 
2359
</dl>
 
2360
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
2361
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a113">FLAC__METADATA_TYPE_CUESHEET</a> 
 
2362
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;data.cue_sheet.num_tracks &gt; track_num 
 
2363
</pre></div> </dd></dl>
 
2364
<dl compact><dt><b>Return values:</b></dt><dd>
 
2365
  <table border="0" cellspacing="2" cellpadding="0">
 
2366
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if realloc() fails, else <code>true</code>. </td></tr>
 
2367
  </table>
 
2368
</dl>
 
2369
    </td>
 
2370
  </tr>
 
2371
</table>
 
2372
<a class="anchor" name="ga40" doxytag="metadata.h::FLAC__metadata_object_cuesheet_is_legal"></a><p>
 
2373
<table class="mdTable" cellpadding="2" cellspacing="0">
 
2374
  <tr>
 
2375
    <td class="mdRow">
 
2376
      <table cellpadding="0" cellspacing="0" border="0">
 
2377
        <tr>
 
2378
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_cuesheet_is_legal           </td>
 
2379
          <td class="md" valign="top">(&nbsp;</td>
 
2380
          <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
 
2381
          <td class="mdname" nowrap> <em>object</em>, </td>
 
2382
        </tr>
 
2383
        <tr>
 
2384
          <td class="md" nowrap align="right"></td>
 
2385
          <td class="md"></td>
 
2386
          <td class="md" nowrap>FLAC__bool&nbsp;</td>
 
2387
          <td class="mdname" nowrap> <em>check_cd_da_subset</em>, </td>
 
2388
        </tr>
 
2389
        <tr>
 
2390
          <td class="md" nowrap align="right"></td>
 
2391
          <td class="md"></td>
 
2392
          <td class="md" nowrap>const char **&nbsp;</td>
 
2393
          <td class="mdname" nowrap> <em>violation</em></td>
 
2394
        </tr>
 
2395
        <tr>
 
2396
          <td class="md"></td>
 
2397
          <td class="md">)&nbsp;</td>
 
2398
          <td class="md" colspan="2"></td>
 
2399
        </tr>
 
2400
      </table>
 
2401
    </td>
 
2402
  </tr>
 
2403
</table>
 
2404
<table cellspacing="5" cellpadding="0" border="0">
 
2405
  <tr>
 
2406
    <td>
 
2407
      &nbsp;
 
2408
    </td>
 
2409
    <td>
 
2410
 
 
2411
<p>
 
2412
Check a cue sheet to see if it conforms to the FLAC specification. See the format specification for limits on the contents of the cue sheet.<p>
 
2413
<dl compact><dt><b>Parameters:</b></dt><dd>
 
2414
  <table border="0" cellspacing="2" cellpadding="0">
 
2415
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing CUESHEET object. </td></tr>
 
2416
    <tr><td valign="top"></td><td valign="top"><em>check_cd_da_subset</em>&nbsp;</td><td>If <code>true</code>, check CUESHEET against more stringent requirements for a CD-DA (audio) disc. </td></tr>
 
2417
    <tr><td valign="top"></td><td valign="top"><em>violation</em>&nbsp;</td><td>Address of a pointer to a string. If there is a violation, a pointer to a string explanation of the violation will be returned here. <em>violation</em> may be <code>NULL</code> if you don't need the returned string. Do not free the returned string; it will always point to static data. </td></tr>
 
2418
  </table>
 
2419
</dl>
 
2420
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
2421
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a113">FLAC__METADATA_TYPE_CUESHEET</a> 
 
2422
</pre></div> </dd></dl>
 
2423
<dl compact><dt><b>Return values:</b></dt><dd>
 
2424
  <table border="0" cellspacing="2" cellpadding="0">
 
2425
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if cue sheet is illegal, else <code>true</code>. </td></tr>
 
2426
  </table>
 
2427
</dl>
 
2428
    </td>
 
2429
  </tr>
 
2430
</table>
 
2431
<a class="anchor" name="ga41" doxytag="metadata.h::FLAC__metadata_object_cuesheet_calculate_cddb_id"></a><p>
 
2432
<table class="mdTable" cellpadding="2" cellspacing="0">
 
2433
  <tr>
 
2434
    <td class="mdRow">
 
2435
      <table cellpadding="0" cellspacing="0" border="0">
 
2436
        <tr>
 
2437
          <td class="md" nowrap valign="top">FLAC__uint32 FLAC__metadata_object_cuesheet_calculate_cddb_id           </td>
 
2438
          <td class="md" valign="top">(&nbsp;</td>
 
2439
          <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
 
2440
          <td class="mdname1" valign="top" nowrap> <em>object</em>          </td>
 
2441
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
 
2442
          <td class="md" nowrap></td>
 
2443
        </tr>
 
2444
      </table>
 
2445
    </td>
 
2446
  </tr>
 
2447
</table>
 
2448
<table cellspacing="5" cellpadding="0" border="0">
 
2449
  <tr>
 
2450
    <td>
 
2451
      &nbsp;
 
2452
    </td>
 
2453
    <td>
 
2454
 
 
2455
<p>
 
2456
Calculate and return the CDDB/freedb ID for a cue sheet. The function assumes the cue sheet corresponds to a CD; the result is undefined if the cuesheet's is_cd bit is not set.<p>
 
2457
<dl compact><dt><b>Parameters:</b></dt><dd>
 
2458
  <table border="0" cellspacing="2" cellpadding="0">
 
2459
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing CUESHEET object. </td></tr>
 
2460
  </table>
 
2461
</dl>
 
2462
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
2463
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a113">FLAC__METADATA_TYPE_CUESHEET</a> 
 
2464
</pre></div> </dd></dl>
 
2465
<dl compact><dt><b>Return values:</b></dt><dd>
 
2466
  <table border="0" cellspacing="2" cellpadding="0">
 
2467
    <tr><td valign="top"></td><td valign="top"><em>FLAC__uint32</em>&nbsp;</td><td>The unsigned integer representation of the CDDB/freedb ID </td></tr>
 
2468
  </table>
 
2469
</dl>
 
2470
    </td>
 
2471
  </tr>
 
2472
</table>
 
2473
<a class="anchor" name="ga42" doxytag="metadata.h::FLAC__metadata_object_picture_set_mime_type"></a><p>
 
2474
<table class="mdTable" cellpadding="2" cellspacing="0">
 
2475
  <tr>
 
2476
    <td class="mdRow">
 
2477
      <table cellpadding="0" cellspacing="0" border="0">
 
2478
        <tr>
 
2479
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_picture_set_mime_type           </td>
 
2480
          <td class="md" valign="top">(&nbsp;</td>
 
2481
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
 
2482
          <td class="mdname" nowrap> <em>object</em>, </td>
 
2483
        </tr>
 
2484
        <tr>
 
2485
          <td class="md" nowrap align="right"></td>
 
2486
          <td class="md"></td>
 
2487
          <td class="md" nowrap>char *&nbsp;</td>
 
2488
          <td class="mdname" nowrap> <em>mime_type</em>, </td>
 
2489
        </tr>
 
2490
        <tr>
 
2491
          <td class="md" nowrap align="right"></td>
 
2492
          <td class="md"></td>
 
2493
          <td class="md" nowrap>FLAC__bool&nbsp;</td>
 
2494
          <td class="mdname" nowrap> <em>copy</em></td>
 
2495
        </tr>
 
2496
        <tr>
 
2497
          <td class="md"></td>
 
2498
          <td class="md">)&nbsp;</td>
 
2499
          <td class="md" colspan="2"></td>
 
2500
        </tr>
 
2501
      </table>
 
2502
    </td>
 
2503
  </tr>
 
2504
</table>
 
2505
<table cellspacing="5" cellpadding="0" border="0">
 
2506
  <tr>
 
2507
    <td>
 
2508
      &nbsp;
 
2509
    </td>
 
2510
    <td>
 
2511
 
 
2512
<p>
 
2513
Sets the MIME type of a PICTURE block.<p>
 
2514
If <em>copy</em> is <code>true</code>, a copy of the string is stored; otherwise, the object takes ownership of the pointer. The existing string will be freed if this function is successful, otherwise the original string will remain if <em>copy</em> is <code>true</code> and malloc() fails.<p>
 
2515
<dl compact><dt><b>Note:</b></dt><dd>It is safe to pass a const pointer to <em>mime_type</em> if <em>copy</em> is <code>true</code>.</dd></dl>
 
2516
<dl compact><dt><b>Parameters:</b></dt><dd>
 
2517
  <table border="0" cellspacing="2" cellpadding="0">
 
2518
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing PICTURE object. </td></tr>
 
2519
    <tr><td valign="top"></td><td valign="top"><em>mime_type</em>&nbsp;</td><td>A pointer to the MIME type string. The string must be ASCII characters 0x20-0x7e, NUL-terminated. No validation is done. </td></tr>
 
2520
    <tr><td valign="top"></td><td valign="top"><em>copy</em>&nbsp;</td><td>See above. </td></tr>
 
2521
  </table>
 
2522
</dl>
 
2523
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
2524
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a114">FLAC__METADATA_TYPE_PICTURE</a> 
 
2525
</pre></div> <div class="fragment"><pre class="fragment"> (mime_type != NULL) 
 
2526
</pre></div> </dd></dl>
 
2527
<dl compact><dt><b>Return values:</b></dt><dd>
 
2528
  <table border="0" cellspacing="2" cellpadding="0">
 
2529
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if <em>copy</em> is <code>true</code> and malloc() fails, else <code>true</code>. </td></tr>
 
2530
  </table>
 
2531
</dl>
 
2532
    </td>
 
2533
  </tr>
 
2534
</table>
 
2535
<a class="anchor" name="ga43" doxytag="metadata.h::FLAC__metadata_object_picture_set_description"></a><p>
 
2536
<table class="mdTable" cellpadding="2" cellspacing="0">
 
2537
  <tr>
 
2538
    <td class="mdRow">
 
2539
      <table cellpadding="0" cellspacing="0" border="0">
 
2540
        <tr>
 
2541
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_picture_set_description           </td>
 
2542
          <td class="md" valign="top">(&nbsp;</td>
 
2543
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
 
2544
          <td class="mdname" nowrap> <em>object</em>, </td>
 
2545
        </tr>
 
2546
        <tr>
 
2547
          <td class="md" nowrap align="right"></td>
 
2548
          <td class="md"></td>
 
2549
          <td class="md" nowrap>FLAC__byte *&nbsp;</td>
 
2550
          <td class="mdname" nowrap> <em>description</em>, </td>
 
2551
        </tr>
 
2552
        <tr>
 
2553
          <td class="md" nowrap align="right"></td>
 
2554
          <td class="md"></td>
 
2555
          <td class="md" nowrap>FLAC__bool&nbsp;</td>
 
2556
          <td class="mdname" nowrap> <em>copy</em></td>
 
2557
        </tr>
 
2558
        <tr>
 
2559
          <td class="md"></td>
 
2560
          <td class="md">)&nbsp;</td>
 
2561
          <td class="md" colspan="2"></td>
 
2562
        </tr>
 
2563
      </table>
 
2564
    </td>
 
2565
  </tr>
 
2566
</table>
 
2567
<table cellspacing="5" cellpadding="0" border="0">
 
2568
  <tr>
 
2569
    <td>
 
2570
      &nbsp;
 
2571
    </td>
 
2572
    <td>
 
2573
 
 
2574
<p>
 
2575
Sets the description of a PICTURE block.<p>
 
2576
If <em>copy</em> is <code>true</code>, a copy of the string is stored; otherwise, the object takes ownership of the pointer. The existing string will be freed if this function is successful, otherwise the original string will remain if <em>copy</em> is <code>true</code> and malloc() fails.<p>
 
2577
<dl compact><dt><b>Note:</b></dt><dd>It is safe to pass a const pointer to <em>description</em> if <em>copy</em> is <code>true</code>.</dd></dl>
 
2578
<dl compact><dt><b>Parameters:</b></dt><dd>
 
2579
  <table border="0" cellspacing="2" cellpadding="0">
 
2580
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing PICTURE object. </td></tr>
 
2581
    <tr><td valign="top"></td><td valign="top"><em>description</em>&nbsp;</td><td>A pointer to the description string. The string must be valid UTF-8, NUL-terminated. No validation is done. </td></tr>
 
2582
    <tr><td valign="top"></td><td valign="top"><em>copy</em>&nbsp;</td><td>See above. </td></tr>
 
2583
  </table>
 
2584
</dl>
 
2585
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
2586
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a114">FLAC__METADATA_TYPE_PICTURE</a> 
 
2587
</pre></div> <div class="fragment"><pre class="fragment"> (description != NULL) 
 
2588
</pre></div> </dd></dl>
 
2589
<dl compact><dt><b>Return values:</b></dt><dd>
 
2590
  <table border="0" cellspacing="2" cellpadding="0">
 
2591
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if <em>copy</em> is <code>true</code> and malloc() fails, else <code>true</code>. </td></tr>
 
2592
  </table>
 
2593
</dl>
 
2594
    </td>
 
2595
  </tr>
 
2596
</table>
 
2597
<a class="anchor" name="ga44" doxytag="metadata.h::FLAC__metadata_object_picture_set_data"></a><p>
 
2598
<table class="mdTable" cellpadding="2" cellspacing="0">
 
2599
  <tr>
 
2600
    <td class="mdRow">
 
2601
      <table cellpadding="0" cellspacing="0" border="0">
 
2602
        <tr>
 
2603
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_picture_set_data           </td>
 
2604
          <td class="md" valign="top">(&nbsp;</td>
 
2605
          <td class="md" nowrap valign="top"><a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
 
2606
          <td class="mdname" nowrap> <em>object</em>, </td>
 
2607
        </tr>
 
2608
        <tr>
 
2609
          <td class="md" nowrap align="right"></td>
 
2610
          <td class="md"></td>
 
2611
          <td class="md" nowrap>FLAC__byte *&nbsp;</td>
 
2612
          <td class="mdname" nowrap> <em>data</em>, </td>
 
2613
        </tr>
 
2614
        <tr>
 
2615
          <td class="md" nowrap align="right"></td>
 
2616
          <td class="md"></td>
 
2617
          <td class="md" nowrap>FLAC__uint32&nbsp;</td>
 
2618
          <td class="mdname" nowrap> <em>length</em>, </td>
 
2619
        </tr>
 
2620
        <tr>
 
2621
          <td class="md" nowrap align="right"></td>
 
2622
          <td class="md"></td>
 
2623
          <td class="md" nowrap>FLAC__bool&nbsp;</td>
 
2624
          <td class="mdname" nowrap> <em>copy</em></td>
 
2625
        </tr>
 
2626
        <tr>
 
2627
          <td class="md"></td>
 
2628
          <td class="md">)&nbsp;</td>
 
2629
          <td class="md" colspan="2"></td>
 
2630
        </tr>
 
2631
      </table>
 
2632
    </td>
 
2633
  </tr>
 
2634
</table>
 
2635
<table cellspacing="5" cellpadding="0" border="0">
 
2636
  <tr>
 
2637
    <td>
 
2638
      &nbsp;
 
2639
    </td>
 
2640
    <td>
 
2641
 
 
2642
<p>
 
2643
Sets the picture data of a PICTURE block.<p>
 
2644
If <em>copy</em> is <code>true</code>, a copy of the data is stored; otherwise, the object takes ownership of the pointer. Also sets the <em>data_length</em> field of the metadata object to what is passed in as the <em>length</em> parameter. The existing data will be freed if this function is successful, otherwise the original data and data_length will remain if <em>copy</em> is <code>true</code> and malloc() fails.<p>
 
2645
<dl compact><dt><b>Note:</b></dt><dd>It is safe to pass a const pointer to <em>data</em> if <em>copy</em> is <code>true</code>.</dd></dl>
 
2646
<dl compact><dt><b>Parameters:</b></dt><dd>
 
2647
  <table border="0" cellspacing="2" cellpadding="0">
 
2648
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to an existing PICTURE object. </td></tr>
 
2649
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>A pointer to the data to set. </td></tr>
 
2650
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The length of <em>data</em> in bytes. </td></tr>
 
2651
    <tr><td valign="top"></td><td valign="top"><em>copy</em>&nbsp;</td><td>See above. </td></tr>
 
2652
  </table>
 
2653
</dl>
 
2654
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
2655
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a114">FLAC__METADATA_TYPE_PICTURE</a> 
 
2656
</pre></div> <div class="fragment"><pre class="fragment"> (data != NULL &amp;&amp; length &gt; 0) ||
 
2657
 (data == NULL &amp;&amp; length == 0 &amp;&amp; copy == <span class="keyword">false</span>) 
 
2658
</pre></div> </dd></dl>
 
2659
<dl compact><dt><b>Return values:</b></dt><dd>
 
2660
  <table border="0" cellspacing="2" cellpadding="0">
 
2661
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if <em>copy</em> is <code>true</code> and malloc() fails, else <code>true</code>. </td></tr>
 
2662
  </table>
 
2663
</dl>
 
2664
    </td>
 
2665
  </tr>
 
2666
</table>
 
2667
<a class="anchor" name="ga45" doxytag="metadata.h::FLAC__metadata_object_picture_is_legal"></a><p>
 
2668
<table class="mdTable" cellpadding="2" cellspacing="0">
 
2669
  <tr>
 
2670
    <td class="mdRow">
 
2671
      <table cellpadding="0" cellspacing="0" border="0">
 
2672
        <tr>
 
2673
          <td class="md" nowrap valign="top">FLAC__bool FLAC__metadata_object_picture_is_legal           </td>
 
2674
          <td class="md" valign="top">(&nbsp;</td>
 
2675
          <td class="md" nowrap valign="top">const <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *&nbsp;</td>
 
2676
          <td class="mdname" nowrap> <em>object</em>, </td>
 
2677
        </tr>
 
2678
        <tr>
 
2679
          <td class="md" nowrap align="right"></td>
 
2680
          <td class="md"></td>
 
2681
          <td class="md" nowrap>const char **&nbsp;</td>
 
2682
          <td class="mdname" nowrap> <em>violation</em></td>
 
2683
        </tr>
 
2684
        <tr>
 
2685
          <td class="md"></td>
 
2686
          <td class="md">)&nbsp;</td>
 
2687
          <td class="md" colspan="2"></td>
 
2688
        </tr>
 
2689
      </table>
 
2690
    </td>
 
2691
  </tr>
 
2692
</table>
 
2693
<table cellspacing="5" cellpadding="0" border="0">
 
2694
  <tr>
 
2695
    <td>
 
2696
      &nbsp;
 
2697
    </td>
 
2698
    <td>
 
2699
 
 
2700
<p>
 
2701
Check a PICTURE block to see if it conforms to the FLAC specification. See the format specification for limits on the contents of the PICTURE block.<p>
 
2702
<dl compact><dt><b>Parameters:</b></dt><dd>
 
2703
  <table border="0" cellspacing="2" cellpadding="0">
 
2704
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>A pointer to existing PICTURE block to be checked. </td></tr>
 
2705
    <tr><td valign="top"></td><td valign="top"><em>violation</em>&nbsp;</td><td>Address of a pointer to a string. If there is a violation, a pointer to a string explanation of the violation will be returned here. <em>violation</em> may be <code>NULL</code> if you don't need the returned string. Do not free the returned string; it will always point to static data. </td></tr>
 
2706
  </table>
 
2707
</dl>
 
2708
<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> object != NULL 
 
2709
</pre></div> <div class="fragment"><pre class="fragment"> object-&gt;type == <a class="code" href="group__flac__format.html#gga109a114">FLAC__METADATA_TYPE_PICTURE</a> 
 
2710
</pre></div> </dd></dl>
 
2711
<dl compact><dt><b>Return values:</b></dt><dd>
 
2712
  <table border="0" cellspacing="2" cellpadding="0">
 
2713
    <tr><td valign="top"></td><td valign="top"><em>FLAC__bool</em>&nbsp;</td><td><code>false</code> if PICTURE block is illegal, else <code>true</code>. </td></tr>
 
2714
  </table>
 
2715
</dl>
 
2716
    </td>
 
2717
  </tr>
 
2718
</table>
 
2719
 
 
2720
<hr size="1">
 
2721
<div class="copyright">
 
2722
        <!-- @@@ oh so hacky -->
 
2723
        <table>
 
2724
                <tr>
 
2725
                        <td align="left">
 
2726
                                Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007  Josh Coalson
 
2727
                        </td>
 
2728
                        <td width="1%" align="right">
 
2729
                                <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
 
2730
                        </td>
 
2731
                </tr>
 
2732
        </table>
 
2733
</div>
 
2734
<!-- Copyright (c)  2000,2001,2002,2003,2004,2005,2006,2007  Josh Coalson -->
 
2735
<!-- Permission is granted to copy, distribute and/or modify this document -->
 
2736
<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
 
2737
<!-- or any later version published by the Free Software Foundation; -->
 
2738
<!-- with no invariant sections. -->
 
2739
<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
2554
2740
</body>
2555
2741
</html>