2006-12-12 James Livingston <doclivingston@gmail.com>
[rhythmbox.git] / doc / reference / tmpl / rhythmdb.sgml
blob0ce30aac4e1e36d7a90079a603a916fe704ec51e
1 <!-- ##### SECTION Title ##### -->
2 rhythmdb
4 <!-- ##### SECTION Short_Description ##### -->
7 <!-- ##### SECTION Long_Description ##### -->
8 <para>
10 </para>
12 <!-- ##### SECTION See_Also ##### -->
13 <para>
15 </para>
17 <!-- ##### SECTION Stability_Level ##### -->
20 <!-- ##### MACRO RHYTHMDB_TYPE ##### -->
21 <para>
23 </para>
27 <!-- ##### MACRO RHYTHMDB ##### -->
28 <para>
30 </para>
32 @o:
35 <!-- ##### MACRO RHYTHMDB_IS ##### -->
36 <para>
38 </para>
40 @o:
43 <!-- ##### MACRO RHYTHMDB_GET_CLASS ##### -->
44 <para>
46 </para>
48 @o:
51 <!-- ##### TYPEDEF RhythmDBEntryType ##### -->
52 <para>
54 </para>
57 <!-- ##### MACRO RHYTHMDB_ENTRY_TYPE_SONG ##### -->
58 <para>
60 </para>
64 <!-- ##### ENUM RhythmDBQueryType ##### -->
65 <para>
67 </para>
69 @RHYTHMDB_QUERY_END:
70 @RHYTHMDB_QUERY_DISJUNCTION:
71 @RHYTHMDB_QUERY_SUBQUERY:
72 @RHYTHMDB_QUERY_PROP_EQUALS:
73 @RHYTHMDB_QUERY_PROP_LIKE:
74 @RHYTHMDB_QUERY_PROP_NOT_LIKE:
75 @RHYTHMDB_QUERY_PROP_PREFIX:
76 @RHYTHMDB_QUERY_PROP_SUFFIX:
77 @RHYTHMDB_QUERY_PROP_GREATER:
78 @RHYTHMDB_QUERY_PROP_LESS:
79 @RHYTHMDB_QUERY_PROP_CURRENT_TIME_WITHIN:
80 @RHYTHMDB_QUERY_PROP_CURRENT_TIME_NOT_WITHIN:
81 @RHYTHMDB_QUERY_PROP_YEAR_EQUALS:
82 @RHYTHMDB_QUERY_PROP_YEAR_GREATER:
83 @RHYTHMDB_QUERY_PROP_YEAR_LESS:
85 <!-- ##### ENUM RhythmDBPropType ##### -->
86 <para>
88 </para>
90 @RHYTHMDB_PROP_TYPE:
91 @RHYTHMDB_PROP_ENTRY_ID:
92 @RHYTHMDB_PROP_TITLE:
93 @RHYTHMDB_PROP_GENRE:
94 @RHYTHMDB_PROP_ARTIST:
95 @RHYTHMDB_PROP_ALBUM:
96 @RHYTHMDB_PROP_TRACK_NUMBER:
97 @RHYTHMDB_PROP_DISC_NUMBER:
98 @RHYTHMDB_PROP_DURATION:
99 @RHYTHMDB_PROP_FILE_SIZE:
100 @RHYTHMDB_PROP_LOCATION:
101 @RHYTHMDB_PROP_MOUNTPOINT:
102 @RHYTHMDB_PROP_MTIME:
103 @RHYTHMDB_PROP_FIRST_SEEN:
104 @RHYTHMDB_PROP_LAST_SEEN:
105 @RHYTHMDB_PROP_RATING:
106 @RHYTHMDB_PROP_PLAY_COUNT:
107 @RHYTHMDB_PROP_LAST_PLAYED:
108 @RHYTHMDB_PROP_BITRATE:
109 @RHYTHMDB_PROP_DATE:
110 @RHYTHMDB_PROP_TRACK_GAIN:
111 @RHYTHMDB_PROP_TRACK_PEAK:
112 @RHYTHMDB_PROP_ALBUM_GAIN:
113 @RHYTHMDB_PROP_ALBUM_PEAK:
114 @RHYTHMDB_PROP_MIMETYPE:
115 @RHYTHMDB_PROP_TITLE_SORT_KEY:
116 @RHYTHMDB_PROP_GENRE_SORT_KEY:
117 @RHYTHMDB_PROP_ARTIST_SORT_KEY:
118 @RHYTHMDB_PROP_ALBUM_SORT_KEY:
119 @RHYTHMDB_PROP_TITLE_FOLDED:
120 @RHYTHMDB_PROP_GENRE_FOLDED:
121 @RHYTHMDB_PROP_ARTIST_FOLDED:
122 @RHYTHMDB_PROP_ALBUM_FOLDED:
123 @RHYTHMDB_PROP_LAST_PLAYED_STR:
124 @RHYTHMDB_PROP_HIDDEN:
125 @RHYTHMDB_PROP_PLAYBACK_ERROR:
126 @RHYTHMDB_PROP_FIRST_SEEN_STR:
127 @RHYTHMDB_PROP_LAST_SEEN_STR:
128 @RHYTHMDB_PROP_SEARCH_MATCH:
129 @RHYTHMDB_PROP_YEAR:
130 @RHYTHMDB_PROP_STATUS:
131 @RHYTHMDB_PROP_DESCRIPTION:
132 @RHYTHMDB_PROP_SUBTITLE:
133 @RHYTHMDB_PROP_SUMMARY:
134 @RHYTHMDB_PROP_LANG:
135 @RHYTHMDB_PROP_COPYRIGHT:
136 @RHYTHMDB_PROP_IMAGE:
137 @RHYTHMDB_PROP_POST_TIME:
138 @RHYTHMDB_PROP_MUSICBRAINZ_TRACKID:
139 @RHYTHMDB_NUM_PROPERTIES:
141 <!-- ##### MACRO RHYTHMDB_TYPE_QUERY ##### -->
142 <para>
144 </para>
148 <!-- ##### STRUCT RhythmDBQueryData ##### -->
149 <para>
151 </para>
153 @type:
154 @propid:
155 @val:
156 @subquery:
158 <!-- ##### TYPEDEF RhythmDBEntry ##### -->
159 <para>
161 </para>
164 <!-- ##### STRUCT RhythmDBEntryChange ##### -->
165 <para>
167 </para>
169 @prop:
170 @old:
171 @new:
173 <!-- ##### FUNCTION rhythmdb_entry_get ##### -->
174 <para>
176 </para>
178 @db:
179 @entry:
180 @propid:
181 @val:
184 <!-- ##### FUNCTION rhythmdb_entry_get_string ##### -->
185 <para>
187 </para>
189 @entry:
190 @propid:
191 @Returns:
194 <!-- ##### FUNCTION rhythmdb_entry_get_boolean ##### -->
195 <para>
197 </para>
199 @entry:
200 @propid:
201 @Returns:
204 <!-- ##### FUNCTION rhythmdb_entry_get_uint64 ##### -->
205 <para>
207 </para>
209 @entry:
210 @propid:
211 @Returns:
214 <!-- ##### FUNCTION rhythmdb_entry_get_ulong ##### -->
215 <para>
217 </para>
219 @entry:
220 @propid:
221 @Returns:
224 <!-- ##### FUNCTION rhythmdb_entry_get_double ##### -->
225 <para>
227 </para>
229 @entry:
230 @propid:
231 @Returns:
234 <!-- ##### FUNCTION rb_refstring_get ##### -->
235 <para>
237 </para>
239 @val:
240 @Returns:
243 <!-- ##### FUNCTION rb_refstring_get_sort_key ##### -->
244 <para>
246 </para>
248 @val:
249 @Returns:
252 <!-- ##### FUNCTION rb_refstring_get_folded ##### -->
253 <para>
255 </para>
257 @val:
258 @Returns:
261 <!-- ##### ENUM RhythmDBError ##### -->
262 <para>
264 </para>
266 @RHYTHMDB_ERROR_ACCESS_FAILED:
268 <!-- ##### MACRO RHYTHMDB_ERROR ##### -->
269 <para>
271 </para>
275 <!-- ##### FUNCTION rhythmdb_error_quark ##### -->
276 <para>
278 </para>
280 @Returns:
283 <!-- ##### TYPEDEF RhythmDBPrivate ##### -->
284 <para>
286 </para>
289 <!-- ##### FUNCTION rhythmdb_get_type ##### -->
290 <para>
292 </para>
294 @Returns:
297 <!-- ##### FUNCTION rhythmdb_new ##### -->
298 <para>
300 </para>
302 @name:
303 @Returns:
306 <!-- ##### FUNCTION rhythmdb_shutdown ##### -->
307 <para>
309 </para>
311 @db:
314 <!-- ##### FUNCTION rhythmdb_load ##### -->
315 <para>
317 </para>
319 @db:
322 <!-- ##### FUNCTION rhythmdb_save ##### -->
323 <para>
325 </para>
327 @db:
330 <!-- ##### FUNCTION rhythmdb_save_async ##### -->
331 <para>
333 </para>
335 @db:
338 <!-- ##### FUNCTION rhythmdb_commit ##### -->
339 <para>
341 </para>
343 @db:
346 <!-- ##### FUNCTION rhythmdb_entry_is_editable ##### -->
347 <para>
349 </para>
351 @db:
352 @entry:
353 @Returns:
356 <!-- ##### FUNCTION rhythmdb_entry_new ##### -->
357 <para>
359 </para>
361 @db:
362 @type:
363 @uri:
364 @Returns:
367 <!-- ##### FUNCTION rhythmdb_add_uri ##### -->
368 <para>
370 </para>
372 @db:
373 @uri:
376 <!-- ##### FUNCTION rhythmdb_entry_set ##### -->
377 <para>
379 </para>
381 @db:
382 @entry:
383 @propid:
384 @value:
387 <!-- ##### FUNCTION rhythmdb_entry_delete ##### -->
388 <para>
390 </para>
392 @db:
393 @entry:
396 <!-- ##### FUNCTION rhythmdb_entry_delete_by_type ##### -->
397 <para>
399 </para>
401 @db:
402 @type:
405 <!-- ##### FUNCTION rhythmdb_entry_lookup_by_location ##### -->
406 <para>
408 </para>
410 @db:
411 @uri:
412 @Returns:
415 <!-- ##### FUNCTION rhythmdb_evaluate_query ##### -->
416 <para>
418 </para>
420 @db:
421 @query:
422 @entry:
423 @Returns:
426 <!-- ##### FUNCTION rhythmdb_entry_foreach ##### -->
427 <para>
429 </para>
431 @db:
432 @func:
433 @data:
436 <!-- ##### FUNCTION rhythmdb_do_full_query ##### -->
437 <para>
439 </para>
441 @db:
442 @results:
443 @Varargs:
446 <!-- ##### FUNCTION rhythmdb_do_full_query_parsed ##### -->
447 <para>
449 </para>
451 @db:
452 @results:
453 @query:
456 <!-- ##### FUNCTION rhythmdb_do_full_query_async ##### -->
457 <para>
459 </para>
461 @db:
462 @results:
463 @Varargs:
466 <!-- ##### FUNCTION rhythmdb_do_full_query_async_parsed ##### -->
467 <para>
469 </para>
471 @db:
472 @results:
473 @query:
476 <!-- ##### FUNCTION rhythmdb_query_parse ##### -->
477 <para>
479 </para>
481 @db:
482 @Varargs:
483 @Returns:
486 <!-- ##### FUNCTION rhythmdb_query_append ##### -->
487 <para>
489 </para>
491 @db:
492 @query:
493 @Varargs:
496 <!-- ##### FUNCTION rhythmdb_query_free ##### -->
497 <para>
499 </para>
501 @query:
504 <!-- ##### FUNCTION rhythmdb_query_copy ##### -->
505 <para>
507 </para>
509 @array:
510 @Returns:
513 <!-- ##### FUNCTION rhythmdb_query_serialize ##### -->
514 <para>
516 </para>
518 @db:
519 @query:
520 @node:
523 <!-- ##### FUNCTION rhythmdb_query_deserialize ##### -->
524 <para>
526 </para>
528 @db:
529 @node:
530 @Returns:
533 <!-- ##### FUNCTION rhythmdb_emit_entry_added ##### -->
534 <para>
536 </para>
538 @db:
539 @entry:
542 <!-- ##### FUNCTION rhythmdb_emit_entry_deleted ##### -->
543 <para>
545 </para>
547 @db:
548 @entry:
551 <!-- ##### FUNCTION rhythmdb_is_busy ##### -->
552 <para>
554 </para>
556 @db:
557 @Returns:
560 <!-- ##### FUNCTION rhythmdb_compute_status_normal ##### -->
561 <para>
563 </para>
565 @n_songs:
566 @duration:
567 @size:
568 @singular:
569 @plural:
570 @Returns:
573 <!-- ##### FUNCTION rhythmdb_entry_register_type ##### -->
574 <para>
576 </para>
578 @db:
579 @name:
580 @Returns:
583 <!-- ##### FUNCTION rhythmdb_entry_song_get_type ##### -->
584 <para>
586 </para>
588 @Returns:
591 <!-- ##### FUNCTION rhythmdb_get_property_type ##### -->
592 <para>
594 </para>
596 @db:
597 @property_id:
598 @Returns:
601 <!-- ##### FUNCTION rhythmdb_entry_ref ##### -->
602 <para>
604 </para>
606 @entry:
607 @Returns:
610 <!-- ##### FUNCTION rhythmdb_entry_unref ##### -->
611 <para>
613 </para>
615 @entry: