Mercurial > hg > sv-dependency-builds
view src/flac-1.2.1/doc/html/api/+_2metadata_8h-source.html @ 86:98c1576536ae
Bring in flac, ogg, vorbis
author | Chris Cannam <cannam@all-day-breakfast.com> |
---|---|
date | Tue, 19 Mar 2013 17:37:49 +0000 |
parents | |
children |
line wrap: on
line source
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>FLAC: include/FLAC++/metadata.h Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.4.2 --> <div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a></div> <div class="nav"> <a class="el" href="dir_000000.html">include</a> / <a class="el" href="dir_000001.html">FLAC++</a></div> <h1>metadata.h</h1><a href="+_2metadata_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">/* libFLAC++ - Free Lossless Audio Codec library</span> 00002 <span class="comment"> * Copyright (C) 2002,2003,2004,2005,2006,2007 Josh Coalson</span> 00003 <span class="comment"> *</span> 00004 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span> 00005 <span class="comment"> * modification, are permitted provided that the following conditions</span> 00006 <span class="comment"> * are met:</span> 00007 <span class="comment"> *</span> 00008 <span class="comment"> * - Redistributions of source code must retain the above copyright</span> 00009 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span> 00010 <span class="comment"> *</span> 00011 <span class="comment"> * - Redistributions in binary form must reproduce the above copyright</span> 00012 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span> 00013 <span class="comment"> * documentation and/or other materials provided with the distribution.</span> 00014 <span class="comment"> *</span> 00015 <span class="comment"> * - Neither the name of the Xiph.org Foundation nor the names of its</span> 00016 <span class="comment"> * contributors may be used to endorse or promote products derived from</span> 00017 <span class="comment"> * this software without specific prior written permission.</span> 00018 <span class="comment"> *</span> 00019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span> 00020 <span class="comment"> * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span> 00021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span> 00022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR</span> 00023 <span class="comment"> * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</span> 00024 <span class="comment"> * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</span> 00025 <span class="comment"> * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</span> 00026 <span class="comment"> * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</span> 00027 <span class="comment"> * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</span> 00028 <span class="comment"> * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span> 00029 <span class="comment"> * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span> 00030 <span class="comment"> */</span> 00031 00032 <span class="preprocessor">#ifndef FLACPP__METADATA_H</span> 00033 <span class="preprocessor"></span><span class="preprocessor">#define FLACPP__METADATA_H</span> 00034 <span class="preprocessor"></span> 00035 <span class="preprocessor">#include "<a class="code" href="+_2export_8h.html">export.h</a>"</span> 00036 00037 <span class="preprocessor">#include "<a class="code" href="metadata_8h.html">FLAC/metadata.h</a>"</span> 00038 00039 <span class="comment">// ===============================================================</span> 00040 <span class="comment">//</span> 00041 <span class="comment">// Full documentation for the metadata interface can be found</span> 00042 <span class="comment">// in the C layer in include/FLAC/metadata.h</span> 00043 <span class="comment">//</span> 00044 <span class="comment">// ===============================================================</span> 00045 00074 <span class="keyword">namespace </span>FLAC { 00075 <span class="keyword">namespace </span>Metadata { 00076 00077 <span class="comment">// ============================================================</span> 00078 <span class="comment">//</span> 00079 <span class="comment">// Metadata objects</span> 00080 <span class="comment">//</span> 00081 <span class="comment">// ============================================================</span> 00082 <a name="l00108"></a><a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html">00108</a> <span class="keyword">class </span>FLACPP_API Prototype { 00109 <span class="keyword">protected</span>: 00111 00114 Prototype(<span class="keyword">const</span> Prototype &); 00115 Prototype(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &); 00116 Prototype(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *); 00118 00129 Prototype(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy); 00130 00132 00133 Prototype &operator=(<span class="keyword">const</span> Prototype &); 00134 Prototype &operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &); 00135 Prototype &operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *); 00137 00141 Prototype &assign_object(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy); 00142 00145 <span class="keyword">virtual</span> <span class="keywordtype">void</span> clear(); 00146 00147 ::FLAC__StreamMetadata *object_; 00148 <span class="keyword">public</span>: 00151 <span class="keyword">virtual</span> ~Prototype(); 00152 00154 00156 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> Prototype &) <span class="keyword">const</span>; 00157 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &) <span class="keyword">const</span>; 00158 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *) <span class="keyword">const</span>; 00160 00162 00163 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> Prototype &) <span class="keyword">const</span>; 00164 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &) <span class="keyword">const</span>; 00165 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *) <span class="keyword">const</span>; 00167 00168 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">SimpleIterator</a>; 00169 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classFLAC_1_1Metadata_1_1Iterator.html">Iterator</a>; 00170 00175 <span class="keyword">inline</span> <span class="keywordtype">bool</span> is_valid() <span class="keyword">const</span>; 00176 00183 <span class="keywordtype">bool</span> get_is_last() <span class="keyword">const</span>; 00184 00190 <a class="code" href="group__flac__format.html#ga113"> ::FLAC__MetadataType</a> get_type() <span class="keyword">const</span>; 00191 00201 <span class="keywordtype">unsigned</span> get_length() <span class="keyword">const</span>; 00202 00209 <span class="keywordtype">void</span> set_is_last(<span class="keywordtype">bool</span>); 00210 00218 <span class="keyword">inline</span> operator const ::FLAC__StreamMetadata *() <span class="keyword">const</span>; 00219 <span class="keyword">private</span>: 00221 Prototype(); 00222 00223 <span class="comment">// These are used only by Iterator</span> 00224 <span class="keywordtype">bool</span> is_reference_; 00225 <span class="keyword">inline</span> <span class="keywordtype">void</span> set_reference(<span class="keywordtype">bool</span> x) { is_reference_ = x; } 00226 }; 00227 00228 <span class="preprocessor">#ifdef _MSC_VER</span> 00229 <span class="preprocessor"></span><span class="comment">// warning C4800: 'int' : forcing to bool 'true' or 'false' (performance warning)</span> 00230 <span class="preprocessor">#pragma warning ( disable : 4800 )</span> 00231 <span class="preprocessor"></span><span class="preprocessor">#endif</span> 00232 <span class="preprocessor"></span> <a name="l00233"></a><a class="code" href="group__flacpp__metadata__object.html#ga1">00233</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(<span class="keyword">const</span> Prototype &object)<span class="keyword"> const</span> 00234 <span class="keyword"> </span>{ <span class="keywordflow">return</span> (<span class="keywordtype">bool</span>)<a class="code" href="group__flac__metadata__object.html#ga3">::FLAC__metadata_object_is_equal</a>(object_, object.<a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentp0">object_</a>); } 00235 00236 <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object)<span class="keyword"> const</span> 00237 <span class="keyword"> </span>{ <span class="keywordflow">return</span> (<span class="keywordtype">bool</span>)<a class="code" href="group__flac__metadata__object.html#ga3">::FLAC__metadata_object_is_equal</a>(object_, &object); } 00238 00239 <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const</span> 00240 <span class="keyword"> </span>{ <span class="keywordflow">return</span> (<span class="keywordtype">bool</span>)<a class="code" href="group__flac__metadata__object.html#ga3">::FLAC__metadata_object_is_equal</a>(object_, object); } 00241 00242 <span class="preprocessor">#ifdef _MSC_VER</span> 00243 <span class="preprocessor"></span><span class="comment">// @@@ how to re-enable? the following doesn't work</span> 00244 <span class="comment">// #pragma warning ( enable : 4800 )</span> 00245 <span class="preprocessor">#endif</span> 00246 <span class="preprocessor"></span> <a name="l00247"></a><a class="code" href="group__flacpp__metadata__object.html#ga4">00247</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(<span class="keyword">const</span> Prototype &object)<span class="keyword"> const</span> 00248 <span class="keyword"> </span>{ <span class="keywordflow">return</span> !<a class="code" href="group__flacpp__metadata__object.html#ga1">operator==</a>(object); } 00249 00250 <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object)<span class="keyword"> const</span> 00251 <span class="keyword"> </span>{ <span class="keywordflow">return</span> !<a class="code" href="group__flacpp__metadata__object.html#ga1">operator==</a>(object); } 00252 00253 <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const</span> 00254 <span class="keyword"> </span>{ <span class="keywordflow">return</span> !<a class="code" href="group__flacpp__metadata__object.html#ga1">operator==</a>(object); } 00255 <a name="l00256"></a><a class="code" href="group__flacpp__metadata__object.html#ga7">00256</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__object.html#ga7">Prototype::is_valid</a>()<span class="keyword"> const</span> 00257 <span class="keyword"> </span>{ <span class="keywordflow">return</span> 0 != object_; } 00258 <a name="l00259"></a><a class="code" href="group__flacpp__metadata__object.html#ga8">00259</a> <span class="keyword">inline</span> Prototype::operator const ::FLAC__StreamMetadata *()<span class="keyword"> const</span> 00260 <span class="keyword"> </span>{ <span class="keywordflow">return</span> object_; } 00261 00263 FLACPP_API Prototype *<a class="code" href="group__flacpp__metadata__object.html#ga0">clone</a>(<span class="keyword">const</span> Prototype *); 00264 00265 <a name="l00270"></a><a class="code" href="classFLAC_1_1Metadata_1_1StreamInfo.html">00270</a> <span class="keyword">class </span>FLACPP_API StreamInfo : <span class="keyword">public</span> Prototype { 00271 <span class="keyword">public</span>: 00272 StreamInfo(); 00273 00275 <a name="l00278"></a><a class="code" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa1">00278</a> <span class="keyword">inline</span> StreamInfo(<span class="keyword">const</span> StreamInfo &object): Prototype(object) { } 00279 <span class="keyword">inline</span> StreamInfo(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object): Prototype(object) { } 00280 <span class="keyword">inline</span> StreamInfo(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object): Prototype(object) { } 00282 <a name="l00286"></a><a class="code" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa4">00286</a> <span class="keyword">inline</span> StreamInfo(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy): Prototype(object, copy) { } 00287 00288 ~StreamInfo(); 00289 00291 <a name="l00292"></a><a class="code" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa6">00292</a> <span class="keyword">inline</span> StreamInfo &operator=(<span class="keyword">const</span> StreamInfo &object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00293 <span class="keyword">inline</span> StreamInfo &operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00294 <span class="keyword">inline</span> StreamInfo &operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00296 <a name="l00300"></a><a class="code" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa9">00300</a> <span class="keyword">inline</span> StreamInfo &assign(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object</a>(object, copy); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00301 00303 <a name="l00304"></a><a class="code" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa10">00304</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> StreamInfo &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); } 00305 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); } 00306 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); } 00308 00310 <a name="l00311"></a><a class="code" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa13">00311</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> StreamInfo &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); } 00312 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); } 00313 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); } 00315 00317 00318 <span class="keywordtype">unsigned</span> get_min_blocksize() <span class="keyword">const</span>; 00319 <span class="keywordtype">unsigned</span> get_max_blocksize() <span class="keyword">const</span>; 00320 <span class="keywordtype">unsigned</span> get_min_framesize() <span class="keyword">const</span>; 00321 <span class="keywordtype">unsigned</span> get_max_framesize() <span class="keyword">const</span>; 00322 <span class="keywordtype">unsigned</span> get_sample_rate() <span class="keyword">const</span>; 00323 <span class="keywordtype">unsigned</span> get_channels() <span class="keyword">const</span>; 00324 <span class="keywordtype">unsigned</span> get_bits_per_sample() <span class="keyword">const</span>; 00325 FLAC__uint64 get_total_samples() <span class="keyword">const</span>; 00326 <span class="keyword">const</span> FLAC__byte *get_md5sum() <span class="keyword">const</span>; 00327 00328 <span class="keywordtype">void</span> set_min_blocksize(<span class="keywordtype">unsigned</span> value); 00329 <span class="keywordtype">void</span> set_max_blocksize(<span class="keywordtype">unsigned</span> value); 00330 <span class="keywordtype">void</span> set_min_framesize(<span class="keywordtype">unsigned</span> value); 00331 <span class="keywordtype">void</span> set_max_framesize(<span class="keywordtype">unsigned</span> value); 00332 <span class="keywordtype">void</span> set_sample_rate(<span class="keywordtype">unsigned</span> value); 00333 <span class="keywordtype">void</span> set_channels(<span class="keywordtype">unsigned</span> value); 00334 <span class="keywordtype">void</span> set_bits_per_sample(<span class="keywordtype">unsigned</span> value); 00335 <span class="keywordtype">void</span> set_total_samples(FLAC__uint64 value); 00336 <span class="keywordtype">void</span> set_md5sum(<span class="keyword">const</span> FLAC__byte value[16]); 00338 }; 00339 <a name="l00344"></a><a class="code" href="classFLAC_1_1Metadata_1_1Padding.html">00344</a> <span class="keyword">class </span>FLACPP_API Padding : <span class="keyword">public</span> Prototype { 00345 <span class="keyword">public</span>: 00346 Padding(); 00347 00349 <a name="l00352"></a><a class="code" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga1">00352</a> <span class="keyword">inline</span> Padding(<span class="keyword">const</span> Padding &object): Prototype(object) { } 00353 <span class="keyword">inline</span> Padding(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object): Prototype(object) { } 00354 <span class="keyword">inline</span> Padding(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object): Prototype(object) { } 00356 <a name="l00360"></a><a class="code" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga4">00360</a> <span class="keyword">inline</span> Padding(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy): Prototype(object, copy) { } 00361 00362 ~Padding(); 00363 00365 <a name="l00366"></a><a class="code" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga6">00366</a> <span class="keyword">inline</span> Padding &operator=(<span class="keyword">const</span> Padding &object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00367 <span class="keyword">inline</span> Padding &operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00368 <span class="keyword">inline</span> Padding &operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00370 <a name="l00374"></a><a class="code" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga9">00374</a> <span class="keyword">inline</span> Padding &assign(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object</a>(object, copy); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00375 00377 <a name="l00378"></a><a class="code" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga10">00378</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> Padding &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); } 00379 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); } 00380 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); } 00382 00384 <a name="l00385"></a><a class="code" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga13">00385</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> Padding &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); } 00386 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); } 00387 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); } 00389 00390 <span class="keywordtype">void</span> set_length(<span class="keywordtype">unsigned</span> length); 00391 }; 00392 <a name="l00397"></a><a class="code" href="classFLAC_1_1Metadata_1_1Application.html">00397</a> <span class="keyword">class </span>FLACPP_API Application : <span class="keyword">public</span> Prototype { 00398 <span class="keyword">public</span>: 00399 Application(); 00400 <span class="comment">//</span> 00402 <span class="comment"></span> <a name="l00405"></a><a class="code" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa1">00405</a> <span class="keyword">inline</span> Application(<span class="keyword">const</span> Application &object): Prototype(object) { } 00406 <span class="keyword">inline</span> Application(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object): Prototype(object) { } 00407 <span class="keyword">inline</span> Application(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object): Prototype(object) { } 00409 <a name="l00413"></a><a class="code" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa4">00413</a> <span class="keyword">inline</span> Application(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy): Prototype(object, copy) { } 00414 00415 ~Application(); 00416 00418 <a name="l00419"></a><a class="code" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa6">00419</a> <span class="keyword">inline</span> Application &operator=(<span class="keyword">const</span> Application &object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00420 <span class="keyword">inline</span> Application &operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00421 <span class="keyword">inline</span> Application &operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00423 <a name="l00427"></a><a class="code" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa9">00427</a> <span class="keyword">inline</span> Application &assign(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object</a>(object, copy); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00428 00430 <a name="l00431"></a><a class="code" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa10">00431</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> Application &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); } 00432 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); } 00433 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); } 00435 00437 <a name="l00438"></a><a class="code" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa13">00438</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> Application &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); } 00439 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); } 00440 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); } 00442 00443 <span class="keyword">const</span> FLAC__byte *get_id() <span class="keyword">const</span>; 00444 <span class="keyword">const</span> FLAC__byte *get_data() <span class="keyword">const</span>; 00445 00446 <span class="keywordtype">void</span> set_id(<span class="keyword">const</span> FLAC__byte value[4]); 00448 <span class="keywordtype">bool</span> set_data(<span class="keyword">const</span> FLAC__byte *data, <span class="keywordtype">unsigned</span> length); 00449 <span class="keywordtype">bool</span> set_data(FLAC__byte *data, <span class="keywordtype">unsigned</span> length, <span class="keywordtype">bool</span> copy); 00450 }; 00451 <a name="l00456"></a><a class="code" href="classFLAC_1_1Metadata_1_1SeekTable.html">00456</a> <span class="keyword">class </span>FLACPP_API SeekTable : <span class="keyword">public</span> Prototype { 00457 <span class="keyword">public</span>: 00458 SeekTable(); 00459 00461 <a name="l00464"></a><a class="code" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea1">00464</a> <span class="keyword">inline</span> SeekTable(<span class="keyword">const</span> SeekTable &object): Prototype(object) { } 00465 <span class="keyword">inline</span> SeekTable(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object): Prototype(object) { } 00466 <span class="keyword">inline</span> SeekTable(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object): Prototype(object) { } 00468 <a name="l00472"></a><a class="code" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea4">00472</a> <span class="keyword">inline</span> SeekTable(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy): Prototype(object, copy) { } 00473 00474 ~SeekTable(); 00475 00477 <a name="l00478"></a><a class="code" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea6">00478</a> <span class="keyword">inline</span> SeekTable &operator=(<span class="keyword">const</span> SeekTable &object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00479 <span class="keyword">inline</span> SeekTable &operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00480 <span class="keyword">inline</span> SeekTable &operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00482 <a name="l00486"></a><a class="code" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea9">00486</a> <span class="keyword">inline</span> SeekTable &assign(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object</a>(object, copy); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00487 00489 <a name="l00490"></a><a class="code" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea10">00490</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> SeekTable &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); } 00491 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); } 00492 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); } 00494 00496 <a name="l00497"></a><a class="code" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea13">00497</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> SeekTable &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); } 00498 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); } 00499 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); } 00501 00502 <span class="keywordtype">unsigned</span> get_num_points() <span class="keyword">const</span>; 00503 ::FLAC__StreamMetadata_SeekPoint get_point(<span class="keywordtype">unsigned</span> index) <span class="keyword">const</span>; 00504 00506 <span class="keywordtype">void</span> set_point(<span class="keywordtype">unsigned</span> index, <span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a> &point); 00507 00509 <span class="keywordtype">bool</span> insert_point(<span class="keywordtype">unsigned</span> index, <span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a> &point); 00510 00512 <span class="keywordtype">bool</span> delete_point(<span class="keywordtype">unsigned</span> index); 00513 00515 <span class="keywordtype">bool</span> is_legal() <span class="keyword">const</span>; 00516 }; 00517 <a name="l00522"></a><a class="code" href="classFLAC_1_1Metadata_1_1VorbisComment.html">00522</a> <span class="keyword">class </span>FLACPP_API VorbisComment : <span class="keyword">public</span> Prototype { 00523 <span class="keyword">public</span>: <a name="l00553"></a><a class="code" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">00553</a> <span class="keyword">class </span>FLACPP_API Entry { 00554 <span class="keyword">public</span>: 00555 Entry(); 00556 00557 Entry(<span class="keyword">const</span> <span class="keywordtype">char</span> *field, <span class="keywordtype">unsigned</span> field_length); 00558 Entry(<span class="keyword">const</span> <span class="keywordtype">char</span> *field); <span class="comment">// assumes \a field is NUL-terminated</span> 00559 00560 Entry(<span class="keyword">const</span> <span class="keywordtype">char</span> *field_name, <span class="keyword">const</span> <span class="keywordtype">char</span> *field_value, <span class="keywordtype">unsigned</span> field_value_length); 00561 Entry(<span class="keyword">const</span> <span class="keywordtype">char</span> *field_name, <span class="keyword">const</span> <span class="keywordtype">char</span> *field_value); <span class="comment">// assumes \a field_value is NUL-terminated</span> 00562 00563 Entry(<span class="keyword">const</span> Entry &entry); 00564 00565 Entry &operator=(<span class="keyword">const</span> Entry &entry); 00566 00567 <span class="keyword">virtual</span> ~Entry(); 00568 00569 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> is_valid() <span class="keyword">const</span>; 00570 00571 <span class="keywordtype">unsigned</span> get_field_length() <span class="keyword">const</span>; 00572 <span class="keywordtype">unsigned</span> get_field_name_length() <span class="keyword">const</span>; 00573 <span class="keywordtype">unsigned</span> get_field_value_length() <span class="keyword">const</span>; 00574 00575 ::FLAC__StreamMetadata_VorbisComment_Entry get_entry() <span class="keyword">const</span>; 00576 <span class="keyword">const</span> <span class="keywordtype">char</span> *get_field() <span class="keyword">const</span>; 00577 <span class="keyword">const</span> <span class="keywordtype">char</span> *get_field_name() <span class="keyword">const</span>; 00578 <span class="keyword">const</span> <span class="keywordtype">char</span> *get_field_value() <span class="keyword">const</span>; 00579 00580 <span class="keywordtype">bool</span> set_field(<span class="keyword">const</span> <span class="keywordtype">char</span> *field, <span class="keywordtype">unsigned</span> field_length); 00581 <span class="keywordtype">bool</span> set_field(<span class="keyword">const</span> <span class="keywordtype">char</span> *field); <span class="comment">// assumes \a field is NUL-terminated</span> 00582 <span class="keywordtype">bool</span> set_field_name(<span class="keyword">const</span> <span class="keywordtype">char</span> *field_name); 00583 <span class="keywordtype">bool</span> set_field_value(<span class="keyword">const</span> <span class="keywordtype">char</span> *field_value, <span class="keywordtype">unsigned</span> field_value_length); 00584 <span class="keywordtype">bool</span> set_field_value(<span class="keyword">const</span> <span class="keywordtype">char</span> *field_value); <span class="comment">// assumes \a field_value is NUL-terminated</span> 00585 <span class="keyword">protected</span>: 00586 <span class="keywordtype">bool</span> is_valid_; 00587 ::FLAC__StreamMetadata_VorbisComment_Entry entry_; 00588 <span class="keywordtype">char</span> *field_name_; 00589 <span class="keywordtype">unsigned</span> field_name_length_; 00590 <span class="keywordtype">char</span> *field_value_; 00591 <span class="keywordtype">unsigned</span> field_value_length_; 00592 <span class="keyword">private</span>: 00593 <span class="keywordtype">void</span> zero(); 00594 <span class="keywordtype">void</span> clear(); 00595 <span class="keywordtype">void</span> clear_entry(); 00596 <span class="keywordtype">void</span> clear_field_name(); 00597 <span class="keywordtype">void</span> clear_field_value(); 00598 <span class="keywordtype">void</span> construct(<span class="keyword">const</span> <span class="keywordtype">char</span> *field, <span class="keywordtype">unsigned</span> field_length); 00599 <span class="keywordtype">void</span> construct(<span class="keyword">const</span> <span class="keywordtype">char</span> *field); <span class="comment">// assumes \a field is NUL-terminated</span> 00600 <span class="keywordtype">void</span> construct(<span class="keyword">const</span> <span class="keywordtype">char</span> *field_name, <span class="keyword">const</span> <span class="keywordtype">char</span> *field_value, <span class="keywordtype">unsigned</span> field_value_length); 00601 <span class="keywordtype">void</span> construct(<span class="keyword">const</span> <span class="keywordtype">char</span> *field_name, <span class="keyword">const</span> <span class="keywordtype">char</span> *field_value); <span class="comment">// assumes \a field_value is NUL-terminated</span> 00602 <span class="keywordtype">void</span> compose_field(); 00603 <span class="keywordtype">void</span> parse_field(); 00604 }; 00605 00606 VorbisComment(); 00607 00609 <a name="l00612"></a><a class="code" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta1">00612</a> <span class="keyword">inline</span> VorbisComment(<span class="keyword">const</span> VorbisComment &object): Prototype(object) { } 00613 <span class="keyword">inline</span> VorbisComment(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object): Prototype(object) { } 00614 <span class="keyword">inline</span> VorbisComment(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object): Prototype(object) { } 00616 <a name="l00620"></a><a class="code" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta4">00620</a> <span class="keyword">inline</span> VorbisComment(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy): Prototype(object, copy) { } 00621 00622 ~VorbisComment(); 00623 00625 <a name="l00626"></a><a class="code" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta6">00626</a> <span class="keyword">inline</span> VorbisComment &operator=(<span class="keyword">const</span> VorbisComment &object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00627 <span class="keyword">inline</span> VorbisComment &operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00628 <span class="keyword">inline</span> VorbisComment &operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00630 <a name="l00634"></a><a class="code" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta9">00634</a> <span class="keyword">inline</span> VorbisComment &assign(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object</a>(object, copy); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00635 00637 <a name="l00638"></a><a class="code" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta10">00638</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> VorbisComment &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); } 00639 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); } 00640 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); } 00642 00644 <a name="l00645"></a><a class="code" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta13">00645</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> VorbisComment &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); } 00646 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); } 00647 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); } 00649 00650 <span class="keywordtype">unsigned</span> get_num_comments() <span class="keyword">const</span>; 00651 <span class="keyword">const</span> FLAC__byte *get_vendor_string() <span class="keyword">const</span>; <span class="comment">// NUL-terminated UTF-8 string</span> 00652 Entry get_comment(<span class="keywordtype">unsigned</span> index) <span class="keyword">const</span>; 00653 00655 <span class="keywordtype">bool</span> set_vendor_string(<span class="keyword">const</span> FLAC__byte *string); <span class="comment">// NUL-terminated UTF-8 string</span> 00656 00658 <span class="keywordtype">bool</span> set_comment(<span class="keywordtype">unsigned</span> index, <span class="keyword">const</span> Entry &entry); 00659 00661 <span class="keywordtype">bool</span> insert_comment(<span class="keywordtype">unsigned</span> index, <span class="keyword">const</span> Entry &entry); 00662 00664 <span class="keywordtype">bool</span> append_comment(<span class="keyword">const</span> Entry &entry); 00665 00667 <span class="keywordtype">bool</span> delete_comment(<span class="keywordtype">unsigned</span> index); 00668 }; 00669 <a name="l00674"></a><a class="code" href="classFLAC_1_1Metadata_1_1CueSheet.html">00674</a> <span class="keyword">class </span>FLACPP_API CueSheet : <span class="keyword">public</span> Prototype { 00675 <span class="keyword">public</span>: <a name="l00682"></a><a class="code" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">00682</a> <span class="keyword">class </span>FLACPP_API Track { 00683 <span class="keyword">protected</span>: 00684 ::FLAC__StreamMetadata_CueSheet_Track *object_; 00685 <span class="keyword">public</span>: 00686 Track(); 00687 Track(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *track); 00688 Track(<span class="keyword">const</span> Track &track); 00689 Track &operator=(<span class="keyword">const</span> Track &track); 00690 00691 <span class="keyword">virtual</span> ~Track(); 00692 00693 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> is_valid() <span class="keyword">const</span>; 00694 00695 00696 <span class="keyword">inline</span> FLAC__uint64 get_offset()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> object_->offset; } 00697 <span class="keyword">inline</span> FLAC__byte get_number()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> object_->number; } 00698 <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *get_isrc()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> object_->isrc; } 00699 <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> get_type()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> object_->type; } 00700 <span class="keyword">inline</span> <span class="keywordtype">bool</span> get_pre_emphasis()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> object_->pre_emphasis; } 00701 00702 <span class="keyword">inline</span> FLAC__byte get_num_indices()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> object_->num_indices; } 00703 ::FLAC__StreamMetadata_CueSheet_Index get_index(<span class="keywordtype">unsigned</span> i) <span class="keyword">const</span>; 00704 00705 <span class="keyword">inline</span> const ::FLAC__StreamMetadata_CueSheet_Track *get_track()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> object_; } 00706 00707 <span class="keyword">inline</span> <span class="keywordtype">void</span> set_offset(FLAC__uint64 value) { object_->offset = value; } 00708 <span class="keyword">inline</span> <span class="keywordtype">void</span> set_number(FLAC__byte value) { object_->number = value; } 00709 <span class="keywordtype">void</span> set_isrc(<span class="keyword">const</span> <span class="keywordtype">char</span> value[12]); 00710 <span class="keywordtype">void</span> set_type(<span class="keywordtype">unsigned</span> value); 00711 <span class="keyword">inline</span> <span class="keywordtype">void</span> set_pre_emphasis(<span class="keywordtype">bool</span> value) { object_->pre_emphasis = value? 1 : 0; } 00712 00713 <span class="keywordtype">void</span> set_index(<span class="keywordtype">unsigned</span> i, <span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a> &index); 00714 <span class="comment">//@@@ It's awkward but to insert/delete index points</span> 00715 <span class="comment">//@@@ you must use the routines in the CueSheet class.</span> 00716 }; 00717 00718 CueSheet(); 00719 00721 <a name="l00724"></a><a class="code" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta1">00724</a> <span class="keyword">inline</span> CueSheet(<span class="keyword">const</span> CueSheet &object): Prototype(object) { } 00725 <span class="keyword">inline</span> CueSheet(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object): Prototype(object) { } 00726 <span class="keyword">inline</span> CueSheet(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object): Prototype(object) { } 00728 <a name="l00732"></a><a class="code" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta4">00732</a> <span class="keyword">inline</span> CueSheet(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy): Prototype(object, copy) { } 00733 00734 ~CueSheet(); 00735 00737 <a name="l00738"></a><a class="code" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta6">00738</a> <span class="keyword">inline</span> CueSheet &operator=(<span class="keyword">const</span> CueSheet &object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00739 <span class="keyword">inline</span> CueSheet &operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00740 <span class="keyword">inline</span> CueSheet &operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00742 <a name="l00746"></a><a class="code" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta9">00746</a> <span class="keyword">inline</span> CueSheet &assign(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object</a>(object, copy); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00747 00749 <a name="l00750"></a><a class="code" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta10">00750</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> CueSheet &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); } 00751 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); } 00752 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); } 00754 00756 <a name="l00757"></a><a class="code" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta13">00757</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> CueSheet &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); } 00758 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); } 00759 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); } 00761 00762 <span class="keyword">const</span> <span class="keywordtype">char</span> *get_media_catalog_number() <span class="keyword">const</span>; 00763 FLAC__uint64 get_lead_in() <span class="keyword">const</span>; 00764 <span class="keywordtype">bool</span> get_is_cd() <span class="keyword">const</span>; 00765 00766 <span class="keywordtype">unsigned</span> get_num_tracks() <span class="keyword">const</span>; 00767 Track get_track(<span class="keywordtype">unsigned</span> i) <span class="keyword">const</span>; 00768 00769 <span class="keywordtype">void</span> set_media_catalog_number(<span class="keyword">const</span> <span class="keywordtype">char</span> value[128]); 00770 <span class="keywordtype">void</span> set_lead_in(FLAC__uint64 value); 00771 <span class="keywordtype">void</span> set_is_cd(<span class="keywordtype">bool</span> value); 00772 00773 <span class="keywordtype">void</span> set_index(<span class="keywordtype">unsigned</span> track_num, <span class="keywordtype">unsigned</span> index_num, <span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a> &index); 00774 00776 <span class="keywordtype">bool</span> insert_index(<span class="keywordtype">unsigned</span> track_num, <span class="keywordtype">unsigned</span> index_num, <span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a> &index); 00777 00779 <span class="keywordtype">bool</span> delete_index(<span class="keywordtype">unsigned</span> track_num, <span class="keywordtype">unsigned</span> index_num); 00780 00782 <span class="keywordtype">bool</span> set_track(<span class="keywordtype">unsigned</span> i, <span class="keyword">const</span> Track &track); 00783 00785 <span class="keywordtype">bool</span> insert_track(<span class="keywordtype">unsigned</span> i, <span class="keyword">const</span> Track &track); 00786 00788 <span class="keywordtype">bool</span> delete_track(<span class="keywordtype">unsigned</span> i); 00789 00791 <span class="keywordtype">bool</span> is_legal(<span class="keywordtype">bool</span> check_cd_da_subset = <span class="keyword">false</span>, <span class="keyword">const</span> <span class="keywordtype">char</span> **violation = 0) <span class="keyword">const</span>; 00792 00794 FLAC__uint32 calculate_cddb_id() <span class="keyword">const</span>; 00795 }; 00796 <a name="l00801"></a><a class="code" href="classFLAC_1_1Metadata_1_1Picture.html">00801</a> <span class="keyword">class </span>FLACPP_API Picture : <span class="keyword">public</span> Prototype { 00802 <span class="keyword">public</span>: 00803 Picture(); 00804 00806 <a name="l00809"></a><a class="code" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea1">00809</a> <span class="keyword">inline</span> Picture(<span class="keyword">const</span> Picture &object): Prototype(object) { } 00810 <span class="keyword">inline</span> Picture(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object): Prototype(object) { } 00811 <span class="keyword">inline</span> Picture(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object): Prototype(object) { } 00813 <a name="l00817"></a><a class="code" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea4">00817</a> <span class="keyword">inline</span> Picture(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy): Prototype(object, copy) { } 00818 00819 ~Picture(); 00820 00822 <a name="l00823"></a><a class="code" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea6">00823</a> <span class="keyword">inline</span> Picture &operator=(<span class="keyword">const</span> Picture &object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00824 <span class="keyword">inline</span> Picture &operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00825 <span class="keyword">inline</span> Picture &operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00827 <a name="l00831"></a><a class="code" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea9">00831</a> <span class="keyword">inline</span> Picture &assign(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object</a>(object, copy); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00832 00834 <a name="l00835"></a><a class="code" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea10">00835</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> Picture &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); } 00836 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); } 00837 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); } 00839 00841 <a name="l00842"></a><a class="code" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea13">00842</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> Picture &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); } 00843 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); } 00844 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); } 00846 <a class="code" href="group__flac__format.html#ga114"></a> 00847 <a class="code" href="group__flac__format.html#ga114"> ::FLAC__StreamMetadata_Picture_Type</a> get_type() <span class="keyword">const</span>; 00848 <span class="keyword">const</span> <span class="keywordtype">char</span> *get_mime_type() <span class="keyword">const</span>; <span class="comment">// NUL-terminated printable ASCII string</span> 00849 <span class="keyword">const</span> FLAC__byte *get_description() <span class="keyword">const</span>; <span class="comment">// NUL-terminated UTF-8 string</span> 00850 FLAC__uint32 get_width() <span class="keyword">const</span>; 00851 FLAC__uint32 get_height() <span class="keyword">const</span>; 00852 FLAC__uint32 get_depth() <span class="keyword">const</span>; 00853 FLAC__uint32 get_colors() <span class="keyword">const</span>; 00854 FLAC__uint32 get_data_length() <span class="keyword">const</span>; 00855 <span class="keyword">const</span> FLAC__byte *get_data() <span class="keyword">const</span>; 00856 00857 <span class="keywordtype">void</span> set_type(::<a class="code" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a> type); 00858 00860 <span class="keywordtype">bool</span> set_mime_type(<span class="keyword">const</span> <span class="keywordtype">char</span> *string); <span class="comment">// NUL-terminated printable ASCII string</span> 00861 00863 <span class="keywordtype">bool</span> set_description(<span class="keyword">const</span> FLAC__byte *string); <span class="comment">// NUL-terminated UTF-8 string</span> 00864 00865 <span class="keywordtype">void</span> set_width(FLAC__uint32 value) <span class="keyword">const</span>; 00866 <span class="keywordtype">void</span> set_height(FLAC__uint32 value) <span class="keyword">const</span>; 00867 <span class="keywordtype">void</span> set_depth(FLAC__uint32 value) <span class="keyword">const</span>; 00868 <span class="keywordtype">void</span> set_colors(FLAC__uint32 value) <span class="keyword">const</span>; 00869 00871 <span class="keywordtype">bool</span> set_data(<span class="keyword">const</span> FLAC__byte *data, FLAC__uint32 data_length); 00872 }; 00873 <a name="l00880"></a><a class="code" href="classFLAC_1_1Metadata_1_1Unknown.html">00880</a> <span class="keyword">class </span>FLACPP_API Unknown : <span class="keyword">public</span> Prototype { 00881 <span class="keyword">public</span>: 00882 Unknown(); 00883 <span class="comment">//</span> 00885 <span class="comment"></span> <a name="l00888"></a><a class="code" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna1">00888</a> <span class="keyword">inline</span> Unknown(<span class="keyword">const</span> Unknown &object): Prototype(object) { } 00889 <span class="keyword">inline</span> Unknown(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object): Prototype(object) { } 00890 <span class="keyword">inline</span> Unknown(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object): Prototype(object) { } 00892 <a name="l00896"></a><a class="code" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna4">00896</a> <span class="keyword">inline</span> Unknown(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy): Prototype(object, copy) { } 00897 00898 ~Unknown(); 00899 00901 <a name="l00902"></a><a class="code" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna6">00902</a> <span class="keyword">inline</span> Unknown &operator=(<span class="keyword">const</span> Unknown &object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00903 <span class="keyword">inline</span> Unknown &operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00904 <span class="keyword">inline</span> Unknown &operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00906 <a name="l00910"></a><a class="code" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna9">00910</a> <span class="keyword">inline</span> Unknown &assign(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object</a>(object, copy); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } 00911 00913 <a name="l00914"></a><a class="code" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna10">00914</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> Unknown &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); } 00915 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); } 00916 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); } 00918 00920 <a name="l00921"></a><a class="code" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna13">00921</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> Unknown &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); } 00922 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); } 00923 <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); } 00925 00926 <span class="keyword">const</span> FLAC__byte *get_data() <span class="keyword">const</span>; 00927 00929 <span class="keywordtype">bool</span> set_data(<span class="keyword">const</span> FLAC__byte *data, <span class="keywordtype">unsigned</span> length); 00930 <span class="keywordtype">bool</span> set_data(FLAC__byte *data, <span class="keywordtype">unsigned</span> length, <span class="keywordtype">bool</span> copy); 00931 }; 00932 00933 <span class="comment">/* \} */</span> 00934 00935 00948 FLACPP_API <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__level0.html#ga0">get_streaminfo</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, StreamInfo &streaminfo); 00949 00950 FLACPP_API <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__level0.html#ga1">get_tags</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, VorbisComment *&tags); 00951 FLACPP_API <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__level0.html#ga1">get_tags</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, VorbisComment &tags); 00952 00953 FLACPP_API <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__level0.html#ga3">get_cuesheet</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, CueSheet *&cuesheet); 00954 FLACPP_API <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__level0.html#ga3">get_cuesheet</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, CueSheet &cuesheet); 00955 00956 FLACPP_API <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__level0.html#ga5">get_picture</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, Picture *&picture, ::<a class="code" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a> type, <span class="keyword">const</span> <span class="keywordtype">char</span> *mime_type, <span class="keyword">const</span> FLAC__byte *description, <span class="keywordtype">unsigned</span> max_width, <span class="keywordtype">unsigned</span> max_height, <span class="keywordtype">unsigned</span> max_depth, <span class="keywordtype">unsigned</span> max_colors); 00957 FLACPP_API <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__level0.html#ga5">get_picture</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, Picture &picture, ::<a class="code" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a> type, <span class="keyword">const</span> <span class="keywordtype">char</span> *mime_type, <span class="keyword">const</span> FLAC__byte *description, <span class="keywordtype">unsigned</span> max_width, <span class="keywordtype">unsigned</span> max_height, <span class="keywordtype">unsigned</span> max_depth, <span class="keywordtype">unsigned</span> max_colors); 00958 00959 <span class="comment">/* \} */</span> 00960 00961 <a name="l00996"></a><a class="code" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">00996</a> <span class="keyword">class </span>FLACPP_API SimpleIterator { 00997 <span class="keyword">public</span>: <a name="l01000"></a><a class="code" href="classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html">01000</a> <span class="keyword">class </span>FLACPP_API Status { 01001 <span class="keyword">public</span>: 01002 <span class="keyword">inline</span> Status(::<a class="code" href="group__flac__metadata__level1.html#ga18">FLAC__Metadata_SimpleIteratorStatus</a> status): status_(status) { } 01003 <span class="keyword">inline</span> <a class="code" href="group__flac__metadata__level1.html#ga18">operator ::FLAC__Metadata_SimpleIteratorStatus</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> status_; } 01004 <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *as_cstring()<span class="keyword"> const </span>{ <a class="code" href="group__flac__metadata__level1.html#ga1">return ::FLAC__Metadata_SimpleIteratorStatusString</a>[status_]; } 01005 <span class="keyword">protected</span>:<a class="code" href="group__flac__metadata__level1.html#ga18"></a> 01006 <a class="code" href="group__flac__metadata__level1.html#ga18"> ::FLAC__Metadata_SimpleIteratorStatus</a> status_; 01007 }; 01008 01009 SimpleIterator(); 01010 <span class="keyword">virtual</span> ~SimpleIterator(); 01011 01012 <span class="keywordtype">bool</span> is_valid() <span class="keyword">const</span>; 01013 01014 <span class="keywordtype">bool</span> init(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, <span class="keywordtype">bool</span> read_only, <span class="keywordtype">bool</span> preserve_file_stats); 01015 01016 Status status(); 01017 <span class="keywordtype">bool</span> is_writable() <span class="keyword">const</span>; 01018 01019 <span class="keywordtype">bool</span> next(); 01020 <span class="keywordtype">bool</span> prev(); 01021 <span class="keywordtype">bool</span> is_last() <span class="keyword">const</span>; 01022 01023 off_t get_block_offset() <span class="keyword">const</span>; 01024 <a class="code" href="group__flac__format.html#ga113"> ::FLAC__MetadataType</a> get_block_type() <span class="keyword">const</span>; 01025 <span class="keywordtype">unsigned</span> get_block_length() <span class="keyword">const</span>; 01026 <span class="keywordtype">bool</span> get_application_id(FLAC__byte *<span class="keywordtype">id</span>); 01027 Prototype *get_block(); 01028 <span class="keywordtype">bool</span> set_block(Prototype *block, <span class="keywordtype">bool</span> use_padding = <span class="keyword">true</span>); 01029 <span class="keywordtype">bool</span> insert_block_after(Prototype *block, <span class="keywordtype">bool</span> use_padding = <span class="keyword">true</span>); 01030 <span class="keywordtype">bool</span> delete_block(<span class="keywordtype">bool</span> use_padding = <span class="keyword">true</span>); 01031 01032 <span class="keyword">protected</span>:<a class="code" href="group__flac__metadata__level1.html#ga0"></a> 01033 <a class="code" href="group__flac__metadata__level1.html#ga0"> ::FLAC__Metadata_SimpleIterator</a> *iterator_; 01034 <span class="keywordtype">void</span> clear(); 01035 }; 01036 01037 <span class="comment">/* \} */</span> 01038 01039 <a name="l01082"></a><a class="code" href="classFLAC_1_1Metadata_1_1Chain.html">01082</a> <span class="keyword">class </span>FLACPP_API Chain { 01083 <span class="keyword">public</span>: <a name="l01086"></a><a class="code" href="classFLAC_1_1Metadata_1_1Chain_1_1Status.html">01086</a> <span class="keyword">class </span>FLACPP_API Status { 01087 <span class="keyword">public</span>: 01088 <span class="keyword">inline</span> Status(::<a class="code" href="group__flac__metadata__level2.html#ga27">FLAC__Metadata_ChainStatus</a> status): status_(status) { } 01089 <span class="keyword">inline</span> <a class="code" href="group__flac__metadata__level2.html#ga27">operator ::FLAC__Metadata_ChainStatus</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> status_; } 01090 <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *as_cstring()<span class="keyword"> const </span>{ <a class="code" href="group__flac__metadata__level2.html#ga2">return ::FLAC__Metadata_ChainStatusString</a>[status_]; } 01091 <span class="keyword">protected</span>:<a class="code" href="group__flac__metadata__level2.html#ga27"></a> 01092 <a class="code" href="group__flac__metadata__level2.html#ga27"> ::FLAC__Metadata_ChainStatus</a> status_; 01093 }; 01094 01095 Chain(); 01096 <span class="keyword">virtual</span> ~Chain(); 01097 01098 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classFLAC_1_1Metadata_1_1Iterator.html">Iterator</a>; 01099 01100 <span class="keywordtype">bool</span> is_valid() <span class="keyword">const</span>; 01101 01102 Status status(); 01103 01104 <span class="keywordtype">bool</span> read(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, <span class="keywordtype">bool</span> is_ogg = <span class="keyword">false</span>); 01105 <span class="keywordtype">bool</span> read(<a class="code" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle, <a class="code" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> callbacks, <span class="keywordtype">bool</span> is_ogg = <span class="keyword">false</span>); 01106 01107 <span class="keywordtype">bool</span> check_if_tempfile_needed(<span class="keywordtype">bool</span> use_padding); 01108 01109 <span class="keywordtype">bool</span> write(<span class="keywordtype">bool</span> use_padding = <span class="keyword">true</span>, <span class="keywordtype">bool</span> preserve_file_stats = <span class="keyword">false</span>); 01110 <span class="keywordtype">bool</span> write(<span class="keywordtype">bool</span> use_padding, ::<a class="code" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle, ::<a class="code" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> callbacks); 01111 <span class="keywordtype">bool</span> write(<span class="keywordtype">bool</span> use_padding, ::<a class="code" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle, ::<a class="code" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> callbacks, ::<a class="code" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> temp_handle, ::<a class="code" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> temp_callbacks); 01112 01113 <span class="keywordtype">void</span> merge_padding(); 01114 <span class="keywordtype">void</span> sort_padding(); 01115 01116 <span class="keyword">protected</span>:<a class="code" href="group__flac__metadata__level2.html#ga0"></a> 01117 <a class="code" href="group__flac__metadata__level2.html#ga0"> ::FLAC__Metadata_Chain</a> *chain_; 01118 <span class="keyword">virtual</span> <span class="keywordtype">void</span> clear(); 01119 }; 01120 <a name="l01126"></a><a class="code" href="classFLAC_1_1Metadata_1_1Iterator.html">01126</a> <span class="keyword">class </span>FLACPP_API Iterator { 01127 <span class="keyword">public</span>: 01128 Iterator(); 01129 <span class="keyword">virtual</span> ~Iterator(); 01130 01131 <span class="keywordtype">bool</span> is_valid() <span class="keyword">const</span>; 01132 01133 01134 <span class="keywordtype">void</span> init(Chain &chain); 01135 01136 <span class="keywordtype">bool</span> next(); 01137 <span class="keywordtype">bool</span> prev(); 01138 <a class="code" href="group__flac__format.html#ga113"></a> 01139 <a class="code" href="group__flac__format.html#ga113"> ::FLAC__MetadataType</a> get_block_type() <span class="keyword">const</span>; 01140 Prototype *get_block(); 01141 <span class="keywordtype">bool</span> set_block(Prototype *block); 01142 <span class="keywordtype">bool</span> delete_block(<span class="keywordtype">bool</span> replace_with_padding); 01143 <span class="keywordtype">bool</span> insert_block_before(Prototype *block); 01144 <span class="keywordtype">bool</span> insert_block_after(Prototype *block); 01145 01146 <span class="keyword">protected</span>:<a class="code" href="group__flac__metadata__level2.html#ga1"></a> 01147 <a class="code" href="group__flac__metadata__level2.html#ga1"> ::FLAC__Metadata_Iterator</a> *iterator_; 01148 <span class="keyword">virtual</span> <span class="keywordtype">void</span> clear(); 01149 }; 01150 01151 <span class="comment">/* \} */</span> 01152 01153 } 01154 } 01155 01156 <span class="preprocessor">#endif</span> </pre></div> <hr size="1"> <div class="copyright"> <!-- @@@ oh so hacky --> <table> <tr> <td align="left"> Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson </td> <td width="1%" align="right"> <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a> </td> </tr> </table> </div> <!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson --> <!-- Permission is granted to copy, distribute and/or modify this document --> <!-- under the terms of the GNU Free Documentation License, Version 1.1 --> <!-- or any later version published by the Free Software Foundation; --> <!-- with no invariant sections. --> <!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html --> </body> </html>