1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
<title>RBMetaData</title>
6
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
7
<link rel="home" href="index.html" title="Rhythmbox Development Reference Manual">
8
<link rel="up" href="ch03.html" title="Metadata">
9
<link rel="prev" href="ch03.html" title="Metadata">
10
<link rel="next" href="ch04.html" title="RhythmDB">
11
<meta name="generator" content="GTK-Doc V1.17 (XML mode)">
12
<link rel="stylesheet" href="style.css" type="text/css">
14
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
17
<td><a accesskey="p" href="ch03.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18
<td><a accesskey="u" href="ch03.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20
<th width="100%" align="center">Rhythmbox Development Reference Manual</th>
21
<td><a accesskey="n" href="ch04.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
23
<tr><td colspan="5" class="shortcuts">
24
<a href="#RBMetaData.synopsis" class="shortcut">Top</a>
26
<a href="#RBMetaData.description" class="shortcut">Description</a>
28
<a href="#RBMetaData.object-hierarchy" class="shortcut">Object Hierarchy</a>
31
<div class="refentry">
32
<a name="RBMetaData"></a><div class="titlepage"></div>
33
<div class="refnamediv"><table width="100%"><tr>
35
<h2><span class="refentrytitle"><a name="RBMetaData.top_of_page"></a>RBMetaData</span></h2>
36
<p>RBMetaData — metadata reader and writer interface</p>
38
<td valign="top" align="right"></td>
40
<div class="refsynopsisdiv">
41
<a name="RBMetaData.synopsis"></a><h2>Synopsis</h2>
42
<pre class="synopsis">struct <a class="link" href="RBMetaData.html#RBMetaData-struct" title="struct RBMetaData">RBMetaData</a>;
43
struct <a class="link" href="RBMetaData.html#RBMetaDataClass" title="struct RBMetaDataClass">RBMetaDataClass</a>;
44
enum <a class="link" href="RBMetaData.html#RBMetaDataField" title="enum RBMetaDataField">RBMetaDataField</a>;
45
enum <a class="link" href="RBMetaData.html#RBMetaDataError" title="enum RBMetaDataError">RBMetaDataError</a>;
46
<a class="link" href="RBMetaData.html" title="RBMetaData"><span class="returnvalue">RBMetaData</span></a> * <a class="link" href="RBMetaData.html#rb-metadata-new" title="rb_metadata_new ()">rb_metadata_new</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
47
<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> <a class="link" href="RBMetaData.html#rb-metadata-get-field-type" title="rb_metadata_get_field_type ()">rb_metadata_get_field_type</a> (<em class="parameter"><code><a class="link" href="RBMetaData.html#RBMetaDataField" title="enum RBMetaDataField"><span class="type">RBMetaDataField</span></a> field</code></em>);
48
const <span class="returnvalue">char</span> * <a class="link" href="RBMetaData.html#rb-metadata-get-field-name" title="rb_metadata_get_field_name ()">rb_metadata_get_field_name</a> (<em class="parameter"><code><a class="link" href="RBMetaData.html#RBMetaDataField" title="enum RBMetaDataField"><span class="type">RBMetaDataField</span></a> field</code></em>);
49
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="RBMetaData.html#rb-metadata-can-save" title="rb_metadata_can_save ()">rb_metadata_can_save</a> (<em class="parameter"><code><a class="link" href="RBMetaData.html" title="RBMetaData"><span class="type">RBMetaData</span></a> *md</code></em>,
50
<em class="parameter"><code>const <span class="type">char</span> *media_type</code></em>);
51
<span class="returnvalue">void</span> <a class="link" href="RBMetaData.html#rb-metadata-load" title="rb_metadata_load ()">rb_metadata_load</a> (<em class="parameter"><code><a class="link" href="RBMetaData.html" title="RBMetaData"><span class="type">RBMetaData</span></a> *md</code></em>,
52
<em class="parameter"><code>const <span class="type">char</span> *uri</code></em>,
53
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
54
<span class="returnvalue">void</span> <a class="link" href="RBMetaData.html#rb-metadata-save" title="rb_metadata_save ()">rb_metadata_save</a> (<em class="parameter"><code><a class="link" href="RBMetaData.html" title="RBMetaData"><span class="type">RBMetaData</span></a> *md</code></em>,
55
<em class="parameter"><code>const <span class="type">char</span> *uri</code></em>,
56
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
57
const <span class="returnvalue">char</span> * <a class="link" href="RBMetaData.html#rb-metadata-get-media-type" title="rb_metadata_get_media_type ()">rb_metadata_get_media_type</a> (<em class="parameter"><code><a class="link" href="RBMetaData.html" title="RBMetaData"><span class="type">RBMetaData</span></a> *md</code></em>);
58
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="RBMetaData.html#rb-metadata-has-missing-plugins" title="rb_metadata_has_missing_plugins ()">rb_metadata_has_missing_plugins</a> (<em class="parameter"><code><a class="link" href="RBMetaData.html" title="RBMetaData"><span class="type">RBMetaData</span></a> *md</code></em>);
59
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="RBMetaData.html#rb-metadata-get-missing-plugins" title="rb_metadata_get_missing_plugins ()">rb_metadata_get_missing_plugins</a> (<em class="parameter"><code><a class="link" href="RBMetaData.html" title="RBMetaData"><span class="type">RBMetaData</span></a> *md</code></em>,
60
<em class="parameter"><code><span class="type">char</span> ***missing_plugins</code></em>,
61
<em class="parameter"><code><span class="type">char</span> ***plugin_descriptions</code></em>);
62
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="RBMetaData.html#rb-metadata-get" title="rb_metadata_get ()">rb_metadata_get</a> (<em class="parameter"><code><a class="link" href="RBMetaData.html" title="RBMetaData"><span class="type">RBMetaData</span></a> *md</code></em>,
63
<em class="parameter"><code><a class="link" href="RBMetaData.html#RBMetaDataField" title="enum RBMetaDataField"><span class="type">RBMetaDataField</span></a> field</code></em>,
64
<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *val</code></em>);
65
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="RBMetaData.html#rb-metadata-set" title="rb_metadata_set ()">rb_metadata_set</a> (<em class="parameter"><code><a class="link" href="RBMetaData.html" title="RBMetaData"><span class="type">RBMetaData</span></a> *md</code></em>,
66
<em class="parameter"><code><a class="link" href="RBMetaData.html#RBMetaDataField" title="enum RBMetaDataField"><span class="type">RBMetaDataField</span></a> field</code></em>,
67
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *val</code></em>);
70
<div class="refsect1">
71
<a name="RBMetaData.object-hierarchy"></a><h2>Object Hierarchy</h2>
72
<pre class="synopsis">
73
<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
77
<div class="refsect1">
78
<a name="RBMetaData.description"></a><h2>Description</h2>
80
Provides a simple synchronous interface for metadata extraction and updating.
83
<div class="refsect1">
84
<a name="RBMetaData.details"></a><h2>Details</h2>
85
<div class="refsect2">
86
<a name="RBMetaData-struct"></a><h3>struct RBMetaData</h3>
87
<pre class="programlisting">struct RBMetaData;</pre>
92
<div class="refsect2">
93
<a name="RBMetaDataClass"></a><h3>struct RBMetaDataClass</h3>
94
<pre class="programlisting">struct RBMetaDataClass {
95
GObjectClass parent_class;
102
<div class="refsect2">
103
<a name="RBMetaDataField"></a><h3>enum RBMetaDataField</h3>
104
<pre class="programlisting">typedef enum
106
RB_METADATA_FIELD_TITLE, /* string */
107
RB_METADATA_FIELD_ARTIST, /* string */
108
RB_METADATA_FIELD_ALBUM, /* string */
109
RB_METADATA_FIELD_DATE, /* ulong */
110
RB_METADATA_FIELD_GENRE, /* string */
111
RB_METADATA_FIELD_COMMENT, /* string */
112
RB_METADATA_FIELD_TRACK_NUMBER, /* ulong */
113
RB_METADATA_FIELD_MAX_TRACK_NUMBER, /* ulong */
114
RB_METADATA_FIELD_DISC_NUMBER, /* ulong */
115
RB_METADATA_FIELD_MAX_DISC_NUMBER, /* ulong */
116
RB_METADATA_FIELD_DESCRIPTION, /* string */
117
RB_METADATA_FIELD_VERSION, /* string */
118
RB_METADATA_FIELD_ISRC, /* string */
119
RB_METADATA_FIELD_ORGANIZATION, /* string */
120
RB_METADATA_FIELD_COPYRIGHT, /* string */
121
RB_METADATA_FIELD_CONTACT, /* string */
122
RB_METADATA_FIELD_LICENSE, /* string */
123
RB_METADATA_FIELD_PERFORMER, /* string */
124
RB_METADATA_FIELD_DURATION, /* ulong */
125
RB_METADATA_FIELD_CODEC, /* string */
126
RB_METADATA_FIELD_BITRATE, /* ulong */
127
RB_METADATA_FIELD_TRACK_GAIN, /* double */
128
RB_METADATA_FIELD_TRACK_PEAK, /* double */
129
RB_METADATA_FIELD_ALBUM_GAIN, /* double */
130
RB_METADATA_FIELD_ALBUM_PEAK, /* double */
131
RB_METADATA_FIELD_LANGUAGE_CODE, /* string */
132
RB_METADATA_FIELD_BPM, /* double */
133
RB_METADATA_FIELD_MUSICBRAINZ_TRACKID, /* string */
134
RB_METADATA_FIELD_MUSICBRAINZ_ARTISTID, /* string */
135
RB_METADATA_FIELD_MUSICBRAINZ_ALBUMID, /* string */
136
RB_METADATA_FIELD_MUSICBRAINZ_ALBUMARTISTID, /* string */
137
RB_METADATA_FIELD_ARTIST_SORTNAME, /* string */
138
RB_METADATA_FIELD_ALBUM_SORTNAME, /* string */
139
RB_METADATA_FIELD_ALBUM_ARTIST, /* string */
140
RB_METADATA_FIELD_ALBUM_ARTIST_SORTNAME, /* string */
142
RB_METADATA_FIELD_LAST /* nothing */
146
Metadata fields that can be read from and written to files.
148
<div class="variablelist"><table border="0">
149
<col align="left" valign="top">
152
<td><p><a name="RB-METADATA-FIELD-TITLE:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_TITLE</code></span></p></td>
153
<td>Title of the recording
157
<td><p><a name="RB-METADATA-FIELD-ARTIST:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_ARTIST</code></span></p></td>
158
<td>Person(s) responsible for the recording
162
<td><p><a name="RB-METADATA-FIELD-ALBUM:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_ALBUM</code></span></p></td>
163
<td>Album containing the recording
167
<td><p><a name="RB-METADATA-FIELD-DATE:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_DATE</code></span></p></td>
168
<td>Release date of the album
172
<td><p><a name="RB-METADATA-FIELD-GENRE:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_GENRE</code></span></p></td>
173
<td>Genre of the recording
177
<td><p><a name="RB-METADATA-FIELD-COMMENT:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_COMMENT</code></span></p></td>
178
<td>Free form comment on the recording
182
<td><p><a name="RB-METADATA-FIELD-TRACK-NUMBER:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_TRACK_NUMBER</code></span></p></td>
183
<td>Track number inside a collection
187
<td><p><a name="RB-METADATA-FIELD-MAX-TRACK-NUMBER:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_MAX_TRACK_NUMBER</code></span></p></td>
188
<td>Count of tracks inside the collection
192
<td><p><a name="RB-METADATA-FIELD-DISC-NUMBER:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_DISC_NUMBER</code></span></p></td>
193
<td>Disc number inside a collection
197
<td><p><a name="RB-METADATA-FIELD-MAX-DISC-NUMBER:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_MAX_DISC_NUMBER</code></span></p></td>
198
<td>Count of discs inside the collection
202
<td><p><a name="RB-METADATA-FIELD-DESCRIPTION:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_DESCRIPTION</code></span></p></td>
203
<td>Short text describing the recording
207
<td><p><a name="RB-METADATA-FIELD-VERSION:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_VERSION</code></span></p></td>
208
<td>Version of the recording
212
<td><p><a name="RB-METADATA-FIELD-ISRC:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_ISRC</code></span></p></td>
213
<td>International Standard Recording Code
217
<td><p><a name="RB-METADATA-FIELD-ORGANIZATION:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_ORGANIZATION</code></span></p></td>
218
<td>Organization responsible for the recording
222
<td><p><a name="RB-METADATA-FIELD-COPYRIGHT:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_COPYRIGHT</code></span></p></td>
223
<td>Copyright notice on the recording
227
<td><p><a name="RB-METADATA-FIELD-CONTACT:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_CONTACT</code></span></p></td>
228
<td>Contact information
232
<td><p><a name="RB-METADATA-FIELD-LICENSE:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_LICENSE</code></span></p></td>
233
<td>License of the recording
237
<td><p><a name="RB-METADATA-FIELD-PERFORMER:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_PERFORMER</code></span></p></td>
238
<td>Person(s) performing in the recording
242
<td><p><a name="RB-METADATA-FIELD-DURATION:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_DURATION</code></span></p></td>
243
<td>Duration of the recording
247
<td><p><a name="RB-METADATA-FIELD-CODEC:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_CODEC</code></span></p></td>
248
<td>Codec used to store the recording
252
<td><p><a name="RB-METADATA-FIELD-BITRATE:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_BITRATE</code></span></p></td>
253
<td>Exact or average encoding bitrate in bits/s
257
<td><p><a name="RB-METADATA-FIELD-TRACK-GAIN:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_TRACK_GAIN</code></span></p></td>
258
<td>Track gain in dB for replaygain
262
<td><p><a name="RB-METADATA-FIELD-TRACK-PEAK:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_TRACK_PEAK</code></span></p></td>
263
<td>Track peak volume level
267
<td><p><a name="RB-METADATA-FIELD-ALBUM-GAIN:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_ALBUM_GAIN</code></span></p></td>
268
<td>Album gain in dB for replaygain
272
<td><p><a name="RB-METADATA-FIELD-ALBUM-PEAK:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_ALBUM_PEAK</code></span></p></td>
273
<td>Album peak volume level
277
<td><p><a name="RB-METADATA-FIELD-LANGUAGE-CODE:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_LANGUAGE_CODE</code></span></p></td>
278
<td>Language code (ISO-639-1)
282
<td><p><a name="RB-METADATA-FIELD-BPM:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_BPM</code></span></p></td>
287
<td><p><a name="RB-METADATA-FIELD-MUSICBRAINZ-TRACKID:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_MUSICBRAINZ_TRACKID</code></span></p></td>
288
<td>MusicBrainz track ID
292
<td><p><a name="RB-METADATA-FIELD-MUSICBRAINZ-ARTISTID:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_MUSICBRAINZ_ARTISTID</code></span></p></td>
293
<td>MusicBrainz artist ID
297
<td><p><a name="RB-METADATA-FIELD-MUSICBRAINZ-ALBUMID:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_MUSICBRAINZ_ALBUMID</code></span></p></td>
298
<td>MusicBrainz album ID
302
<td><p><a name="RB-METADATA-FIELD-MUSICBRAINZ-ALBUMARTISTID:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_MUSICBRAINZ_ALBUMARTISTID</code></span></p></td>
303
<td>MusicBrainz album artist ID
307
<td><p><a name="RB-METADATA-FIELD-ARTIST-SORTNAME:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_ARTIST_SORTNAME</code></span></p></td>
308
<td>Person(s) responsible for the recording, as used for sorting
312
<td><p><a name="RB-METADATA-FIELD-ALBUM-SORTNAME:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_ALBUM_SORTNAME</code></span></p></td>
313
<td>Album containing the recording, as used for sorting
317
<td><p><a name="RB-METADATA-FIELD-ALBUM-ARTIST:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_ALBUM_ARTIST</code></span></p></td>
318
<td>The artist of the entire album
322
<td><p><a name="RB-METADATA-FIELD-ALBUM-ARTIST-SORTNAME:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_ALBUM_ARTIST_SORTNAME</code></span></p></td>
323
<td>The artist of the entire album, as it should be sorted
327
<td><p><a name="RB-METADATA-FIELD-LAST:CAPS"></a><span class="term"><code class="literal">RB_METADATA_FIELD_LAST</code></span></p></td>
335
<div class="refsect2">
336
<a name="RBMetaDataError"></a><h3>enum RBMetaDataError</h3>
337
<pre class="programlisting">typedef enum
339
RB_METADATA_ERROR_IO,
340
RB_METADATA_ERROR_MISSING_PLUGIN,
341
RB_METADATA_ERROR_UNRECOGNIZED,
342
RB_METADATA_ERROR_UNSUPPORTED,
343
RB_METADATA_ERROR_GENERAL,
344
RB_METADATA_ERROR_INTERNAL,
345
RB_METADATA_ERROR_EMPTY_FILE
352
<div class="refsect2">
353
<a name="rb-metadata-new"></a><h3>rb_metadata_new ()</h3>
354
<pre class="programlisting"><a class="link" href="RBMetaData.html" title="RBMetaData"><span class="returnvalue">RBMetaData</span></a> * rb_metadata_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
356
Creates a new metadata backend instance.
358
<div class="variablelist"><table border="0">
359
<col align="left" valign="top">
361
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
362
<td>new <a class="link" href="RBMetaData.html" title="RBMetaData"><span class="type">RBMetaData</span></a> instance</td>
367
<div class="refsect2">
368
<a name="rb-metadata-get-field-type"></a><h3>rb_metadata_get_field_type ()</h3>
369
<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> rb_metadata_get_field_type (<em class="parameter"><code><a class="link" href="RBMetaData.html#RBMetaDataField" title="enum RBMetaDataField"><span class="type">RBMetaDataField</span></a> field</code></em>);</pre>
371
Returns the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of the value for a metadata field.
373
<div class="variablelist"><table border="0">
374
<col align="left" valign="top">
377
<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
378
<td>a <a class="link" href="RBMetaData.html#RBMetaDataField" title="enum RBMetaDataField"><span class="type">RBMetaDataField</span></a>
382
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
389
<div class="refsect2">
390
<a name="rb-metadata-get-field-name"></a><h3>rb_metadata_get_field_name ()</h3>
391
<pre class="programlisting">const <span class="returnvalue">char</span> * rb_metadata_get_field_name (<em class="parameter"><code><a class="link" href="RBMetaData.html#RBMetaDataField" title="enum RBMetaDataField"><span class="type">RBMetaDataField</span></a> field</code></em>);</pre>
393
Returns the name of a metadata field.
395
<div class="variablelist"><table border="0">
396
<col align="left" valign="top">
399
<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
400
<td>a <a class="link" href="RBMetaData.html#RBMetaDataField" title="enum RBMetaDataField"><span class="type">RBMetaDataField</span></a>
404
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
411
<div class="refsect2">
412
<a name="rb-metadata-can-save"></a><h3>rb_metadata_can_save ()</h3>
413
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> rb_metadata_can_save (<em class="parameter"><code><a class="link" href="RBMetaData.html" title="RBMetaData"><span class="type">RBMetaData</span></a> *md</code></em>,
414
<em class="parameter"><code>const <span class="type">char</span> *media_type</code></em>);</pre>
416
Checks if the metadata writer is capable of updating file metadata
417
for a given media type.
419
<div class="variablelist"><table border="0">
420
<col align="left" valign="top">
423
<td><p><span class="term"><em class="parameter"><code>md</code></em> :</span></p></td>
424
<td>a <a class="link" href="RBMetaData.html" title="RBMetaData"><span class="type">RBMetaData</span></a>
428
<td><p><span class="term"><em class="parameter"><code>media_type</code></em> :</span></p></td>
429
<td>the media type string to check</td>
432
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
433
<td>TRUE if the file metadata for the given media type can be updated</td>
439
<div class="refsect2">
440
<a name="rb-metadata-load"></a><h3>rb_metadata_load ()</h3>
441
<pre class="programlisting"><span class="returnvalue">void</span> rb_metadata_load (<em class="parameter"><code><a class="link" href="RBMetaData.html" title="RBMetaData"><span class="type">RBMetaData</span></a> *md</code></em>,
442
<em class="parameter"><code>const <span class="type">char</span> *uri</code></em>,
443
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
445
Reads metadata information from the specified URI.
446
Once this has returned successfully (with *error == NULL),
447
rb_metadata_get, rb_metadata_get_media_type, rb_metadata_has_missing_plugins,
448
and rb_metadata_get_missing_plugins can usefully be called.
450
<div class="variablelist"><table border="0">
451
<col align="left" valign="top">
454
<td><p><span class="term"><em class="parameter"><code>md</code></em> :</span></p></td>
455
<td>a <a class="link" href="RBMetaData.html" title="RBMetaData"><span class="type">RBMetaData</span></a>
459
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
460
<td>URI from which to load metadata</td>
463
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
464
<td>returns error information</td>
470
<div class="refsect2">
471
<a name="rb-metadata-save"></a><h3>rb_metadata_save ()</h3>
472
<pre class="programlisting"><span class="returnvalue">void</span> rb_metadata_save (<em class="parameter"><code><a class="link" href="RBMetaData.html" title="RBMetaData"><span class="type">RBMetaData</span></a> *md</code></em>,
473
<em class="parameter"><code>const <span class="type">char</span> *uri</code></em>,
474
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
476
Saves all metadata changes made with rb_metadata_set to the
479
<div class="variablelist"><table border="0">
480
<col align="left" valign="top">
483
<td><p><span class="term"><em class="parameter"><code>md</code></em> :</span></p></td>
484
<td>a <a class="link" href="RBMetaData.html" title="RBMetaData"><span class="type">RBMetaData</span></a>
488
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
489
<td>the target URI</td>
492
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
493
<td>returns error information</td>
499
<div class="refsect2">
500
<a name="rb-metadata-get-media-type"></a><h3>rb_metadata_get_media_type ()</h3>
501
<pre class="programlisting">const <span class="returnvalue">char</span> * rb_metadata_get_media_type (<em class="parameter"><code><a class="link" href="RBMetaData.html" title="RBMetaData"><span class="type">RBMetaData</span></a> *md</code></em>);</pre>
503
Returns the type of the file from which metadata was read.
504
This may look like a MIME type, but it isn't.
506
<div class="variablelist"><table border="0">
507
<col align="left" valign="top">
510
<td><p><span class="term"><em class="parameter"><code>md</code></em> :</span></p></td>
511
<td>a <a class="link" href="RBMetaData.html" title="RBMetaData"><span class="type">RBMetaData</span></a>
515
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
516
<td>media type string</td>
522
<div class="refsect2">
523
<a name="rb-metadata-has-missing-plugins"></a><h3>rb_metadata_has_missing_plugins ()</h3>
524
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> rb_metadata_has_missing_plugins (<em class="parameter"><code><a class="link" href="RBMetaData.html" title="RBMetaData"><span class="type">RBMetaData</span></a> *md</code></em>);</pre>
526
If the metadata reader could not decode the file it was asked to
527
because one or more media framework plugins (specifically, for the
528
existing implementations, GStreamer plugins) required are missing,
529
this will return TRUE.
531
<div class="variablelist"><table border="0">
532
<col align="left" valign="top">
535
<td><p><span class="term"><em class="parameter"><code>md</code></em> :</span></p></td>
536
<td>a <a class="link" href="RBMetaData.html" title="RBMetaData"><span class="type">RBMetaData</span></a>
540
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
541
<td>TRUE if required plugins are missing</td>
547
<div class="refsect2">
548
<a name="rb-metadata-get-missing-plugins"></a><h3>rb_metadata_get_missing_plugins ()</h3>
549
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> rb_metadata_get_missing_plugins (<em class="parameter"><code><a class="link" href="RBMetaData.html" title="RBMetaData"><span class="type">RBMetaData</span></a> *md</code></em>,
550
<em class="parameter"><code><span class="type">char</span> ***missing_plugins</code></em>,
551
<em class="parameter"><code><span class="type">char</span> ***plugin_descriptions</code></em>);</pre>
553
This function returns the information used to request automatic
554
installation of media framework plugins required to decode the target URI.
555
Use <a href="http://library.gnome.org/devel/glib/unstable/glib-String-Utility-Functions.html#g-strfreev"><code class="function">g_strfreev()</code></a> to free the returned information arrays.
557
<div class="variablelist"><table border="0">
558
<col align="left" valign="top">
561
<td><p><span class="term"><em class="parameter"><code>md</code></em> :</span></p></td>
562
<td>a <a class="link" href="RBMetaData.html" title="RBMetaData"><span class="type">RBMetaData</span></a>
566
<td><p><span class="term"><em class="parameter"><code>missing_plugins</code></em> :</span></p></td>
567
<td>returns machine-readable
568
missing plugin information. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/array"><span class="acronym">array</span></a> zero-terminated=1]</span>
572
<td><p><span class="term"><em class="parameter"><code>plugin_descriptions</code></em> :</span></p></td>
573
<td>returns human-readable
574
missing plugin descriptions. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/array"><span class="acronym">array</span></a> zero-terminated=1]</span>
578
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
579
<td>TRUE if missing plugin information was returned</td>
585
<div class="refsect2">
586
<a name="rb-metadata-get"></a><h3>rb_metadata_get ()</h3>
587
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> rb_metadata_get (<em class="parameter"><code><a class="link" href="RBMetaData.html" title="RBMetaData"><span class="type">RBMetaData</span></a> *md</code></em>,
588
<em class="parameter"><code><a class="link" href="RBMetaData.html#RBMetaDataField" title="enum RBMetaDataField"><span class="type">RBMetaDataField</span></a> field</code></em>,
589
<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *val</code></em>);</pre>
591
Retrieves the value of a metadata field extracted from the target URI.
592
If the target URI contained no value for the field, returns FALSE.
594
<div class="variablelist"><table border="0">
595
<col align="left" valign="top">
598
<td><p><span class="term"><em class="parameter"><code>md</code></em> :</span></p></td>
599
<td>a <a class="link" href="RBMetaData.html" title="RBMetaData"><span class="type">RBMetaData</span></a>
603
<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
604
<td>the <a class="link" href="RBMetaData.html#RBMetaDataField" title="enum RBMetaDataField"><span class="type">RBMetaDataField</span></a> to retrieve</td>
607
<td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
608
<td>returns the field value. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a> caller-allocates][<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span>
612
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
613
<td>TRUE if a value was returned</td>
619
<div class="refsect2">
620
<a name="rb-metadata-set"></a><h3>rb_metadata_set ()</h3>
621
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> rb_metadata_set (<em class="parameter"><code><a class="link" href="RBMetaData.html" title="RBMetaData"><span class="type">RBMetaData</span></a> *md</code></em>,
622
<em class="parameter"><code><a class="link" href="RBMetaData.html#RBMetaDataField" title="enum RBMetaDataField"><span class="type">RBMetaDataField</span></a> field</code></em>,
623
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *val</code></em>);</pre>
625
Sets a metadata field value. The value is only stored inside the
626
<a class="link" href="RBMetaData.html" title="RBMetaData"><span class="type">RBMetaData</span></a> object until rb_metadata_save is called.
628
<div class="variablelist"><table border="0">
629
<col align="left" valign="top">
632
<td><p><span class="term"><em class="parameter"><code>md</code></em> :</span></p></td>
633
<td>a <a class="link" href="RBMetaData.html" title="RBMetaData"><span class="type">RBMetaData</span></a>
637
<td><p><span class="term"><em class="parameter"><code>field</code></em> :</span></p></td>
638
<td>the <a class="link" href="RBMetaData.html#RBMetaDataField" title="enum RBMetaDataField"><span class="type">RBMetaDataField</span></a> to set</td>
641
<td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
642
<td>the value to set</td>
645
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
646
<td>TRUE if the field is valid</td>
655
Generated by GTK-Doc V1.17</div>
b'\\ No newline at end of file'