~ubuntu-branches/ubuntu/utopic/rhythmbox/utopic-proposed

« back to all changes in this revision

Viewing changes to doc/reference/html/rhythmbox-rhythmdb.html

Tags: upstream-0.9.2
ImportĀ upstreamĀ versionĀ 0.9.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<html>
 
2
<head>
 
3
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 
4
<title>rhythmdb</title>
 
5
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
 
6
<link rel="start" href="index.html" title="Rhythmbox Development Reference Manual">
 
7
<link rel="up" href="ch05.html" title="RhythmDB">
 
8
<link rel="prev" href="rhythmbox-rhythmdb-tree.html" title="rhythmdb-tree">
 
9
<link rel="next" href="ch06.html" title="Shell">
 
10
<meta name="generator" content="GTK-Doc V1.4 (XML mode)">
 
11
<link rel="stylesheet" href="style.css" type="text/css">
 
12
<link rel="chapter" href="ch01.html" title="IRadio UI">
 
13
<link rel="chapter" href="ch02.html" title="Lib">
 
14
<link rel="chapter" href="ch03.html" title="Metadata">
 
15
<link rel="chapter" href="ch04.html" title="Player">
 
16
<link rel="chapter" href="ch05.html" title="RhythmDB">
 
17
<link rel="chapter" href="ch06.html" title="Shell">
 
18
<link rel="chapter" href="ch07.html" title="Sources">
 
19
<link rel="chapter" href="ch08.html" title="Widgets">
 
20
</head>
 
21
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 
22
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
 
23
<td><a accesskey="p" href="rhythmbox-rhythmdb-tree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
 
24
<td><a accesskey="u" href="ch05.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
 
25
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
 
26
<th width="100%" align="center">Rhythmbox Development Reference Manual</th>
 
27
<td><a accesskey="n" href="ch06.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
 
28
</tr></table>
 
29
<div class="refentry" lang="en">
 
30
<a name="rhythmbox-rhythmdb"></a><div class="titlepage"></div>
 
31
<div class="refnamediv"><table width="100%"><tr>
 
32
<td valign="top">
 
33
<h2><span class="refentrytitle">rhythmdb</span></h2>
 
34
<p>rhythmdb &#8212; </p>
 
35
</td>
 
36
<td valign="top" align="right"></td>
 
37
</tr></table></div>
 
38
<div class="refsynopsisdiv">
 
39
<h2>Synopsis</h2>
 
40
<pre class="synopsis">
 
41
 
 
42
 
 
43
 
 
44
#define     <a href="rhythmbox-rhythmdb.html#RHYTHMDB-TYPE:CAPS">RHYTHMDB_TYPE</a>
 
45
#define     <a href="rhythmbox-rhythmdb.html#RHYTHMDB:CAPS">RHYTHMDB</a>                        (o)
 
46
#define     <a href="rhythmbox-rhythmdb.html#RHYTHMDB-IS:CAPS">RHYTHMDB_IS</a>                     (o)
 
47
#define     <a href="rhythmbox-rhythmdb.html#RHYTHMDB-GET-CLASS:CAPS">RHYTHMDB_GET_CLASS</a>              (o)
 
48
typedef     <a href="rhythmbox-rhythmdb.html#RhythmDBEntryType">RhythmDBEntryType</a>;
 
49
#define     <a href="rhythmbox-rhythmdb.html#RHYTHMDB-ENTRY-TYPE-SONG:CAPS">RHYTHMDB_ENTRY_TYPE_SONG</a>
 
50
#define     <a href="rhythmbox-rhythmdb.html#RHYTHMDB-ENTRY-TYPE-IRADIO-STATION:CAPS">RHYTHMDB_ENTRY_TYPE_IRADIO_STATION</a>
 
51
enum        <a href="rhythmbox-rhythmdb.html#RhythmDBQueryType">RhythmDBQueryType</a>;
 
52
enum        <a href="rhythmbox-rhythmdb.html#RhythmDBPropType">RhythmDBPropType</a>;
 
53
GType       <a href="rhythmbox-rhythmdb.html#rhythmdb-prop-get-type">rhythmdb_prop_get_type</a>          (void);
 
54
#define     <a href="rhythmbox-rhythmdb.html#RHYTHMDB-TYPE-QUERY:CAPS">RHYTHMDB_TYPE_QUERY</a>
 
55
#define     <a href="rhythmbox-rhythmdb.html#RHYTHMDB-TYPE-PROP:CAPS">RHYTHMDB_TYPE_PROP</a>
 
56
            <a href="rhythmbox-rhythmdb.html#RhythmDBQueryData">RhythmDBQueryData</a>;
 
57
            <a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a>;
 
58
            <a href="rhythmbox-rhythmdb.html#RhythmDBEntryChange">RhythmDBEntryChange</a>;
 
59
void        <a href="rhythmbox-rhythmdb.html#rhythmdb-entry-get">rhythmdb_entry_get</a>              (<a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry,
 
60
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBPropType">RhythmDBPropType</a> propid,
 
61
                                             GValue *val);
 
