<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>src/field.cpp Source File</title> <link href="id3lib.css" rel="stylesheet" type="text/css"> </head><body bgcolor="#ffffff"> <!-- Generated by Doxygen 1.2.12 --> <center> <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="namespacemembers.html">Namespace Members</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> </center> <hr><h1>src/field.cpp</h1><a href="field_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">// $Id: field.cpp,v 1.43 2001/09/08 23:53:55 shadrack Exp $</font> 00002 00003 <font class="comment">// id3lib: a C++ library for creating and manipulating id3v1/v2 tags</font> 00004 <font class="comment">// Copyright 1999, 2000 Scott Thomas Haug</font> 00005 00006 <font class="comment">// This library is free software; you can redistribute it and/or modify it</font> 00007 <font class="comment">// under the terms of the GNU Library General Public License as published by</font> 00008 <font class="comment">// the Free Software Foundation; either version 2 of the License, or (at your</font> 00009 <font class="comment">// option) any later version.</font> 00010 <font class="comment">//</font> 00011 <font class="comment">// This library is distributed in the hope that it will be useful, but WITHOUT</font> 00012 <font class="comment">// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or</font> 00013 <font class="comment">// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public</font> 00014 <font class="comment">// License for more details.</font> 00015 <font class="comment">//</font> 00016 <font class="comment">// You should have received a copy of the GNU Library General Public License</font> 00017 <font class="comment">// along with this library; if not, write to the Free Software Foundation,</font> 00018 <font class="comment">// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.</font> 00019 00020 <font class="comment">// The id3lib authors encourage improvements and optimisations to be sent to</font> 00021 <font class="comment">// the id3lib coordinator. Please see the README file for details on where to</font> 00022 <font class="comment">// send such submissions. See the AUTHORS file for a list of people who have</font> 00023 <font class="comment">// contributed to id3lib. See the ChangeLog file for a list of changes to</font> 00024 <font class="comment">// id3lib. These files are distributed with id3lib at</font> 00025 <font class="comment">// http://download.sourceforge.net/id3lib/</font> 00026 00027 <font class="preprocessor">#if defined HAVE_CONFIG_H</font> 00028 <font class="preprocessor"></font><font class="preprocessor">#include <config.h></font> 00029 <font class="preprocessor">#endif</font> 00030 <font class="preprocessor"></font> 00031 00032 00033 <font class="preprocessor">#include <string.h></font> 00034 00035 <font class="preprocessor">#include "<a class="code" href="field__impl_8h.html">field_impl.h</a>"</font> 00036 <font class="preprocessor">#include "utils.h"</font> 00037 <font class="preprocessor">#include "<a class="code" href="field__def_8h.html">field_def.h</a>"</font> 00038 <font class="preprocessor">#include "<a class="code" href="frame__def_8h.html">frame_def.h</a>"</font> 00039 <font class="preprocessor">#include "<a class="code" href="readers_8h.html">readers.h</a>"</font> 00040 00041 <font class="keyword">using</font> <font class="keyword">namespace </font>dami; 00042 00043 <font class="comment">// This is used for unimplemented frames so that their data is preserved when</font> 00044 <font class="comment">// parsing and rendering</font> 00045 <font class="keyword">static</font> <a class="code" href="struct_i_d3___field_def.html">ID3_FieldDef</a> ID3FD_Unimplemented[] = 00046 { 00047 { 00048 <a class="code" href="globals_8h.html#a218a74">ID3FN_DATA</a>, <font class="comment">// FIELD NAME</font> 00049 <a class="code" href="globals_8h.html#a222a188">ID3FTY_BINARY</a>, <font class="comment">// FIELD TYPE</font> 00050 0, <font class="comment">// FIXED LEN</font> 00051 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00052 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00053 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00054 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00055 }, 00056 { <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> } 00057 }; 00058 <a name="l00059"></a><a class="code" href="struct_i_d3___field_def.html#p0">00059</a> <font class="keyword">const</font> <a class="code" href="struct_i_d3___field_def.html">ID3_FieldDef</a>* <a class="code" href="struct_i_d3___field_def.html#p0">ID3_FieldDef::DEFAULT</a> = ID3FD_Unimplemented; 00060 00061 <font class="keyword">static</font> <a class="code" href="struct_i_d3___field_def.html">ID3_FieldDef</a> ID3FD_URL[] = 00062 { 00063 { 00064 <a class="code" href="globals_8h.html#a218a73">ID3FN_URL</a>, <font class="comment">// FIELD NAME</font> 00065 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00066 0, <font class="comment">// FIXED LEN</font> 00067 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00068 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00069 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00070 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00071 }, 00072 { <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> } 00073 }; 00074 00075 <font class="keyword">static</font> <a class="code" href="struct_i_d3___field_def.html">ID3_FieldDef</a> ID3FD_UserURL[] = 00076 { 00077 { 00078 <a class="code" href="globals_8h.html#a218a71">ID3FN_TEXTENC</a>, <font class="comment">// FIELD NAME </font> 00079 <a class="code" href="globals_8h.html#a222a187">ID3FTY_INTEGER</a>, <font class="comment">// FIELD TYPE</font> 00080 1, <font class="comment">// FIXED LEN</font> 00081 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00082 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00083 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00084 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00085 }, 00086 { 00087 <a class="code" href="globals_8h.html#a218a75">ID3FN_DESCRIPTION</a>, <font class="comment">// FIELD NAME</font> 00088 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00089 0, <font class="comment">// FIXED LEN</font> 00090 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00091 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00092 <a class="code" href="globals_8h.html#a221a182">ID3FF_CSTR</a> | <a class="code" href="globals_8h.html#a221a184">ID3FF_ENCODABLE</a>, <font class="comment">// FLAGS</font> 00093 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00094 }, 00095 { 00096 <a class="code" href="globals_8h.html#a218a73">ID3FN_URL</a>, <font class="comment">// FIELD NAME</font> 00097 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00098 0, <font class="comment">// FIXED LEN</font> 00099 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00100 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00101 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00102 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00103 }, 00104 { <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> } 00105 }; 00106 00107 <font class="keyword">static</font> <a class="code" href="struct_i_d3___field_def.html">ID3_FieldDef</a> ID3FD_Text[] = 00108 { 00109 { 00110 <a class="code" href="globals_8h.html#a218a71">ID3FN_TEXTENC</a>, <font class="comment">// FIELD NAME</font> 00111 <a class="code" href="globals_8h.html#a222a187">ID3FTY_INTEGER</a>, <font class="comment">// FIELD TYPE</font> 00112 1, <font class="comment">// FIXED LEN</font> 00113 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00114 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00115 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00116 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00117 }, 00118 { 00119 <a class="code" href="globals_8h.html#a218a72">ID3FN_TEXT</a>, <font class="comment">// FIELD NAME</font> 00120 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00121 0, <font class="comment">// FIXED LEN</font> 00122 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00123 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00124 <a class="code" href="globals_8h.html#a221a184">ID3FF_ENCODABLE</a>, <font class="comment">// FLAGS</font> 00125 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00126 }, 00127 { <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> } 00128 }; 00129 00130 00131 <font class="keyword">static</font> <a class="code" href="struct_i_d3___field_def.html">ID3_FieldDef</a> ID3FD_UserText[] = 00132 { 00133 { 00134 <a class="code" href="globals_8h.html#a218a71">ID3FN_TEXTENC</a>, <font class="comment">// FIELD NAME</font> 00135 <a class="code" href="globals_8h.html#a222a187">ID3FTY_INTEGER</a>, <font class="comment">// FIELD TYPE</font> 00136 1, <font class="comment">// FIXED LEN</font> 00137 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00138 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00139 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00140 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00141 }, 00142 { 00143 <a class="code" href="globals_8h.html#a218a75">ID3FN_DESCRIPTION</a>, <font class="comment">// FIELD NAME</font> 00144 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00145 0, <font class="comment">// FIXED LEN</font> 00146 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00147 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00148 <a class="code" href="globals_8h.html#a221a182">ID3FF_CSTR</a> | <a class="code" href="globals_8h.html#a221a184">ID3FF_ENCODABLE</a>, <font class="comment">// FLAGS</font> 00149 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00150 }, 00151 { 00152 <a class="code" href="globals_8h.html#a218a72">ID3FN_TEXT</a>, <font class="comment">// FIELD NAME</font> 00153 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00154 0, <font class="comment">// FIXED LEN</font> 00155 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00156 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00157 <a class="code" href="globals_8h.html#a221a184">ID3FF_ENCODABLE</a>, <font class="comment">// FLAGS</font> 00158 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00159 }, 00160 { <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> } 00161 }; 00162 00163 00164 <font class="keyword">static</font> <a class="code" href="struct_i_d3___field_def.html">ID3_FieldDef</a> ID3FD_GeneralText[] = 00165 { 00166 { 00167 <a class="code" href="globals_8h.html#a218a71">ID3FN_TEXTENC</a>, <font class="comment">// FIELD NAME</font> 00168 <a class="code" href="globals_8h.html#a222a187">ID3FTY_INTEGER</a>, <font class="comment">// FIELD TYPE</font> 00169 1, <font class="comment">// FIXED LEN</font> 00170 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00171 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00172 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00173 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00174 }, 00175 { 00176 <a class="code" href="globals_8h.html#a218a80">ID3FN_LANGUAGE</a>, <font class="comment">// FIELD NAME</font> 00177 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00178 3, <font class="comment">// FIXED LEN</font> 00179 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00180 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00181 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00182 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00183 }, 00184 { 00185 <a class="code" href="globals_8h.html#a218a75">ID3FN_DESCRIPTION</a>, <font class="comment">// FIELD NAME</font> 00186 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00187 0, <font class="comment">// FIXED LEN</font> 00188 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00189 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00190 <a class="code" href="globals_8h.html#a221a182">ID3FF_CSTR</a> | <a class="code" href="globals_8h.html#a221a184">ID3FF_ENCODABLE</a>, <font class="comment">// FLAGS</font> 00191 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00192 }, 00193 { 00194 <a class="code" href="globals_8h.html#a218a72">ID3FN_TEXT</a>, <font class="comment">// FIELD NAME</font> 00195 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00196 0, <font class="comment">// FIXED LEN</font> 00197 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00198 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00199 <a class="code" href="globals_8h.html#a221a184">ID3FF_ENCODABLE</a>, <font class="comment">// FLAGS</font> 00200 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00201 }, 00202 { <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> } 00203 }; 00204 00205 <font class="keyword">static</font> <a class="code" href="struct_i_d3___field_def.html">ID3_FieldDef</a> ID3FD_TermsOfUse[] = 00206 { 00207 { 00208 <a class="code" href="globals_8h.html#a218a71">ID3FN_TEXTENC</a>, <font class="comment">// FIELD NAME</font> 00209 <a class="code" href="globals_8h.html#a222a187">ID3FTY_INTEGER</a>, <font class="comment">// FIELD TYPE</font> 00210 1, <font class="comment">// FIXED LEN</font> 00211 <a class="code" href="globals_8h.html#a216a55">ID3V2_3_0</a>, <font class="comment">// INITIAL SPEC</font> 00212 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00213 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00214 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00215 }, 00216 { 00217 <a class="code" href="globals_8h.html#a218a80">ID3FN_LANGUAGE</a>, <font class="comment">// FIELD NAME</font> 00218 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00219 3, <font class="comment">// FIXED LEN</font> 00220 <a class="code" href="globals_8h.html#a216a55">ID3V2_3_0</a>, <font class="comment">// INITIAL SPEC</font> 00221 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00222 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00223 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00224 }, 00225 { 00226 <a class="code" href="globals_8h.html#a218a72">ID3FN_TEXT</a>, <font class="comment">// FIELD NAME</font> 00227 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00228 0, <font class="comment">// FIXED LEN</font> 00229 <a class="code" href="globals_8h.html#a216a55">ID3V2_3_0</a>, <font class="comment">// INITIAL SPEC</font> 00230 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00231 <a class="code" href="globals_8h.html#a221a184">ID3FF_ENCODABLE</a>, <font class="comment">// FLAGS</font> 00232 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00233 }, 00234 { <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> } 00235 }; 00236 00237 <font class="keyword">static</font> <a class="code" href="struct_i_d3___field_def.html">ID3_FieldDef</a> ID3FD_LinkedInfo[] = 00238 { 00239 { 00240 <a class="code" href="globals_8h.html#a218a85">ID3FN_ID</a>, <font class="comment">// FIELD NAME</font> 00241 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00242 3, <font class="comment">// FIXED LEN</font> 00243 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00244 <a class="code" href="globals_8h.html#a216a54">ID3V2_2_1</a>, <font class="comment">// ENDING SPEC</font> 00245 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00246 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00247 }, 00248 { 00249 <a class="code" href="globals_8h.html#a218a85">ID3FN_ID</a>, <font class="comment">// FIELD NAME</font> 00250 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00251 4, <font class="comment">// FIXED LEN</font> 00252 <a class="code" href="globals_8h.html#a216a55">ID3V2_3_0</a>, <font class="comment">// INITIAL SPEC</font> 00253 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00254 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00255 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00256 }, 00257 { 00258 <a class="code" href="globals_8h.html#a218a73">ID3FN_URL</a>, <font class="comment">// FIELD NAME</font> 00259 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00260 0, <font class="comment">// FIXED LEN</font> 00261 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00262 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00263 <a class="code" href="globals_8h.html#a221a182">ID3FF_CSTR</a>, <font class="comment">// FLAGS</font> 00264 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00265 }, 00266 { 00267 <a class="code" href="globals_8h.html#a218a72">ID3FN_TEXT</a>, <font class="comment">// FIELD NAME</font> 00268 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00269 0, <font class="comment">// FIXED LEN</font> 00270 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00271 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00272 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00273 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00274 }, 00275 { <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> } 00276 }; 00277 00278 <font class="keyword">static</font> <a class="code" href="struct_i_d3___field_def.html">ID3_FieldDef</a> ID3FD_Picture[] = 00279 { 00280 { 00281 <a class="code" href="globals_8h.html#a218a71">ID3FN_TEXTENC</a>, <font class="comment">// FIELD NAME</font> 00282 <a class="code" href="globals_8h.html#a222a187">ID3FTY_INTEGER</a>, <font class="comment">// FIELD TYPE</font> 00283 1, <font class="comment">// FIXED LEN</font> 00284 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00285 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00286 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00287 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00288 }, 00289 { 00290 <a class="code" href="globals_8h.html#a218a82">ID3FN_IMAGEFORMAT</a>, <font class="comment">// FIELD NAME</font> 00291 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00292 3, <font class="comment">// FIXED LEN</font> 00293 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00294 <a class="code" href="globals_8h.html#a216a54">ID3V2_2_1</a>, <font class="comment">// ENDING SPEC</font> 00295 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00296 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00297 }, 00298 { 00299 <a class="code" href="globals_8h.html#a218a83">ID3FN_MIMETYPE</a>, <font class="comment">// FIELD NAME</font> 00300 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00301 0, <font class="comment">// FIXED LEN</font> 00302 <a class="code" href="globals_8h.html#a216a55">ID3V2_3_0</a>, <font class="comment">// INITIAL SPEC</font> 00303 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00304 <a class="code" href="globals_8h.html#a221a182">ID3FF_CSTR</a>, <font class="comment">// FLAGS</font> 00305 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00306 }, 00307 { 00308 <a class="code" href="globals_8h.html#a218a81">ID3FN_PICTURETYPE</a>, <font class="comment">// FIELD NAME</font> 00309 <a class="code" href="globals_8h.html#a222a187">ID3FTY_INTEGER</a>, <font class="comment">// FIELD TYPE</font> 00310 1, <font class="comment">// FIXED LEN</font> 00311 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00312 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00313 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00314 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00315 }, 00316 { 00317 <a class="code" href="globals_8h.html#a218a75">ID3FN_DESCRIPTION</a>, <font class="comment">// FIELD NAME</font> 00318 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00319 0, <font class="comment">// FIXED LEN</font> 00320 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00321 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00322 <a class="code" href="globals_8h.html#a221a182">ID3FF_CSTR</a> | <a class="code" href="globals_8h.html#a221a184">ID3FF_ENCODABLE</a>, <font class="comment">// FLAGS</font> 00323 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00324 }, 00325 { 00326 <a class="code" href="globals_8h.html#a218a74">ID3FN_DATA</a>, <font class="comment">// FIELD NAME</font> 00327 <a class="code" href="globals_8h.html#a222a188">ID3FTY_BINARY</a>, <font class="comment">// FIELD TYPE</font> 00328 0, <font class="comment">// FIXED LEN</font> 00329 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00330 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00331 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00332 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00333 }, 00334 { <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> } 00335 }; 00336 00337 <font class="keyword">static</font> <a class="code" href="struct_i_d3___field_def.html">ID3_FieldDef</a> ID3FD_GEO[] = 00338 { 00339 { 00340 <a class="code" href="globals_8h.html#a218a71">ID3FN_TEXTENC</a>, <font class="comment">// FIELD NAME</font> 00341 <a class="code" href="globals_8h.html#a222a187">ID3FTY_INTEGER</a>, <font class="comment">// FIELD TYPE</font> 00342 1, <font class="comment">// FIXED LEN</font> 00343 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00344 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00345 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00346 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00347 }, 00348 { 00349 <a class="code" href="globals_8h.html#a218a83">ID3FN_MIMETYPE</a>, <font class="comment">// FIELD NAME</font> 00350 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00351 0, <font class="comment">// FIXED LEN</font> 00352 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00353 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00354 <a class="code" href="globals_8h.html#a221a182">ID3FF_CSTR</a>, <font class="comment">// FLAGS</font> 00355 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00356 }, 00357 { 00358 <a class="code" href="globals_8h.html#a218a79">ID3FN_FILENAME</a>, <font class="comment">// FIELD NAME</font> 00359 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00360 0, <font class="comment">// FIXED LEN</font> 00361 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00362 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00363 <a class="code" href="globals_8h.html#a221a182">ID3FF_CSTR</a> | <a class="code" href="globals_8h.html#a221a184">ID3FF_ENCODABLE</a>, <font class="comment">// FLAGS</font> 00364 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00365 }, 00366 { 00367 <a class="code" href="globals_8h.html#a218a75">ID3FN_DESCRIPTION</a>, <font class="comment">// FIELD NAME</font> 00368 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00369 0, <font class="comment">// FIXED LEN</font> 00370 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00371 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00372 <a class="code" href="globals_8h.html#a221a182">ID3FF_CSTR</a> | <a class="code" href="globals_8h.html#a221a184">ID3FF_ENCODABLE</a>, <font class="comment">// FLAGS</font> 00373 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00374 }, 00375 { 00376 <a class="code" href="globals_8h.html#a218a74">ID3FN_DATA</a>, <font class="comment">// FIELD NAME</font> 00377 <a class="code" href="globals_8h.html#a222a188">ID3FTY_BINARY</a>, <font class="comment">// FIELD TYPE</font> 00378 0, <font class="comment">// FIXED LEN</font> 00379 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00380 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00381 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00382 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00383 }, 00384 { <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> } 00385 }; 00386 00387 <font class="keyword">static</font> <a class="code" href="struct_i_d3___field_def.html">ID3_FieldDef</a> ID3FD_UFI[] = 00388 { 00389 { 00390 <a class="code" href="globals_8h.html#a218a76">ID3FN_OWNER</a>, <font class="comment">// FIELD NAME</font> 00391 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00392 0, <font class="comment">// FIXED LEN</font> 00393 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00394 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00395 <a class="code" href="globals_8h.html#a221a182">ID3FF_CSTR</a>, <font class="comment">// FLAGS</font> 00396 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00397 }, 00398 { 00399 <a class="code" href="globals_8h.html#a218a74">ID3FN_DATA</a>, <font class="comment">// FIELD NAME</font> 00400 <a class="code" href="globals_8h.html#a222a188">ID3FTY_BINARY</a>, <font class="comment">// FIELD TYPE</font> 00401 0, <font class="comment">// FIXED LEN</font> 00402 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00403 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00404 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00405 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00406 }, 00407 { <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> } 00408 }; 00409 00410 <font class="keyword">static</font> <a class="code" href="struct_i_d3___field_def.html">ID3_FieldDef</a> ID3FD_PlayCounter[] = 00411 { 00412 { 00413 <a class="code" href="globals_8h.html#a218a84">ID3FN_COUNTER</a>, <font class="comment">// FIELD NAME</font> 00414 <a class="code" href="globals_8h.html#a222a187">ID3FTY_INTEGER</a>, <font class="comment">// FIELD TYPE</font> 00415 4, <font class="comment">// FIXED LEN</font> 00416 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00417 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00418 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00419 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00420 }, 00421 { <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> } 00422 }; 00423 00424 <font class="keyword">static</font> <a class="code" href="struct_i_d3___field_def.html">ID3_FieldDef</a> ID3FD_Popularimeter[] = 00425 { 00426 { 00427 <a class="code" href="globals_8h.html#a218a77">ID3FN_EMAIL</a>, <font class="comment">// FIELD NAME</font> 00428 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00429 0, <font class="comment">// FIXED LEN</font> 00430 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00431 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00432 <a class="code" href="globals_8h.html#a221a182">ID3FF_CSTR</a>, <font class="comment">// FLAGS</font> 00433 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00434 }, 00435 { 00436 <a class="code" href="globals_8h.html#a218a78">ID3FN_RATING</a>, <font class="comment">// FIELD NAME</font> 00437 <a class="code" href="globals_8h.html#a222a187">ID3FTY_INTEGER</a>, <font class="comment">// FIELD TYPE</font> 00438 1, <font class="comment">// FIXED LEN</font> 00439 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00440 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00441 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00442 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00443 }, 00444 { 00445 <a class="code" href="globals_8h.html#a218a84">ID3FN_COUNTER</a>, <font class="comment">// FIELD NAME</font> 00446 <a class="code" href="globals_8h.html#a222a187">ID3FTY_INTEGER</a>, <font class="comment">// FIELD TYPE</font> 00447 4, <font class="comment">// FIXED LEN</font> 00448 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00449 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00450 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00451 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00452 }, 00453 { <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> } 00454 }; 00455 00456 <font class="keyword">static</font> <a class="code" href="struct_i_d3___field_def.html">ID3_FieldDef</a> ID3FD_Private[] = 00457 { 00458 { 00459 <a class="code" href="globals_8h.html#a218a76">ID3FN_OWNER</a>, <font class="comment">// FIELD NAME</font> 00460 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00461 0, <font class="comment">// FIXED LEN</font> 00462 <a class="code" href="globals_8h.html#a216a55">ID3V2_3_0</a>, <font class="comment">// INITIAL SPEC</font> 00463 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00464 <a class="code" href="globals_8h.html#a221a182">ID3FF_CSTR</a>, <font class="comment">// FLAGS</font> 00465 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00466 }, 00467 { 00468 <a class="code" href="globals_8h.html#a218a74">ID3FN_DATA</a>, <font class="comment">// FIELD NAME</font> 00469 <a class="code" href="globals_8h.html#a222a188">ID3FTY_BINARY</a>, <font class="comment">// FIELD TYPE</font> 00470 0, <font class="comment">// FIXED LEN</font> 00471 <a class="code" href="globals_8h.html#a216a55">ID3V2_3_0</a>, <font class="comment">// INITIAL SPEC</font> 00472 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00473 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00474 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00475 }, 00476 { <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> } 00477 }; 00478 00479 00480 <font class="keyword">static</font> <a class="code" href="struct_i_d3___field_def.html">ID3_FieldDef</a> ID3FD_Registration[] = 00481 { 00482 { 00483 <a class="code" href="globals_8h.html#a218a76">ID3FN_OWNER</a>, <font class="comment">// FIELD NAME</font> 00484 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00485 0, <font class="comment">// FIXED LEN</font> 00486 <a class="code" href="globals_8h.html#a216a55">ID3V2_3_0</a>, <font class="comment">// INITIAL SPEC</font> 00487 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00488 <a class="code" href="globals_8h.html#a221a182">ID3FF_CSTR</a>, <font class="comment">// FLAGS</font> 00489 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00490 }, 00491 { 00492 <a class="code" href="globals_8h.html#a218a85">ID3FN_ID</a>, <font class="comment">// FIELD NAME</font> 00493 <a class="code" href="globals_8h.html#a222a187">ID3FTY_INTEGER</a>, <font class="comment">// FIELD TYPE</font> 00494 1, <font class="comment">// FIXED LEN</font> 00495 <a class="code" href="globals_8h.html#a216a55">ID3V2_3_0</a>, <font class="comment">// INITIAL SPEC</font> 00496 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00497 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00498 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00499 }, 00500 { 00501 <a class="code" href="globals_8h.html#a218a74">ID3FN_DATA</a>, <font class="comment">// FIELD NAME</font> 00502 <a class="code" href="globals_8h.html#a222a188">ID3FTY_BINARY</a>, <font class="comment">// FIELD TYPE</font> 00503 0, <font class="comment">// FIXED LEN</font> 00504 <a class="code" href="globals_8h.html#a216a55">ID3V2_3_0</a>, <font class="comment">// INITIAL SPEC</font> 00505 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00506 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00507 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00508 }, 00509 { <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> } 00510 }; 00511 00512 <font class="keyword">static</font> <a class="code" href="struct_i_d3___field_def.html">ID3_FieldDef</a> ID3FD_InvolvedPeople[] = 00513 { 00514 { 00515 <a class="code" href="globals_8h.html#a218a71">ID3FN_TEXTENC</a>, <font class="comment">// FIELD NAME</font> 00516 <a class="code" href="globals_8h.html#a222a187">ID3FTY_INTEGER</a>, <font class="comment">// FIELD TYPE</font> 00517 1, <font class="comment">// FIXED LEN</font> 00518 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00519 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00520 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00521 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00522 }, 00523 { 00524 <a class="code" href="globals_8h.html#a218a72">ID3FN_TEXT</a>, <font class="comment">// FIELD NAME</font> 00525 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00526 0, <font class="comment">// FIXED LEN</font> 00527 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00528 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00529 <a class="code" href="globals_8h.html#a221a185">ID3FF_TEXTLIST</a>, <font class="comment">// FLAGS</font> 00530 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00531 }, 00532 { <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> } 00533 }; 00534 00535 <font class="keyword">static</font> <a class="code" href="struct_i_d3___field_def.html">ID3_FieldDef</a> ID3FD_CDM[] = 00536 { 00537 { 00538 <a class="code" href="globals_8h.html#a218a74">ID3FN_DATA</a>, <font class="comment">// FIELD NAME</font> 00539 <a class="code" href="globals_8h.html#a222a188">ID3FTY_BINARY</a>, <font class="comment">// FIELD TYPE</font> 00540 0, <font class="comment">// FIXED LEN</font> 00541 <a class="code" href="globals_8h.html#a216a54">ID3V2_2_1</a>, <font class="comment">// INITIAL SPEC</font> 00542 <a class="code" href="globals_8h.html#a216a54">ID3V2_2_1</a>, <font class="comment">// ENDING SPEC</font> 00543 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00544 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00545 } 00546 }; 00547 00548 <font class="keyword">static</font> <a class="code" href="struct_i_d3___field_def.html">ID3_FieldDef</a> ID3FD_SyncLyrics[] = 00549 { 00550 { 00551 <a class="code" href="globals_8h.html#a218a71">ID3FN_TEXTENC</a>, <font class="comment">// FIELD NAME</font> 00552 <a class="code" href="globals_8h.html#a222a187">ID3FTY_INTEGER</a>, <font class="comment">// FIELD TYPE</font> 00553 1, <font class="comment">// FIXED LEN</font> 00554 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00555 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00556 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00557 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00558 }, 00559 { 00560 <a class="code" href="globals_8h.html#a218a80">ID3FN_LANGUAGE</a>, <font class="comment">// FIELD NAME</font> 00561 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00562 3, <font class="comment">// FIXED LEN</font> 00563 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00564 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00565 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00566 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00567 }, 00568 { 00569 <a class="code" href="globals_8h.html#a218a92">ID3FN_TIMESTAMPFORMAT</a>, <font class="comment">// FIELD NAME</font> 00570 <a class="code" href="globals_8h.html#a222a187">ID3FTY_INTEGER</a>, <font class="comment">// FIELD TYPE</font> 00571 1, <font class="comment">// FIXED LEN</font> 00572 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00573 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00574 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00575 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00576 }, 00577 { 00578 <a class="code" href="globals_8h.html#a218a93">ID3FN_CONTENTTYPE</a>, <font class="comment">// FIELD NAME</font> 00579 <a class="code" href="globals_8h.html#a222a187">ID3FTY_INTEGER</a>, <font class="comment">// FIELD TYPE</font> 00580 1, <font class="comment">// FIXED LEN</font> 00581 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00582 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00583 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00584 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00585 }, 00586 { 00587 <a class="code" href="globals_8h.html#a218a75">ID3FN_DESCRIPTION</a>, <font class="comment">// FIELD NAME</font> 00588 <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>, <font class="comment">// FIELD TYPE</font> 00589 0, <font class="comment">// FIXED LEN</font> 00590 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00591 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00592 <a class="code" href="globals_8h.html#a221a182">ID3FF_CSTR</a> | <a class="code" href="globals_8h.html#a221a184">ID3FF_ENCODABLE</a>, <font class="comment">// FLAGS</font> 00593 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00594 }, 00595 { 00596 <a class="code" href="globals_8h.html#a218a74">ID3FN_DATA</a>, <font class="comment">// FIELD NAME</font> 00597 <a class="code" href="globals_8h.html#a222a188">ID3FTY_BINARY</a>, <font class="comment">// FIELD TYPE</font> 00598 0, <font class="comment">// FIXED LEN</font> 00599 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00600 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00601 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00602 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00603 }, 00604 { <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> } 00605 }; 00606 00607 00608 <font class="comment">/*</font> 00609 <font class="comment"> * Currently unused</font> 00610 <font class="comment"> */</font> 00611 <font class="preprocessor">#if defined _UNDEFINED_</font> 00612 <font class="preprocessor"></font><font class="keyword">static</font> <a class="code" href="struct_i_d3___field_def.html">ID3_FieldDef</a> ID3FD_Volume[] = 00613 { 00614 { 00615 <a class="code" href="globals_8h.html#a218a86">ID3FN_VOLUMEADJ</a>, <font class="comment">// FIELD NAME</font> 00616 <a class="code" href="globals_8h.html#a222a187">ID3FTY_INTEGER</a>, <font class="comment">// FIELD TYPE</font> 00617 1, <font class="comment">// FIXED LEN</font> 00618 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00619 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00620 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00621 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00622 }, 00623 { 00624 <a class="code" href="globals_8h.html#a218a87">ID3FN_NUMBITS</a>, <font class="comment">// FIELD NAME</font> 00625 <a class="code" href="globals_8h.html#a222a187">ID3FTY_INTEGER</a>, <font class="comment">// FIELD TYPE</font> 00626 1, <font class="comment">// FIXED LEN</font> 00627 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00628 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00629 <a class="code" href="globals_8h.html#a221a181">ID3FF_NONE</a>, <font class="comment">// FLAGS</font> 00630 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> <font class="comment">// LINKED FIELD</font> 00631 }, 00632 { 00633 <a class="code" href="globals_8h.html#a218a88">ID3FN_VOLCHGRIGHT</a>, <font class="comment">// FIELD NAME</font> 00634 ID3FTY_BITFIELD, <font class="comment">// FIELD TYPE</font> 00635 0, <font class="comment">// FIXED LEN</font> 00636 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00637 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00638 ID3FF_ADJUSTEDBY, <font class="comment">// FLAGS</font> 00639 <a class="code" href="globals_8h.html#a218a87">ID3FN_NUMBITS</a> <font class="comment">// LINKED FIELD</font> 00640 }, 00641 { 00642 <a class="code" href="globals_8h.html#a218a89">ID3FN_VOLCHGLEFT</a>, <font class="comment">// FIELD NAME</font> 00643 ID3FTY_BITFIELD, <font class="comment">// FIELD TYPE</font> 00644 0, <font class="comment">// FIXED LEN</font> 00645 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00646 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00647 ID3FF_ADJUSTEDBY, <font class="comment">// FLAGS</font> 00648 <a class="code" href="globals_8h.html#a218a87">ID3FN_NUMBITS</a> <font class="comment">// LINKED FIELD</font> 00649 }, 00650 { 00651 <a class="code" href="globals_8h.html#a218a90">ID3FN_PEAKVOLRIGHT</a>, <font class="comment">// FIELD NAME</font> 00652 ID3FTY_BITFIELD, <font class="comment">// FIELD TYPE</font> 00653 0, <font class="comment">// FIXED LEN</font> 00654 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00655 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00656 ID3FF_ADJUSTEDBY, <font class="comment">// FLAGS</font> 00657 <a class="code" href="globals_8h.html#a218a87">ID3FN_NUMBITS</a> <font class="comment">// LINKED FIELD</font> 00658 }, 00659 { 00660 <a class="code" href="globals_8h.html#a218a91">ID3FN_PEAKVOLLEFT</a>, <font class="comment">// FIELD NAME</font> 00661 ID3FTY_BITFIELD, <font class="comment">// FIELD TYPE</font> 00662 0, <font class="comment">// FIXED LEN</font> 00663 <a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>, <font class="comment">// INITIAL SPEC</font> 00664 <a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>, <font class="comment">// ENDING SPEC</font> 00665 ID3FF_ADJUSTEDBY, <font class="comment">// FLAGS</font> 00666 <a class="code" href="globals_8h.html#a218a87">ID3FN_NUMBITS</a> <font class="comment">// LINKED FIELD</font> 00667 }, 00668 { <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a> } 00669 }; 00670 <font class="preprocessor">#endif </font><font class="comment">/* _UNDEFINED_ */</font> 00671 00672 <font class="comment">// **** Currently Implemented Frames</font> 00673 <font class="comment">// APIC PIC ID3FID_PICTURE Attached picture</font> 00674 <font class="comment">// COMM COM ID3FID_COMMENT Comments</font> 00675 <font class="comment">// ENCR ID3FID_CRYPTOREG Encryption method registration</font> 00676 <font class="comment">// GEOB GEO ID3FID_GENERALOBJECT General encapsulated object</font> 00677 <font class="comment">// GRID ID3FID_GROUPINGREG Group identification registration</font> 00678 <font class="comment">// IPLS IPL ID3FID_INVOLVEDPEOPLE Involved people list</font> 00679 <font class="comment">// LINK LNK ID3FID_LINKEDINFO Linked information</font> 00680 <font class="comment">// PCNT CNT ID3FID_PLAYCOUNTER Play counter</font> 00681 <font class="comment">// POPM POP ID3FID_POPULARIMETER Popularimeter</font> 00682 <font class="comment">// PRIV ID3FID_PRIVATE Private frame</font> 00683 <font class="comment">// SYLT SLT ID3FID_SYNCEDLYRICS Synchronized lyric/text</font> 00684 <font class="comment">// TALB TAL ID3FID_ALBUM Album/Movie/Show title</font> 00685 <font class="comment">// TBPM TBP ID3FID_BPM BPM (beats per minute)</font> 00686 <font class="comment">// TCOM TCM ID3FID_COMPOSER Composer</font> 00687 <font class="comment">// TCON TCO ID3FID_CONTENTTYPE Content type</font> 00688 <font class="comment">// TCOP TCR ID3FID_COPYRIGHT Copyright message</font> 00689 <font class="comment">// TDAT TDA ID3FID_DATE Date</font> 00690 <font class="comment">// TDLY TDY ID3FID_PLAYLISTDELAY Playlist delay</font> 00691 <font class="comment">// TENC TEN ID3FID_ENCODEDBY Encoded by</font> 00692 <font class="comment">// TEXT TXT ID3FID_LYRICIST Lyricist/Text writer</font> 00693 <font class="comment">// TFLT TFT ID3FID_FILETYPE File type</font> 00694 <font class="comment">// TIME TKE ID3FID_TIME Time</font> 00695 <font class="comment">// TIT1 TIM ID3FID_CONTENTGROUP Content group description</font> 00696 <font class="comment">// TIT2 TT1 ID3FID_TITLE Title/songname/content description</font> 00697 <font class="comment">// TIT3 TT2 ID3FID_SUBTITLE Subtitle/Description refinement</font> 00698 <font class="comment">// TKEY TT3 ID3FID_INITIALKEY Initial key</font> 00699 <font class="comment">// TLAN TLA ID3FID_LANGUAGE Language(s)</font> 00700 <font class="comment">// TLEN TLE ID3FID_SONGLEN Length</font> 00701 <font class="comment">// TMED TMT ID3FID_MEDIATYPE Media type</font> 00702 <font class="comment">// TOAL TOT ID3FID_ORIGALBUM Original album/movie/show title</font> 00703 <font class="comment">// TOFN TOF ID3FID_ORIGFILENAME Original filename</font> 00704 <font class="comment">// TOLY TOL ID3FID_ORIGLYRICIST Original lyricist(s)/text writer(s)</font> 00705 <font class="comment">// TOPE TOA ID3FID_ORIGARTIST Original artist(s)/performer(s)</font> 00706 <font class="comment">// TORY TOR ID3FID_ORIGYEAR Original release year</font> 00707 <font class="comment">// TOWN ID3FID_FILEOWNER File owner/licensee</font> 00708 <font class="comment">// TPE1 TP1 ID3FID_LEADARTIST Lead performer(s)/Soloist(s)</font> 00709 <font class="comment">// TPE2 TP2 ID3FID_BAND Band/orchestra/accompaniment</font> 00710 <font class="comment">// TPE3 TP3 ID3FID_CONDUCTOR Conductor/performer refinement</font> 00711 <font class="comment">// TPE4 TP4 ID3FID_MIXARTIST Interpreted, remixed, or otherwise modified</font> 00712 <font class="comment">// TPOS TPA ID3FID_PARTINSET Part of a set</font> 00713 <font class="comment">// TPUB TPB ID3FID_PUBLISHER Publisher</font> 00714 <font class="comment">// TRCK TRK ID3FID_TRACKNUM Track number/Position in set</font> 00715 <font class="comment">// TRDA TRD ID3FID_RECORDINGDATES Recording dates</font> 00716 <font class="comment">// TRSN TRN ID3FID_NETRADIOSTATION Internet radio station name</font> 00717 <font class="comment">// TRSO TRO ID3FID_NETRADIOOWNER Internet radio station owner</font> 00718 <font class="comment">// TSIZ TSI ID3FID_SIZE Size</font> 00719 <font class="comment">// TSRC TRC ID3FID_ISRC ISRC (international standard recording code)</font> 00720 <font class="comment">// TSSE TSS ID3FID_ENCODERSETTINGS Software/Hardware and encoding settings</font> 00721 <font class="comment">// TXXX TXX ID3FID_USERTEXT User defined text information</font> 00722 <font class="comment">// TYER TYE ID3FID_YEAR Year</font> 00723 <font class="comment">// UFID UFI ID3FID_UNIQUEFILEID Unique file identifier</font> 00724 <font class="comment">// USER ID3FID_TERMSOFUSE Terms of use</font> 00725 <font class="comment">// USLT ULT ID3FID_UNSYNCEDLYRICS Unsynchronized lyric/text transcription</font> 00726 <font class="comment">// WCOM WCM ID3FID_WWWCOMMERCIALINFO Commercial information</font> 00727 <font class="comment">// WCOP WCM ID3FID_WWWCOPYRIGHT Copyright/Legal infromation</font> 00728 <font class="comment">// WOAF WCP ID3FID_WWWAUDIOFILE Official audio file webpage</font> 00729 <font class="comment">// WOAR WAF ID3FID_WWWARTIST Official artist/performer webpage</font> 00730 <font class="comment">// WOAS WAR ID3FID_WWWAUDIOSOURCE Official audio source webpage</font> 00731 <font class="comment">// WORS WAS ID3FID_WWWRADIOPAGE Official internet radio station homepage</font> 00732 <font class="comment">// WPAY WRA ID3FID_WWWPAYMENT Payment</font> 00733 <font class="comment">// WPUB WPY ID3FID_WWWPUBLISHER Official publisher webpage</font> 00734 <font class="comment">// WXXX WXX ID3FID_WWWUSER User defined URL link</font> 00735 <font class="comment">// CDM ID3FID_METACOMPRESSION Compressed data meta frame</font> 00736 00737 <font class="comment">// **** Currently unimplemented frames</font> 00738 <font class="comment">// AENC CRA ID3FID_AUDIOCRYPTO Audio encryption</font> 00739 <font class="comment">// COMR ID3FID_COMMERCIAL Commercial frame</font> 00740 <font class="comment">// EQUA EQU ID3FID_EQUALIZATION Equalization</font> 00741 <font class="comment">// ETCO ETC ID3FID_EVENTTIMING Event timing codes</font> 00742 <font class="comment">// MCDI MCI ID3FID_CDID Music CD identifier</font> 00743 <font class="comment">// MLLT MLL ID3FID_MPEGLOOKUP MPEG location lookup table</font> 00744 <font class="comment">// OWNE ID3FID_OWNERSHIP Ownership frame</font> 00745 <font class="comment">// POSS ID3FID_POSITIONSYNC Position synchronisation frame</font> 00746 <font class="comment">// RBUF BUF ID3FID_BUFFERSIZE Recommended buffer size</font> 00747 <font class="comment">// RVAD RVA ID3FID_VOLUMEADJ Relative volume adjustment</font> 00748 <font class="comment">// RVRB REV ID3FID_REVERB Reverb</font> 00749 <font class="comment">// SYTC STC ID3FID_SYNCEDTEMPO Synchronized tempo codes</font> 00750 <font class="comment">// CRM ID3FID_METACRYPTO Encrypted meta frame</font> 00751 <font class="keyword">static</font> <a class="code" href="struct_i_d3___frame_def.html">ID3_FrameDef</a> ID3_FrameDefs[] = 00752 { 00753 <font class="comment">// short long tag file</font> 00754 <font class="comment">// frame id id id discrd discrd field defs description</font> 00755 {<a class="code" href="globals_8h.html#a219a96">ID3FID_AUDIOCRYPTO</a>, <font class="stringliteral">"CRA"</font>, <font class="stringliteral">"AENC"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Unimplemented, <font class="stringliteral">"Audio encryption"</font>}, 00756 {<a class="code" href="globals_8h.html#a219a97">ID3FID_PICTURE</a>, <font class="stringliteral">"PIC"</font>, <font class="stringliteral">"APIC"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Picture, <font class="stringliteral">"Attached picture"</font>}, 00757 {<a class="code" href="globals_8h.html#a219a98">ID3FID_COMMENT</a>, <font class="stringliteral">"COM"</font>, <font class="stringliteral">"COMM"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_GeneralText, <font class="stringliteral">"Comments"</font>}, 00758 {<a class="code" href="globals_8h.html#a219a99">ID3FID_COMMERCIAL</a>, <font class="stringliteral">""</font> , <font class="stringliteral">"COMR"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Unimplemented, <font class="stringliteral">"Commercial"</font>}, 00759 {<a class="code" href="globals_8h.html#a219a100">ID3FID_CRYPTOREG</a>, <font class="stringliteral">""</font> , <font class="stringliteral">"ENCR"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Registration, <font class="stringliteral">"Encryption method registration"</font>}, 00760 {<a class="code" href="globals_8h.html#a219a101">ID3FID_EQUALIZATION</a>, <font class="stringliteral">"EQU"</font>, <font class="stringliteral">"EQUA"</font>, <font class="keyword">false</font>, <font class="keyword">true</font>, ID3FD_Unimplemented, <font class="stringliteral">"Equalization"</font>}, 00761 {<a class="code" href="globals_8h.html#a219a102">ID3FID_EVENTTIMING</a>, <font class="stringliteral">"ETC"</font>, <font class="stringliteral">"ETCO"</font>, <font class="keyword">false</font>, <font class="keyword">true</font>, ID3FD_Unimplemented, <font class="stringliteral">"Event timing codes"</font>}, 00762 {<a class="code" href="globals_8h.html#a219a103">ID3FID_GENERALOBJECT</a>, <font class="stringliteral">"GEO"</font>, <font class="stringliteral">"GEOB"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_GEO, <font class="stringliteral">"General encapsulated object"</font>}, 00763 {<a class="code" href="globals_8h.html#a219a104">ID3FID_GROUPINGREG</a>, <font class="stringliteral">""</font> , <font class="stringliteral">"GRID"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Registration, <font class="stringliteral">"Group identification registration"</font>}, 00764 {<a class="code" href="globals_8h.html#a219a105">ID3FID_INVOLVEDPEOPLE</a>, <font class="stringliteral">"IPL"</font>, <font class="stringliteral">"IPLS"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_InvolvedPeople,<font class="stringliteral">"Involved people list"</font>}, 00765 {<a class="code" href="globals_8h.html#a219a106">ID3FID_LINKEDINFO</a>, <font class="stringliteral">"LNK"</font>, <font class="stringliteral">"LINK"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_LinkedInfo, <font class="stringliteral">"Linked information"</font>}, 00766 {<a class="code" href="globals_8h.html#a219a107">ID3FID_CDID</a>, <font class="stringliteral">"MCI"</font>, <font class="stringliteral">"MCDI"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Unimplemented, <font class="stringliteral">"Music CD identifier"</font>}, 00767 {<a class="code" href="globals_8h.html#a219a108">ID3FID_MPEGLOOKUP</a>, <font class="stringliteral">"MLL"</font>, <font class="stringliteral">"MLLT"</font>, <font class="keyword">false</font>, <font class="keyword">true</font>, ID3FD_Unimplemented, <font class="stringliteral">"MPEG location lookup table"</font>}, 00768 {<a class="code" href="globals_8h.html#a219a109">ID3FID_OWNERSHIP</a>, <font class="stringliteral">""</font> , <font class="stringliteral">"OWNE"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Unimplemented, <font class="stringliteral">"Ownership frame"</font>}, 00769 {<a class="code" href="globals_8h.html#a219a110">ID3FID_PRIVATE</a>, <font class="stringliteral">""</font> , <font class="stringliteral">"PRIV"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Private, <font class="stringliteral">"Private frame"</font>}, 00770 {<a class="code" href="globals_8h.html#a219a111">ID3FID_PLAYCOUNTER</a>, <font class="stringliteral">"CNT"</font>, <font class="stringliteral">"PCNT"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_PlayCounter, <font class="stringliteral">"Play counter"</font>}, 00771 {<a class="code" href="globals_8h.html#a219a112">ID3FID_POPULARIMETER</a>, <font class="stringliteral">"POP"</font>, <font class="stringliteral">"POPM"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Popularimeter, <font class="stringliteral">"Popularimeter"</font>}, 00772 {<a class="code" href="globals_8h.html#a219a113">ID3FID_POSITIONSYNC</a>, <font class="stringliteral">""</font> , <font class="stringliteral">"POSS"</font>, <font class="keyword">false</font>, <font class="keyword">true</font>, ID3FD_Unimplemented, <font class="stringliteral">"Position synchronisation frame"</font>}, 00773 {<a class="code" href="globals_8h.html#a219a114">ID3FID_BUFFERSIZE</a>, <font class="stringliteral">"BUF"</font>, <font class="stringliteral">"RBUF"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Unimplemented, <font class="stringliteral">"Recommended buffer size"</font>}, 00774 {<a class="code" href="globals_8h.html#a219a115">ID3FID_VOLUMEADJ</a>, <font class="stringliteral">"RVA"</font>, <font class="stringliteral">"RVAD"</font>, <font class="keyword">false</font>, <font class="keyword">true</font>, ID3FD_Unimplemented, <font class="stringliteral">"Relative volume adjustment"</font>}, 00775 {<a class="code" href="globals_8h.html#a219a116">ID3FID_REVERB</a>, <font class="stringliteral">"REV"</font>, <font class="stringliteral">"RVRB"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Unimplemented, <font class="stringliteral">"Reverb"</font>}, 00776 {<a class="code" href="globals_8h.html#a219a117">ID3FID_SYNCEDLYRICS</a>, <font class="stringliteral">"SLT"</font>, <font class="stringliteral">"SYLT"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_SyncLyrics, <font class="stringliteral">"Synchronized lyric/text"</font>}, 00777 {<a class="code" href="globals_8h.html#a219a118">ID3FID_SYNCEDTEMPO</a>, <font class="stringliteral">"STC"</font>, <font class="stringliteral">"SYTC"</font>, <font class="keyword">false</font>, <font class="keyword">true</font>, ID3FD_Unimplemented, <font class="stringliteral">"Synchronized tempo codes"</font>}, 00778 {<a class="code" href="globals_8h.html#a219a119">ID3FID_ALBUM</a>, <font class="stringliteral">"TAL"</font>, <font class="stringliteral">"TALB"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Album/Movie/Show title"</font>}, 00779 {<a class="code" href="globals_8h.html#a219a120">ID3FID_BPM</a>, <font class="stringliteral">"TBP"</font>, <font class="stringliteral">"TBPM"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"BPM (beats per minute)"</font>}, 00780 {<a class="code" href="globals_8h.html#a219a121">ID3FID_COMPOSER</a>, <font class="stringliteral">"TCM"</font>, <font class="stringliteral">"TCOM"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Composer"</font>}, 00781 {<a class="code" href="globals_8h.html#a219a122">ID3FID_CONTENTTYPE</a>, <font class="stringliteral">"TCO"</font>, <font class="stringliteral">"TCON"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Content type"</font>}, 00782 {<a class="code" href="globals_8h.html#a219a123">ID3FID_COPYRIGHT</a>, <font class="stringliteral">"TCR"</font>, <font class="stringliteral">"TCOP"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Copyright message"</font>}, 00783 {<a class="code" href="globals_8h.html#a219a124">ID3FID_DATE</a>, <font class="stringliteral">"TDA"</font>, <font class="stringliteral">"TDAT"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Date"</font>}, 00784 {<a class="code" href="globals_8h.html#a219a125">ID3FID_PLAYLISTDELAY</a>, <font class="stringliteral">"TDY"</font>, <font class="stringliteral">"TDLY"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Playlist delay"</font>}, 00785 {<a class="code" href="globals_8h.html#a219a126">ID3FID_ENCODEDBY</a>, <font class="stringliteral">"TEN"</font>, <font class="stringliteral">"TENC"</font>, <font class="keyword">false</font>, <font class="keyword">true</font>, ID3FD_Text, <font class="stringliteral">"Encoded by"</font>}, 00786 {<a class="code" href="globals_8h.html#a219a127">ID3FID_LYRICIST</a>, <font class="stringliteral">"TXT"</font>, <font class="stringliteral">"TEXT"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Lyricist/Text writer"</font>}, 00787 {<a class="code" href="globals_8h.html#a219a128">ID3FID_FILETYPE</a>, <font class="stringliteral">"TFT"</font>, <font class="stringliteral">"TFLT"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"File type"</font>}, 00788 {<a class="code" href="globals_8h.html#a219a129">ID3FID_TIME</a>, <font class="stringliteral">"TIM"</font>, <font class="stringliteral">"TIME"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Time"</font>}, 00789 {<a class="code" href="globals_8h.html#a219a130">ID3FID_CONTENTGROUP</a>, <font class="stringliteral">"TT1"</font>, <font class="stringliteral">"TIT1"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Content group description"</font>}, 00790 {<a class="code" href="globals_8h.html#a219a131">ID3FID_TITLE</a>, <font class="stringliteral">"TT2"</font>, <font class="stringliteral">"TIT2"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Title/songname/content description"</font>}, 00791 {<a class="code" href="globals_8h.html#a219a132">ID3FID_SUBTITLE</a>, <font class="stringliteral">"TT3"</font>, <font class="stringliteral">"TIT3"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Subtitle/Description refinement"</font>}, 00792 {<a class="code" href="globals_8h.html#a219a133">ID3FID_INITIALKEY</a>, <font class="stringliteral">"TKE"</font>, <font class="stringliteral">"TKEY"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Initial key"</font>}, 00793 {<a class="code" href="globals_8h.html#a219a134">ID3FID_LANGUAGE</a>, <font class="stringliteral">"TLA"</font>, <font class="stringliteral">"TLAN"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Language(s)"</font>}, 00794 {<a class="code" href="globals_8h.html#a219a135">ID3FID_SONGLEN</a>, <font class="stringliteral">"TLE"</font>, <font class="stringliteral">"TLEN"</font>, <font class="keyword">false</font>, <font class="keyword">true</font>, ID3FD_Text, <font class="stringliteral">"Length"</font>}, 00795 {<a class="code" href="globals_8h.html#a219a136">ID3FID_MEDIATYPE</a>, <font class="stringliteral">"TMT"</font>, <font class="stringliteral">"TMED"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Media type"</font>}, 00796 {<a class="code" href="globals_8h.html#a219a137">ID3FID_ORIGALBUM</a>, <font class="stringliteral">"TOT"</font>, <font class="stringliteral">"TOAL"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Original album/movie/show title"</font>}, 00797 {<a class="code" href="globals_8h.html#a219a138">ID3FID_ORIGFILENAME</a>, <font class="stringliteral">"TOF"</font>, <font class="stringliteral">"TOFN"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Original filename"</font>}, 00798 {<a class="code" href="globals_8h.html#a219a139">ID3FID_ORIGLYRICIST</a>, <font class="stringliteral">"TOL"</font>, <font class="stringliteral">"TOLY"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Original lyricist(s)/text writer(s)"</font>}, 00799 {<a class="code" href="globals_8h.html#a219a140">ID3FID_ORIGARTIST</a>, <font class="stringliteral">"TOA"</font>, <font class="stringliteral">"TOPE"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Original artist(s)/performer(s)"</font>}, 00800 {<a class="code" href="globals_8h.html#a219a141">ID3FID_ORIGYEAR</a>, <font class="stringliteral">"TOR"</font>, <font class="stringliteral">"TORY"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Original release year"</font>}, 00801 {<a class="code" href="globals_8h.html#a219a142">ID3FID_FILEOWNER</a>, <font class="stringliteral">""</font> , <font class="stringliteral">"TOWN"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"File owner/licensee"</font>}, 00802 {<a class="code" href="globals_8h.html#a219a143">ID3FID_LEADARTIST</a>, <font class="stringliteral">"TP1"</font>, <font class="stringliteral">"TPE1"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Lead performer(s)/Soloist(s)"</font>}, 00803 {<a class="code" href="globals_8h.html#a219a144">ID3FID_BAND</a>, <font class="stringliteral">"TP2"</font>, <font class="stringliteral">"TPE2"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Band/orchestra/accompaniment"</font>}, 00804 {<a class="code" href="globals_8h.html#a219a145">ID3FID_CONDUCTOR</a>, <font class="stringliteral">"TP3"</font>, <font class="stringliteral">"TPE3"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Conductor/performer refinement"</font>}, 00805 {<a class="code" href="globals_8h.html#a219a146">ID3FID_MIXARTIST</a>, <font class="stringliteral">"TP4"</font>, <font class="stringliteral">"TPE4"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Interpreted, remixed, or otherwise modified by"</font>}, 00806 {<a class="code" href="globals_8h.html#a219a147">ID3FID_PARTINSET</a>, <font class="stringliteral">"TPA"</font>, <font class="stringliteral">"TPOS"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Part of a set"</font>}, 00807 {<a class="code" href="globals_8h.html#a219a148">ID3FID_PUBLISHER</a>, <font class="stringliteral">"TPB"</font>, <font class="stringliteral">"TPUB"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Publisher"</font>}, 00808 {<a class="code" href="globals_8h.html#a219a149">ID3FID_TRACKNUM</a>, <font class="stringliteral">"TRK"</font>, <font class="stringliteral">"TRCK"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Track number/Position in set"</font>}, 00809 {<a class="code" href="globals_8h.html#a219a150">ID3FID_RECORDINGDATES</a>, <font class="stringliteral">"TRD"</font>, <font class="stringliteral">"TRDA"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Recording dates"</font>}, 00810 {<a class="code" href="globals_8h.html#a219a151">ID3FID_NETRADIOSTATION</a>, <font class="stringliteral">"TRN"</font>, <font class="stringliteral">"TRSN"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Internet radio station name"</font>}, 00811 {<a class="code" href="globals_8h.html#a219a152">ID3FID_NETRADIOOWNER</a>, <font class="stringliteral">"TRO"</font>, <font class="stringliteral">"TRSO"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Internet radio station owner"</font>}, 00812 {<a class="code" href="globals_8h.html#a219a153">ID3FID_SIZE</a>, <font class="stringliteral">"TSI"</font>, <font class="stringliteral">"TSIZ"</font>, <font class="keyword">false</font>, <font class="keyword">true</font>, ID3FD_Text, <font class="stringliteral">"Size"</font>}, 00813 {<a class="code" href="globals_8h.html#a219a154">ID3FID_ISRC</a>, <font class="stringliteral">"TRC"</font>, <font class="stringliteral">"TSRC"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"ISRC (international standard recording code)"</font>}, 00814 {<a class="code" href="globals_8h.html#a219a155">ID3FID_ENCODERSETTINGS</a>, <font class="stringliteral">"TSS"</font>, <font class="stringliteral">"TSSE"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Software/Hardware and settings used for encoding"</font>}, 00815 {<a class="code" href="globals_8h.html#a219a156">ID3FID_USERTEXT</a>, <font class="stringliteral">"TXX"</font>, <font class="stringliteral">"TXXX"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_UserText, <font class="stringliteral">"User defined text information"</font>}, 00816 {<a class="code" href="globals_8h.html#a219a157">ID3FID_YEAR</a>, <font class="stringliteral">"TYE"</font>, <font class="stringliteral">"TYER"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Text, <font class="stringliteral">"Year"</font>}, 00817 {<a class="code" href="globals_8h.html#a219a158">ID3FID_UNIQUEFILEID</a>, <font class="stringliteral">"UFI"</font>, <font class="stringliteral">"UFID"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_UFI, <font class="stringliteral">"Unique file identifier"</font>}, 00818 {<a class="code" href="globals_8h.html#a219a159">ID3FID_TERMSOFUSE</a>, <font class="stringliteral">""</font> , <font class="stringliteral">"USER"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_TermsOfUse, <font class="stringliteral">"Terms of use"</font>}, 00819 {<a class="code" href="globals_8h.html#a219a160">ID3FID_UNSYNCEDLYRICS</a>, <font class="stringliteral">"ULT"</font>, <font class="stringliteral">"USLT"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_GeneralText, <font class="stringliteral">"Unsynchronized lyric/text transcription"</font>}, 00820 {<a class="code" href="globals_8h.html#a219a161">ID3FID_WWWCOMMERCIALINFO</a>, <font class="stringliteral">"WCM"</font>, <font class="stringliteral">"WCOM"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_URL, <font class="stringliteral">"Commercial information"</font>}, 00821 {<a class="code" href="globals_8h.html#a219a162">ID3FID_WWWCOPYRIGHT</a>, <font class="stringliteral">"WCP"</font>, <font class="stringliteral">"WCOP"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_URL, <font class="stringliteral">"Copyright/Legal infromation"</font>}, 00822 {<a class="code" href="globals_8h.html#a219a163">ID3FID_WWWAUDIOFILE</a>, <font class="stringliteral">"WAF"</font>, <font class="stringliteral">"WOAF"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_URL, <font class="stringliteral">"Official audio file webpage"</font>}, 00823 {<a class="code" href="globals_8h.html#a219a164">ID3FID_WWWARTIST</a>, <font class="stringliteral">"WAR"</font>, <font class="stringliteral">"WOAR"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_URL, <font class="stringliteral">"Official artist/performer webpage"</font>}, 00824 {<a class="code" href="globals_8h.html#a219a165">ID3FID_WWWAUDIOSOURCE</a>, <font class="stringliteral">"WAS"</font>, <font class="stringliteral">"WOAS"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_URL, <font class="stringliteral">"Official audio source webpage"</font>}, 00825 {<a class="code" href="globals_8h.html#a219a166">ID3FID_WWWRADIOPAGE</a>, <font class="stringliteral">"WRA"</font>, <font class="stringliteral">"WORS"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_URL, <font class="stringliteral">"Official internet radio station homepage"</font>}, 00826 {<a class="code" href="globals_8h.html#a219a167">ID3FID_WWWPAYMENT</a>, <font class="stringliteral">"WPY"</font>, <font class="stringliteral">"WPAY"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_URL, <font class="stringliteral">"Payment"</font>}, 00827 {<a class="code" href="globals_8h.html#a219a168">ID3FID_WWWPUBLISHER</a>, <font class="stringliteral">"WPB"</font>, <font class="stringliteral">"WPUB"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_URL, <font class="stringliteral">"Official publisher webpage"</font>}, 00828 {<a class="code" href="globals_8h.html#a219a169">ID3FID_WWWUSER</a>, <font class="stringliteral">"WXX"</font>, <font class="stringliteral">"WXXX"</font>, <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_UserURL, <font class="stringliteral">"User defined URL link"</font>}, 00829 {<a class="code" href="globals_8h.html#a219a170">ID3FID_METACRYPTO</a>, <font class="stringliteral">"CRM"</font>, <font class="stringliteral">""</font> , <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_Unimplemented, <font class="stringliteral">"Encrypted meta frame"</font>}, 00830 {<a class="code" href="globals_8h.html#a219a171">ID3FID_METACOMPRESSION</a>, <font class="stringliteral">"CDM"</font>, <font class="stringliteral">""</font> , <font class="keyword">false</font>, <font class="keyword">false</font>, ID3FD_CDM, <font class="stringliteral">"Compressed data meta frame"</font>}, 00831 {<a class="code" href="globals_8h.html#a219a95">ID3FID_NOFRAME</a>} 00832 }; 00833 00891 ID3_FieldImpl::ID3_FieldImpl() 00892 : _id(<a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a>), 00893 _type(<a class="code" href="globals_8h.html#a222a187">ID3FTY_INTEGER</a>), 00894 _spec_begin(<a class="code" href="globals_8h.html#a216a57">ID3V2_EARLIEST</a>), 00895 _spec_end(<a class="code" href="globals_8h.html#a216a58">ID3V2_LATEST</a>), 00896 _flags(0), 00897 _changed(false), 00898 _fixed_size(0), 00899 _num_items(0), 00900 _enc(<a class="code" href="globals_8h.html#a214a41">ID3TE_NONE</a>) 00901 { 00902 this->Clear(); 00903 } 00904 00905 ID3_FieldImpl::ID3_FieldImpl(<font class="keyword">const</font> <a class="code" href="struct_i_d3___field_def.html">ID3_FieldDef</a>& def) 00906 : _id(def._id), 00907 _type(def._type), 00908 _spec_begin(def._spec_begin), 00909 _spec_end(def._spec_end), 00910 _flags(def._flags), 00911 _changed(false), 00912 _fixed_size(def._fixed_size), 00913 _num_items(0), 00914 _enc((_type == <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>) ? <a class="code" href="globals_8h.html#a214a47">ID3TE_ASCII</a> : <a class="code" href="globals_8h.html#a214a41">ID3TE_NONE</a>) 00915 { 00916 this->Clear(); 00917 } 00918 <a name="l00919"></a><a class="code" href="class_i_d3___field_impl.html#a0">00919</a> <a class="code" href="class_i_d3___field_impl.html#a0">ID3_FieldImpl::~ID3_FieldImpl</a>() 00920 { 00921 } 00922 <a name="l00928"></a><a class="code" href="class_i_d3___field_impl.html#a1">00928</a> <font class="keywordtype">void</font> <a class="code" href="class_i_d3___field_impl.html#a1">ID3_FieldImpl::Clear</a>() 00929 { 00930 <font class="keywordflow">switch</font> (_type) 00931 { 00932 <font class="keywordflow">case</font> <a class="code" href="globals_8h.html#a222a187">ID3FTY_INTEGER</a>: 00933 { 00934 _integer = 0; 00935 <font class="keywordflow">break</font>; 00936 } 00937 <font class="keywordflow">case</font> <a class="code" href="globals_8h.html#a222a188">ID3FTY_BINARY</a>: 00938 { 00939 _binary.erase(); 00940 <font class="keywordflow">if</font> (_fixed_size > 0) 00941 { 00942 _binary.assign(_fixed_size, <font class="charliteral">'\0'</font>); 00943 } 00944 <font class="keywordflow">break</font>; 00945 } 00946 <font class="keywordflow">case</font> <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>: 00947 { 00948 _text.erase(); 00949 <font class="keywordflow">if</font> (_fixed_size > 0) 00950 { 00951 <font class="keywordflow">if</font> (this-><a class="code" href="class_i_d3___field_impl.html#a41">GetEncoding</a>() == <a class="code" href="globals_8h.html#a214a48">ID3TE_UNICODE</a>) 00952 { 00953 _text.assign(_fixed_size * 2, <font class="charliteral">'\0'</font>); 00954 } 00955 <font class="keywordflow">else</font> <font class="keywordflow">if</font> (this-><a class="code" href="class_i_d3___field_impl.html#a41">GetEncoding</a>() == <a class="code" href="globals_8h.html#a214a47">ID3TE_ASCII</a>) 00956 { 00957 _text.assign(_fixed_size, <font class="charliteral">'\0'</font>); 00958 } 00959 } 00960 <font class="keywordflow">break</font>; 00961 } 00962 <font class="keywordflow">default</font>: 00963 { 00964 <font class="keywordflow">break</font>; 00965 } 00966 } 00967 _changed = <font class="keyword">true</font>; 00968 00969 <font class="keywordflow">return</font> ; 00970 } 00971 00972 <font class="keywordtype">bool</font> <a name="l00973"></a><a class="code" href="class_i_d3___field_impl.html#a45">00973</a> <a class="code" href="class_i_d3___field_impl.html#a45">ID3_FieldImpl::HasChanged</a>()<font class="keyword"> const</font> 00974 <font class="keyword"></font>{ 00975 <font class="keywordflow">return</font> _changed; 00976 } 00977 <a name="l00997"></a><a class="code" href="class_i_d3___field_impl.html#a3">00997</a> size_t <a class="code" href="class_i_d3___field_impl.html#a3">ID3_FieldImpl::BinSize</a>()<font class="keyword"> const</font> 00998 <font class="keyword"></font>{ 00999 <font class="keywordflow">if</font> (_fixed_size > 0) 01000 { 01001 <font class="keywordflow">return</font> _fixed_size; 01002 } 01003 size_t size = this-><a class="code" href="class_i_d3___field_impl.html#a2">Size</a>(); 01004 <font class="keywordflow">if</font> (_type == <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>) 01005 { 01006 <a class="code" href="globals_8h.html#a214">ID3_TextEnc</a> enc = this-><a class="code" href="class_i_d3___field_impl.html#a41">GetEncoding</a>(); 01007 <font class="keywordflow">if</font> (enc == <a class="code" href="globals_8h.html#a214a48">ID3TE_UNICODE</a> && size > 0) 01008 { 01009 size++; 01010 } 01011 <font class="keywordflow">if</font> (_flags & <a class="code" href="globals_8h.html#a221a182">ID3FF_CSTR</a>) 01012 { 01013 size++; 01014 } 01015 <font class="keywordflow">if</font> (enc == <a class="code" href="globals_8h.html#a214a48">ID3TE_UNICODE</a>) 01016 { 01017 size *= 2; 01018 } 01019 } 01020 <font class="keywordflow">return</font> size; 01021 } 01022 <a name="l01023"></a><a class="code" href="class_i_d3___field_impl.html#a2">01023</a> size_t <a class="code" href="class_i_d3___field_impl.html#a2">ID3_FieldImpl::Size</a>()<font class="keyword"> const</font> 01024 <font class="keyword"></font>{ 01025 size_t size = 0; 01026 <font class="comment">// check to see if we are within the legal limit for this field 0 means</font> 01027 <font class="comment">// arbitrary length field</font> 01028 <font class="keywordflow">if</font> (_fixed_size > 0) 01029 { 01030 size = _fixed_size; 01031 } 01032 <font class="keywordflow">else</font> <font class="keywordflow">if</font> (_type == <a class="code" href="globals_8h.html#a222a187">ID3FTY_INTEGER</a>) 01033 { 01034 size = <font class="keyword">sizeof</font>(uint32); 01035 } 01036 <font class="keywordflow">else</font> <font class="keywordflow">if</font> (_type == <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>) 01037 { 01038 size = _text.size(); 01039 } 01040 <font class="keywordflow">else</font> 01041 { 01042 size = _binary.size(); 01043 } 01044 01045 <font class="keywordflow">return</font> size; 01046 } 01047 <a name="l01048"></a><a class="code" href="class_i_d3___field_impl.html#a44">01048</a> <font class="keywordtype">bool</font> <a class="code" href="class_i_d3___field_impl.html#a44">ID3_FieldImpl::Parse</a>(<a class="code" href="class_i_d3___reader.html">ID3_Reader</a>& reader) 01049 { 01050 <font class="keywordtype">bool</font> success = <font class="keyword">false</font>; 01051 <font class="keywordflow">switch</font> (this-><a class="code" href="class_i_d3___field_impl.html#a39">GetType</a>()) 01052 { 01053 <font class="keywordflow">case</font> <a class="code" href="globals_8h.html#a222a187">ID3FTY_INTEGER</a>: 01054 { 01055 success = this-><a class="code" href="class_i_d3___field_impl.html#b3">ParseInteger</a>(reader); 01056 <font class="keywordflow">break</font>; 01057 } 01058 01059 <font class="keywordflow">case</font> <a class="code" href="globals_8h.html#a222a188">ID3FTY_BINARY</a>: 01060 { 01061 success = this-><a class="code" href="class_i_d3___field_impl.html#b5">ParseBinary</a>(reader); 01062 <font class="keywordflow">break</font>; 01063 } 01064 01065 <font class="keywordflow">case</font> <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>: 01066 { 01067 success = this-><a class="code" href="class_i_d3___field_impl.html#b4">ParseText</a>(reader); 01068 <font class="keywordflow">break</font>; 01069 } 01070 01071 <font class="keywordflow">default</font>: 01072 { 01073 ID3D_WARNING( <font class="stringliteral">"ID3_FieldImpl::Parse(): unknown field type"</font> ); 01074 <font class="keywordflow">break</font>; 01075 } 01076 } 01077 <font class="keywordflow">return</font> success; 01078 } 01079 <a name="l01080"></a><a class="code" href="field_8cpp.html#a19">01080</a> <a class="code" href="struct_i_d3___frame_def.html">ID3_FrameDef</a>* <a class="code" href="field__impl_8h.html#a19">ID3_FindFrameDef</a>(<a class="code" href="globals_8h.html#a219">ID3_FrameID</a> id) 01081 { 01082 <a class="code" href="struct_i_d3___frame_def.html">ID3_FrameDef</a> *info = <a class="code" href="globals_8h.html#a24">NULL</a>; 01083 01084 <font class="keywordflow">for</font> (<a class="code" href="globals_8h.html#a7">index_t</a> cur = 0; ID3_FrameDefs[cur].<a class="code" href="struct_i_d3___frame_def.html#m0">eID</a> != <a class="code" href="globals_8h.html#a219a95">ID3FID_NOFRAME</a>; cur++) 01085 { 01086 <font class="keywordflow">if</font> (ID3_FrameDefs[cur].<a class="code" href="struct_i_d3___frame_def.html#m0">eID</a> == id) 01087 { 01088 info = &ID3_FrameDefs[cur]; 01089 <font class="keywordflow">break</font>; 01090 } 01091 } 01092 01093 <font class="keywordflow">return</font> info; 01094 } 01095 01096 <a class="code" href="globals_8h.html#a219">ID3_FrameID</a> <a name="l01097"></a><a class="code" href="field_8cpp.html#a20">01097</a> <a class="code" href="field__impl_8h.html#a20">ID3_FindFrameID</a>(<font class="keyword">const</font> <font class="keywordtype">char</font> *id) 01098 { 01099 <a class="code" href="globals_8h.html#a219">ID3_FrameID</a> fid = <a class="code" href="globals_8h.html#a219a95">ID3FID_NOFRAME</a>; 01100 01101 <font class="keywordflow">for</font> (<a class="code" href="globals_8h.html#a7">index_t</a> cur = 0; ID3_FrameDefs[cur].<a class="code" href="struct_i_d3___frame_def.html#m0">eID</a> != <a class="code" href="globals_8h.html#a219a95">ID3FID_NOFRAME</a>; cur++) 01102 { 01103 <font class="keywordflow">if</font> (((strcmp(ID3_FrameDefs[cur].sShortTextID, id) == 0) && 01104 strlen(id) == 3) || 01105 ((strcmp(ID3_FrameDefs[cur].sLongTextID, id) == 0) && 01106 strlen(id) == 4)) 01107 { 01108 fid = ID3_FrameDefs[cur].<a class="code" href="struct_i_d3___frame_def.html#m0">eID</a>; 01109 <font class="keywordflow">break</font>; 01110 } 01111 } 01112 01113 <font class="keywordflow">return</font> fid; 01114 } 01115 <a name="l01116"></a><a class="code" href="class_i_d3___field_impl.html#a43">01116</a> <font class="keywordtype">void</font> <a class="code" href="class_i_d3___field_impl.html#a43">ID3_FieldImpl::Render</a>(<a class="code" href="class_i_d3___writer.html">ID3_Writer</a>& writer)<font class="keyword"> const</font> 01117 <font class="keyword"></font>{ 01118 <font class="keywordflow">switch</font> (this-><a class="code" href="class_i_d3___field_impl.html#a39">GetType</a>()) 01119 { 01120 <font class="keywordflow">case</font> <a class="code" href="globals_8h.html#a222a187">ID3FTY_INTEGER</a>: 01121 { 01122 <a class="code" href="class_i_d3___field_impl.html#b0">RenderInteger</a>(writer); 01123 <font class="keywordflow">break</font>; 01124 } 01125 01126 <font class="keywordflow">case</font> <a class="code" href="globals_8h.html#a222a188">ID3FTY_BINARY</a>: 01127 { 01128 <a class="code" href="class_i_d3___field_impl.html#b2">RenderBinary</a>(writer); 01129 <font class="keywordflow">break</font>; 01130 } 01131 01132 <font class="keywordflow">case</font> <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>: 01133 { 01134 <a class="code" href="class_i_d3___field_impl.html#b1">RenderText</a>(writer); 01135 <font class="keywordflow">break</font>; 01136 } 01137 01138 <font class="keywordflow">default</font>: 01139 { 01140 ID3D_WARNING ( <font class="stringliteral">"ID3D_FieldImpl::Render(): unknown field type"</font> ); 01141 <font class="keywordflow">break</font>; 01142 } 01143 } 01144 } 01145 01146 <a class="code" href="class_i_d3___field.html">ID3_Field</a> & <a name="l01147"></a><a class="code" href="class_i_d3___field_impl.html#a36">01147</a> <a class="code" href="class_i_d3___field_impl.html#a5">ID3_FieldImpl::operator=</a>( <font class="keyword">const</font> <a class="code" href="class_i_d3___field.html">ID3_Field</a> &rhs ) 01148 { 01149 <font class="keyword">const</font> <a class="code" href="class_i_d3___field_impl.html">ID3_FieldImpl</a>* fld = (<font class="keyword">const</font> <a class="code" href="class_i_d3___field_impl.html">ID3_FieldImpl</a>*) &rhs; 01150 <font class="keywordflow">if</font> (<font class="keyword">this</font> != &rhs && this-><a class="code" href="class_i_d3___field_impl.html#a39">GetType</a>() == fld-><a class="code" href="class_i_d3___field_impl.html#a39">GetType</a>()) 01151 { 01152 <font class="keywordflow">switch</font> (fld-><a class="code" href="class_i_d3___field_impl.html#a39">GetType</a>()) 01153 { 01154 <font class="keywordflow">case</font> <a class="code" href="globals_8h.html#a222a187">ID3FTY_INTEGER</a>: 01155 { 01156 this-><a class="code" href="class_i_d3___field_impl.html#a8">SetInteger</a>(fld-><a class="code" href="class_i_d3___field_impl.html#a9">GetInteger</a>()); 01157 <font class="keywordflow">break</font>; 01158 } 01159 <font class="keywordflow">case</font> <a class="code" href="globals_8h.html#a222a189">ID3FTY_TEXTSTRING</a>: 01160 { 01161 this-><a class="code" href="class_i_d3___field_impl.html#a40">SetEncoding</a>(fld-><a class="code" href="class_i_d3___field_impl.html#a41">GetEncoding</a>()); 01162 this-><a class="code" href="class_i_d3___field_impl.html#a19">SetText</a>(fld-><a class="code" href="class_i_d3___field_impl.html#a17">GetText</a>()); 01163 <font class="keywordflow">break</font>; 01164 } 01165 <font class="keywordflow">case</font> <a class="code" href="globals_8h.html#a222a188">ID3FTY_BINARY</a>: 01166 { 01167 this-><a class="code" href="class_i_d3___field_impl.html#a34">SetBinary</a>(fld-><a class="code" href="class_i_d3___field_impl.html#a35">GetBinary</a>()); 01168 <font class="keywordflow">break</font>; 01169 } 01170 <font class="keywordflow">default</font>: 01171 { 01172 <font class="keywordflow">break</font>; 01173 } 01174 } 01175 } 01176 <font class="keywordflow">return</font> *<font class="keyword">this</font>; 01177 } 01178 <a name="l01179"></a><a class="code" href="class_i_d3___field_impl.html#a40">01179</a> <font class="keywordtype">bool</font> <a class="code" href="class_i_d3___field_impl.html#a40">ID3_FieldImpl::SetEncoding</a>(<a class="code" href="globals_8h.html#a214">ID3_TextEnc</a> enc) 01180 { 01181 <font class="keywordtype">bool</font> changed = this-><a class="code" href="class_i_d3___field_impl.html#a42">IsEncodable</a>() && (enc != this-><a class="code" href="class_i_d3___field_impl.html#a41">GetEncoding</a>()) && 01182 (<a class="code" href="globals_8h.html#a214a41">ID3TE_NONE</a> < enc && enc < <a class="code" href="globals_8h.html#a214a46">ID3TE_NUMENCODINGS</a>); 01183 <font class="keywordflow">if</font> (changed) 01184 { 01185 _text = convert(_text, _enc, enc); 01186 _enc = enc; 01187 _changed = <font class="keyword">true</font>; 01188 } 01189 <font class="keywordflow">return</font> changed; 01190 } 01191 <a name="l01246"></a><a class="code" href="class_i_d3___frame_info.html#a2">01246</a> <font class="keywordtype">char</font> *<a class="code" href="class_i_d3___frame_info.html#a2">ID3_FrameInfo::ShortName</a>(<a class="code" href="globals_8h.html#a219">ID3_FrameID</a> frameid) { 01247 <font class="keywordflow">if</font>(frameid < <a class="code" href="globals_8h.html#a219a172">ID3FID_LASTFRAMEID</a>) { 01248 <font class="keywordflow">return</font> ID3_FrameDefs[frameid-1].<a class="code" href="struct_i_d3___frame_def.html#m1">sShortTextID</a>; 01249 } <font class="keywordflow">else</font> { 01250 <font class="keywordflow">return</font> <a class="code" href="globals_8h.html#a24">NULL</a>; 01251 } 01252 } 01253 <a name="l01254"></a><a class="code" href="class_i_d3___frame_info.html#a3">01254</a> <font class="keywordtype">char</font> *<a class="code" href="class_i_d3___frame_info.html#a3">ID3_FrameInfo::LongName</a>(<a class="code" href="globals_8h.html#a219">ID3_FrameID</a> frameid) { 01255 <font class="keywordflow">if</font>(frameid < <a class="code" href="globals_8h.html#a219a172">ID3FID_LASTFRAMEID</a>) { 01256 <font class="keywordflow">return</font> ID3_FrameDefs[frameid-1].<a class="code" href="struct_i_d3___frame_def.html#m2">sLongTextID</a>; 01257 } <font class="keywordflow">else</font> { 01258 <font class="keywordflow">return</font> <a class="code" href="globals_8h.html#a24">NULL</a>; 01259 } 01260 } 01261 <a name="l01262"></a><a class="code" href="class_i_d3___frame_info.html#a4">01262</a> <font class="keyword">const</font> <font class="keywordtype">char</font> *<a class="code" href="class_i_d3___frame_info.html#a4">ID3_FrameInfo::Description</a>(<a class="code" href="globals_8h.html#a219">ID3_FrameID</a> frameid) { 01263 <font class="keywordflow">if</font>(frameid < <a class="code" href="globals_8h.html#a219a172">ID3FID_LASTFRAMEID</a>) { 01264 <font class="keywordflow">return</font> ID3_FrameDefs[frameid-1].<a class="code" href="struct_i_d3___frame_def.html#m6">sDescription</a>; 01265 } <font class="keywordflow">else</font> { 01266 <font class="keywordflow">return</font> <a class="code" href="globals_8h.html#a24">NULL</a>; 01267 } 01268 } 01269 <a name="l01270"></a><a class="code" href="class_i_d3___frame_info.html#a5">01270</a> <font class="keywordtype">int</font> <a class="code" href="class_i_d3___frame_info.html#a5">ID3_FrameInfo::MaxFrameID</a>() { 01271 <font class="keywordflow">return</font> <a class="code" href="globals_8h.html#a219a172">ID3FID_LASTFRAMEID</a>-1; 01272 } 01273 <a name="l01274"></a><a class="code" href="class_i_d3___frame_info.html#a6">01274</a> <font class="keywordtype">int</font> <a class="code" href="class_i_d3___frame_info.html#a6">ID3_FrameInfo::NumFields</a>(<a class="code" href="globals_8h.html#a219">ID3_FrameID</a> frameid) { 01275 <font class="keywordtype">int</font> fieldnum=0; 01276 01277 <font class="keywordflow">while</font> (ID3_FrameDefs[frameid-1].<a class="code" href="struct_i_d3___frame_def.html#m5">aeFieldDefs</a>[fieldnum].<a class="code" href="struct_i_d3___field_def.html#m0">_id</a> != 01278 <a class="code" href="globals_8h.html#a218a70">ID3FN_NOFIELD</a>) { 01279 fieldnum++; 01280 } 01281 <font class="keywordflow">return</font> fieldnum; 01282 } 01283 <a name="l01284"></a><a class="code" href="class_i_d3___frame_info.html#a7">01284</a> <a class="code" href="globals_8h.html#a222">ID3_FieldType</a> <a class="code" href="class_i_d3___frame_info.html#a7">ID3_FrameInfo::FieldType</a>(<a class="code" href="globals_8h.html#a219">ID3_FrameID</a> frameid, <font class="keywordtype">int</font> fieldnum) { 01285 <font class="keywordflow">return</font> (ID3_FrameDefs[frameid-1].<a class="code" href="struct_i_d3___frame_def.html#m5">aeFieldDefs</a>[fieldnum].<a class="code" href="struct_i_d3___field_def.html#m1">_type</a>); 01286 } 01287 <a name="l01288"></a><a class="code" href="class_i_d3___frame_info.html#a8">01288</a> size_t <a class="code" href="class_i_d3___frame_info.html#a8">ID3_FrameInfo::FieldSize</a>(<a class="code" href="globals_8h.html#a219">ID3_FrameID</a> frameid, <font class="keywordtype">int</font> fieldnum) { 01289 <font class="keywordflow">return</font> (ID3_FrameDefs[frameid-1].<a class="code" href="struct_i_d3___frame_def.html#m5">aeFieldDefs</a>[fieldnum].<a class="code" href="struct_i_d3___field_def.html#m2">_fixed_size</a>); 01290 } 01291 <a name="l01292"></a><a class="code" href="class_i_d3___frame_info.html#a9">01292</a> <a class="code" href="globals_8h.html#a40">flags_t</a> <a class="code" href="class_i_d3___frame_info.html#a9">ID3_FrameInfo::FieldFlags</a>(<a class="code" href="globals_8h.html#a219">ID3_FrameID</a> frameid, <font class="keywordtype">int</font> fieldnum) { 01293 <font class="keywordflow">return</font> (ID3_FrameDefs[frameid-1].<a class="code" href="struct_i_d3___frame_def.html#m5">aeFieldDefs</a>[fieldnum].<a class="code" href="struct_i_d3___field_def.html#m5">_flags</a>); 01294 } 01295 </pre></div><hr><address><small>Generated on Thu Jan 3 07:35:55 2002 for id3lib by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.gif" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.12 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>, © 1997-2001</small></address> </body> </html>