1
<!-- ##### SECTION Title ##### -->
4
<!-- ##### SECTION Short_Description ##### -->
7
<!-- ##### SECTION Long_Description ##### -->
13
<!-- ##### SECTION See_Also ##### -->
19
<!-- ##### SECTION Stability_Level ##### -->
22
<!-- ##### SECTION Image ##### -->
25
<!-- ##### STRUCT RhythmDB ##### -->
31
<!-- ##### SIGNAL RhythmDB::create-mount-op ##### -->
36
@rhythmdb: the object which received the signal.
39
<!-- ##### SIGNAL RhythmDB::entry-added ##### -->
44
@rhythmdb: the object which received the signal.
47
<!-- ##### SIGNAL RhythmDB::entry-changed ##### -->
52
@rhythmdb: the object which received the signal.
56
<!-- ##### SIGNAL RhythmDB::entry-deleted ##### -->
61
@rhythmdb: the object which received the signal.
64
<!-- ##### SIGNAL RhythmDB::entry-extra-metadata-gather ##### -->
69
@rhythmdb: the object which received the signal.
73
<!-- ##### SIGNAL RhythmDB::entry-extra-metadata-notify ##### -->
78
@rhythmdb: the object which received the signal.
83
<!-- ##### SIGNAL RhythmDB::entry-extra-metadata-request ##### -->
88
@rhythmdb: the object which received the signal.
92
<!-- ##### SIGNAL RhythmDB::entry-keyword-added ##### -->
97
@rhythmdb: the object which received the signal.
101
<!-- ##### SIGNAL RhythmDB::entry-keyword-removed ##### -->
106
@rhythmdb: the object which received the signal.
110
<!-- ##### SIGNAL RhythmDB::load-complete ##### -->
115
@rhythmdb: the object which received the signal.
117
<!-- ##### SIGNAL RhythmDB::read-only ##### -->
122
@rhythmdb: the object which received the signal.
125
<!-- ##### SIGNAL RhythmDB::save-complete ##### -->
130
@rhythmdb: the object which received the signal.
132
<!-- ##### SIGNAL RhythmDB::save-error ##### -->
137
@rhythmdb: the object which received the signal.
141
<!-- ##### ARG RhythmDB:dry-run ##### -->
146
<!-- ##### ARG RhythmDB:name ##### -->
151
<!-- ##### ARG RhythmDB:no-update ##### -->
156
<!-- ##### STRUCT RhythmDBEntry ##### -->
162
<!-- ##### TYPEDEF RhythmDBQuery ##### -->
168
<!-- ##### ENUM RhythmDBQueryType ##### -->
174
@RHYTHMDB_QUERY_DISJUNCTION:
175
@RHYTHMDB_QUERY_SUBQUERY:
176
@RHYTHMDB_QUERY_PROP_EQUALS:
177
@RHYTHMDB_QUERY_PROP_NOT_EQUAL:
178
@RHYTHMDB_QUERY_PROP_LIKE:
179
@RHYTHMDB_QUERY_PROP_NOT_LIKE:
180
@RHYTHMDB_QUERY_PROP_PREFIX:
181
@RHYTHMDB_QUERY_PROP_SUFFIX:
182
@RHYTHMDB_QUERY_PROP_GREATER:
183
@RHYTHMDB_QUERY_PROP_LESS:
184
@RHYTHMDB_QUERY_PROP_CURRENT_TIME_WITHIN:
185
@RHYTHMDB_QUERY_PROP_CURRENT_TIME_NOT_WITHIN:
186
@RHYTHMDB_QUERY_PROP_YEAR_EQUALS:
187
@RHYTHMDB_QUERY_PROP_YEAR_NOT_EQUAL:
188
@RHYTHMDB_QUERY_PROP_YEAR_GREATER:
189
@RHYTHMDB_QUERY_PROP_YEAR_LESS:
191
<!-- ##### ENUM RhythmDBPropType ##### -->
197
@RHYTHMDB_PROP_ENTRY_ID:
198
@RHYTHMDB_PROP_TITLE:
199
@RHYTHMDB_PROP_GENRE:
200
@RHYTHMDB_PROP_ARTIST:
201
@RHYTHMDB_PROP_ALBUM:
202
@RHYTHMDB_PROP_TRACK_NUMBER:
203
@RHYTHMDB_PROP_DISC_NUMBER:
204
@RHYTHMDB_PROP_DURATION:
205
@RHYTHMDB_PROP_FILE_SIZE:
206
@RHYTHMDB_PROP_LOCATION:
207
@RHYTHMDB_PROP_MOUNTPOINT:
208
@RHYTHMDB_PROP_MTIME:
209
@RHYTHMDB_PROP_FIRST_SEEN:
210
@RHYTHMDB_PROP_LAST_SEEN:
211
@RHYTHMDB_PROP_RATING:
212
@RHYTHMDB_PROP_PLAY_COUNT:
213
@RHYTHMDB_PROP_LAST_PLAYED:
214
@RHYTHMDB_PROP_BITRATE:
216
@RHYTHMDB_PROP_TRACK_GAIN:
217
@RHYTHMDB_PROP_TRACK_PEAK:
218
@RHYTHMDB_PROP_ALBUM_GAIN:
219
@RHYTHMDB_PROP_ALBUM_PEAK:
220
@RHYTHMDB_PROP_MEDIA_TYPE:
221
@RHYTHMDB_PROP_TITLE_SORT_KEY:
222
@RHYTHMDB_PROP_GENRE_SORT_KEY:
223
@RHYTHMDB_PROP_ARTIST_SORT_KEY:
224
@RHYTHMDB_PROP_ALBUM_SORT_KEY:
225
@RHYTHMDB_PROP_TITLE_FOLDED:
226
@RHYTHMDB_PROP_GENRE_FOLDED:
227
@RHYTHMDB_PROP_ARTIST_FOLDED:
228
@RHYTHMDB_PROP_ALBUM_FOLDED:
229
@RHYTHMDB_PROP_LAST_PLAYED_STR:
230
@RHYTHMDB_PROP_HIDDEN:
231
@RHYTHMDB_PROP_PLAYBACK_ERROR:
232
@RHYTHMDB_PROP_FIRST_SEEN_STR:
233
@RHYTHMDB_PROP_LAST_SEEN_STR:
234
@RHYTHMDB_PROP_SEARCH_MATCH:
236
@RHYTHMDB_PROP_KEYWORD:
237
@RHYTHMDB_PROP_STATUS:
238
@RHYTHMDB_PROP_DESCRIPTION:
239
@RHYTHMDB_PROP_SUBTITLE:
240
@RHYTHMDB_PROP_SUMMARY:
242
@RHYTHMDB_PROP_COPYRIGHT:
243
@RHYTHMDB_PROP_IMAGE:
244
@RHYTHMDB_PROP_POST_TIME:
245
@RHYTHMDB_PROP_MUSICBRAINZ_TRACKID:
246
@RHYTHMDB_PROP_MUSICBRAINZ_ARTISTID:
247
@RHYTHMDB_PROP_MUSICBRAINZ_ALBUMID:
248
@RHYTHMDB_PROP_MUSICBRAINZ_ALBUMARTISTID:
249
@RHYTHMDB_PROP_ARTIST_SORTNAME:
250
@RHYTHMDB_PROP_ALBUM_SORTNAME:
251
@RHYTHMDB_PROP_ARTIST_SORTNAME_SORT_KEY:
252
@RHYTHMDB_PROP_ARTIST_SORTNAME_FOLDED:
253
@RHYTHMDB_PROP_ALBUM_SORTNAME_SORT_KEY:
254
@RHYTHMDB_PROP_ALBUM_SORTNAME_FOLDED:
255
@RHYTHMDB_PROP_COMMENT:
256
@RHYTHMDB_PROP_ALBUM_ARTIST:
257
@RHYTHMDB_PROP_ALBUM_ARTIST_SORT_KEY:
258
@RHYTHMDB_PROP_ALBUM_ARTIST_FOLDED:
259
@RHYTHMDB_PROP_ALBUM_ARTIST_SORTNAME:
260
@RHYTHMDB_PROP_ALBUM_ARTIST_SORTNAME_SORT_KEY:
261
@RHYTHMDB_PROP_ALBUM_ARTIST_SORTNAME_FOLDED:
263
@RHYTHMDB_NUM_PROPERTIES:
265
<!-- ##### MACRO RHYTHMDB_PROP_STREAM_SONG_TITLE ##### -->
272
<!-- ##### MACRO RHYTHMDB_PROP_STREAM_SONG_ARTIST ##### -->
279
<!-- ##### MACRO RHYTHMDB_PROP_STREAM_SONG_ALBUM ##### -->
286
<!-- ##### STRUCT RhythmDBQueryData ##### -->
296
<!-- ##### STRUCT RhythmDBEntryChange ##### -->
305
<!-- ##### FUNCTION rhythmdb_entry_get_string ##### -->
315
<!-- ##### FUNCTION rhythmdb_entry_get_refstring ##### -->
325
<!-- ##### FUNCTION rhythmdb_entry_dup_string ##### -->
335
<!-- ##### FUNCTION rhythmdb_entry_get_boolean ##### -->
345
<!-- ##### FUNCTION rhythmdb_entry_get_uint64 ##### -->
355
<!-- ##### FUNCTION rhythmdb_entry_get_ulong ##### -->
365
<!-- ##### FUNCTION rhythmdb_entry_get_double ##### -->
375
<!-- ##### FUNCTION rhythmdb_entry_get_object ##### -->
385
<!-- ##### FUNCTION rhythmdb_entry_get_entry_type ##### -->
394
<!-- ##### ENUM RhythmDBError ##### -->
399
@RHYTHMDB_ERROR_ACCESS_FAILED:
401
<!-- ##### FUNCTION rhythmdb_shutdown ##### -->
409
<!-- ##### FUNCTION rhythmdb_load ##### -->
417
<!-- ##### FUNCTION rhythmdb_save ##### -->
425
<!-- ##### FUNCTION rhythmdb_save_async ##### -->
433
<!-- ##### FUNCTION rhythmdb_start_action_thread ##### -->
441
<!-- ##### FUNCTION rhythmdb_commit ##### -->
449
<!-- ##### FUNCTION rhythmdb_entry_new ##### -->
460
<!-- ##### FUNCTION rhythmdb_entry_example_new ##### -->
471
<!-- ##### FUNCTION rhythmdb_add_uri ##### -->
480
<!-- ##### FUNCTION rhythmdb_add_uri_with_types ##### -->
492
<!-- ##### FUNCTION rhythmdb_entry_get ##### -->
503
<!-- ##### FUNCTION rhythmdb_entry_set ##### -->
514
<!-- ##### FUNCTION rhythmdb_entry_get_type_data ##### -->
524
<!-- ##### MACRO RHYTHMDB_ENTRY_GET_TYPE_DATA ##### -->
533
<!-- ##### FUNCTION rhythmdb_entry_delete ##### -->
542
<!-- ##### FUNCTION rhythmdb_entry_delete_by_type ##### -->
551
<!-- ##### FUNCTION rhythmdb_entry_move_to_trash ##### -->
560
<!-- ##### FUNCTION rhythmdb_entry_lookup_by_location ##### -->
570
<!-- ##### FUNCTION rhythmdb_entry_lookup_by_id ##### -->
580
<!-- ##### FUNCTION rhythmdb_entry_lookup_from_string ##### -->
591
<!-- ##### FUNCTION rhythmdb_evaluate_query ##### -->
602
<!-- ##### FUNCTION rhythmdb_entry_foreach ##### -->
612
<!-- ##### FUNCTION rhythmdb_entry_count ##### -->
621
<!-- ##### FUNCTION rhythmdb_entry_foreach_by_type ##### -->
632
<!-- ##### FUNCTION rhythmdb_entry_count_by_type ##### -->
642
<!-- ##### FUNCTION rhythmdb_entry_keyword_add ##### -->
653
<!-- ##### FUNCTION rhythmdb_entry_keyword_remove ##### -->
664
<!-- ##### FUNCTION rhythmdb_entry_keyword_has ##### -->
675
<!-- ##### FUNCTION rhythmdb_do_full_query ##### -->
685
<!-- ##### FUNCTION rhythmdb_do_full_query_parsed ##### -->
695
<!-- ##### FUNCTION rhythmdb_do_full_query_async ##### -->
705
<!-- ##### FUNCTION rhythmdb_do_full_query_async_parsed ##### -->
715
<!-- ##### FUNCTION rhythmdb_query_parse ##### -->
725
<!-- ##### FUNCTION rhythmdb_query_append ##### -->
735
<!-- ##### FUNCTION rhythmdb_query_append_params ##### -->
747
<!-- ##### FUNCTION rhythmdb_query_append_prop_multiple ##### -->
758
<!-- ##### FUNCTION rhythmdb_query_concatenate ##### -->
767
<!-- ##### FUNCTION rhythmdb_query_free ##### -->
775
<!-- ##### FUNCTION rhythmdb_query_copy ##### -->
784
<!-- ##### FUNCTION rhythmdb_query_preprocess ##### -->
793
<!-- ##### FUNCTION rhythmdb_query_serialize ##### -->
803
<!-- ##### FUNCTION rhythmdb_query_deserialize ##### -->
813
<!-- ##### FUNCTION rhythmdb_query_to_string ##### -->
823
<!-- ##### FUNCTION rhythmdb_query_is_time_relative ##### -->
833
<!-- ##### FUNCTION rhythmdb_nice_elt_name_from_propid ##### -->
843
<!-- ##### FUNCTION rhythmdb_propid_from_nice_elt_name ##### -->
853
<!-- ##### FUNCTION rhythmdb_entry_request_extra_metadata ##### -->
864
<!-- ##### FUNCTION rhythmdb_entry_gather_metadata ##### -->
874
<!-- ##### FUNCTION rhythmdb_emit_entry_extra_metadata_notify ##### -->
885
<!-- ##### FUNCTION rhythmdb_is_busy ##### -->
894
<!-- ##### FUNCTION rhythmdb_compute_status_normal ##### -->
907
<!-- ##### FUNCTION rhythmdb_register_entry_type ##### -->
916
<!-- ##### FUNCTION rhythmdb_entry_type_get_by_name ##### -->
926
<!-- ##### FUNCTION rhythmdb_get_property_type ##### -->
936
<!-- ##### FUNCTION rhythmdb_entry_ref ##### -->
945
<!-- ##### FUNCTION rhythmdb_entry_unref ##### -->
953
<!-- ##### FUNCTION rhythmdb_entry_is_lossless ##### -->