62
const char* <a href="rhythmbox-rhythmdb.html#rhythmdb-entry-get-string">rhythmdb_entry_get_string</a>       (<a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry,
 
63
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBPropType">RhythmDBPropType</a> propid);
 
64
gboolean    <a href="rhythmbox-rhythmdb.html#rhythmdb-entry-get-boolean">rhythmdb_entry_get_boolean</a>      (<a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry,
 
65
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBPropType">RhythmDBPropType</a> propid);
 
66
guint64     <a href="rhythmbox-rhythmdb.html#rhythmdb-entry-get-uint64">rhythmdb_entry_get_uint64</a>       (<a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry,
 
67
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBPropType">RhythmDBPropType</a> propid);
 
68
gulong      <a href="rhythmbox-rhythmdb.html#rhythmdb-entry-get-ulong">rhythmdb_entry_get_ulong</a>        (<a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry,
 
69
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBPropType">RhythmDBPropType</a> propid);
 
70
double      <a href="rhythmbox-rhythmdb.html#rhythmdb-entry-get-double">rhythmdb_entry_get_double</a>       (<a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry,
 
71
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBPropType">RhythmDBPropType</a> propid);
 
72
const char* <a href="rhythmbox-rhythmdb.html#rb-refstring-get">rb_refstring_get</a>                (const RBRefString *val);
 
73
const char* <a href="rhythmbox-rhythmdb.html#rb-refstring-get-sort-key">rb_refstring_get_sort_key</a>       (const RBRefString *val);
 
74
const char* <a href="rhythmbox-rhythmdb.html#rb-refstring-get-folded">rb_refstring_get_folded</a>         (const RBRefString *val);
 
75
enum        <a href="rhythmbox-rhythmdb.html#RhythmDBError">RhythmDBError</a>;
 
76
#define     <a href="rhythmbox-rhythmdb.html#RHYTHMDB-ERROR:CAPS">RHYTHMDB_ERROR</a>
 
77
GQuark      <a href="rhythmbox-rhythmdb.html#rhythmdb-error-quark">rhythmdb_error_quark</a>            (void);
 
78
typedef     <a href="rhythmbox-rhythmdb.html#RhythmDBPrivate">RhythmDBPrivate</a>;
 
79
GType       <a href="rhythmbox-rhythmdb.html#rhythmdb-get-type">rhythmdb_get_type</a>               (void);
 
80
RhythmDB*   <a href="rhythmbox-rhythmdb.html#rhythmdb-new">rhythmdb_new</a>                    (const char *name);
 
81
void        <a href="rhythmbox-rhythmdb.html#rhythmdb-shutdown">rhythmdb_shutdown</a>               (RhythmDB *db);
 
82
void        <a href="rhythmbox-rhythmdb.html#rhythmdb-load">rhythmdb_load</a>                   (RhythmDB *db);
 
83
void        <a href="rhythmbox-rhythmdb.html#rhythmdb-save">rhythmdb_save</a>                   (RhythmDB *db);
 
84
void        <a href="rhythmbox-rhythmdb.html#rhythmdb-save-async">rhythmdb_save_async</a>             (RhythmDB *db);
 
85
void        <a href="rhythmbox-rhythmdb.html#rhythmdb-commit">rhythmdb_commit</a>                 (RhythmDB *db);
 
86
gboolean    <a href="rhythmbox-rhythmdb.html#rhythmdb-entry-is-editable">rhythmdb_entry_is_editable</a>      (RhythmDB *db,
 
87
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry);
 
88
<a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a>* <a href="rhythmbox-rhythmdb.html#rhythmdb-entry-new">rhythmdb_entry_new</a>           (RhythmDB *db,
 
89
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBEntryType">RhythmDBEntryType</a> type,
 
90
                                             const char *uri);
 
91
void        <a href="rhythmbox-rhythmdb.html#rhythmdb-add-uri">rhythmdb_add_uri</a>                (RhythmDB *db,
 
92
                                             const char *uri);
 
93
void        <a href="rhythmbox-rhythmdb.html#rhythmdb-entry-set">rhythmdb_entry_set</a>              (RhythmDB *db,
 
94
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry,
 
95
                                             guint propid,
 
96
                                             const GValue *value);
 
97
void        <a href="rhythmbox-rhythmdb.html#rhythmdb-entry-set-nonotify">rhythmdb_entry_set_nonotify</a>     (RhythmDB *db,
 
98
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry,
 
99
                                             guint propid,
 
100
                                             const GValue *value);
 
101
void        <a href="rhythmbox-rhythmdb.html#rhythmdb-entry-set-uninserted">rhythmdb_entry_set_uninserted</a>   (RhythmDB *db,
 
102
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry,
 
103
                                             guint propid,
 
104
                                             const GValue *value);
 
105
void        <a href="rhythmbox-rhythmdb.html#rhythmdb-entry-delete">rhythmdb_entry_delete</a>           (RhythmDB *db,
 
106
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry);
 
107
void        <a href="rhythmbox-rhythmdb.html#rhythmdb-entry-delete-by-type">rhythmdb_entry_delete_by_type</a>   (RhythmDB *db,
 
108
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBEntryType">RhythmDBEntryType</a> type);
 
109
<a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a>* <a href="rhythmbox-rhythmdb.html#rhythmdb-entry-lookup-by-location">rhythmdb_entry_lookup_by_location</a>
 
110
                                            (RhythmDB *db,
 
111
                                             const char *uri);
 
112
gboolean    <a href="rhythmbox-rhythmdb.html#rhythmdb-evaluate-query">rhythmdb_evaluate_query</a>         (RhythmDB *db,
 
113
                                             GPtrArray *query,
 
114
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry);
 
115
void        <a href="rhythmbox-rhythmdb.html#rhythmdb-entry-foreach">rhythmdb_entry_foreach</a>          (RhythmDB *db,
 
116
                                             GFunc func,
 
117
                                             gpointer data);
 
118
void        <a href="rhythmbox-rhythmdb.html#rhythmdb-do-full-query">rhythmdb_do_full_query</a>          (RhythmDB *db,
 
119
                                             GtkTreeModel *main_model,
 
120
                                             ...);
 
121
void        <a href="rhythmbox-rhythmdb.html#rhythmdb-do-full-query-parsed">rhythmdb_do_full_query_parsed</a>   (RhythmDB *db,
 
122
                                             GtkTreeModel *main_model,
 
123
                                             GPtrArray *query);
 
124
void        <a href="rhythmbox-rhythmdb.html#rhythmdb-do-full-query-async">rhythmdb_do_full_query_async</a>    (RhythmDB *db,
 
125
                                             GtkTreeModel *main_model,
 
126
                                             ...);
 
127
void        <a href="rhythmbox-rhythmdb.html#rhythmdb-do-full-query-async-parsed">rhythmdb_do_full_query_async_parsed</a>
 
128
                                            (RhythmDB *db,
 
129
                                             GtkTreeModel *main_model,
 
130
                                             GPtrArray *query);
 
131
void        <a href="rhythmbox-rhythmdb.html#rhythmdb-query-cancel">rhythmdb_query_cancel</a>           (RhythmDB *db,
 
132
                                             GtkTreeModel *query_model);
 
133
void        <a href="rhythmbox-rhythmdb.html#rhythmdb-entry-sync-mirrored">rhythmdb_entry_sync_mirrored</a>    (RhythmDB *db,
 
134
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry,
 
135
                                             guint propid);
 
136
GPtrArray*  <a href="rhythmbox-rhythmdb.html#rhythmdb-query-parse">rhythmdb_query_parse</a>            (RhythmDB *db,
 
137
                                             ...);
 
138
void        <a href="rhythmbox-rhythmdb.html#rhythmdb-query-append">rhythmdb_query_append</a>           (RhythmDB *db,
 
139
                                             GPtrArray *query,
 
140
                                             ...);
 
141
void        <a href="rhythmbox-rhythmdb.html#rhythmdb-query-free">rhythmdb_query_free</a>             (GPtrArray *query);
 
142
GPtrArray*  <a href="rhythmbox-rhythmdb.html#rhythmdb-query-copy">rhythmdb_query_copy</a>             (GPtrArray *array);
 
143
void        <a href="rhythmbox-rhythmdb.html#rhythmdb-query-serialize">rhythmdb_query_serialize</a>        (RhythmDB *db,
 
144
                                             GPtrArray *query,
 
145
                                             xmlNodePtr node);
 
146
GPtrArray*  <a href="rhythmbox-rhythmdb.html#rhythmdb-query-deserialize">rhythmdb_query_deserialize</a>      (RhythmDB *db,
 
147
                                             xmlNodePtr node);
 
148
void        <a href="rhythmbox-rhythmdb.html#rhythmdb-emit-entry-added">rhythmdb_emit_entry_added</a>       (RhythmDB *db,
 
149
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry);
 
150
void        <a href="rhythmbox-rhythmdb.html#rhythmdb-emit-entry-deleted">rhythmdb_emit_entry_deleted</a>     (RhythmDB *db,
 
151
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry);
 
152
gboolean    <a href="rhythmbox-rhythmdb.html#rhythmdb-is-busy">rhythmdb_is_busy</a>                (RhythmDB *db);
 
153
char*       <a href="rhythmbox-rhythmdb.html#rhythmdb-compute-status-normal">rhythmdb_compute_status_normal</a>  (gint n_songs,
 
154
                                             glong duration,
 
155
                                             GnomeVFSFileSize size);
 
156
<a href="rhythmbox-rhythmdb.html#RhythmDBEntryType">RhythmDBEntryType</a> <a href="rhythmbox-rhythmdb.html#rhythmdb-entry-register-type">rhythmdb_entry_register_type</a>
 
157
                                            (void);
 
158
<a href="rhythmbox-rhythmdb.html#RhythmDBEntryType">RhythmDBEntryType</a> <a href="rhythmbox-rhythmdb.html#rhythmdb-entry-song-get-type">rhythmdb_entry_song_get_type</a>
 
159
                                            (void);
 
160
<a href="rhythmbox-rhythmdb.html#RhythmDBEntryType">RhythmDBEntryType</a> <a href="rhythmbox-rhythmdb.html#rhythmdb-entry-iradio-get-type">rhythmdb_entry_iradio_get_type</a>
 
161
                                            (void);
 
162
<a href="rhythmbox-rhythmdb.html#RhythmDBEntryType">RhythmDBEntryType</a> <a href="rhythmbox-rhythmdb.html#rhythmdb-entry-icecast-get-type">rhythmdb_entry_icecast_get_type</a>
 
163
                                            (void);
 
164
GType       <a href="rhythmbox-rhythmdb.html#rhythmdb-get-property-type">rhythmdb_get_property_type</a>      (RhythmDB *db,
 
165
                                             guint property_id);
 
166
void        <a href="rhythmbox-rhythmdb.html#rhythmdb-entry-ref">rhythmdb_entry_ref</a>              (RhythmDB *db,
 
167
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry);
 
168
void        <a href="rhythmbox-rhythmdb.html#rhythmdb-entry-unref">rhythmdb_entry_unref</a>            (RhythmDB *db,
 
169
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry);
 
170
 
 
171
</pre>
 
172
</div>
 
173
<div class="refsect1" lang="en">
 
174
<a name="id2576564"></a><h2>Description</h2>
 
175
<p>
 
176
 
 
177
</p>
 
178
</div>
 
179
<div class="refsect1" lang="en">
 
180
<a name="id2576575"></a><h2>Details</h2>
 
181
<div class="refsect2" lang="en">
 
182
<a name="id2576581"></a><h3>
 
183
<a name="RHYTHMDB-TYPE:CAPS"></a>RHYTHMDB_TYPE</h3>
 
184
<a class="indexterm" name="id2576591"></a><pre class="programlisting">#define RHYTHMDB_TYPE      (rhythmdb_get_type ())
 
185
</pre>
 
186
<p>
 
187
 
 
188
</p>
 
189
</div>
 
190
<hr>
 
191
<div class="refsect2" lang="en">
 
192
<a name="id2576607"></a><h3>
 
193
<a name="RHYTHMDB:CAPS"></a>RHYTHMDB()</h3>
 
194
<a class="indexterm" name="id2576618"></a><pre class="programlisting">#define RHYTHMDB(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), RHYTHMDB_TYPE, RhythmDB))
 
195
</pre>
 
196
<p>
 
197
 
 
198
</p>
 
199
<div class="variablelist"><table border="0">
 
200
<col align="left" valign="top">
 
201
<tbody><tr>
 
202
<td>
 
203
<span class="term"><em class="parameter"><code>o</code></em>&#160;:</span></td>
 
204
<td>
 
205
 
 
206
 
 
207
</td>
 
208
</tr></tbody>
 
209
</table></div>
 
210
</div>
 
211
<hr>
 
212
<div class="refsect2" lang="en">
 
213
<a name="id2576653"></a><h3>
 
214
<a name="RHYTHMDB-IS:CAPS"></a>RHYTHMDB_IS()</h3>
 
215
<a class="indexterm" name="id2576663"></a><pre class="programlisting">#define RHYTHMDB_IS(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), RHYTHMDB_TYPE))
 
216
</pre>
 
217
<p>
 
218
 
 
219
</p>
 
220
<div class="variablelist"><table border="0">
 
221
<col align="left" valign="top">
 
222
<tbody><tr>
 
223
<td>
 
224
<span class="term"><em class="parameter"><code>o</code></em>&#160;:</span></td>
 
225
<td>
 
226
 
 
227
 
 
228
</td>
 
229
</tr></tbody>
 
230
</table></div>
 
231
</div>
 
232
<hr>
 
233
<div class="refsect2" lang="en">
 
234
<a name="id2576699"></a><h3>
 
235
<a name="RHYTHMDB-GET-CLASS:CAPS"></a>RHYTHMDB_GET_CLASS()</h3>
 
236
<a class="indexterm" name="id2576708"></a><pre class="programlisting">#define RHYTHMDB_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), RHYTHMDB_TYPE, RhythmDBClass))
 
237
</pre>
 
238
<p>
 
239
 
 
240
</p>
 
241
<div class="variablelist"><table border="0">
 
242
<col align="left" valign="top">
 
243
<tbody><tr>
 
244
<td>
 
245
<span class="term"><em class="parameter"><code>o</code></em>&#160;:</span></td>
 
246
<td>
 
247
 
 
248
 
 
249
</td>
 
250
</tr></tbody>
 
251
</table></div>
 
252
</div>
 
253
<hr>
 
254
<div class="refsect2" lang="en">
 
255
<a name="id2576744"></a><h3>
 
256
<a name="RhythmDBEntryType"></a>RhythmDBEntryType</h3>
 
257
<a class="indexterm" name="id2576754"></a><pre class="programlisting">typedef gint32 RhythmDBEntryType;
 
258
</pre>
 
259
<p>
 
260
 
 
261
</p>
 
262
</div>
 
263
<hr>
 
264
<div class="refsect2" lang="en">
 
265
<a name="id2576770"></a><h3>
 
266
<a name="RHYTHMDB-ENTRY-TYPE-SONG:CAPS"></a>RHYTHMDB_ENTRY_TYPE_SONG</h3>
 
267
<a class="indexterm" name="id2576781"></a><pre class="programlisting">#define RHYTHMDB_ENTRY_TYPE_SONG (rhythmdb_entry_song_get_type ())
 
268
</pre>
 
269
<p>
 
270
 
 
271
</p>
 
272
</div>
 
273
<hr>
 
274
<div class="refsect2" lang="en">
 
275
<a name="id2576798"></a><h3>
 
276
<a name="RHYTHMDB-ENTRY-TYPE-IRADIO-STATION:CAPS"></a>RHYTHMDB_ENTRY_TYPE_IRADIO_STATION</h3>
 
277
<a class="indexterm" name="id2576808"></a><pre class="programlisting">#define RHYTHMDB_ENTRY_TYPE_IRADIO_STATION (rhythmdb_entry_iradio_get_type ())
 
278
</pre>
 
279
<p>
 
280
 
 
281
</p>
 
282
</div>
 
283
<hr>
 
284
<div class="refsect2" lang="en">
 
285
<a name="id2576825"></a><h3>
 
286
<a name="RhythmDBQueryType"></a>enum RhythmDBQueryType</h3>
 
287
<a class="indexterm" name="id2576836"></a><pre class="programlisting">typedef enum
 
288
{
 
289
        RHYTHMDB_QUERY_END,
 
290
        RHYTHMDB_QUERY_DISJUNCTION,
 
291
        RHYTHMDB_QUERY_SUBQUERY,
 
292
        RHYTHMDB_QUERY_PROP_EQUALS,
 
293
        RHYTHMDB_QUERY_PROP_LIKE,
 
294
        RHYTHMDB_QUERY_PROP_NOT_LIKE,
 
295
        RHYTHMDB_QUERY_PROP_GREATER,
 
296
        RHYTHMDB_QUERY_PROP_LESS,
 
297
        RHYTHMDB_QUERY_PROP_CURRENT_TIME_WITHIN,
 
298
        RHYTHMDB_QUERY_PROP_CURRENT_TIME_NOT_WITHIN,
 
299
} RhythmDBQueryType;
 
300
</pre>
 
301
<p>
 
302
 
 
303
</p>
 
304
</div>
 
305
<hr>
 
306
<div class="refsect2" lang="en">
 
307
<a name="id2576856"></a><h3>
 
308
<a name="RhythmDBPropType"></a>enum RhythmDBPropType</h3>
 
309
<a class="indexterm" name="id2576867"></a><pre class="programlisting">typedef enum
 
310
{
 
311
        RHYTHMDB_PROP_TYPE = 0,
 
312
        RHYTHMDB_PROP_TITLE,
 
313
        RHYTHMDB_PROP_GENRE,
 
314
        RHYTHMDB_PROP_ARTIST,
 
315
        RHYTHMDB_PROP_ALBUM,
 
316
        RHYTHMDB_PROP_TRACK_NUMBER,
 
317
        RHYTHMDB_PROP_DISC_NUMBER,
 
318
        RHYTHMDB_PROP_DURATION,
 
319
        RHYTHMDB_PROP_FILE_SIZE,
 
320
        RHYTHMDB_PROP_LOCATION,
 
321
        RHYTHMDB_PROP_MOUNTPOINT,
 
322
        RHYTHMDB_PROP_MTIME,
 
323
        RHYTHMDB_PROP_FIRST_SEEN,
 
324
        RHYTHMDB_PROP_LAST_SEEN,
 
325
        RHYTHMDB_PROP_RATING,
 
326
        RHYTHMDB_PROP_PLAY_COUNT,
 
327
        RHYTHMDB_PROP_LAST_PLAYED,
 
328
        RHYTHMDB_PROP_BITRATE,
 
329
        RHYTHMDB_PROP_DATE,
 
330
        RHYTHMDB_PROP_TRACK_GAIN,
 
331
        RHYTHMDB_PROP_TRACK_PEAK,
 
332
        RHYTHMDB_PROP_ALBUM_GAIN,
 
333
        RHYTHMDB_PROP_ALBUM_PEAK,
 
334
        RHYTHMDB_PROP_MIMETYPE,
 
335
        RHYTHMDB_PROP_TITLE_SORT_KEY,
 
336
        RHYTHMDB_PROP_GENRE_SORT_KEY,
 
337
        RHYTHMDB_PROP_ARTIST_SORT_KEY,
 
338
        RHYTHMDB_PROP_ALBUM_SORT_KEY,
 
339
        RHYTHMDB_PROP_TITLE_FOLDED,
 
340
        RHYTHMDB_PROP_GENRE_FOLDED,
 
341
        RHYTHMDB_PROP_ARTIST_FOLDED,
 
342
        RHYTHMDB_PROP_ALBUM_FOLDED,
 
343
        RHYTHMDB_PROP_LAST_PLAYED_STR,
 
344
        RHYTHMDB_PROP_HIDDEN,
 
345
        RHYTHMDB_PROP_PLAYBACK_ERROR,
 
346
        RHYTHMDB_PROP_FIRST_SEEN_STR,
 
347
        RHYTHMDB_PROP_SEARCH_MATCH,
 
348
 
 
349
//podcast propriets
 
350
        RHYTHMDB_PROP_STATUS,
 
351
        RHYTHMDB_PROP_DESCRIPTION,
 
352
        RHYTHMDB_PROP_SUBTITLE,
 
353
        RHYTHMDB_PROP_SUMMARY,
 
354
        RHYTHMDB_PROP_LANG,
 
355
        RHYTHMDB_PROP_COPYRIGHT,
 
356
        RHYTHMDB_PROP_IMAGE,
 
357
        RHYTHMDB_PROP_POST_TIME,
 
358
        
 
359
        RHYTHMDB_NUM_PROPERTIES
 
360
} RhythmDBPropType;
 
361
</pre>
 
362
<p>
 
363
 
 
364
</p>
 
365
</div>
 
366
<hr>
 
367
<div class="refsect2" lang="en">
 
368
<a name="id2542590"></a><h3>
 
369
<a name="rhythmdb-prop-get-type"></a>rhythmdb_prop_get_type ()</h3>
 
370
<a class="indexterm" name="id2547823"></a><pre class="programlisting">GType       rhythmdb_prop_get_type          (void);</pre>
 
371
<p>
 
372
 
 
373
</p>
 
374
<div class="variablelist"><table border="0">
 
375
<col align="left" valign="top">
 
376
<tbody><tr>
 
377
<td>
 
378
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
379
<td>
 
380
 
 
381
 
 
382
</td>
 
383
</tr></tbody>
 
384
</table></div>
 
385
</div>
 
386
<hr>
 
387
<div class="refsect2" lang="en">
 
388
<a name="id2576924"></a><h3>
 
389
<a name="RHYTHMDB-TYPE-QUERY:CAPS"></a>RHYTHMDB_TYPE_QUERY</h3>
 
390
<a class="indexterm" name="id2576932"></a><pre class="programlisting">#define RHYTHMDB_TYPE_QUERY (rhythmdb_query_get_type ())
 
391
</pre>
 
392
<p>
 
393
 
 
394
</p>
 
395
</div>
 
396
<hr>
 
397
<div class="refsect2" lang="en">
 
398
<a name="id2576947"></a><h3>
 
399
<a name="RHYTHMDB-TYPE-PROP:CAPS"></a>RHYTHMDB_TYPE_PROP</h3>
 
400
<a class="indexterm" name="id2576956"></a><pre class="programlisting">#define RHYTHMDB_TYPE_PROP (rhythmdb_prop_get_type ())
 
401
</pre>
 
402
<p>
 
403
 
 
404
</p>
 
405
</div>
 
406
<hr>
 
407
<div class="refsect2" lang="en">
 
408
<a name="id2576970"></a><h3>
 
409
<a name="RhythmDBQueryData"></a>RhythmDBQueryData</h3>
 
410
<a class="indexterm" name="id2576979"></a><pre class="programlisting">typedef struct {
 
411
        guint type;
 
412
        guint propid;
 
413
        GValue *val;
 
414
        GPtrArray *subquery;
 
415
} RhythmDBQueryData;
 
416
</pre>
 
417
<p>
 
418
 
 
419
</p>
 
420
</div>
 
421
<hr>
 
422
<div class="refsect2" lang="en">
 
423
<a name="id2576994"></a><h3>
 
424
<a name="RhythmDBEntry"></a>RhythmDBEntry</h3>
 
425
<a class="indexterm" name="id2577002"></a><pre class="programlisting">typedef struct {
 
426
        /* internal bits */
 
427
#ifndef G_DISABLE_ASSERT
 
428
        guint magic;
 
429
#endif  
 
430
        gboolean inserted;
 
431
        gint refcount;
 
432
        void *data;
 
433
        gulong type;
 
434
        
 
435
        /* metadata */
 
436
        RBRefString *title;
 
437
        RBRefString *artist;
 
438
        RBRefString *album;
 
439
        RBRefString *genre;
 
440
        gulong tracknum;
 
441
        gulong discnum;
 
442
        gulong duration;
 
443
        gulong bitrate;
 
444
        double track_gain;
 
445
        double track_peak;
 
446
        double album_gain;
 
447
        double album_peak;
 
448
        GDate *date;
 
449
 
 
450
        /* filesystem */
 
451
        char *location;
 
452
        RBRefString *mountpoint;
 
453
        guint64 file_size;
 
454
        RBRefString *mimetype;
 
455
#if 0
 
456
        dev_t device;
 
457
        GnomeVFSInodeNumber inode;
 
458
#endif
 
459
        gulong mtime;
 
460
        gulong first_seen;
 
461
        gulong last_seen;
 
462
 
 
463
        /* user data */
 
464
        gdouble rating;
 
465
        glong play_count;
 
466
        gulong last_played;
 
467
 
 
468
        /* cached data */
 
469
        RBRefString *last_played_str;
 
470
        RBRefString *first_seen_str;
 
471
 
 
472
        /* playback error string */
 
473
        char *playback_error;
 
474
 
 
475
        /* visibility (to hide entries on unmounted volumes) */
 
476
        gboolean hidden;
 
477
 
 
478
        /*Podcast*/
 
479
        RhythmDBPodcastFields *podcast;
 
480
} RhythmDBEntry;
 
481
</pre>
 
482
<p>
 
483
 
 
484
</p>
 
485
</div>
 
486
<hr>
 
487
<div class="refsect2" lang="en">
 
488
<a name="id2577033"></a><h3>
 
489
<a name="RhythmDBEntryChange"></a>RhythmDBEntryChange</h3>
 
490
<a class="indexterm" name="id2577041"></a><pre class="programlisting">typedef struct {
 
491
        RhythmDBPropType prop;
 
492
        GValue old;
 
493
        GValue new;
 
494
} RhythmDBEntryChange;
 
495
</pre>
 
496
<p>
 
497
 
 
498
</p>
 
499
</div>
 
500
<hr>
 
501
<div class="refsect2" lang="en">
 
502
<a name="id2577056"></a><h3>
 
503
<a name="rhythmdb-entry-get"></a>rhythmdb_entry_get ()</h3>
 
504
<a class="indexterm" name="id2577065"></a><pre class="programlisting">void        rhythmdb_entry_get              (<a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry,
 
505
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBPropType">RhythmDBPropType</a> propid,
 
506
                                             GValue *val);</pre>
 
507
<p>
 
508
Gets a property of an entry, storing it in the given <span class="type">GValue</span>.</p>
 
509
<p>
 
510
 
 
511
</p>
 
512
<div class="variablelist"><table border="0">
 
513
<col align="left" valign="top">
 
514
<tbody>
 
515
<tr>
 
516
<td>
 
517
<span class="term"><em class="parameter"><code>entry</code></em>&#160;:</span></td>
 
518
<td> a <a href="rhythmbox-rhythmdb.html#RhythmDBEntry"><span class="type">RhythmDBEntry</span></a>.
 
519
</td>
 
520
</tr>
 
521
<tr>
 
522
<td>
 
523
<span class="term"><em class="parameter"><code>propid</code></em>&#160;:</span></td>
 
524
<td> the id of the property to get.
 
525
</td>
 
526
</tr>
 
527
<tr>
 
528
<td>
 
529
<span class="term"><em class="parameter"><code>val</code></em>&#160;:</span></td>
 
530
<td> return location for the property value.
 
531
</td>
 
532
</tr>
 
533
</tbody>
 
534
</table></div>
 
535
</div>
 
536
<hr>
 
537
<div class="refsect2" lang="en">
 
538
<a name="id2577160"></a><h3>
 
539
<a name="rhythmdb-entry-get-string"></a>rhythmdb_entry_get_string ()</h3>
 
540
<a class="indexterm" name="id2577170"></a><pre class="programlisting">const char* rhythmdb_entry_get_string       (<a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry,
 
541
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBPropType">RhythmDBPropType</a> propid);</pre>
 
542
<p>
 
543
 
 
544
</p>
 
545
<div class="variablelist"><table border="0">
 
546
<col align="left" valign="top">
 
547
<tbody>
 
548
<tr>
 
549
<td>
 
550
<span class="term"><em class="parameter"><code>entry</code></em>&#160;:</span></td>
 
551
<td>
 
552
</td>
 
553
</tr>
 
554
<tr>
 
555
<td>
 
556
<span class="term"><em class="parameter"><code>propid</code></em>&#160;:</span></td>
 
557
<td>
 
558
</td>
 
559
</tr>
 
560
<tr>
 
561
<td>
 
562
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
563
<td>
 
564
 
 
565
 
 
566
</td>
 
567
</tr>
 
568
</tbody>
 
569
</table></div>
 
570
</div>
 
571
<hr>
 
572
<div class="refsect2" lang="en">
 
573
<a name="id2577240"></a><h3>
 
574
<a name="rhythmdb-entry-get-boolean"></a>rhythmdb_entry_get_boolean ()</h3>
 
575
<a class="indexterm" name="id2577249"></a><pre class="programlisting">gboolean    rhythmdb_entry_get_boolean      (<a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry,
 
576
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBPropType">RhythmDBPropType</a> propid);</pre>
 
577
<p>
 
578
 
 
579
</p>
 
580
<div class="variablelist"><table border="0">
 
581
<col align="left" valign="top">
 
582
<tbody>
 
583
<tr>
 
584
<td>
 
585
<span class="term"><em class="parameter"><code>entry</code></em>&#160;:</span></td>
 
586
<td>
 
587
</td>
 
588
</tr>
 
589
<tr>
 
590
<td>
 
591
<span class="term"><em class="parameter"><code>propid</code></em>&#160;:</span></td>
 
592
<td>
 
593
</td>
 
594
</tr>
 
595
<tr>
 
596
<td>
 
597
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
598
<td>
 
599
 
 
600
 
 
601
</td>
 
602
</tr>
 
603
</tbody>
 
604
</table></div>
 
605
</div>
 
606
<hr>
 
607
<div class="refsect2" lang="en">
 
608
<a name="id2577318"></a><h3>
 
609
<a name="rhythmdb-entry-get-uint64"></a>rhythmdb_entry_get_uint64 ()</h3>
 
610
<a class="indexterm" name="id2577327"></a><pre class="programlisting">guint64     rhythmdb_entry_get_uint64       (<a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry,
 
611
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBPropType">RhythmDBPropType</a> propid);</pre>
 
612
<p>
 
613
 
 
614
</p>
 
615
<div class="variablelist"><table border="0">
 
616
<col align="left" valign="top">
 
617
<tbody>
 
618
<tr>
 
619
<td>
 
620
<span class="term"><em class="parameter"><code>entry</code></em>&#160;:</span></td>
 
621
<td>
 
622
</td>
 
623
</tr>
 
624
<tr>
 
625
<td>
 
626
<span class="term"><em class="parameter"><code>propid</code></em>&#160;:</span></td>
 
627
<td>
 
628
</td>
 
629
</tr>
 
630
<tr>
 
631
<td>
 
632
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
633
<td>
 
634
 
 
635
 
 
636
</td>
 
637
</tr>
 
638
</tbody>
 
639
</table></div>
 
640
</div>
 
641
<hr>
 
642
<div class="refsect2" lang="en">
 
643
<a name="id2577396"></a><h3>
 
644
<a name="rhythmdb-entry-get-ulong"></a>rhythmdb_entry_get_ulong ()</h3>
 
645
<a class="indexterm" name="id2577404"></a><pre class="programlisting">gulong      rhythmdb_entry_get_ulong        (<a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry,
 
646
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBPropType">RhythmDBPropType</a> propid);</pre>
 
647
<p>
 
648
 
 
649
</p>
 
650
<div class="variablelist"><table border="0">
 
651
<col align="left" valign="top">
 
652
<tbody>
 
653
<tr>
 
654
<td>
 
655
<span class="term"><em class="parameter"><code>entry</code></em>&#160;:</span></td>
 
656
<td>
 
657
</td>
 
658
</tr>
 
659
<tr>
 
660
<td>
 
661
<span class="term"><em class="parameter"><code>propid</code></em>&#160;:</span></td>
 
662
<td>
 
663
</td>
 
664
</tr>
 
665
<tr>
 
666
<td>
 
667
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
668
<td>
 
669
 
 
670
 
 
671
</td>
 
672
</tr>
 
673
</tbody>
 
674
</table></div>
 
675
</div>
 
676
<hr>
 
677
<div class="refsect2" lang="en">
 
678
<a name="id2577473"></a><h3>
 
679
<a name="rhythmdb-entry-get-double"></a>rhythmdb_entry_get_double ()</h3>
 
680
<a class="indexterm" name="id2577482"></a><pre class="programlisting">double      rhythmdb_entry_get_double       (<a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry,
 
681
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBPropType">RhythmDBPropType</a> propid);</pre>
 
682
<p>
 
683
 
 
684
</p>
 
685
<div class="variablelist"><table border="0">
 
686
<col align="left" valign="top">
 
687
<tbody>
 
688
<tr>
 
689
<td>
 
690
<span class="term"><em class="parameter"><code>entry</code></em>&#160;:</span></td>
 
691
<td>
 
692
</td>
 
693
</tr>
 
694
<tr>
 
695
<td>
 
696
<span class="term"><em class="parameter"><code>propid</code></em>&#160;:</span></td>
 
697
<td>
 
698
</td>
 
699
</tr>
 
700
<tr>
 
701
<td>
 
702
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
703
<td>
 
704
 
 
705
 
 
706
</td>
 
707
</tr>
 
708
</tbody>
 
709
</table></div>
 
710
</div>
 
711
<hr>
 
712
<div class="refsect2" lang="en">
 
713
<a name="id2577551"></a><h3>
 
714
<a name="rb-refstring-get"></a>rb_refstring_get ()</h3>
 
715
<a class="indexterm" name="id2577560"></a><pre class="programlisting">const char* rb_refstring_get                (const RBRefString *val);</pre>
 
716
<p>
 
717
 
 
718
</p>
 
719
<div class="variablelist"><table border="0">
 
720
<col align="left" valign="top">
 
721
<tbody>
 
722
<tr>
 
723
<td>
 
724
<span class="term"><em class="parameter"><code>val</code></em>&#160;:</span></td>
 
725
<td>
 
726
</td>
 
727
</tr>
 
728
<tr>
 
729
<td>
 
730
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
731
<td>
 
732
 
 
733
 
 
734
</td>
 
735
</tr>
 
736
</tbody>
 
737
</table></div>
 
738
</div>
 
739
<hr>
 
740
<div class="refsect2" lang="en">
 
741
<a name="id2577611"></a><h3>
 
742
<a name="rb-refstring-get-sort-key"></a>rb_refstring_get_sort_key ()</h3>
 
743
<a class="indexterm" name="id2577620"></a><pre class="programlisting">const char* rb_refstring_get_sort_key       (const RBRefString *val);</pre>
 
744
<p>
 
745
 
 
746
</p>
 
747
<div class="variablelist"><table border="0">
 
748
<col align="left" valign="top">
 
749
<tbody>
 
750
<tr>
 
751
<td>
 
752
<span class="term"><em class="parameter"><code>val</code></em>&#160;:</span></td>
 
753
<td>
 
754
</td>
 
755
</tr>
 
756
<tr>
 
757
<td>
 
758
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
759
<td>
 
760
 
 
761
 
 
762
</td>
 
763
</tr>
 
764
</tbody>
 
765
</table></div>
 
766
</div>
 
767
<hr>
 
768
<div class="refsect2" lang="en">
 
769
<a name="id2577671"></a><h3>
 
770
<a name="rb-refstring-get-folded"></a>rb_refstring_get_folded ()</h3>
 
771
<a class="indexterm" name="id2577680"></a><pre class="programlisting">const char* rb_refstring_get_folded         (const RBRefString *val);</pre>
 
772
<p>
 
773
 
 
774
</p>
 
775
<div class="variablelist"><table border="0">
 
776
<col align="left" valign="top">
 
777
<tbody>
 
778
<tr>
 
779
<td>
 
780
<span class="term"><em class="parameter"><code>val</code></em>&#160;:</span></td>
 
781
<td>
 
782
</td>
 
783
</tr>
 
784
<tr>
 
785
<td>
 
786
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
787
<td>
 
788
 
 
789
 
 
790
</td>
 
791
</tr>
 
792
</tbody>
 
793
</table></div>
 
794
</div>
 
795
<hr>
 
796
<div class="refsect2" lang="en">
 
797
<a name="id2577731"></a><h3>
 
798
<a name="RhythmDBError"></a>enum RhythmDBError</h3>
 
799
<a class="indexterm" name="id2577739"></a><pre class="programlisting">typedef enum
 
800
{
 
801
        RHYTHMDB_ERROR_ACCESS_FAILED,
 
802
} RhythmDBError;
 
803
</pre>
 
804
<p>
 
805
 
 
806
</p>
 
807
</div>
 
808
<hr>
 
809
<div class="refsect2" lang="en">
 
810
<a name="id2577754"></a><h3>
 
811
<a name="RHYTHMDB-ERROR:CAPS"></a>RHYTHMDB_ERROR</h3>
 
812
<a class="indexterm" name="id2577762"></a><pre class="programlisting">#define RHYTHMDB_ERROR (rhythmdb_error_quark ())
 
813
</pre>
 
814
<p>
 
815
 
 
816
</p>
 
817
</div>
 
818
<hr>
 
819
<div class="refsect2" lang="en">
 
820
<a name="id2577777"></a><h3>
 
821
<a name="rhythmdb-error-quark"></a>rhythmdb_error_quark ()</h3>
 
822
<a class="indexterm" name="id2577785"></a><pre class="programlisting">GQuark      rhythmdb_error_quark            (void);</pre>
 
823
<p>
 
824
 
 
825
</p>
 
826
<div class="variablelist"><table border="0">
 
827
<col align="left" valign="top">
 
828
<tbody><tr>
 
829
<td>
 
830
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
831
<td>
 
832
 
 
833
 
 
834
</td>
 
835
</tr></tbody>
 
836
</table></div>
 
837
</div>
 
838
<hr>
 
839
<div class="refsect2" lang="en">
 
840
<a name="id2577818"></a><h3>
 
841
<a name="RhythmDBPrivate"></a>RhythmDBPrivate</h3>
 
842
<a class="indexterm" name="id2577826"></a><pre class="programlisting">typedef struct RhythmDBPrivate RhythmDBPrivate;
 
843
</pre>
 
844
<p>
 
845
 
 
846
</p>
 
847
</div>
 
848
<hr>
 
849
<div class="refsect2" lang="en">
 
850
<a name="id2577841"></a><h3>
 
851
<a name="rhythmdb-get-type"></a>rhythmdb_get_type ()</h3>
 
852
<a class="indexterm" name="id2577849"></a><pre class="programlisting">GType       rhythmdb_get_type               (void);</pre>
 
853
<p>
 
854
 
 
855
</p>
 
856
<div class="variablelist"><table border="0">
 
857
<col align="left" valign="top">
 
858
<tbody><tr>
 
859
<td>
 
860
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
861
<td>
 
862
 
 
863
 
 
864
</td>
 
865
</tr></tbody>
 
866
</table></div>
 
867
</div>
 
868
<hr>
 
869
<div class="refsect2" lang="en">
 
870
<a name="id2577882"></a><h3>
 
871
<a name="rhythmdb-new"></a>rhythmdb_new ()</h3>
 
872
<a class="indexterm" name="id2577890"></a><pre class="programlisting">RhythmDB*   rhythmdb_new                    (const char *name);</pre>
 
873
<p>
 
874
 
 
875
</p>
 
876
<div class="variablelist"><table border="0">
 
877
<col align="left" valign="top">
 
878
<tbody>
 
879
<tr>
 
880
<td>
 
881
<span class="term"><em class="parameter"><code>name</code></em>&#160;:</span></td>
 
882
<td>
 
883
</td>
 
884
</tr>
 
885
<tr>
 
886
<td>
 
887
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
888
<td>
 
889
 
 
890
 
 
891
</td>
 
892
</tr>
 
893
</tbody>
 
894
</table></div>
 
895
</div>
 
896
<hr>
 
897
<div class="refsect2" lang="en">
 
898
<a name="id2577940"></a><h3>
 
899
<a name="rhythmdb-shutdown"></a>rhythmdb_shutdown ()</h3>
 
900
<a class="indexterm" name="id2577948"></a><pre class="programlisting">void        rhythmdb_shutdown               (RhythmDB *db);</pre>
 
901
<p>
 
902
Ceases all <span class="type">RhythmDB</span> operations, including stopping all directory monitoring, and
 
903
removing all actions and events currently queued.</p>
 
904
<p>
 
905
 
 
906
</p>
 
907
<div class="variablelist"><table border="0">
 
908
<col align="left" valign="top">
 
909
<tbody><tr>
 
910
<td>
 
911
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
912
<td>
 
913
 
 
914
 
 
915
</td>
 
916
</tr></tbody>
 
917
</table></div>
 
918
</div>
 
919
<hr>
 
920
<div class="refsect2" lang="en">
 
921
<a name="id2578000"></a><h3>
 
922
<a name="rhythmdb-load"></a>rhythmdb_load ()</h3>
 
923
<a class="indexterm" name="id2578009"></a><pre class="programlisting">void        rhythmdb_load                   (RhythmDB *db);</pre>
 
924
<p>
 
925
Load the database from disk.</p>
 
926
<p>
 
927
 
 
928
</p>
 
929
<div class="variablelist"><table border="0">
 
930
<col align="left" valign="top">
 
931
<tbody><tr>
 
932
<td>
 
933
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
934
<td> a <span class="type">RhythmDB</span>.
 
935
</td>
 
936
</tr></tbody>
 
937
</table></div>
 
938
</div>
 
939
<hr>
 
940
<div class="refsect2" lang="en">
 
941
<a name="id2578060"></a><h3>
 
942
<a name="rhythmdb-save"></a>rhythmdb_save ()</h3>
 
943
<a class="indexterm" name="id2578068"></a><pre class="programlisting">void        rhythmdb_save                   (RhythmDB *db);</pre>
 
944
<p>
 
945
Save the database to disk, not returning until it has been saved.</p>
 
946
<p>
 
947
 
 
948
</p>
 
949
<div class="variablelist"><table border="0">
 
950
<col align="left" valign="top">
 
951
<tbody><tr>
 
952
<td>
 
953
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
954
<td> a <span class="type">RhythmDB</span>.
 
955
</td>
 
956
</tr></tbody>
 
957
</table></div>
 
958
</div>
 
959
<hr>
 
960
<div class="refsect2" lang="en">
 
961
<a name="id2578119"></a><h3>
 
962
<a name="rhythmdb-save-async"></a>rhythmdb_save_async ()</h3>
 
963
<a class="indexterm" name="id2578128"></a><pre class="programlisting">void        rhythmdb_save_async             (RhythmDB *db);</pre>
 
964
<p>
 
965
Save the database to disk, asynchronously.</p>
 
966
<p>
 
967
 
 
968
</p>
 
969
<div class="variablelist"><table border="0">
 
970
<col align="left" valign="top">
 
971
<tbody><tr>
 
972
<td>
 
973
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
974
<td> a <span class="type">RhythmDB</span>.
 
975
</td>
 
976
</tr></tbody>
 
977
</table></div>
 
978
</div>
 
979
<hr>
 
980
<div class="refsect2" lang="en">
 
981
<a name="id2578178"></a><h3>
 
982
<a name="rhythmdb-commit"></a>rhythmdb_commit ()</h3>
 
983
<a class="indexterm" name="id2578187"></a><pre class="programlisting">void        rhythmdb_commit                 (RhythmDB *db);</pre>
 
984
<p>
 
985
Apply all database changes, and send notification of changes and new entries.
 
986
This needs to be called after any changes have been made, such as a group of
 
987
<a href="rhythmbox-rhythmdb.html#rhythmdb-entry-set"><code class="function">rhythmdb_entry_set()</code></a> calls, or a new entry has been added.</p>
 
988
<p>
 
989
 
 
990
</p>
 
991
<div class="variablelist"><table border="0">
 
992
<col align="left" valign="top">
 
993
<tbody><tr>
 
994
<td>
 
995
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
996
<td> a <span class="type">RhythmDB</span>.
 
997
</td>
 
998
</tr></tbody>
 
999
</table></div>
 
1000
</div>
 
1001
<hr>
 
1002
<div class="refsect2" lang="en">
 
1003
<a name="id2578249"></a><h3>
 
1004
<a name="rhythmdb-entry-is-editable"></a>rhythmdb_entry_is_editable ()</h3>
 
1005
<a class="indexterm" name="id2578258"></a><pre class="programlisting">gboolean    rhythmdb_entry_is_editable      (RhythmDB *db,
 
1006
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry);</pre>
 
1007
<p>
 
1008
This determines whether any changes to the entries metadata can be saved.
 
1009
Usually this is only true for entries backed by files, where tag-writing is
 
1010
enabled, and the appropriate tag-writing facilities are available.</p>
 
1011
<p>
 
1012
 
 
1013
</p>
 
1014
<div class="variablelist"><table border="0">
 
1015
<col align="left" valign="top">
 
1016
<tbody>
 
1017
<tr>
 
1018
<td>
 
1019
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
1020
<td> a <span class="type">RhythmDB</span>.
 
1021
</td>
 
1022
</tr>
 
1023
<tr>
 
1024
<td>
 
1025
<span class="term"><em class="parameter"><code>entry</code></em>&#160;:</span></td>
 
1026
<td> a <a href="rhythmbox-rhythmdb.html#RhythmDBEntry"><span class="type">RhythmDBEntry</span></a>.
 
1027
</td>
 
1028
</tr>
 
1029
<tr>
 
1030
<td>
 
1031
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
1032
<td> whether the entries metadata can be changed.
 
1033
</td>
 
1034
</tr>
 
1035
</tbody>
 
1036
</table></div>
 
1037
</div>
 
1038
<hr>
 
1039
<div class="refsect2" lang="en">
 
1040
<a name="id2578347"></a><h3>
 
1041
<a name="rhythmdb-entry-new"></a>rhythmdb_entry_new ()</h3>
 
1042
<a class="indexterm" name="id2578355"></a><pre class="programlisting"><a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a>* rhythmdb_entry_new           (RhythmDB *db,
 
1043
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBEntryType">RhythmDBEntryType</a> type,
 
1044
                                             const char *uri);</pre>
 
1045
<p>
 
1046
Creates a new entry of type <em class="parameter"><code>type</code></em> and location <em class="parameter"><code>uri</code></em>, and inserts
 
1047
it into the database. You must call <a href="rhythmbox-rhythmdb.html#rhythmdb-commit"><code class="function">rhythmdb_commit()</code></a> at some  point
 
1048
after invoking this function.</p>
 
1049
<p>
 
1050
 
 
1051
</p>
 
1052
<div class="variablelist"><table border="0">
 
1053
<col align="left" valign="top">
 
1054
<tbody>
 
1055
<tr>
 
1056
<td>
 
1057
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
1058
<td> a <span class="type">RhythmDB</span>.
 
1059
</td>
 
1060
</tr>
 
1061
<tr>
 
1062
<td>
 
1063
<span class="term"><em class="parameter"><code>type</code></em>&#160;:</span></td>
 
1064
<td> type of entry to create
 
1065
</td>
 
1066
</tr>
 
1067
<tr>
 
1068
<td>
 
1069
<span class="term"><em class="parameter"><code>uri</code></em>&#160;:</span></td>
 
1070
<td> the location of the entry, this be unique amongst all entries.
 
1071
</td>
 
1072
</tr>
 
1073
<tr>
 
1074
<td>
 
1075
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
1076
<td> the newly created <a href="rhythmbox-rhythmdb.html#RhythmDBEntry"><span class="type">RhythmDBEntry</span></a>
 
1077
</td>
 
1078
</tr>
 
1079
</tbody>
 
1080
</table></div>
 
1081
</div>
 
1082
<hr>
 
1083
<div class="refsect2" lang="en">
 
1084
<a name="id2578481"></a><h3>
 
1085
<a name="rhythmdb-add-uri"></a>rhythmdb_add_uri ()</h3>
 
1086
<a class="indexterm" name="id2578490"></a><pre class="programlisting">void        rhythmdb_add_uri                (RhythmDB *db,
 
1087
                                             const char *uri);</pre>
 
1088
<p>
 
1089
Adds the file(s) pointed to by <em class="parameter"><code>uri</code></em> to the database, as entries of type
 
1090
RHYTHMDB_ENTRY_TYPE_SONG. If the URI is that of a file, they will be added.
 
1091
If the URI is that of a directory, everything under it will be added recursively.</p>
 
1092
<p>
 
1093
 
 
1094
</p>
 
1095
<div class="variablelist"><table border="0">
 
1096
<col align="left" valign="top">
 
1097
<tbody>
 
1098
<tr>
 
1099
<td>
 
1100
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
1101
<td> a <span class="type">RhythmDB</span>.
 
1102
</td>
 
1103
</tr>
 
1104
<tr>
 
1105
<td>
 
1106
<span class="term"><em class="parameter"><code>uri</code></em>&#160;:</span></td>
 
1107
<td> the URI to add an entry/entries for
 
1108
</td>
 
1109
</tr>
 
1110
</tbody>
 
1111
</table></div>
 
1112
</div>
 
1113
<hr>
 
1114
<div class="refsect2" lang="en">
 
1115
<a name="id2578569"></a><h3>
 
1116
<a name="rhythmdb-entry-set"></a>rhythmdb_entry_set ()</h3>
 
1117
<a class="indexterm" name="id2578577"></a><pre class="programlisting">void        rhythmdb_entry_set              (RhythmDB *db,
 
1118
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry,
 
1119
                                             guint propid,
 
1120
                                             const GValue *value);</pre>
 
1121
<p>
 
1122
This function can be called by any code which wishes to change a
 
1123
song property and send a notification.  It may be called when the
 
1124
database is read-only; in this case the change will be queued for
 
1125
an unspecified time in the future.  The implication of this is that
 
1126
<a href="rhythmbox-rhythmdb.html#rhythmdb-entry-get"><code class="function">rhythmdb_entry_get()</code></a> may not reflect the changes immediately.  However,
 
1127
if this property is exposed in the user interface, you should still
 
1128
make the change in the widget.  Then when the database returns to a
 
1129
writable state, your change will take effect in the database too,
 
1130
and a notification will be sent at that point.
 
1131
</p>
 
1132
<p>
 
1133
Note that you must call <a href="rhythmbox-rhythmdb.html#rhythmdb-commit"><code class="function">rhythmdb_commit()</code></a> at some point after invoking
 
1134
this function, and that even after the commit, your change may not
 
1135
have taken effect.</p>
 
1136
<p>
 
1137
 
 
1138
</p>
 
1139
<div class="variablelist"><table border="0">
 
1140
<col align="left" valign="top">
 
1141
<tbody>
 
1142
<tr>
 
1143
<td>
 
1144
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
1145
<td># a RhythmDB.
 
1146
</td>
 
1147
</tr>
 
1148
<tr>
 
1149
<td>
 
1150
<span class="term"><em class="parameter"><code>entry</code></em>&#160;:</span></td>
 
1151
<td> a <a href="rhythmbox-rhythmdb.html#RhythmDBEntry"><span class="type">RhythmDBEntry</span></a>.
 
1152
</td>
 
1153
</tr>
 
1154
<tr>
 
1155
<td>
 
1156
<span class="term"><em class="parameter"><code>propid</code></em>&#160;:</span></td>
 
1157
<td> the id of the property to set.
 
1158
</td>
 
1159
</tr>
 
1160
<tr>
 
1161
<td>
 
1162
<span class="term"><em class="parameter"><code>value</code></em>&#160;:</span></td>
 
1163
<td> the property value.
 
1164
</td>
 
1165
</tr>
 
1166
</tbody>
 
1167
</table></div>
 
1168
</div>
 
1169
<hr>
 
1170
<div class="refsect2" lang="en">
 
1171
<a name="id2578716"></a><h3>
 
1172
<a name="rhythmdb-entry-set-nonotify"></a>rhythmdb_entry_set_nonotify ()</h3>
 
1173
<a class="indexterm" name="id2578725"></a><pre class="programlisting">void        rhythmdb_entry_set_nonotify     (RhythmDB *db,
 
1174
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry,
 
1175
                                             guint propid,
 
1176
                                             const GValue *value);</pre>
 
1177
<p>
 
1178
This function is like <a href="rhythmbox-rhythmdb.html#rhythmdb-entry-set"><code class="function">rhythmdb_entry_set()</code></a>, except no notification
 
1179
of the change will be sent.  This is useful if you know no
 
1180
one could possibly be listening for the change.
 
1181
</p>
 
1182
<p>
 
1183
Note that you do not need to call <a href="rhythmbox-rhythmdb.html#rhythmdb-commit"><code class="function">rhythmdb_commit()</code></a> after this.</p>
 
1184
<p>
 
1185
 
 
1186
</p>
 
1187
<div class="variablelist"><table border="0">
 
1188
<col align="left" valign="top">
 
1189
<tbody>
 
1190
<tr>
 
1191
<td>
 
1192
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
1193
<td> a <span class="type">RhythmDB</span>.
 
1194
</td>
 
1195
</tr>
 
1196
<tr>
 
1197
<td>
 
1198
<span class="term"><em class="parameter"><code>entry</code></em>&#160;:</span></td>
 
1199
<td> a <a href="rhythmbox-rhythmdb.html#RhythmDBEntry"><span class="type">RhythmDBEntry</span></a>.
 
1200
</td>
 
1201
</tr>
 
1202
<tr>
 
1203
<td>
 
1204
<span class="term"><em class="parameter"><code>propid</code></em>&#160;:</span></td>
 
1205
<td> the id of the property to set.
 
1206
</td>
 
1207
</tr>
 
1208
<tr>
 
1209
<td>
 
1210
<span class="term"><em class="parameter"><code>value</code></em>&#160;:</span></td>
 
1211
<td> the property value.
 
1212
</td>
 
1213
</tr>
 
1214
</tbody>
 
1215
</table></div>
 
1216
</div>
 
1217
<hr>
 
1218
<div class="refsect2" lang="en">
 
1219
<a name="id2578862"></a><h3>
 
1220
<a name="rhythmdb-entry-set-uninserted"></a>rhythmdb_entry_set_uninserted ()</h3>
 
1221
<a class="indexterm" name="id2578872"></a><pre class="programlisting">void        rhythmdb_entry_set_uninserted   (RhythmDB *db,
 
1222
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry,
 
1223
                                             guint propid,
 
1224
                                             const GValue *value);</pre>
 
1225
<p>
 
1226
This function is like <a href="rhythmbox-rhythmdb.html#rhythmdb-entry-set"><code class="function">rhythmdb_entry_set()</code></a>, except that it should only
 
1227
be called for entries that have been created with <a href="rhythmbox-rhythmdb.html#rhythmdb-entry-new"><code class="function">rhythmdb_entry_new()</code></a>
 
1228
but not yet committed to the database (i.e. before <a href="rhythmbox-rhythmdb.html#rhythmdb-commit"><code class="function">rhythmdb_commit()</code></a>).
 
1229
</p>
 
1230
<p>
 
1231
Note that you need to call <a href="rhythmbox-rhythmdb.html#rhythmdb-commit"><code class="function">rhythmdb_commit()</code></a> after all properties are set.</p>
 
1232
<p>
 
1233
 
 
1234
</p>
 
1235
<div class="variablelist"><table border="0">
 
1236
<col align="left" valign="top">
 
1237
<tbody>
 
1238
<tr>
 
1239
<td>
 
1240
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
1241
<td> a <span class="type">RhythmDB</span>.
 
1242
</td>
 
1243
</tr>
 
1244
<tr>
 
1245
<td>
 
1246
<span class="term"><em class="parameter"><code>entry</code></em>&#160;:</span></td>
 
1247
<td> a <a href="rhythmbox-rhythmdb.html#RhythmDBEntry"><span class="type">RhythmDBEntry</span></a>.
 
1248
</td>
 
1249
</tr>
 
1250
<tr>
 
1251
<td>
 
1252
<span class="term"><em class="parameter"><code>propid</code></em>&#160;:</span></td>
 
1253
<td> the id of the property to set.
 
1254
</td>
 
1255
</tr>
 
1256
<tr>
 
1257
<td>
 
1258
<span class="term"><em class="parameter"><code>value</code></em>&#160;:</span></td>
 
1259
<td> the property value.
 
1260
</td>
 
1261
</tr>
 
1262
</tbody>
 
1263
</table></div>
 
1264
</div>
 
1265
<hr>
 
1266
<div class="refsect2" lang="en">
 
1267
<a name="id2579031"></a><h3>
 
1268
<a name="rhythmdb-entry-delete"></a>rhythmdb_entry_delete ()</h3>
 
1269
<a class="indexterm" name="id2579043"></a><pre class="programlisting">void        rhythmdb_entry_delete           (RhythmDB *db,
 
1270
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry);</pre>
 
1271
<p>
 
1272
Delete entry <em class="parameter"><code>entry</code></em> from the database, sending notification of it's deletion.
 
1273
This is usually used by sources where entries can disappear randomly, such
 
1274
as a network source.</p>
 
1275
<p>
 
1276
 
 
1277
</p>
 
1278
<div class="variablelist"><table border="0">
 
1279
<col align="left" valign="top">
 
1280
<tbody>
 
1281
<tr>
 
1282
<td>
 
1283
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
1284
<td> a <span class="type">RhythmDB</span>.
 
1285
</td>
 
1286
</tr>
 
1287
<tr>
 
1288
<td>
 
1289
<span class="term"><em class="parameter"><code>entry</code></em>&#160;:</span></td>
 
1290
<td> a <a href="rhythmbox-rhythmdb.html#RhythmDBEntry"><span class="type">RhythmDBEntry</span></a>.
 
1291
</td>
 
1292
</tr>
 
1293
</tbody>
 
1294
</table></div>
 
1295
</div>
 
1296
<hr>
 
1297
<div class="refsect2" lang="en">
 
1298
<a name="id2579136"></a><h3>
 
1299
<a name="rhythmdb-entry-delete-by-type"></a>rhythmdb_entry_delete_by_type ()</h3>
 
1300
<a class="indexterm" name="id2579148"></a><pre class="programlisting">void        rhythmdb_entry_delete_by_type   (RhythmDB *db,
 
1301
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBEntryType">RhythmDBEntryType</a> type);</pre>
 
1302
<p>
 
1303
Delete all entries from the database of the given type.
 
1304
This is usually used by non-permanent sources when they disappear, such as
 
1305
removable media being removed, or a network share becoming unavailable.</p>
 
1306
<p>
 
1307
 
 
1308
</p>
 
1309
<div class="variablelist"><table border="0">
 
1310
<col align="left" valign="top">
 
1311
<tbody>
 
1312
<tr>
 
1313
<td>
 
1314
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
1315
<td> a <span class="type">RhythmDB</span>.
 
1316
</td>
 
1317
</tr>
 
1318
<tr>
 
1319
<td>
 
1320
<span class="term"><em class="parameter"><code>type</code></em>&#160;:</span></td>
 
1321
<td> type of entried to delete.
 
1322
</td>
 
1323
</tr>
 
1324
</tbody>
 
1325
</table></div>
 
1326
</div>
 
1327
<hr>
 
1328
<div class="refsect2" lang="en">
 
1329
<a name="id2579230"></a><h3>
 
1330
<a name="rhythmdb-entry-lookup-by-location"></a>rhythmdb_entry_lookup_by_location ()</h3>
 
1331
<a class="indexterm" name="id2579242"></a><pre class="programlisting"><a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a>* rhythmdb_entry_lookup_by_location
 
1332
                                            (RhythmDB *db,
 
1333
                                             const char *uri);</pre>
 
1334
<p>
 
1335
Looks up the entry with location <em class="parameter"><code>uri</code></em>.</p>
 
1336
<p>
 
1337
 
 
1338
</p>
 
1339
<div class="variablelist"><table border="0">
 
1340
<col align="left" valign="top">
 
1341
<tbody>
 
1342
<tr>
 
1343
<td>
 
1344
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
1345
<td> a <span class="type">RhythmDB</span>.
 
1346
</td>
 
1347
</tr>
 
1348
<tr>
 
1349
<td>
 
1350
<span class="term"><em class="parameter"><code>uri</code></em>&#160;:</span></td>
 
1351
<td> the URI of the entry to lookup.
 
1352
</td>
 
1353
</tr>
 
1354
<tr>
 
1355
<td>
 
1356
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
1357
<td> the entry with location <em class="parameter"><code>uri</code></em>, or NULL if no such entry exists.
 
1358
</td>
 
1359
</tr>
 
1360
</tbody>
 
1361
</table></div>
 
1362
</div>
 
1363
<hr>
 
1364
<div class="refsect2" lang="en">
 
1365
<a name="id2579345"></a><h3>
 
1366
<a name="rhythmdb-evaluate-query"></a>rhythmdb_evaluate_query ()</h3>
 
1367
<a class="indexterm" name="id2579356"></a><pre class="programlisting">gboolean    rhythmdb_evaluate_query         (RhythmDB *db,
 
1368
                                             GPtrArray *query,
 
1369
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry);</pre>
 
1370
<p>
 
1371
Evaluates the given entry against the given query.</p>
 
1372
<p>
 
1373
 
 
1374
</p>
 
1375
<div class="variablelist"><table border="0">
 
1376
<col align="left" valign="top">
 
1377
<tbody>
 
1378
<tr>
 
1379
<td>
 
1380
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
1381
<td> a <span class="type">RhythmDB</span>.
 
1382
</td>
 
1383
</tr>
 
1384
<tr>
 
1385
<td>
 
1386
<span class="term"><em class="parameter"><code>query</code></em>&#160;:</span></td>
 
1387
<td> a query.
 
1388
<em class="parameter"><code>entry</code></em> a <em class="parameter"><code>RhythmDBEntry</code></em>.
 
1389
</td>
 
1390
</tr>
 
1391
<tr>
 
1392
<td>
 
1393
<span class="term"><em class="parameter"><code>entry</code></em>&#160;:</span></td>
 
1394
<td>
 
1395
</td>
 
1396
</tr>
 
1397
<tr>
 
1398
<td>
 
1399
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
1400
<td> whether the given entry matches the criteria of the given query.
 
1401
</td>
 
1402
</tr>
 
1403
</tbody>
 
1404
</table></div>
 
1405
</div>
 
1406
<hr>
 
1407
<div class="refsect2" lang="en">
 
1408
<a name="id2579480"></a><h3>
 
1409
<a name="rhythmdb-entry-foreach"></a>rhythmdb_entry_foreach ()</h3>
 
1410
<a class="indexterm" name="id2579491"></a><pre class="programlisting">void        rhythmdb_entry_foreach          (RhythmDB *db,
 
1411
                                             GFunc func,
 
1412
                                             gpointer data);</pre>
 
1413
<p>
 
1414
Calls the given function for each of the entries in the database.</p>
 
1415
<p>
 
1416
 
 
1417
</p>
 
1418
<div class="variablelist"><table border="0">
 
1419
<col align="left" valign="top">
 
1420
<tbody>
 
1421
<tr>
 
1422
<td>
 
1423
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
1424
<td> a <span class="type">RhythmDB</span>.
 
1425
</td>
 
1426
</tr>
 
1427
<tr>
 
1428
<td>
 
1429
<span class="term"><em class="parameter"><code>func</code></em>&#160;:</span></td>
 
1430
<td> the function to call with each entry.
 
1431
</td>
 
1432
</tr>
 
1433
<tr>
 
1434
<td>
 
1435
<span class="term"><em class="parameter"><code>data</code></em>&#160;:</span></td>
 
1436
<td> user data to pass to the function.
 
1437
</td>
 
1438
</tr>
 
1439
</tbody>
 
1440
</table></div>
 
1441
</div>
 
1442
<hr>
 
1443
<div class="refsect2" lang="en">
 
1444
<a name="id2579592"></a><h3>
 
1445
<a name="rhythmdb-do-full-query"></a>rhythmdb_do_full_query ()</h3>
 
1446
<a class="indexterm" name="id2579603"></a><pre class="programlisting">void        rhythmdb_do_full_query          (RhythmDB *db,
 
1447
                                             GtkTreeModel *main_model,
 
1448
                                             ...);</pre>
 
1449
<p>
 
1450
 
 
1451
</p>
 
1452
<div class="variablelist"><table border="0">
 
1453
<col align="left" valign="top">
 
1454
<tbody>
 
1455
<tr>
 
1456
<td>
 
1457
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
1458
<td>
 
1459
</td>
 
1460
</tr>
 
1461
<tr>
 
1462
<td>
 
1463
<span class="term"><em class="parameter"><code>main_model</code></em>&#160;:</span></td>
 
1464
<td>
 
1465
</td>
 
1466
</tr>
 
1467
<tr>
 
1468
<td>
 
1469
<span class="term"><em class="parameter"><code>...</code></em>&#160;:</span></td>
 
1470
<td>
 
1471
 
 
1472
 
 
1473
</td>
 
1474
</tr>
 
1475
</tbody>
 
1476
</table></div>
 
1477
</div>
 
1478
<hr>
 
1479
<div class="refsect2" lang="en">
 
1480
<a name="id2579685"></a><h3>
 
1481
<a name="rhythmdb-do-full-query-parsed"></a>rhythmdb_do_full_query_parsed ()</h3>
 
1482
<a class="indexterm" name="id2579697"></a><pre class="programlisting">void        rhythmdb_do_full_query_parsed   (RhythmDB *db,
 
1483
                                             GtkTreeModel *main_model,
 
1484
                                             GPtrArray *query);</pre>
 
1485
<p>
 
1486
 
 
1487
</p>
 
1488
<div class="variablelist"><table border="0">
 
1489
<col align="left" valign="top">
 
1490
<tbody>
 
1491
<tr>
 
1492
<td>
 
1493
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
1494
<td>
 
1495
</td>
 
1496
</tr>
 
1497
<tr>
 
1498
<td>
 
1499
<span class="term"><em class="parameter"><code>main_model</code></em>&#160;:</span></td>
 
1500
<td>
 
1501
</td>
 
1502
</tr>
 
1503
<tr>
 
1504
<td>
 
1505
<span class="term"><em class="parameter"><code>query</code></em>&#160;:</span></td>
 
1506
<td>
 
1507
 
 
1508
 
 
1509
</td>
 
1510
</tr>
 
1511
</tbody>
 
1512
</table></div>
 
1513
</div>
 
1514
<hr>
 
1515
<div class="refsect2" lang="en">
 
1516
<a name="id2579786"></a><h3>
 
1517
<a name="rhythmdb-do-full-query-async"></a>rhythmdb_do_full_query_async ()</h3>
 
1518
<a class="indexterm" name="id2579797"></a><pre class="programlisting">void        rhythmdb_do_full_query_async    (RhythmDB *db,
 
1519
                                             GtkTreeModel *main_model,
 
1520
                                             ...);</pre>
 
1521
<p>
 
1522
 
 
1523
</p>
 
1524
<div class="variablelist"><table border="0">
 
1525
<col align="left" valign="top">
 
1526
<tbody>
 
1527
<tr>
 
1528
<td>
 
1529
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
1530
<td>
 
1531
</td>
 
1532
</tr>
 
1533
<tr>
 
1534
<td>
 
1535
<span class="term"><em class="parameter"><code>main_model</code></em>&#160;:</span></td>
 
1536
<td>
 
1537
</td>
 
1538
</tr>
 
1539
<tr>
 
1540
<td>
 
1541
<span class="term"><em class="parameter"><code>...</code></em>&#160;:</span></td>
 
1542
<td>
 
1543
 
 
1544
 
 
1545
</td>
 
1546
</tr>
 
1547
</tbody>
 
1548
</table></div>
 
1549
</div>
 
1550
<hr>
 
1551
<div class="refsect2" lang="en">
 
1552
<a name="id2579880"></a><h3>
 
1553
<a name="rhythmdb-do-full-query-async-parsed"></a>rhythmdb_do_full_query_async_parsed ()</h3>
 
1554
<a class="indexterm" name="id2579892"></a><pre class="programlisting">void        rhythmdb_do_full_query_async_parsed
 
1555
                                            (RhythmDB *db,
 
1556
                                             GtkTreeModel *main_model,
 
1557
                                             GPtrArray *query);</pre>
 
1558
<p>
 
1559
 
 
1560
</p>
 
1561
<div class="variablelist"><table border="0">
 
1562
<col align="left" valign="top">
 
1563
<tbody>
 
1564
<tr>
 
1565
<td>
 
1566
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
1567
<td>
 
1568
</td>
 
1569
</tr>
 
1570
<tr>
 
1571
<td>
 
1572
<span class="term"><em class="parameter"><code>main_model</code></em>&#160;:</span></td>
 
1573
<td>
 
1574
</td>
 
1575
</tr>
 
1576
<tr>
 
1577
<td>
 
1578
<span class="term"><em class="parameter"><code>query</code></em>&#160;:</span></td>
 
1579
<td>
 
1580
 
 
1581
 
 
1582
</td>
 
1583
</tr>
 
1584
</tbody>
 
1585
</table></div>
 
1586
</div>
 
1587
<hr>
 
1588
<div class="refsect2" lang="en">
 
1589
<a name="id2579981"></a><h3>
 
1590
<a name="rhythmdb-query-cancel"></a>rhythmdb_query_cancel ()</h3>
 
1591
<a class="indexterm" name="id2579992"></a><pre class="programlisting">void        rhythmdb_query_cancel           (RhythmDB *db,
 
1592
                                             GtkTreeModel *query_model);</pre>
 
1593
<p>
 
1594
 
 
1595
</p>
 
1596
<div class="variablelist"><table border="0">
 
1597
<col align="left" valign="top">
 
1598
<tbody>
 
1599
<tr>
 
1600
<td>
 
1601
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
1602
<td>
 
1603
</td>
 
1604
</tr>
 
1605
<tr>
 
1606
<td>
 
1607
<span class="term"><em class="parameter"><code>query_model</code></em>&#160;:</span></td>
 
1608
<td>
 
1609
 
 
1610
 
 
1611
</td>
 
1612
</tr>
 
1613
</tbody>
 
1614
</table></div>
 
1615
</div>
 
1616
<hr>
 
1617
<div class="refsect2" lang="en">
 
1618
<a name="id2580059"></a><h3>
 
1619
<a name="rhythmdb-entry-sync-mirrored"></a>rhythmdb_entry_sync_mirrored ()</h3>
 
1620
<a class="indexterm" name="id2580071"></a><pre class="programlisting">void        rhythmdb_entry_sync_mirrored    (RhythmDB *db,
 
1621
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry,
 
1622
                                             guint propid);</pre>
 
1623
<p>
 
1624
Synchronise "mirrored" properties, such as the string version of the last-played
 
1625
time. This should be called when a property is directly modified, passing the
 
1626
original property.
 
1627
</p>
 
1628
<p>
 
1629
This should only be used by RhythmDB itself, or a backend (such as rhythmdb-tree).</p>
 
1630
<p>
 
1631
 
 
1632
</p>
 
1633
<div class="variablelist"><table border="0">
 
1634
<col align="left" valign="top">
 
1635
<tbody>
 
1636
<tr>
 
1637
<td>
 
1638
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
1639
<td> a <span class="type">RhythmDB</span>.
 
1640
</td>
 
1641
</tr>
 
1642
<tr>
 
1643
<td>
 
1644
<span class="term"><em class="parameter"><code>entry</code></em>&#160;:</span></td>
 
1645
<td>
 
1646
</td>
 
1647
</tr>
 
1648
<tr>
 
1649
<td>
 
1650
<span class="term"><em class="parameter"><code>propid</code></em>&#160;:</span></td>
 
1651
<td> the property to sync the mirrored version of.
 
1652
</td>
 
1653
</tr>
 
1654
</tbody>
 
1655
</table></div>
 
1656
</div>
 
1657
<hr>
 
1658
<div class="refsect2" lang="en">
 
1659
<a name="id2580179"></a><h3>
 
1660
<a name="rhythmdb-query-parse"></a>rhythmdb_query_parse ()</h3>
 
1661
<a class="indexterm" name="id2580191"></a><pre class="programlisting">GPtrArray*  rhythmdb_query_parse            (RhythmDB *db,
 
1662
                                             ...);</pre>
 
1663
<p>
 
1664
Creates a query from a list of criteria.
 
1665
</p>
 
1666
<p>
 
1667
Most criteria consists of an operator (<a href="rhythmbox-rhythmdb.html#RhythmDBQueryType"><span class="type">RhythmDBQueryType</span></a>),
 
1668
a property (<a href="rhythmbox-rhythmdb.html#RhythmDBPropType"><span class="type">RhythmDBPropType</span></a>) and the data to compare with. An entry
 
1669
matches a criteria if the operator returns true with the value of the
 
1670
entries property as the first argument, and the given data as the second
 
1671
argument.
 
1672
</p>
 
1673
<p>
 
1674
Three types criteria are special. Passing RHYTHMDB_QUERY_END indicates the
 
1675
end of the list of criteria, and must be the last passes parameter.
 
1676
</p>
 
1677
<p>
 
1678
The second special criteria is a subquery which is defined by passing
 
1679
RHYTHMDB_QUERY_SUBQUERY, followed by a query (<span class="type">GPtrArray</span>). An entry will
 
1680
match a subquery criteria if it matches all criteria in the subquery.
 
1681
</p>
 
1682
<p>
 
1683
The third special criteria is a disjunction which is defined by passing
 
1684
RHYTHMDB_QUERY_DISJUNCTION, which will make an entry match the query if
 
1685
it matches the criteria before the disjunction, the criteria after the
 
1686
disjunction, or both.
 
1687
</p>
 
1688
<p>
 
1689
Example:
 
1690
        rhythmdb_query_parse (db,
 
1691
                RHYTHMDB_QUERY_SUBQUERY, subquery,
 
1692
                RHYTHMDB_QUERY_DISJUNCTION
 
1693
                RHYTHMDB_QUERY_PROP_LIKE, RHYTHMDB_PROP_TITLE, "cat",
 
1694
        RHYTHMDB_QUERY_DISJUNCTION
 
1695
        RHYTHMDB_QUERY_PROP_GREATER, RHYTHMDB_PROP_RATING, 2.5,
 
1696
        RHYTHMDB_QUERY_PROP_LESS, RHYTHMDB_PROP_PLAY_COUNT, 10,
 
1697
                RHYTHMDB_QUERY_END);
 
1698
</p>
 
1699
<p>
 
1700
        will create a query that matches entries:
 
1701
        a) that match the query "subquery", or
 
1702
        b) that have "cat" in their title, or
 
1703
        c) have a rating of at least 2.5, and a play count of at most 10</p>
 
1704
<p>
 
1705
 
 
1706
</p>
 
1707
<div class="variablelist"><table border="0">
 
1708
<col align="left" valign="top">
 
1709
<tbody>
 
1710
<tr>
 
1711
<td>
 
1712
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
1713
<td> a <span class="type">RhythmDB</span> instance
 
1714
</td>
 
1715
</tr>
 
1716
<tr>
 
1717
<td>
 
1718
<span class="term"><em class="parameter"><code>...</code></em>&#160;:</span></td>
 
1719
<td>
 
1720
</td>
 
1721
</tr>
 
1722
<tr>
 
1723
<td>
 
1724
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
1725
<td> a the newly created query. It must be freed with <a href="rhythmbox-rhythmdb.html#rhythmdb-query-free"><code class="function">rhythmdb_query_free()</code></a>
 
1726
</td>
 
1727
</tr>
 
1728
</tbody>
 
1729
</table></div>
 
1730
</div>
 
1731
<hr>
 
1732
<div class="refsect2" lang="en">
 
1733
<a name="id2580350"></a><h3>
 
1734
<a name="rhythmdb-query-append"></a>rhythmdb_query_append ()</h3>
 
1735
<a class="indexterm" name="id2580361"></a><pre class="programlisting">void        rhythmdb_query_append           (RhythmDB *db,
 
1736
                                             GPtrArray *query,
 
1737
                                             ...);</pre>
 
1738
<p>
 
1739
Appends new criteria to the query <em class="parameter"><code>query</code></em>.
 
1740
</p>
 
1741
<p>
 
1742
The list of criteria must be in the same format as for rhythmdb_query_parse,
 
1743
and ended by RHYTHMDB_QUERY_END.</p>
 
1744
<p>
 
1745
 
 
1746
</p>
 
1747
<div class="variablelist"><table border="0">
 
1748
<col align="left" valign="top">
 
1749
<tbody>
 
1750
<tr>
 
1751
<td>
 
1752
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
1753
<td> a <span class="type">RhythmDB</span> instance
 
1754
</td>
 
1755
</tr>
 
1756
<tr>
 
1757
<td>
 
1758
<span class="term"><em class="parameter"><code>query</code></em>&#160;:</span></td>
 
1759
<td> a query.
 
1760
</td>
 
1761
</tr>
 
1762
<tr>
 
1763
<td>
 
1764
<span class="term"><em class="parameter"><code>...</code></em>&#160;:</span></td>
 
1765
<td>
 
1766
 
 
1767
 
 
1768
</td>
 
1769
</tr>
 
1770
</tbody>
 
1771
</table></div>
 
1772
</div>
 
1773
<hr>
 
1774
<div class="refsect2" lang="en">
 
1775
<a name="id2580465"></a><h3>
 
1776
<a name="rhythmdb-query-free"></a>rhythmdb_query_free ()</h3>
 
1777
<a class="indexterm" name="id2580477"></a><pre class="programlisting">void        rhythmdb_query_free             (GPtrArray *query);</pre>
 
1778
<p>
 
1779
Frees the query <em class="parameter"><code>query</code></em></p>
 
1780
<p>
 
1781
 
 
1782
</p>
 
1783
<div class="variablelist"><table border="0">
 
1784
<col align="left" valign="top">
 
1785
<tbody><tr>
 
1786
<td>
 
1787
<span class="term"><em class="parameter"><code>query</code></em>&#160;:</span></td>
 
1788
<td> a query.
 
1789
</td>
 
1790
</tr></tbody>
 
1791
</table></div>
 
1792
</div>
 
1793
<hr>
 
1794
<div class="refsect2" lang="en">
 
1795
<a name="id2580531"></a><h3>
 
1796
<a name="rhythmdb-query-copy"></a>rhythmdb_query_copy ()</h3>
 
1797
<a class="indexterm" name="id2580543"></a><pre class="programlisting">GPtrArray*  rhythmdb_query_copy             (GPtrArray *array);</pre>
 
1798
<p>
 
1799
Creates a copy of a query.</p>
 
1800
<p>
 
1801
 
 
1802
</p>
 
1803
<div class="variablelist"><table border="0">
 
1804
<col align="left" valign="top">
 
1805
<tbody>
 
1806
<tr>
 
1807
<td>
 
1808
<span class="term"><em class="parameter"><code>array</code></em>&#160;:</span></td>
 
1809
<td> the query to copy.
 
1810
</td>
 
1811
</tr>
 
1812
<tr>
 
1813
<td>
 
1814
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
1815
<td> a copy of the passed query. It must be freed with <a href="rhythmbox-rhythmdb.html#rhythmdb-query-free"><code class="function">rhythmdb_query_free()</code></a>
 
1816
</td>
 
1817
</tr>
 
1818
</tbody>
 
1819
</table></div>
 
1820
</div>
 
1821
<hr>
 
1822
<div class="refsect2" lang="en">
 
1823
<a name="id2580614"></a><h3>
 
1824
<a name="rhythmdb-query-serialize"></a>rhythmdb_query_serialize ()</h3>
 
1825
<a class="indexterm" name="id2580625"></a><pre class="programlisting">void        rhythmdb_query_serialize        (RhythmDB *db,
 
1826
                                             GPtrArray *query,
 
1827
                                             xmlNodePtr node);</pre>
 
1828
<p>
 
1829
 
 
1830
</p>
 
1831
<div class="variablelist"><table border="0">
 
1832
<col align="left" valign="top">
 
1833
<tbody>
 
1834
<tr>
 
1835
<td>
 
1836
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
1837
<td>
 
1838
</td>
 
1839
</tr>
 
1840
<tr>
 
1841
<td>
 
1842
<span class="term"><em class="parameter"><code>query</code></em>&#160;:</span></td>
 
1843
<td>
 
1844
</td>
 
1845
</tr>
 
1846
<tr>
 
1847
<td>
 
1848
<span class="term"><em class="parameter"><code>node</code></em>&#160;:</span></td>
 
1849
<td>
 
1850
 
 
1851
 
 
1852
</td>
 
1853
</tr>
 
1854
</tbody>
 
1855
</table></div>
 
1856
</div>
 
1857
<hr>
 
1858
<div class="refsect2" lang="en">
 
1859
<a name="id2580713"></a><h3>
 
1860
<a name="rhythmdb-query-deserialize"></a>rhythmdb_query_deserialize ()</h3>
 
1861
<a class="indexterm" name="id2580726"></a><pre class="programlisting">GPtrArray*  rhythmdb_query_deserialize      (RhythmDB *db,
 
1862
                                             xmlNodePtr node);</pre>
 
1863
<p>
 
1864
 
 
1865
</p>
 
1866
<div class="variablelist"><table border="0">
 
1867
<col align="left" valign="top">
 
1868
<tbody>
 
1869
<tr>
 
1870
<td>
 
1871
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
1872
<td>
 
1873
</td>
 
1874
</tr>
 
1875
<tr>
 
1876
<td>
 
1877
<span class="term"><em class="parameter"><code>node</code></em>&#160;:</span></td>
 
1878
<td>
 
1879
</td>
 
1880
</tr>
 
1881
<tr>
 
1882
<td>
 
1883
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
1884
<td>
 
1885
 
 
1886
 
 
1887
</td>
 
1888
</tr>
 
1889
</tbody>
 
1890
</table></div>
 
1891
</div>
 
1892
<hr>
 
1893
<div class="refsect2" lang="en">
 
1894
<a name="id2580803"></a><h3>
 
1895
<a name="rhythmdb-emit-entry-added"></a>rhythmdb_emit_entry_added ()</h3>
 
1896
<a class="indexterm" name="id2580815"></a><pre class="programlisting">void        rhythmdb_emit_entry_added       (RhythmDB *db,
 
1897
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry);</pre>
 
1898
<p>
 
1899
 
 
1900
</p>
 
1901
<div class="variablelist"><table border="0">
 
1902
<col align="left" valign="top">
 
1903
<tbody>
 
1904
<tr>
 
1905
<td>
 
1906
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
1907
<td>
 
1908
</td>
 
1909
</tr>
 
1910
<tr>
 
1911
<td>
 
1912
<span class="term"><em class="parameter"><code>entry</code></em>&#160;:</span></td>
 
1913
<td>
 
1914
 
 
1915
 
 
1916
</td>
 
1917
</tr>
 
1918
</tbody>
 
1919
</table></div>
 
1920
</div>
 
1921
<hr>
 
1922
<div class="refsect2" lang="en">
 
1923
<a name="id2580882"></a><h3>
 
1924
<a name="rhythmdb-emit-entry-deleted"></a>rhythmdb_emit_entry_deleted ()</h3>
 
1925
<a class="indexterm" name="id2580893"></a><pre class="programlisting">void        rhythmdb_emit_entry_deleted     (RhythmDB *db,
 
1926
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry);</pre>
 
1927
<p>
 
1928
 
 
1929
</p>
 
1930
<div class="variablelist"><table border="0">
 
1931
<col align="left" valign="top">
 
1932
<tbody>
 
1933
<tr>
 
1934
<td>
 
1935
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
1936
<td>
 
1937
</td>
 
1938
</tr>
 
1939
<tr>
 
1940
<td>
 
1941
<span class="term"><em class="parameter"><code>entry</code></em>&#160;:</span></td>
 
1942
<td>
 
1943
 
 
1944
 
 
1945
</td>
 
1946
</tr>
 
1947
</tbody>
 
1948
</table></div>
 
1949
</div>
 
1950
<hr>
 
1951
<div class="refsect2" lang="en">
 
1952
<a name="id2580960"></a><h3>
 
1953
<a name="rhythmdb-is-busy"></a>rhythmdb_is_busy ()</h3>
 
1954
<a class="indexterm" name="id2580971"></a><pre class="programlisting">gboolean    rhythmdb_is_busy                (RhythmDB *db);</pre>
 
1955
<p>
 
1956
</p>
 
1957
<p>
 
1958
 
 
1959
</p>
 
1960
<div class="variablelist"><table border="0">
 
1961
<col align="left" valign="top">
 
1962
<tbody>
 
1963
<tr>
 
1964
<td>
 
1965
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
1966
<td> a <span class="type">RhythmDB</span>.
 
1967
</td>
 
1968
</tr>
 
1969
<tr>
 
1970
<td>
 
1971
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
1972
<td> whether the <span class="type">RhythmDB</span> has events to process.
 
1973
</td>
 
1974
</tr>
 
1975
</tbody>
 
1976
</table></div>
 
1977
</div>
 
1978
<hr>
 
1979
<div class="refsect2" lang="en">
 
1980
<a name="id2581046"></a><h3>
 
1981
<a name="rhythmdb-compute-status-normal"></a>rhythmdb_compute_status_normal ()</h3>
 
1982
<a class="indexterm" name="id2581058"></a><pre class="programlisting">char*       rhythmdb_compute_status_normal  (gint n_songs,
 
1983
                                             glong duration,
 
1984
                                             GnomeVFSFileSize size);</pre>
 
1985
<p>
 
1986
Creates a string containing the "status" information about a list of tracks.</p>
 
1987
<p>
 
1988
 
 
1989
</p>
 
1990
<div class="variablelist"><table border="0">
 
1991
<col align="left" valign="top">
 
1992
<tbody>
 
1993
<tr>
 
1994
<td>
 
1995
<span class="term"><em class="parameter"><code>n_songs</code></em>&#160;:</span></td>
 
1996
<td> the number of tracks.
 
1997
</td>
 
1998
</tr>
 
1999
<tr>
 
2000
<td>
 
2001
<span class="term"><em class="parameter"><code>duration</code></em>&#160;:</span></td>
 
2002
<td> the total duration of the tracks.
 
2003
</td>
 
2004
</tr>
 
2005
<tr>
 
2006
<td>
 
2007
<span class="term"><em class="parameter"><code>size</code></em>&#160;:</span></td>
 
2008
<td> the total size of the tracks.
 
2009
</td>
 
2010
</tr>
 
2011
<tr>
 
2012
<td>
 
2013
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
2014
<td> the string, which should be freed with g_free.
 
2015
</td>
 
2016
</tr>
 
2017
</tbody>
 
2018
</table></div>
 
2019
</div>
 
2020
<hr>
 
2021
<div class="refsect2" lang="en">
 
2022
<a name="id2581163"></a><h3>
 
2023
<a name="rhythmdb-entry-register-type"></a>rhythmdb_entry_register_type ()</h3>
 
2024
<a class="indexterm" name="id2581175"></a><pre class="programlisting"><a href="rhythmbox-rhythmdb.html#RhythmDBEntryType">RhythmDBEntryType</a> rhythmdb_entry_register_type
 
2025
                                            (void);</pre>
 
2026
<p>
 
2027
Registers a new <a href="rhythmbox-rhythmdb.html#RhythmDBEntryType"><span class="type">RhythmDBEntryType</span></a>. This should be called to create a new
 
2028
entry type for non-permanent sources.</p>
 
2029
<p>
 
2030
 
 
2031
</p>
 
2032
<div class="variablelist"><table border="0">
 
2033
<col align="left" valign="top">
 
2034
<tbody><tr>
 
2035
<td>
 
2036
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
2037
<td> the new <a href="rhythmbox-rhythmdb.html#RhythmDBEntryType"><span class="type">RhythmDBEntryType</span></a>.
 
2038
</td>
 
2039
</tr></tbody>
 
2040
</table></div>
 
2041
</div>
 
2042
<hr>
 
2043
<div class="refsect2" lang="en">
 
2044
<a name="id2581232"></a><h3>
 
2045
<a name="rhythmdb-entry-song-get-type"></a>rhythmdb_entry_song_get_type ()</h3>
 
2046
<a class="indexterm" name="id2581244"></a><pre class="programlisting"><a href="rhythmbox-rhythmdb.html#RhythmDBEntryType">RhythmDBEntryType</a> rhythmdb_entry_song_get_type
 
2047
                                            (void);</pre>
 
2048
<p>
 
2049
 
 
2050
</p>
 
2051
<div class="variablelist"><table border="0">
 
2052
<col align="left" valign="top">
 
2053
<tbody><tr>
 
2054
<td>
 
2055
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
2056
<td>
 
2057
 
 
2058
 
 
2059
</td>
 
2060
</tr></tbody>
 
2061
</table></div>
 
2062
</div>
 
2063
<hr>
 
2064
<div class="refsect2" lang="en">
 
2065
<a name="id2581281"></a><h3>
 
2066
<a name="rhythmdb-entry-iradio-get-type"></a>rhythmdb_entry_iradio_get_type ()</h3>
 
2067
<a class="indexterm" name="id2581293"></a><pre class="programlisting"><a href="rhythmbox-rhythmdb.html#RhythmDBEntryType">RhythmDBEntryType</a> rhythmdb_entry_iradio_get_type
 
2068
                                            (void);</pre>
 
2069
<p>
 
2070
 
 
2071
</p>
 
2072
<div class="variablelist"><table border="0">
 
2073
<col align="left" valign="top">
 
2074
<tbody><tr>
 
2075
<td>
 
2076
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
2077
<td>
 
2078
 
 
2079
 
 
2080
</td>
 
2081
</tr></tbody>
 
2082
</table></div>
 
2083
</div>
 
2084
<hr>
 
2085
<div class="refsect2" lang="en">
 
2086
<a name="id2581330"></a><h3>
 
2087
<a name="rhythmdb-entry-icecast-get-type"></a>rhythmdb_entry_icecast_get_type ()</h3>
 
2088
<a class="indexterm" name="id2581342"></a><pre class="programlisting"><a href="rhythmbox-rhythmdb.html#RhythmDBEntryType">RhythmDBEntryType</a> rhythmdb_entry_icecast_get_type
 
2089
                                            (void);</pre>
 
2090
<p>
 
2091
 
 
2092
</p>
 
2093
<div class="variablelist"><table border="0">
 
2094
<col align="left" valign="top">
 
2095
<tbody><tr>
 
2096
<td>
 
2097
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
2098
<td>
 
2099
 
 
2100
 
 
2101
</td>
 
2102
</tr></tbody>
 
2103
</table></div>
 
2104
</div>
 
2105
<hr>
 
2106
<div class="refsect2" lang="en">
 
2107
<a name="id2581380"></a><h3>
 
2108
<a name="rhythmdb-get-property-type"></a>rhythmdb_get_property_type ()</h3>
 
2109
<a class="indexterm" name="id2581392"></a><pre class="programlisting">GType       rhythmdb_get_property_type      (RhythmDB *db,
 
2110
                                             guint property_id);</pre>
 
2111
<p>
 
2112
 
 
2113
</p>
 
2114
<div class="variablelist"><table border="0">
 
2115
<col align="left" valign="top">
 
2116
<tbody>
 
2117
<tr>
 
2118
<td>
 
2119
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
2120
<td>
 
2121
</td>
 
2122
</tr>
 
2123
<tr>
 
2124
<td>
 
2125
<span class="term"><em class="parameter"><code>property_id</code></em>&#160;:</span></td>
 
2126
<td>
 
2127
</td>
 
2128
</tr>
 
2129
<tr>
 
2130
<td>
 
2131
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
2132
<td>
 
2133
 
 
2134
 
 
2135
</td>
 
2136
</tr>
 
2137
</tbody>
 
2138
</table></div>
 
2139
</div>
 
2140
<hr>
 
2141
<div class="refsect2" lang="en">
 
2142
<a name="id2581469"></a><h3>
 
2143
<a name="rhythmdb-entry-ref"></a>rhythmdb_entry_ref ()</h3>
 
2144
<a class="indexterm" name="id2581481"></a><pre class="programlisting">void        rhythmdb_entry_ref              (RhythmDB *db,
 
2145
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry);</pre>
 
2146
<p>
 
2147
Increase the reference count of the entry.</p>
 
2148
<p>
 
2149
 
 
2150
</p>
 
2151
<div class="variablelist"><table border="0">
 
2152
<col align="left" valign="top">
 
2153
<tbody>
 
2154
<tr>
 
2155
<td>
 
2156
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
2157
<td> a <span class="type">RhythmDB</span>.
 
2158
</td>
 
2159
</tr>
 
2160
<tr>
 
2161
<td>
 
2162
<span class="term"><em class="parameter"><code>entry</code></em>&#160;:</span></td>
 
2163
<td> a <a href="rhythmbox-rhythmdb.html#RhythmDBEntry"><span class="type">RhythmDBEntry</span></a>.
 
2164
</td>
 
2165
</tr>
 
2166
</tbody>
 
2167
</table></div>
 
2168
</div>
 
2169
<hr>
 
2170
<div class="refsect2" lang="en">
 
2171
<a name="id2581566"></a><h3>
 
2172
<a name="rhythmdb-entry-unref"></a>rhythmdb_entry_unref ()</h3>
 
2173
<a class="indexterm" name="id2581577"></a><pre class="programlisting">void        rhythmdb_entry_unref            (RhythmDB *db,
 
2174
                                             <a href="rhythmbox-rhythmdb.html#RhythmDBEntry">RhythmDBEntry</a> *entry);</pre>
 
2175
<p>
 
2176
Decrease the reference count of the entry, and destroy it if there are
 
2177
no references left.</p>
 
2178
<p>
 
2179
 
 
2180
</p>
 
2181
<div class="variablelist"><table border="0">
 
2182
<col align="left" valign="top">
 
2183
<tbody>
 
2184
<tr>
 
2185
<td>
 
2186
<span class="term"><em class="parameter"><code>db</code></em>&#160;:</span></td>
 
2187
<td> a <span class="type">RhythmDB</span>.
 
2188
</td>
 
2189
</tr>
 
2190
<tr>
 
2191
<td>
 
2192
<span class="term"><em class="parameter"><code>entry</code></em>&#160;:</span></td>
 
2193
<td> a <a href="rhythmbox-rhythmdb.html#RhythmDBEntry"><span class="type">RhythmDBEntry</span></a>.
 
2194
</td>
 
2195
</tr>
 
2196
</tbody>
 
2197
</table></div>
 
2198
</div>
 
2199
</div>
 
2200
</div>
 
2201
<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle">
 
2202
<td align="left"><a accesskey="p" href="rhythmbox-rhythmdb-tree.html"><b>&lt;&lt;&#160;rhythmdb-tree</b></a></td>
 
2203
<td align="right"><a accesskey="n" href="ch06.html"><b>Shell&#160;&gt;&gt;</b></a></td>
 
2204
</tr></table>
 
2205
</body>
 
2206
</html>