1 2006-12-12 James Livingston <doclivingston@gmail.com>
3 * sources/rb-ipod-source.c: (rb_ipod_load_songs): hopefully fix
4 some corrupt-ipod-db issues. from #358855
6 2006-12-12 James Livingston <doclivingston@gmail.com>
8 * widgets/rb-entry-view.c: (rb_entry_view_set_model_internal): don't
9 try to re-sort the model if it's NULL. Fixes #367646
11 2006-12-12 James Livingston <doclivingston@gmail.com>
13 * data/rhythmbox.schemas:
14 * lib/rb-util.c: (_threads_enter), (_threads_leave),
16 * plugins/magnatune/magnatune-prefs.glade:
17 * plugins/magnatune/magnatune-purchase.glade:
18 * plugins/magnatune/magnatune/MagnatuneSource.py:
19 * plugins/magnatune/magnatune/__init__.py: add code to use
20 Gnome-Keyring to store the user's credit card details, but force it to
21 be disabled (due to bugs). From #377354
23 2006-12-12 Jonathan Matthew <jonathan@kaolin.wh9.net>
25 * rhythmdb/rhythmdb-query-model.c:
26 (rhythmdb_query_model_remove_from_main_list):
27 Re-find the sequence node pointer after emitting the row-deleted
28 signal, as signal handlers may cause it to change. Fixes #370443.
30 2006-12-11 James Livingston <doclivingston@gmail.com>
32 * sources/rb-daap-source.c: (connection_auth_cb): fix a code path
33 trying to free an unset pointer. Fixes #384208
35 2006-12-11 James Livingston <doclivingston@gmail.com>
37 * sources/rb-library-source.c: (build_filename): deal with URIs that
38 don't have a period in them. Fixes #384016
40 2006-12-11 Jonathan Matthew <jonathan@kaolin.wh9.net>
42 * backends/gstreamer/rb-encoder-gst.c: (progress_timeout_cb):
43 Use G_GINT64_FORMAT instead of %lld.
45 2006-12-11 Jonathan Matthew <jonathan@kaolin.wh9.net>
47 * backends/gstreamer/rb-encoder-gst.c: (progress_timeout_cb),
48 (rb_encoder_gst_encode):
49 When copying rather than transcoding, do position queries in byte
50 format rather than time.
52 * sources/rb-ipod-source.c: (impl_receive_drag):
53 * sources/rb-library-source.c: (impl_receive_drag):
54 Handle application/x-rhythmbox-entry drops. Fixes drag and drop from
55 daap shares to library.
57 2006-12-10 James Livingston <doclivingston@gmail.com>
59 * podcast/rb-podcast-manager.c: (rb_podcast_manager_add_post): add
60 posts that are missing their date tag.
62 2006-12-09 James Livingston <doclivingston@gmail.com>
64 * shell/rb-statusbar.c: (rb_statusbar_init): revert the patch from bug
67 2006-12-09 James Livingston <doclivingston@gmail.com>
70 * data/rhythmbox.schemas:
71 * plugins/Makefile.am:
72 * plugins/magnatune/magnatune-prefs.glade:
73 * plugins/magnatune/magnatune-purchase.glade:
74 * plugins/magnatune/magnatune/MagnatuneSource.py:
75 * plugins/magnatune/magnatune/__init__.py: revert some stuff I
78 2006-12-09 James Livingston <doclivingston@gmail.com>
80 * rhythmdb/rhythmdb-property-model.c:
81 (rhythmdb_property_model_finalize): fix a memory leak.
83 2006-12-09 James Livingston <doclivingston@gmail.com>
85 * sources/rb-ipod-source.c: (rb_ipod_source_set_ipod_name): don't
86 crash if the iPod's name set to is NULL #358855
88 2006-12-05 Jonathan Matthew <jonathan@kaolin.wh9.net>
90 * widgets/rb-property-view.c: (rb_property_view_class_init),
91 (rb_property_view_dispose), (rb_property_view_finalize):
92 Disconnect signal handlers in dispose, not finalize. Fixes #374892.
94 2006-12-04 James Livingston <doclivingston@gmail.com>
96 patch by: Alex Lancaster <alexl@users.sourceforge.net>
98 * rhythmdb/rhythmdb-query.c: (rhythmdb_query_preprocess):
99 * widgets/rb-query-creator-properties.c:
100 (yearCriteriaSetWidgetData), (yearCriteriaGetWidgetData): stop some
101 critical warnings emitted if a YEAR=0 query was done. Fixes #381839
103 2006-12-03 James Livingston <doclivingston@gmail.com>
105 * lib/rb-file-helpers.c: (_rb_uri_recurse_data_free),
106 (rb_uri_handle_recursively_cb), (rb_uri_handle_recursively),
107 (_recurse_async_idle_cb), (_recurse_async_data_free),
108 (_recurse_async_cb), (_recurse_async_func),
109 (rb_uri_handle_recursively_async):
110 * lib/rb-file-helpers.h:
111 * plugins/rb-plugins-engine.c: (rb_plugins_engine_load_cb),
112 (rb_plugins_engine_load_dir):
113 * rhythmdb/rhythmdb-monitor.c: (rhythmdb_init_monitoring),
114 (rhythmdb_stop_monitoring), (monitor_entry_file),
115 (monitor_subdirectory), (monitor_library_directory),
116 (_monitor_entry_thread), (rhythmdb_start_monitoring),
117 (rhythmdb_monitor_uri_path):
118 * rhythmdb/rhythmdb.c:
119 * sources/rb-static-playlist-source.c:
120 (rb_static_playlist_source_add_location_cb),
121 (rb_static_playlist_source_add_location): add a utility function for
122 doing directory recusion asynchronously, and use it everywhere instead
123 of the old one. Removes one of our biggest do-IO-synchronously issues.
126 2006-12-03 James Livingston <doclivingston@gmail.com>
128 * plugins/audioscrobbler/Makefile.am:
129 * plugins/audioscrobbler/audioscrobbler-ui.xml:
130 * plugins/audioscrobbler/rb-audioscrobbler-plugin.c:
131 (impl_activate), (impl_deactivate):
132 * plugins/audioscrobbler/rb-lastfm-source.c:
133 (rb_lastfm_source_class_init), (rb_lastfm_source_constructor),
134 (impl_activate), (impl_show_popup), (show_entry_popup): add a context
135 menu to the last.fm source, and allow deletion of stations.
137 2006-12-02 Jonathan Matthew <jonathan@kaolin.wh9.net>
139 * plugins/rb-plugin-manager.c: (plugin_manager_populate_lists):
140 gtk_tree_view_get_model doesn't ref the model, so don't unref it
141 when we're done with it.
143 2006-12-01 Jonathan Matthew <jonathan@kaolin.wh9.net>
145 * rhythmdb/rhythmdb.c:
146 (rhythmdb_execute_load), (rhythmdb_add_uri_with_type):
147 Handle rb_uri_resolve_symlink returning NULL, as it does when it
148 encounters a symlink loop. Create import errors for such URIs.
151 2006-11-30 Jonathan Matthew <jonathan@kaolin.wh9.net>
153 patch started by: James Livingston <doclivingston@gmail.com>
155 * podcast/rb-podcast-manager.c: (*)
156 * podcast/rb-podcast-manager.h:
157 * sources/rb-podcast-source.c: (rb_podcast_source_set_property),
158 (rb_podcast_source_cmd_cancel_download),
159 (rb_podcast_source_load_finish_cb),
160 (rb_podcast_source_feed_updates_available_cb),
161 (rb_podcast_source_shutdown), (rb_podcast_source_cmd_new_podcast):
162 Remove mutexes and async queues from the podcast manager; just do
163 everything on the main thread and use idle handlers to marshal things
164 across to it. Should fix crashes on FreeBSD, various other weird
165 stuff, and bug 337332.
167 2006-11-29 James Livingston <doclivingston@gmail.com>
169 patch from: Glynn Foster <glynn.foster@sun.com>
171 * metadata/sj-metadata-musicbrainz.c:
172 (sj_metadata_musicbrainz_instance_init): fix a typo in the proxy
175 2006-11-29 James Livingston <doclivingston@gmail.com>
177 patch by: Thomas Thurman <thomas@thurman.org.uk>
179 * data/glade/song-info-multiple.glade:
180 * data/glade/song-info.glade:
181 * data/glade/station-properties.glade: Make the return key close these
182 dialogs. Fixes #379148
184 2006-11-29 James Livingston <doclivingston@gmail.com>
186 patch by: Ingo Planz <planz@mi-fu-berlin.de>
188 * podcast/rb-podcast-parse.c: (rb_podcast_parse_date): Make the
189 podcast plugin set unknown dates to the current time, not the start of
190 the epoch. Fixes #367572.
192 2006-11-29 James Livingston <doclivingston@gmail.com>
194 * lib/rb-tree-dnd.c: (rb_tree_drag_source_row_draggable),
195 (rb_tree_drag_source_drag_data_delete),
196 (rb_tree_drag_source_drag_data_get),
197 (rb_tree_drag_dest_drag_data_received),
198 (rb_tree_drag_dest_row_drop_possible),
199 (rb_tree_drag_dest_row_drop_position), (rb_tree_dnd_drag_drop_cb):
201 * rhythmdb/rhythmdb-property-model.c:
202 (rhythmdb_property_model_drag_source_init):
203 * rhythmdb/rhythmdb-query-model.c:
204 (rhythmdb_query_model_drag_source_init),
205 (rhythmdb_query_model_drag_dest_init):
206 * sources/rb-sourcelist-model.c:
207 (rb_sourcelist_model_drag_dest_init),
208 (rb_sourcelist_model_drag_source_init): don't use the same method
209 names as the GtkTreeDnd ones, since it break bindings to other
212 * shell/rb-shell.c: (_scan_idle), (rb_shell_constructor): run the
213 removable media scan in an idle callback.
215 2006-11-27 Jonathan Matthew <jonathan@kaolin.wh9.net>
217 * backends/gstreamer/rb-player-gst.c: (rb_player_gst_construct):
218 Use the right variable name when setting the "profile" property on the
219 sink. Fixes #379532 and closes #379314 again.
221 2006-11-27 James Livingston <doclivingston@gmail.com>
223 patch by: Adam Zimmerman <adam_zimmerman@sfu.ca>
225 * plugins/magnatune/magnatune/MagnatuneSource.py: fix a race condition
226 in the Magnatune plugin, from #373684.
228 2006-11-26 James Livingston <doclivingston@gmail.com>
230 patch from Alex Jones <alex@weej.com>
232 * backends/gstreamer/rb-player-gst.c: (rb_player_gst_construct): set
233 the "profile" on the audio sink, if it's present. Fixes #379314.
235 2006-11-23 James Livingston <doclivingston@gmail.com>
237 * bindings/python/rhythmdb.defs:
238 * bindings/python/rhythmdb.override: fix some binding stuff.
240 2006-11-23 James Livingston <doclivingston@gmail.com>
242 patch by: Adam Zimmerman <adam_zimmerman@sfu.ca>
244 * plugins/magnatune/magnatune/MagnatuneSource.py: remove credit card
245 details from debug output. Fixes #378355.
247 2006-11-23 Jonathan Matthew <jonathan@kaolin.wh9.net>
249 * shell/rb-shell-player.c: (rb_shell_player_play):
250 Don't crash if current_playing_source is NULL. Fixes #378195.
252 * plugins/lirc/rb-lirc-plugin.c: (rb_lirc_plugin_read_code):
253 rb_shell_player_play isn't very useful, use _playpause if not
254 already playing instead.
256 2006-11-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
258 * rhythmdb/rhythmdb-property-model.c: (query_model_cb),
259 (rhythmdb_property_model_drag_data_get):
260 * rhythmdb/rhythmdb-query-model.c:
261 (rhythmdb_query_model_drag_data_get),
262 (rhythmdb_query_model_drag_data_received):
263 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_class_init),
264 (rhythmdb_tree_init), (rhythmdb_tree_finalize),
265 (rhythmdb_tree_entry_new_internal), (rhythmdb_tree_entry_delete),
266 (remove_one_song), (rhythmdb_tree_entry_lookup_by_id),
267 (rhythmdb_tree_entry_foreach), (rhythmdb_tree_entry_count),
268 (rhythmdb_tree_entry_foreach_by_type), (count_entries),
269 (rhythmdb_tree_entry_count_by_type):
270 * rhythmdb/rhythmdb.c:
271 * rhythmdb/rhythmdb.h:
272 * daapsharing/rb-daap-share.c: (rb_daap_share_class_init),
273 (rb_daap_share_set_property), (rb_daap_share_get_property),
274 (rb_daap_share_new), (add_entry_to_mlcl), (send_chunked_file),
275 (send_mapped_file), (databases_cb), (db_entry_added_cb),
276 (db_entry_deleted_cb), (rb_daap_share_server_start),
277 (rb_daap_share_server_stop):
278 * daapsharing/rb-daap-share.h:
279 * daapsharing/rb-daap-sharing.c: (create_share):
280 Move id-to-entry map from daap share into rhythmdb.
282 * shell/rb-playlist-manager.c: (create_name_from_selection_data),
283 (rb_playlist_manager_new_playlist_from_selection_data):
284 * sources/rb-auto-playlist-source.c: (impl_receive_drag):
285 * sources/rb-browser-source.c: (rb_browser_source_constructor):
286 * sources/rb-sourcelist-model.c:
287 (rb_sourcelist_model_drag_data_received),
288 (rb_sourcelist_model_row_drop_position),
289 (rb_sourcelist_model_get_drag_target),
290 (rb_sourcelist_model_drag_data_get):
291 * sources/rb-static-playlist-source.c: (impl_receive_drag),
292 (rb_static_playlist_source_add_id_list),
293 (rb_static_playlist_source_add_uri_list):
294 * widgets/rb-entry-view.c:
295 * widgets/rb-property-view.c:
296 Add a new drag-and-drop type: application/x-rhythmbox-entry
297 containing a list of entry IDs, and use it for DnD within the
298 application. Avoids having to pick a URI to use for an entry, so we
299 can make DnD of podcast entries (and anything else where playback URI
300 is not the same as the entry location) work as expected.
303 2006-11-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
305 * shell/rb-shell.c: (rb_shell_present):
306 Clear the skip-taskbar hint when presenting the window. Fixes #377963.
308 2006-11-20 James Livingston <doclivingston@gmail.com>
310 * sources/rb-library-source.c: (impl_paste): don't explode if we can't
311 find the responsible source. Fixes #377029
313 2006-11-19 Jonathan Matthew <jonathan@kaolin.wh9.net>
315 * lib/rb-file-helpers.c: (rb_uri_append_path), (rb_uri_append_uri),
316 (rb_uri_get_dir_name), (rb_uri_get_short_path_name):
317 * lib/rb-file-helpers.h:
318 * sources/rb-ipod-source.c: (ipod_get_filename_for_uri):
319 Implement rb_uri_get_short_path_name to replace
320 gnome_vfs_uri_extract_short_path name with something that doesn't
321 reject unknown URI schemes such as daap://. Fixes #361077.
324 * tests/test-file-helpers.c: (test_get_short_path_name),
325 (START_TEST), (rb_file_helpers_suite), (main):
326 Add tests for the above.
328 2006-11-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
330 * widgets/bacon-volume.c: (bacon_volume_button_class_init),
331 (bacon_volume_button_new), (bacon_volume_button_style_set),
332 (bacon_volume_scale_class_init), (bacon_volume_button_update_icon),
333 (bacon_volume_scale_value_changed),
334 (bacon_volume_button_load_icons):
335 * widgets/bacon-volume.h:
336 Update bacon-volume from libbacon CVS again.
338 2006-11-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
340 * widgets/bacon-volume.c: (bacon_volume_load_icons):
341 Fall back to old icon names if the icon naming spec compliant
342 names don't work. From #369491.
344 2006-11-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
346 * plugins/audiocd/Makefile.am:
347 Stop automake complaining about duplicate definitions.
349 2006-11-17 James Livingston <doclivingston@gmail.com>
351 * sources/rb-ipod-source.c: (rb_ipod_source_dispose),
352 (load_ipod_db_idle_cb), (rb_ipod_load_songs): remove the idle callback
353 when disposing of the source. Fixes #376155
355 * plugins/daap/Makefile.am: fix some distcheck brokenness.
357 2006-11-17 James Livingston <doclivingston@gmail.com>
359 * po/POTFILES.in: add missing files to POTFILES.in. Fixes #375978
361 2006-11-15 Jonathan Matthew <jonathan@kaolin.wh9.net>
363 * shell/rb-playlist-manager.c: (*):
364 General cleanup, add appropriate object references and implement
365 dispose method. Should fix #357099.
367 2006-11-15 James Livingston <doclivingston@gmail.com>
369 patch by: William Lachance <wrlach@gmail.com>
371 * rhythmdb/rhythmdb-query-model.c:
372 (rhythmdb_query_model_album_sort_func): improve sorting when some
373 tracks are missing track/disc number info. Fixes #371322
375 2006-11-14 James Livingston <doclivingston@gmail.com>
377 patch by: Alex Lancaster
379 * podcast/rb-podcast-parse.c: (rb_podcast_parse_date): support podcast
380 episode dates which are missing the seconds. Fixes #373845
382 2006-11-13 James Livingston <doclivingston@gmail.com>
384 * bindings/python/rhythmdb.override: bidn a few other pieces of
387 2006-11-13 Jonathan Matthew <jonathan@kaolin.wh9.net>
389 * shell/rb-statusbar.c: (rb_statusbar_class_init),
390 (rb_statusbar_dispose), (rb_statusbar_finalize),
391 (rb_statusbar_set_property):
392 Remove idle handler in dispose, rather than finalize.
393 Keep references on all referenced objects (duh?).
396 2006-11-12 James Livingston <doclivingston@gmail.com>
398 patch by: Baptiste Mille-Mathias <bmm80@free.fr>
400 * shell/rb-statusbar.c: (rb_statusbar_init): Make the progress bar in
401 the status bar smaller, so it isn't too big. Fixes #368757.
403 2006-11-12 Jonathan Matthew <jonathan@kaolin.wh9.net>
405 * plugins/daap/rb-daap-plugin.c: (mdns_service_added),
406 (mdns_service_removed):
407 Take GDK lock in mDNS callbacks. Fixes UI hangs when DAAP shares
410 2006-11-12 James Livingston <doclivingston@gmail.com>
412 * plugins/audioscrobbler/rb-lastfm-source.c:
413 (rb_lastfm_source_constructor), (rb_lastfm_source_add_station_cb): add
414 more supported last.fm radio things. From #373622
416 2006-11-12 James Livingston <doclivingston@gmail.com>
418 * rhythmdb/rhythmdb.c: check the URI isn't NULL, in case ti got
419 through the earlier checks. Fixes #373605
421 2006-11-12 James Livingston <doclivingston@gmail.com>
423 * sources/rb-library-source.c:
424 (rb_library_source_add_child_source): sort the child-library sources
425 the same as the library by default.
427 2006-11-11 Jonathan Matthew <jonathan@kaolin.wh9.net>
429 * daapsharing/rb-daap-src.c: (rb_daap_src_open):
430 Don't try to report the size if we didn't get one.
431 Fixes server-side decoded playback from mt-daapd (but seeking doesn't
434 2006-11-11 Jonathan Matthew <jonathan@kaolin.wh9.net>
436 * daapsharing/rb-daap-sharing.c:
437 (rb_daap_sharing_default_share_name), (create_share),
438 (share_name_changed_cb):
439 * daapsharing/rb-daap-sharing.h:
440 * plugins/daap/rb-daap-plugin.c: (update_config_widget),
441 (make_config_widget), (impl_create_configure_dialog):
442 Update DAAP preferences widget when displaying it, and
443 populate the share name entry with the default if there's nothing
444 there already. Fixes #340279.
446 2006-11-11 James Livingston <doclivingston@gmail.com>
448 patch by: Adam Zimmerman <adam_zimmerman@sfu.ca>
450 * plugins/magnatune/magnatune/MagnatuneSource.py:
451 * plugins/magnatune/magnatune/__init__.py: Add toolbar actions for
452 Magnatune stuff. From #345783
454 2006-11-10 James Livingston <doclivingston@gmail.com>
456 * plugins/generic-player/rb-nokia770-source.c:
457 (hal_udi_is_nokia770):
458 * plugins/generic-player/rb-psp-source.c: (hal_udi_is_psp):
459 * sources/rb-ipod-source.c: (hal_udi_is_ipod): don't shutdown the HAL
460 context if it wasn't inited. Fixes #372824
462 2006-11-09 Jonathan Matthew <jonathan@kaolin.wh9.net>
464 * plugins/daap/rb-daap-plugin.h:
465 Add the file I missed last time.
467 2006-11-09 Jonathan Matthew <jonathan@kaolin.wh9.net>
470 * backends/gstreamer/Makefile.am:
471 * backends/gstreamer/rb-player-gst.c:
473 * daapsharing/Makefile.am:
474 * daapsharing/rb-daap-connection.c:
475 (rb_daap_connection_disconnect):
476 * daapsharing/rb-daap-src.c: (rb_daap_src_set_plugin),
478 * daapsharing/rb-daap-src.h:
479 * data/glade/Makefile.am:
480 * data/rhythmbox.schemas:
481 * data/ui/Makefile.am:
482 * plugins/Makefile.am:
483 * plugins/daap/.cvsignore:
484 * plugins/daap/Makefile.am:
485 * plugins/daap/daap.rb-plugin.desktop.in:
486 * plugins/daap/rb-daap-plugin.c:
488 * shell/rb-shell-preferences.c: (rb_shell_preferences_new):
489 * shell/rb-shell.c: (construct_sources), (rb_shell_quit):
490 * sources/Makefile.am:
491 * sources/rb-daap-source.c: (rb_daap_source_class_init),
492 (rb_daap_source_new), (connection_auth_cb),
493 (connection_connecting_cb), (connection_disconnected_cb),
494 (release_connection), (rb_daap_source_disconnect),
495 (rb_daap_source_show_popup):
496 * sources/rb-daap-source.h:
497 Mangle DAAP into a plugin. This disables DAAP with GStreamer 0.8.
500 2006-11-09 James Livingston <doclivingston@gmail.com>
502 * rhythmdb/rhythmdb.c: take the ref before calling the delete
503 implementation, not after. From #372851.
505 2006-11-09 James Livingston <doclivingston@gmail.com>
507 patch by: Gilles Dartiguelongue <dartigug@esiee.fr>
509 * plugins/Makefile.am:
510 * plugins/audiocd/Makefile.am: fix build when linking with --as-needed
513 2006-11-09 James Livingston <doclivingston@gmail.com>
515 * plugins/audiocd/rb-audiocd-plugin.c: (impl_activate): use
516 g_signal_connect_object not g_signal_object, which stops it beign
517 called after the plugin is disposed.
519 2006-11-09 James Livingston <doclivingston@gmail.com>
521 * plugins/audioscrobbler/rb-audioscrobbler.c:
522 (rb_audioscrobbler_finalize):don't attempt to use the SoupSession
523 after we're finalised. Should fix #370513
525 2006-11-08 James Livingston <doclivingston@gmail.com>
527 patch by: Jerry Tan <jerry.tan@sun.com>
529 * data/glade/song-info.glade: set more a11y properties on the
530 label-for/labelled-by info. Fixes #368179.
532 2006-11-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
534 * widgets/rb-entry-view.c: (rb_entry_view_class_init),
535 (rb_entry_view_dispose), (rb_entry_view_finalize):
536 Unref objects and remove idle handlers in dispose rather than
537 finalize. Should fix #364783.
539 2006-11-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
541 * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed):
542 Rename 'ctxt' to 'parser' to avoid confusion, fix the check for
543 xmlCreateMemoryParserCtxt returning NULL that was previously checking
544 the wrong variable. Really fixes #336842.
546 2006-11-07 Jonathan Matthew <jonathan@kaolin.wh9.net>
548 * plugins/iradio/Makefile.am:
549 Actually install the UI file.
551 2006-11-07 Jonathan Matthew <jonathan@kaolin.wh9.net>
553 * plugins/generic-player/rb-generic-player-source.c:
554 (rb_generic_player_source_constructor),
555 (rb_generic_player_source_dispose),
556 (rb_generic_player_source_load_playlists):
557 Don't crash if the source is destroyed before it gets a chance
560 2006-11-06 James Livingston <doclivingston@gmail.com>
562 * rhythmdb/rhythmdb-monitor.c: (rhythmdb_monitor_uri_path):
563 * rhythmdb/rhythmdb.c: some leak fixes
565 2006-11-06 James Livingston <doclivingston@gmail.com>
567 * bindings/python/rb.override: change the right function in the last
570 2006-11-06 James Livingston <doclivingston@gmail.com>
572 * bindings/python/rb.override: unwrap the python string instead of
575 2006-11-06 Jonathan Matthew <jonathan@kaolin.wh9.net>
577 * tests/test-utils.c: (test_rhythmdb_setup):
578 Fix build break, #371106.
580 2006-11-04 Jonathan Matthew <jonathan@kaolin.wh9.net>
583 * tests/test-rhythmdb-property-model.c: (_get_property_count),
584 (START_TEST), (rhythmdb_property_model_suite), (main):
585 * tests/test-rhythmdb-query-model.c: (START_TEST),
586 (rhythmdb_query_model_suite), (main):
587 * tests/test-rhythmdb.c: (START_TEST), (rhythmdb_suite):
588 * tests/test-utils.c: (start_test_case), (end_step),
589 (end_test_case), (mark_signal), (set_waiting_signal),
590 (wait_for_signal), (test_rhythmdb_setup), (test_rhythmdb_shutdown),
591 (set_entry_string), (set_entry_ulong), (set_entry_hidden):
592 * tests/test-utils.h:
593 Split up rhythmdb tests, add tests for RhythmDBPropertyModel.
595 2006-11-04 James Livingston <doclivingston@gmail.com>
597 * lib/rb-glade-helpers.c: (rb_glade_xml_new): don't use rb_file() is
598 we were passed a absolute path, e.g. from the plugin file find
601 2006-11-04 Jonathan Matthew <jonathan@kaolin.wh9.net>
603 patch somewhat by: Oskari Saarenmaa <os@sumu.org>
605 * remote/dbus/rb-client.c: (main):
606 * shell/rb-shell.c: (rb_shell_hidden_notify), (rb_shell_do_notify):
608 * shell/rb-shell.xml:
609 Add dbus method to request a notification for the playing song, and
610 an argument to rhythmbox-client to use it. Fixes #359593.
612 2006-11-04 Jonathan Matthew <jonathan@kaolin.wh9.net>
614 * remote/dbus/rb-print-playing.py:
615 Revert changes I accidentally committed a while ago.
617 2006-11-03 James Livingston <doclivingston@gmail.com>
619 * data/glade/song-info.glade: make more labels selectable, from #368641
621 2006-11-03 James Livingston <doclivingston@gmail.com>
623 * shell/rb-shell-clipboard.c: (get_focussed_widget),
624 (rb_shell_clipboard_cmd_select_all),
625 (rb_shell_clipboard_cmd_select_none): make Select All select text in
626 the focussed widget if it's a text entry. Fixes #364590
628 2006-11-03 James Livingston <doclivingston@gmail.com>
630 * widgets/bacon-volume.c: (bacon_volume_button_get_type),
631 (bacon_volume_button_init), (bacon_volume_button_dispose),
632 (bacon_volume_button_new), (bacon_volume_button_realize),
633 (bacon_volume_button_press), (bacon_volume_key_release),
634 (bacon_volume_release_grab), (cb_dock_key_release),
635 (bacon_volume_scale_get_type), (bacon_volume_scale_value_changed),
636 (bacon_volume_theme_changed), (bacon_volume_load_icons):
637 * widgets/bacon-volume.h: update bacon-volume-widget from cvs.
640 2006-10-31 James Livingston <doclivingston@gmail.com>
642 * configure.ac: remove spaces around '=' where they shouldn't be,
643 fixes building when you have libgpod 0.3.x
645 2006-10-31 James Livingston <doclivingston@gmail.com>
647 patch by: Nguyen Thai Ngoc Duy <pclouds@gmail.com>
649 * rhythmdb/rhythmdb.c: don't remove stale db entries when the grace
650 period is 0. Fixes #351425
652 2006-10-31 James Livingston <doclivingston@gmail.com>
654 patch by: Luca Ferretti <elle.uca@libero.it>
656 * plugins/artdisplay/artdisplay.rb-plugin.desktop.in:
657 * plugins/audiocd/audiocd.rb-plugin.desktop.in:
658 * plugins/cd-recorder/cd-recorder.rb-plugin.desktop.in:
659 * plugins/generic-player/generic-player.rb-plugin.desktop.in:
660 * plugins/ipod/ipod.rb-plugin.desktop.in:
661 * plugins/iradio/iradio.rb-plugin.desktop.in:
662 * plugins/lyrics/lyrics.rb-plugin.desktop.in:
663 * plugins/sample-python/sample-python.rb-plugin.desktop.in:
664 * plugins/sample/sample.rb-plugin.desktop.in: Improve the descriptions
665 of the plugins. Fixes #365326
667 2006-10-31 James Livingston <doclivingston@gmail.com>
669 * plugins/audiocd/Makefile.am: fix build on Solaris, fixes #367989.
671 2006-10-31 James Livingston <doclivingston@gmail.com>
673 * data/glade/song-info.glade: set the mnemonic target for the labels
674 in the details tab. Fixes #368179.
676 2006-10-30 Jonathan Matthew <jonathan@kaolin.wh9.net>
679 When complaining about GStreamer being too old, use the right variable
680 name for the version we want.
682 2006-10-30 Jonathan Matthew <jonathan@kaolin.wh9.net>
685 * shell/rb-tray-icon.c: (rb_tray_icon_notify):
686 * shell/rb-tray-icon.h:
687 * bindings/python/rb.defs:
688 * shell/rb-shell.c: (rb_shell_playing_entry_changed_cb),
689 (rb_shell_notify_playing_entry), (rb_shell_hidden_notify):
690 * sources/rb-playlist-source-recorder.c: (burn_cd):
691 * sources/rb-podcast-source.c:
692 (rb_podcast_source_start_download_cb),
693 (rb_podcast_source_finish_download_cb),
694 (rb_podcast_source_feed_updates_avaliable_cb):
695 Change the various notification functions to take a parameter
696 specifying whether the notification was explicitly requested by the
697 user. Add a function to display a notification for an entry,
698 including streaming song metadata.
700 * shell/rb-shell-player.c: (rb_shell_player_stop):
701 Emit playing-song-changed and playing-uri-changed when stopping
704 * sources/Makefile.am:
705 * sources/rb-streaming-source.c:
706 * sources/rb-streaming-source.h:
707 Add a base class for streaming sources, handling streaming song
708 metadata and buffering messages, emitting notifications on song
709 changes, and updating play count statistics when playback stops.
711 * plugins/audioscrobbler/Makefile.am:
712 * plugins/audioscrobbler/rb-lastfm-source.c:
713 (rb_lastfm_source_class_init), (rb_lastfm_source_finalize),
714 (rb_lastfm_source_constructor), (impl_get_status),
715 (rb_lastfm_message_cb), (rb_lastfm_source_new_station),
716 (rb_lastfm_source_title_from_uri),
717 (rb_lastfm_source_entry_added_cb), (rb_lastfm_source_metadata_cb),
718 (rb_lastfm_song_changed_cb), (impl_activate):
719 * plugins/audioscrobbler/rb-lastfm-source.h:
720 * plugins/iradio/Makefile.am:
721 * sources/rb-iradio-source.c: (rb_iradio_source_class_init),
722 (rb_iradio_source_constructor), (impl_get_status),
723 (info_available_cb), (playing_source_changed_cb):
724 * sources/rb-iradio-source.h:
725 Use the new streaming source base class for iradio and last.fm
726 sources. Fixes #364094.
728 2006-10-30 James Livingston <doclivingston@gmail.com>
730 * podcast/rb-podcast-manager.c:
731 (rb_podcast_manager_db_entry_deleted_cb): when deleting a feed, cancel
732 any downloads from it before deleting the post entry. Fixes #366567.
734 2006-10-30 James Livingston <doclivingston@gmail.com>
736 * shell/rb-shell-clipboard.c: remove the Control-T shortcut from
737 move-to-trash, since there have been reports of people accidently
738 deleting tracks and it probably isn't a common enough operation to be
741 2006-10-30 Jonathan Matthew <jonathan@kaolin.wh9.net>
743 * backends/gstreamer/rb-player-gst.c:
745 * daapsharing/rb-daap-src.c: (rb_daap_src_init):
746 Fix GStreamer 0.8 build (and some typos in configure.ac).
748 2006-10-30 Jonathan Matthew <jonathan@kaolin.wh9.net>
750 patch largely by: Edgar Luna <eald@linuxuanl.org>
752 * sources/rb-source.c: (rb_source_class_init),
753 (rb_source_set_property), (rb_source_get_property):
754 Add a property to RBSource for plugin-created sources to have a
755 pointer to the RBPlugin object that created them.
757 * plugins/audiocd/Makefile.am:
758 * plugins/audiocd/multiple-album.glade:
759 * plugins/audiocd/rb-audiocd-plugin.c: (create_source_cb):
760 * sources/Makefile.am:
761 * sources/rb-audiocd-source.c: (rb_audiocd_source_new):
762 * sources/rb-audiocd-source.h:
763 If musicbrainz returns multiple albums, present the user with a
764 choice between them. Fixes #333215.
767 * plugins/Makefile.am:
768 Remove unused old audio CD stuff, only build audiocd plugin if we have
769 libnautilus-burn. Fixes #367440.
771 2006-10-30 James Livingston <doclivingston@gmail.com>
773 patch by: Brian McKenna <puffnfresh@gmail.com>
775 * plugins/pythonconsole/pythonconsole.py: allow the python colsole to
776 handle blocks. Fixes #366696.
778 2006-10-30 James Livingston <doclivingston@gmail.com>
780 * rhythmdb/rhythmdb.c: make the DB busy when processing files. From #349148
782 2006-10-30 Jonathan Matthew <jonathan@kaolin.wh9.net>
784 * shell/rb-shell-player.c: (rb_shell_player_class_init),
785 (rb_shell_player_sync_with_source),
786 (rb_shell_player_get_playing_time_string), (tick_cb):
787 * widgets/rb-header.c: (rb_header_sync_time),
788 (slider_moved_callback), (rb_header_update_elapsed),
789 (rb_header_elapsed_changed_cb):
790 Revert dbus interface breakage introduced in the fix for #365908.
792 2006-10-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
794 patch by: Luca Ferretti <elle.uca@libero.it>
796 * sources/rb-podcast-source.c: (rb_podcast_source_constructor):
797 Remove the access keys from the podcast-specific column headers.
800 2006-10-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
802 patch by: James Livingston <doclivingston@gmail.com>
804 * sources/rb-browser-source.c: (rb_browser_source_constructor):
805 Only register the search actions once. From #346801.
807 2006-10-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
809 * shell/rb-shell-player.c: (rb_shell_player_error):
810 When handling an error, try playing the next stream URL if we have
811 one, rather than stopping playback. From #358140.
813 2006-10-28 Jonathan Matthew <jonathan@kaolin.wh9.net>
815 * shell/rb-shell.c: (handle_playlist_entry_cb):
816 Don't crash if we can't guess a source for a URI in the playlist.
819 2006-10-28 Jonathan Matthew <jonathan@kaolin.wh9.net>
821 * shell/rb-shell-player.c: (rb_shell_player_class_init),
822 (rb_shell_player_sync_with_source),
823 (rb_shell_player_get_playing_time_string), (rb_shell_player_seek),
825 * widgets/rb-header.c: (rb_header_sync_time),
826 (rb_header_elapsed_changed_cb):
827 Treat elapsed time as signed, since rb_player_get_time returns a
828 signed value. When actually using the value, mostly treat negative
829 values as 0. Fixes #365908.
831 2006-10-27 James Livingston <doclivingston@gmail.com>
833 patch by: Alex Lancaster <alexl@users.sourceforge.net>
835 * metadata/sj-metadata-musicbrainz.c: (lookup_cd): handle MusicBrainz
836 returning 0 for the year/month/day. Fixes #364837.
838 2006-10-27 James Livingston <doclivingston@gmail.com>
840 patch by: Luca Ferretti <elle.uca@libero.it>
842 * widgets/rb-entry-view.c: (rb_entry_view_append_column): remove the
843 access keys from the entry view columns headers - they cause
844 keybindings conflicts, headaches for translators and the HIG says
845 they are bad. Fixes #360640.
847 2006-10-27 James Livingston <doclivingston@gmail.com>
849 patch by: Luca Ferretti <elle.uca@libero.it>
851 * widgets/rb-entry-view.c: (rb_entry_view_append_column): remove the
852 access keys from the entry view columns headers - they cause
853 keybindings conflicts, headaches for translators and the HIG says
854 they are bad. Fixes #360640.
856 2006-10-27 James Livingston <doclivingston@gmail.com>
858 * rhythmdb/rhythmdb-private.h:
859 * rhythmdb/rhythmdb.c: (rhythmdb_class_init): fix some glib 2.8 build
862 2006-10-27 James Livingston <doclivingston@gmail.com>
864 * plugins/artdisplay/Makefile.am:
865 * plugins/audioscrobbler/Makefile.am:
866 * plugins/iradio/Makefile.am: fix make clean
868 2006-10-26 Jonathan Matthew <jonathan@kaolin.wh9.net>
870 * rhythmdb/rhythmdb-query.c: (rhythmdb_read_encoded_property):
871 Fall back to strtod() if g_ascii_strtod() doesn't work.
873 * rhythmdb/rhythmdb-tree.c: (save_entry_double):
874 Write floating point values using g_ascii_dtostr() to avoid
875 problems with locale-specific representations. From #353205.
877 2006-10-25 James Livingston <doclivingston@gmail.com>
879 * plugins/artdisplay/Makefile.am:
880 * plugins/audioscrobbler/Makefile.am:
881 * plugins/iradio/Makefile.am: fix "make distcheck"
883 2006-10-25 Jonathan Matthew <jonathan@kaolin.wh9.net>
885 patch by: Brian Cameron <brian.cameron@sun.com>
887 * plugins/audiocd/Makefile.am:
888 Link audiocd plugin with libnautilus-burn as required to get it to work
889 on Solaris. Fixes #363288.
891 2006-10-25 Jonathan Matthew <jonathan@kaolin.wh9.net>
893 patch by: Gabor Kelemen <kelemeng@gnome.hu>
895 * plugins/audioscrobbler/audioscrobbler.rb-plugin.desktop.in:
896 Clarify that we don't submit actual songs to last.fm, just information
897 on what you're listening to. Fixes #364014.
899 2006-10-24 Bastien Nocera <hadess@hadess.net>
901 * widgets/bacon-volume.c: (bacon_volume_button_get_type),
902 (bacon_volume_button_class_init), (bacon_volume_button_new),
903 (bacon_volume_key_release), (cb_button_timeout), (cb_button_press),
904 (cb_dock_button_press), (cb_dock_key_release), (cb_dock_key_press),
905 (bacon_volume_scale_value_changed): update from libbacon, to get
906 better accessibility support (Closes: #364637)
908 2006-10-24 James Livingston <doclivingston@gmail.com>
910 patch by: Alex Lancaster <alexl@users.sourceforge.net>
912 * configure.ac: fix some typos and leftovers from disabled->enabled
913 changes. Fixes #364217
915 2006-10-23 William Jon McCann <mccann@jhu.edu>
917 * shell/rb-source-header.c (rb_source_header_init):
918 Don't require source header cells to be homogeneous.
921 2006-10-23 Jonathan Matthew <jonathan@kaolin.wh9.net>
923 * backends/gstreamer/rb-player-gst.c: (rb_player_gst_bus_cb):
924 Pause the pipeline while buffering. Fixes #358290.
926 2006-10-23 Bastien Nocera <hadess@hadess.net>
928 * configure.ac: update required libgpod version to avoid crashes
929 when starting up with an iPod connect (Closes: #352972)
930 * sources/rb-ipod-source.c: (rb_ipod_get_itunesdb_path),
931 (hal_udi_is_ipod): remove outdated ifdefs
933 2006-10-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
935 * plugins/Makefile.am:
936 * plugins/power-manager/rb-power-manager-plugin.c:
937 Don't try to build the power-manager plugin with dbus < 0.35.
939 2006-10-22 James Livingston <doclivingston@gmail.com>
941 patch by: Ed Catmur <ed@catmur.co.uk>
943 * plugins/artdisplay/Makefile.am:
944 * plugins/artdisplay/artdisplay/__init__.py:
945 * plugins/artdisplay/rhythmbox-missing-artwork.svg: display some
946 placeholder art when none is available, to avoid having the widget pop
947 in and out of existance.
949 2006-10-20 Jonathan Matthew <jonathan@kaolin.wh9.net>
951 * plugins/lyrics/lyrics.py:
952 Set the lyrics window transient for the main window so it can
953 actually be seen in party mode. Fixes #362981.
955 2006-10-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
957 * shell/rb-shell-clipboard.c: (rb_shell_clipboard_sync):
958 * sources/rb-source.c: (rb_source_class_init),
959 (rb_source_can_show_properties), (rb_source_song_properties):
960 * sources/rb-source.h:
961 Only enable the 'properties' item in the 'music' menu if the selected
962 source implements the show_properties method. Fixes #356485.
964 2006-10-16 Jonathan Matthew <jonathan@kaolin.wh9.net>
966 * shell/rb-shell-player.c:
967 (rb_shell_player_property_row_activated_cb):
968 Take the entry to play from the play order, rather than grabbing the
969 first entry in the query model. Fixes #362042.
971 2006-10-16 James Livingston <doclivingston@gmail.com>
973 * shell/main.c: (main): save custom menu accelerators before exiting.
976 2006-10-13 Ryan P Skadberg <skadz@stigmata.org>
978 * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed):
979 I HATE adding this patch, but I'm sick of hitting Yes once
980 and hour. Working around brain-dead podcasts.
982 2006-10-13 Jonathan Matthew <jonathan@kaolin.wh9.net>
984 * plugins/lyrics/lyrics.py:
985 Disconnect the create-song-info handler when deactivated.
988 2006-10-11 Jonathan Matthew <jonathan@kaolin.wh9.net>
990 * widgets/rb-search-entry.c: (rb_search_entry_changed_cb):
991 Reset the style when clearing the search text. Fixes #361295.
993 2006-10-11 Jonathan Matthew <jonathan@kaolin.wh9.net>
995 * rhythmdb/rhythmdb-query-model.c:
996 (rhythmdb_query_model_entry_changed_cb):
997 Don't emit entry-prop-changed for hidden signals from chained query
998 models, as the model will also propagate the parent model's
999 entry-prop-changed signal. Fixes mysteriously unreported crashes.
1001 2006-10-10 Jonathan Matthew <jonathan@kaolin.wh9.net>
1003 * sources/rb-ipod-source.c: (generate_ipod_filename):
1004 * lib/rb-cut-and-paste-code.c: (rb_make_valid_utf8):
1005 * lib/rb-cut-and-paste-code.h:
1006 Move eel_make_valid_utf8 to lib/, make the replacement
1007 character a parameter.
1009 * rhythmdb/rhythmdb.c: (make_access_failed_error),
1010 (rhythmdb_execute_multi_stat_info_cb),
1011 (rhythmdb_execute_stat_info_cb), (rhythmdb_execute_load):
1012 When constructing an error message that includes a URI, make sure the
1013 URI is valid utf-8. Fixes #353588.
1015 2006-10-10 Jonathan Matthew <jonathan@kaolin.wh9.net>
1017 * player/rb-recorder-gst.c: (rb_recorder_construct),
1019 Add an extra audioconvert element to allow endianness conversion on
1020 big-endian machines, and fix a few endianness issues in the .wav
1021 reading code. Fixes #355611.
1023 2006-10-09 James Livingston <doclivingston@gmail.com>
1025 patch by: Alex Lancaster <alexl@users.sourceforge.net>
1027 * widgets/eggtrayicon.c: (egg_tray_icon_notify): work around a
1028 libnotify 0.3.0 bug, as it doesn't handle escaped messages properly.
1031 2006-10-09 James Livingston <doclivingston@gmail.com>
1033 patch by: Luca Ferretti <elle.uca@libero.it>
1035 * data/glade/song-info-multiple.glade:
1036 * data/glade/song-info.glade: Fix a few HIG issues.
1038 2006-10-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
1040 * plugins/audioscrobbler/rb-lastfm-source.c:
1041 (rb_lastfm_source_class_init):
1042 Return TRUE from impl_try_playlist so playback starts in a separate
1045 2006-10-07 Jonathan Matthew <jonathan@kaolin.wh9.net>
1047 * shell/main.c: (main):
1048 Call bind_textdomain_codeset ("gstreamer-0.10", "UTF-8") so we get
1049 UTF-8 GStreamer messages. Fixes #357973.
1051 2006-10-07 Jonathan Matthew <jonathan@kaolin.wh9.net>
1053 * shell/rb-shell.c: (rb_shell_constructor):
1054 Remove a line that accidentally slipped in from some other universe.
1056 2006-10-07 Jonathan Matthew <jonathan@kaolin.wh9.net>
1058 * plugins/audiocd/rb-audiocd-plugin.c: (_delete_cb):
1059 Don't remove sources from the hash table while iterating it on
1060 shutdown. Fixes #359583.
1062 2006-10-07 James Livingston <doclivingston@gmail.com>
1064 patch from Alex Lancaster <alexl@users.sourceforge.net>
1066 * shell/rb-shell.c: change the keybinding for "Plugins" to not
1067 conflict with others. Fixes #355904
1069 2006-10-07 Jonathan Matthew <jonathan@kaolin.wh9.net>
1071 * rhythmdb/rhythmdb-query-model.c: (rhythmdb_query_model_dispose),
1072 (rhythmdb_query_model_chain),
1073 (rhythmdb_query_model_entry_changed_cb),
1074 (rhythmdb_query_model_base_entry_prop_changed),
1075 (rhythmdb_query_model_base_entry_removed):
1076 For chained models, propagate the parent model's entry-prop-changed
1077 signal rather than emitting one from the db entry-changed handler.
1078 This ensures that when the change filters the entry out of the parent
1079 model, property models attached to the child model get the entry
1080 change signal before the post-entry-delete signal, so they can
1081 decrement the refcount for the right property value. Fixes #359083.
1083 2006-10-07 Jonathan Matthew <jonathan@kaolin.wh9.net>
1085 * plugins/audioscrobbler/Makefile.am:
1088 2006-10-07 James Livingston <doclivingston@gmail.com>
1090 * plugins/audioscrobbler/rb-lastfm-gst-src.c:
1091 (rb_lastfm_src_uri_get_protocols), (rb_lastfm_src_uri_set_uri):
1092 * plugins/audioscrobbler/rb-lastfm-source.c:
1093 (rb_lastfm_source_get_playback_uri): work around GStreamer not support
1094 hypens in URI schemes.
1096 2006-10-06 William Jon McCann <mccann@jhu.edu>
1098 * plugins/iradio/Makefile.am:
1099 * plugins/audioscrobbler/Makefile.am:
1100 * plugins/cd-recorder/Makefile.am:
1101 Don't clean all plugin_DATA.
1104 2006-10-06 James Livingston <doclivingston@gmail.com>
1106 patch from Matt N <fisxoj@gmail.com>
1108 * backends/gstreamer/rb-player-gst.c: (emit_signal_idle),
1109 (rb_player_gst_bus_cb):
1110 * backends/rb-player.c: (rb_player_interface_init),
1111 (_rb_player_emit_tick), (_rb_player_emit_event):
1112 * backends/rb-player.h: let the backend emit named "events", for
1113 things that the core shouldn't know about.
1115 * rhythmdb/rhythmdb.h:
1116 * widgets/rb-header.c: (get_extra_metadata), (rb_header_sync): add
1117 support for streams containing album metadata.
1119 * plugins/audioscrobbler/Makefile.am:
1120 * plugins/audioscrobbler/audioscrobbler.rb-plugin.desktop.in:
1121 * plugins/audioscrobbler/rb-audioscrobbler-plugin.c:
1122 (impl_activate), (impl_deactivate), (impl_create_configure_dialog):
1123 * plugins/audioscrobbler/rb-lastfm-gst-src.c:
1124 * plugins/audioscrobbler/rb-lastfm-source.c:
1125 * plugins/audioscrobbler/rb-lastfm-source.h: Add support for playback
1126 of last.fm streams. From #313049.
1128 2006-10-06 James Livingston <doclivingston@gmail.com>
1130 * plugins/magnatune/magnatune/Makefile.am: add a file I missed
1133 2006-10-06 James Livingston <doclivingston@gmail.com>
1135 patch by: Adam Zimmerman <adam_zimmerman@sfu.ca>
1138 * data/rhythmbox.schemas:
1139 * plugins/Makefile.am:
1140 * plugins/magnatune/Makefile.am:
1141 * plugins/magnatune/magnatune-loading.glade:
1142 * plugins/magnatune/magnatune-prefs.glade:
1143 * plugins/magnatune/magnatune-purchase.glade:
1144 * plugins/magnatune/magnatune.rb-plugin.desktop.in:
1145 * plugins/magnatune/magnatune/BuyAlbumHandler.py:
1146 * plugins/magnatune/magnatune/MagnatuneSource.py:
1147 * plugins/magnatune/magnatune/TrackListHandler.py:
1148 * plugins/magnatune/magnatune/__init__.py:
1149 * plugins/magnatune/magnatune_circle_small.png:
1150 * plugins/magnatune/magnatune_logo_color_small.png:
1151 * plugins/magnatune/magnatune_logo_color_tiny.png: add a plugin to
1152 play and download tracks from the MagnaTune online music store. From
1155 2006-10-06 Jonathan Matthew <jonathan@kaolin.wh9.net>
1157 * lib/rb-proxy-config.c: (rb_proxy_config_init),
1158 (rb_proxy_config_dispose), (rb_proxy_config_finalize),
1159 (check_auto_proxy_config), (get_proxy_config):
1160 Don't crash when eel_gconf_get_string returns NULL.
1163 2006-10-04 James Livingston <doclivingston@gmail.com>
1165 patch by: Fryderyk Dziarmagowski <freetz@gmx.net>
1167 * plugins/audiocd/Makefile.am: fix the plugin when linking with
1168 --as-needed. Fixes #358730
1170 2006-10-03 Jonathan Matthew <jonathan@kaolin.wh9.net>
1172 patch by: William Jon McCann <mccann@jhu.edu>
1174 * sources/rb-iradio-source.c: (playing_source_changed_cb):
1175 Fix some stupidity I introduced that caused crashes on shutdown.
1178 2006-10-02 William Jon McCann <mccann@jhu.edu>
1180 * plugins/audiocd/Makefile.am:
1181 * plugins/audiocd/rb-audiocd-plugin.c: (create_source_cb):
1182 * plugins/iradio/.cvsignore:
1183 * plugins/iradio/Makefile.am:
1184 * plugins/iradio/rb-iradio-plugin.c: (impl_activate),
1186 * plugins/power-manager/.cvsignore:
1187 Install missing iradio ui file. Don't leak ui filename.
1188 Fix iradio install dir. Fix audiocd install dir.
1189 Remove unused code from audio cd plugin.
1193 2006-10-03 Jonathan Matthew <jonathan@kaolin.wh9.net>
1195 * sources/rb-ipod-source.c: (impl_move_to_trash):
1196 Uncomment rhythmdb_entry_move_to_trash call that I accidentally
1197 commented out while fixing bug 355235. Oops.
1199 2006-10-03 James Livingston <doclivingston@gmail.com>
1201 * lib/rb-util.c: (rb_string_split_words), (rb_search_fold): downgrade
1202 non-unicode warnings to debug statements, since they can occur with
1203 slightly broken files.
1205 * plugins/iradio/rb-iradio-plugin.c: (impl_deactivate):
1206 * shell/rb-shell.c: (rb_shell_source_deleted_cb): fix a crasher if the
1207 iradio plugin is disabled and re-enabled.
1209 2006-10-02 Jonathan Matthew <jonathan@kaolin.wh9.net>
1211 * rhythmdb/rhythmdb.c: (rhythmdb_register_core_entry_types),
1212 (rhythmdb_entry_podcast_post_get_type):
1213 * rhythmdb/rhythmdb.h:
1214 * tests/bench-rhythmdb-load.c: (main):
1215 Add definitions for some common extra-metadata fields,
1216 remove iradio entry type definition, add the concept of entry type
1217 categories, define categories for the core entry types.
1218 Categories are used to decide if an entry can be copied to a removable
1219 device, if it should be reported to audioscrobbler, etc.
1221 * shell/Makefile.am:
1222 * shell/rb-shell-player.c: (rb_shell_player_class_init),
1223 (rb_shell_player_constructor), (rb_shell_player_init),
1224 (rb_shell_player_get_property), (open_location_thread),
1225 (rb_shell_player_open_location),
1226 (rb_shell_player_sync_with_source),
1227 (rb_shell_player_set_playing_source_internal), (tick_cb):
1228 * shell/rb-shell.c: (construct_widgets), (construct_sources),
1229 (rb_shell_player_elapsed_changed_cb):
1230 Remove iradio-specific code, use extra metadata fields for streaming
1231 title and artist name.
1233 * data/ui/rhythmbox-ui.xml:
1234 Add a placeholder for 'new ...' menu items.
1237 * sources/Makefile.am:
1239 * data/rhythmbox.schemas:
1240 * plugins/Makefile.am:
1241 * plugins/iradio/Makefile.am:
1242 * plugins/iradio/iradio-ui.xml:
1243 * plugins/iradio/iradio.rb-plugin.desktop.in:
1244 * plugins/iradio/rb-iradio-plugin.c: (rb_iradio_plugin_init),
1245 (rb_iradio_plugin_finalize), (impl_activate), (impl_deactivate),
1246 (rb_iradio_plugin_class_init):
1247 iradio plugin, enabled and hidden by default.
1249 * plugins/audioscrobbler/rb-audioscrobbler.c:
1250 (rb_audioscrobbler_song_changed_cb):
1251 * sources/rb-audiocd-source.c: (rb_audiocd_source_new):
1252 * sources/rb-daap-source.c: (rb_daap_source_new):
1253 * sources/rb-ipod-source.c: (rb_ipod_source_new), (impl_paste):
1254 Define entry type categories, and use them where appropriate.
1256 * sources/rb-iradio-source.c: (rb_iradio_source_dispose),
1257 (rb_iradio_source_constructor), (rb_iradio_source_new),
1258 (impl_get_status), (impl_want_uri), (buffering_cb),
1259 (check_entry_type), (streaming_title_request_cb),
1260 (streaming_artist_request_cb), (extra_metadata_gather_cb),
1261 (info_available_cb), (playing_entry_changed_cb),
1262 (playing_source_changed_cb):
1263 Move streaming metadata and buffering handling here from
1264 rb-shell-player.c. Emit extra-metadata notify signals when the streaming
1265 title or artist changes, and handle request and gather signals for
1268 * widgets/rb-header.c: (rb_header_class_init),
1269 (rb_header_set_property), (rb_header_get_property),
1270 (rb_header_new), (append_and_free), (rb_header_sync):
1271 * widgets/rb-header.h:
1272 Rework to use streaming artist and title extra-metadata.
1273 streaming-artist overrides entry artist, and streaming-title means
1274 entry title is a stream name, displayed in brackets.
1276 * doc/reference/Makefile.am:
1277 * doc/reference/rhythmbox.types:
1278 Remove iradio stuff from gtk-doc build.
1282 2006-10-02 Jonathan Matthew <jonathan@kaolin.wh9.net>
1284 patch mostly by: Ed Catmur <ed@catmur.co.uk>
1286 * bindings/python/rhythmdb.defs:
1287 * lib/rb-marshal.list:
1288 * rhythmdb/rhythmdb.c: (rhythmdb_class_init),
1289 (rhythmdb_emit_entry_deleted),
1290 (rhythmdb_entry_extra_metadata_accumulator),
1291 (rhythmdb_entry_request_extra_metadata),
1292 (rhythmdb_emit_entry_extra_metadata_notify),
1293 (unset_and_free_g_value), (rhythmdb_entry_gather_metadata):
1294 * rhythmdb/rhythmdb.h:
1295 Add signals for dealing with transient metadata outside the set stored
1297 - entry_extra_metadata_request returns a value for the requested
1299 - entry_extra_metadata_notify notifies observers of a change to an
1300 extra metadata field
1301 - entry_extra_metadata_gather returns the values of all extra metadata
1304 * shell/rb-shell-player.c: (rb_shell_player_set_db_internal),
1305 (rb_shell_player_extra_metadata_cb):
1306 Sync the display on extra metadata changes and emit dbus signals when
1307 we can marshal the value.
1309 * shell/rb-shell.c: (rb_shell_get_song_properties):
1310 Implement rb_shell_song_get_properties using
1311 rhythmdb_entry_gather_metadata.
1313 * plugins/rb-python-module.c: (pyg_value_g_value_as_pyobject),
1314 (pyg_value_g_value_from_pyobject), (rb_python_module_init_python):
1316 Add GValue marshaller for python (until bug 351072 is fixed)
1320 2006-10-02 Jonathan Matthew <jonathan@kaolin.wh9.net>
1323 * data/rhythmbox.schemas:
1324 * plugins/Makefile.am:
1325 * plugins/power-manager/Makefile.am:
1326 * plugins/power-manager/power-manager.rb-plugin.desktop.in:
1327 * plugins/power-manager/rb-power-manager-plugin.c:
1328 (rb_gpm_plugin_class_init), (rb_gpm_plugin_init), (ignore_error),
1329 (inhibit_cb), (inhibit), (uninhibit_cb), (uninhibit),
1330 (playing_changed_cb), (impl_activate), (impl_deactivate):
1331 gnome-power-manager integration: inhibit suspend while playing.
1334 2006-10-02 James Livingston <doclivingston@gmail.com>
1336 update by: Aloriel <jorge.gonzalez.gonzalez@hispalinux.es>
1337 and Alex Lancaster <alexl@users.sourceforge.net>
1339 * help/C/rhythmbox.xml: fix some mispellings and grammer.
1340 Fixes #353143, #353146 and #353147.
1342 ============ Version 0.9.6
1344 2006-10-01 James Livingston <doclivingston@gmail.com>
1346 * configure.ac: bump version to 0.9.6. enable tag-writing and
1347 ipod-writing by default
1351 2006-09-30 Jonathan Matthew <jonathan@kaolin.wh9.net>
1353 patch by: William Jon McCann <mccann@jhu.edu>
1355 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_load):
1356 Use a local GError in case no error pointer pointer is passed in.
1359 2006-09-30 Jonathan Matthew <jonathan@kaolin.wh9.net>
1361 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_load):
1362 Don't reference members of freed structures.
1364 2006-09-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
1366 patch by: William Jon McCann <mccann@jhu.edu>
1368 * player/rb-recorder-gst.c: (rb_recorder_burn):
1369 Drop GDK lock before entering n-c-b. Fixes #353894?
1371 2006-09-28 Jonathan Matthew <jonathan@kaolin.wh9.net>
1373 * plugins/lirc/rb-lirc-plugin.c: (rb_lirc_plugin_read_code),
1375 Handle error/hangup conditions on the LIRC connection. Fixes #358049.
1377 2006-09-28 Jonathan Matthew <jonathan@kaolin.wh9.net>
1379 * plugins/lirc/rb-lirc-plugin.c: (impl_activate):
1380 Call lirc_init before lirc_readconfig so we don't crash if the user's
1381 .lircrc file has any mode sections. Fixes #357419.
1383 2006-09-24 James Livingston <doclivingston@gmail.com>
1385 * sources/rb-daap-source.c: (rb_daap_sources_shutdown): don't assert
1386 if we get called twice, as that can happen. Fixes #357214.
1388 2006-09-24 James Livingston <doclivingston@gmail.com>
1390 * backends/rb-encoder.h: add "file access" error
1392 * lib/rb-file-helpers.c: (rb_dot_dir):
1393 * podcast/rb-podcast-manager.c:
1394 (rb_podcast_manager_download_file_info_cb): remove directory creation
1397 * backends/gstreamer/rb-encoder-gst.c: (create_parent_dirs_uri),
1398 (create_parent_dirs), (rb_encoder_gst_encode): check result of
1399 directory creation. Fixes #347743
1401 2006-09-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
1403 * plugins/audioscrobbler/rb-audioscrobbler.c: (*):
1404 Strip trailing whitespace
1406 2006-09-21 Jonathan Matthew <jonathan@kaolin.wh9.net>
1408 * rhythmdb/Makefile.am:
1409 * rhythmdb/rhythmdb-private.h:
1410 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_error_quark),
1411 (rhythmdb_tree_parser_start_element), (rhythmdb_tree_load):
1412 * rhythmdb/rhythmdb-tree.h:
1413 * rhythmdb/rhythmdb.c: (rhythmdb_init), (rhythmdb_load_error_cb),
1414 (rhythmdb_load_thread_main), (rhythmdb_save_thread_main):
1415 * rhythmdb/rhythmdb.h:
1416 Rather than aborting, show an error and refuse to load the database when
1417 it appears to come from the future. From bug #350304.
1419 2006-09-19 Jonathan Matthew <jonathan@kaolin.wh9.net>
1421 * bindings/python/rhythmdb.override:
1422 Make entry_foreach usable.
1424 2006-09-18 Jonathan Matthew <jonathan@kaolin.wh9.net>
1426 * sources/rb-podcast-source.c: (rb_podcast_source_init):
1427 Scale the icon so it matches the rest of the sources.
1430 2006-09-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
1432 * rhythmdb/rhythmdb-property-model.c: (_remove_entry_cb),
1433 (rhythmdb_property_model_set_query_model_internal),
1434 (rhythmdb_property_model_row_inserted_cb),
1435 (rhythmdb_property_model_prop_changed_cb),
1436 (rhythmdb_property_model_entry_removed_cb),
1437 (rhythmdb_property_model_delete),
1438 (rhythmdb_property_model_perform_sync):
1439 Use the hash table to track hidden entries, rather than visible
1440 entries. Cuts memory usage fairly significantly. From bug #347425.
1442 2006-09-14 Jonathan Matthew <jonathan@kaolin.wh9.net>
1444 * widgets/rb-entry-view.c: (rb_entry_view_sync_sorting):
1445 Patch from Christian Becke to fix compilation with -O3, bug #355945.
1447 2006-09-14 Jonathan Matthew <jonathan@kaolin.wh9.net>
1449 * sources/rb-ipod-source.c: (add_rb_playlist),
1450 (impl_move_to_trash), (impl_delete_thyself):
1451 Delete ipod playlists when the ipod source is deleted. Fixes #355235.
1453 * sources/rb-sourcelist.c: (rb_sourcelist_remove):
1454 Make sure we don't leave the sourcelist thinking a deleted source is
1455 still playing. Fixes nothing.
1457 2006-09-13 Jonathan Matthew <jonathan@kaolin.wh9.net>
1460 Use GTK_STOCK_OPEN instead of GTK_STOCK_DIRECTORY for the
1461 'Music->Import Folder' menu item for better icon theme coverage.
1464 2006-09-13 Jonathan Matthew <jonathan@kaolin.wh9.net>
1466 * rhythmdb/rhythmdb-private.h:
1467 * rhythmdb/rhythmdb.c: (rhythmdb_init),
1468 (rhythmdb_start_action_thread), (rhythmdb_finalize),
1469 (rhythmdb_thread_create), (rhythmdb_add_uri_with_type),
1470 (rhythmdb_load), (rhythmdb_save_async):
1471 Use a limited thread pool for adding URIs to the database.
1474 2006-09-10 Jonathan Matthew <jonathan@kaolin.wh9.net>
1476 * backends/gstreamer/rb-player-gst.c: (rb_player_gst_bus_cb):
1477 Do something like the previous change, but for gstreamer 0.10
1478 this time. Oops. Really fixes #349569.
1480 2006-09-09 Jonathan Matthew <jonathan@kaolin.wh9.net>
1482 * backends/gstreamer/rb-player-gst.c: (error_cb):
1483 Ignore 'internal data flow error' messages if we've already got an
1484 error for the file. Fixes #349569.
1486 2006-09-07 Jonathan Matthew <jonathan@kaolin.wh9.net>
1488 * shell/rb-shell-clipboard.c:
1489 (rb_shell_clipboard_playlist_deleted_cb):
1490 Rebuild 'add to playlist' menu before removing actions for deleted
1491 playlists, and don't unref the action, as we never had a reference on
1492 it to begin with. Fixes #354599.
1494 2006-09-05 Jonathan Matthew <jonathan@kaolin.wh9.net>
1496 * widgets/libsexy/sexy-icon-entry.c: (sexy_icon_entry_map),
1497 (sexy_icon_entry_unmap), (draw_icon), (sexy_icon_entry_set_icon):
1498 Apply fix for bug #354149 to our internal copy of sexy-icon-entry.c.
1500 2006-09-04 Jonathan Matthew <jonathan@kaolin.wh9.net>
1502 * daapsharing/rb-daap-connection.c: (handle_playlists):
1503 Reverse the list of playlists on the DAAP server so it ends up in the
1504 right order. Fixes #353926.
1506 2006-09-03 Jonathan Matthew <jonathan@kaolin.wh9.net>
1508 * plugins/lirc/rb-lirc-plugin.c: (rb_lirc_plugin_read_code):
1509 Fully process each code so the LIRC client returns to its normal state
1510 when we're done. Makes LIRC actually work properly for me.
1512 2006-09-03 Jonathan Matthew <jonathan@kaolin.wh9.net>
1514 patch by: Ed Catmur <ed@catmur.co.uk>
1516 * widgets/libsexy/sexy-icon-entry.c: (sexy_icon_entry_map),
1517 (sexy_icon_entry_unmap), (sexy_icon_entry_set_icon):
1518 Don't show unused GdkWindows in SexyIconEntry. Fixes #353671.
1520 2006-09-02 William Jon McCann <mccann@jhu.edu>
1522 patch by: James Livingston <doclivingston@gmail.com>
1525 * data/rhythmbox.schemas:
1526 * metadata/Makefile.am:
1527 * plugins/Makefile.am:
1528 * plugins/audiocd/.cvsignore:
1529 * plugins/audiocd/Makefile.am:
1530 * plugins/audiocd/audiocd.rb-plugin.desktop.in:
1531 * plugins/audiocd/rb-audiocd-plugin.c:
1532 (rb_audiocd_plugin_class_init), (rb_audiocd_plugin_init),
1533 (rb_audiocd_plugin_finalize), (rb_audiocd_plugin_mount_volume),
1534 (rb_audiocd_plugin_unmount_volume), (poll_tray_opened),
1535 (end_cd_drive_monitor), (begin_cd_drive_monitor),
1536 (get_nautilus_burn_drive_for_path), (split_drive_from_cdda_uri),
1537 (rb_audiocd_plugin_playing_uri_changed_cb),
1538 (nautilus_burn_drive_get_device),
1539 (rb_audiocd_plugin_source_deleted), (create_source_cb),
1540 (impl_activate), (_delete_cb), (impl_deactivate):
1541 * plugins/cd-recorder/rb-cd-recorder-plugin.c:
1542 (rb_cd_recorder_plugin_init), (rb_cd_recorder_plugin_finalize):
1543 * shell/main.c: (main):
1544 * shell/rb-removable-media-manager.c:
1545 (rb_removable_media_manager_finalize),
1546 (rb_removable_media_manager_load_media),
1547 (rb_removable_media_manager_mount_volume),
1548 (rb_removable_media_manager_scan):
1549 * sources/Makefile.am:
1550 * sources/rb-audiocd-source.c:
1551 * sources/rb-audiocd-source.h:
1552 Make auto CD support a plugin.
1556 2006-09-02 Jonathan Matthew <jonathan@kaolin.wh9.net>
1558 * daapsharing/rb-daap-connection.c: (handle_song_listing):
1559 Add a final rhythmdb_commit to make sure all songs from the share show
1560 up in the daap source. Fixes #353913.
1562 2006-09-02 Jonathan Matthew <jonathan@kaolin.wh9.net>
1564 * sources/rb-sourcelist-model.c:
1565 (rb_sourcelist_model_drag_data_received),
1566 (rb_sourcelist_model_row_drop_possible):
1567 Re-enable dragging of a set of tracks to the source list to create a
1568 new static playlist. Fixes #353893.
1570 2006-09-02 Jonathan Matthew <jonathan@kaolin.wh9.net>
1572 * widgets/bacon-volume.c: (cb_button_timeout):
1573 Actually drop the GDK lock, rather than returning while holding it.
1576 2006-08-30 Jonathan Matthew <jonathan@kaolin.wh9.net>
1578 * plugins/generic-player/rb-generic-player-source.c:
1579 (rb_generic_player_source_constructor),
1580 (rb_generic_player_source_get_device_info), (impl_delete_thyself),
1581 (rb_generic_player_source_load_songs), (load_playlist_file),
1582 (default_load_playlists), (get_hal_context):
1583 Only call libhal_ctx_shutdown if libhal_ctx_init succeeds.
1586 2006-08-30 Jonathan Matthew <jonathan@kaolin.wh9.net>
1588 * rhythmdb/rhythmdb-monitor.c: (rhythmdb_directory_change_cb):
1589 Canonicalise URIs received from gnome-vfs file monitor.
1592 2006-08-28 Jonathan Matthew <jonathan@kaolin.wh9.net>
1594 * help/C/rhythmbox.xml: unbreak help build
1595 * plugins/lirc/rb-lirc-plugin.c: (impl_activate):
1596 Unbuffer the IO channel. Fixes some weirdness for me.
1598 2006-08-28 Jonathan Matthew <jonathan@kaolin.wh9.net>
1600 * help/C/rhythmbox.xml:
1601 * plugins/lirc/rb-lirc-plugin.c: (rb_lirc_plugin_read_code),
1602 (impl_activate), (impl_deactivate):
1603 Add 'playpause' LIRC command.
1605 2006-08-24 Jonathan Matthew <jonathan@kaolin.wh9.net>
1607 * sources/rb-source.c: (rb_source_class_init), (rb_source_dispose),
1608 (rb_source_finalize):
1609 Remove idle callbacks in dispose, rather than finalize. Fixes crashes
1610 when disconnecting generic audio players.
1612 2006-08-23 Jonathan Matthew <jonathan@kaolin.wh9.net>
1614 patch by: Paolo Borelli <pborelli@katamail.com>
1616 * plugins/rb-python-plugin.c: (rb_python_object_get_type):
1619 2006-08-19 Jonathan Matthew <jonathan@kaolin.wh9.net>
1621 * backends/gstreamer/rb-player-gst.c:
1622 * shell/rb-shell-player.c: (rb_shell_player_sync_with_source):
1623 Don't actually disable the seek bar for non-seekable songs,
1624 because we can't reliably tell yet.
1626 2006-08-19 Jonathan Matthew <jonathan@kaolin.wh9.net>
1628 * daapsharing/rb-daap-share.c: (add_entry_to_mlcl),
1629 (add_playlist_entry_to_mlcl), (databases_cb), (db_entry_added_cb),
1630 (db_entry_deleted_cb), (rb_daap_share_server_start),
1631 (rb_daap_share_server_stop):
1632 * rhythmdb/rhythmdb-private.h:
1633 * rhythmdb/rhythmdb-tree.c: (save_entry):
1634 * rhythmdb/rhythmdb.c: (rhythmdb_init), (rhythmdb_entry_allocate),
1635 (rhythmdb_entry_set_internal), (rhythmdb_prop_type_get_type),
1636 (rhythmdb_entry_get_ulong):
1637 * rhythmdb/rhythmdb.h:
1638 Give db entries a numeric ID property, replacing the daap server's
1639 entry->id map. From #347665.
1641 2006-08-19 Jonathan Matthew <jonathan@kaolin.wh9.net>
1643 * shell/rb-shell-player.c: (rb_shell_player_sync_with_source):
1644 * widgets/rb-header.c: (rb_header_class_init),
1645 (rb_header_set_property), (rb_header_get_property),
1646 (rb_header_set_playing_entry), (rb_header_sync),
1647 (rb_header_sync_time):
1648 * widgets/rb-header.h:
1649 Add a 'seekable' property on RBHeader, and use it to make the seek bar
1650 insensitive when the player backend tells us we can't seek in the
1651 current song. From #330410.
1653 2006-08-18 Jonathan Matthew <jonathan@kaolin.wh9.net>
1655 * widgets/rb-song-info.c: (rb_song_info_update_buttons):
1656 Don't try to unref previous/next entries if they aren't there.
1659 2006-08-15 James Livingston <doclivingston@gmail.com>
1661 * rhythmdb/rhythmdb-monitor.c: (entry_volume_mounted_or_unmounted),
1662 (rhythmdb_volume_mounted_cb), (rhythmdb_volume_unmounted_cb): turn the
1663 mountpoint into a RBRefString and compare equality of those, rather
1664 than doign lots of strcmp()s.
1666 * sources/rb-source.c: (rb_source_finalize), (_update_status_idle),
1667 (rb_source_row_inserted_cb), (rb_source_post_entry_deleted_cb): do
1668 status notification as well as the visibility update in an idle
1669 callback. Makes it take much less time to update after a volume
1670 mount/unmount event.
1672 2006-08-15 James Livingston <doclivingston@gmail.com>
1674 patch by: Christian Becke <christianbecke@web.de>
1676 * shell/rb-shell.c: (rb_shell_cmd_add_folder_to_library): allow
1677 multiple selections in the Import Folder dialog. Fixes #351414.
1679 2006-08-15 Jonathan Matthew <jonathan@kaolin.wh9.net>
1681 * shell/rb-shell.c: (construct_widgets):
1682 * shell/rb-statusbar.c: (rb_statusbar_class_init),
1683 (rb_statusbar_connect_ui_manager), (rb_statusbar_set_property),
1684 (rb_statusbar_get_property), (rb_statusbar_new):
1685 * shell/rb-statusbar.h:
1686 Use the connect-proxy signal from the UI manager, which covers all
1687 action groups, rather than just one. Fixes #351280.
1689 2006-08-15 Jonathan Matthew <jonathan@kaolin.wh9.net>
1691 * widgets/rb-library-browser.c: (rebuild_child_model):
1692 Fix query model reference counts (bug #349601).
1694 2006-08-15 James Livingston <doclivingston@gmail.com>
1696 * backends/rb-player.c: (rb_player_interface_init): make the EOS and
1697 Error signals be non-recursive. Fixes a highly-unlikely issue that
1698 could have caused #322972.
1700 2006-08-14 James Livingston <doclivingston@gmail.com>
1702 * sources/rb-auto-playlist-source.c:
1703 (rb_auto_playlist_source_init):
1704 * sources/rb-static-playlist-source.c:
1705 (rb_static_playlist_source_init):
1707 2006-08-14 Jonathan Matthew <jonathan@kaolin.wh9.net>
1709 * sources/rb-browser-source.c:
1710 * sources/rb-import-errors-source.c:
1711 * sources/rb-iradio-source.c:
1712 * sources/rb-library-source.c:
1713 * sources/rb-missing-files-source.c:
1714 * sources/rb-play-queue-source.c:
1715 * sources/rb-playlist-source.c:
1716 * sources/rb-podcast-source.c:
1717 * sources/rb-source.c:
1718 Make entry-type a property on RBSource, rather than on most of its
1719 subclasses. Fixes #347288.
1721 2006-08-13 Jonathan Matthew <jonathan@kaolin.wh9.net>
1723 * remote/dbus/rb-client.c: (parse_pattern),
1724 (create_rb_shell_proxies), (main):
1725 Actually implement %ag and %aG (genre) for --print-playing-format
1727 2006-08-11 Jonathan Matthew <jonathan@kaolin.wh9.net>
1729 * lib/rb-debug.c: (rb_debug_real):
1730 No point allocating a buffer for the timestamp when we can just put it
1733 2006-08-11 Jonathan Matthew <jonathan@kaolin.wh9.net>
1735 * metadata/rb-metadata-dbus-client.c: (start_metadata_service):
1736 Don't ignore SIGPIPE. gnome-vfs does it for us anyway.
1738 2006-08-11 James Livingston <doclivingston@gmail.com>
1740 * podcast/rb-podcast-manager.c:
1741 (rb_podcast_manager_update_synctime): fix accidental commit in the
1742 last, which caused a warning.
1744 2006-08-11 James Livingston <doclivingston@gmail.com>
1746 * data/rhythmbox.schemas:
1747 * podcast/rb-podcast-manager.c:
1748 (rb_podcast_manager_update_synctime): change the schema's
1749 update-inteval value from 0 to 1, which causes it to update on
1750 startup, rather than never. Should fixs #343818.
1752 2006-08-11 James Livingston <doclivingston@gmail.com>
1756 - data/rhythmbox.desktop.in:
1757 + data/rhythmbox.desktop.in.in: add mroe indirection to the build, so
1758 the @VERSION@ can be substituted in. Fix some issues with newer
1759 bug-buddy versions. Fixes #348853.
1761 2006-08-10 William Jon McCann <mccann@jhu.edu>
1763 * data/rhythmbox.schemas:
1764 * plugins/Makefile.am:
1765 * plugins/artdisplay/Makefile.am:
1766 * plugins/audioscrobbler/Makefile.am:
1767 * plugins/cd-recorder/Makefile.am:
1768 * plugins/generic-player/Makefile.am:
1769 * plugins/ipod/Makefile.am:
1770 * plugins/lirc/Makefile.am:
1771 * plugins/lyrics/Makefile.am:
1772 * plugins/pythonconsole/Makefile.am:
1773 * plugins/rb-module.c:
1774 * plugins/rb-module.h:
1775 * plugins/rb-plugin-manager.c: (configure_button_cb),
1776 (plugin_manager_view_cell_cb), (cursor_changed_cb),
1777 (plugin_manager_populate_lists), (plugin_manager_set_active),
1778 (plugin_manager_toggle_active),
1779 (plugin_manager_get_selected_plugin), (rb_plugin_manager_init),
1780 (rb_plugin_manager_finalize):
1781 * plugins/rb-plugin-manager.h:
1782 * plugins/rb-plugin.c: (rb_get_plugin_paths),
1783 (rb_plugin_find_file):
1784 * plugins/rb-plugin.h:
1785 * plugins/rb-plugins-engine.c: (rb_plugins_engine_load),
1786 (rb_plugins_engine_load_cb), (rb_plugins_engine_load_all),
1787 (rb_plugins_engine_init), (rb_plugin_info_free),
1788 (load_plugin_module), (rb_plugins_engine_activate_plugin),
1789 (rb_plugins_engine_deactivate_plugin),
1790 (rb_plugins_engine_plugin_is_active),
1791 (rb_plugins_engine_plugin_is_visible),
1792 (rb_plugins_engine_plugin_is_configurable),
1793 (rb_plugins_engine_configure_plugin),
1794 (rb_plugins_engine_get_plugin_name),
1795 (rb_plugins_engine_get_plugin_description),
1796 (rb_plugins_engine_get_plugin_authors),
1797 (rb_plugins_engine_get_plugin_website),
1798 (rb_plugins_engine_get_plugin_copyright),
1799 (rb_plugins_engine_get_plugin_icon):
1800 * plugins/rb-plugins-engine.h:
1801 * plugins/rb-python-module.c: (rb_python_module_init_python),
1802 (rb_python_module_load), (rb_python_module_unload),
1803 (rb_python_module_class_init), (rb_python_module_new),
1804 (finalise_collect_cb), (rb_python_shutdown):
1805 * plugins/rb-python-module.h:
1806 * plugins/rb-python-plugin.c: (call_python_method),
1807 (impl_deactivate), (impl_activate), (impl_create_configure_dialog),
1808 (impl_is_configurable), (rb_python_object_get_type):
1809 * plugins/rb-python-plugin.h:
1810 * plugins/rb/Makefile.am:
1812 Use TRUE/FALSE in schemas to make it easier to read. Remove
1813 spurious whitespace. Don't use libgnome explicitly. Replace the
1814 crack USER_RB_PLUGINS_LOCATION API with rb_get_plugin_paths().
1815 Remove unused RB_PLUGINS_ENGINE_BASE_KEY CONF_PREFIX etc. Don't
1816 special case loading of dirs. Install plugins to subdirectors of
1817 PLUGINDIR so they don't interfere. Install rb plugin to LIBDIR
1818 not DATADIR. Fixes #350352
1820 2006-08-10 James Livingston <doclivingston@gmail.com>
1822 * daapsharing/rb-daap-connection.c: (connection_connected),
1823 (connection_disconnected), (connection_operation_done):
1824 * daapsharing/rb-daap-share.c: (name_collision_cb):
1825 * plugins/generic-player/rb-generic-player-source.c:
1826 (rb_generic_player_source_load_playlists):
1827 * podcast/rb-podcast-manager.c:
1828 (rb_podcast_manager_download_entry),
1829 (rb_podcast_manager_sync_head_cb), (rb_podcast_manager_next_file),
1830 (end_job), (rb_podcast_manager_event_loop):
1831 * rhythmdb/rhythmdb-property-model.c:
1832 (rhythmdb_property_model_perform_sync):
1833 * rhythmdb/rhythmdb-query-model.c: (idle_process_update_idle),
1834 (rhythmdb_query_model_process_update), (idle_process_update),
1835 (rhythmdb_query_model_reapply_query_cb):
1836 * shell/rb-play-order.c: (sync_playing_entry_cb):
1837 * shell/rb-removable-media-manager.c:
1838 (rb_removable_media_manager_load_media):
1839 * shell/rb-shell-clipboard.c: (rb_shell_clipboard_sync_idle),
1840 (rb_shell_clipboard_sync),
1841 (rb_shell_clipboard_entryview_changed_cb),
1842 (rb_shell_clipboard_entries_changed_cb),
1843 (rb_shell_clipboard_playlist_deleted_cb), (rebuild_playlist_menu),
1844 (rebuild_playlist_menu_idle),
1845 (rb_shell_clipboard_playlist_added_cb):
1846 * shell/rb-shell-player.c: (notify_playing_idle),
1847 (rb_shell_player_jump_to_current_idle), (_idle_unblock_signal_cb):
1848 * shell/rb-shell.c: (idle_save_playlist_manager), (quit_timeout),
1850 * sources/rb-ipod-source.c: (load_ipod_db_idle_cb):
1851 * sources/rb-library-source.c: (add_child_sources_idle):
1852 * sources/rb-playlist-source-recorder.c: (response_idle_cb),
1854 * sources/rb-source.c: (update_visibility_idle):
1855 * widgets/bacon-volume.c: (button_timeout), (cb_button_timeout),
1857 * widgets/rb-druid.c: (idle_set_sensitive):
1858 * widgets/rb-entry-view.c: (rb_entry_view_emit_selection_changed):
1859 take the GDK lock when we should be, from #348588
1861 2006-08-09 James Livingston <doclivingston@gmail.com>
1863 * rhythmdb/rhythmdb-property-model.c:
1864 (rhythmdb_property_model_get_path),
1865 (rhythmdb_property_model_get_value),
1866 (rhythmdb_property_model_iter_next): don't attempt to verify the
1867 iterator if it's the All value, since it isn't valid. Fixes a
1870 2006-08-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
1872 * podcast/rb-podcast-manager.c: (rb_podcast_manager_copy_post),
1873 (rb_podcast_manager_download_file_info_cb),
1874 (rb_podcast_manager_abort_download), (download_info_free),
1875 (download_info_new):
1876 Use gnome_vfs_async_get_file_info to figure out the local filename for
1877 a podcast episode, so we get the filename from the target of any
1878 redirects, rather than the source. When creating the GnomeVFSURI, hide
1879 the query string, then append it later, to stop gnome-vfs from
1880 converting 'http://' to 'http:/'. If the local filename ends with the
1881 query string, remove it. Fixes #330766 and #321991.
1883 2006-08-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
1885 * sources/rb-library-source.c: (impl_want_uri):
1886 * sources/rb-static-playlist-source.c: (impl_want_uri):
1887 Treat sftp:// URIs as likely indicators of songness.
1889 2006-08-07 James Livingston <doclivingston@gmail.com>
1891 * rhythmdb/rhythmdb.c: (process_added_entries_cb): don't auto-hide
1892 remote tracks with GStreamer 0.10, and remember their visibility like
1895 2006-08-07 James Livingston <doclivingston@gmail.com>
1897 * remote/dbus/rb-client.c: (main): don't unref the bus instance, since
1898 apparently it's a borrowed reference. Should fix #347072.
1900 2006-08-06 James Livingston <doclivingston@gmail.com>
1902 * shell/rb-play-order-shuffle.c: (rb_shuffle_play_order_finalize),
1903 (rb_shuffle_play_order_get_next), (rb_shuffle_play_order_go_next),
1904 (rb_shuffle_play_order_get_previous),
1905 (rb_shuffle_play_order_go_previous), (handle_query_model_changed),
1906 (remove_from_history), (add_randomly_to_history),
1907 (rb_shuffle_sync_history_with_query_model),
1908 (rb_shuffle_playing_entry_changed), (rb_shuffle_db_entry_deleted),
1909 (query_model_and_history_contents_match): remove the tentatative
1910 history stuff, which is from older code, like we did for -random a few
1913 2006-08-06 James Livingston <doclivingston@gmail.com>
1915 * shell/rb-play-order-queue.c: (rb_queue_play_order_go_next),
1916 (rb_queue_play_order_get_previous):
1917 * shell/rb-play-order-random.c: (rb_random_play_order_get_next),
1918 (rb_random_play_order_go_next),
1919 (rb_random_play_order_get_previous), (rb_random_db_changed):
1920 * shell/rb-play-order-shuffle.c: (rb_shuffle_play_order_init),
1921 (rb_shuffle_play_order_get_next), (rb_shuffle_play_order_go_next),
1922 (rb_shuffle_play_order_get_previous), (add_randomly_to_history),
1923 (rb_shuffle_db_changed), (rb_shuffle_entry_added),
1924 (rb_shuffle_entry_removed),
1925 (query_model_and_history_contents_match):
1926 * shell/rb-play-order.c: (rb_play_order_query_model_changed),
1927 (rb_play_order_entry_added_cb), (rb_play_order_row_deleted_cb),
1928 (default_has_next), (default_has_previous),
1929 (rb_play_order_model_not_empty): Fix assorted refcounting issues in
1930 various play orders, after reviewing the code. Should fix #349601.
1932 2006-08-05 Jonathan Matthew <jonathan@kaolin.wh9.net>
1934 * plugins/artdisplay/artdisplay/LocalCoverArtSearch.py:
1935 Pass the items_per_notification parameter to
1936 gnomevfs.async.load_directory, fixing 'argument 4 impossible' errors
1937 with some versions of python.
1939 2006-08-05 Jonathan Matthew <jonathan@kaolin.wh9.net>
1941 * widgets/libsexy/sexy-icon-entry.c: (draw_icon):
1942 Don't try to draw the icon if the drawable area is too small.
1945 2006-08-04 Ryan P Skadberg <skadz@stigmata.org>
1947 patch by: Jonathan Matthew <jonathan@kaolin.wh9.net>
1949 * rhythmdb/rhythmdb.c: (rhythmdb_execute_stat): seems to fix 348783
1951 2006-08-05 James Livingston <doclivingston@gmail.com>
1953 * configure.ac: tell libtool not to check for C++/fortran/ etc
1956 * plugins/rb-plugins-engine.c: (rb_plugin_info_free): remove the right
1957 watch, to fix some gconf warnings.
1959 2006-08-04 James Livingston <doclivingston@gmail.com>
1961 patch by: William Jon McCann <mccann@jhu.edu>
1963 * shell/main.c: (main): use GOption instead of popt. Fixes #346930
1965 2006-08-04 James Livingston <doclivingston@gmail.com>
1967 * plugins/rb-plugin-manager.c: (plugin_manager_set_active): try to
1968 actually fix #349722 this time
1970 2006-08-04 James Livingston <doclivingston@gmail.com>
1972 * plugins/artdisplay/artdisplay/LocalCoverArtSearch.py: don't attempt
1973 to seach for local art from http:// URIs, or those gnome-vfs doesn't
1974 know about. Fixes #348571.
1976 2006-08-03 Benjamin Otte <in7y118@public.uni-hamburg.de>
1978 various fixes for valgrind complaints:
1979 * lib/rb-tree-dnd.c: (rb_tree_dnd_data_free),
1980 (init_rb_tree_dnd_data):
1981 free the associated target list, too
1982 * widgets/libsexy/sexy-icon-entry.c: (sexy_icon_entry_realize):
1983 initialize allocation.{x,y,width,height} correctly
1984 * widgets/rb-entry-view.c: (rb_entry_view_sync_sorting),
1985 (rb_entry_view_constructor):
1986 free strings when no longer needed
1988 2006-08-03 James Livingston <doclivingston@gmail.com>
1990 * plugins/rb-plugin-manager.c: (plugin_manager_set_active): use the
1991 real GtkTreeModel not the filter. Fixes #349722
1993 2006-08-03 Jonathan Matthew <jonathan@kaolin.wh9.net>
1995 * backends/gstreamer/rb-player-gst.c:
1996 Only use DAAP seek hacks for GStreamer 0.8 builds.
1998 * daapsharing/rb-daap-src.c: (rb_daap_src_class_init),
2000 * daapsharing/rb-daap-src.h:
2001 Implement normal GStreamer seeking for GStreamer 0.10 builds.
2003 * sources/rb-daap-source.c: (rb_daap_source_class_init),
2004 (rb_daap_source_get_headers):
2005 * sources/rb-daap-source.h:
2006 Reimplement rb_daap_source_get_headers for the case where we've
2007 already got the byte offset. Add a small hack to
2008 rb_daap_source_class_init to prevent the linker from dropping
2009 rb-daap-src.o entirely.
2011 Fixes client-side DAAP seeking (for MP3, at least), bug #330410.
2013 2006-08-02 James Livingston <doclivingston@gmail.com>
2015 * daapsharing/rb-daap-connection.c: (entry_set_string_prop),
2016 (handle_song_listing), (handle_playlist_entries),
2017 (rb_daap_connection_dispose):
2018 * sources/rb-daap-source.c: (_add_location_to_playlist),
2019 (rb_daap_source_connection_cb): make the daap code use RBRefStrings
2020 for playlist URIs, not pointless duplicate strings. From #347425.
2022 2006-08-02 James Livingston <doclivingston@gmail.com>
2024 * data/rhythmbox.schemas:
2025 * lib/rb-preferences.h:
2026 * plugins/rb-plugin-manager.c: (rb_plugin_manager_class_init),
2027 (plugin_manager_view_cell_cb), (plugin_manager_populate_lists),
2028 (plugin_manager_set_active), (plugin_manager_toggle_active),
2029 (plugin_manager_get_selected_plugin), (name_search_cb),
2030 (plugin_manager_construct_tree), (rb_plugin_manager_new),
2031 (rb_plugin_manager_finalize):
2032 * plugins/rb-plugins-engine.c: (rb_plugins_engine_load_cb),
2033 (rb_plugins_engine_load_all), (rb_plugin_info_free),
2034 (rb_plugins_engine_plugin_is_visible),
2035 (rb_plugins_engine_plugin_visible_cb):
2036 * plugins/rb-plugins-engine.h: add gconf options to 1) disable loading
2037 per-user plugins, and 2) hide plugins from the manager UI. From #349395
2039 2006-08-02 James Livingston <doclivingston@gmail.com>
2041 * sources/rb-sourcelist-model.c:
2042 (rb_sourcelist_model_drag_data_received): don't crash if we didn't
2043 drop on a source. Fixes #349580.
2045 2006-07-31 Jonathan Matthew <jonathan@kaolin.wh9.net>
2048 * daapsharing/rb-daap-dialog.c:
2049 * daapsharing/rb-daap-dialog.h:
2050 * shell/Makefile.am:
2051 * sources/Makefile.am:
2052 * sources/rb-daap-source.c: (connection_auth_cb),
2053 (rb_daap_source_connection_cb), (rb_daap_source_activate):
2054 Add gnome-keyring support for DAAP passwords and use
2055 gnome-password-dialog instead of our own.
2056 Patch mostly by James Livingston. Fixes bug #330346.
2058 2006-07-31 Jonathan Matthew <jonathan@kaolin.wh9.net>
2060 * shell/rb-shell-player.c:
2061 (rb_shell_player_set_playing_source_internal),
2062 (rb_shell_player_sync_with_selected_source):
2063 Remove call to rb_source_have_url, as we never did anything with the
2066 * sources/rb-browser-source.c: (rb_browser_source_class_init):
2067 * sources/rb-import-errors-source.c:
2068 (rb_import_errors_source_class_init):
2069 * sources/rb-iradio-source.c: (rb_iradio_source_class_init),
2070 (impl_song_properties), (impl_want_uri), (impl_add_uri):
2071 * sources/rb-library-source.c: (rb_library_source_class_init),
2072 (impl_want_uri), (impl_add_uri):
2073 * sources/rb-missing-files-source.c:
2074 (rb_missing_files_source_class_init):
2075 * sources/rb-playlist-source.c: (rb_playlist_source_class_init):
2076 * sources/rb-podcast-source.c: (rb_podcast_source_class_init),
2077 (impl_want_uri), (impl_add_uri):
2078 * sources/rb-source.c: (rb_source_class_init),
2079 (rb_source_want_uri), (rb_source_add_uri), (rb_source_handle_eos):
2080 * sources/rb-source.h:
2081 * sources/rb-static-playlist-source.c:
2082 (rb_static_playlist_source_class_init), (search_action_changed),
2084 Remove unused 'have_url' vfunc, add 'want_uri' and 'add_uri' vfuncs.
2085 When adding a URI, want_uri gets called for each source; the one that
2086 wants it most gets the URI passed to its add_uri method.
2089 * shell/rb-shell.c: (rb_shell_playing_entry_changed_cb),
2090 (rb_shell_guess_source_for_uri), (rb_shell_add_uri),
2091 (handle_playlist_entry_cb), (rb_shell_load_uri):
2092 * shell/rb-playlist-manager.c: (handle_playlist_entry_cb):
2093 Use want_uri and add_uri to simplify and make generic
2094 rb_shell_add_uri, rb_shell_load_uri, various playlist parsing code.
2096 If a source that returns TRUE from try_playlist wants all the URIs in
2097 the playlist, give it the playlist URI instead. This retains the
2098 existing behaviour for adding iradio playlists.
2100 * bindings/python/rb.defs: Update for above changes.
2104 2006-07-31 James Livingston <doclivingston@gmail.com>
2107 * data/generate-keys.sh: fix the build I broke with the last commit.
2110 2006-07-31 James Livingston <doclivingston@gmail.com>
2112 * data/rhythmbox.applications: remove from cvs, as it hasn't been used
2113 in a long time. Fixes #349179.
2115 2006-07-30 James Livingston <doclivingston@gmail.com>
2117 * lib/rb-util.c: (rb_gvalue_compare), (rb_value_array_append_data):
2118 * rhythmdb/rhythmdb-query.c: (rhythmdb_query_to_string):
2119 * rhythmdb/rhythmdb.c: (rhythmdb_finalize): more minor leak fixes
2121 2006-07-30 Jonathan Matthew <jonathan@kaolin.wh9.net>
2123 * sources/rb-browser-source.c: (rb_browser_source_do_query):
2124 Don't tell the browser the query is still pending when doing a subset
2125 search. Fixes #348617 again.
2127 2006-07-30 James Livingston <doclivingston@gmail.com>
2129 * bindings/python/rb.override: remove an extraneous _wrap_ from the
2130 override definition. Fixes #348893.
2132 2006-07-30 James Livingston <doclivingston@gmail.com>
2134 * lib/eel-gconf-extensions.c: (eel_gconf_handle_error): don't use
2135 rb_error_dialog, as it's above this in the stack.
2137 * lib/rb-util.c: (rb_gvalue_compare):
2138 * lib/rb-util.h: change the return type to int, as we're returning
2141 * rhythmdb/rhythmdb.c: (rhythmdb_finalize):
2142 * widgets/rb-query-creator.c: (rb_query_creator_constructor),
2143 (rb_query_creator_set_sorting): minor leak fixes
2145 2006-07-28 James Livingston <doclivingston@gmail.com>
2147 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_init),
2148 (rhythmdb_tree_finalize), (rhythmdb_tree_parser_end_element),
2149 (rhythmdb_tree_entry_new), (rhythmdb_tree_entry_new_internal),
2150 (get_or_create_genre), (remove_entry_from_album),
2151 (rhythmdb_tree_entry_set), (rhythmdb_tree_entry_delete),
2152 (rhythmdb_tree_entry_delete_by_type), (conjunctive_query),
2153 (rhythmdb_tree_entry_lookup_by_location),
2154 (rhythmdb_tree_entry_foreach_func), (rhythmdb_tree_entry_foreach),
2155 (rhythmdb_hash_tree_foreach),
2156 (rhythmdb_tree_entry_type_registered): actually make RhythmDBTree
2157 threadsafe. Fix a nasty problem if the _foreach callback function
2158 caused the addition/removal of entries.
2160 2006-07-27 Jonathan Matthew <jonathan@kaolin.wh9.net>
2162 * widgets/rb-entry-view.c: (rb_entry_view_set_model_internal):
2163 Clear selection before changing our idea of the model. Fixes crashes
2164 on model changes while playing.
2166 2006-07-27 James Livingston <doclivingston@gmail.com>
2168 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_entry_type_registered): add
2169 a missing rb_refstring_unref.
2171 * rhythmdb/rhythmdb.c: (rhythmdb_action_free),
2172 (rhythmdb_process_file_deleted): use rb_refstring_unref not g_free:
2173 oops. should hopefully fix the crash reported on #347425.
2175 2006-07-27 James Livingston <doclivingston@gmail.com>
2177 * backends/gstreamer/rb-encoder-gst.c:
2178 (get_profile_from_mime_type): fix encoding error issue, from #310774.
2180 * rhythmdb/rb-refstring.c: (rb_refstring_unref): Fix potential
2181 thread-safety issue.
2183 2006-07-27 James Livingston <doclivingston@gmail.com>
2185 * rhythmdb/rb-refstring.c: (rb_refstring_find):
2186 * rhythmdb/rb-refstring.h: add a new function which returns the
2187 RBRefString that matches a string, but never creates a new one.
2189 * rhythmdb/rhythmdb-monitor.c: (rhythmdb_init_monitoring),
2190 (monitor_entry_file), (rhythmdb_check_changed_file),
2191 (rhythmdb_directory_change_cb):
2192 * rhythmdb/rhythmdb-private.h:
2193 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_init),
2194 (unparent_entries), (free_unknown_entries),
2195 (rhythmdb_tree_parser_start_element),
2196 (rhythmdb_tree_parser_end_element), (save_entry),
2197 (save_unknown_entry_type), (rhythmdb_tree_entry_new),
2198 (rhythmdb_tree_entry_set), (rhythmdb_tree_entry_delete),
2199 (remove_one_song), (rhythmdb_tree_entry_lookup_by_location),
2200 (rhythmdb_tree_entry_type_registered):
2201 * rhythmdb/rhythmdb.c: (rhythmdb_execute_multi_stat_info_cb),
2202 (rhythmdb_event_free), (sync_entry_changed), (rhythmdb_entry_new),
2203 (rhythmdb_entry_example_new), (rhythmdb_entry_finalize),
2204 (rhythmdb_process_stat_event), (rhythmdb_add_import_error_entry),
2205 (rhythmdb_process_metadata_load),
2206 (rhythmdb_process_file_created_or_modified),
2207 (rhythmdb_process_file_deleted), (rhythmdb_execute_stat_info_cb),
2208 (rhythmdb_execute_stat), (queue_stat_uri), (rhythmdb_execute_load),
2209 (action_thread_main), (rhythmdb_entry_set_internal),
2210 (rhythmdb_entry_move_to_trash_set_error),
2211 (rhythmdb_entry_move_to_trash),
2212 (rhythmdb_entry_lookup_by_location),
2213 (rhythmdb_entry_lookup_by_location_refstring),
2214 (default_sync_metadata), (rhythmdb_entry_get_string),
2215 (rhythmdb_entry_get_refstring):
2216 * rhythmdb/rhythmdb.h:
2217 * shell/rb-shell.c: (rb_shell_db_entry_added_cb):
2218 * sources/rb-playlist-source.c: (rb_playlist_source_constructor),
2219 (rb_playlist_source_row_deleted),
2220 (rb_playlist_source_entry_added_cb),
2221 (rb_playlist_source_location_in_map),
2222 (rb_playlist_source_add_to_map): Make the LOCATION field of
2223 RhythmDBEntry be a RBRefString instead, which reduces some of the
2224 memory-fragmentation on startup and saves RBStaticPlaylistSource
2225 duplicating all the strings.
2227 2006-07-26 Jonathan Matthew <jonathan@kaolin.wh9.net>
2229 * rhythmdb/rhythmdb-query-model.c:
2230 (rhythmdb_query_model_copy_contents), (rhythmdb_query_model_chain):
2231 * rhythmdb/rhythmdb-query-model.h:
2232 Add function to copy contents from one query model to another,
2233 filtered by the destination model's query.
2235 * sources/rb-browser-source.c: (rb_browser_source_do_query):
2236 Use the above to create a new query model for subset searches, rather
2237 than filtering the existing model. Fixes #348617.
2239 2006-07-25 James Livingston <doclivingston@gmail.com>
2241 * rhythmdb/rhythmdb-query-model.c:
2242 (rhythmdb_query_model_entry_changed_cb): Make hidden entries not get
2243 lost from static playlists. Yet again. Fixes #323095.
2245 * tests/test-rhythmdb.c: (START_TEST), (rhythmdb_suite): add a test
2246 case for the above, so that we should know if a change will break it
2249 2006-07-25 William Jon McCann <mccann@jhu.edu>
2251 * data/rhythmbox.schemas: Fix for last commit.
2253 * podcast/rb-podcast-manager.c:
2254 (rb_podcast_manager_download_entry),
2255 (rb_podcast_manager_start_sync), (rb_podcast_manager_update_feeds),
2256 (rb_podcast_manager_db_entry_deleted_cb):
2257 * rhythmdb/rhythmdb-property-model.c:
2258 (rhythmdb_property_model_set_query_model_internal),
2259 (rhythmdb_property_model_set_property),
2260 (rhythmdb_property_model_finalize),
2261 (rhythmdb_property_model_drag_data_get):
2262 * rhythmdb/rhythmdb-query-model.c:
2263 (rhythmdb_query_model_set_query_internal),
2264 (rhythmdb_query_model_set_property),
2265 (rhythmdb_query_model_get_property), (rhythmdb_query_model_chain):
2266 * rhythmdb/rhythmdb-query-model.h:
2267 * sources/rb-browser-source.c: (rb_browser_source_dispose),
2268 (rb_browser_source_do_query):
2269 * sources/rb-import-errors-source.c:
2270 (rb_import_errors_source_constructor):
2271 * sources/rb-iradio-source.c: (rb_iradio_source_dispose),
2272 (rb_iradio_source_constructor), (rb_iradio_source_set_property),
2273 (rb_iradio_source_get_property), (rb_iradio_source_add_station),
2274 (impl_search), (impl_get_status),
2275 (rb_iradio_source_songs_show_popup_cb), (genre_selection_reset_cb),
2276 (rb_iradio_source_show_browser), (rb_iradio_source_do_query),
2277 (handle_playlist_entry_cb), (rb_iradio_source_add_from_playlist):
2278 * sources/rb-missing-files-source.c:
2279 (rb_missing_files_source_constructor),
2280 (rb_missing_files_source_dispose), (rb_missing_files_source_new):
2281 * sources/rb-play-queue-source.c: (rb_play_queue_source_finalize):
2282 * sources/rb-playlist-source.c: (rb_playlist_source_constructor),
2283 (rb_playlist_source_dispose), (rb_playlist_source_finalize),
2284 (rb_playlist_source_save_playlist),
2285 (rb_playlist_source_new_from_xml),
2286 (rb_playlist_source_save_to_xml),
2287 (rb_playlist_source_setup_entry_view),
2288 (rb_playlist_source_set_query_model), (rb_playlist_source_get_db),
2289 (rb_playlist_source_get_query_model),
2290 (rb_playlist_source_mark_dirty),
2291 (rb_playlist_source_location_in_map),
2292 (rb_playlist_source_add_to_map):
2293 * sources/rb-podcast-source.c: (rb_podcast_source_dispose),
2294 (rb_podcast_source_finalize), (rb_podcast_source_constructor),
2295 (rb_podcast_source_set_property), (rb_podcast_source_get_property),
2296 (impl_delete), (rb_podcast_source_state_prefs_sync),
2297 (rb_podcast_source_show_browser), (rb_podcast_source_do_query),
2298 (impl_get_config_widget), (rb_podcast_source_add_feed),
2299 (rb_podcast_source_cmd_download_post),
2300 (rb_podcast_source_cmd_cancel_download),
2301 (rb_podcast_source_cmd_delete_feed),
2302 (rb_podcast_source_cmd_update_feed),
2303 (rb_podcast_source_cmd_update_all),
2304 (rb_podcast_source_cb_interval_changed_cb),
2305 (rb_podcast_source_load_finish_cb), (rb_podcast_source_shutdown),
2306 (rb_podcast_source_entry_activated_cb):
2307 * sources/rb-source.c: (rb_source_finalize),
2308 (rb_source_set_query_model_internal), (rb_source_set_property),
2309 (default_get_status):
2310 * sources/rb-static-playlist-source.c:
2311 (rb_static_playlist_source_dispose),
2312 (rb_static_playlist_source_finalize),
2313 (rb_static_playlist_source_constructor),
2314 (rb_static_playlist_source_do_query):
2315 * widgets/rb-entry-view.c: (rb_entry_view_finalize),
2316 (rb_entry_view_set_shell_player_internal),
2317 (rb_entry_view_set_model_internal), (rb_entry_view_get_property),
2318 (rb_entry_view_set_model), (rb_entry_view_append_column),
2319 (rb_entry_view_insert_column_custom), (rb_entry_view_constructor),
2320 (rb_entry_view_set_state):
2321 * widgets/rb-library-browser.c: (rb_library_browser_constructor),
2322 (rb_library_browser_finalize), (rb_library_browser_new),
2323 (update_browser_property_visibilty), (view_selection_reset_cb),
2324 (reset_view_cb), (construct_query_cb), (ignore_selection_changes),
2325 (restore_selection), (rebuild_child_model),
2326 (rb_library_browser_set_selection), (rb_library_browser_set_model):
2327 * widgets/rb-property-view.c:
2328 (rb_property_view_set_model_internal),
2329 (rb_property_view_set_selection_mode), (rb_property_view_reset),
2330 (rb_property_view_get_model), (rb_property_view_set_model),
2331 (rb_property_view_get_num_properties),
2332 (rb_property_view_set_selection),
2333 (rb_property_view_append_column_custom),
2334 (rb_property_view_set_search_func):
2335 Fix some more leaks. Mostly RhythmDBQueryModel ref leaks.
2338 2006-07-25 William Jon McCann <mccann@jhu.edu>
2340 * sources/rb-playlist-source-recorder.c: (update_speed_combobox):
2341 Work around a small n-c-b API change.
2343 2006-07-25 James Livingston <doclivingston@gmail.com>
2345 * data/rhythmbox.schemas: fix the schema to use the right plugin keys
2347 * rhythmdb/rhythmdb.c: (rhythmdb_finalize),
2348 (rhythmdb_load_thread_main), (rhythmdb_load): release entry refs when
2349 aborting entry-emission on finalise
2351 2006-07-25 James Livingston <doclivingston@gmail.com>
2353 * shell/rb-play-order-random.c: (rb_random_play_order_go_next): fix
2354 warning when entry is NULL.
2356 2006-07-25 James Livingston <doclivingston@gmail.com>
2358 * help/sv/.cvsignore:
2360 * plugins/generic-player/.cvsignore:
2361 * remote/.cvsignore:
2362 * remote/dbus/.cvsignore:
2364 * tests/.cvsignore: more .cvsignore updates
2366 2006-07-24 James Livingston <doclivingston@gmail.com>
2368 * widgets/eggtrayicon.c: (egg_tray_icon_class_init),
2369 (transparent_expose_event), (make_transparent_again),
2370 (make_transparent), (egg_tray_icon_realize), (egg_tray_icon_add):
2371 apply a patch for EggTrayIcon so that it handled transparent panels
2372 correctly. Patch by DanWinship <danw@novell.com> from bug 150726.
2375 2006-07-24 James Livingston <doclivingston@gmail.com>
2377 * rhythmdb/rhythmdb-query.c: (rhythmdb_query_parse_valist): copy
2378 queries rather than taking ownership when parsing a subquery. Fixed a
2379 crash exposed by the recent leak fixes.
2381 * doc/reference/tmpl/disclosure-widget.sgml:
2382 * doc/reference/tmpl/rb-debug.sgml:
2383 * doc/reference/tmpl/rb-metadata.sgml:
2384 * doc/reference/tmpl/rb-play-order.sgml:
2385 * doc/reference/tmpl/rb-playlist-manager.sgml:
2386 * doc/reference/tmpl/rb-playlist-source.sgml:
2387 * doc/reference/tmpl/rb-shell-player.sgml:
2388 * doc/reference/tmpl/rb-shell.sgml:
2389 * doc/reference/tmpl/rb-song-display-box.sgml:
2390 * doc/reference/tmpl/rhythmbox-unused.sgml:
2391 * doc/reference/tmpl/rhythmdb.sgml: Update all the gtk-doc crap
2393 2006-07-24 James Livingston <doclivingston@gmail.com>
2396 * plugins/artdisplay/.cvsignore:
2397 * plugins/artdisplay/artdisplay/.cvsignore:
2398 * plugins/lyrics/.cvsignore:
2399 * plugins/pythonconsole/.cvsignore:
2400 * plugins/rb/.cvsignore: add/update various .cvsignore files
2402 2006-07-24 James Livingston <doclivingston@gmail.com>
2404 * rhythmdb/rb-refstring.c: (rb_refstring_unref),
2405 (rb_refstring_ref): don't emit critical warnings when the refstring
2406 is NULL, as that happens often for podcast metadata.
2408 * rhythmdb/rhythmdb-query-model.c: (apply_updated_entry_sequence): add
2409 missing rhythmdb_entry_ref call
2411 2006-07-23 William Jon McCann <mccann@jhu.edu>
2413 * bindings/python/rb.override:
2414 * daapsharing/rb-daap-share.c: (add_playlist_entry_to_mlcl):
2415 * plugins/cd-recorder/rb-cd-recorder-plugin.c:
2416 (playlist_row_inserted_cb):
2417 * plugins/generic-player/rb-psp-source.c: (visit_playlist_dirs):
2418 * plugins/rb-plugin-manager.c:
2419 * podcast/rb-podcast-manager.c: (rb_podcast_manager_head_query_cb),
2420 (rb_podcast_manager_copy_post),
2421 (rb_podcast_manager_db_entry_deleted_cb),
2422 (rb_podcast_manager_insert_feed):
2423 * rhythmdb/rb-refstring.c: (rb_refstring_unref),
2424 (rb_refstring_ref), (rb_refstring_get_sort_key):
2425 * rhythmdb/rhythmdb-private.h:
2426 * rhythmdb/rhythmdb-property-model.c:
2427 (rhythmdb_property_model_set_property),
2428 (rhythmdb_property_model_get_property),
2429 (rhythmdb_property_model_finalize), (rhythmdb_property_model_new),
2430 (rhythmdb_property_model_row_inserted_cb),
2431 (rhythmdb_property_model_prop_changed_cb),
2432 (rhythmdb_property_model_compare),
2433 (rhythmdb_property_model_insert),
2434 (rhythmdb_property_model_iter_from_string),
2435 (rhythmdb_property_model_get_column_type),
2436 (rhythmdb_property_model_get_iter),
2437 (rhythmdb_property_model_get_value),
2438 (rhythmdb_property_model_iter_nth_child), (query_model_cb),
2439 (rhythmdb_property_model_enable_drag):
2440 * rhythmdb/rhythmdb-query-model.c: (rhythmdb_query_model_init),
2441 (rhythmdb_query_model_constructor), (rhythmdb_query_model_dispose),
2442 (rhythmdb_query_model_finalize), (rhythmdb_query_model_new),
2443 (rhythmdb_query_model_chain),
2444 (rhythmdb_query_model_entry_added_cb),
2445 (rhythmdb_query_model_entry_changed_cb),
2446 (rhythmdb_query_model_entry_deleted_cb), (idle_process_update),
2447 (rhythmdb_query_model_add_entry),
2448 (rhythmdb_query_model_insert_into_main_list),
2449 (rhythmdb_query_model_insert_into_limited_list),
2450 (rhythmdb_query_model_remove_from_main_list),
2451 (rhythmdb_query_model_remove_from_limited_list),
2452 (rhythmdb_query_model_update_limited_entries),
2453 (rhythmdb_query_model_emit_reorder),
2454 (rhythmdb_query_model_do_reorder),
2455 (rhythmdb_query_model_do_insert),
2456 (rhythmdb_query_model_move_entry),
2457 (rhythmdb_query_model_remove_entry),
2458 (rhythmdb_query_model_entry_to_iter),
2459 (rhythmdb_query_model_iter_to_entry),
2460 (rhythmdb_query_model_get_previous_from_entry),
2461 (rhythmdb_query_model_row_draggable),
2462 (rhythmdb_query_model_drag_data_delete),
2463 (rhythmdb_query_model_drag_data_get),
2464 (rhythmdb_query_model_drag_data_received),
2465 (rhythmdb_query_model_row_drop_possible),
2466 (rhythmdb_query_model_row_drop_position),
2467 (rhythmdb_query_model_add_results),
2468 (rhythmdb_query_model_query_complete),
2469 (rhythmdb_query_model_get_column_type),
2470 (rhythmdb_query_model_get_iter), (rhythmdb_query_model_get_value),
2471 (rhythmdb_query_model_iter_nth_child),
2472 (apply_updated_entry_sequence),
2473 (rhythmdb_query_model_child_index_to_base_index),
2474 (rhythmdb_query_model_get_entry_index),
2475 (rhythmdb_query_model_base_row_inserted),
2476 (rhythmdb_query_model_base_row_deleted),
2477 (rhythmdb_query_model_reapply_query), (_reverse_sorting_func),
2478 (rhythmdb_query_model_location_sort_func),
2479 (rhythmdb_query_model_title_sort_func),
2480 (rhythmdb_query_model_album_sort_func),
2481 (rhythmdb_query_model_artist_sort_func),
2482 (rhythmdb_query_model_track_sort_func),
2483 (rhythmdb_query_model_double_ceiling_sort_func),
2484 (rhythmdb_query_model_ulong_sort_func),
2485 (rhythmdb_query_model_date_sort_func),
2486 (rhythmdb_query_model_string_sort_func),
2487 (rhythmdb_query_model_within_limit):
2488 * rhythmdb/rhythmdb-tree.c: (unparent_entries),
2489 (rhythmdb_tree_parser_start_element),
2490 (rhythmdb_tree_parser_end_element),
2491 (rhythmdb_tree_parser_characters), (rhythmdb_tree_load),
2492 (write_elt_name_open), (write_elt_name_close), (save_entry_string),
2493 (save_entry_int), (save_entry_ulong), (save_entry_boolean),
2494 (save_entry_uint64), (save_entry_double), (save_entry),
2495 (set_entry_album), (rhythmdb_tree_entry_new),
2496 (get_genres_hash_for_type), (get_or_create_genre),
2497 (get_or_create_artist), (get_or_create_album), (remove_child),
2498 (remove_entry_from_album), (rhythmdb_tree_entry_set),
2499 (rhythmdb_tree_entry_delete), (remove_one_song),
2500 (rhythmdb_tree_entry_delete_by_type),
2501 (rhythmdb_tree_evaluate_query), (search_match_properties),
2502 (evaluate_conjunctive_subquery), (do_conjunction),
2503 (conjunctive_query_songs), (clone_remove_ptr_array_index),
2504 (conjunctive_query_albums), (conjunctive_query_artists),
2505 (conjunctive_query_genre), (conjunctive_query),
2506 (split_query_by_disjunctions), (do_query_recurse),
2507 (handle_entry_match), (rhythmdb_tree_entry_lookup_by_location),
2508 (rhythmdb_tree_entry_foreach_func), (rhythmdb_tree_entry_foreach),
2509 (hash_tree_entries_foreach), (hash_tree_albums_foreach),
2510 (hash_tree_artists_foreach), (hash_tree_genres_foreach):
2511 * rhythmdb/rhythmdb.c: (metadata_field_from_prop),
2512 (extract_gtype_from_enum_entry),
2513 (extract_nice_name_from_enum_entry), (rhythmdb_init),
2514 (rhythmdb_execute_multi_stat_info_cb), (rhythmdb_action_free),
2515 (rhythmdb_event_free), (rhythmdb_finalize),
2516 (rhythmdb_set_property), (rhythmdb_get_property),
2517 (rhythmdb_thread_create), (free_entry_changes),
2518 (emit_entry_changed), (sync_entry_changed),
2519 (process_added_entries_cb), (process_deleted_entries_cb),
2520 (rhythmdb_commit_internal), (rhythmdb_add_timeout_commit),
2521 (rhythmdb_entry_allocate), (rhythmdb_entry_get_type_data),
2522 (rhythmdb_entry_insert), (rhythmdb_entry_new),
2523 (rhythmdb_entry_example_new), (rhythmdb_entry_ref),
2524 (rhythmdb_entry_finalize), (rhythmdb_entry_unref),
2525 (rhythmdb_entry_is_editable), (set_props_from_metadata),
2526 (rhythmdb_process_stat_event), (rhythmdb_add_import_error_entry),
2527 (rhythmdb_process_metadata_load),
2528 (rhythmdb_process_file_created_or_modified),
2529 (rhythmdb_process_file_deleted), (rhythmdb_process_events),
2530 (rhythmdb_execute_stat_info_cb), (rhythmdb_execute_stat),
2531 (queue_stat_uri), (queue_stat_uri_tad), (rhythmdb_execute_load),
2532 (rhythmdb_entry_get), (entry_to_rb_metadata), (rhythmdb_add_uri),
2533 (rhythmdb_add_uri_with_type), (rhythmdb_entry_set),
2534 (record_entry_change), (rhythmdb_entry_set_internal),
2535 (rhythmdb_entry_sync_mirrored), (rhythmdb_entry_delete),
2536 (rhythmdb_entry_move_to_trash_cb),
2537 (rhythmdb_entry_move_to_trash_set_error),
2538 (rhythmdb_entry_move_to_trash), (rhythmdb_entry_delete_by_type),
2539 (rhythmdb_nice_elt_name_from_propid),
2540 (rhythmdb_propid_from_nice_elt_name),
2541 (rhythmdb_entry_lookup_by_location), (rhythmdb_entry_foreach),
2542 (rhythmdb_evaluate_query), (rhythmdb_emit_entry_deleted),
2543 (rhythmdb_compute_status_normal), (default_sync_metadata),
2544 (rhythmdb_entry_register_type), (rhythmdb_entry_type_foreach),
2545 (rhythmdb_entry_type_get_by_name), (song_can_sync_metadata),
2546 (podcast_get_playback_uri), (podcast_data_destroy),
2547 (rhythmdb_entry_set_mount_point), (rhythmdb_entry_set_visibility),
2548 (rhythmdb_entry_dup_string), (rhythmdb_entry_get_string),
2549 (rhythmdb_entry_get_boolean), (rhythmdb_entry_get_uint64),
2550 (rhythmdb_entry_get_entry_type), (rhythmdb_entry_get_pointer),
2551 (rhythmdb_entry_get_ulong), (rhythmdb_entry_get_double),
2552 (rhythmdb_entry_get_playback_uri), (rhythmdb_get_property_type):
2553 * rhythmdb/rhythmdb.h:
2554 * shell/rb-play-order-linear-loop.c:
2555 (rb_linear_play_order_loop_get_next),
2556 (rb_linear_play_order_loop_get_previous):
2557 * shell/rb-play-order-linear.c: (rb_linear_play_order_get_next),
2558 (rb_linear_play_order_get_previous):
2559 * shell/rb-play-order-queue.c: (rb_queue_play_order_get_previous):
2560 * shell/rb-play-order-random.c: (get_query_model_contents):
2561 * shell/rb-play-order-shuffle.c: (handle_query_model_changed),
2562 (get_query_model_contents):
2563 * shell/rb-play-order.c: (rb_play_order_constructor),
2564 (rb_play_order_finalize),
2565 (rb_play_order_set_playing_entry_internal),
2566 (rb_play_order_set_property), (rb_play_order_new),
2567 (rb_play_order_get_player), (rb_play_order_get_source),
2568 (rb_play_order_get_db), (rb_play_order_get_query_model),
2569 (rb_play_order_player_is_playing),
2570 (rb_play_order_set_playing_entry),
2571 (rb_play_order_get_playing_entry),
2572 (rb_play_order_playing_source_changed),
2573 (rb_play_order_query_model_changed),
2574 (rb_play_order_entry_added_cb), (rb_play_order_row_deleted_cb),
2575 (default_has_next), (default_has_previous),
2576 (sync_playing_entry_cb), (default_playing_entry_removed),
2577 (rb_play_order_has_next), (rb_play_order_get_next),
2578 (rb_play_order_go_next), (rb_play_order_has_previous),
2579 (rb_play_order_get_previous), (rb_play_order_go_previous),
2580 (rb_play_order_model_not_empty),
2581 (rb_play_order_update_have_next_previous):
2582 * shell/rb-playlist-manager.c: (rb_playlist_manager_is_dirty),
2583 (rb_playlist_manager_save_playlists),
2584 (rb_playlist_manager_set_automatic_playlist),
2585 (rb_playlist_manager_cmd_edit_automatic_playlist),
2586 (_queue_track_cb), (rb_playlist_manager_get_playlists),
2587 (rb_playlist_manager_get_playlist_names), (_get_playlist_by_name):
2588 * shell/rb-shell-clipboard.c: (add_playlist_to_menu):
2589 * shell/rb-shell-player.c: (rb_shell_player_constructor),
2590 (volume_pre_unmount_cb), (reemit_playing_signal),
2591 (notify_playing_idle), (rb_shell_player_open_playlist_url),
2592 (rb_shell_player_handle_eos_unlocked),
2593 (rb_shell_player_handle_eos), (rb_shell_player_init),
2594 (rb_shell_player_new), (rb_shell_player_get_playing_entry),
2595 (playlist_entry_cb), (rb_shell_player_open_entry),
2596 (rb_shell_player_play), (do_next_idle), (gconf_play_order_changed),
2597 (rb_shell_player_set_play_order),
2598 (rb_shell_player_set_playback_state),
2599 (rb_shell_player_sync_play_order),
2600 (rb_shell_player_play_order_update_cb),
2601 (rb_shell_player_jump_to_current), (swap_playing_source),
2602 (rb_shell_player_do_previous), (rb_shell_player_do_next),
2603 (rb_shell_player_do_previous_or_seek), (rb_shell_player_playpause),
2604 (rb_shell_player_sync_volume), (rb_shell_player_sync_replaygain),
2605 (rb_shell_player_entry_activated_cb),
2606 (rb_shell_player_property_row_activated_cb),
2607 (rb_shell_player_entry_changed_cb),
2608 (rb_shell_player_sync_with_source), (rb_shell_player_sync_buttons),
2609 (rb_shell_player_pause),
2610 (rb_shell_player_get_playing_song_duration),
2611 (rb_shell_player_error), (error_cb), (tick_cb),
2612 (info_available_cb), (buffering_cb),
2613 (rb_shell_player_get_playing_path), (grab_mmkey), (filter_mmkeys):
2614 * shell/rb-shell.c: (rb_shell_playing_from_queue_cb),
2615 (rb_shell_jump_to_current):
2616 * sources/rb-auto-playlist-source.c:
2617 (rb_auto_playlist_source_finalize), (impl_receive_drag),
2618 (impl_save_contents_to_xml), (rb_auto_playlist_source_set_query),
2619 (rb_auto_playlist_source_get_query):
2620 * sources/rb-auto-playlist-source.h:
2621 * sources/rb-browser-source.c: (rb_browser_source_do_query):
2622 * sources/rb-import-errors-source.c:
2623 (rb_import_errors_source_constructor):
2624 * sources/rb-iradio-source.c: (rb_iradio_source_do_query):
2625 * sources/rb-library-source.c: (filepath_parse_pattern):
2626 * sources/rb-missing-files-source.c:
2627 (rb_missing_files_source_constructor):
2628 * sources/rb-play-queue-source.c:
2629 (rb_play_queue_source_clear_queue),
2630 (rb_play_queue_source_track_info_cell_data_func):
2631 * sources/rb-playlist-source.c: (rb_playlist_source_set_property),
2632 (rb_playlist_source_get_property), (playlist_iter_func),
2633 (rb_playlist_source_save_to_xml), (rb_playlist_source_row_deleted),
2634 (rb_playlist_source_track_cell_data_func):
2635 * sources/rb-podcast-source.c: (construct_query_from_selection),
2636 (rb_podcast_source_post_status_cell_data_func),
2637 (rb_podcast_source_post_feed_cell_data_func),
2638 (rb_podcast_source_feed_title_search_func),
2639 (rb_podcast_source_post_date_cell_data_func):
2640 * sources/rb-source.c: (default_get_status),
2641 (rb_source_get_status), (rb_source_browser_toggled),
2642 (rb_source_update_play_statistics), (rb_source_search),
2643 (rb_source_get_config_widget), (default_add_to_queue),
2644 (rb_source_add_to_queue), (rb_source_receive_drag),
2645 (rb_source_gather_hash_keys):
2646 * sources/rb-sourcelist-model.c: (rb_sourcelist_model_new),
2647 (rb_sourcelist_model_is_row_visible),
2648 (rb_sourcelist_model_row_is_separator),
2649 (rb_sourcelist_model_drag_data_received), (path_is_droppable),
2650 (path_is_reorderable), (rb_sourcelist_model_row_draggable),
2651 (rb_sourcelist_model_drag_data_get):
2652 * sources/rb-sourcelist.c: (rb_sourcelist_append),
2653 (match_source_to_iter), (rb_sourcelist_source_to_iter),
2654 (rb_sourcelist_visible_source_to_iter),
2655 (rb_sourcelist_edit_source_name), (set_source_playing),
2656 (rb_sourcelist_set_playing_source), (rb_sourcelist_remove),
2657 (rb_sourcelist_select), (rb_sourcelist_selection_changed_cb),
2658 (drop_received_cb), (row_activated_cb), (emit_show_popup),
2659 (key_release_cb), (name_notify_cb), (visibility_notify_cb),
2660 (rb_sourcelist_title_cell_data_func), (source_name_edited_cb):
2661 * sources/rb-static-playlist-source.c: (impl_save_contents_to_xml),
2662 (rb_static_playlist_source_add_location_internal),
2663 (rb_static_playlist_source_row_inserted):
2664 * widgets/rb-entry-view.c: (type_ahead_search_func),
2665 (rb_entry_view_finalize), (rb_entry_view_set_model),
2666 (rb_entry_view_playing_cell_data_func),
2667 (rb_entry_view_rating_cell_data_func),
2668 (rb_entry_view_long_cell_data_func),
2669 (rb_entry_view_play_count_cell_data_func),
2670 (rb_entry_view_duration_cell_data_func),
2671 (rb_entry_view_year_cell_data_func),
2672 (rb_entry_view_quality_cell_data_func),
2673 (rb_entry_view_location_cell_data_func),
2674 (rb_entry_view_string_cell_data_func),
2675 (rb_entry_view_sync_sorting), (rb_entry_view_set_sorting_type),
2676 (rb_entry_view_get_sorting_order),
2677 (rb_entry_view_set_sorting_order), (rb_entry_view_append_column),
2678 (rb_entry_view_set_columns_clickable), (rb_entry_view_constructor),
2679 (rb_entry_view_rated_cb), (rb_entry_view_pixbuf_clicked_cb),
2680 (rb_entry_view_playing_song_changed), (harvest_entries),
2681 (rb_entry_view_button_press_cb), (rb_entry_view_row_activated_cb),
2682 (rb_entry_view_row_inserted_cb), (rb_entry_view_row_deleted_cb),
2683 (set_column_visibility):
2684 * widgets/rb-entry-view.h:
2685 * widgets/rb-header.c: (rb_header_new),
2686 (rb_header_set_playing_entry), (rb_header_set_title):
2687 * widgets/rb-library-browser.c: (rebuild_child_model),
2688 (rb_library_browser_set_model):
2689 * widgets/rb-property-view.c:
2690 (rb_property_view_set_model_internal), (rb_property_view_finalize),
2691 (rb_property_view_set_property), (rb_property_view_get_property),
2692 (rb_property_view_reset), (rb_property_view_get_model),
2693 (rb_property_view_set_model), (rb_property_view_row_activated_cb),
2694 (rb_property_view_button_press_cb):
2695 * widgets/rb-query-creator.c: (rb_query_creator_constructor),
2696 (rb_query_creator_get_property), (rb_query_creator_load_query),
2697 (rb_query_creator_set_sorting), (rb_query_creator_new_from_query),
2698 (rb_query_creator_get_query), (rb_query_creator_get_limit),
2699 (rb_query_creator_get_sort_order), (limit_toggled_cb),
2700 (lookup_row_by_widget), (remove_button_click_cb),
2701 (add_button_click_cb), (create_property_option_menu):
2702 * widgets/rb-song-info.c: (rb_song_info_constructor),
2703 (rb_song_info_finalize), (rb_song_info_backward_clicked_cb),
2704 (rb_song_info_forward_clicked_cb), (rb_song_info_update_buttons),
2705 (rb_song_info_update_rating), (rb_song_info_sync_entry_single):
2706 Fix more leaks. Mostly RhythmDBEntry ref leaks. From #347446
2708 2006-07-23 Jonathan Matthew <jonathan@kaolin.wh9.net>
2710 * shell/rb-shell-player.c: (rb_shell_player_class_init),
2711 (rb_shell_player_get_property):
2712 Add a property providing access to the player backend object.
2714 2006-07-23 James Livingston <doclivingston@gmail.com>
2716 * shell/rb-play-order-random.c: (rb_random_play_order_finalize),
2717 (get_history), (rb_random_filter_history),
2718 (rb_random_playing_entry_changed), (rb_random_db_entry_deleted):
2719 remove the tentative history, since it appears to be a remanent from
2720 older play order code. The only thing it was doing was using up
2721 CPU-time and memory. From #345857
2723 2006-07-23 James Livingston <doclivingston@gmail.com>
2725 patch by: Alex Lancaster <alexl@users.sourceforge.net>
2727 * shell/main.c: (main):
2728 * shell/rb-playlist-manager.c: (rb_playlist_manager_class_init),
2729 (rb_playlist_manager_finalize), (rb_playlist_manager_set_property),
2730 (rb_playlist_manager_get_property), (rb_playlist_manager_new),
2731 (rb_playlist_manager_load_playlists),
2732 (rb_playlist_manager_save_data):
2733 * shell/rb-playlist-manager.h:
2734 * shell/rb-shell.c: (rb_shell_class_init), (rb_shell_set_property),
2735 (rb_shell_get_property), (rb_shell_sync_state),
2736 (idle_save_playlist_manager), (rb_shell_finalize), (rb_shell_new),
2737 (construct_sources), (idle_handle_load_complete):
2738 * shell/rb-shell.h: Add a command-line option for changing the
2739 playlist xml file to use, similar to the rhythmdb one. Fixes #343659.
2741 2006-07-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
2743 * daapsharing/rb-daap-share.c: (databases_cb):
2744 Make sure we set status codes on HTTP responses.
2746 2006-07-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
2749 * daapsharing/rb-daap-share.c: (add_entry_to_mlcl),
2750 (chunked_message_finished), (send_chunked_file),
2751 (mapped_file_message_finished), (send_mapped_file), (databases_cb):
2752 Use GMappedFile to send local files to DAAP clients where possible.
2753 iTunes can't seek properly in files sent using chunked transfer
2754 encoding. Also remove the useless bitrate calculation code, as we
2755 never even used the result anyway. From #330410.
2757 2006-07-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
2759 patch by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
2761 * shell/rb-shell.c: (rb_shell_cmd_add_file_to_library):
2762 Enable multiple selection for 'import file'. Fixes #347478.
2764 2006-07-20 Claudio Saavedra <csaavedra@alumnos.utalca.cl>
2766 * metadata/rb-metadata-dbus-client.c: (kill_metadata_service):
2767 * metadata/rb-metadata-dbus-service.c: (main): Replace calls to
2768 deprecated dbus_connection_disconnect () with dbus_connection_close ().
2771 2006-07-20 James Livingston <doclivingston@gmail.com>
2773 * widgets/rb-entry-view.c: (type_ahead_search_func): check the strings
2774 aren't NULL before calling strstr. Fixes #347998.
2776 2006-07-19 James Livingston <doclivingston@gmail.com>
2778 patch by: Alex Lancaster <alexl@users.sourceforge.net>
2780 * metadata/sj-metadata-musicbrainz.c: (lookup_cd): accept dates from
2781 MB that only have years. Fixes #347906.
2783 2006-07-19 James Livingston <doclivingston@gmail.com>
2785 * rhythmdb/rhythmdb-private.h:
2786 * rhythmdb/rhythmdb.c: (rhythmdb_init),
2787 (rhythmdb_execute_multi_stat_info_cb), (rhythmdb_event_free),
2788 (_shutdown_foreach_swapped), (rhythmdb_shutdown),
2789 (rhythmdb_finalize), (timeout_rhythmdb_commit),
2790 (rhythmdb_add_timeout_commit), (rhythmdb_execute_stat_info_cb),
2791 (rhythmdb_execute_stat), (queue_stat_uri),
2792 (rhythmdb_sync_library_idle), (rhythmdb_load_thread_main),
2793 (rhythmdb_load), (rhythmdb_entry_register_type),
2794 (rhythmdb_entry_register_type_alias): Keep track of outstanding
2795 asynchronous vfs operations, and cancel them when shutting down the
2796 DB. Also remove outstanding timeoud/idle callbacks. Fixes #347985
2798 * tests/test-rhythmdb.c: (mark_signal), (set_waiting_signal),
2799 (test_rhythmdb_shutdown): wait until the db has been finalised before
2800 continuing on to the next test.
2802 2006-07-19 James Livingston <doclivingston@gmail.com>
2804 * backends/gstreamer/rb-encoder-gst.c: (add_tags_from_entry): use the
2805 right thing in the #ifdef. From #347832.
2807 2006-07-19 Jonathan Matthew <jonathan@kaolin.wh9.net>
2809 * rhythmdb/rhythmdb-query.c: (rhythmdb_query_to_string):
2810 Fix compile warning.
2812 2006-07-18 Jonathan Matthew <jonathan@kaolin.wh9.net>
2814 * rhythmdb/rhythmdb-query-model.c:
2815 (rhythmdb_query_model_set_property),
2816 (rhythmdb_query_model_reapply_query_cb):
2817 Ignore old query == new query case.
2818 Fixes auto playlists with time-relative queries.
2820 * rhythmdb/rhythmdb-query.c: (prop_gvalue_to_string),
2821 (write_encoded_gvalue), (rhythmdb_query_is_time_relative),
2822 (rhythmdb_query_to_string):
2823 * rhythmdb/rhythmdb.h:
2824 Add debug helper for printing queries in case someone needs it again.
2826 2006-07-18 James Livingston <doclivingston@gmail.com>
2828 patch by: Ståle Lyngaas <staale@lyngaas.com>
2829 * sources/rb-audiocd-source.c: store the MB track ids in the database.
2832 * backends/gstreamer/rb-encoder-gst.c: (add_tags_from_entry): and
2833 write then into files.
2835 2006-07-17 William Jon McCann <mccann@jhu.edu>
2837 * daapsharing/rb-daap-connection.c:
2838 (rb_daap_connection_set_property):
2839 * daapsharing/rb-daap-share.c: (rb_daap_share_set_db),
2840 (rb_daap_share_set_playlist_manager), (rb_daap_share_set_property),
2841 (add_playlist_to_mlcl), (databases_cb):
2842 * daapsharing/rb-daap-sharing.c: (create_share):
2843 * iradio/rb-new-station-dialog.c:
2844 (rb_new_station_dialog_class_init), (rb_new_station_dialog_new):
2845 * iradio/rb-station-properties-dialog.c:
2846 (rb_station_properties_dialog_finalize),
2847 (rb_station_properties_dialog_set_property),
2848 (rb_station_properties_dialog_get_current_entry):
2849 * lib/rb-file-helpers.c: (rb_uri_handle_recursively_cb):
2850 * lib/rb-tree-dnd.c: (init_rb_tree_dnd_data):
2851 * plugins/generic-player/rb-generic-player-source.c:
2852 (rb_generic_player_source_dispose), (rb_generic_player_source_new),
2853 (handle_playlist_entry_cb):
2854 * plugins/generic-player/rb-nokia770-source.c:
2855 (rb_nokia770_source_new), (hal_udi_is_nokia770):
2856 * plugins/generic-player/rb-psp-source.c: (impl_get_mount_path),
2857 (visit_playlist_dirs), (hal_udi_is_psp):
2858 * podcast/rb-podcast-manager.c:
2859 * podcast/rb-podcast-properties-dialog.c:
2860 (rb_podcast_properties_dialog_finalize),
2861 (rb_podcast_properties_dialog_set_entry_view),
2862 (rb_podcast_properties_dialog_set_property):
2863 * rhythmdb/rhythmdb-property-model.c:
2864 * rhythmdb/rhythmdb-query-model.c:
2865 (rhythmdb_query_model_set_property),
2866 (rhythmdb_query_model_reapply_query_cb):
2867 * rhythmdb/rhythmdb-query.c: (rhythmdb_query_deserialize):
2868 * rhythmdb/rhythmdb-tree.c: (split_query_by_disjunctions):
2869 * rhythmdb/rhythmdb.c: (rhythmdb_action_free),
2870 (rhythmdb_event_free), (rhythmdb_shutdown),
2871 (rhythmdb_thread_create), (action_thread_main),
2872 (rhythmdb_do_full_query_async_parsed),
2873 (rhythmdb_do_full_query_internal):
2874 * shell/main.c: (main):
2875 * shell/rb-play-order-random.c: (rb_random_play_order_go_next):
2876 * shell/rb-play-order.c: (rb_play_order_finalize),
2877 (rb_play_order_set_player),
2878 (rb_play_order_set_playing_entry_internal),
2879 (rb_play_order_set_property),
2880 (rb_play_order_playing_source_changed),
2881 (rb_play_order_query_model_changed):
2882 * shell/rb-playlist-manager.c: (rb_playlist_manager_finalize),
2883 (rb_playlist_manager_set_source),
2884 (rb_playlist_manager_set_shell_internal),
2885 (rb_playlist_manager_set_property):
2886 * shell/rb-removable-media-manager.c:
2887 (rb_removable_media_manager_set_property),
2888 (rb_removable_media_manager_set_uimanager),
2889 (rb_removable_media_manager_cmd_eject_medium),
2890 (rb_removable_media_manager_cmd_copy_tracks):
2891 * shell/rb-shell-clipboard.c: (rb_shell_clipboard_finalize),
2892 (rb_shell_clipboard_new), (rb_shell_clipboard_sync),
2893 (rb_shell_clipboard_set),
2894 (rb_shell_clipboard_cmd_add_to_playlist_new),
2895 (rb_shell_clipboard_playlist_add_cb),
2896 (rb_shell_clipboard_playlist_renamed_cb),
2897 (rb_shell_clipboard_playlist_visible_cb), (add_playlist_to_menu),
2898 (rebuild_playlist_menu):
2899 * shell/rb-shell-player.c: (rb_shell_player_set_source_internal),
2900 (rb_shell_player_set_queue_source_internal),
2901 (rb_shell_player_finalize), (rb_shell_player_set_play_order),
2902 (rb_shell_player_entry_activated_cb),
2903 (rb_shell_player_property_row_activated_cb),
2904 (_idle_unblock_signal_cb), (rb_shell_player_playing_changed_cb):
2905 * shell/rb-shell-preferences.c: (rb_shell_preferences_new):
2906 * shell/rb-shell.c: (rb_shell_class_init), (rb_shell_get_property),
2907 (rb_shell_finalize), (construct_widgets),
2908 (rb_shell_playing_from_queue_cb),
2909 (rb_shell_player_stream_song_changed_cb),
2910 (rb_shell_player_volume_changed_cb):
2911 * shell/rb-statusbar.c: (rb_statusbar_new):
2912 * shell/rb-tray-icon.c: (rb_tray_icon_finalize),
2913 (rb_tray_icon_sync_action), (rb_tray_icon_set_property):
2914 * sources/rb-audiocd-source.c: (rb_audiocd_source_new):
2915 * sources/rb-auto-playlist-source.c:
2916 (rb_auto_playlist_source_class_init),
2917 (rb_auto_playlist_source_init), (rb_auto_playlist_source_finalize),
2918 (rb_auto_playlist_source_constructor), (impl_receive_drag),
2919 (rb_auto_playlist_source_do_query),
2920 (rb_auto_playlist_source_set_query),
2921 (rb_auto_playlist_source_browser_changed_cb),
2922 (search_action_changed):
2923 * sources/rb-auto-playlist-source.h:
2924 * sources/rb-browser-source.c: (rb_browser_source_finalize),
2925 (search_action_changed), (rb_browser_source_constructor),
2926 (rb_browser_source_cmd_choose_artist), (impl_delete),
2927 (rb_browser_source_browser_changed_cb),
2928 (rb_browser_source_do_query):
2929 * sources/rb-daap-source.c: (rb_daap_source_dispose),
2930 (rb_daap_source_finalize), (rb_daap_source_class_init),
2931 (rb_daap_get_icon), (rb_daap_source_new), (destroy_pixbufs),
2932 (rb_daap_sources_init), (rb_daap_sources_shutdown),
2933 (rb_daap_source_connection_cb), (rb_daap_source_activate),
2934 (rb_daap_source_cmd_disconnect), (rb_daap_source_disconnect),
2935 (rb_daap_source_get_headers):
2936 * sources/rb-import-errors-source.c:
2937 (rb_import_errors_source_constructor),
2938 (rb_import_errors_source_new), (impl_delete), (impl_get_status):
2939 * sources/rb-ipod-source.c: (rb_ipod_source_name_changed_cb),
2940 (rb_ipod_source_new), (add_rb_playlist), (add_ipod_song_to_db),
2941 (get_db_for_source), (load_ipod_db_idle_cb), (rb_ipod_load_songs),
2942 (hal_udi_is_ipod), (impl_move_to_trash), (completed_cb),
2943 (impl_paste), (impl_receive_drag):
2944 * sources/rb-iradio-source.c: (rb_iradio_source_finalize),
2945 (rb_iradio_source_constructor), (impl_get_status), (impl_delete),
2946 (impl_song_properties):
2947 * sources/rb-library-source.c: (rb_library_source_constructor),
2948 (rb_library_source_new), (impl_paste),
2949 (rb_library_source_add_child_source):
2950 * sources/rb-missing-files-source.c: (impl_delete),
2952 * sources/rb-play-queue-source.c: (rb_play_queue_source_finalize),
2953 (rb_play_queue_source_class_init),
2954 (rb_play_queue_source_constructor):
2955 * sources/rb-playlist-source.c: (rb_playlist_source_init),
2956 (rb_playlist_source_set_db), (rb_playlist_source_constructor),
2957 (rb_playlist_source_dispose), (rb_playlist_source_save_playlist),
2958 (rb_playlist_source_new_from_xml),
2959 (rb_playlist_source_save_to_xml):
2960 * sources/rb-podcast-source.c: (rb_podcast_source_init),
2961 (rb_podcast_source_dispose), (rb_podcast_source_finalize),
2962 (search_action_changed), (rb_podcast_source_constructor),
2963 (impl_delete), (rb_podcast_source_songs_show_popup_cb),
2964 (construct_query_from_selection),
2965 (rb_podcast_source_cmd_download_post),
2966 (rb_podcast_source_cmd_cancel_download),
2967 (rb_podcast_source_cmd_delete_feed),
2968 (rb_podcast_source_start_download_cb),
2969 (rb_podcast_source_finish_download_cb),
2970 (rb_podcast_source_feed_updates_avaliable_cb),
2971 (rb_podcast_source_get_shell), (impl_can_add_to_queue),
2972 (impl_add_to_queue), (rb_podcast_source_cmd_new_podcast),
2974 * sources/rb-removable-media-source.c: (impl_delete_thyself):
2975 * sources/rb-source.c: (rb_source_get_property),
2976 (default_add_to_queue), (default_move_to_trash),
2977 (_rb_source_show_popup), (rb_source_gather_selected_properties),
2978 (_rb_source_register_action_group):
2979 * sources/rb-sourcelist-model.c: (rb_sourcelist_model_new),
2980 (rb_sourcelist_model_is_row_visible),
2981 (rb_sourcelist_model_drag_data_received), (path_is_reorderable),
2982 (rb_sourcelist_model_row_draggable),
2983 (rb_sourcelist_model_drag_data_get):
2984 * sources/rb-sourcelist.c: (rb_sourcelist_finalize),
2985 (icon_notify_cb), (rb_sourcelist_append), (set_source_playing),
2986 (rb_sourcelist_remove), (button_press_cb), (name_notify_cb),
2987 (visibility_notify_cb):
2988 * sources/rb-static-playlist-source.c:
2989 (rb_static_playlist_source_class_init),
2990 (rb_static_playlist_source_init),
2991 (rb_static_playlist_source_finalize),
2992 (rb_static_playlist_source_constructor), (impl_delete),
2993 (rb_static_playlist_source_browser_changed_cb),
2994 (rb_static_playlist_source_add_location_internal),
2995 (search_action_changed):
2996 * sources/rb-static-playlist-source.h:
2997 * widgets/rb-druid.c:
2998 * widgets/rb-entry-view.c:
2999 (rb_entry_view_set_shell_player_internal),
3000 (rb_entry_view_set_model_internal), (rb_entry_view_set_property),
3001 (rb_entry_view_get_property), (rb_entry_view_new),
3002 (rb_entry_view_button_press_cb):
3003 * widgets/rb-library-browser.c: (rb_library_browser_finalize),
3004 (rb_library_browser_set_property),
3005 (rb_library_browser_get_property):
3006 * widgets/rb-query-creator.c: (rb_query_creator_new_from_query),
3007 (get_entry_for_property), (get_property_index_from_proptype):
3008 * widgets/rb-song-info.c: (rb_song_info_constructor),
3009 (rb_song_info_finalize), (rb_song_info_set_source_internal),
3010 (rb_song_info_set_property), (rb_song_info_get_property):
3012 More leak and reference counting fixes. From bug #347446.
3014 2006-07-17 James Livingston <doclivingston@gmail.com>
3016 * sources/rb-auto-playlist-source.c:
3017 (rb_auto_playlist_source_do_query): use rbythmdb_query_model_chain
3018 rather than setting the base model, as that lets us not import all the
3019 entries from the base model. This fixes some issues whether the search
3020 box wasn't filting automatic playlists.
3022 2006-07-17 James Livingston <doclivingston@gmail.com>
3024 * plugins/artdisplay/artdisplay/CoverArtDatabase.py: fix a syntax
3025 error, which caused blacklist creation to fail.
3027 2006-07-17 James Livingston <doclivingston@gmail.com>
3029 * shell/rb-shell.c: (rb_shell_quit): don't stop DAAP sharing when
3030 running with -n, because we don't start it then. Fixes a crash on
3033 2006-07-17 James Livingston <doclivingston@gmail.com>
3035 patch by: Przemysław Grzegorczyk <pgrzegorczyk@gmail.com>
3037 * data/glade/playlist-save.glade: Make the "playlist save" dialog use
3038 Save not Open for the button. Fixes #345816
3040 2006-07-17 James Livingston <doclivingston@gmail.com>
3042 patch by: Przemysław Grzegorczyk <pgrzegorczyk@gmail.com>
3044 * sources/rb-library-source.c: (impl_get_config_widget): Fix the build
3045 when track transfer is disabled. Fixes #347705
3047 2006-07-17 James Livingston <doclivingston@gmail.com>
3049 patch by: Przemysław Grzegorczyk <pgrzegorczyk@gmail.com>
3051 * sources/rb-library-source.c: (impl_get_config_widget): fix build
3052 with track transfer disabled. Fixes #347705
3054 2006-07-14 William Jon McCann <mccann@jhu.edu>
3056 * rhythmdb/rhythmdb-query-model.c:
3057 (rhythmdb_query_model_set_property):
3058 * shell/main.c: (main):
3059 * shell/rb-shell-clipboard.c: (unset_source_internal),
3060 (rb_shell_clipboard_finalize),
3061 (rb_shell_clipboard_set_source_internal),
3062 (rb_shell_clipboard_set_property), (rebuild_playlist_menu):
3063 * shell/rb-shell-player.c: (rb_shell_player_set_source_internal),
3064 (rb_shell_player_set_db_internal),
3065 (rb_shell_player_set_queue_source_internal),
3066 (rb_shell_player_finalize), (rb_shell_player_set_property):
3067 * shell/rb-shell.c: (rb_shell_finalize), (construct_sources):
3068 * sources/rb-auto-playlist-source.c:
3069 (rb_auto_playlist_source_constructor),
3070 (rb_auto_playlist_source_new_from_xml):
3071 * sources/rb-daap-source.c: (create_pixbufs):
3072 * sources/rb-ipod-source.c:
3073 * sources/rb-iradio-source.c: (rb_iradio_source_constructor):
3074 * sources/rb-library-source.c:
3075 (rb_library_source_add_child_source):
3076 * sources/rb-play-queue-source.c:
3077 (rb_play_queue_sync_playing_state),
3078 (rb_play_queue_source_track_info_cell_data_func):
3079 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
3080 * sources/rb-podcast-source.c: (rb_podcast_source_dispose),
3081 (rb_podcast_source_finalize), (rb_podcast_source_constructor),
3082 (impl_can_add_to_queue), (impl_add_to_queue):
3083 * sources/rb-source.c: (rb_source_set_property):
3084 * sources/rb-sourcelist.c: (rb_sourcelist_append):
3085 * sources/rb-static-playlist-source.c:
3086 (rb_static_playlist_source_constructor),
3087 (rb_static_playlist_source_load_from_xml):
3088 * widgets/bacon-volume.c: (bacon_volume_scale_value_changed):
3089 * widgets/rb-entry-view.c: (rb_entry_view_init),
3090 (rb_entry_view_finalize), (rb_entry_view_append_column),
3091 (rb_entry_view_constructor):
3092 * widgets/rb-song-info.c: (rb_song_info_set_property):
3093 Fix leaks. From bug #347446.
3095 2006-07-14 William Jon McCann <mccann@jhu.edu>
3097 * backends/gstreamer/rb-encoder-gst.c: (rb_encoder_gst_finalize),
3098 (rb_encoder_gst_emit_completed), (bus_watch_cb), (gst_error_cb),
3099 (start_pipeline), (add_encoding_pipeline), (add_tags_from_entry),
3100 (gnomevfs_allow_overwrite_cb), (new_decoded_pad_cb),
3101 (add_decoding_pipeline), (profile_bin_find_encoder),
3102 (get_profile_from_mime_type), (extract_track), (transcode_track),
3103 (rb_encoder_gst_encode):
3104 * backends/gstreamer/rb-encoder-gst.h:
3105 * backends/gstreamer/rb-player-gst.c: (rb_player_gst_init),
3106 (rb_player_gst_finalize), (rb_player_gst_gst_free_playbin),
3107 (destroy_idle_signal), (process_tag), (rb_player_gst_bus_cb),
3108 (rb_player_gst_construct):
3109 * backends/gstreamer/rb-player-gst.h:
3110 * backends/rb-encoder.c: (rb_encoder_encode), (rb_encoder_cancel):
3111 * backends/rb-encoder.h:
3112 * backends/rb-player.c: (_rb_player_emit_tick):
3113 * backends/rb-player.h:
3114 * daapsharing/rb-daap-connection.c: (build_message),
3115 (actual_http_response_handler), (http_response_handler),
3116 (http_get), (entry_set_string_prop), (emit_progress_idle),
3117 (handle_server_info), (handle_database_info),
3118 (handle_song_listing), (handle_playlists),
3119 (handle_playlist_entries), (rb_daap_connection_new),
3120 (connected_cb), (rb_daap_connection_do_something),
3121 (rb_daap_connection_get_headers), (rb_daap_connection_dispose),
3122 (rb_daap_connection_get_property):
3123 * daapsharing/rb-daap-connection.h:
3124 * daapsharing/rb-daap-dialog.c: (rb_daap_password_dialog_new_run),
3125 (rb_daap_collision_dialog_new_run):
3126 * daapsharing/rb-daap-dialog.h:
3127 * daapsharing/rb-daap-hash.c: (byteReverse), (OpenDaap_MD5Init),
3128 (OpenDaap_MD5Update), (OpenDaap_MD5Final), (MD5Transform),
3129 (DigestToString), (rb_daap_hash_generate):
3130 * daapsharing/rb-daap-hash.h:
3131 * daapsharing/rb-daap-mdns-browser-avahi.c: (client_cb),
3132 (resolve_cb), (browse_cb):
3133 * daapsharing/rb-daap-mdns-browser-howl.c: (howl_in_cb),
3134 (resolve_cb), (rb_daap_mdns_browser_resolve),
3135 (rb_daap_mdns_browser_start), (resolver_free):
3136 * daapsharing/rb-daap-mdns-browser.h:
3137 * daapsharing/rb-daap-mdns-publisher-avahi.c: (client_cb):
3138 * daapsharing/rb-daap-mdns-publisher-howl.c: (howl_in_cb),
3140 * daapsharing/rb-daap-mdns-publisher.h:
3141 * daapsharing/rb-daap-share.c: (name_collision_cb),
3142 (rb_daap_share_process_playlist), (rb_daap_share_dispose),
3143 (message_set_from_rb_daap_structure), (content_codes_cb),
3144 (session_id_validate), (logout_cb), (update_cb),
3145 (add_entry_to_mlcl), (add_playlist_to_mlcl),
3146 (add_playlist_entry_to_mlcl), (parse_meta), (databases_cb),
3147 (rb_daap_share_server_start), (rb_daap_share_server_stop),
3148 (rb_daap_share_publish_start):
3149 * daapsharing/rb-daap-share.h:
3150 * daapsharing/rb-daap-sharing.c: (share_name_changed_cb),
3151 (share_password_changed_cb), (rb_daap_sharing_shutdown):
3152 * daapsharing/rb-daap-sharing.h:
3153 * daapsharing/rb-daap-src.c: (_do_init), (rb_daap_src_class_init),
3154 (rb_daap_src_finalize), (_split_uri), (rb_daap_src_getcaps),
3156 * daapsharing/rb-daap-structure.c: (rb_daap_structure_add),
3157 (rb_daap_structure_node_serialize), (rb_daap_structure_serialize),
3158 (rb_daap_structure_parse_container_buffer),
3159 (rb_daap_structure_parse), (gnode_find_node),
3160 (rb_daap_structure_find_item), (rb_daap_structure_find_node),
3161 (print_rb_daap_item):
3162 * daapsharing/rb-daap-structure.h:
3163 * iradio/rb-new-station-dialog.c:
3164 (rb_new_station_dialog_class_init), (rb_new_station_dialog_init),
3165 (rb_new_station_dialog_new), (rb_new_station_dialog_response_cb),
3166 (rb_new_station_dialog_text_changed):
3167 * iradio/rb-station-properties-dialog.c:
3168 (rb_station_properties_dialog_init),
3169 (rb_station_properties_dialog_new),
3170 (rb_station_properties_dialog_response_cb),
3171 (rb_station_properties_dialog_get_current_entry),
3172 (rb_station_properties_dialog_rated_cb),
3173 (rb_station_properties_dialog_update_rating),
3174 (rb_station_properties_dialog_update_playback_error),
3175 (rb_station_properties_dialog_sync_entries):
3176 * metadata/rb-metadata-common.c: (rb_metadata_error_quark):
3177 * metadata/rb-metadata-dbus-client.c: (ping_metadata_service),
3178 (start_metadata_service), (rb_metadata_load), (rb_metadata_set),
3179 (rb_metadata_can_save), (rb_metadata_save):
3180 * metadata/rb-metadata-dbus-service.c: (rb_metadata_dbus_load),
3181 (rb_metadata_dbus_can_save), (rb_metadata_dbus_save),
3182 (_handle_message), (_new_connection), (main):
3183 * metadata/rb-metadata-dbus.c: (rb_metadata_dbus_add_to_message),
3184 (rb_metadata_dbus_read_from_message):
3185 * metadata/rb-metadata-dbus.h:
3186 * metadata/rb-metadata-gst.c: (ogg_pad_added_cb),
3187 (rb_add_id3_tagger), (rb_metadata_init),
3188 (rb_metadata_gst_tag_to_field), (make_undecodable_error),
3189 (rb_metadata_gst_load_tag), (rb_metadata_gst_fakesink_handoff_cb),
3190 (rb_metadata_gst_new_decoded_pad_cb),
3191 (rb_metadata_gst_unknown_type_cb), (rb_metadata_bus_handler):
3192 * metadata/sj-error.c: (sj_error_quark):
3193 * metadata/sj-error.h:
3194 * metadata/sj-metadata-musicbrainz.c:
3195 (sj_metadata_musicbrainz_instance_init),
3196 (get_offline_track_listing), (cache_rdf), (get_cached_rdf),
3197 (get_rdf), (lookup_cd):
3198 * metadata/sj-metadata.c: (sj_metadata_get_type):
3199 * metadata/sj-structures.c:
3200 * metadata/sj-structures.h:
3201 * metadata/test-metadata.c: (load_metadata_cb), (main):
3202 * podcast/rb-feed-podcast-properties-dialog.c:
3203 (rb_feed_podcast_properties_dialog_init),
3204 (rb_feed_podcast_properties_dialog_update_title):
3205 * podcast/rb-feed-podcast-properties-dialog.h:
3206 * podcast/rb-new-podcast-dialog.c: (rb_new_podcast_dialog_init),
3207 (rb_new_podcast_dialog_new), (rb_new_podcast_dialog_response_cb),
3208 (rb_new_podcast_dialog_text_changed):
3209 * podcast/rb-podcast-manager.c: (rb_podcast_manager_class_init),
3210 (rb_podcast_manager_constructor), (rb_podcast_manager_finalize),
3211 (rb_podcast_manager_set_property),
3212 (rb_podcast_manager_get_property), (rb_podcast_manager_new),
3213 (rb_podcast_manager_download_entry),
3214 (rb_podcast_manager_update_feeds),
3215 (rb_podcast_manager_head_query_cb), (rb_podcast_manager_next_file),
3216 (rb_podcast_manager_copy_post),
3217 (rb_podcast_manager_thread_parse_feed),
3218 (rb_podcast_manager_add_post), (rb_podcast_manager_save_metadata),
3219 (rb_podcast_manager_db_entry_added_cb), (write_job_data),
3220 (download_info_free), (download_info_new), (start_job),
3221 (rb_podcast_manager_cancel_all), (end_job), (cancel_job),
3222 (download_progress_cb), (download_progress_update_cb),
3223 (rb_podcast_manager_remove_feed),
3224 (rb_podcast_manager_db_entry_deleted_cb),
3225 (rb_podcast_manager_cancel_download),
3226 (rb_podcast_manager_update_synctime),
3227 (rb_podcast_manager_set_remove_files),
3228 (rb_podcast_manager_insert_feed), (rb_podcast_manager_event_loop),
3229 (rb_podcast_manager_abort_subscribe),
3230 (rb_podcast_manager_get_podcast_dir):
3231 * podcast/rb-podcast-manager.h:
3232 * podcast/rb-podcast-parse.c: (rb_set_channel_value),
3233 (rb_validate_channel_propert), (rb_validate_item_propert),
3234 (rb_podcast_parser_start_element), (rb_podcast_parser_end_element),
3235 (rb_podcast_parser_characters), (rb_podcast_parse_load_feed),
3236 (rb_podcast_parse_date), (rb_podcast_parse_time),
3237 (rb_podcast_parse_channel_free), (rb_podcast_parse_item_free):
3238 * podcast/rb-podcast-parse.h:
3239 * podcast/rb-podcast-properties-dialog.c:
3240 (rb_podcast_properties_dialog_init),
3241 (rb_podcast_properties_dialog_get_current_entry),
3242 (rb_podcast_properties_dialog_update_title),
3243 (rb_podcast_properties_dialog_update_duration),
3244 (rb_podcast_properties_dialog_update_date):
3245 * podcast/rb-podcast-properties-dialog.h:
3246 * rhythmdb/gsequence.c: (g_sequence_new), (g_sequence_prepend),
3247 (g_sequence_insert), (g_sequence_remove), (g_sequence_concatenate),
3248 (g_sequence_remove_range), (g_sequence_get_ptr_at_pos),
3249 (g_sequence_ptr_move), (g_sequence_ptr_sort_changed),
3250 (g_sequence_search), (g_sequence_set_aggregate_data),
3251 (g_sequence_node_update_fields), (g_sequence_node_rotate),
3252 (find_min), (g_sequence_node_find_by_pos),
3253 (g_sequence_node_find_closest), (g_sequence_node_free),
3254 (g_sequence_node_split), (g_sequence_node_insert_before),
3255 (g_sequence_node_get_length), (g_sequence_node_remove),
3256 (g_sequence_node_calc_height), (g_sequence_node_insert_sorted),
3257 (g_sequence_calc_tree_height):
3258 * rhythmdb/rb-refstring.c: (rb_refstring_system_shutdown),
3260 * rhythmdb/rb-refstring.h:
3261 * rhythmdb/rhythmdb-gda.c: (rhythmdb_gda_class_init),
3262 (rhythmdb_gda_init), (dump_model), (execute_query),
3263 (execute_nonquery), (ensure_table_exists), (collect_value_for_sql),
3264 (collect_value_from_sql), (_initialize), (rhythmdb_gda_new),
3265 (rhythmdb_gda_load), (rhythmdb_gda_entry_new),
3266 (rhythmdb_gda_entry_set), (rhythmdb_gda_entry_get),
3267 (rhythmdb_gda_ref), (rhythmdb_gda_entry_lookup_by_location),
3268 (translate_query), (do_query), (rhythmdb_gda_do_full_query):
3269 * rhythmdb/rhythmdb-gda.h:
3270 * rhythmdb/rhythmdb-monitor.c: (rhythmdb_init_monitoring),
3271 (rhythmdb_finalize_monitoring), (monitor_entry_file),
3272 (monitor_library_directory), (rhythmdb_check_changed_file),
3273 (rhythmdb_start_monitoring), (rhythmdb_directory_change_cb),
3274 (rhythmdb_monitor_uri_path), (entry_volume_mounted_or_unmounted),
3275 (rhythmdb_volume_mounted_cb), (rhythmdb_volume_unmounted_cb):
3276 * rhythmdb/rhythmdb-private.h:
3277 * rhythmdb/rhythmdb-property-model.c:
3278 (rhythmdb_property_model_set_property),
3279 (rhythmdb_property_model_row_inserted_cb),
3280 (rhythmdb_property_model_prop_changed_cb),
3281 (rhythmdb_property_model_compare),
3282 (rhythmdb_property_model_get_value),
3283 (rhythmdb_property_model_iter_nth_child),
3284 (rhythmdb_property_model_drag_data_delete), (query_model_cb),
3285 (rhythmdb_property_model_drag_data_get),
3286 (rhythmdb_property_model_enable_drag),
3287 (rhythmdb_property_model_column_get_type):
3288 * rhythmdb/rhythmdb-property-model.h:
3289 * rhythmdb/rhythmdb-query-model.c:
3290 (rhythmdb_query_model_class_init),
3291 (rhythmdb_query_model_set_property),
3292 (rhythmdb_query_model_dispose), (rhythmdb_query_model_chain),
3293 (rhythmdb_query_model_has_pending_changes),
3294 (rhythmdb_query_model_entry_changed_cb),
3295 (rhythmdb_query_model_entry_deleted_cb), (idle_process_update),
3296 (rhythmdb_query_model_add_entry),
3297 (rhythmdb_query_model_remove_from_main_list),
3298 (rhythmdb_query_model_remove_entry),
3299 (rhythmdb_query_model_drag_data_received),
3300 (rhythmdb_query_model_row_drop_possible),
3301 (rhythmdb_query_model_compute_status_normal),
3302 (rhythmdb_query_model_set_sort_order),
3303 (rhythmdb_query_model_get_entry_index),
3304 (rhythmdb_query_model_base_row_inserted),
3305 (rhythmdb_query_model_base_row_deleted),
3306 (rhythmdb_query_model_reapply_query), (_reverse_sorting_func),
3307 (rhythmdb_query_model_date_sort_func),
3308 (rhythmdb_query_model_within_limit):
3309 * rhythmdb/rhythmdb-query-model.h:
3310 * rhythmdb/rhythmdb-query-results.c:
3311 (rhythmdb_query_results_query_complete):
3312 * rhythmdb/rhythmdb-query-results.h:
3313 * rhythmdb/rhythmdb-query.c: (rhythmdb_query_copy),
3314 (rhythmdb_query_concatenate), (rhythmdb_query_parse_valist),
3315 (rhythmdb_query_free), (rhythmdb_read_encoded_property),
3316 (rhythmdb_query_serialize), (rhythmdb_query_deserialize),
3317 (rhythmdb_query_preprocess), (rhythmdb_query_get_type):
3318 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_finalize),
3319 (rhythmdb_tree_parser_start_element),
3320 (rhythmdb_tree_parser_end_element), (rhythmdb_tree_load),
3321 (save_entry), (save_entry_type), (save_unknown_entry_type),
3322 (rhythmdb_tree_save), (rhythmdb_tree_entry_new),
3323 (rhythmdb_tree_property_new), (get_genres_hash_for_type),
3324 (get_or_create_genre), (remove_entry_from_album),
3325 (rhythmdb_tree_entry_set), (rhythmdb_tree_entry_delete),
3326 (remove_one_song), (rhythmdb_tree_entry_delete_by_type),
3327 (search_match_properties), (evaluate_conjunctive_subquery),
3328 (clone_remove_ptr_array_index), (conjunctive_query_albums),
3329 (conjunctive_query_artists), (conjunctive_query_genre),
3330 (conjunctive_query), (split_query_by_disjunctions),
3331 (do_query_recurse), (rhythmdb_tree_entry_foreach),
3332 (hash_tree_entries_foreach), (hash_tree_albums_foreach),
3333 (hash_tree_artists_foreach), (hash_tree_genres_foreach),
3334 (rhythmdb_hash_tree_foreach),
3335 (rhythmdb_tree_entry_type_registered):
3336 * rhythmdb/rhythmdb.c: (rhythmdb_class_init),
3337 (metadata_field_from_prop), (extract_gtype_from_enum_entry),
3338 (extract_nice_name_from_enum_entry), (rhythmdb_init),
3339 (rhythmdb_execute_multi_stat_info_cb), (rhythmdb_event_free),
3340 (rhythmdb_shutdown), (rhythmdb_finalize),
3341 (rhythmdb_emit_entry_signals_idle), (process_added_entries_cb),
3342 (rhythmdb_entry_insert), (rhythmdb_entry_new),
3343 (rhythmdb_entry_example_new),
3344 (set_metadata_string_default_unknown), (is_ghost_entry),
3345 (rhythmdb_process_stat_event), (rhythmdb_add_import_error_entry),
3346 (rhythmdb_process_metadata_load),
3347 (rhythmdb_process_queued_entry_set_event),
3348 (rhythmdb_process_events), (rhythmdb_execute_stat_info_cb),
3349 (queue_stat_uri), (rhythmdb_entry_get), (entry_to_rb_metadata),
3350 (rhythmdb_add_uri_with_type), (rhythmdb_load_thread_main),
3351 (rhythmdb_load), (rhythmdb_save_thread_main), (rhythmdb_save),
3352 (rhythmdb_entry_set), (rhythmdb_entry_set_internal),
3353 (rhythmdb_entry_sync_mirrored), (rhythmdb_entry_delete),
3354 (rhythmdb_entry_delete_by_type),
3355 (rhythmdb_propid_from_nice_elt_name),
3356 (rhythmdb_do_full_query_async_parsed), (rhythmdb_do_full_query),
3357 (rhythmdb_compute_status_normal),
3358 (rhythmdb_entry_register_type_alias),
3359 (rhythmdb_entry_type_foreach), (song_can_sync_metadata),
3360 (rhythmdb_entry_song_get_type), (rhythmdb_entry_ignore_get_type),
3361 (rhythmdb_entry_import_error_get_type),
3362 (rhythmdb_entry_podcast_post_get_type),
3363 (rhythmdb_entry_podcast_feed_get_type),
3364 (rhythmdb_entry_set_mount_point), (rhythmdb_entry_set_visibility),
3365 (rhythmdb_sync_library_location), (rhythmdb_entry_get_string),
3366 (rhythmdb_entry_get_ulong), (rhythmdb_entry_type_get_type):
3367 * rhythmdb/rhythmdb.h:
3368 * shell/main.c: (main), (load_uri_args), (handle_dbus_message):
3369 * shell/rb-history.c: (rb_history_new), (rb_history_set_playing),
3370 (rb_history_limit_size):
3371 * shell/rb-history.h:
3372 * shell/rb-play-order-linear-loop.c:
3373 (rb_linear_play_order_loop_get_next):
3374 * shell/rb-play-order-linear-loop.h:
3375 * shell/rb-play-order-linear.c:
3376 * shell/rb-play-order-linear.h:
3377 * shell/rb-play-order-queue.c:
3378 (rb_queue_play_order_playing_entry_removed):
3379 * shell/rb-play-order-queue.h:
3380 * shell/rb-play-order-random-by-age-and-rating.c:
3381 * shell/rb-play-order-random-by-age-and-rating.h:
3382 * shell/rb-play-order-random-by-age.c:
3383 (rb_random_by_age_get_entry_weight):
3384 * shell/rb-play-order-random-by-age.h:
3385 * shell/rb-play-order-random-by-rating.c:
3386 * shell/rb-play-order-random-by-rating.h:
3387 * shell/rb-play-order-random-equal-weights.c:
3388 * shell/rb-play-order-random-equal-weights.h:
3389 * shell/rb-play-order-random.c: (rb_random_filter_history),
3390 (rb_random_get_total_weight), (rb_random_play_order_get_next),
3391 (rb_random_db_changed), (rb_random_playing_entry_changed),
3392 (rb_random_db_entry_deleted):
3393 * shell/rb-play-order-shuffle.c: (remove_from_history),
3394 (add_randomly_to_history), (get_query_model_contents),
3395 (rb_shuffle_playing_entry_changed):
3396 * shell/rb-play-order-shuffle.h:
3397 * shell/rb-play-order.c: (rb_play_order_class_init),
3398 (rb_play_order_set_property),
3399 (rb_play_order_playing_source_changed),
3400 (rb_play_order_query_model_changed_cb),
3401 (rb_play_order_query_model_changed),
3402 (rb_play_order_entry_added_cb), (default_playing_entry_removed):
3403 * shell/rb-play-order.h:
3404 * shell/rb-playlist-manager.c: (rb_playlist_manager_class_init),
3405 (rb_playlist_manager_init), (rb_playlist_manager_set_uimanager),
3406 (rb_playlist_manager_set_property),
3407 (rb_playlist_manager_parse_file),
3408 (rb_playlist_manager_load_playlists),
3409 (rb_playlist_manager_is_dirty), (rb_playlist_manager_save_data),
3410 (rb_playlist_manager_save_playlists),
3411 (rb_playlist_manager_new_playlist),
3412 (rb_playlist_manager_new_playlist_from_selection_data),
3413 (rb_playlist_manager_cmd_new_automatic_playlist),
3414 (rb_playlist_manager_cmd_edit_automatic_playlist),
3415 (_queue_track_cb), (rb_playlist_manager_cmd_delete_playlist),
3416 (save_playlist_response_cb), (export_set_extension_cb),
3417 (filter_get_export_filter_label), (setup_format_menu),
3418 (rb_playlist_manager_cmd_save_playlist),
3419 (rb_playlist_manager_get_playlists),
3420 (rb_playlist_manager_get_playlist_names), (_get_playlist_by_name),
3421 (rb_playlist_manager_delete_playlist),
3422 (rb_playlist_manager_export_playlist):
3423 * shell/rb-playlist-manager.h:
3424 * shell/rb-removable-media-manager.c:
3425 (rb_removable_media_manager_class_init),
3426 (rb_removable_media_manager_dispose),
3427 (rb_removable_media_manager_finalize),
3428 (rb_removable_media_manager_set_property),
3429 (split_drive_from_cdda_uri),
3430 (rb_removable_media_manager_playing_uri_changed_cb),
3431 (rb_removable_media_manager_load_media),
3432 (rb_removable_media_manager_volume_mounted_cb),
3433 (remove_volume_by_source),
3434 (rb_removable_media_manager_source_deleted_cb),
3435 (rb_removable_media_manager_volume_unmounted_cb),
3436 (rb_removable_media_manager_mount_volume),
3437 (rb_removable_media_manager_set_uimanager),
3438 (rb_removable_media_manager_scan), (do_transfer),
3439 (rb_removable_media_manager_cmd_copy_tracks):
3440 * shell/rb-removable-media-manager.h:
3441 * shell/rb-shell-clipboard.c: (rb_shell_clipboard_init),
3442 (rb_shell_clipboard_finalize), (rb_shell_clipboard_constructor),
3443 (rb_shell_clipboard_sync),
3444 (rb_shell_clipboard_idle_poll_deletions),
3445 (rb_shell_clipboard_cmd_add_to_playlist_new),
3446 (rb_shell_clipboard_playlist_add_cb),
3447 (rb_shell_clipboard_playlist_deleted_cb),
3448 (rb_shell_clipboard_playlist_renamed_cb),
3449 (rb_shell_clipboard_playlist_visible_cb),
3450 (rb_shell_clipboard_playlist_added_cb):
3451 * shell/rb-shell-player.c: (rb_shell_player_class_init),
3452 (rb_shell_player_constructor), (volume_pre_unmount_cb),
3453 (rb_shell_player_init), (rb_shell_player_set_property),
3454 (rb_shell_player_new), (rb_shell_player_open_playlist_url),
3455 (rb_shell_player_open_location),
3456 (rb_shell_player_set_playing_entry),
3457 (rb_shell_player_play_order_update_cb),
3458 (rb_shell_player_jump_to_current), (rb_shell_player_do_previous),
3459 (rb_shell_player_do_next), (rb_shell_player_do_previous_or_seek),
3460 (rb_shell_player_cmd_previous), (rb_shell_player_cmd_next),
3461 (rb_shell_player_cmd_play), (rb_shell_player_playpause),
3462 (rb_shell_player_sync_volume), (rb_shell_player_sync_replaygain),
3463 (gconf_song_position_slider_visibility_changed),
3464 (rb_shell_player_entry_activated_cb),
3465 (rb_shell_player_property_row_activated_cb),
3466 (rb_shell_player_entry_changed_cb),
3467 (rb_shell_player_sync_with_source), (rb_shell_player_sync_buttons),
3468 (actually_set_playing_source),
3469 (rb_shell_player_set_playing_source_internal),
3470 (rb_shell_player_get_playing_song_duration), (eos_cb),
3471 (rb_shell_player_error), (error_cb), (info_available_cb),
3472 (grab_mmkey), (filter_mmkeys), (_idle_unblock_signal_cb),
3473 (rb_shell_player_error_get_type):
3474 * shell/rb-shell-player.h:
3475 * shell/rb-shell-preferences.c: (rb_shell_preferences_init),
3476 (rb_shell_preferences_append_page),
3477 (share_check_button_toggled_cb),
3478 (password_check_button_toggled_cb), (add_daap_preferences),
3479 (rb_shell_preferences_column_check_changed_cb),
3480 (rb_shell_preferences_sync_column_button),
3481 (rb_shell_preferences_sync),
3482 (rb_shell_preferences_browser_views_activated_cb):
3483 * shell/rb-shell.c: (rb_shell_class_init), (rb_shell_init),
3484 (rb_shell_set_property), (rb_shell_get_property),
3485 (rb_shell_sync_state), (idle_save_rhythmdb), (rb_shell_finalize),
3486 (construct_widgets), (construct_load_ui), (rb_shell_constructor),
3487 (rb_shell_get_visibility), (rb_shell_set_visibility),
3488 (rb_shell_sync_window_state), (rb_shell_db_entry_added_cb),
3489 (rb_shell_register_entry_type_for_source),
3490 (rb_shell_transfer_progress_cb), (rb_shell_playing_from_queue_cb),
3491 (rb_shell_playing_entry_changed_cb), (rb_shell_select_source),
3492 (rb_shell_player_stream_song_changed_cb),
3493 (rb_shell_set_window_title),
3494 (rb_shell_view_smalldisplay_changed_cb),
3495 (rb_shell_view_queue_as_sidebar_changed_cb),
3496 (rb_shell_cmd_plugins), (add_to_library_response_cb),
3497 (rb_shell_cmd_add_folder_to_library),
3498 (rb_shell_cmd_add_file_to_library),
3499 (rb_shell_sync_pane_visibility), (rb_shell_sync_smalldisplay),
3500 (sidepane_visibility_changed_cb), (toolbar_state_changed_cb),
3501 (rb_shell_jump_to_entry_with_source), (tray_embedded_cb),
3502 (session_die_cb), (save_yourself_cb), (rb_shell_session_init),
3503 (handle_playlist_entry_cb), (rb_shell_load_uri),
3504 (rb_shell_add_to_queue), (rb_shell_present),
3505 (rb_shell_get_song_properties), (rb_shell_set_song_property),
3506 (rb_shell_volume_widget_changed_cb),
3507 (rb_shell_player_volume_changed_cb),
3508 (rb_shell_ui_location_get_type):
3510 * shell/rb-source-header.c: (ui_manager_add_widget_cb),
3511 (rb_source_header_init), (rb_source_header_set_source_internal),
3512 (rb_source_state_sync), (rb_source_header_clear_search),
3513 (rb_source_header_view_browser_changed_cb):
3514 * shell/rb-source-header.h:
3515 * shell/rb-statusbar.c: (rb_statusbar_construct),
3516 (rb_statusbar_init), (rb_statusbar_finalize),
3517 (rb_statusbar_set_property), (rb_statusbar_set_progress),
3518 (rb_statusbar_source_status_changed_cb):
3519 * shell/rb-statusbar.h:
3520 * shell/rb-tray-icon.c: (rb_tray_icon_init),
3521 (rb_tray_icon_constructor), (rb_tray_icon_finalize),
3522 (rb_tray_icon_set_property), (rb_tray_icon_show_window_changed_cb),
3523 (rb_tray_icon_get_geom), (rb_tray_icon_notify):
3524 * sources/rb-audiocd-source.c: (rb_audiocd_source_constructor),
3525 (rb_audiocd_create_track_entry):
3526 * sources/rb-auto-playlist-source.c:
3527 (rb_auto_playlist_source_class_init),
3528 (rb_auto_playlist_source_constructor),
3529 (rb_auto_playlist_source_new_from_xml), (impl_reset_filters),
3530 (impl_search), (impl_receive_drag), (impl_save_contents_to_xml),
3531 (rb_auto_playlist_source_query_complete_cb),
3532 (rb_auto_playlist_source_do_query),
3533 (rb_auto_playlist_source_set_query),
3534 (rb_auto_playlist_source_browser_changed_cb),
3535 (search_action_to_prop):
3536 * sources/rb-auto-playlist-source.h:
3537 * sources/rb-browser-source.c: (rb_browser_source_init),
3538 (rb_browser_source_dispose), (search_action_to_prop),
3539 (rb_browser_source_constructor),
3540 (rb_browser_source_cmd_choose_genre),
3541 (rb_browser_source_cmd_choose_artist),
3542 (rb_browser_source_cmd_choose_album), (impl_search),
3543 (rb_browser_source_browser_changed_cb),
3544 (rb_browser_source_do_query):
3545 * sources/rb-browser-source.h:
3546 * sources/rb-daap-source.c: (rb_daap_source_class_init),
3547 (rb_daap_source_init), (rb_daap_source_dispose),
3548 (rb_daap_source_set_property), (start_browsing),
3549 (rb_daap_sources_init), (rb_daap_sources_shutdown),
3550 (rb_daap_source_connection_cb), (rb_daap_source_activate),
3551 (rb_daap_source_cmd_disconnect), (rb_daap_source_find_for_uri),
3552 (rb_daap_source_get_headers), (rb_daap_source_get_status):
3553 * sources/rb-daap-source.h:
3554 * sources/rb-import-errors-source.h:
3555 * sources/rb-ipod-source.c: (rb_ipod_source_name_changed_cb),
3556 (rb_ipod_source_init), (ipod_path_to_uri), (add_rb_playlist),
3557 (add_ipod_song_to_db), (load_ipod_db_idle_cb),
3558 (rb_ipod_load_songs), (rb_ipod_get_itunesdb_path),
3559 (rb_ipod_is_volume_ipod), (hal_udi_is_ipod), (impl_get_ui_actions),
3560 (impl_move_to_trash), (impl_receive_drag), (test_dir_on_ipod),
3561 (ipod_mkdir_with_parents), (build_ipod_dir_name),
3562 (generate_ipod_filename), (ipod_path_from_unix_path),
3563 (impl_delete_thyself):
3564 * sources/rb-iradio-source.c: (rb_iradio_source_class_init),
3565 (rb_iradio_source_init), (rb_iradio_source_constructor),
3566 (rb_iradio_source_new), (guess_uri_scheme),
3567 (rb_iradio_source_add_station),
3568 (rb_iradio_source_async_update_play_statistics),
3569 (genre_selection_reset_cb), (rb_iradio_source_do_query),
3570 (stations_view_drag_data_received_cb),
3571 (rb_iradio_source_cmd_new_station):
3572 * sources/rb-iradio-source.h:
3573 * sources/rb-library-source.c: (rb_library_source_dispose),
3574 (rb_library_source_constructor),
3575 (rb_library_source_location_button_clicked_cb),
3576 (impl_get_config_widget), (rb_library_source_library_location_cb),
3577 (sanitize_path), (filepath_parse_pattern),
3578 (layout_example_label_update),
3579 (rb_library_source_layout_filename_changed), (build_filename),
3580 (impl_can_paste), (impl_paste),
3581 (rb_library_source_add_child_source),
3582 (rb_library_source_sync_child_sources):
3583 * sources/rb-library-source.h:
3584 * sources/rb-missing-files-source.h:
3585 * sources/rb-play-queue-source.c:
3586 (rb_play_queue_source_constructor), (impl_show_entry_view_popup):
3587 * sources/rb-play-queue-source.h:
3588 * sources/rb-playlist-source-recorder.c:
3589 (rb_playlist_source_recorder_class_init), (update_speed_combobox),
3590 (_nautilus_burn_drive_eject), (burn_cd), (ask_rewrite_disc),
3591 (rb_playlist_source_recorder_init),
3592 (rb_playlist_source_recorder_new):
3593 * sources/rb-playlist-source.c: (rb_playlist_source_constructor),
3594 (rb_playlist_source_save_playlist),
3595 (rb_playlist_source_entry_added_cb),
3596 (rb_playlist_source_set_query_model),
3597 (rb_playlist_source_add_to_map):
3598 * sources/rb-podcast-source.c: (rb_podcast_source_class_init),
3599 (rb_podcast_source_init), (rb_podcast_source_dispose),
3600 (rb_podcast_source_finalize), (search_action_to_prop),
3601 (rb_podcast_source_constructor), (rb_podcast_source_set_property),
3602 (rb_podcast_source_get_property), (rb_podcast_source_new),
3603 (impl_delete), (rb_podcast_source_songs_show_popup_cb),
3604 (rb_podcast_source_feeds_show_popup_cb), (feed_select_change_cb),
3605 (rb_podcast_source_show_browser), (construct_query_from_selection),
3606 (rb_podcast_source_do_query), (impl_get_config_widget),
3607 (rb_podcast_source_btn_file_change_cb),
3608 (posts_view_drag_data_received_cb),
3609 (rb_podcast_source_cmd_download_post),
3610 (rb_podcast_source_cmd_cancel_download),
3611 (rb_podcast_source_cmd_delete_feed),
3612 (rb_podcast_source_cmd_properties_feed),
3613 (rb_podcast_source_cmd_update_feed),
3614 (rb_podcast_source_post_status_cell_data_func),
3615 (rb_podcast_source_post_feed_cell_data_func),
3616 (rb_podcast_source_post_date_cell_data_func),
3617 (rb_podcast_source_load_finish_cb), (impl_receive_drag),
3618 (rb_podcast_source_entry_activated_cb), (impl_can_add_to_queue),
3619 (impl_add_to_queue), (rb_podcast_source_cmd_new_podcast),
3621 * sources/rb-podcast-source.h:
3622 * sources/rb-removable-media-source.c:
3623 (rb_removable_media_source_constructor):
3624 * sources/rb-removable-media-source.h:
3625 * sources/rb-source.h:
3626 * sources/rb-sourcelist-model.c: (rb_sourcelist_model_class_init),
3627 (rb_sourcelist_model_new), (rb_sourcelist_model_is_row_visible),
3628 (rb_sourcelist_model_row_is_separator),
3629 (rb_sourcelist_model_drag_data_received),
3630 (rb_sourcelist_model_row_drop_possible), (path_is_droppable),
3631 (rb_sourcelist_model_row_drop_position),
3632 (rb_sourcelist_model_get_drag_target),
3633 (rb_sourcelist_model_row_draggable),
3634 (rb_sourcelist_model_drag_data_get),
3635 (rb_sourcelist_model_row_inserted_cb),
3636 (rb_sourcelist_model_get_group_path):
3637 * sources/rb-sourcelist.c: (rb_sourcelist_append),
3638 (match_source_to_iter), (rb_sourcelist_source_to_iter),
3639 (rb_sourcelist_visible_source_to_iter),
3640 (rb_sourcelist_edit_source_name),
3641 (rb_sourcelist_selection_changed_cb), (button_press_cb),
3642 (key_release_cb), (name_notify_cb), (icon_notify_cb),
3643 (rb_sourcelist_title_cell_data_func), (source_name_edited_cb):
3644 * sources/rb-static-playlist-source.c:
3645 (rb_static_playlist_source_class_init),
3646 (rb_static_playlist_source_constructor),
3647 (rb_static_playlist_source_load_from_xml), (impl_reset_filters),
3648 (impl_search), (rb_static_playlist_source_do_query),
3649 (rb_static_playlist_source_browser_changed_cb),
3650 (impl_receive_drag), (impl_save_contents_to_xml),
3651 (rb_static_playlist_source_add_location_swapped),
3652 (search_action_to_prop):
3653 * sources/rb-static-playlist-source.h:
3654 * widgets/bacon-volume.c: (bacon_volume_button_get_type):
3655 * widgets/eggtrayicon.c: (egg_tray_icon_init),
3656 (egg_tray_icon_get_orientation_property),
3657 (egg_tray_icon_send_manager_message),
3658 (egg_tray_icon_update_manager_window),
3659 (egg_tray_icon_manager_window_destroyed), (egg_tray_icon_realize),
3660 (egg_tray_icon_send_message), (egg_tray_icon_notify):
3661 * widgets/eggtrayicon.h:
3662 * widgets/rb-cell-renderer-pixbuf.c:
3663 (rb_cell_renderer_pixbuf_get_property),
3664 (rb_cell_renderer_pixbuf_set_property),
3665 (rb_cell_renderer_pixbuf_get_size),
3666 (rb_cell_renderer_pixbuf_render),
3667 (rb_cell_renderer_pixbuf_activate):
3668 * widgets/rb-cell-renderer-rating.c:
3669 (rb_cell_renderer_rating_class_init),
3670 (rb_cell_renderer_rating_get_property),
3671 (rb_cell_renderer_rating_set_property),
3672 (rb_cell_renderer_rating_get_size),
3673 (rb_cell_renderer_rating_render),
3674 (rb_cell_renderer_rating_activate):
3675 * widgets/rb-dialog.c:
3676 * widgets/rb-dialog.h:
3677 * widgets/rb-druid.c: (rb_druid_init_widgets), (rb_druid_new),
3678 (path_dialog_response_cb), (idle_set_sensitive), (do_response),
3679 (rb_druid_page3_finish_cb):
3680 * widgets/rb-entry-view.c: (rb_entry_view_class_init),
3681 (rb_entry_view_init), (rb_entry_view_set_property),
3682 (rb_entry_view_new), (rb_entry_view_play_count_cell_data_func),
3683 (rb_entry_view_year_cell_data_func), (rb_entry_view_sync_sorting),
3684 (rb_entry_view_get_sorting_type), (rb_entry_view_set_sorting_type),
3685 (rb_entry_view_set_sorting_order),
3686 (rb_entry_view_column_clicked_cb), (rb_entry_view_append_column),
3687 (rb_entry_view_set_columns_clickable), (rb_entry_view_constructor),
3688 (rb_entry_view_playing_song_changed),
3689 (rb_entry_view_button_press_cb), (rb_entry_view_rows_reordered_cb),
3690 (rb_entry_view_scroll_to_entry), (set_column_visibility),
3691 (rb_entry_view_set_fixed_column_width),
3692 (rb_entry_view_get_time_date_column_sample),
3693 (rb_entry_view_state_get_type):
3694 * widgets/rb-entry-view.h:
3695 * widgets/rb-header.c: (rb_header_init), (rb_header_set_property),
3696 (rb_header_sync), (slider_moved_timeout), (slider_moved_callback),
3697 (changed_idle_callback), (rb_header_elapsed_changed_cb):
3698 * widgets/rb-library-browser.c: (rb_library_browser_constructor),
3699 (update_browser_property_visibilty),
3700 (rb_library_browser_construct_query), (restore_selection),
3701 (rebuild_child_model), (rb_library_browser_set_selection),
3702 (rb_library_browser_set_model):
3703 * widgets/rb-library-browser.h:
3704 * widgets/rb-property-view.c: (rb_property_view_class_init),
3705 (rb_property_view_set_property), (rb_property_view_reset),
3706 (rb_property_view_get_model), (rb_property_view_constructor),
3707 (rb_property_view_set_selection),
3708 (rb_property_view_selection_changed_cb),
3709 (rb_property_view_button_press_cb),
3710 (rb_property_view_set_search_func):
3711 * widgets/rb-query-creator-private.h:
3712 * widgets/rb-query-creator-properties.c:
3713 (integerCriteriaSetWidgetData), (yearCriteriaSetWidgetData),
3714 (durationCriteriaCreateWidget), (durationCriteriaSetWidgetData),
3715 (durationCriteriaGetWidgetData), (create_time_unit_option_menu),
3716 (relativeTimeCriteriaCreateWidget),
3717 (relativeTimeCriteriaSetWidgetData):
3718 * widgets/rb-query-creator.c: (rb_query_creator_constructor),
3719 (rb_query_creator_dispose), (rb_query_creator_load_query),
3720 (rb_query_creator_new_from_query), (rb_query_creator_get_query),
3721 (get_property_index_from_proptype), (select_criteria_from_value),
3722 (create_property_option_menu), (create_criteria_option_menu),
3723 (sort_option_menu_changed), (setup_sort_option_menu):
3724 * widgets/rb-query-creator.h:
3725 * widgets/rb-rating-helper.c: (rb_rating_install_rating_property),
3726 (rb_rating_render_stars):
3727 * widgets/rb-rating-helper.h:
3728 * widgets/rb-rating.c: (rb_rating_expose):
3729 * widgets/rb-rating.h:
3730 * widgets/rb-search-entry.c: (rb_search_entry_clear),
3731 (rb_search_entry_timeout_cb):
3732 * widgets/rb-search-entry.h:
3733 * widgets/rb-song-info.c: (rb_song_info_construct_single),
3734 (rb_song_info_constructor), (rb_song_info_new),
3735 (rb_song_info_set_entry_rating), (rb_song_info_populate_dialog),
3736 (rb_song_info_update_location), (rb_song_info_backward_clicked_cb),
3737 (rb_song_info_forward_clicked_cb), (rb_song_info_update_buttons),
3738 (rb_song_info_query_model_changed_cb),
3739 (rb_song_info_sync_entries_multiple),
3740 (rb_song_info_sync_entry_single):
3741 Strip all trailing whitespace. Fixes #344293.
3743 2006-07-13 Ryan P Skadberg <skadz@stigmata.org>
3745 * doc/reference/Makefile.am: Fix GTK Doc Build
3747 2006-07-13 James Livingston <doclivingston@gmail.com>
3749 * bindings/python/rhythmdb.defs: bind rhythmdb_entry_get_playback_uri
3751 * plugins/artdisplay/artdisplay/LocalCoverArtSearch.py: use the above
3752 instead of the LOCATION, and don't try to get the directory listing
3753 for http URI schemes
3755 * rhythmdb/rhythmdb.c: (rhythmdb_add_import_error_entry): check for
3756 invalid utf8 in the error message, since apparently it can happen.
3758 2006-07-12 William Jon McCann <mccann@jhu.edu>
3760 * sources/rb-import-errors-source.c:
3761 (rb_import_errors_source_class_init),
3762 (rb_import_errors_source_init),
3763 (rb_import_errors_source_constructor),
3764 (rb_import_errors_source_dispose), (rb_import_errors_source_new),
3765 (impl_get_status), (rb_import_errors_source_songs_show_popup_cb):
3766 * sources/rb-missing-files-source.c:
3767 (rb_missing_files_source_class_init),
3768 (rb_missing_files_source_init),
3769 (rb_missing_files_source_constructor),
3770 (rb_missing_files_source_dispose), (rb_missing_files_source_new),
3771 (rb_missing_files_source_songs_sort_order_changed_cb),
3773 * sources/rb-source.c: (rb_source_class_init),
3774 (rb_source_finalize), (update_visibility_idle),
3775 (queue_update_visibility), (rb_source_set_hidden_when_empty),
3776 (rb_source_set_property), (rb_source_get_property),
3777 (default_get_status), (rb_source_update_play_statistics),
3778 (default_add_to_queue), (_rb_source_show_popup),
3779 (rb_source_row_inserted_cb), (rb_source_post_entry_deleted_cb),
3780 (rb_source_gather_selected_properties),
3781 (_rb_source_register_action_group):
3782 * sources/rb-source.h:
3783 * sources/rb-sourcelist.c: (visibility_notify_cb):
3784 Don't use a fake model for import-errors and missing-files
3785 sources. Add a new source property "hidden-when-empty".
3786 Update source visibility in an idle. Clean up some whitespace.
3789 2006-07-12 James Livingston <doclivingston@gmail.com>
3791 * bindings/python/rb.defs:
3792 * bindings/python/rb.override: bind rb_error_dialog
3794 * plugins/rb/__init__.py: improve the stdout->debug mapping. Strip off
3795 the current working directory for uninstalled plugins, and add the
3796 class name to the method name.
3798 2006-07-12 James Livingston <doclivingston@gmail.com>
3800 * shell/rb-shell-player.c: (rb_shell_player_error): don't try to check
3801 the sources EOF type if it's NULL. Fixes #346284.
3803 2006-07-12 James Livingston <doclivingston@gmail.com>
3805 * rhythmdb/rb-refstring.c: (rb_refstring_get_sort_key): reverse a bit
3806 I accidently committed. Nothing to see here, move along...
3808 2006-07-11 James Livingston <doclivingston@gmail.com>
3810 * plugins/artdisplay/artdisplay/AmazonCoverArtSearch.py:
3811 * plugins/artdisplay/artdisplay/CoverArtDatabase.py: fix some usage of
3814 2006-07-12 Jonathan Matthew <jonathan@kaolin.wh9.net>
3816 * doc/reference/rhythmbox.types: Fix doc build (bug #347223)
3818 2006-07-11 Jonathan Matthew <jonathan@kaolin.wh9.net>
3820 * rhythmdb/rhythmdb.c: (rhythmdb_add_import_error_entry):
3821 Don't try to set mtime if we've deleted the entry.
3823 2006-07-11 Jonathan Matthew <jonathan@kaolin.wh9.net>
3825 * bindings/python/rhythmdb.defs:
3826 * rhythmdb/rhythmdb.c:
3827 * rhythmdb/rhythmdb.h:
3828 * rhythmdb/rhythmdb-private.h:
3829 * rhythmdb/rhythmdb-query.c:
3830 Move data structures holding registered entry types inside the
3831 RhythmDB object, and add a vfunc called when new types are registered.
3832 Add a flag to RhythmDBEntryType specifying whether entries of the type
3833 should be saved to the on-disk database.
3835 * sources/rb-audiocd-source.c:
3836 * sources/rb-daap-source.c:
3837 * sources/rb-ipod-source.c:
3838 * plugins/generic-player/rb-generic-player-source.c:
3839 * plugins/generic-player/rb-nokia770-source.c:
3840 * plugins/generic-player/rb-psp-source.c:
3841 Adjust to the above changes.
3843 * rhythmdb/rhythmdb-tree.c:
3844 If the type for an entry hasn't been registered yet, store the entry's
3845 properties as-is, and convert them to a real entry when the type is
3846 registered. If the type doesn't get registered, save the entry back
3847 to the database unmodified. From #330226.
3849 2006-07-10 James Livingston <doclivingston@gmail.com>
3851 * plugins/artdisplay/artdisplay/CoverArtDatabase.py: change
3852 os.path.unlink to os.unlink, so removing stuff works.
3854 2006-07-10 James Livingston <doclivingston@gmail.com>
3856 patch by: Ed Catmur <ed@catmur.co.uk>
3857 and Peter <bugzilla-gnome-org@maubp.freeserve.co.uk>
3859 * plugins/artdisplay/artdisplay/AmazonCoverArtSearch.py:
3860 * plugins/artdisplay/artdisplay/CoverArtDatabase.py:
3861 * plugins/artdisplay/artdisplay/LocalCoverArtSearch.py:
3862 * plugins/artdisplay/artdisplay/Makefile.am: Redesign much of the
3863 internals of the cover database and Amazon lookup engine, and add
3864 support for loading art from the local file system. Fixes #345688.
3866 * plugins/rb/Coroutine.py:
3867 * plugins/rb/Makefile.am:
3868 * plugins/rb/__init__.py: Add the Coroutine class to the common python
3871 2006-07-10 James Livingston <doclivingston@gmail.com>
3873 * tests/Makefile.am: don't run the benchmark when doing "make check"
3875 * po/POTFILES.in: more build fixes, from Matti Lindell
3876 <feenixx@hotmail.com>. Fixes #347049.
3879 2006-07-10 James Livingston <doclivingston@gmail.com>
3881 * plugins/cd-recorder/Makefile.am: build fixes
3883 * rhythmdb/rhythmdb.c: (rhythmdb_add_import_error_entry): don't
3884 attempt to change properties if we couldn't create an entry.
3886 * shell/rb-source-header.c: (rb_source_header_init),
3887 (rb_source_header_view_browser_changed_cb),
3888 (rb_source_header_sync_control_state):
3889 * shell/rb-tray-icon.c:
3890 * widgets/Makefile.am:
3891 * widgets/disclosure-widget.c:
3892 * widgets/disclosure-widget.h: remove the remanents of the disclosure
3893 widget, as it hasn't been used for a while.
3895 2006-07-09 William Jon McCann <mccann@jhu.edu>
3899 * data/ui/rhythmbox-ui.xml:
3900 * plugins/Makefile.am:
3901 * plugins/cd-recorder/.cvsignore:
3902 * plugins/cd-recorder/Makefile.am:
3903 * plugins/cd-recorder/cd-recorder.rb-plugin.desktop.in:
3904 * plugins/cd-recorder/rb-cd-recorder-plugin.c:
3905 (rb_cd_recorder_plugin_class_init), (rb_cd_recorder_plugin_init),
3906 (rb_cd_recorder_plugin_finalize), (burn_source_iter_func),
3907 (source_burn), (cmd_burn_source), (playlist_entries_changed),
3908 (playlist_row_inserted_cb), (update_source),
3909 (shell_selected_source_notify_cb), (impl_activate),
3911 * shell/Makefile.am:
3912 * shell/rb-playlist-manager.c: (rb_playlist_manager_set_source),
3913 (rb_playlist_manager_cmd_save_playlist):
3914 * shell/rb-shell.c: (rb_shell_select_source):
3915 * sources/Makefile.am:
3916 * sources/rb-playlist-source-recorder.c:
3917 (rb_playlist_source_recorder_new):
3918 * sources/rb-playlist-source.c: (rb_playlist_source_class_init),
3919 (rb_playlist_source_add_to_map):
3920 * sources/rb-playlist-source.h:
3921 Move cd burning into a plugin. Fixes #344300.
3923 2006-07-10 James Livingston <doclivingston@gmail.com>
3925 * lib/eel-gconf-extensions.c:
3926 * shell/rb-shell.c: remove some ununsed gnomeui includes
3928 * widgets/Makefile.am:
3929 * widgets/rb-song-display-box.c:
3930 * widgets/rb-song-display-box.h: remove RBSongDisplayBox from cvs,
3931 since it isn't acutally used anywhere. Fixes #346926
3933 2006-07-09 James Livingston <doclivingston@gmail.com>
3935 * bindings/python/rb.defs:
3936 * bindings/python/rb.override:
3937 * lib/rb-debug.c: (rb_debug_real):
3939 * plugins/rb/__init__.py: don't print out an extra newline when
3940 diverting python print statements to RB's debug log.
3942 2006-07-09 James Livingston <doclivingston@gmail.com>
3944 * rhythmdb/rhythmdb-property-model.c:
3945 (rhythmdb_property_model_drag_data_get):
3946 * sources/rb-sourcelist-model.c:
3947 (rb_sourcelist_model_row_draggable),
3948 (rb_sourcelist_model_drag_data_get): check that the path/iter we get
3949 from the row reference is still valid. Fixes #346709.
3951 2006-07-09 Jonathan Matthew <jonathan@kaolin.wh9.net>
3953 patch by: Peter <bugzilla-gnome-org@maubp.freeserve.org.uk>
3955 * widgets/rb-song-info.c: (rb_song_info_populate_dialog_multiple):
3956 If all selected entries have the same rating, use that as the initial
3957 rating for the multiple song info dialog. Fixes #345970.
3959 2006-07-09 James Livingston <doclivingston@gmail.com>
3961 * plugins/artdisplay/artdisplay/__init__.py: some minor changes to try
3963 - don't ever scale to 1x1, just hide the image in that case
3964 - don't fade when the window is minimised
3965 - use the last-good allocation width, not the current one - as
3966 it sometimes get weird values.
3968 2006-07-08 William Jon McCann <mccann@jhu.edu>
3970 * data/ui/rhythmbox-ui.xml:
3972 Remove Import audio CD from menu. Fixes #339732
3974 2006-07-08 James Livingston <doclivingston@gmail.com>
3976 * metadata/test-metadata.c: (print_metadata_string),
3977 (load_metadata_cb): print out all the metadata we have read, not just
3980 * sources/rb-playlist-source-recorder.c: (insert_media_request_cb),
3981 (ask_rewrite_disc), (warn_data_loss_cb): Fix some GDK lock issues.
3983 2006-07-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
3985 * plugins/lyrics/lyrics.py:
3986 Change the lyrics cache location to match Quod Libet's,
3987 and fix the '&' -> 'and' substitution to require spaces.
3989 2006-07-08 James Livingston <doclivingston@gmail.com>
3991 * bindings/python/rb.defs:
3992 * bindings/python/rb.override: bind rb_debug_real to rb._debug
3995 * plugins/Makefile.am:
3996 * plugins/rb-python-module.c: (rb_python_module_init_python):
3997 * plugins/rb/Makefile.am: add a place to put common python classes.
3998 plugins/rb/ and $prefix/rhythmbox/plugins/rb will be imported into the
4001 * plugins/lyrics/Makefile.am:
4002 * plugins/lyrics/Loader.py:
4003 * plugins/artdisplay/artdisplay/Makefile.am:
4004 * plugins/artdisplay/artdisplay/Loader.py:
4005 * plugins/rb/Loader.py: move the loader class to rb.Loader
4007 * plugins/rb/__init__.py: redirect stdout from python (e.g.
4008 "print ...") to rb_debug. error output (e.g. exceptions) are still
4011 * plugins/artdisplay/artdisplay/AmazonCoverArtSearch.py:
4012 * plugins/artdisplay/artdisplay/CoverArtDatabase.py:
4013 * plugins/lyrics/lyrics.py: adapt to the above by using rb.Loader
4018 2006-07-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
4020 * shell/rb-shell-player.xml:
4021 * shell/rb-shell-player.h:
4022 Correct the details of the playing-song-property-changed signal.
4024 2006-07-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
4026 * lib/rb-marshal.list:
4027 * shell/rb-shell-player.c: (rb_shell_player_class_init),
4028 (rb_shell_player_entry_changed_cb):
4029 * shell/rb-shell-player.h:
4030 * shell/rb-shell-player.xml:
4031 Emit a dbus signal when a property is changed on the playing entry.
4034 2006-07-07 Jonathan Matthew <jonathan@kaolin.wh9.net>
4036 * rhythmdb/rhythmdb-private.h:
4037 * rhythmdb/rhythmdb.c: (rhythmdb_entry_sync_mirrored):
4038 Fix build break with gcc 4.1 by changing RBRefString pointers into
4041 2006-07-07 James Livingston <doclivingston@gmail.com>
4043 * rhythmdb/rhythmdb-monitor.c (rhythmdb_start_monitoring):
4044 remove an extraneous !, which caused it not to monitor folders in the
4045 library with no tracks in them. Fixes #346759.
4047 2006-07-07 James Livingston <doclivingston@gmail.com>
4049 * rhythmdb/rhythmdb-private.h:
4050 * rhythmdb/rhythmdb.c: (rhythmdb_entry_allocate),
4051 (rhythmdb_entry_get), (rhythmdb_entry_set_internal),
4052 (rhythmdb_entry_sync_mirrored), (rhythmdb_entry_set_visibility),
4053 (rhythmdb_entry_get_string):
4054 * rhythmdb/rhythmdb.h: make _sync_mirrored private, and have "dirty"
4055 flags for the affected properties. _sync_mirrored will get run
4056 automatically when a dirty property is accessed, which improves
4057 performance a bit (especially during startup) as we don't need to sync
4058 every time they change. From #325215.
4060 * tests/bench-rhythmdb-load.c
4061 * tests/Makefile.am: add a RhythmDB loading benchmark.
4063 2006-07-06 James Livingston <doclivingston@gmail.com>
4065 * bindings/python/rb.defs:
4066 * bindings/python/rb.override: some more fixes, so that
4067 python classes derived from RBSource work correctly.
4069 2006-07-06 James Livingston <doclivingston@gmail.com>
4071 * configure.ac: bump pygtk requirements to 2.8, since we're already
4072 using some features of it, and weird things will happen if people are
4073 actually trying to use pygtk 2.6.
4075 * bindings/python/rb.override:
4076 * bindings/python/rhythmdb.defs:
4077 * bindings/python/rhythmdb.override: allow python to set
4078 RhythmDBEntryType's can_sync_metadata and sync_metadata vfuncs
4080 * sources/rb-browser-source.c: remove some left over member variables
4082 2006-07-06 James Livingston <doclivingston@gmail.com>
4084 * rhythmdb/rhythmdb.c:
4085 * rhythmdb/rhythmdb.c: (rhythmdb_add_import_error_entry),
4086 (rhythmdb_process_metadata_load), (rhythmdb_entry_set): remove
4087 rhythmdb_entry_set_uninserted and rhythmdb_entry_set_nonotify. The
4088 former is pointless (as rhythmdb already knows which it should use)
4089 and the latter doesn't seem useful at all, and possibly bad. From
4092 * bindings/python/rhythmdb.defs:
4093 * bindings/python/rhythmdb.override:
4094 * daapsharing/rb-daap-connection.c: (entry_set_string_prop),
4095 (handle_song_listing):
4096 * podcast/rb-podcast-manager.c:
4097 (rb_podcast_manager_download_entry), (rb_podcast_manager_add_post),
4098 (rb_podcast_manager_insert_feed):
4099 * sources/rb-audiocd-source.c: (entry_set_string_prop),
4100 (rb_audiocd_create_track_entry):
4101 * sources/rb-ipod-source.c: (entry_set_string_prop),
4102 (add_ipod_song_to_db):
4103 * sources/rb-iradio-source.c: (rb_iradio_source_add_station):
4104 * tests/test-rhythmdb.c: (START_TEST): adapt to the above.
4106 2006-07-05 James Livingston <doclivingston@gmail.com>
4108 * shell/rb-playlist-manager.c: (playlist_load_start_cb),
4109 (playlist_load_end_cb), (rb_playlist_manager_parse_file),
4110 (rb_playlist_manager_cmd_save_playlist): set the playlist name to what
4111 totem-plparser gives us, or the file name if it doesn't give us
4112 anything. Set the default file name when saving too. Fixes #345261
4114 2006-07-05 Jonathan Matthew <jonathan@kaolin.wh9.net>
4116 patch by: Ed Catmur <ed@catmur.co.uk>
4118 * lib/rb-file-helpers.c: (rb_uri_handle_recursively_cb):
4119 Skip all hidden directories, not just trash, and skip unreadable
4120 files. Fixes #346322.
4122 2006-07-04 James Livingston <doclivingston@gmail.com>
4124 * plugins/rb-module.h:
4125 * plugins/rb-module.c: (rb_module_load), (rb_module_new_object),
4127 * plugins/rb-plugin.h:
4128 * plugins/rb-plugin.c: (is_configurable), (rb_plugin_class_init),
4129 (rb_plugin_finalise), (rb_plugin_set_property),
4130 (rb_plugin_get_property), (rb_plugin_activate),
4131 (rb_plugin_deactivate), (rb_plugin_create_configure_dialog),
4132 (rb_plugin_find_file):
4133 * plugins/rb-plugins-engine.c: (load_plugin_module):
4134 * plugins/rb-python-module.c: (rb_python_module_new_object),
4135 (rb_python_module_new):
4136 * plugins/rb-python-plugin.c: (rb_python_object_class_init): add a new
4137 rb_plugin_find_file method for locating plugin-specific data. Fixes
4140 * bindings/python/rb.defs:
4141 * plugins/Makefile.am:
4142 * plugins/generic-player/rb-generic-player-plugin.c:
4144 * plugins/ipod/rb-ipod-plugin.c: (impl_activate): Use the above.
4146 2006-07-04 Jonathan Matthew <jonathan@kaolin.wh9.net>
4148 * metadata/rb-metadata-dbus-client.c: (rb_metadata_load),
4149 (rb_metadata_can_save), (rb_metadata_save):
4150 Protect the dbus connection with a mutex.
4152 2006-07-03 James Livingston <doclivingston@gmail.com>
4154 * metadata/rb-metadata-gst.c: (ogg_pad_added_cb): correctly handle the
4155 case of the parser/tagger not being able to be created.
4157 2006-07-03 James Livingston <doclivingston@gmail.com>
4159 patch by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
4161 * widgets/rb-song-info.c: (rb_song_info_init): make the Song Info
4162 window resizable, as it used to be. Fixes #345940.
4164 2006-07-01 James Livingston <doclivingston@gmail.com>
4166 Patch from Ståle Lyngaas <staale@lyngaas.com>
4168 * rhythmdb/rhythmdb.h:
4169 * rhythmdb/rhythmdb-private.h:
4170 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_start_element),
4171 (rhythmdb_tree_parser_end_element), (save_entry):
4172 * rhythmdb/rhythmdb.c: (metadata_field_from_prop),
4173 (rhythmdb_entry_allocate), (rhythmdb_entry_finalize),
4174 (set_props_from_metadata), (rhythmdb_entry_set_internal),
4175 (rhythmdb_prop_type_get_type), (rhythmdb_entry_get_string): store
4176 MusicBrainz track IDs in the database, and bump the on-disk version
4177 number to trigger a metadata reload.
4179 * backends/gstreamer/rb-player-gst.c: (process_tag):
4180 * metadata/rb-metadata-common.c:
4181 * metadata/rb-metadata-gst.c: (rb_metadata_gst_tag_to_field),
4182 (rb_metadata_gst_field_to_gst_tag):
4183 * metadata/rb-metadata.h: grab MB track IDs and use them.
4185 * plugins/audioscrobbler/rb-audioscrobbler.c:
4186 (rb_audioscrobbler_init), (rb_audioscrobbler_finalize),
4187 (rb_audioscrobbler_timeout_cb),
4188 (rb_audioscrobbler_song_changed_cb): send the MB track id along with
4189 the other metadata. Fixes #343491.
4191 2006-06-30 James Livingston <doclivingston@gmail.com>
4193 * bindings/python/rb.defs: bind RBSource's convenienve "show popup"
4196 2006-06-30 James Livingston <doclivingston@gmail.com>
4198 * bindings/python/rb.defs:
4199 * sources/rb-browser-source.c: (rb_browser_source_class_init),
4200 (rb_browser_source_songs_show_popup_cb),
4201 (default_show_entry_popup):
4202 * sources/rb-browser-source.h:
4203 * sources/rb-library-source.c: (rb_library_source_class_init),
4204 (rb_library_source_constructor), (impl_show_popup): allow
4205 RBBrowserSource-derived sources to override the entry context menu
4206 properly - by making it a virtual function, rather than relying on
4207 signal handler order (which doesn't really work).
4209 2006-06-30 Jonathan Matthew <jonathan@kaolin.wh9.net>
4211 * rhythmdb/rhythmdb-query-model.c:
4212 (rhythmdb_query_model_reapply_query_cb):
4213 Use the original query, not the preprocessed query, when redoing
4214 the query to pick up entries that previously didn't match.
4215 Preprocessing the query twice is bad. Fixes #346186.
4217 2006-06-28 Jonathan Matthew <jonathan@kaolin.wh9.net>
4219 * plugins/audioscrobbler/rb-audioscrobbler.c:
4220 (rb_audioscrobbler_song_changed_cb):
4221 Just check if the elapsed time has been reset, rather
4222 than checking if it's a different track. Fixes #344827.
4224 2006-06-28 Jonathan Matthew <jonathan@kaolin.wh9.net>
4226 * backends/gstreamer/rb-player-gst.c:
4227 Set cdda source read-speed to 1. Fixes gaps in playback while the
4228 drive spins up, #344576.
4230 2006-06-28 Jonathan Matthew <jonathan@kaolin.wh9.net>
4232 * plugins/audioscrobbler/rb-audioscrobbler.c:
4233 (rb_audioscrobbler_perform):
4234 Use HTTP/1.1. Fixes #345895.
4236 2006-06-26 Jonathan Matthew <jonathan@kaolin.wh9.net>
4238 * lib/rb-preferences.h:
4239 * lib/rb-proxy-config.c: (rb_proxy_config_init),
4240 (check_auto_proxy_config), (get_proxy_config):
4241 Don't try to use a HTTP proxy if no proxy host is specified.
4242 Alert the user to the fact that we don't support automatic proxy
4243 configuration as infrequently as possible. From #345712.
4245 2006-06-25 James Livingston <doclivingston@gmail.com>
4247 * rhythmdb/rhythmdb-property-model.c:
4248 (rhythmdb_property_model_set_property): connect to the
4249 "post-entry-delete" signal, rather than "entry-deleted". This ensures
4250 things get removed correctly, fixes #338183.
4252 2006-06-25 Jonathan Matthew <jonathan@kaolin.wh9.net>
4254 * rhythmdb/rhythmdb-query-model.c:
4255 (rhythmdb_query_model_drag_data_received):
4258 2006-06-25 James Livingston <doclivingston@gmail.com>
4260 patch by Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
4262 * widgets/rb-search-entry.c: (rb_search_entry_init),
4263 (rb_search_entry_check_style), (rb_search_entry_changed_cb): make the
4264 search box have a pale yellow background when it's in use, except for
4265 when the user has an "accessability" theme. Code based heavily on
4266 Epiphany's. Fixes #344416.
4268 2006-06-25 James Livingston <doclivingston@gmail.com>
4270 * plugins/lyrics/lyrics.py:
4271 * plugins/pythonconsole/pythonconsole.py:
4272 * plugins/sample-python/sample-python.py: don't import gettext stuff
4273 as _, as the C code does this for us. Fixes i18n for python plugins,
4276 2006-06-25 James Livingston <doclivingston@gmail.com>
4278 * rhythmdb/rhythmdb-query-model.c:
4279 (rhythmdb_query_model_drag_data_received): Make drag-and-drop withing
4280 a model use a reorder rather then deleting and re-adding the entry.
4281 This means it does do weird things like stop playback of a track that
4282 is dragged, fixing #337657.
4284 2006-06-25 Jonathan Matthew <jonathan@kaolin.wh9.net>
4286 * metadata/rb-metadata-dbus-service.c:
4287 Add missing #include <glib/gi18n.h> from previous commit.
4289 2006-06-25 Jonathan Matthew <jonathan@kaolin.wh9.net>
4291 patch by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
4293 * metadata/rb-metadata-dbus-service.c: (main):
4294 Initialize gettext in the metadata helper.
4295 * metadata/rb-metadata-gst.c:
4296 Make some strings translatable. Fixes #345286.
4298 2006-06-25 Jonathan Matthew <jonathan@kaolin.wh9.net>
4302 * lib/rb-stock-icons.c: (rb_stock_icons_init):
4303 Inline the custom icons so they can always be loaded, but are still
4304 themable. Fixes #345796.
4306 2006-06-23 James Livingston <doclivingston@gmail.com>
4308 * sources/rb-auto-playlist-source.c:
4309 (rb_auto_playlist_source_do_query): stop the search box being applied
4310 for limits in auto playlists. Fixes #345307.
4312 2006-06-23 James Livingston <doclivingston@gmail.com>
4314 * shell/rb-shell-clipboard.c:
4315 (rb_shell_clipboard_set_source_internal),
4316 (rb_shell_clipboard_sync), (add_playlist_to_menu),
4317 (rebuild_playlist_menu): don't use the add-to-playlist menu for
4318 non-library tracks, as we don't supprot it yet. From #345248.
4320 2006-06-23 James Livingston <doclivingston@gmail.com>
4322 patch by: Brian Cameron <brian.cameron@sun.com>
4324 * plugins/generic-player/rb-generic-player-plugin.c:
4325 * plugins/generic-player/rb-generic-player-source.c:
4326 * plugins/generic-player/rb-nokia770-source.c:
4327 * plugins/generic-player/rb-psp-source.c: Fix the build on Solaris.
4330 2006-06-22 James Livingston <doclivingston@gmail.com>
4332 * backends/rb-player.c: (rb_player_interface_init):
4333 * lib/rb-marshal.list:
4334 * podcast/rb-podcast-manager.c: (rb_podcast_manager_class_init):
4335 * rhythmdb/rhythmdb-query-model.c:
4336 (rhythmdb_query_model_class_init):
4337 * rhythmdb/rhythmdb.c: (rhythmdb_class_init):
4338 * shell/rb-shell-player.c: (rb_shell_player_class_init):
4339 * sources/rb-sourcelist-model.c: (rb_sourcelist_model_class_init):
4340 * sources/rb-sourcelist.c: (rb_sourcelist_class_init):
4341 * widgets/rb-entry-view.c: (rb_entry_view_class_init):
4342 * widgets/rb-song-info.c: (rb_song_info_class_init): fix the C
4343 marshallers to use s/POINTER/BOXED/. Could fix #345384 but quite
4346 2006-06-20 James Livingston <doclivingston@gmail.com>
4348 patch by Alex Lancaster <alexl@users.sourceforge.net>
4350 * daapsharing/rb-daap-share.c: (add_entry_to_mlcl): send the YEAR
4351 metadata to clients. Fixes #345276.
4353 2006-06-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
4355 * metadata/rb-metadata-gst.c: (rb_gst_plugin_greater),
4356 (rb_add_id3_tagger):
4357 Fix plugin/element version detection for id3v2mux.
4359 2006-06-20 Jonathan Matthew <jonathan@kaolin.wh9.net>
4361 * sources/rb-source.c: (rb_source_finalize),
4362 (rb_source_set_property), (rb_source_post_entry_deleted_cb),
4363 (_autohide_update_visibility),
4364 (_rb_autohide_source_post_entry_deleted_cb),
4365 (_rb_autohide_source_row_inserted_cb),
4366 (_rb_source_hide_when_empty):
4367 Use post-entry-delete signal to update status and autohide sources.
4369 2006-06-20 James Livingston <doclivingston@gmail.com>
4371 * widgets/rb-entry-view.c: (rb_entry_view_finalize): remove the
4372 "selection changed" idle callback, if present.
4374 2006-06-19 James Livingston <doclivingston@gmail.com>
4376 patch by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
4378 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
4379 don't try to translate the empty string. Fixes #345285.
4381 2006-06-19 James Livingston <doclivingston@gmail.com>
4383 * bindings/python/rhythmdb.override: more python binding fixes
4385 2006-06-19 James Livingston <doclivingston@gmail.com>
4387 * lib/rb-util.c: (rb_copy_function):
4388 * lib/rb-util.h: add a function that returns the same pointer it was
4391 * rhythmdb/rhythmdb.h:
4392 * rhythmdb/rhythmdb.c: (rhythmdb_entry_ref), (rhythmdb_entry_unref),
4393 (rhythmdb_entry_get_type), (rhythmdb_entry_type_get_type): drop the
4394 "db" parameter to rhythmdb_entry_{ref,unref}, and change RhythmDBEntry
4395 and RhythmDBEntryType into boxed types. This allows them to be used
4396 from python. Note that entry-types aren't actually reference counted
4399 * bindings/python/rb.defs:
4400 * bindings/python/rhythmdb.defs:
4401 * bindings/python/rhythmdb.override: Adapt to the above, and fix the
4402 return types of some bindings.
4404 * rhythmdb/rhythmdb.c: (rhythmdb_emit_entry_signals_idle),
4405 (process_added_entries_cb), (rhythmdb_entry_finalize),
4406 (rhythmdb_entry_delete):
4407 * daapsharing/rb-daap-connection.c:
4408 (rb_daap_connection_class_init), (rb_daap_connection_set_property),
4409 (rb_daap_connection_get_property):
4410 * plugins/generic-player/rb-generic-player-source.c:
4411 (rb_generic_player_source_load_songs), (load_playlist_file):
4412 * podcast/rb-podcast-manager.c: (rb_podcast_manager_class_init):
4413 * rhythmdb/rhythmdb-property-model.c: (query_model_cb):
4414 * rhythmdb/rhythmdb-query-model.c: (rhythmdb_query_model_finalize),
4415 (idle_process_update), (rhythmdb_query_model_add_entry),
4416 (rhythmdb_query_model_insert_into_main_list),
4417 (rhythmdb_query_model_insert_into_limited_list),
4418 (rhythmdb_query_model_remove_from_main_list),
4419 (rhythmdb_query_model_remove_from_limited_list),
4420 (rhythmdb_query_model_drag_data_received),
4421 (rhythmdb_query_model_add_results),
4422 (rhythmdb_query_model_get_column_type),
4423 (rhythmdb_query_model_get_value):
4424 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
4425 (rhythmdb_tree_entry_delete), (remove_one_song):
4426 * shell/rb-play-order-linear-loop.c:
4427 (rb_linear_play_order_loop_get_next),
4428 (rb_linear_play_order_loop_get_previous):
4429 * shell/rb-play-order-linear.c: (rb_linear_play_order_get_next),
4430 (rb_linear_play_order_get_previous):
4431 * shell/rb-play-order-queue.c: (rb_queue_play_order_get_next),
4432 (rb_queue_play_order_get_previous):
4433 * shell/rb-play-order-random.c: (rb_random_play_order_init),
4434 (rb_random_filter_history), (rb_random_play_order_get_next),
4435 (rb_random_play_order_go_next), (rb_random_db_changed),
4436 (rb_random_playing_entry_changed):
4437 * shell/rb-play-order-shuffle.c: (rb_shuffle_play_order_init),
4438 (remove_from_history), (add_randomly_to_history),
4439 (rb_shuffle_db_changed), (rb_shuffle_playing_entry_changed):
4440 * shell/rb-play-order.c: (rb_play_order_class_init),
4441 (rb_play_order_set_property), (rb_play_order_get_property),
4442 (rb_play_order_update_have_next_previous):
4443 * shell/rb-play-order.h:
4444 * shell/rb-shell-clipboard.c:
4445 (rb_shell_clipboard_process_deletions),
4446 (rb_shell_clipboard_entry_deleted_cb), (add_playlist_to_menu):
4447 * sources/rb-audiocd-source.c: (rb_audiocd_create_track_entry):
4448 * sources/rb-auto-playlist-source.c:
4449 (rb_auto_playlist_source_constructor):
4450 * sources/rb-browser-source.c: (rb_browser_source_class_init),
4451 (rb_browser_source_set_property), (rb_browser_source_get_property),
4452 (rb_browser_source_do_query):
4453 * sources/rb-daap-source.c: (rb_daap_source_connection_cb):
4454 * sources/rb-import-errors-source.c: (rb_import_errors_source_new):
4455 * sources/rb-ipod-source.c: (add_rb_playlist),
4456 (add_ipod_song_to_db), (impl_paste):
4457 * sources/rb-iradio-source.c: (rb_iradio_source_class_init),
4458 (rb_iradio_source_set_property), (rb_iradio_source_get_property):
4459 * sources/rb-library-source.c: (layout_example_label_update):
4460 * sources/rb-missing-files-source.c:
4461 (rb_missing_files_source_class_init),
4462 (rb_missing_files_source_set_property),
4463 (rb_missing_files_source_get_property),
4464 (rb_missing_files_source_new):
4465 * sources/rb-playlist-source.c: (rb_playlist_source_class_init),
4466 (rb_playlist_source_set_property),
4467 (rb_playlist_source_get_property):
4468 * sources/rb-podcast-source.c: (rb_podcast_source_class_init),
4469 (rb_podcast_source_set_property), (rb_podcast_source_get_property),
4470 (construct_query_from_selection):
4471 * sources/rb-removable-media-source.c: (impl_delete_thyself):
4472 * sources/rb-static-playlist-source.c:
4473 (rb_static_playlist_source_constructor),
4474 (rb_static_playlist_source_add_location_internal):
4475 * widgets/rb-entry-view.c: (rb_entry_view_class_init):
4476 * widgets/rb-header.c: (rb_header_class_init),
4477 (rb_header_set_property), (rb_header_get_property):
4478 * widgets/rb-library-browser.c: (rb_library_browser_class_init),
4479 (rb_library_browser_set_property),
4480 (rb_library_browser_get_property):
4481 * widgets/rb-song-info.c: (rb_song_info_class_init),
4482 (rb_song_info_get_property): Adjust for the _ref/_unref prototype
4483 change, do s/pointer/boxed/ in many places and free entry-types
4486 2006-06-18 James Livingston <doclivingston@gmail.com>
4488 * lib/rb-util.c: (purge_useless_threads), (rb_threads_init): purge
4489 unushed GThreadPool non-exclusive threads every now and then.
4491 * rhythmdb/rhythmdb-private.h:
4492 * rhythmdb/rhythmdb.c: (rhythmdb_init), (rhythmdb_finalize),
4493 (rhythmdb_do_full_query_async_parsed): Use a thread pool for query
4494 threads. Fixes #341593
4496 2006-06-19 James Livingston <doclivingston@gmail.com>
4498 * sources/rb-playlist-source.c: (rb_playlist_source_constructor): make
4499 the "Track number" checkbox actually work for playlists. From #329986.
4501 2006-06-19 Jonathan Matthew <jonathan@kaolin.wh9.net>
4503 * plugins/generic-player/rb-generic-player-source.c:
4504 Get playlist and audio folder information from HAL. Fixes #333845.
4506 2006-06-18 James Livingston <doclivingston@gmail.com>
4508 patch by: Alex Lancaster <alexl@users.sourceforge.net>
4510 * widgets/rb-entry-view.h:
4511 * widgets/rb-entry-view.c: (rb_entry_view_class_init),
4512 (rb_entry_view_append_column_custom),
4513 (rb_entry_view_insert_column_custom): add support for inserting custom
4514 columns at arbitrary locations, rather than just appending to the end.
4516 * sources/rb-playlist-source.c: (rb_playlist_source_constructor): make
4517 the playlists "track number" column go at the start, and add a normal
4518 track number column. Fixes #329986.
4520 2006-06-18 Dennis Cranston <dennis_cranston@yahoo.com>
4522 * data/glade/library-prefs.glade: Capitalization fixes. Fix
4523 a mnemonic conflict. Add ellipses to the edit button.
4524 * sources/rb-library-source.c:
4525 (rb_library_source_edit_profile_clicked_cb),
4526 (impl_get_config_widget): Hide dialog separator. Assign a
4527 mnemonic widget to the labels. Fixes #344114.
4529 2006-06-18 James Livingston <doclivingston@gmail.com>
4531 * configure.ac: bump version
4532 * NEWS: add NEWS for 0.9.5
4534 2006-06-18 Jonathan Matthew <jonathan@kaolin.wh9.net>
4536 * lib/rb-file-helpers.c: (rb_uri_handle_recursively_cb),
4537 (rb_uri_handle_recursively):
4538 Don't attempt to recurse into directories we can't open.
4541 2006-06-18 James Livingston <doclivingston@gmail.com>
4543 patch by: Jaap A. Haitsma <jaap@haitsma.org>
4545 * shell/rb-shell.c: Add F11 as a shortcut for Party Mode. Fixes
4548 2006-06-18 Jonathan Matthew <jonathan@kaolin.wh9.net>
4550 * bindings/python/rb.defs:
4551 * shell/rb-shell-player.c: (rb_shell_player_play_entry), (eos_cb):
4552 * shell/rb-shell-player.h:
4553 * shell/rb-shell.c: (rb_shell_play_entry):
4554 Add source parameter to rb_shell_player_play_entry, using the selected
4555 source if not specified.
4557 * shell/rb-play-order.c: (rb_play_order_class_init),
4558 (rb_play_order_finalize), (rb_play_order_query_model_changed),
4559 (rb_play_order_row_deleted_cb), (sync_playing_entry_cb),
4560 (default_playing_entry_removed):
4561 * shell/rb-play-order.h:
4562 Move entry removal handling back to the row-deleted signal, as we need
4563 the entry to be present in the model. When changing to the next entry
4564 after the playing entry is deleted, set the new entry as the playing
4565 entry and then sync it to the player in an idle handler, so we don't
4566 end up playing it if it was removed too.
4567 * shell/rb-play-order-queue.c:
4568 (rb_queue_play_order_playing_entry_changed),
4569 (rb_queue_play_order_playing_entry_removed):
4570 Use the playing-entry-removed handler from the play order class,
4571 setting a flag so we don't try to remove the already-removed entry
4574 This makes removal of the playing entry from playlists etc. work more
4575 or less correctly for all play orders. Fixes #344627.
4577 2006-06-17 James Livingston <doclivingston@gmail.com>
4579 patch by: Elijah Newren <newren@gmail.com>
4581 * tests/test-rhythmdb.c: fix the build with older versions of check
4582 (again). Fixes #343718.
4584 2006-06-17 James Livingston <doclivingston@gmail.com>
4586 * player/rb-recorder-gst.c: (rb_recorder_construct): use the right
4587 name for capsfilter's "caps" property. Fixes #344968.
4589 2006-06-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
4591 * shell/rb-shell-player.c: (rb_shell_player_playpause):
4592 Don't leak the selected entry list when finding an entry to play.
4594 2006-06-17 James Livingston <doclivingston@gmail.com>
4596 * widgets/rb-entry-view.c: (rb_entry_view_emit_selection_changed),
4597 (rb_entry_view_selection_changed_cb): don't do O(n) operations here,
4598 as a O(1) one works fine, and it will get called often when the user
4599 deleted multiple tracks. Part of #344922.
4601 2006-06-17 James Livingston <doclivingston@gmail.com>
4603 * shell/rb-shell-player.c: (rb_shell_player_stop): make
4604 rb_shell_player_stop and rb_shell_player_playpause not mutually
4605 recursive. Fixed #336912.
4607 2006-06-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
4609 * podcast/rb-podcast-parse.c: (rb_podcast_parser_start_element):
4610 Treat nested elements inside properties as unknown. Fixes parsing of
4611 podcast feeds with unescaped HTML in description tags, bug #344532.
4613 2006-06-15 William Jon McCann <mccann@jhu.edu>
4615 * shell/rb-shell.c (rb_shell_quit): Unset the playing source
4616 when quitting. Fixes #344875.
4618 2006-06-15 Jonathan Matthew <jonathan@kaolin.wh9.net>
4620 * shell/rb-play-order.c: (rb_play_order_post_entry_delete_cb):
4621 Move the playing-entry-removed handling to after the normal entry
4622 delete handling, since we're called after the entry has been removed
4623 from the query model now. Fixes crashes described in #344627.
4625 2006-06-13 William Jon McCann <mccann@jhu.edu>
4627 * widgets/rb-rating-helper.c: (rb_rating_render_stars),
4628 (rb_rating_get_rating_from_widget):
4629 * widgets/rb-rating.c: (rb_rating_class_init),
4630 (rb_rating_finalize), (rb_rating_get_property),
4631 (rb_rating_set_property), (rb_rating_new), (rb_rating_expose),
4632 (rb_rating_button_press_cb):
4633 Don't crash when ratings icons can't be found. Fixes #344533.
4635 2006-06-12 Jonathan Matthew <jonathan@kaolin.wh9.net>
4637 * remote/dbus/Makefile.am: Fix build with builddir != srcdir.
4639 2006-06-11 Jonathan Matthew <jonathan@kaolin.wh9.net>
4643 * remote/Makefile.am:
4644 * remote/dbus/Makefile.am:
4645 * remote/dbus/rb-client.c:
4646 * shell/Makefile.am:
4647 New dbus client program providing --play/--next etc. arguments.
4648 Fixes #340863, #155763.
4650 2006-06-11 Jonathan Matthew <jonathan@kaolin.wh9.net>
4652 * podcast/rb-podcast-manager.c: (rb_podcast_manager_copy_post):
4653 g_mkdir_with_parents returns -1 on error, not 0. Fixes #344316.
4655 2006-06-10 Ryan P Skadberg <skadz@stigmata.org>
4657 patch by: Jonathan Matthew <jonathan@kaolin.wh9.net>
4659 * rhythmdb/rhythmdb-query-model.c:
4660 (rhythmdb_query_model_drag_data_get): Fix for Podcasts getting added
4661 to Library incorrectly
4663 2006-06-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
4665 * lib/rb-file-helpers.c: (rb_canonicalise_uri):
4666 Return input string untouched if gnome_vfs_uri_new returns NULL.
4667 * sources/rb-static-playlist-source.c: (impl_receive_drag),
4668 (rb_static_playlist_source_add_list_uri):
4669 Use rb_uri_list_parse rather than gnome_vfs_uri_list_parse so DAAP
4670 URIs don't break it. Fixes #339033.
4672 2006-06-08 James Livingston <doclivingston@gmail.com>
4674 * lib/rb-tree-dnd.c: (scroll_row_timeout): fix "select on drag hover"
4675 for sources on the edge (i.e. the queue). Fixes #328409.
4677 * sources/rb-ipod-source.c: fix typo
4679 2006-06-08 James Livingston <doclivingston@gmail.com>
4682 * sources/rb-ipod-source.c: (rb_ipod_source_class_init): add a
4683 --enable-ipod-writing to enable the ipod syncing code.
4685 2006-06-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
4687 * sources/rb-library-source.c: (layout_example_label_update):
4688 add missing comma so we don't generate broken markup.
4690 2006-06-08 James Livingston <doclivingston@gmail.com>
4692 * metadata/rb-metadata-gst.c: (rb_add_id3_tagger): check for backwards
4693 tag-merging with id3v2mux as well as id3mux. From #342330.
4695 2006-06-07 James Livingston <doclivingston@gmail.com>
4697 * tests/test-rhythmdb.c: #define fail_if for old version of check
4698 which don't have it. Hopefully fixes #343718.
4700 2006-06-07 James Livingston <doclivingston@gmail.com>
4702 * shell/rb-playlist-manager.c:
4703 (rb_playlist_manager_cmd_edit_automatic_playlist): don't call
4704 g_value_array_free with NULL. Fixes #341053.
4706 2006-06-07 James Livingston <doclivingston@gmail.com>
4708 * shell/rb-playlist-manager.c:
4709 (rb_playlist_manager_playlist_entries_changed),
4710 (rb_playlist_manager_set_source): use the "post-entry-delete" signal
4711 instead of "row-removed", which fixes updating "burn playlist"
4712 sensitivity. Fixes #331119.
4714 2006-06-07 James Livingston <doclivingston@gmail.com>
4716 * shell/rb-shell-player.c: (rb_shell_player_error): display errors
4717 rather than restarting if the source uses _RETRY and there is an
4718 actual error (like an undecodable stream) rather than it just dropping
4719 out and causing EOS.
4721 2006-06-07 James Livingston <doclivingston@gmail.com>
4723 * widgets/rb-rating-helper.c: (rb_rating_pixbufs_free): don't try to
4724 free the pixbufs if they couldn't be loaded. Fixed #343852.
4726 2006-06-07 James Livingston <doclivingston@gmail.com>
4728 * sources/rb-playlist-source-recorder.c: (response_cb): make pressing
4729 the close button on the dialog work. Fixes #335346.
4731 2006-06-07 Jonathan Matthew <jonathan@kaolin.wh9.net>
4733 * sources/rb-sourcelist-model.c: (path_is_droppable),
4734 (path_is_reorderable):
4735 * sources/rb-sourcelist.c: (rb_sourcelist_selection_changed_cb),
4736 (row_activated_cb), (emit_show_popup), (key_release_cb),
4737 (rb_sourcelist_title_cell_data_func), (source_name_edited_cb):
4738 Ignore group marker rows in the source list. Fixes #344089, a couple
4739 of other crashers, and some weird UI glitches too.
4741 2006-06-07 James Livingston <doclivingston@gmail.com>
4743 * backends/gstreamer/rb-player-gst.c: check if we have a duration if
4744 the seeking query fails. This is needed because many gst elements
4745 don't implement the seeking query yet. Should fix 329977.
4747 2006-06-06 James Livingston <doclivingston@gmail.com>
4749 * configure.ac: bump version for a prerelease, turn on track transfer
4752 * sources/rb-ipod-source.c: (rb_ipod_source_class_init): disable the
4753 ipod transfer stuff, since it has big issues and we'll hopefully land
4754 real support (bug 310774) after 0.9.5
4756 2006-06-06 James Livingston <doclivingston@gmail.com>
4758 * metadata/rb-metadata-gst.c: (rb_add_id3_tagger): actually use
4759 id3v2mux once we've detected it.
4761 2006-06-06 James Livingston <doclivingston@gmail.com>
4764 * tests/test-rhythmdb.c: undo accidental commit which caused
4765 rb-thread.c to be built (which it isn't normally)
4767 2006-06-06 James Livingston <doclivingston@gmail.com>
4769 * tests/test-rhythmdb.c: (test_rhythmdb_setup),
4770 (test_rhythmdb_shutdown), (START_TEST): add message strings to all
4771 fail_{if/unless} calls, as some versions of check need them (they are
4772 optional in others). Should fix bug 343718.
4774 2006-06-06 James Livingston <doclivingston@gmail.com>
4776 * lib/rb-debug.c: (rb_profiler_new): fix if statement, from bug
4780 * lib/rb-thread.c: (process_actions):
4781 * tests/test-rhythmdb.c: (START_TEST): fix distcheck, and disable
4782 tests that don't pass.
4784 2006-06-05 James Livingston <doclivingston@gmail.com>
4786 * data/glade/Makefile.am:
4787 * data/glade/load-failure.glade:
4788 * data/rhythmbox.schemas: remove the remainder of the old load-failure
4791 2006-06-05 Jonathan Matthew <jonathan@kaolin.wh9.net>
4793 * bindings/python/rb.defs: Remove rb_debug stuff I accidentally
4796 2006-06-04 Jonathan Matthew <jonathan@kaolin.wh9.net>
4798 * bindings/python/rb.defs:
4799 * sources/rb-source.h:
4800 * sources/rb-source.c: (rb_source_class_init),
4801 (rb_source_set_property), (rb_source_get_property),
4802 (rb_sourcelist_group_get_type):
4803 Add 'sourcelist-group' property on the RBSource class, describing how
4804 sources should be grouped in the source list.
4806 * sources/rb-sourcelist-model.c: (rb_sourcelist_model_finalize),
4807 (rb_sourcelist_model_new), (real_row_is_separator),
4808 (rb_sourcelist_model_is_row_visible),
4809 (rb_sourcelist_model_row_is_separator), (get_group_for_path),
4810 (rb_sourcelist_model_drag_data_received), (path_is_reorderable),
4811 (rb_sourcelist_model_row_draggable),
4812 (rb_sourcelist_model_row_inserted_cb),
4813 (rb_sourcelist_model_row_deleted_cb),
4814 (rb_sourcelist_model_get_group_path):
4815 * sources/rb-sourcelist-model.h:
4816 * sources/rb-sourcelist.c: (rb_sourcelist_init),
4817 (rb_sourcelist_append):
4818 Add group marker rows for each sourcelist group, and use these to
4819 insert sources in the right place. Sort transient sources (DAAP
4820 shares) by name. Show the group marker rows as separators when the
4821 next visible row is a source. Make persistant sources (playlists) and
4822 removable sources reorderable using drag and drop, restricting them
4823 within the source groups.
4825 * sources/rb-audiocd-source.c: (rb_audiocd_source_new):
4826 * sources/rb-auto-playlist-source.c: (rb_auto_playlist_source_new):
4827 * sources/rb-daap-source.c: (rb_daap_source_new):
4828 * sources/rb-ipod-source.c: (rb_ipod_source_new):
4829 * sources/rb-static-playlist-source.c:
4830 (rb_static_playlist_source_new):
4831 * plugins/generic-player/rb-generic-player-source.c:
4832 (rb_generic_player_source_new):
4833 * plugins/generic-player/rb-nokia770-source.c:
4834 (rb_nokia770_source_new):
4835 * plugins/generic-player/rb-psp-source.c: (rb_psp_source_new):
4836 Add source list group information to existing source classes.
4838 Fixes #318754 and #336492.
4840 2006-06-04 James Livingston <doclivingston@gmail.com>
4842 * widgets/rb-song-info.c: (rb_song_info_populate_dialog),
4843 (rb_song_info_update_year), (rb_song_info_sync_entries_multiple):
4846 2006-06-03 Jonathan Matthew <jonathan@kaolin.wh9.net>
4848 * rhythmdb/rhythmdb-query-model.c:
4849 (rhythmdb_query_model_class_init),
4850 (rhythmdb_query_model_remove_from_main_list):
4851 * rhythmdb/rhythmdb-query-model.h:
4852 Add a new 'post-entry-delete' signal, emitted when the entry has been
4853 removed from the model's data structures.
4855 * shell/rb-play-order.c: (rb_play_order_finalize),
4856 (rb_play_order_query_model_changed),
4857 (rb_play_order_post_entry_delete_cb):
4858 Use the new signal to update the play order, so the queue play order
4859 doesn't try to scroll to entries that don't exist in a way that causes
4860 the tree view to crash. Fixes #340216.
4862 2006-06-03 Jonathan Matthew <jonathan@kaolin.wh9.net>
4864 * backends/gstreamer/rb-encoder-gst.c: (progress_timeout_cb):
4865 Fix rb_debug call I missed previously.
4867 2006-06-03 Jonathan Matthew <jonathan@kaolin.wh9.net>
4869 * metadata/rb-metadata-gst.c:
4870 Don't use NULL as the error message for ignored files, as it crashes
4871 with some C libraries. Fixes #343713.
4873 2006-06-03 Jonathan Matthew <jonathan@kaolin.wh9.net>
4875 * widgets/rb-dialog.c: (rb_error_dialog):
4876 * widgets/rb-dialog.h:
4877 Mark rb_error_dialog as taking printf-like arguments, and use a format
4878 string for the primary message rather than passing in the message
4881 * lib/eel-gconf-extensions.c: (eel_gconf_handle_error):
4882 * shell/rb-shell-player.c: (rb_shell_player_cmd_play),
4883 (info_available_cb):
4884 * shell/rb-playlist-manager.c: (load_playlist_response_cb):
4885 * shell/rb-removable-media-manager.c:
4886 (rb_removable_media_manager_eject_medium_cb):
4887 Make sure all calls to rb_error_dialog use string constants for the
4888 format string rather than passing the error message directly. Remove
4889 an extra %s from the message used when playback fails. Fixes #343562.
4892 * sources/rb-audiocd-source.c:
4893 * plugins/audioscrobbler/rb-audioscrobbler.c:
4894 (rb_audioscrobbler_do_handshake), (rb_audioscrobbler_submit_queue):
4895 Mark rb_debug as taking printf-like arguments and fix a few resulting
4898 2006-06-02 James Livingston <doclivingston@gmail.com>
4901 + macros/check.m4: add support for using check for unit tests, the .m4
4902 files is so autogen can run without check being installed
4904 * tests/Makefile.am:
4905 + tests/test-rhythmdb.c: update the tests to new rhythmdb API, port
4906 some of the old tests, and add some new ones. Currently
4907 deserialisation tests 2 and 3 fail, for reasons I haven't figured out
4908 yet (the query doesn't return any entries).
4910 - tests/deserialization-test1.xml:
4911 - tests/deserialization-test2.xml:
4912 - tests/deserialization-test3.xml:
4913 - tests/test-rhythmdb-indexing.c:
4914 - tests/test-rhythmdb-simple.c:
4915 - tests/test-rhythmdb-tree-deserialization.c: remove old tests that
4919 - tests/test-cmdline.c: remove obsolete tests
4921 2006-06-02 James Livingston <doclivingston@gmail.com>
4923 * metadata/rb-metadata-gst.c: (rb_gst_plugin_greater),
4924 (rb_add_id3_tagger), (rb_metadata_init): add support for using
4925 id3v2mux, and check whether we are using a version of id3mux that has
4926 the correct merge-mode behaviour.
4928 * plugins/sample-python/Makefile.am: fix distcheck.
4930 * rhythmdb/rhythmdb-monitor.c: (rhythmdb_finalize_monitoring): check
4931 the changed-files source was added before trying to remove it.
4933 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_evaluate_query): fix an
4934 *old* bug which would crash if a query with top-level disjunctions
4935 tried to check later disjunctive parts. Hooray for unit-testing.
4937 2006-06-02 William Jon McCann <mccann@jhu.edu>
4939 * player/rb-recorder-gst.c (rb_recorder_set_device):
4940 Check for a null drive.
4942 2006-05-31 Jonathan Matthew <jonathan@kaolin.wh9.net>
4945 * lib/rb-stock-icons.c: (rb_stock_icons_init):
4946 Register the app icon as a builtin if the icon theme can't find it.
4948 2006-05-31 James Livingston <doclivingston@gmail.com>
4950 * player/rb-recorder-gst.c: add missing include.
4952 2006-05-30 William Jon McCann <mccann@jhu.edu>
4954 * metadata/sj-metadata-musicbrainz.c: (lookup_cd):
4955 * player/rb-recorder-gst.c: (rb_recorder_get_default_drive),
4956 (tick_timeout_cb), (rb_recorder_sync_pipeline),
4957 (nautilus_burn_drive_get_device), (rb_recorder_get_device),
4958 (rb_recorder_set_device), (rb_recorder_get_default_device):
4959 * shell/main.c: (main):
4960 * shell/rb-removable-media-manager.c:
4961 (rb_removable_media_manager_finalize),
4962 (get_nautilus_burn_drive_for_path),
4963 (rb_removable_media_manager_playing_uri_changed_cb),
4964 (rb_removable_media_manager_load_media),
4965 (nautilus_burn_drive_get_device),
4966 (rb_removable_media_manager_scan):
4967 * sources/rb-playlist-source-recorder.c: (ask_rewrite_disc):
4969 Update for libnautilus-burn 2.15.3 API changes.
4972 2006-05-30 James Livingston <doclivingston@gmail.com>
4974 * daapsharing/rb-daap-connection.c: (handle_login): add a missing
4975 "return" to that it asks for the password again if it was wrong.
4977 2006-05-30 Jonathan Matthew <jonathan@kaolin.wh9.net>
4979 * metadata/rb-metadata-gst.c: Don't leak a reference to decodebin's
4982 2006-05-30 James Livingston <doclivingston@gmail.com>
4984 * podcast/rb-podcast-manager.c: (rb_podcast_manager_copy_post),
4985 (download_progress_cb): don't do wonky things if the transfer
4986 "suceeds" without transferring any data.
4988 2006-05-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
4990 * sources/rb-library-source.c: (layout_example_label_update),
4991 (build_filename): Fix crash when no audio profile is selected.
4994 2006-05-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
4996 * shell/rb-shell.c: (rb_shell_clear_queue):
4998 * shell/rb-shell.xml:
4999 * sources/rb-play-queue-source.c:
5000 (rb_play_queue_source_clear_queue),
5001 (rb_play_queue_source_cmd_clear):
5002 * sources/rb-play-queue-source.h:
5003 Add clearQueue dbus method.
5005 2006-05-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
5007 * shell/main.c: (main): Implement --quit option.
5009 2006-05-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
5011 * rhythmdb/rhythmdb-private.h:
5012 * rhythmdb/rhythmdb-tree.h:
5013 * rhythmdb/rhythmdb.c: (process_added_entries_cb),
5014 (rhythmdb_entry_insert), (rhythmdb_entry_set),
5015 (rhythmdb_entry_set_nonotify), (rhythmdb_entry_set_uninserted),
5016 (rhythmdb_entry_set_internal), (rhythmdb_entry_sync_mirrored),
5017 (rhythmdb_entry_get_boolean):
5018 Replace 'visibility' and 'inserted' in RhythmDBEntry with a flag
5019 bitmask, giving the db backend anything past the first 16 bits for
5020 its own private use.
5022 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_start_element),
5023 (save_entry), (rhythmdb_tree_entry_new), (rhythmdb_tree_entry_set):
5024 Add a 'loading' flag to indicate that an entry is being loaded from
5025 disk, and use that to ignore entry_set operations on such entries
5026 rather than the 'inserted' flag, which doesn't quite mean the same
5027 thing. Fixes #342694.
5029 2006-05-28 Jonathan Matthew <jonathan@kaolin.wh9.net>
5031 * shell/rb-shell.xml: Remove visibility property, since it causes
5032 crashes (dbus bug 7057) and doesn't do much else.
5034 2006-05-28 James Livingston <doclivingston@gmail.com>
5036 * plugins/audioscrobbler/Makefile.am: fix some distcheck issues.
5038 patch by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
5039 * po/POTFILES.in: fix some more i18n issues.
5041 2006-05-28 Jonathan Matthew <jonathan@kaolin.wh9.net>
5043 * bindings/python/rb.defs:
5044 * shell/rb-shell-player.c: (rb_shell_player_playpause),
5046 * shell/rb-shell-player.h:
5047 Deprecate the useless 'ignore_stop' parameter to
5048 rb_shell_player_playpause, leaving it in place to avoid breaking dbus
5049 API. From bug #334829.
5051 2006-05-28 Jonathan Matthew <jonathan@kaolin.wh9.net>
5053 * plugins/generic-player/rb-generic-player-source.c:
5054 (visit_playlist_dirs), (default_transform_playlist_uri):
5055 When playlist parsing fails, unref the playlist, not the parent
5056 source. Fix memory leak in playlist uri transform.
5057 * plugins/generic-player/rb-nokia770-source.c:
5058 (impl_transform_playlist_uri):
5059 Fix memory leak in playlist uri transform.
5061 2006-05-27 Ryan P Skadberg <skadz@stigmata.org>
5063 * doc/reference/Makefile.am: fix grk-doc build
5065 2006-05-27 James Livingston <doclivingston@gmail.com>
5067 patch by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
5069 * plugins/lyrics/lyrics.py:
5070 * po/POTFILES.in: Make strings in plugins translatable. From bug
5073 2006-05-27 James Livingston <doclivingston@gmail.com>
5075 * backends/Makefile.am:
5076 * backends/gstreamer/Makefile.am:
5078 * plugins/audioscrobbler/Makefile.am:
5079 * plugins/generic-player/Makefile.am:
5081 * rhythmdb/rhythmdb-monitor.c:
5082 * rhythmdb/rhythmdb.c:
5083 * sources/Makefile.am:
5084 * widgets/Makefile.am: fix compilation after some CVS surgery was
5087 2006-05-26 Jonathan Matthew <jonathan@kaolin.wh9.net>
5089 * bindings/python/rhythmdb.defs:
5090 * rhythmdb/rhythmdb-query.c: (write_encoded_gvalue),
5091 (rhythmdb_read_encoded_property), (rhythmdb_query_serialize),
5092 (rhythmdb_query_deserialize):
5093 * rhythmdb/rhythmdb.c: (rhythmdb_init), (rhythmdb_entry_allocate),
5094 (rhythmdb_entry_get_type_data), (rhythmdb_entry_finalize),
5095 (rhythmdb_entry_set_internal), (rhythmdb_entry_register_type),
5096 (rhythmdb_entry_register_type_alias),
5097 (rhythmdb_entry_type_get_by_name), (rhythmdb_entry_song_get_type),
5098 (rhythmdb_entry_ignore_get_type), (rhythmdb_entry_iradio_get_type),
5099 (_podcast_data_destroy), (rhythmdb_entry_podcast_post_get_type),
5100 (rhythmdb_entry_podcast_feed_get_type),
5101 (rhythmdb_entry_import_error_get_type),
5102 (rhythmdb_entry_get_string), (rhythmdb_entry_get_ulong):
5103 * rhythmdb/rhythmdb.h:
5104 Allocate a specified amount of extra memory for each db entry, to be
5105 used to store fields specific to the entry type. Optionally associate
5106 a name with each entry type, to be used when saving entries and
5107 auto playlists to disk. Allow entry types to have multiple names
5108 to handle older playlist files that used '0' to represent 'song'.
5109 Use private data to store podcast fields.
5111 * rhythmdb/rhythmdb-private.h:
5112 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_start_element),
5113 (rhythmdb_tree_parser_end_element), (save_entry),
5114 (rhythmdb_tree_entry_set):
5115 Simplify property handling by using existing code to convert
5116 properties from strings to GValues and to set properties on entries.
5117 Other assorted changes due to the above.
5119 * sources/rb-audiocd-source.c: (rb_audiocd_source_new):
5120 * sources/rb-daap-source.c: (rhythmdb_entry_daap_type_new):
5121 * sources/rb-generic-player-source.c:
5122 (rb_generic_player_source_new):
5123 * sources/rb-ipod-source.c: (rb_ipod_source_new):
5124 * sources/rb-nokia770-source.c: (rb_nokia770_source_new):
5125 * sources/rb-psp-source.c: (rb_psp_source_new):
5126 Update for changes to rhythmdb_entry_register_type. None of these
5127 entry types need names or use private data.
5131 2006-05-25 Jonathan Matthew <jonathan@kaolin.wh9.net>
5133 * rhythmdb/rhythmdb.c: (rhythmdb_add_import_error_entry):
5134 Fix creation of ignored-file db entries - need to check for
5135 RHYTHMDB_ENTRY_TYPE_INVALID as well as _SONG.
5137 2006-05-25 James Livingston <doclivingston@gmail.com>
5140 * MAINTAINERS: update my email address
5142 2006-05-25 James Livingston <doclivingston@gmail.com>
5144 * plugins/lyrics/lyrics.py: strip annotations like "(live ...)" and
5145 "(... mix)" when searching for lyrics. Cache the lyrics under
5146 ~/.gnome2/rhythmbox/lyrics/. Fixes bug 342319.
5148 2006-05-25 Jonathan Matthew <jonathan@kaolin.wh9.net>
5150 * sources/rb-import-errors-source.c:
5151 (rb_import_errors_source_class_init):
5152 * sources/rb-playlist-source.c: (rb_playlist_source_class_init):
5153 * sources/rb-browser-source.c: (rb_browser_source_class_init):
5154 * sources/rb-source.c: (rb_source_class_init),
5155 (default_move_to_trash):
5156 Implement the basic move-to-trash operation once in rb-source.c,
5157 rather than in each source type that supports it.
5159 * plugins/ipod/rb-ipod-plugin.c:
5160 * shell/rb-removable-media-manager.c:
5161 * shell/rb-shell.c: (rb_shell_constructor):
5162 Only scan removable media once after loading plugins. Add a flag
5163 plugins can use to check if the initial scan has been done.
5165 * data/rhythmbox.schemas:
5166 Enable ipod and generic-player plugins by default.
5169 * data/ui/Makefile.am:
5170 * data/ui/generic-player-ui.xml:
5171 * data/ui/rhythmbox-ui.xml:
5172 * plugins/Makefile.am:
5173 * plugins/generic-player/Makefile.am:
5174 * plugins/generic-player/generic-player.rb-plugin.desktop.in:
5175 * plugins/generic-player/rb-generic-player-plugin.c:
5176 * sources/Makefile.am:
5177 * sources/rb-generic-player-source.c:
5178 * sources/rb-generic-player-source.h:
5179 * sources/rb-nokia770-source.c:
5180 * sources/rb-nokia770-source.h:
5181 * sources/rb-psp-source.c: (visit_playlist_dirs):
5182 * sources/rb-psp-source.h:
5183 Pluginise generic player (and nokia770 and PSP) support and add
5184 move-to-trash for players not mounted read-only.
5187 2006-05-24 William Jon McCann <mccann@jhu.edu>
5189 * daapsharing/rb-daap-connection.c (handle_song_listing):
5190 Lower bound check for batch commit. Fixes #342848
5192 * sources/rb-daap-source.c (rb_daap_source_get_status):
5193 Always set output variables if provided.
5195 2006-05-25 Jonathan Matthew <jonathan@kaolin.wh9.net>
5197 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_entry_new),
5198 (rhythmdb_tree_entry_delete), (remove_one_song):
5199 * rhythmdb/rhythmdb.c: (process_deleted_entries_cb):
5200 Fix two db entry reference counting problems.
5201 The initial reference on the entry is held by the db backend, but it
5202 was never being dropped. The reference count was incremented when
5203 adding an entry to the deleted_entries map and to the
5204 deleted_entries_to_emit list, but only decremented for one of those.
5206 2006-05-24 William Jon McCann <mccann@jhu.edu>
5208 * daapsharing/rb-daap-connection.c (http_response_handler)
5209 (rb_daap_connection_dispose):
5210 Call soup_session_abort to make sure there are no outstanding
5211 requests when we dispose of the connection. Ignore cancelled
5212 messages in the callback.
5214 2006-05-24 William Jon McCann <mccann@jhu.edu>
5216 * sources/rb-daap-source.c (rb_daap_source_connection_cb)
5217 (rb_daap_source_disconnect): Set a flag when disconnecting
5218 the source. Check this flag in connection callback
5219 to see if we should release the connection.
5221 2006-05-24 William Jon McCann <mccann@jhu.edu>
5223 * daapsharing/Makefile.am:
5224 * daapsharing/rb-daap-connection.c: (rb_daap_connection_finalize),
5225 (rb_daap_connection_class_init), (connection_connected),
5226 (connection_disconnected), (connection_operation_done),
5227 (build_message), (connection_set_error_message),
5228 (actual_http_response_handler), (http_get),
5229 (entry_set_string_prop), (emit_progress_idle),
5230 (handle_server_info), (handle_login), (handle_update),
5231 (handle_database_info), (handle_song_listing), (handle_playlists),
5232 (handle_playlist_entries), (handle_logout),
5233 (rb_daap_connection_new), (rb_daap_connection_is_connected),
5234 (connection_response_data_free), (connected_cb),
5235 (rb_daap_connection_connect), (disconnected_cb),
5236 (rb_daap_connection_finish), (rb_daap_connection_disconnect),
5237 (rb_daap_connection_state_done), (rb_daap_connection_do_something),
5238 (rb_daap_connection_dispose), (rb_daap_connection_set_property),
5239 (rb_daap_connection_get_property):
5240 * daapsharing/rb-daap-connection.h:
5241 * daapsharing/rb-daap-hash.c: (byteReverse), (OpenDaap_MD5Init),
5242 (OpenDaap_MD5Update), (OpenDaap_MD5Final), (MD5Transform),
5243 (DigestToString), (GenerateStatic_42), (GenerateStatic_45),
5244 (rb_daap_hash_generate):
5245 * daapsharing/rb-daap-hash.h:
5246 * sources/rb-daap-source.c: (rb_daap_source_class_init),
5247 (rb_daap_get_icon), (remove_source), (stop_browsing),
5248 (create_pixbufs), (destroy_pixbufs), (rb_daap_sources_shutdown),
5249 (connection_connecting_cb), (connection_disconnected_cb),
5250 (release_connection), (rb_daap_source_connection_cb),
5251 (rb_daap_source_activate), (rb_daap_source_disconnect_cb),
5252 (rb_daap_source_cmd_disconnect), (rb_daap_source_disconnect):
5254 Adds a better async API for connect and disconnect. Doesn't share
5255 callback data for every async call. Adds a connect signal. Uses
5256 an operation-done signal to trigger the callbacks. Displays an
5257 error when connections fail. A few refcounting fixes to fix
5258 crashes. Uses a weak pointer to set the connection to NULL so we
5259 don't clobber references. Wait for each disconnect when shutting
5260 down sources. Split out DAAP hash stuff into its own file. Fix
5265 2006-05-24 Jonathan Matthew <jonathan@kaolin.wh9.net>
5267 * sources/rb-auto-playlist-source.c:
5268 (rb_auto_playlist_source_new_from_xml):
5269 Initialize the gvalue used to hold the size limit correctly.
5272 2006-05-23 Jonathan Matthew <jonathan@kaolin.wh9.net>
5274 * shell/rb-shell.c: (rb_shell_window_delete_cb),
5275 (rb_shell_cmd_quit), (rb_shell_quit), (session_die_cb):
5277 * shell/rb-shell.xml:
5278 Convert rb_shell_quit into a dbus method, and add visibility dbus
5281 2006-05-22 James Livingston <doclivingston@gmail.com>
5283 * rhythmdb/rhythmdb.h:
5284 * rhythmdb/rhythmdb.c: (sync_entry_changed),
5285 (rhythmdb_entry_is_editable), (action_thread_main),
5286 (song_can_sync_metadata), (default_sync_metadata): Add entry-type
5287 vfuncs for can_sync_metadata, and sync_metadata. The default is always
5288 false, and syncing into the file.
5290 (rhythmdb_entry_register_type), (rhythmdb_entry_song_get_type),
5291 (rhythmdb_entry_iradio_get_type),
5292 (rhythmdb_entry_import_error_get_type):
5293 * sources/rb-audiocd-source.c: (rb_audiocd_source_new): Set the above
5294 vfuncs to do the right thing. IRADIO and Audio-cd entry-type just
5297 2006-05-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
5299 * rhythmdb/Makefile.am:
5300 * rhythmdb/rhythmdb-monitor.c:
5301 * rhythmdb/rhythmdb-private.h:
5302 * rhythmdb/rhythmdb-query.c:
5303 * rhythmdb/rhythmdb.c:
5304 Split up rhythmdb.c a bit.
5306 2006-05-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
5308 * data/glade/audioscrobbler-prefs.glade:
5309 Add a link to the last.fm server status page.
5311 2006-05-20 Dennis Cranston <dennis_cranston@yahoo.com>
5313 * plugins/audioscrobbler/audioscrobbler.rb-plugin.desktop.in:
5315 * plugins/audioscrobbler/rb-audioscrobbler-plugin.c:
5316 (impl_create_configure_dialog): UI layout fixes, remove
5317 dialog separator, and capitalization fix for window title.
5318 * shell/rb-shell.c: (rb_shell_cmd_plugins): UI layout fixes,
5319 and remove dialog separator.
5320 * data/glade/plugins.glade: UI layout fixes.
5321 * data/glade/audioscrobbler-prefs.glade: UI layout fixes,
5322 and capitalization fix. Fixes #342438.
5324 2006-05-20 Dennis Cranston <dennis_cranston@yahoo.com>
5326 * data/glade/podcast-properties.glade: Fix layout of the download
5327 location. Fixes #342431.
5329 2006-05-21 Jonathan Matthew <jonathan@kaolin.wh9.net>
5331 * data/ui/rhythmbox-ui.xml:
5332 We only need one copy of the 'add to queue' action in the edit menu.
5334 2006-05-20 James Livingston <doclivingston@gmail.com>
5336 * data/ui/rhythmbox-ui.xml:
5337 * shell/rb-shell-clipboard.c: (rb_shell_clipboard_class_init),
5338 (rb_shell_clipboard_finalize), (rb_shell_clipboard_set_property),
5339 (rb_shell_clipboard_get_property), (rb_shell_clipboard_new),
5340 (rb_shell_clipboard_sync),
5341 (rb_shell_clipboard_cmd_add_to_playlist_new),
5342 (rb_shell_clipboard_cmd_queue_song_info),
5343 (rb_shell_clipboard_playlist_add_cb), (generate_action_name),
5344 (rb_shell_clipboard_playlist_deleted_cb),
5345 (rb_shell_clipboard_playlist_renamed_cb),
5346 (rb_shell_clipboard_playlist_visible_cb), (add_playlist_to_menu),
5347 (rebuild_playlist_menu), (rb_shell_clipboard_playlist_added_cb):
5348 * shell/rb-shell-clipboard.h: add an "add to playlist" menu, which is
5349 dynamically generated with all the static playlists. Fixes bug 323364.
5351 * shell/rb-shell.c: (construct_widgets), (construct_sources): use the
5352 right child, so it doesn't go weird when art appears and disappears.
5354 2006-05-20 James Livingston <doclivingston@gmail.com>
5356 patch by: Jonathan Matthew <jonathan@kaolin.wh9.net>
5358 * rhythmdb/rhythmdb-query-model.c:
5359 (rhythmdb_query_model_set_property),
5360 (rhythmdb_query_model_finalize),
5361 (rhythmdb_query_model_reapply_query_cb):
5362 * rhythmdb/rhythmdb.c: (rhythmdb_query_preprocess),
5363 (rhythmdb_query_append_prop_multiple),
5364 (rhythmdb_query_is_time_relative):
5365 * rhythmdb/rhythmdb.h: re-run queries every minutes if they have
5366 time-based criteria, fixes bug 341131.
5368 2006-05-20 James Livingston <doclivingston@gmail.com>
5370 * plugins/artdisplay/artdisplay/__init__.py: don't display the art if
5371 we have already changed playing entries. Interpolate the art size so
5372 it doesn't jump when the old and new images have different aspect
5375 2006-05-20 Jonathan Matthew <jonathan@kaolin.wh9.net>
5377 * rhythmdb/rhythmdb-private.h:
5378 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
5380 * rhythmdb/rhythmdb.c: (rhythmdb_entry_finalize),
5381 (rhythmdb_entry_set_internal), (rhythmdb_query_preprocess),
5382 (rhythmdb_entry_get_ulong):
5383 Include the GDate directly in RhythmDBEntry (it's only 8 bytes)
5384 and elsewhere, use them on the stack rather than allocating on
5385 the heap. From bug #342333.
5387 2006-05-19 William Jon McCann <mccann@jhu.edu>
5389 * player/rb-recorder-gst.c: (rb_recorder_error_quark),
5390 (rb_recorder_get_default_drive), (rb_recorder_gst_free_pipeline),
5391 (add_track), (eos_cb), (error_signal_idle),
5392 (rb_recorder_gst_signal_error), (rb_recorder_new_pad_cb),
5393 (rb_recorder_construct), (recorder_track_free),
5394 (rb_recorder_finalize):
5395 * sources/rb-playlist-source-recorder.c:
5396 Support libnautilus-burn size -> capacity API change. Add
5397 some braces to blocks.
5399 2006-05-19 William Jon McCann <mccann@jhu.edu>
5401 * metadata/sj-metadata-musicbrainz.c:
5402 (sj_metadata_musicbrainz_instance_init), (get_rdf), (lookup_cd):
5403 Sync with sound-juicer in CVS. Fixes #342177
5404 * sources/rb-audiocd-source.c: Don't declare variables
5405 in the middle of a block (c99ism). Fix order of #includes.
5406 Use gi18n.h. Don't include rhythmdb.h twice. Declare
5407 one variable per line. Update copyright date.
5409 2006-05-19 James Livingston <doclivingston@gmail.com>
5411 patch by: Hendrik Richter <hendi@gnome-de.org>
5413 * shell/rb-shell.c: (rb_shell_cmd_about): change the separator in
5414 "translator_credits" to a hyphen, so it doesn't cause problems for
5415 tools that check access keys. Fixes bug 341832.
5417 2006-05-19 James Livingston <doclivingston@gmail.com>
5419 * po/POTFILES.in: remove references to files that don't exist any more
5420 (fixes make distcheck).
5422 2006-05-19 Dennis Cranston <dennis_cranston@yahoo.com>
5424 * plugins/lyrics/lyrics.py: Fix layout close button in
5425 Song Lyrics dialog. Fixes bug 342322.
5427 2006-05-19 James Livingston <doclivingston@gmail.com>
5429 patch by: Loïc Minier <lool+gnome@via.ecp.fr>
5431 * widgets/eggtrayicon.c: (egg_tray_icon_unrealize),
5432 (egg_tray_icon_cancel_message), (egg_tray_icon_notify): Make the
5433 version checks not break when libnotify goes to 1.0.0. Fixes bug
5436 2006-05-18 James Livingston <doclivingston@gmail.com>
5438 * shell/rb-shell-clipboard.c:
5440 * sources/rb-podcast-source.c: Fix some conflicting keybindings.
5442 2006-05-17 William Jon McCann <mccann@jhu.edu>
5444 * sources/rb-playlist-source-recorder.c (get_song_description):
5445 Reverse artist and title in song description. This
5446 is useful because at least the title will be visible
5447 when there is limited space.
5449 2006-05-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
5451 * daapsharing/rb-daap-connection.c: (connection_get_password):
5452 Take gdk lock before emitting authenticate signal.
5453 * sources/rb-daap-source.c: (connection_connecting_cb):
5454 Get rid of the unnecessary idle handler (it's already called from one)
5455 Fixes #342047 once more.
5457 2006-05-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
5459 * shell/rb-shell.c: (rb_shell_class_init):
5461 * widgets/rb-song-info.c: (rb_song_info_class_init),
5462 (rb_song_info_construct_single), (rb_song_info_construct_multiple),
5463 (rb_song_info_constructor), (rb_song_info_get_property),
5464 (rb_song_info_append_page), (rb_song_info_backward_clicked_cb),
5465 (rb_song_info_forward_clicked_cb):
5466 * widgets/rb-song-info.h:
5467 * data/glade/song-info-multiple.glade:
5468 * lib/rb-marshal.list:
5469 * bindings/python/Makefile.am:
5470 * bindings/python/rb.defs:
5471 * bindings/python/rb.override:
5472 Allow plugins to add pages to the notebooks used in song info windows,
5473 and to track the current song displayed in single-entry windows.
5476 * plugins/Makefile.am:
5477 * plugins/lyrics/Loader.py:
5478 * plugins/lyrics/Makefile.am:
5479 * plugins/lyrics/lyrics.py:
5480 * plugins/lyrics/lyrics.rb-plugin.desktop.in:
5481 Add a plugin that retrieves song lyrics from leoslyrics.com, displayed
5482 as a separate window (for the playing song) or as a page in the song
5483 info window. A few TODO items left, but this fixes #319320.
5485 2006-05-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
5487 Patch by: Roozbeh Pournader
5490 * lib/rb-cut-and-paste-code.c: (eel_strdup_strftime):
5491 Update eel_strdup_strftime from eel CVS HEAD. Fixes #341938.
5493 2006-05-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
5495 * sources/rb-daap-source.c: (update_connection_status):
5496 Correct return value. Fixes #342047 again.
5498 2006-05-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
5500 * sources/rb-daap-source.c: (update_connection_status),
5501 (connection_connecting_cb):
5502 Update status in an idle handler so we don't rely on the gdk lock
5503 being recursive (because it isn't any more). Fixes #342047.
5505 2006-05-16 Jonathan Matthew <jonathan@kaolin.wh9.net>
5507 * lib/rb-util.c: (rb_make_duration_string),
5508 (rb_make_elapsed_time_string):
5510 Add a function for formatting an elapsed time string.
5512 * shell/rb-shell-player.c: (rb_shell_player_init),
5513 (rb_shell_player_sync_with_source),
5514 (rb_shell_player_get_playing_time_string), (tick_cb):
5515 Store elapsed time in the private data structure, and use the above
5518 * widgets/rb-header.c:
5519 * widgets/rb-header.h:
5520 Make RBHeader use the RBShellPlayer object, rather than the RBPlayer
5521 object, so everything has the same idea of the elapsed time.
5524 2006-05-16 James Livingston <doclivingston@gmail.com>
5526 * bindings/python/rhythmdb.defs:
5527 * bindings/python/rhythmdb.override: give rhythmdb.query_model_new
5528 some parametre defaults, so you don't have to pass None, False for the
5531 2006-05-16 Jonathan Matthew <jonathan@kaolin.wh9.net>
5533 * bindings/python/rhythmdb.defs:
5534 * rhythmdb/rhythmdb-query-model.c:
5535 (rhythmdb_query_model_compute_status_normal):
5536 * rhythmdb/rhythmdb-query-model.h:
5537 * rhythmdb/rhythmdb.c: (rhythmdb_compute_status_normal):
5538 * rhythmdb/rhythmdb.h:
5539 Change the various compute_status methods to accept a singular/plural
5540 pair to use in the status string.
5542 * sources/rb-podcast-source.c: (rb_podcast_source_class_init),
5543 (rb_podcast_source_cmd_new_podcast), (impl_get_status):
5544 * sources/rb-source.c: (default_get_status):
5545 Call entries 'songs' by default, and 'episodes' in the podcast source.
5548 2006-05-16 Jonathan Matthew <jonathan@kaolin.wh9.net>
5550 patch by: Paul Drain
5552 * plugins/ipod/Makefile.am: add $(plugin_in_files) to EXTRA_DIST.
5555 2006-05-16 Jonathan Matthew <jonathan@kaolin.wh9.net>
5557 * rhythmdb/rhythmdb-query-model.c: (apply_updated_entry_sequence):
5558 Generate reorder maps correctly.
5559 * widgets/rb-entry-view.c: (rb_entry_view_rows_reordered_cb):
5560 Scroll to the first entry from the old selection.
5563 2006-05-15 William Jon McCann <mccann@jhu.edu>
5565 * data/ui/rhythmbox-ui.xml:
5566 * lib/rb-preferences.h:
5567 * shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor),
5568 (rb_shell_playlist_created_cb),
5569 (rb_shell_view_sidepane_changed_cb),
5570 (rb_shell_sync_sidepane_visibility),
5571 (rb_shell_sync_pane_visibility), (rb_shell_sync_smalldisplay),
5572 (sidepane_visibility_changed_cb):
5573 * sources/rb-podcast-source.c:
5574 Convert sourcelist visibility to side-pane visbility.
5577 2006-05-15 Jonathan Matthew <jonathan@kaolin.wh9.net>
5579 * widgets/rb-header.c:
5580 * widgets/rb-header.h: Stop RBHeader from referring to itself as
5581 'player', and make it use the private data structure allocated for it.
5583 2006-05-15 Jonathan Matthew <jonathan@kaolin.wh9.net>
5585 * configure.ac: enable metadata helper with dbus < 0.35.
5587 2006-05-15 James Livingston <doclivingston@gmail.com>
5589 patch by: Alex Lancaster <alexl@users.sourceforge.net>
5591 * data/glade/song-info.glade:
5592 * widgets/rb-song-info.c: (rb_song_info_construct_single),
5593 (rb_song_info_populate_dialog), (rb_song_info_update_duration),
5594 (rb_song_info_update_filesize): Add the file size into the song info
5595 window. Fixes bug 340861.
5597 2006-05-14 Jonathan Matthew <jonathan@kaolin.wh9.net>
5599 * bindings/python/rhythmdb.defs:
5600 * rhythmdb/rhythmdb-query-model.c:
5601 (rhythmdb_query_model_set_property),
5602 (rhythmdb_query_model_new_empty), (rhythmdb_query_model_chain):
5603 * rhythmdb/rhythmdb-query-model.h:
5604 Add a new method to chain query models without importing entries from
5605 the parent into the child. This is useful when the subset of entries
5606 in the child can be more easily determined by running a query than by
5607 filtering entries from the parent.
5609 * bindings/python/rb.defs:
5610 * widgets/rb-library-browser.c: (rb_library_browser_class_init),
5611 (rb_library_browser_set_property),
5612 (rb_library_browser_get_property), (rb_library_browser_new),
5613 (rebuild_child_model):
5614 * widgets/rb-library-browser.h:
5615 * sources/rb-auto-playlist-source.c:
5616 (rb_auto_playlist_source_constructor):
5617 * sources/rb-static-playlist-source.c:
5618 (rb_static_playlist_source_constructor):
5619 * sources/rb-browser-source.c: (rb_browser_source_constructor):
5620 Use more efficient queries for constructing the browser query model
5621 chain. Include the entry type at each level (allowing the rhythmdb-tree
5622 backend to optimise the query) and run new queries rather than
5623 filtering entries from the parent. Fixes #341402.
5625 * configure.ac: remove reference to rhythmbox.pc that I missed earlier.
5627 2006-05-14 Jonathan Matthew <jonathan@kaolin.wh9.net>
5630 * shell/Makefile.am:
5631 * shell/main.c: (main), (load_uri_args), (send_present_message),
5632 (unregister_dbus_handler), (handle_dbus_message),
5633 (register_dbus_handler):
5634 Add minimal support for dbus 0.31 - 0.35.
5636 * doc/reference/Makefile.am:
5637 * doc/reference/rhythmbox.types:
5639 * data/GNOME_Rhythmbox.server.in:
5640 * data/rhythmbox.pc.in:
5643 Remove remaining bonobo and generic remote interface files.
5645 2006-05-14 James Livingston <doclivingston@gmail.com>
5647 * shell/rb-shell.c: (construct_widgets):
5648 * sources/rb-browser-source.c: (rb_browser_source_constructor): Never
5649 resize the browser and queue-sidebar section of their panes, unless
5650 the other section is below the minimum size. Fixes bug 331927.
5652 2006-05-13 James Livingston <doclivingston@gmail.com>
5654 * rhythmdb/rhythmdb-query-model.c:
5655 (rhythmdb_query_model_class_init),
5656 (rhythmdb_query_model_set_property),
5657 (rhythmdb_query_model_get_property),
5658 (rhythmdb_query_model_finalize), (rhythmdb_query_model_new),
5659 (rhythmdb_query_model_insert_into_main_list),
5660 (rhythmdb_query_model_insert_into_limited_list),
5661 (rhythmdb_query_model_do_reorder),
5662 (rhythmdb_query_model_set_sort_order), (_reverse_sorting_func),
5663 (rhythmdb_query_model_location_sort_func),
5664 (rhythmdb_query_model_title_sort_func),
5665 (rhythmdb_query_model_album_sort_func),
5666 (rhythmdb_query_model_artist_sort_func),
5667 (rhythmdb_query_model_genre_sort_func),
5668 (rhythmdb_query_model_track_sort_func),
5669 (rhythmdb_query_model_double_ceiling_sort_func),
5670 (rhythmdb_query_model_ulong_sort_func),
5671 (rhythmdb_query_model_date_sort_func),
5672 (rhythmdb_query_model_string_sort_func):
5673 * rhythmdb/rhythmdb-query-model.h: Make the sorting data be a gpointer
5674 instead of a RhythmDBPropType (which can be put in a gpointer). Add a
5675 "data destroy" property. Fixed bug 341543.
5677 * bindings/python/rhythmdb.defs:
5678 * bindings/python/rhythmdb.override: bind rhythmdb_query_model_new and
5679 rhythmdb_query_model_set_sorting_order
5681 * rhythmdb/rhythmdb-property-model.c:
5682 (rhythmdb_property_model_drag_data_get):
5683 * sources/rb-import-errors-source.c:
5684 (rb_import_errors_source_constructor):
5685 * sources/rb-missing-files-source.c:
5686 (rb_missing_files_source_constructor):
5687 * widgets/rb-entry-view.c: (rb_entry_view_append_column),
5688 (rb_entry_view_append_column_custom), (rb_entry_view_resort_model):
5689 * widgets/rb-entry-view.h: adapt to the above change.
5691 2006-05-13 Jonathan Matthew <jonathan@kaolin.wh9.net>
5693 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
5694 (rhythmdb_tree_load):
5695 Commit loaded entries in batches, rather than individually.
5696 More startup time reduction.
5698 2006-05-12 Ryan P Skadberg <skadz@stigmata.org>
5700 * doc/reference/Makefile.am: fix gtk-doc compilation
5702 2006-05-12 William Jon McCann <mccann@jhu.edu>
5704 * plugins/artdisplay/artdisplay/AmazonCoverArtSearch.py:
5705 * plugins/artdisplay/artdisplay/CoverArtDatabase.py:
5706 * plugins/artdisplay/artdisplay/Loader.py:
5707 Correct fallback to medium size. Convert & to "and" when doing comparisons.
5708 Only call the first artist the best match when album==Unknown.
5709 Don't perform each query twice if album doesn't include "Vol N".
5710 Fix searching for compilations. Fix blacklisting.
5713 2006-05-12 William Jon McCann <mccann@jhu.edu>
5716 * bindings/python/Makefile.am:
5717 * bindings/python/rb.defs:
5718 * bindings/python/rb.override:
5720 * doc/reference/Makefile.am:
5721 * plugins/Makefile.am:
5722 * plugins/audioscrobbler/Makefile.am:
5723 * plugins/ipod/Makefile.am:
5724 * plugins/lirc/Makefile.am:
5725 * plugins/lirc/rb-lirc-plugin.c: (rb_lirc_plugin_read_code),
5726 (impl_activate), (impl_deactivate):
5727 * plugins/sample/Makefile.am:
5728 * remote/Makefile.am:
5729 * shell/Makefile.am:
5730 * shell/main.c: (main), (main_shell_weak_ref_cb):
5731 * shell/rb-shell.c: (rb_shell_class_init), (rb_shell_set_property),
5732 (rb_shell_get_property), (rb_shell_window_state_cb),
5733 (idle_hide_mainwindow), (rb_shell_set_visibility),
5734 (rb_shell_playing_entry_changed_cb), (tray_destroy_cb),
5735 (rb_shell_set_song_property):
5737 * shell/rb-tray-icon.c: (rb_tray_icon_class_init),
5738 (rb_tray_icon_sync_action), (rb_tray_icon_set_property),
5739 (rb_tray_icon_get_property), (rb_tray_icon_new),
5740 (rb_tray_icon_button_press_event_cb),
5741 (rb_tray_icon_scroll_event_cb), (rb_tray_icon_drop_cb),
5742 (rb_tray_icon_show_window_changed_cb):
5743 * shell/rb-tray-icon.h:
5745 Remove bonobo, require DBUS.
5746 Patch from Jonathan Matthew <jonathan@kaolin.wh9.net>
5749 2006-05-13 James Livingston <doclivingston@gmail.com>
5751 * bindings/python/rb.override: fix some pointer-type warnings
5753 2006-05-12 James Livingston <doclivingston@gmail.com>
5755 * lib/rb-util.c: (rb_value_free):
5756 * lib/rb-util.h: Add function to unset and free a GValue* that was
5757 allocated in the heap.
5759 * metadata/rb-metadata-dbus-client.c: (rb_metadata_load): don't leak
5760 the metadata hastable values
5761 * metadata/rb-metadata-dbus-service.c: (rb_metadata_dbus_save): don't
5762 leak the metadata hashtable structure
5763 * metadata/rb-metadata-dbus.c:
5764 (rb_metadata_dbus_read_from_message):use g_value_set_string instead of
5765 using g_strdup and then _take_string
5767 * rhythmdb/rhythmdb.c: (rhythmdb_start_action_thread),
5768 (rhythmdb_execute_stat): Don't leak the GnomeVFSURIs every time we
5771 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_do_handshake): don't
5772 leak the encoded string
5774 * widgets/rb-property-view.c:
5775 (rb_property_view_selection_changed_cb): set some variables to have
5776 inital values, because some code paths may not set them before we use
5779 * plugins/rb-plugins-engine.c: (rb_plugins_engine_load): turn the "you
5780 don't have python warning into a debug message".
5782 2006-05-10 William Jon McCann <mccann@jhu.edu>
5784 * data/rhythmbox.schemas: Use zero instead of null for
5785 default burn speed. Fixes #341283.
5787 2006-05-10 Jonathan Matthew <jonathan@kaolin.wh9.net>
5789 * bindings/python/rb.defs:
5790 * widgets/rb-library-browser.c:
5791 (rb_library_browser_get_property_view):
5792 * widgets/rb-library-browser.h:
5793 Add a method to get the property view for a given property.
5795 * sources/rb-browser-source.c:
5796 (rb_browser_source_cmd_choose_genre),
5797 (rb_browser_source_cmd_choose_artist),
5798 (rb_browser_source_cmd_choose_album):
5799 Change the browser selection by changing the property view selection.
5800 Makes the selection change visible, fixing #331740.
5802 2006-05-10 Jonathan Matthew <jonathan@kaolin.wh9.net>
5804 * bindings/python/rb.defs:
5805 * bindings/python/rb.override:
5806 * rhythmdb/rhythmdb.c: (rhythmdb_is_busy):
5807 * shell/rb-statusbar.c: (*),
5808 * sources/rb-import-errors-source.c: (impl_get_status):
5809 * sources/rb-iradio-source.c: (impl_get_status):
5810 * sources/rb-missing-files-source.c: (impl_get_status):
5811 * sources/rb-source.c: (default_get_status),
5812 (rb_source_get_status):
5813 * sources/rb-source.h:
5814 Allow sources to provide a progress value for the status bar.
5815 Simplify status bar processing (much less polling).
5816 Consider rhythmdb busy while it's still loading the database.
5818 * daapsharing/rb-daap-connection.c: (*)
5819 * daapsharing/rb-daap-connection.h:
5820 * lib/rb-marshal.list:
5821 * sources/rb-daap-source.c: (rb_daap_source_class_init),
5822 (rb_daap_source_init), (connection_connecting_cb),
5823 (rb_daap_source_activate), (rb_daap_source_get_paned_key),
5824 (rb_daap_source_get_status):
5825 Provide status information for DAAP connections, and move processing
5826 of large responses into a separate thread.
5827 Fixes bugs #322020 and #338978.
5829 2006-05-09 James Livingston <doclivingston@gmail.com>
5831 Split the artdisplay plugin into several files.
5832 Fix loader and amazon-search re-use issues.
5833 Add some better search heuristics.
5836 * plugins/artdisplay/Makefile.am:
5837 * plugins/artdisplay/artdisplay.py:
5838 * plugins/artdisplay/artdisplay/AmazonCoverArtSearch.py:
5839 * plugins/artdisplay/artdisplay/CoverArtDatabase.py:
5840 * plugins/artdisplay/artdisplay/Loader.py:
5841 * plugins/artdisplay/artdisplay/Makefile.am:
5842 * plugins/artdisplay/artdisplay/__init__.py:
5844 2006-05-09 James Livingston <doclivingston@gmail.com>
5846 * sources/rb-browser-source.h: remove the _has_first_added_column
5847 stuff since it isn't actually used anywhere. Sources that want it
5848 should just add it themselves, as the library already does
5850 * bindings/python/rb.defs:
5851 * sources/rb-daap-source.c: (rb_daap_source_class_init):
5852 * sources/rb-library-source.c: (rb_library_source_class_init):
5853 * sources/rb-removable-media-source.c:
5854 (rb_removable_media_source_class_init): Remove the remanants of the
5857 2006-05-09 James Livingston <doclivingston@gmail.com>
5859 * bindings/python/rb.defs:
5860 * sources/rb-browser-source.h: remove a function that was declared in
5861 the header, but not defined anywhere.
5863 2006-05-09 Jonathan Matthew <jonathan@kaolin.wh9.net>
5865 * plugins/artdisplay/.cvsignore:
5866 * plugins/ipod/.cvsignore: Added.
5868 2006-05-09 Jonathan Matthew <jonathan@kaolin.wh9.net>
5870 * sources/rb-auto-playlist-source.c:
5871 (rb_auto_playlist_source_new_from_xml):
5872 Fix reading of older playlist files where all three limits were
5873 specified so we take the first nonzero limit. From #341053.
5875 2006-05-09 James Livingston <doclivingston@gmail.com>
5877 * bindings/python/Makefile.am:
5878 * bindings/python/rb.defs:
5879 * bindings/python/rb.override: bind RBBrowserSource,
5880 RBRemovableMediaSource and RBRemovableMediamanager.
5882 2006-05-09 James Livingston <doclivingston@gmail.com>
5884 patch by: Baptiste Mille-Mathias <bmm80@free.fr>
5886 * data/glade/plugins.glade: make the plugin dialog look a bit better.
5889 2006-05-09 Jonathan Matthew <jonathan@kaolin.wh9.net>
5891 * widgets/rb-query-creator.c: (rb_query_creator_load_query):
5892 Don't explode when trying to edit a query with no limit set.
5894 2006-05-09 Jonathan Matthew <jonathan@kaolin.wh9.net>
5896 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_song_changed_cb):
5897 Clear the should_queue flag when switching to a non-submittable entry,
5898 so we don't submit songs that played for three seconds before
5899 switching to a podcast episode.
5901 * rhythmdb/rhythmdb-query-model.c
5902 (rhythmdb_query_model_drag_data_get): Don't try to include NULL uris
5903 in the drag data list.
5905 2006-05-08 James Livingston <doclivingston@gmail.com>
5907 * lib/rb-util.c: (rb_value_array_append_data):
5908 * lib/rb-util.h: add function which is basically a combination of
5909 G_VALUE_COLLECT and g_value_array_append.
5911 * rhythmdb/rhythmdb-query-model.h:
5912 * rhythmdb/rhythmdb-query-model.c:
5913 (rhythmdb_query_model_class_init),
5914 (rhythmdb_query_model_set_property),
5915 (rhythmdb_query_model_get_property),
5916 (rhythmdb_query_model_finalize),
5917 (rhythmdb_query_model_update_limited_entries),
5918 (rhythmdb_query_model_set_sort_order),
5919 (rhythmdb_query_model_within_limit),
5920 (rhythmdb_query_model_limit_type_get_type): Make query model limits
5921 saner. Rather than having <count=N, time=N, size=N> we now have a
5922 <type, value> pair. This will also make it much easier to add new
5923 limit types in the future.
5925 * shell/rb-playlist-manager.c:
5926 (rb_playlist_manager_set_automatic_playlist),
5927 (rb_playlist_manager_cmd_edit_automatic_playlist):
5928 * sources/rb-auto-playlist-source.c:
5929 (rb_auto_playlist_source_finalize),
5930 (rb_auto_playlist_source_new_from_xml), (impl_receive_drag),
5931 (_save_write_ulong), (_save_write_uint64),
5932 (impl_save_contents_to_xml), (rb_auto_playlist_source_do_query),
5933 (rb_auto_playlist_source_set_query),
5934 (rb_auto_playlist_source_get_query):
5935 * sources/rb-auto-playlist-source.h:
5936 * sources/rb-library-source.c:
5937 (rb_library_source_add_child_source):
5938 * sources/rb-psp-source.c: (visit_playlist_dirs):
5939 * widgets/rb-query-creator.c: (rb_query_creator_load_query),
5940 (rb_query_creator_new_from_query), (rb_query_creator_get_limit):
5941 * widgets/rb-query-creator.h: Adapt to the above change.
5943 2006-05-08 James Livingston <doclivingston@gmail.com>
5945 * shell/rb-playlist-manager.c:
5946 (rb_playlist_manager_cmd_edit_automatic_playlist):
5947 * sources/rb-auto-playlist-source.c: (impl_save_contents_to_xml),
5948 (rb_auto_playlist_source_set_query),
5949 (rb_auto_playlist_source_get_query): copy the query in the _get method
5950 and free it in things calling that. Fixes a crasher.
5952 2006-05-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
5954 * rhythmdb/rhythmdb.c: (entry_volume_mounted_or_unmounted):
5955 Make entries on newly mounted volumes visible immediately, hiding them
5956 later if they turn out to be missing. Fixes #340068.
5958 2006-05-07 Jonathan Matthew <jonathan@kaolin.wh9.net>
5960 * metadata/rb-metadata-gst.c: (rb_metadata_finalize):
5961 Ignore zip files and ignore errors for files we've decided to ignore.
5963 2006-05-07 Jonathan Matthew <jonathan@kaolin.wh9.net>
5965 * sources/rb-ipod-source.c: (hal_udi_is_ipod):
5966 Add missing }, should fix #340844.
5968 2006-05-06 James Livingston <doclivingston@gmail.com>
5970 * plugins/artdisplay/artdisplay.py: fade between covers, and fix a
5973 2006-05-06 James Livingston <doclivingston@gmail.com>
5975 * widgets/eggtrayicon.c: (egg_tray_icon_notify): fix version check so
5976 that we work with libnotify >= 0.4
5978 2006-05-06 James Livingston <doclivingston@gmail.com>
5980 patch by: Joe Barnett <thejoe@gmail.com>
5982 * configure.ac: check if we're using a version of libgpod that
5983 supports the Motorola ROKR
5985 * sources/rb-ipod-source.c: (rb_ipod_get_itunesdb_path): ask libgpod
5986 for the db path, if we using the newer version.
5988 (rb_ipod_volume_has_ipod_db): detect Motorola ROKR phones.
5990 2006-05-05 Jonathan Matthew <jonathan@kaolin.wh9.net>
5992 * rhythmdb/rhythmdb-query-model.c:
5993 (rhythmdb_query_model_drag_data_get):
5994 Use playback URI, not location, for drag data. Fixes #322597.
5996 2006-05-03 Dennis Cranston <dennis_cranston@yahoo.com>
5998 * data/glade/general-prefs.glade: HIG fixes from bug 340588.
6000 2006-05-03 James Livingston <doclivingston@gmail.com>
6002 * metadata/rb-metadata-gst.c: (rb_add_flac_tagger),
6003 (rb_add_id3_tagger), (rb_metadata_save):
6004 Set the tags on the tagging element when it is
6005 created, not during pipeline creation - which is required for
6006 dynamically created elements.
6008 (ogg_pad_added_cb), (rb_add_ogg_tagger), (rb_metadata_init): add
6009 support for using the "vorbistag" element to re-tag ogg vorbis files.
6012 2006-05-03 James Livingston <doclivingston@gmail.com>
6014 patch by: Martin Szulecki <gnomebugzilla@sukimashita.com>
6016 * plugins/artdisplay/artdisplay.py:
6017 - Fix small bug callback of data loader getting overwritten on fast
6019 - Add asynchronous loading with gnomevfs and urllib fallback (thx to
6021 - Fix Rhythmbox UI blocking while loading/searching cover art
6022 - Split logic into CoverArtDatabase, AmazonCoverArtSearch
6023 - Initial approach to allow additional "art search engines"
6024 - Further modularization in a couple of places
6025 - Minor fixes for empty entries (iradio, album, artist etc.)
6027 2006-05-03 James Livingston <doclivingston@gmail.com>
6029 * shell/rb-playlist-manager.c:
6030 (rb_playlist_manager_playlist_entries_changed),
6031 (rb_playlist_manager_set_source): don't show the edit/delete/rename
6032 options for non-local sources, rather than showing disabled ones.
6034 * sources/rb-library-source.c: (add_child_sources_idle),
6035 (rb_library_source_constructor), (rb_library_source_new),
6036 (rb_library_source_library_location_changed),
6037 (rb_library_source_add_child_source),
6038 (rb_library_source_sync_child_sources): Create "child library" sources
6039 when the user has multiple library locations set. Fixes bug 100552.
6041 2006-05-03 Jonathan Matthew <jonathan@kaolin.wh9.net>
6043 * plugins/rb-plugins-engine.c: (rb_plugins_engine_load):
6044 * plugins/sample/sample.rb-plugin.desktop.in:
6045 Finish changing 'Author' to 'Authors'
6047 * rhythmdb/rhythmdb.c: (_get_import_error_playback_uri),
6048 (rhythmdb_entry_import_error_get_type):
6049 Implement get_playback_uri for import errors (returns NULL)
6051 * shell/rb-shell-player.c: (rb_shell_player_entry_activated_cb):
6052 Use rhythmdb_entry_get_playback_uri to figure out if we can play the
6053 entry, rather than doing entry type checks.
6055 2006-05-02 James Livingston <doclivingston@gmail.com>
6057 patch from Alessandro Decina <alessandro@nnva.org>
6059 * backends/gstreamer/rb-encoder-gst.c: (rb_encoder_gst_encode): fix
6060 the signal emission in the case of fatal-on-init errors. From bug
6063 2006-05-02 James Livingston <doclivingston@gmail.com>
6065 * rhythmdb/rhythmdb.h:
6066 * rhythmdb/rhythmdb.c: (rhythmdb_entry_allocate),
6067 (rhythmdb_entry_finalize), (_get_podcast_playback_uri),
6068 (rhythmdb_entry_podcast_post_get_type),
6069 (rhythmdb_entry_get_double), (rhythmdb_entry_get_playback_uri): add a
6070 virtual function to entry-types for getting the playback URI. From bug
6073 * backends/gstreamer/rb-encoder-gst.c:
6074 (create_pipeline_and_source), (extract_track):
6075 * shell/rb-shell-player.c: (rb_shell_player_open_entry): use the above
6078 2006-05-02 James Livingston <doclivingston@gmail.com>
6080 patch by: Brian Cameron <brian.cameron@sun.com>
6082 * sources/rb-nokia770-source.c: more Solaris build fixes, from bug
6085 2006-05-01 William Jon McCann <mccann@jhu.edu>
6087 * plugins/artdisplay/artdisplay.py: Use set_from_pixbuf
6088 instead of clear. Use regex matching to strip "disc N"
6089 from album. Match titles in ProductName. Perform
6090 fallback queries including various artist compilations.
6091 Include "us" locale. Improve queries when artist or album
6092 is unknown. Use medium size image if large is unavailable.
6094 patch by: Alex Lancaster <alexl@users.sourceforge.net>,
6095 William Jon McCann <mccann@jhu.edu>
6097 2006-04-30 Jonathan Matthew <jonathan@kaolin.wh9.net>
6099 * rhythmdb/rhythmdb-tree.c: (get_genres_hash_for_type):
6100 RhythmDBEntryType is a pointer now, so GINT_TO_POINTER is unnecessary.
6101 (conjunctive_query): Sanity check.
6102 (evaluate_conjunctive_subquery):
6103 Don't return TRUE immediately when a relative-time query criterion
6104 matches. Fixes #339972.
6106 2006-04-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
6108 * widgets/eggtrayicon.c: (egg_tray_icon_notify):
6109 Don't crash if primary or secondary are NULL.
6111 2006-04-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
6113 * doc/reference/Makefile.am: fix gtk-doc build yet again
6115 2006-04-28 James Livingston <doclivingston@gmail.com>
6117 * plugins/pythonconsole/pythonconsole.py: import "rhythmdb" into the
6118 python console. Fixes bug 339934.
6120 2006-04-27 Jonathan Matthew <jonathan@kaolin.wh9.net>
6122 * rhythmdb/rhythmdb-property-model.c:
6123 (rhythmdb_property_model_drag_data_get):
6124 When creating uri list drag data, create a new query model based on
6125 the query model the property model is attached to. Makes the
6126 resulting query use the right entry type and include the upstream
6127 query criteria. Fixes half of #327540.
6129 2006-04-27 James Livingston <doclivingston@gmail.com>
6131 * backends/gstreamer/rb-encoder-gst.c: (encoder_match_mime),
6132 (profile_bin_find_encoder), (get_profile_from_mime_type): more gst 0.8
6135 2006-04-27 James Livingston <doclivingston@gmail.com>
6137 * player/rb-player-gst.c: (error_cb): Fix build with GStreamer 0.8
6139 2006-04-27 Jonathan Matthew <jonathan@kaolin.wh9.net>
6141 * shell/rb-playlist-manager.c: (rb_playlist_manager_init),
6142 (rb_playlist_manager_save_data),
6143 (rb_playlist_manager_save_playlists):
6144 * shell/rb-playlist-manager.h:
6145 * shell/rb-shell.c: (rb_shell_sync_state),
6146 (idle_save_playlist_manager):
6147 Remove a bit more threading insanity from the playlist manager.
6149 2006-04-27 Jonathan Matthew <jonathan@kaolin.wh9.net>
6151 * shell/rb-playlist-manager.c:
6152 * shell/rb-playlist-manager.h:
6153 Remove dead code, add gtk-doc, remove threading insanity (mostly).
6155 * shell/rb-shell.c: (rb_shell_sync_state),
6156 (idle_save_playlist_manager), (construct_sources),
6157 (rb_shell_select_source), (rb_shell_sync_party_mode):
6158 Adjustments for above changes.
6160 2006-04-26 William Jon McCann <mccann@jhu.edu>
6162 * sources/rb-browser-source.c (impl_browser_toggled):
6163 Reset browser when hidden. Fixes #339617.
6165 2006-04-26 James Livingston <doclivingston@gmail.com>
6167 * backends/Makefile.am:
6168 * backends/gstreamer/Makefile.am: work again with separated
6171 2006-04-26 James Livingston <doclivingston@gmail.com>
6173 * shell/rb-removable-media-manager.c:
6174 (rb_removable_media_manager_set_uimanager): fix compilation with
6175 -Werror and --enable-track-transfer.
6177 2006-04-26 James Livingston <doclivingston@gmail.com>
6179 Turn RBPlayer into a full gobject interface, with RBPlayerGst as an
6180 implementing class. In theory allows alternate player implementations
6181 to be selected at run-time rather than compile-time. Fixes bug 338667.
6184 * backends/Makefile.am:
6185 * backends/gstreamer/Makefile.am:
6186 * backends/gstreamer/rb-player-gst.h:
6187 * backends/rb-player.c: (rb_player_interface_init),
6188 (rb_player_get_type), (rb_player_open), (rb_player_opened),
6189 (rb_player_close), (rb_player_play), (rb_player_pause),
6190 (rb_player_playing), (rb_player_set_volume),
6191 (rb_player_get_volume), (rb_player_set_replaygain),
6192 (rb_player_seekable), (rb_player_set_time), (rb_player_get_time),
6193 (rb_player_new), (_rb_player_emit_eos), (_rb_player_emit_info),
6194 (_rb_player_emit_buffering), (_rb_player_emit_error),
6195 (_rb_player_emit_tick), (rb_player_error_quark):
6196 * player/Makefile.am:
6197 * player/rb-player-gst.c: (rb_player_gst_class_init),
6198 (rb_player_init), (tick_timeout), (rb_player_gst_init),
6199 (rb_player_gst_finalize), (rb_player_gst_gst_free_playbin),
6200 (destroy_idle_signal), (emit_signal_idle), (eos_cb), (error_cb),
6201 (process_tag), (found_tag_cb), (buffering_cb),
6202 (rb_player_gst_bus_cb), (rb_player_gst_construct),
6203 (rb_player_gst_new):
6204 * player/rb-player.h:
6205 * shell/Makefile.am:
6206 * sources/rb-audiocd-source.c:
6207 * widgets/Makefile.am:
6208 * widgets/rb-header.c: (rb_header_class_init):
6210 2006-04-26 James Livingston <doclivingston@gmail.com>
6212 * podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed):
6213 don't try to download an episode if it couldn't be parsed. Fixes bug
6216 * shell/rb-removable-media-manager.c:
6217 (rb_removable_media_manager_set_uimanager): don't show the "Copy to
6218 Library" option when track transfer is disabled. Fixes bug 339728.
6220 2006-04-26 James Livingston <doclivingston@gmail.com>
6222 * data/ui/Makefile.am:
6223 * data/ui/daap-ui.xml:
6224 * data/ui/rhythmbox-ui.xml:
6225 * sources/rb-daap-source.c: (rb_daap_sources_init),
6226 (rb_daap_sources_shutdown): separate the DAAP ui stuff out in the same
6227 way that the ipod ui is. Fixes bug 339743.
6229 2006-04-26 Jonathan Matthew <jonathan@kaolin.wh9.net>
6231 * rhythmdb/rhythmdb.c: (rhythmdb_emit_entry_signals_idle),
6232 (process_added_entries_cb), (process_deleted_entries_cb),
6233 (rhythmdb_commit_internal):
6234 Combine the idle functions to emit entry-added and entry-deleted,
6235 and combine as many invocations of same as possible. Another
6236 significant reduction in startup time.
6238 (rhythmdb_process_events), (rhythmdb_idle_poll_events):
6239 Delay the next call to rhythmdb_process_events if the queue is
6240 empty or if we can't process any of the events in the queue because
6241 the database is read only.
6243 This patch brought to you by the numbers 3, 2, 5, 2, 1, and 5.
6245 2006-04-25 William Jon McCann <mccann@jhu.edu>
6247 * player/rb-recorder-gst.c (rb_recorder_burn): Add debug.
6249 * sources/rb-playlist-source-recorder.c (burn_cd_idle, burn_cd):
6250 Don't special case errors quite so much.
6252 2006-04-25 William Jon McCann <mccann@jhu.edu>
6254 * data/rhythmbox.schemas: Remove default speed.
6256 * sources/rb-playlist-source-recorder.c (update_speed_combobox):
6257 Add n-c-b 2.15 support. Make the default speed to slowest since
6258 that is all that works reliably.
6260 2006-04-25 William Jon McCann <mccann@jhu.edu>
6262 * backends/gstreamer/rb-encoder-gst.c (profile_bin_find_encoder):
6263 Fix compiler error from last commit.
6265 2006-04-25 James Livingston <doclivingston@gmail.com>
6267 patch by Alessandro Decina <alessandro@nnva.org> to fix some
6268 transcoding-related issues. From bug 322268.
6270 * backends/gstreamer/rb-encoder-gst.c: (rb_encoder_gst_finalize):
6271 don't emit the signal, since the object is being finalised, which os a
6274 (profile_bin_find_encoder), (get_profile_from_mime_type),
6275 (transcode_track): find the encoding element by iterating looking for
6276 element in the class Codec/Encoder/Audio rather than the one named
6279 2006-04-25 Jonathan Matthew <jonathan@kaolin.wh9.net>
6281 * shell/rb-shell-player.xml:
6282 * shell/rb-shell.xml:
6283 Add signal argument information.
6284 Patch by Tim Moloney <t.moloney@verizon.net>
6286 * shell/rb-shell.c: (rb_shell_window_state_cb):
6287 Use the right value for the visibility_changed signal. Most of the
6290 2006-04-25 Jonathan Matthew <jonathan@kaolin.wh9.net>
6292 * plugins/audioscrobbler/audioscrobbler.rb-plugin.desktop.in:
6293 * plugins/audioscrobbler/rb-audioscrobbler-plugin.c:
6294 (impl_create_configure_dialog):
6295 * data/glade/audioscrobbler-prefs.glade:
6296 * shell/rb-audioscrobbler.c (*):
6297 * lib/rb-preferences.h:
6298 * data/rhythmbox.schemas:
6299 Remove 'audioscrobbler' from the UI, replacing it with 'last.fm'.
6300 Add status information (# tracks submitted, # queued, last submit
6301 time, result of last submission) to the plugin config window.
6302 Remove 'enabled' setting, since it's easier to just disable the
6303 plugin. Call the plugin 'last.fm profile', to distinguish it from the
6304 nonexistant (so far) 'last.fm streaming' plugin.
6306 * help/C/rhythmbox.xml: Update documentation for last.fm profile
6309 Fixes some of #325848. We still don't provide a way to view the
6312 2006-04-25 James Livingston <doclivingston@gmail.com>
6314 patch by: Anders Petersson <demitar@worldforge.org>
6316 * podcast/rb-podcast-parse.c: (rb_podcast_parse_date): Parse dates in
6317 the YY-MM-DD format.
6319 2006-04-23 James Livingston <doclivingston@gmail.com>
6321 * bindings/python/override_common.c: (_helper_wrap_pointer_glist),
6322 (_helper_wrap_boxed_gptrarray), (_helper_unwrap_pointer_pylist):
6323 * bindings/python/override_common.h:
6324 * bindings/python/rb.override: python binding fixes
6326 2006-04-23 James Livingston <doclivingston@gmail.com>
6328 * shell/rb-statusbar.c: (rb_statusbar_finalize),
6329 (rb_statusbar_sync_with_source),
6330 (rb_statusbar_source_status_changed_cb): do the sync in an idle
6331 callback, rather than immediately every time. Takes ~5% off my warm-cache
6334 * bindings/python/rhythmdb.defs: fix the types using for
6337 2006-04-22 James Livingston <doclivingston@gmail.com>
6339 * data/ui/rhythmbox-ui.xml:
6341 * sources/rb-daap-source.c: (rb_daap_source_class_init),
6342 (remove_source), (rb_daap_sources_init),
6343 (rb_daap_sources_shutdown), (rb_daap_source_cmd_disconnect),
6344 (rb_daap_source_disconnect):
6345 * sources/rb-source.c: (rb_source_class_init),
6346 (rb_source_deactivate):
6347 * sources/rb-source.h: move the "disconnect" functionality from into
6348 RBSource to RBDaapSource where it belongs. Fixes bug 338464.
6350 2006-04-22 James Livingston <doclivingston@gmail.com>
6352 * widgets/rb-library-browser.c: (rb_library_browser_constructor):
6353 actually get the translated strings for browser headers (they were
6354 already marked as translatable). Fixes bug 339380.
6356 2006-04-22 James Livingston <doclivingston@gmail.com>
6358 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_finalize): remove the
6359 submission timeout when the object is finalised.
6361 * bindings/python/Makefile.am:
6362 * bindings/python/rb.defs:
6363 * bindings/python/rb.override:
6364 * bindings/python/rhythmdb.defs: fix some python binding stuff.
6366 * widgets/rb-library-browser.c:
6367 (rb_library_browser_construct_query), (rebuild_output_model),
6368 (rebuild_child_model):
6369 * widgets/rb-library-browser.h: change from GPtrArray to
6370 RhythmDBQuery (which in C is the same thing).
6372 2006-04-21 Jonathan Matthew <jonathan@kaolin.wh9.net>
6374 * shell/rb-shell.c: (rb_shell_get_song_properties):
6375 Don't try to include entry-type (or anything else not easily
6376 marshallable) in the song properties hash table.
6378 * rhythmdb/rhythmdb.c: (rhythmdb_entry_get): Handle G_TYPE_POINTER
6380 * sources/rb-playlist-source.c: (rb_playlist_source_init),
6381 (rb_playlist_source_constructor): Fix entry-type initialization as
6382 with previous commit.
6384 2006-04-21 Jonathan Matthew <jonathan@kaolin.wh9.net>
6386 * sources/rb-iradio-source.c: (rb_iradio_source_init),
6387 (rb_iradio_source_constructor), (rb_iradio_source_do_query):
6388 * sources/rb-podcast-source.c: (rb_podcast_source_init),
6389 (rb_podcast_source_constructor):
6390 Set default values for entry-type after base class construction,
6391 rather than in _init, because gobject will set the entry-type property
6392 to NULL after _init if no value is provided. Fixes #339206.
6394 2006-04-20 Ryan P Skadberg <skadz@stigmata.org>
6396 patch by: Gunnar Steinn Magnusson
6399 * backends/gstreamer/rb-encoder-gst.c:
6400 * backends/gstreamer/rb-encoder-gst.h:
6401 * backends/rb-encoder.c:
6402 * backends/rb-encoder.h:
6403 * bindings/python/override_common.c:
6404 * bindings/python/override_common.h:
6405 * daapsharing/rb-daap-connection.c:
6406 * daapsharing/rb-daap-connection.h:
6407 * daapsharing/rb-daap-dialog.c:
6408 * daapsharing/rb-daap-dialog.h:
6409 * daapsharing/rb-daap-mdns-browser-avahi.c:
6410 * daapsharing/rb-daap-mdns-browser-howl.c:
6411 * daapsharing/rb-daap-mdns-browser.h:
6412 * daapsharing/rb-daap-mdns-publisher-avahi.c:
6413 * daapsharing/rb-daap-mdns-publisher-howl.c:
6414 * daapsharing/rb-daap-mdns-publisher.h:
6415 * daapsharing/rb-daap-share.c:
6416 * daapsharing/rb-daap-share.h:
6417 * daapsharing/rb-daap-sharing.c:
6418 * daapsharing/rb-daap-sharing.h:
6419 * daapsharing/rb-daap-src.c:
6420 * daapsharing/rb-daap-src.h:
6421 * daapsharing/rb-daap-structure.c:
6422 * daapsharing/rb-daap-structure.h:
6423 * help/C/fdl-appendix.xml:
6425 * help/ja/fdl-appendix.xml:
6426 * iradio/rb-new-station-dialog.c:
6427 * iradio/rb-new-station-dialog.h:
6428 * iradio/rb-station-properties-dialog.c:
6429 * iradio/rb-station-properties-dialog.h:
6432 * lib/rb-cut-and-paste-code.c:
6433 * lib/rb-cut-and-paste-code.h:
6436 * lib/rb-file-helpers.c:
6437 * lib/rb-file-helpers.h:
6438 * lib/rb-glade-helpers.c:
6439 * lib/rb-glade-helpers.h:
6440 * lib/rb-preferences.h:
6441 * lib/rb-proxy-config.c:
6442 * lib/rb-stock-icons.c:
6443 * lib/rb-stock-icons.h:
6446 * lib/rb-tree-dnd.c:
6447 * lib/rb-tree-dnd.h:
6450 * metadata/rb-metadata-common.c:
6451 * metadata/rb-metadata-dbus-client.c:
6452 * metadata/rb-metadata-dbus-service.c:
6453 * metadata/rb-metadata-dbus.c:
6454 * metadata/rb-metadata-dbus.h:
6455 * metadata/rb-metadata-gst.c:
6456 * metadata/rb-metadata.h:
6457 * metadata/sj-error.c:
6458 * metadata/sj-error.h:
6459 * metadata/sj-metadata-musicbrainz.c:
6460 * metadata/sj-metadata-musicbrainz.h:
6461 * metadata/sj-metadata.c:
6462 * metadata/sj-metadata.h:
6463 * metadata/sj-structures.c:
6464 * metadata/sj-structures.h:
6465 * metadata/test-metadata.c:
6466 * player/rb-player-gst.c:
6467 * player/rb-player.h:
6468 * player/rb-recorder-gst.c:
6469 * player/rb-recorder.h:
6470 * plugins/artdisplay/artdisplay.py:
6471 * plugins/audioscrobbler/rb-audioscrobbler-plugin.c:
6472 * plugins/ipod/rb-ipod-plugin.c:
6473 * plugins/lirc/rb-lirc-plugin.c:
6474 * plugins/pythonconsole/pythonconsole.py:
6475 * plugins/rb-module.c:
6476 * plugins/rb-module.h:
6477 * plugins/rb-plugin-manager.c:
6478 * plugins/rb-plugin-manager.h:
6479 * plugins/rb-plugin.c:
6480 * plugins/rb-plugin.h:
6481 * plugins/rb-plugins-engine.c:
6482 * plugins/rb-plugins-engine.h:
6483 * plugins/rb-python-module.c:
6484 * plugins/rb-python-module.h:
6485 * plugins/rb-python-plugin.c:
6486 * plugins/rb-python-plugin.h:
6487 * plugins/sample/rb-sample-plugin.c:
6499 * podcast/rb-feed-podcast-properties-dialog.c:
6500 * podcast/rb-feed-podcast-properties-dialog.h:
6501 * podcast/rb-new-podcast-dialog.c:
6502 * podcast/rb-new-podcast-dialog.h:
6503 * podcast/rb-podcast-manager.c:
6504 * podcast/rb-podcast-manager.h:
6505 * podcast/rb-podcast-parse.c:
6506 * podcast/rb-podcast-parse.h:
6507 * podcast/rb-podcast-properties-dialog.c:
6508 * podcast/rb-podcast-properties-dialog.h:
6509 * remote/bonobo/libmain.c:
6510 * remote/bonobo/rb-nautilus-context-menu.c:
6511 * remote/bonobo/rb-nautilus-context-menu.h:
6512 * remote/bonobo/rb-remote-bonobo.c:
6513 * remote/bonobo/rb-remote-bonobo.h:
6514 * remote/rb-remote-client-proxy.c:
6515 * remote/rb-remote-client-proxy.h:
6516 * remote/rb-remote-common.c:
6517 * remote/rb-remote-common.h:
6518 * remote/rb-remote-proxy.c:
6519 * remote/rb-remote-proxy.h:
6520 * rhythmdb/gsequence.c:
6521 * rhythmdb/gsequence.h:
6522 * rhythmdb/rb-refstring.c:
6523 * rhythmdb/rb-refstring.h:
6524 * rhythmdb/rhythmdb-gda.c:
6525 * rhythmdb/rhythmdb-gda.h:
6526 * rhythmdb/rhythmdb-private.h:
6527 * rhythmdb/rhythmdb-property-model.c:
6528 * rhythmdb/rhythmdb-property-model.h:
6529 * rhythmdb/rhythmdb-query-model.c:
6530 * rhythmdb/rhythmdb-query-model.h:
6531 * rhythmdb/rhythmdb-query-results.c:
6532 * rhythmdb/rhythmdb-query-results.h:
6533 * rhythmdb/rhythmdb-tree.c:
6534 * rhythmdb/rhythmdb-tree.h:
6535 * rhythmdb/rhythmdb.c:
6536 * rhythmdb/rhythmdb.h:
6538 * shell/rb-audioscrobbler.c:
6539 * shell/rb-audioscrobbler.h:
6540 * shell/rb-history.c:
6541 * shell/rb-history.h:
6542 * shell/rb-play-order-linear-loop.c:
6543 * shell/rb-play-order-linear-loop.h:
6544 * shell/rb-play-order-linear.c:
6545 * shell/rb-play-order-linear.h:
6546 * shell/rb-play-order-queue.c:
6547 * shell/rb-play-order-queue.h:
6548 * shell/rb-play-order-random-by-age-and-rating.c:
6549 * shell/rb-play-order-random-by-age-and-rating.h:
6550 * shell/rb-play-order-random-by-age.c:
6551 * shell/rb-play-order-random-by-age.h:
6552 * shell/rb-play-order-random-by-rating.c:
6553 * shell/rb-play-order-random-by-rating.h:
6554 * shell/rb-play-order-random-equal-weights.c:
6555 * shell/rb-play-order-random-equal-weights.h:
6556 * shell/rb-play-order-random.c:
6557 * shell/rb-play-order-random.h:
6558 * shell/rb-play-order-shuffle.c:
6559 * shell/rb-play-order-shuffle.h:
6560 * shell/rb-play-order.c:
6561 * shell/rb-play-order.h:
6562 * shell/rb-playlist-manager.c:
6563 * shell/rb-playlist-manager.h:
6564 * shell/rb-removable-media-manager.c:
6565 * shell/rb-removable-media-manager.h:
6566 * shell/rb-shell-clipboard.c:
6567 * shell/rb-shell-clipboard.h:
6568 * shell/rb-shell-player.c:
6569 * shell/rb-shell-player.h:
6570 * shell/rb-shell-preferences.c:
6571 * shell/rb-shell-preferences.h:
6574 * shell/rb-source-header.c:
6575 * shell/rb-source-header.h:
6576 * shell/rb-statusbar.c:
6577 * shell/rb-statusbar.h:
6578 * shell/rb-tray-icon.c:
6579 * shell/rb-tray-icon.h:
6580 * sources/rb-audiocd-source.c:
6581 * sources/rb-audiocd-source.h:
6582 * sources/rb-auto-playlist-source.c:
6583 * sources/rb-auto-playlist-source.h:
6584 * sources/rb-browser-source.c:
6585 * sources/rb-browser-source.h:
6586 * sources/rb-daap-source.c:
6587 * sources/rb-daap-source.h:
6588 * sources/rb-generic-player-source.c:
6589 * sources/rb-generic-player-source.h:
6590 * sources/rb-import-errors-source.c:
6591 * sources/rb-import-errors-source.h:
6592 * sources/rb-ipod-source.c:
6593 * sources/rb-ipod-source.h:
6594 * sources/rb-iradio-source.c:
6595 * sources/rb-iradio-source.h:
6596 * sources/rb-library-source.c:
6597 * sources/rb-library-source.h:
6598 * sources/rb-missing-files-source.c:
6599 * sources/rb-missing-files-source.h:
6600 * sources/rb-nokia770-source.c:
6601 * sources/rb-nokia770-source.h:
6602 * sources/rb-play-queue-source.c:
6603 * sources/rb-play-queue-source.h:
6604 * sources/rb-playlist-source-recorder.c:
6605 * sources/rb-playlist-source-recorder.h:
6606 * sources/rb-playlist-source.c:
6607 * sources/rb-playlist-source.h:
6608 * sources/rb-playlist-xml.h:
6609 * sources/rb-podcast-source.c:
6610 * sources/rb-podcast-source.h:
6611 * sources/rb-psp-source.c:
6612 * sources/rb-psp-source.h:
6613 * sources/rb-removable-media-source.c:
6614 * sources/rb-removable-media-source.h:
6615 * sources/rb-source.c:
6616 * sources/rb-source.h:
6617 * sources/rb-sourcelist-model.c:
6618 * sources/rb-sourcelist-model.h:
6619 * sources/rb-sourcelist.c:
6620 * sources/rb-sourcelist.h:
6621 * sources/rb-static-playlist-source.c:
6622 * sources/rb-static-playlist-source.h:
6624 * tests/test-cmdline.c:
6625 * tests/test-rhythmdb-indexing.c:
6626 * tests/test-rhythmdb-query.c:
6627 * tests/test-rhythmdb-simple.c:
6628 * tests/test-rhythmdb-tree-deserialization.c:
6629 * tests/test-rhythmdb-tree-serialization.c:
6630 * tests/test-rhythmdb-view.c:
6631 * widgets/bacon-volume.c:
6632 * widgets/bacon-volume.h:
6633 * widgets/disclosure-widget.c:
6634 * widgets/disclosure-widget.h:
6635 * widgets/eel-gconf-extensions.c:
6636 * widgets/eel-gconf-extensions.h:
6637 * widgets/eggtrayicon.c:
6638 * widgets/eggtrayicon.h:
6639 * widgets/libsexy/sexy-icon-entry.c:
6640 * widgets/libsexy/sexy-icon-entry.h:
6641 * widgets/rb-cell-renderer-pixbuf.c:
6642 * widgets/rb-cell-renderer-pixbuf.h:
6643 * widgets/rb-cell-renderer-rating.c:
6644 * widgets/rb-cell-renderer-rating.h:
6645 * widgets/rb-dialog.c:
6646 * widgets/rb-dialog.h:
6647 * widgets/rb-druid.c:
6648 * widgets/rb-druid.h:
6649 * widgets/rb-entry-view.c:
6650 * widgets/rb-entry-view.h:
6651 * widgets/rb-header.c:
6652 * widgets/rb-header.h:
6653 * widgets/rb-library-browser.c:
6654 * widgets/rb-library-browser.h:
6655 * widgets/rb-property-view.c:
6656 * widgets/rb-property-view.h:
6657 * widgets/rb-query-creator-private.h:
6658 * widgets/rb-query-creator-properties.c:
6659 * widgets/rb-query-creator.c:
6660 * widgets/rb-query-creator.h:
6661 * widgets/rb-rating-helper.c:
6662 * widgets/rb-rating-helper.h:
6663 * widgets/rb-rating.c:
6664 * widgets/rb-rating.h:
6665 * widgets/rb-search-entry.c:
6666 * widgets/rb-search-entry.h:
6667 * widgets/rb-song-display-box.c:
6668 * widgets/rb-song-display-box.h:
6669 * widgets/rb-song-info.c:
6670 * widgets/rb-song-info.h: Fix FSF address EVERYWHERE
6672 2006-04-20 Ryan P Skadberg <skadz@stigmata.org>
6674 patch by: Gareth Murphy, James Livingston
6676 * bindings/python/rb.defs:
6678 * plugins/Makefile.am:
6679 * plugins/artdisplay/Makefile.am:
6680 * plugins/artdisplay/artdisplay.py:
6681 * plugins/artdisplay/artdisplay.rb-plugin.desktop.in:
6682 * plugins/rb-python-module.c: (rb_python_module_init_python):
6683 * shell/rb-shell.c: (construct_widgets),
6684 (rb_shell_druid_response_cb), (rb_shell_get_box_for_ui_location),
6685 (rb_shell_add_widget), (rb_shell_remove_widget),
6686 (rb_shell_ui_location_get_type):
6687 * shell/rb-shell.h: Initial Art Display (and Download) Plugin Support
6689 2006-04-21 Jonathan Matthew <jonathan@kaolin.wh9.net>
6691 * rhythmdb/rhythmdb.c: (entry_volume_mounted_or_unmounted):
6692 Fix build failure caused by the combination of the previous two
6695 2006-04-20 James Livingston <doclivingston@gmail.com>
6697 patch by: Christophe Fergeau <teuf@gnome.org> to make
6698 RhythmDBEntryTypes be a structure rather than a uint. Add a vfunc
6699 table to the entry types, which will allow us to get rid of some of
6700 the "if entry type == WHATEVER" code everywhere. From bug
6702 * bindings/python/rb.defs:
6703 * bindings/python/rb.override:
6704 * bindings/python/rhythmdb.defs:
6705 * bindings/python/rhythmdb.override:
6706 * daapsharing/rb-daap-connection.c:
6707 (rb_daap_connection_class_init), (rb_daap_connection_init),
6708 (rb_daap_connection_set_property),
6709 (rb_daap_connection_get_property):
6710 * daapsharing/rb-daap-share.c: (db_entry_added_cb):
6711 * podcast/rb-podcast-manager.c:
6712 (rb_podcast_manager_entry_downloaded),
6713 (rb_podcast_manager_subscribe_feed),
6714 (rb_podcast_manager_db_entry_added_cb),
6715 (rb_podcast_manager_db_entry_deleted_cb),
6716 (rb_podcast_manager_insert_feed):
6717 * rhythmdb/rhythmdb-private.h:
6718 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_start_element),
6719 (conjunctive_query):
6720 * rhythmdb/rhythmdb.c: (sync_entry_changed),
6721 (process_added_entries_cb), (rhythmdb_entry_allocate),
6722 (rhythmdb_entry_finalize), (rhythmdb_entry_unref),
6723 (rhythmdb_process_stat_event), (rhythmdb_add_import_error_entry),
6724 (rhythmdb_process_metadata_load),
6725 (rhythmdb_process_file_created_or_modified), (action_thread_main),
6726 (rhythmdb_add_uri), (entry_type_to_string), (entry_type_from_uint),
6727 (write_encoded_gvalue), (read_encoded_property),
6728 (rhythmdb_prop_type_get_type), (rhythmdb_entry_register_type),
6729 (rhythmdb_entry_song_get_type), (rhythmdb_entry_ignore_get_type),
6730 (rhythmdb_entry_iradio_get_type),
6731 (rhythmdb_entry_podcast_post_get_type),
6732 (rhythmdb_entry_podcast_feed_get_type),
6733 (rhythmdb_entry_import_error_get_type),
6734 (rhythmdb_entry_get_entry_type), (rhythmdb_entry_get_pointer),
6735 (rhythmdb_entry_get_ulong), (rhythmdb_entry_get_type),
6736 (rhythmdb_entry_type_get_type):
6737 * rhythmdb/rhythmdb.h:
6738 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_song_changed_cb):
6739 * shell/rb-playlist-manager.c: (handle_playlist_entry_cb):
6740 * shell/rb-shell-player.c: (rb_shell_player_open_entry),
6741 (rb_shell_player_entry_activated_cb), (info_available_cb):
6742 * shell/rb-shell.c: (rb_shell_get_source_by_entry_type),
6743 (rb_shell_register_entry_type_for_source),
6744 (rb_shell_playing_from_queue_cb),
6745 (rb_shell_playing_entry_changed_cb),
6746 (rb_shell_player_stream_song_changed_cb),
6747 (rb_shell_jump_to_entry_with_source),
6748 (rb_shell_guess_type_for_uri), (rb_shell_add_uri),
6749 (handle_playlist_entry_cb), (rb_shell_load_uri):
6751 * sources/rb-auto-playlist-source.c: (impl_receive_drag):
6752 * sources/rb-browser-source.c: (rb_browser_source_class_init),
6753 (rb_browser_source_init), (rb_browser_source_set_property),
6754 (rb_browser_source_get_property):
6755 * sources/rb-ipod-source.c: (impl_paste):
6756 * sources/rb-iradio-source.c: (rb_iradio_source_class_init),
6757 (rb_iradio_source_init), (rb_iradio_source_set_property),
6758 (rb_iradio_source_get_property):
6759 * sources/rb-library-source.c: (impl_paste):
6760 * sources/rb-missing-files-source.c:
6761 (rb_missing_files_source_class_init),
6762 (rb_missing_files_source_init),
6763 (rb_missing_files_source_set_property),
6764 (rb_missing_files_source_get_property):
6765 * sources/rb-playlist-source.c: (rb_playlist_source_class_init),
6766 (rb_playlist_source_init), (rb_playlist_source_set_property),
6767 (rb_playlist_source_get_property):
6768 * sources/rb-podcast-source.c: (rb_podcast_source_class_init),
6769 (rb_podcast_source_init), (rb_podcast_source_set_property),
6770 (rb_podcast_source_get_property):
6771 * sources/rb-static-playlist-source.c:
6772 (rb_static_playlist_source_add_location_internal):
6774 2006-04-20 Jonathan Matthew <jonathan@kaolin.wh9.net>
6776 * rhythmdb/rhythmdb.c: (rhythmdb_init),
6777 (rhythmdb_add_import_error_entry),
6778 (entry_volume_mounted_or_unmounted),
6779 (rhythmdb_volume_unmounted_cb):
6780 When a volume is unmounted, delete import errors for files stored on
6781 it. When a volume is mounted, stat all tracks stored on it, rather
6782 than assuming they're present. Fixes #339023.
6784 2006-04-20 James Livingston <doclivingston@gmail.com>
6786 patch by: Alex Lancaster <alexl@users.sourceforge.net> to remember
6787 browser visibility for non-gconf-using sources (like playlists). Part
6790 * shell/rb-source-header.c: (sourcestate_free),
6791 (rb_source_header_init), (rb_source_header_finalize),
6792 (rb_source_header_source_weak_destroy_cb): switch from storing the
6793 search string to storing a "source state" structure
6795 (rb_source_header_set_source_internal), (rb_source_state_sync),
6796 (rb_source_header_search_cb), (rb_source_header_clear_search),
6797 (rb_source_header_disclosure_toggled_cb): as well as storing the
6798 string, stop the visibility of the source's browser.
6800 2006-04-20 James Livingston <doclivingston@gmail.com>
6802 * sources/rb-library-source.c: (impl_paste): ignore attempts to paste
6803 library entries back into the library. Fixes bug 339065.
6805 2006-04-20 James Livingston <doclivingston@gmail.com>
6807 * plugins/rb-plugin.h: remove the use of g_intern_static_string as it
6808 only exists in glib 2.10.
6810 2006-04-20 James Livingston <doclivingston@gmail.com>
6812 patch by Brian Cameron <brian.cameron@sun.com> to fix building on
6813 Solaris. From bug 335318.
6815 * rhythmdb/rhythmdb.c: (rhythmdb_query_append_prop_multiple):
6816 * shell/rb-audioscrobbler.c:
6817 * sources/rb-psp-source.c:
6819 2006-04-20 James Livingston <doclivingston@gmail.com>
6821 * data/glade/Makefile.am: remove the use of $(NULL) since it causes
6822 issues for some people.
6824 * shell/rb-playlist-manager.c: (save_playlist_response_cb): fix an
6825 accidental s/suffix/prefix/
6827 * sources/rb-auto-playlist-source.c:
6828 (rb_auto_playlist_source_set_query): fix the invered logic preventing
6829 you from sorting playlists which aren't limited by time.
6831 2006-04-19 James Livingston <doclivingston@gmail.com>
6833 * rhythmdb/rhythmdb.c: (metadata_field_from_prop): don't try to write
6834 duration or bitrate back to the file, since they are properties of the
6835 audio data, not tags we can set.
6837 2006-04-19 James Livingston <doclivingston@gmail.com>
6839 patch by: Götz Waschk <waschk@mandriva.org> to use $(LIBTOOL) instead
6840 of libtool, to fix builds which are using a different version. Fixes
6843 * shell/Makefile.am:
6845 2006-04-19 James Livingston <doclivingston@gmail.com>
6847 * rhythmdb/rhythmdb.c: (sync_entry_changed): emit a warning if we try
6848 to sync data to a file which is uneditable.
6850 2006-04-19 James Livingston <doclivingston@gmail.com>
6852 patch by: Gavin Stewart <gavin@brokentrain.net>
6854 * data/glade/playlist-save.glade:
6855 * data/glade/Makefile.am:
6856 * po/POTFILES.in: add the playlist saving dialog.
6858 * shell/rb-playlist-manager.c: (save_playlist_response_cb),
6859 (export_set_extension_cb), (filter_get_export_filter_label),
6860 (setup_format_menu), (rb_playlist_manager_cmd_save_playlist):
6861 * shell/rb-playlist-manager.h: Allow saving of playlists in alternate
6862 formats (PLS and M3U at the moment). Fixes bug 316295.
6864 2006-04-19 James Livingston <doclivingston@gmail.com>
6866 * shell/rb-playlist-manager.c:
6867 (rb_playlist_manager_set_source_internal): don't let you edit remove
6870 * sources/rb-auto-playlist-source.c:
6871 (rb_auto_playlist_source_set_query): correctly handle time-limited
6874 2006-04-19 Jonathan Matthew <jonathan@kaolin.wh9.net>
6876 Patch by: Mikael Olenfalk <mikael.olenfalk@gmail.com>
6878 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_load_queue):
6879 Don't crash if the queue file contains no newlines.
6882 2006-04-18 Christophe Fergeau <teuf@gnome.org>
6884 * sources/rb-ipod-source.c: (generate_ipod_filename): fixed wrong loop
6887 2006-04-18 Christophe Fergeau <teuf@gnome.org>
6889 * sources/rb-ipod-source.c: ipod music dirs can be lower or upper
6890 case. Moreover, they may not exist yet, so take that into account when
6891 generating the iPod filename.
6893 2006-04-18 Christophe Fergeau <christophe@anevia.com>
6895 * sources/rb-ipod-source.c: added support for drag and drop from the
6896 library to the iPod (only enabled if --enable-track-transfer was
6897 passed to configure)
6899 2006-04-17 Christophe Fergeau <teuf@gnome.org>
6902 * lib/rb-marshal.list:
6905 * plugins/Makefile.am:
6906 * plugins/ipod/Makefile.am:
6907 * plugins/ipod/ipod.rb-plugin.desktop.in:
6908 * plugins/ipod/rb-ipod-plugin.c:
6909 * plugins/rb-plugin.h:
6910 * shell/Makefile.am:
6911 * shell/rb-removable-media-manager.c:
6912 * shell/rb-removable-media-manager.h:
6914 * sources/Makefile.am:
6915 * sources/rb-ipod-source.c:
6916 * sources/rb-ipod-source.h: turn rb-ipod-source.c into a plugin. The
6917 various iPod related files should be moved to plugins/ipod/ now...
6919 2006-04-17 James Livingston <doclivingston@gmail.com>
6921 Updated documentation from Baptiste Mille-Mathias <bmm80@free.fr>
6924 * help/C/figures/rb-iradio-main.png:
6925 * help/C/figures/rb-notification-area-menu.png:
6926 * help/C/figures/rb-notification-window.png:
6927 * help/C/figures/rb-notification-zone.png:
6928 * help/C/figures/rb-podcast-main.png:
6929 * help/C/figures/rb-statusbar.png:
6930 * help/C/figures/rb-volume-changer.png:
6931 * help/C/figures/rb-window-small.png:
6932 * help/C/figures/rb-window.png:
6933 * help/C/rhythmbox.xml:
6935 2006-04-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
6937 * metadata/test-metadata.c: (load_metadata_cb): Report ignored files
6940 * metadata/rb-metadata-gst.c: (rb_metadata_init),
6941 (make_undecodable_error), (rb_metadata_gst_error_cb),
6942 (rb_metadata_gst_new_decoded_pad_cb),
6943 (rb_metadata_gst_unknown_type_cb), (rb_metadata_bus_handler):
6944 Ignore really small files (<4kB) for which typefinding fails.
6945 Always link decoded pads from decodebin to fakesink.
6946 Shut the pipeline down by posting an error on the bus when decodebin
6947 emits unknown-type signals. Fixes bug #338062.
6949 2006-04-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
6951 * shell/rb-shell.c: (rb_shell_load_uri):
6952 Fix glaring mistakes in previous commit: actually pass arguments to
6953 rb_debug, and specify the right entry type when adding a new iradio
6954 station so we don't try to add local playlist files to the library.
6956 2006-04-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
6958 * shell/main.c: (load_uri_args): Don't check that remote URLs exist
6959 before trying to add them, as iradio streams often fail rb_uri_exists().
6961 * shell/rb-shell-player.c: (notify_playing_idle),
6962 (rb_shell_player_open_playlist_url), (playlist_entry_cb),
6963 (open_location_thread), (rb_shell_player_open_location),
6964 (rb_shell_player_play), (rb_shell_player_set_playing_entry),
6965 (eos_cb): When playing an iradio stream using a playlist, keep a list
6966 of all the stream URLs, and try them in turn. If we get through the
6967 whole playlist too quickly, error out. Various other fixes that make
6968 iradio work a lot better.
6970 * shell/rb-shell.c: (add_to_library_response_cb),
6971 (rb_shell_guess_type_for_uri), (rb_shell_add_uri),
6972 (handle_playlist_entry_cb), (rb_shell_load_uri):
6973 Add playlists containing streams as iradio stations. If the playlist
6974 is local, add each stream URL, but if the playlist is remote, just add
6977 * sources/rb-iradio-source.c: (new_station_location_added):
6978 Add new station URLs as-is, rather than parsing the playlist and
6981 * rhythmdb/rhythmdb-query-model.c:
6982 (rhythmdb_query_model_entry_changed_cb),
6983 (rhythmdb_query_model_emit_reorder),
6984 (rhythmdb_query_model_do_reorder):
6985 Emit row-changed notifications when an entry changes but is not
6988 * widgets/rb-entry-view.c: (rb_entry_view_playing_cell_data_func):
6989 Display the playback error icon when the entry has an error and
6990 there's nothing else to display.
6992 Fixes bug #320336 and some of #324402.
6994 2006-04-16 Christophe Fergeau <teuf@gnome.org>
6996 * sources/rb-ipod-source.c: use a GHashTable for the
6997 RhythmDBEntry=>Itdb_Track mapping, this is better imo, and at the same
6998 time, this fixes compilation breakage for people not having libgpod
7001 2006-04-16 Ryan P Skadberg <skadz@stigmata.org>
7003 patch by: Jonathan Matthew <jonathan@kaolin.wh9.net>
7005 * podcast/rb-podcast-manager.c: (rb_podcast_manager_add_post),
7006 (rb_podcast_manager_insert_feed):
7007 * podcast/rb-podcast-manager.h: Actually automatically podcasts,
7010 2006-04-16 James Livingston <doclivingston@gmail.com>
7012 * sources/rb-library-source.c:
7013 (rb_library_source_library_location_cb): return FALSE like we are
7014 supposed to, not void.
7016 patch by: FreeBSD GNOME Project
7017 * configure.ac: fix some bash-isms.
7019 patch by: Pawel Worach <pawel.worach@gmail.com>
7020 * metadata/rb-metadata-dbus-client.c:
7021 * rhythmdb/rhythmdb-query-model.c:
7022 (rhythmdb_query_model_album_sort_func): fix build issues on FreeBSD
7025 2006-04-16 James Livingston <doclivingston@gmail.com>
7027 Patch from: Alessandro Decina <alessandro@nnva.org> to add support
7028 for transcoding to RBEncoderGst.
7030 * backends/gstreamer/rb-encoder-gst.c: (rb_encoder_gst_emit_error),
7031 (rb_encoder_gst_emit_completed), (bus_watch_cb), (gst_error_cb),
7032 (start_pipeline), (add_encoding_pipeline), (new_decoded_pad_cb),
7033 (add_decoding_pipeline), (encoder_match_mime),
7034 (get_profile_from_mime_type), (extract_track), (transcode_track),
7035 (rb_encoder_gst_cancel), (rb_encoder_gst_encode):
7037 2006-04-16 Christophe Fergeau <teuf@gnome.org>
7039 * sources/rb-ipod-source.c: (add_ipod_song_to_db),
7040 (load_ipod_db_idle_cb): moved RhythmDBEntry creation from
7041 load_ipod_db_idle_cb to a new separate function
7043 2006-04-16 Christophe Fergeau <teuf@gnome.org>
7045 * sources/rb-ipod-source.c: added 'move to trash' support to the iPod
7048 2006-04-16 Christophe Fergeau <teuf@gnome.org>
7050 * sources/rb-ipod-source.c: (rb_ipod_is_volume_ipod): removed unused
7053 2006-04-16 Christophe Fergeau <teuf@gnome.org>
7055 * data/ui/Makefile.am:
7056 * data/ui/ipod-ui.xml: added new ui file containing the iPod context
7058 * lib/rb-util.c: check if the widget we got from the UI manager isn't
7059 NULL before using it as a popup menu
7060 * sources/rb-ipod-source.c: added the possibility to 'rename' and
7063 2006-04-16 Christophe Fergeau <teuf@gnome.org>
7065 * sources/rb-ipod-source.c: when hal tells us a partition is on an
7066 iPod, check if it contains an iPod database before using it (in case
7067 the iPod was repartitionned somehow). Should fix bug #325034
7069 2006-04-16 Steve Frécinaux <steve@istique.net>
7071 * configure.ac: bump GTK+ version requirement from 2.5.4 to 2.6.0.
7073 * data/Makefile.am: install application icon into the default theme.
7075 * data/rhythmbox.desktop.in: don't specify icon file extension.
7077 * shell/main.c: (main): set default window icon from theme.
7079 * shell/rb-shell.c: (rb_shell_init, rb_shell_cmd_about): remove legacy
7080 code concerning window icon, and fix leak by unreferencing the about
7081 logo pixbuf once it's not used anymore.
7083 2006-04-16 James Livingston <doclivingston@gmail.com>
7085 * configure.ac: bump version to 0.9.4
7086 * NEWS: update NEWS and 0.9.4 insert translations
7088 2006-04-16 James Livingston <doclivingston@gmail.com>
7090 * plugins/pythonconsole/pythonconsole.py: import the rhythmdb
7091 namespace automatically.
7093 2006-04-16 James Livingston <doclivingston@gmail.com>
7095 * data/rhythmbox.schemas: add the plugin's stuff to the gconf schema
7097 * doc/reference/Makefile.am:
7098 * doc/reference/rhythmbox.types: make distcheck work again
7100 * doc/reference/tmpl/eggnotificationbubble.sgml:
7101 * doc/reference/tmpl/eggtrayicon.sgml:
7102 * doc/reference/tmpl/rb-debug.sgml:
7103 * doc/reference/tmpl/rb-entry-view.sgml:
7104 * doc/reference/tmpl/rb-enums.sgml:
7105 * doc/reference/tmpl/rb-metadata.sgml:
7106 * doc/reference/tmpl/rb-new-station-dialog.sgml:
7107 * doc/reference/tmpl/rb-playlist-manager.sgml:
7108 * doc/reference/tmpl/rb-refstring.sgml:
7109 * doc/reference/tmpl/rb-shell-player.sgml:
7110 * doc/reference/tmpl/rb-shell-preferences.sgml:
7111 * doc/reference/tmpl/rb-shell.sgml:
7112 * doc/reference/tmpl/rb-song-info.sgml:
7113 * doc/reference/tmpl/rb-station-properties-dialog.sgml:
7114 * doc/reference/tmpl/rb-statusbar.sgml:
7115 * doc/reference/tmpl/rhythmbox-unused.sgml:
7116 * doc/reference/tmpl/rhythmdb-query-model.sgml:
7117 * doc/reference/tmpl/rhythmdb.sgml: update generared api doc stuff
7119 2006-04-16 James Livingston <doclivingston@gmail.com>
7121 patch by: Christian Kirbach <Christian.Kirbach@student.uni-siegen.de>
7123 * po/LINGUAS: don't split the variable across two lines, as it breaks
7124 the build. Fixes bug 338625.
7126 2006-04-15 James Livingston <doclivingston@gmail.com>
7128 * shell/rb-shell.c: (rb_shell_class_init), (rb_shell_get_property):
7129 add a "sourcelist-model" gobject property.
7131 2006-04-14 William Jon McCann <mccann@jhu.edu>
7134 * backends/.cvsignore:
7135 * backends/gstreamer/.cvsignore:
7136 * bindings/.cvsignore:
7137 * bindings/python/.cvsignore:
7138 * help/es/.cvsignore:
7139 * metadata/.cvsignore:
7140 * plugins/.cvsignore:
7141 * plugins/audioscrobbler/.cvsignore:
7142 * plugins/lirc/.cvsignore:
7143 * plugins/pythonconsole/.cvsignore:
7144 * plugins/sample-python/.cvsignore:
7145 * plugins/sample/.cvsignore:
7147 * widgets/libsexy/.cvsignore:
7148 Make CVS ignore files.
7150 2006-04-14 James Livingston <doclivingston@gmail.com>
7152 * sources/rb-audiocd-source.c: (rb_audiocd_source_constructor): make
7153 the track-loading thread hold a reference on the source, so it doesn't
7154 explode if the cd is removed before it is done. Fixes bug 337237.
7156 2006-04-14 James Livingston <doclivingston@gmail.com>
7158 * bindings/python/override_common.c:
7159 (_helper_unwrap_pointer_pylist):
7160 * bindings/python/override_common.h:
7161 * bindings/python/rb.override:
7162 * bindings/python/rhythmdb.override: Bind some more functions and
7165 * shell/rb-shell.c: (rb_shell_select_source):
7166 * shell/rb-source-header.c: (rb_source_header_set_source_internal):
7167 * sources/rb-audiocd-source.c:
7168 * sources/rb-auto-playlist-source.c: (impl_get_search_actions):
7169 * sources/rb-browser-source.c: (impl_get_search_actions):
7170 * sources/rb-iradio-source.c: (impl_get_ui_actions):
7171 * sources/rb-play-queue-source.c: (impl_get_ui_actions):
7172 * sources/rb-playlist-source.c: (impl_get_ui_actions):
7173 * sources/rb-podcast-source.c: (impl_get_ui_actions),
7174 (impl_get_search_actions):
7175 * sources/rb-static-playlist-source.c: (impl_get_search_actions): Make
7176 the impl_get_ui_actions and impl_get_search_actions functions return
7177 lists that contain copies of the strings, instead of constant ones.
7180 2006-04-14 James Livingston <doclivingston@gmail.com>
7182 * bindings/python/rhythmdb.defs:
7183 * bindings/python/rhythmdb.override: fix the method argument format
7186 2006-04-14 James Livingston <doclivingston@gmail.com>
7188 * bindings/python/rhythmdb.defs:
7189 * bindings/python/rhythmdb.override:
7190 * rhythmdb/rhythmdb.c: (rhythmdb_entry_get),
7191 (entry_to_rb_metadata), (record_entry_change),
7192 (rhythmdb_entry_set_visibility):
7193 * rhythmdb/rhythmdb.h:
7194 * shell/rb-shell.c: (rb_shell_get_song_properties): change
7195 rhythmdb_entry_get to take the db as the first parameter. Fixes the
7196 python bindings of it. The rhythmdb_entry_get_* ones are left the same
7197 since they are used in too many places, and not in the Python
7200 2006-04-13 William Jon McCann <mccann@jhu.edu>
7202 * lib/rb-debug.c: (_rb_profile_log):
7203 * plugins/rb-plugins-engine.c: (rb_plugins_engine_init):
7204 * rhythmdb/rhythmdb.c: (rhythmdb_load):
7205 * shell/main.c: (main):
7206 * shell/rb-shell.c: (rb_shell_constructor),
7207 (rb_shell_set_visibility), (rb_shell_sync_window_state),
7209 Fix profile output indentation. Add more profiling points.
7210 Fixes part of #338114
7212 2006-04-13 James Livingston <doclivingston@gmail.com>
7214 * shell/rb-shell.c: (rb_shell_source_deleted_cb): deal with the
7215 library source being deleted, by setting the active source to NULL.
7218 2006-04-12 Jonathan Matthew <jonathan@kaolin.wh9.net>
7220 * rhythmdb/rhythmdb.c: (rhythmdb_entry_sync_mirrored):
7221 Update the last-seen string when hiddenness changes.
7223 2006-04-12 James Livingston <doclivingston@gmail.com>
7225 * rhythmdb/rhythmdb.c: (rhythmdb_process_metadata_load): fix an issue
7226 which caused the first-seen time to be reset when a metadata load was
7227 done. Fixes bug 336874.
7229 * shell/rb-shell.h: remove old function declaration.
7231 * bindings/python/rhythmdb.defs:
7232 * bindings/python/rhythmdb.override: Fix some python binding stuff.
7234 2006-04-11 James Livingston <doclivingston@gmail.com>
7236 * shell/rb-shell.c: (rb_shell_sync_toolbar_state),
7237 (rb_shell_sync_smalldisplay): fix toolbar-style/small-mode
7238 interaction. Fixes bug 337999.
7240 2006-04-11 James Livingston <doclivingston@gmail.com>
7242 patch by: Christohpe Fergeau <teuf@gnome.org> to fix building without
7243 track transfer. Fixes bug 338056.
7245 * shell/Makefile.am:
7247 2006-04-11 Jonathan Matthew <jonathan@kaolin.wh9.net>
7249 * widgets/Makefile.am: Fix automake complaints about LIBSEXY_LIBS
7251 2006-04-10 William Jon McCann <mccann@jhu.edu>
7253 * lib/rb-debug.c: (rb_profiler_free), (profile_add_indent),
7256 * shell/rb-shell.c: (construct_db), (construct_widgets),
7257 (construct_sources), (construct_load_ui), (rb_shell_constructor):
7258 Add profiling. Fixes #337387
7260 2006-04-10 William Jon McCann <mccann@jhu.edu>
7262 * sources/rb-play-queue-source.c (rb_play_queue_source_track_info_cell_data_func):
7263 * widgets/rb-header.c:
7264 Use italics for artist and album. Fixes #336748
7266 2006-04-10 James Livingston <doclivingston@gmail.com>
7269 * backends/gstreamer/Makefile.am:
7271 * data/glade/library-prefs.glade:
7272 * shell/Makefile.am:
7273 * shell/rb-removable-media-manager.c:
7274 * shell/rb-removable-media-manager.h:
7275 * sources/Makefile.am:
7276 * sources/rb-audiocd-source.c:
7277 * sources/rb-library-source.c: (rb_library_source_class_init),
7278 (rb_library_source_finalize), (impl_get_config_widget),
7279 (rb_library_source_preferences_sync), (impl_can_paste): add a
7280 --enable-track-transfer configure option, abd make cd ripping disabled
7283 * shell/rb-source-header.c:
7284 * sources/rb-source.c: (rb_source_class_init),
7285 (rb_source_delete_thyself), (default_get_entry_view):
7286 * lib/rb-glade-helpers.c:
7287 * shell/rb-shell.c: (rb_shell_view_queue_as_sidebar_changed_cb): Fix
7288 some compiler warnings, and also bug 337427.
7290 2006-04-10 James Livingston <doclivingston@gmail.com>
7292 * shell/rb-shell-player.c: (rb_shell_player_shuffle_changed_cb),
7293 (rb_shell_player_repeat_changed_cb): don't fail to set the play order
7294 if the gconf key is missing. Fixes bug 337742.
7296 2006-04-10 James Livingston <doclivingston@gmail.com>
7298 patch by: Alex Lancaster <alexl@users.sourceforge.net>
7299 to fix build problems I caused with a commit yesterday. Fixed bug
7302 * daapsharing/rb-daap-mdns-browser-howl.c:
7303 (rb_daap_mdns_browser_class_init):
7304 * podcast/Makefile.am:
7305 * rhythmdb/Makefile.am:
7306 * widgets/eggtrayicon.h:
7308 2006-04-09 Steve Frécinaux <steve@istique.net>
7313 Move ALL_LANGUAGES content to the po/LINGUAS file, to make our
7314 translators' life easier.
7316 2006-04-09 James Livingston <doclivingston@gmail.com>
7318 * bindings/python/rb.defs:
7319 * bindings/python/rb.override: add bindings for most RBSource virtual
7322 * sources/rb-source.h:
7323 * sources/rb-source.c: (rb_source_class_init): make
7324 impl_get_browser_key return a non-consht string, since Python can't
7325 really give us constant strings.
7327 * shell/rb-source-header.c: (rb_source_header_finalize),
7328 (rb_source_header_set_source_internal):
7329 * sources/rb-daap-source.c: (rb_daap_source_get_browser_key):
7330 * sources/rb-iradio-source.c: (impl_get_browser_key):
7331 * sources/rb-library-source.c: (impl_get_browser_key):
7332 * sources/rb-playlist-source.c:
7333 * sources/rb-browser-source.c: (rb_browser_source_constructor),
7334 (rb_browser_source_state_prefs_sync):
7335 * sources/rb-podcast-source.c: (impl_get_browser_key): Adapt to the
7338 * plugins/sample-python/sample-python.py: show how to add a new
7341 2006-04-09 James Livingston <doclivingston@gmail.com>
7343 * daapsharing/Makefile.am:
7344 * daapsharing/rb-daap-connection.c:
7345 (rb_daap_connection_class_init):
7346 * daapsharing/rb-daap-marshal.list:
7347 * daapsharing/rb-daap-mdns-browser-avahi.c:
7348 (rb_daap_mdns_browser_class_init):
7349 * lib/rb-marshal.list:
7350 * player/Makefile.am:
7351 * player/rb-recorder-gst.c: (rb_recorder_class_init):
7352 * player/rb-recorder-marshal.list:
7353 * podcast/Makefile.am:
7354 * podcast/rb-podcast-manager.c: (rb_podcast_manager_class_init):
7355 * podcast/rb-podcast-marshal.list:
7356 * rhythmdb/Makefile.am:
7357 * rhythmdb/rhythmdb-marshal.list:
7358 * rhythmdb/rhythmdb-query-model.c:
7359 (rhythmdb_query_model_class_init):
7360 * rhythmdb/rhythmdb.c: (rhythmdb_class_init): merge all the marshalers
7361 into one file, as there is no point having several of them.
7363 2006-04-09 James Livingston <doclivingston@gmail.com>
7367 * widgets/Makefile.am:
7368 * widgets/eggnotificationbubble.c:
7369 * widgets/eggnotificationbubble.h:
7370 * widgets/rb-song-info.c: remove lib/rb-enums.h and
7371 widgets/eggnotificationbubble.{c,h}, since they aren't used any more
7373 * rhythmdb/rhythmdb-property-model.h:
7374 * rhythmdb/rhythmdb-query-model.h:
7375 * rhythmdb/rhythmdb.h:
7376 * shell/rb-playlist-manager.h:
7377 * widgets/rb-cell-renderer-pixbuf.h:
7378 * widgets/rb-cell-renderer-rating.h:
7379 * widgets/rb-rating.h: fix the prototypes of various class-closures.
7381 2006-04-09 Jonathan Matthew <jonathan@kaolin.wh9.net>
7383 * widgets/libsexy/Makefile.am: Actually use internal libsexy headers,
7384 so we can build without a system-wide installed copy.
7386 2006-04-09 James Livingston <doclivingston@gmail.com>
7388 * data/glade/general-prefs.glade:
7389 * data/rhythmbox.schemas:
7390 * lib/rb-glade-helpers.c: (rb_glade_boldify_label),
7391 (rb_combo_box_hyphen_separator_func):
7392 * lib/rb-glade-helpers.h:
7393 * lib/rb-preferences.h:
7394 * shell/rb-shell-preferences.c: (rb_shell_preferences_init),
7395 (rb_shell_preferences_sync),
7396 (rb_shell_preferences_toolbar_style_cb),
7397 (rb_shell_preferences_browser_views_activated_cb):
7398 * shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor),
7399 (rb_shell_sync_toolbar_state), (toolbar_state_changed_cb): Allow the
7400 overriding of the toolbar style, as the HIG suggests. Fixes bug 336797.
7402 2006-04-09 James Livingston <doclivingston@gmail.com>
7404 * sources/rb-audiocd-source.c: (entry_set_string_prop): validate the
7405 data that MusicBrainz returns to us. Last part of bug 334167.
7407 2006-04-09 James Livingston <doclivingston@gmail.com>
7409 * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed): fix a
7410 crasher if xmlCreateMemoryParserCtxt returns NULL. Fixes bug 336842.
7412 2006-04-09 James Livingston <doclivingston@gmail.com>
7414 * widgets/rb-entry-view.c: (rb_entry_view_rows_reordered_cb): update
7415 the entry view properly when the rows are reordered. Fixes bug 337019.
7417 2006-04-09 James Livingston <doclivingston@gmail.com>
7420 * widgets/Makefile.am:
7421 * widgets/libsexy/Makefile.am:
7422 * widgets/libsexy/sexy-icon-entry.c:
7423 * widgets/libsexy/sexy-icon-entry.h: add an internal copy of part of
7424 libsexy, and allow building against it or a system-wide installed
7428 * widgets/rb-search-entry.c: (rb_search_entry_init),
7429 (rb_search_entry_changed_cb): use libsexy to add a clear button to the
7430 search box. Fixes bug 128109.
7432 2006-04-09 James Livingston <doclivingston@gmail.com>
7434 patch by: Alex Lancaster <alexl@users.sourceforge.net>
7436 * widgets/rb-entry-view.c: (rb_entry_view_init),
7437 (rb_entry_view_finalize), (rb_entry_view_constructor): use the Play
7438 and Pause icons rather than the volume ones in the Now Playing column.
7441 2006-04-08 James Livingston <doclivingston@gmail.com>
7443 * bindings/python/override_common.h:
7444 * bindings/python/rb.override:
7445 * bindings/python/rhythmdb.override: bind some more functions
7447 2006-04-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
7449 * metadata/rb-metadata-dbus-service.c: (_send_error):
7450 Send NULL error messages as empty strings, so _NOT_AUDIO_IGNORE errors
7451 are sent properly and we don't get 'method doesn't exist' messages
7454 2006-04-08 James Livingston <doclivingston@gmail.com>
7456 * bindings/python/override_common.h:
7457 * bindings/python/override_common.c: (_helper_wrap_pointer_glist),
7458 (_helper_wrap_boxed_glist), (_helper_unwrap_string_pylist): add some
7459 more utility functions for C<->Python conversions
7461 * widgets/rb-entry-view.c: (rb_entry_view_column_get_type),
7462 (rb_entry_view_state_get_type):
7463 * widgets/rb-entry-view.h: make the colume type and entry view state
7466 * bindings/python/Makefile.am:
7467 * bindings/python/rb.defs:
7468 * bindings/python/rb.override: bind RBEntryView, RBPropertyView and
7471 2006-04-08 James Livingston <doclivingston@gmail.com>
7473 * backends/gstreamer/rb-encoder-gst.c: (bus_watch_cb): add a missing
7474 initialiser for a GError
7476 * sources/rb-source.c: (rb_source_eof_type_get_type):
7477 * sources/rb-source.h: add a GType for RBSourceEOFType
7479 * bindings/python/Makefile.am:
7480 * bindings/python/rb.defs:
7481 * bindings/python/rb.override: bind RBSource and RBSourceList
7483 2006-04-07 Jonathan Matthew <jonathan@kaolin.wh9.net>
7485 * shell/rb-shell-player.c: (rb_shell_player_class_init),
7486 (rb_shell_player_get_property),
7487 (rb_shell_player_get_active_source),
7488 (rb_shell_player_set_playing_source_internal):
7489 * shell/rb-shell-player.h:
7490 Change 'playing-from-queue' from being a signal to being a property.
7492 * shell/rb-shell.c: (rb_shell_constructor),
7493 (rb_shell_playing_from_queue_cb),
7494 (rb_shell_view_queue_as_sidebar_changed_cb),
7495 (rb_shell_jump_to_entry_with_source):
7496 When the queue side pane is used, make 'jump to current' jump to the
7497 entry in the registered source for its type, rather than in the queue,
7498 and show it as playing in that source.
7500 * sources/rb-sourcelist.c: (rb_sourcelist_set_playing_source):
7501 * sources/rb-sourcelist.h:
7502 Remove the 'preempted source' stuff, since it wasn't doing anything
7505 2006-04-07 Jonathan Matthew <jonathan@kaolin.wh9.net>
7507 * podcast/rb-podcast-manager.c: (rb_podcast_manager_copy_post),
7508 (download_progress_cb): Canonicalise downloaded file location before
7509 setting the mountpoint property of the corresponding entry.
7510 Fixes #337287 and a couple of memory leaks.
7512 2006-04-06 Jonathan Matthew <jonathan@kaolin.wh9.net>
7514 * metadata/rb-metadata-dbus-service.c: (test_can_save),
7515 (test_load), (main): Call g_set_prgname, report errors more
7516 usefully in test mode.
7517 * metadata/rb-metadata-gst.c: (rb_metadata_gst_typefind_cb),
7518 (rb_metadata_load): Don't ignore the have-type signal for non-audio
7519 files. Run the event loop when the state change fails so we get the
7520 error messages from the bus. Fixes #336921.
7522 2006-04-05 William Jon McCann <mccann@jhu.edu>
7524 * data/art/Makefile.am: Install media-eject.
7526 * lib/rb-stock-icons.c (rb_stock_icons_init): Check
7527 return value of rb_file.
7531 2006-04-05 Jonathan Matthew <jonathan@kaolin.wh9.net>
7533 Patch by: William Jon McCann <mccann@jhu.edu>
7535 * metadata/test-metadata.c: (main): Use GOption to parse arguments.
7536 * podcast/rb-podcast-manager.c: (rb_podcast_manager_save_metadata):
7539 2006-04-04 William Jon McCann <mccann@jhu.edu>
7541 * backends/gstreamer/rb-encoder-gst.c (add_tags_from_entry):
7542 Don't try to add a date when we don't have one. Fixes #336741.
7544 Also fix variable declaration in middle of block.
7546 2006-04-04 Jonathan Matthew <jonathan@kaolin.wh9.net>
7548 * shell/rb-shell-player.c: (rb_shell_player_playpause):
7549 Don't crash if source is already NULL. Hackishly fixes bug #336912.
7551 2006-04-02 James Livingston <doclivingston@gmail.com>
7553 * metadata/rb-metadata-gst.c: (rb_metadata_gst_typefind_cb): fix the
7554 inverted logic causing imports to fail.
7556 2006-04-02 Jonathan Matthew <jonathan@kaolin.wh9.net>
7558 * shell/main.c: (main): Fix dbusless build.
7560 2006-04-02 Christophe Fergeau <teuf@gnome.org>
7562 * player/rb-recorder-gst.c: fix packing of the C struct holding a
7563 wav header for non-gcc compilers (not tested much, was only written
7566 2006-04-02 Jonathan Matthew <jonathan@kaolin.wh9.net>
7568 * shell/main.c: (main): Check if we got a dbus connection before
7569 trying to create a proxy for the shell object. Fixes #336634.
7571 2006-04-02 Jonathan Matthew <jonathan@kaolin.wh9.net>
7573 * doc/reference/Makefile.am:
7574 * plugins/lirc/rb-lirc-plugin.c: (rb_lirc_plugin_class_init):
7575 * shell/rb-source-header.c:
7576 * sources/rb-generic-player-source.c:
7577 (default_transform_playlist_uri):
7578 Fix various build issues. Patch approximately 50% by Alex Lancaster
7579 <alexl@users.sourceforge.net>
7581 2006-04-02 Jonathan Matthew <jonathan@kaolin.wh9.net>
7583 * configure.ac: Detect LIRC.
7585 * plugins/Makefile.am:
7586 * plugins/lirc/Makefile.am:
7587 * plugins/lirc/lirc.rb-plugin.desktop.in:
7588 * plugins/lirc/rb-lirc-plugin.c:
7591 * shell/Makefile.am, shell/rb-remote.c, shell/rb-remote.h:
7592 Remove obsolete files.
7594 2006-04-02 James Livingston <doclivingston@gmail.com>
7596 * sources/rb-generic-player-source.c:
7597 (default_transform_playlist_uri): consider playlist paths as relative
7598 to the volume root by default, since that is what most players use.
7600 2006-04-02 James Livingston <doclivingston@gmail.com>
7602 * lib/rb-util.c: (rb_mime_get_friendly_name):
7603 * lib/rb-util.h: add helper function to get the "friendly" name for a
7606 * metadata/rb-metadata-gst.c: (rb_metadata_init),
7607 (rb_metadata_gst_typefind_cb), (rb_metadata_gst_unknown_type_cb): give
7608 the user better error messages about undecodable streams, using the
7609 "friendly" name if possible. Fixes bug 128109.
7611 2006-04-02 James Livingston <doclivingston@gmail.com>
7613 * backends/gstreamer/rb-encoder-gst.c: (progress_timeout_cb),
7614 (start_pipeline): fix building with gstreamer 0.8
7616 2006-04-02 James Livingston <doclivingston@gmail.com>
7618 * sources/rb-podcast-source.c: (impl_delete),
7619 (rb_podcast_source_cmd_delete_feed),
7620 (rb_podcast_source_cmd_update_feed): copy the list before traversing
7621 it, since it may change during traversal. Fixes bug 336204.
7623 2006-04-01 James Livingston <doclivingston@gmail.com>
7625 * data/art/media-eject.png: add the media-eject icon from Banshee
7626 (BSD-licensed), for use when the user's icon theme doesn't have one.
7628 * lib/rb-stock-icons.c: (rb_stock_icons_init): use the above. Fixes
7631 2006-04-01 James Livingston <doclivingston@gmail.com>
7633 * shell/rb-shell-player.h:
7634 * shell/rb-shell-player.c: (rb_shell_player_play),
7635 (rb_shell_player_stop), (rb_shell_player_pause), (filter_mmkeys): add
7636 new rb_shell_player_{play,pause} functions, so everyone doesn't have
7637 to do rb_shell_player_playing followed by rb_shell_player_playpause.
7639 * shell/rb-shell.c: (rb_shell_sync_smalldisplay),
7640 (rb_shell_get_playlist_manager_path), (rb_shell_get_ui_manager):
7641 * shell/rb-shell.h: add rb_shell_get_ui_manager.
7643 * bindings/python/rb.defs: bind the above to Python, and remove some
7644 useless stuff from the bindings.
7646 2006-04-01 James Livingston <doclivingston@gmail.com>
7648 * backends/gstreamer/rb-encoder-gst.c: (add_tags_from_entry): add disc
7652 * shell/rb-shell.h: export rb_shell_get_source_by_entry_type.
7654 * sources/rb-daap-source.c: (rb_daap_source_class_init): set _can_copy
7657 * sources/rb-iradio-source.c: (rb_iradio_source_class_init):
7658 * sources/rb-podcast-source.c: (rb_podcast_source_class_init): reorder
7659 method assigning, so it's understandable
7661 * sources/rb-library-source.c: (rb_library_source_class_init),
7662 (impl_paste): rather than hard-coding the types to ignore, use
7665 2006-03-31 Jonathan Matthew <jonathan@kaolin.wh9.net>
7667 * sources/rb-library-source.c:
7668 (rb_library_source_preferences_sync):
7669 Don't crash if no audio profile is selected and the gconf schemas are
7672 2006-03-31 James Livingston <doclivingston@gmail.com>
7674 * plugins/rb-python-module.c: (rb_python_module_load): add a missing
7675 "*" which caused compilation to fail
7677 2006-03-31 James Livingston <doclivingston@gmail.com>
7681 * backends/Makefile.am:
7682 * backends/gstreamer/Makefile.am:
7683 * backends/gstreamer/rb-encoder-gst.c:
7684 * backends/gstreamer/rb-encoder-gst.h:
7685 * backends/rb-encoder.c:
7686 * backends/rb-encoder.h: add a interface for transcoding, and a
7687 GStreamer implementation of it (based on Sound-Juicer's code).
7689 * shell/Makefile.am:
7690 * shell/rb-removable-media-manager.c:
7691 (rb_removable_media_manager_class_init),
7692 (rb_removable_media_manager_init),
7693 (rb_removable_media_manager_dispose),
7694 (rb_removable_media_manager_finalize),
7695 (rb_removable_media_manager_scan), (emit_progress), (error_cb),
7696 (progress_cb), (completed_cb), (do_transfer),
7697 (rb_removable_media_manager_queue_transfer), (copy_entry),
7698 (rb_removable_media_manager_cmd_copy_tracks):
7699 * shell/rb-removable-media-manager.h: use the encoder interface to
7700 perform transfers of entries to other locations
7702 * shell/rb-shell-player.c: (open_location_thread):
7703 * shell/rb-shell.c: (rb_shell_class_init), (rb_shell_get_property),
7704 (rb_shell_constructor), (rb_shell_transfer_progress_cb),
7706 * shell/rb-statusbar.c: (rb_statusbar_set_progress): display transfer
7707 progress in the status bar.
7709 * shell/rb-shell-preferences.c: (rb_shell_preferences_init),
7710 (rb_shell_preferences_sync),
7711 (rb_shell_preferences_browser_views_activated_cb):
7712 * data/glade/general-prefs.glade: move the browser views setting from
7713 the library tab to the general one.
7715 * data/glade/library-prefs.glade: add settings for the layout of the
7716 user's library, and their preferred encoding format (e.g. for CD
7719 * lib/rb-preferences.h:
7720 * data/rhythmbox.schemas: add keys for the above options (and a few
7723 * rhythmdb/rhythmdb.c: (rhythmdb_entry_example_new):
7724 * rhythmdb/rhythmdb.h: add a new function for creating an "example"
7725 entry, that isn't inserted into the database.
7727 * sources/rb-audiocd-source.c: (rb_audiocd_source_class_init),
7728 (rb_audiocd_create_track_entry):
7729 * data/ui/rhythmbox-ui.xml: add a toolbar button for ripping audio
7730 cds, and set the mime-type of audio cd tracks correctly.
7732 * sources/rb-library-source.c: (rb_library_source_class_init),
7733 (rb_library_source_finalize),
7734 (rb_library_source_edit_profile_clicked_cb),
7735 (impl_get_config_widget), (rb_library_source_preferences_sync),
7736 (impl_receive_drag), (rb_library_source_path_changed_cb),
7737 (rb_library_source_filename_changed_cb),
7738 (rb_library_source_format_changed_cb), (sanitize_path),
7739 (filepath_parse_pattern), (layout_example_label_update),
7740 (rb_library_source_layout_path_changed),
7741 (rb_library_source_layout_filename_changed), (build_filename),
7742 (impl_can_paste), (completed_cb), (impl_paste): allow the copying of
7743 entries to the library. Large chunks of code for determining the
7744 destination file name stolen from Sound-Juicer.
7746 * sources/rb-sourcelist-model.c: (path_is_droppable):
7747 * shell/rb-shell-clipboard.c: (rb_shell_clipboard_sync):
7748 * sources/rb-static-playlist-source.c:
7749 (rb_static_playlist_source_class_init):
7750 * sources/rb-removable-media-source.c:
7751 (rb_removable_media_source_class_init):
7752 * sources/rb-source.c: (rb_source_class_init), (rb_source_can_cut),
7753 (rb_source_can_paste):
7754 * sources/rb-source.h: add a new _can_paste method, and use it (rather
7755 than _can_copy) to determine whether we can paste into the source.
7758 2006-03-31 Steve Frécinaux <steve@istique.net>
7760 * plugins/rb-python-module.c: allow import of python modules with a '.'
7761 (gedit's bug 336403). Patch by Johan Dahlin.
7763 2006-03-31 James Livingston <doclivingston@gmail.com>
7765 * sources/rb-library-source.c:
7766 * sources/rb-library-source.h:
7767 * sources/rb-browser-source.c:
7768 * sources/rb-browser-source.h: Split RBLibrarySource into two.
7769 RBBrowserSource now contains all the stuff for having a source which
7770 views a particular entry type (including browsers and searching).
7771 RBLibrarySource derives from this, and includes the library-specific
7772 stuff, like importing and library watching. Fixes some issues where
7773 library-derived sources were doing things that should be
7774 library-specific. Fixes bug 335185.
7776 * data/ui/rhythmbox-ui.xml:
7777 * sources/Makefile.am: modifications for the above
7779 * sources/rb-daap-source.c: (rb_daap_source_class_init),
7780 (rb_daap_source_get_paned_key):
7781 * sources/rb-daap-source.h:
7782 * sources/rb-ipod-source.c: (rb_ipod_source_constructor):
7783 * sources/rb-removable-media-source.c:
7784 (rb_removable_media_source_class_init):
7785 * sources/rb-removable-media-source.h: derive from RBBrowserSource
7786 instead of RBLibrarySource.
7788 2006-03-31 James Livingston <doclivingston@gmail.com>
7790 * rhythmdb/rhythmdb-query-model.c: use guin64 instead of guint, which
7791 I buggered up when changing from GnomeVFSFileSize.
7793 2006-03-30 James Livingston <doclivingston@gmail.com>
7795 * configure.ac: lower pygtk deps to 2.6, and add a makefile variable
7798 * bindings/python/rb.override:
7799 * bindings/python/Makefile.am: make the RB python bindings depend on
7800 the RhythmDB ones, and use "-Wno-error" since the machine-generated
7801 code sometimes emits warnings.
7803 * shell/rb-shell-player.c: (rb_shell_player_class_init),
7804 (rb_shell_player_error_get_type):
7805 * shell/rb-shell-player.h:
7806 * bindings/python/rb.defs: add bindings for RBShellPlayer
7808 * rhythmdb/rhythmdb.c: (rhythmdb_init),
7809 (rhythmdb_query_type_get_type), (rhythmdb_prop_type_get_type),
7810 (rhythmdb_entry_get_type), (rhythmdb_query_get_type):
7811 * rhythmdb/rhythmdb.h:
7812 * shell/rb-shell.c: (rb_shell_get_song_properties):
7813 * widgets/rb-entry-view.c: (propid_from_name):
7814 * widgets/rb-property-view.c: (rb_property_view_class_init):
7815 * bindings/python/rhythmdb.defs: make RhythmDBQuery a type (rather
7816 than just plain GPtrArray, and add bindings for it.
7818 * bindings/python/rhythmdb.override: wrap some functions that use
7821 2006-03-30 Jonathan Matthew <jonathan@kaolin.wh9.net>
7823 * rhythmdb/rhythmdb.c: (rhythmdb_process_metadata_load):
7824 Only watch directories from which entries of type SONG have been
7827 2006-03-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
7829 * widgets/rb-library-browser.c: (rb_library_browser_set_selection):
7830 No need to restore the selection after rebuilding the child model,
7831 since that can't have changed the selection.
7833 2006-03-29 James Livingston <doclivingston@gmail.com>
7835 * bindings/python/override_common.c:
7836 * bindings/python/override_common.h: add some for missing files to
7839 2006-03-29 James Livingston <doclivingston@gmail.com>
7842 * bindings/python/Makefile.am: remove usage of gtksourceview, it was
7843 copied from gedit's autofoo and we don't need it
7845 * bindings/python/rhythmdb.defs:
7846 * bindings/python/rhythmdb.override: add missing files to cvs
7848 2006-03-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
7850 * data/ui/rhythmbox-ui.xml: Add 'add to queue' menu item.
7851 * metadata/rb-metadata-dbus-service.c: (main): Call rb_debug_init
7852 before running any of the debug/test modes.
7853 * plugins/rb-plugins-engine.c: (rb_plugins_engine_load_all):
7854 Make plugin loading work when running uninstalled from the shell/
7857 2006-03-29 James Livingston <doclivingston@gmail.com>
7859 * rhythmdb/rhythmdb-property-model.c:
7860 (rhythmdb_property_model_sync),
7861 (rhythmdb_property_model_column_get_type):
7862 * rhythmdb/rhythmdb-property-model.h: make the column enum a GType
7864 * rhythmdb/rhythmdb-private.h:
7865 * rhythmdb/rhythmdb-query-model.c:
7866 (rhythmdb_query_model_class_init):
7867 * rhythmdb/rhythmdb-query-model.h:
7868 * rhythmdb/rhythmdb.c: (rhythmdb_class_init),
7869 (rhythmdb_compute_status_normal), (rhythmdb_get_property_type),
7870 (rhythmdb_entry_get_type):
7871 * rhythmdb/rhythmdb.h: make RhythmDBEntry a GType.
7873 * widgets/rb-query-creator-properties.c:
7874 * widgets/rb-song-display-box.c: #include <gnome-vfs-utils.h>, which
7877 * bindings/python/Makefile.am:
7878 * bindings/python/rb.defs:
7879 * bindings/python/rb.override:
7880 * plugins/rb-python-module.c: (rb_python_module_init_python): add
7881 Python bindings for RhythmDB.
7883 2006-03-29 James Livingston <doclivingston@gmail.com>
7885 * shell/rb-shell.c: (rb_shell_constructor): don't activate DAAP
7886 sharing when using --no-registration
7888 2006-03-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
7890 * rhythmdb/rhythmdb-query-model.c:
7891 (rhythmdb_query_model_reapply_query):
7892 Don't remove entries while iterating, as it breaks the sequence
7893 nodes. Instead, collect a list of removed entries and process it
7894 after iterating the sequence. Fixes #334642.
7896 2006-03-29 James Livingston <doclivingston@gmail.com>
7898 * plugins/rb-plugin-manager.c: (active_toggled_cb),
7899 (row_activated_cb), (plugin_manager_toggle_all):
7900 * sources/rb-sourcelist.c: (rb_sourcelist_source_to_iter),
7901 (rb_sourcelist_visible_source_to_iter), (row_activated_cb),
7902 (button_press_cb), (source_name_edited_cb):
7903 * widgets/rb-property-view.c: (rb_property_view_set_property),
7904 (rb_property_view_post_row_deleted_cb),
7905 (rb_property_view_row_activated_cb),
7906 (rb_property_view_selection_changed_cb),
7907 (rb_property_view_button_press_cb): fix warnings with GTK HEAD, about
7908 ignoring the return value of gtk_tree_model_get_iter. Fixes bug 335516.
7910 2006-03-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
7912 * rhythmdb/rhythmdb-query-model.c:
7913 (rhythmdb_query_model_drag_data_received):
7914 Increment the reference count for entries added by drag and drop.
7917 2006-03-27 Jonathan Matthew <jonathan@kaolin.wh9.net>
7919 * daapsharing/rb-daap-connection.c: (entry_set_string_prop):
7920 * metadata/rb-metadata-gst.c: (rb_metadata_gst_load_tag):
7921 Ignore invalid UTF-8 strings. Fixes most of #334167.
7923 2006-03-27 James Livingston <doclivingston@gmail.com>
7925 * shell/rb-shell.c: (rb_shell_constructor),
7926 (rb_shell_sync_window_state): fix a maximise-realise race that would
7927 cause some widgets to be resized after we had explicity set theri
7928 size. Hopefully fixes bug 331927.
7930 2006-03-27 James Livingston <doclivingston@gmail.com>
7932 * plugins/rb-plugin-manager.c: (active_toggled_cb),
7933 (row_activated_cb), (plugin_manager_set_active),
7934 (plugin_manager_toggle_active), (plugin_manager_toggle_all): update
7935 configure button sensitivity when a plugin is enabled/disabled.
7937 2006-03-27 James Livingston <doclivingston@gmail.com>
7939 * data/glade/plugins.glade: turn from a GtkDialog to a GtkWindow to
7940 stop warnings, only the vbos is used anyway
7942 * plugins/rb-plugins-engine.c: (garbage_collect_cb),
7943 (rb_plugins_engine_init), (rb_plugins_engine_shutdown): run gabage
7944 collection every now an then.
7946 * plugins/rb-python-plugin.c: (rb_python_object_finalize): don't crash
7947 if we are finalising because the python object couldn't be created.
7949 * plugins/rb-python-module.c: (rb_python_module_new_object): return
7950 NULL if the python-side object couldn't be created. Stops crashes when
7951 the object is later used when it doesn't exist in Python.
7953 (run_gc), (rb_python_garbage_collect), (finalise_collect_cb),
7954 (rb_python_shutdown): do better garbage collection when shutting down.
7955 Fixes the problem where Python was holding a reference to the shell,
7956 causing RB not to exit.
7958 2006-03-27 James Livingston <doclivingston@gmail.com>
7960 * configure.ac: don't define HAVE_LIBSOUP when we don't. Fixes bug
7963 2006-03-27 James Livingston <doclivingston@gmail.com>
7965 * data/iradio-initial.pls: Change the AfterHours DJ stream address.
7968 2006-03-26 James Livingston <doclivingston@gmail.com>
7970 * rhythmdb/rhythmdb.c: (rhythmdb_sync_library_location): set the
7971 library location list to NULL after we free it. Fixes bug 336047.
7973 2006-03-26 James Livingston <doclivingston@gmail.com>
7975 patch by: Alex Lancaster <alexl@users.sourceforge.net>
7977 * sources/rb-audiocd-source.c: use the release-date that MusicBrainz
7978 supplies. Fixes bug 335947.
7980 2006-03-25 James Livingston <doclivingston@gmail.com>
7982 * data/glade/audioscrobbler-prefs.glade:
7983 * shell/rb-audioscrobbler.c:
7984 (rb_audioscrobbler_enabled_check_changed_cb): move and rename the
7985 "submit songs" checkbox, and make it not disable username/password
7986 entry. This will be needed when we support other last.fm stuff
7987 (profile access, radio, etc).
7989 2006-03-24 Dennis Cranston <dennis_cranston@yahoo.com>
7991 * widgets/bacon-volume.c: (bacon_volume_scale_value_changed):
7992 Volume should not display stock_volume-0 for volume > 0. Fixes bug
7995 2006-03-24 James Livingston <doclivingston@gmail.com>
7997 * shell/rb-shell-player.c: (rb_shell_player_set_property),
7998 (rb_shell_player_sync_play_order),
7999 (rb_shell_player_play_order_update_cb),
8000 (actually_set_playing_source): update the next/previous availablility
8001 in places where it was missing. Fixes bug 335490.
8003 2006-03-24 James Livingston <doclivingston@gmail.com>
8005 * lib/rb-glade-helpers.c: (rb_glade_boldify_label): don't crash if we
8006 can't find the widget
8008 * lib/rb-util.c: (rb_uri_list_parse):
8009 * lib/rb-util.h: add function for parsing a URI list into strings.
8011 * metadata/Makefile.am: make the metdata helper build when linking
8014 * podcast/rb-podcast-manager.c: (rb_podcast_manager_copy_post): use
8015 g_mkdir_with_parents instead of coding our own.
8017 * podcast/rb-podcast-parse.c: (rb_set_channel_value): prefer
8018 <itunes:author> over <generator>, instead of using whichever comes
8021 * rhythmdb/rhythmdb-private.h:
8022 * rhythmdb/rhythmdb.c: (rhythmdb_entry_allocate): remove the "magic"
8023 field, as we don't ever check it (to detect corruption). Saves a bit
8026 2006-03-24 Jonathan Matthew <jonathan@kaolin.wh9.net>
8028 * lib/rb-file-helpers.c: (escape_extra_gnome_vfs_chars),
8029 (rb_uri_handle_recursively_cb), (rb_canonicalise_uri):
8030 Escape '&' and '=' in the paths we get back from
8031 gnome_vfs_directory_visit. Fixes #333998 a bit more.
8033 2006-03-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
8035 * shell/rb-shell.c: (rb_shell_constructor):
8036 Issue startup notification after creating the main window, so
8037 notification is issued whether the window is visible or not.
8040 2006-03-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
8042 * sources/rb-auto-playlist-source.c: (impl_search),
8043 (rb_auto_playlist_source_query_complete_cb),
8044 (rb_auto_playlist_source_do_query):
8045 * sources/rb-library-source.c: (impl_search),
8046 (rb_library_source_query_complete_cb),
8047 (rb_library_source_do_query):
8048 Defer subset searches (where text is appended to an existing search)
8049 until the original query is complete.
8051 2006-03-21 Ryan P Skadberg <skadz@stigmata.org>
8053 patch by: Jonathan Matthew <jonathan@kaolin.wh9.net>
8055 * rhythmdb/rb-refstring.c: (rb_refstring_get_folded),
8056 (rb_refstring_get_sort_key): fixes for strict-aliasing
8058 2006-03-21 James Livingston <jrl@ids.org.au>
8060 * shell/rb-shell.c: (rb_shell_load_uri): don't add a new playlist when
8061 importing a single file. Fixes bug 335307.
8063 2006-03-21 James Livingston <jrl@ids.org.au>
8065 * shell/Makefile.am: remove the reference to backends/ that I
8066 accidently included.
8068 2006-03-21 James Livingston <jrl@ids.org.au>
8070 patch by: Brian Cameron <brian.cameron@sun.com> to fix comilation
8071 with Forte (on Solaris). Closes bug 335318.
8075 * player/rb-recorder-gst.c:
8076 * podcast/rb-podcast-parse.c:
8077 * remote/bonobo/Makefile.am:
8078 * remote/rb-remote-proxy.c: (rb_remote_proxy_set_repeat):
8079 * rhythmdb/rhythmdb-query-model.c: (idle_process_update),
8080 (rhythmdb_query_model_add_entry),
8081 (rhythmdb_query_model_add_results):
8082 * rhythmdb/rhythmdb.c: (rhythmdb_entry_foreach):
8083 * rhythmdb/rhythmdb.h:
8084 * shell/Makefile.am:
8085 * sources/rb-playlist-source-recorder.c: (get_write_speeds),
8086 (update_speed_combobox):
8087 * sources/rb-sourcelist-model.c:
8089 2006-03-21 James Livingston <jrl@ids.org.au>
8091 Patch by: Alex Lancaster <alexl@users.sourceforge.net>
8093 * player/Makefile.am:
8094 * shell/Makefile.am: work correctly with a separate build root.
8096 2006-03-21 James Livingston <jrl@ids.org.au>
8098 * rhythmdb/rhythmdb.c: (rhythmdb_monitor_uri_path): don't crash if we
8101 2006-03-21 Jonathan Matthew <jonathan@kaolin.wh9.net>
8103 * rhythmdb/rhythmdb.c: (rhythmdb_add_import_error_entry):
8104 Only create ignore entries when importing into the library.
8105 Ignore entries for files in removable media sources don't help.
8107 2006-03-21 Jonathan Matthew <jonathan@kaolin.wh9.net>
8109 * shell/rb-source-header.c: (rb_source_header_focus_search_box):
8110 * shell/rb-source-header.h:
8111 * widgets/rb-search-entry.c: (rb_search_entry_grab_focus):
8112 * widgets/rb-search-entry.h:
8113 Add functions to make the search box grab focus.
8115 * shell/rb-shell.c: (rb_shell_cmd_view_all):
8116 Focus the search box after handling the 'view all' action.
8118 2006-03-20 Jonathan Matthew <jonathan@kaolin.wh9.net>
8120 * rhythmdb/rhythmdb.h:
8121 * rhythmdb/rhythmdb.c: (rhythmdb_init),
8122 (rhythmdb_execute_multi_stat_info_cb),
8123 (rhythmdb_start_action_thread), (rhythmdb_execute_stat_info_cb),
8124 (rhythmdb_execute_stat), (queue_stat_uri), (rhythmdb_execute_load),
8125 (action_thread_main):
8126 Collect all the get_file_info requests on startup into one gnome-vfs
8127 job to reduce overhead and avoid contention for the rhythmdb lock.
8128 Add a new method to call when all initial query models are set up.
8130 * shell/rb-shell.c: (idle_handle_load_complete):
8131 Call rhythmdb startup complete function when we've loaded all the
8132 playlists. Fixes #334106.
8134 2006-03-20 James Livingston <jrl@ids.org.au>
8136 * widgets/rb-entry-view.c: (rb_entry_view_set_property),
8137 (rb_entry_view_selection_changed_cb),
8138 (rb_entry_view_have_complete_selection): make has_complete_selection
8139 not slow. Fixes a performance issue I added a week or so ago.
8141 2006-03-20 James Livingston <jrl@ids.org.au>
8143 * shell/rb-shell-player.c: (volume_pre_unmount_cb): check for NULL
8144 before passing to strcmp. From bug 334559.
8146 2006-03-20 Jonathan Matthew <jonathan@kaolin.wh9.net>
8150 * lib/rb-proxy-config.c:
8151 * lib/rb-proxy-config.h:
8152 Add a new object to watch the HTTP proxy configuration and emit
8153 signals when it changes.
8155 * shell/rb-audioscrobbler.c:
8156 * shell/rb-audioscrobbler.h:
8157 Use rb-proxy-config to watch HTTP proxy configuration.
8160 Construct rb-proxy-config object on startup, and remove all
8161 audioscrobbler references.
8163 * shell/Makefile.am:
8164 * plugins/audioscrobbler/Makefile.am:
8165 * plugins/audioscrobbler/rb-audioscrobbler-plugin.c:
8166 Move all audioscrobbler code into the plugin. We should move
8167 rb-audioscrobbler.* from shell/ to plugins/audioscrobbler/ at some
8168 point. Don't use a private data structure in the plugin, since the
8169 class definition isn't in a header file. Fixes #335091.
8171 2006-03-20 James Livingston <jrl@ids.org.au>
8173 * shell/rb-shell-player.c: (rb_shell_player_play_order_update_cb):
8174 don't enable Next if the source has an EOS type other than
8175 RB_SOURCE_EOF_NEXT. Fixes bug 315120.
8177 2006-03-20 James Livingston <jrl@ids.org.au>
8179 * widgets/rb-song-info.c: (rb_song_info_backward_clicked_cb),
8180 (rb_song_info_forward_clicked_cb): deal with there being no
8181 next/previous entry.
8183 (rb_song_info_query_model_inserted_cb),
8184 (rb_song_info_query_model_deleted_cb),
8185 (rb_song_info_query_model_reordered_cb),
8186 (rb_song_info_query_model_changed_cb): monitor the query for changes,
8187 to update the button status. Fixes bug 333293.
8189 2006-03-20 James Livingston <jrl@ids.org.au>
8191 * shell/rb-shell.c: (rb_shell_set_visibility): fix minor sizing issue
8192 caused by my last commit
8194 2006-03-20 James Livingston <jrl@ids.org.au>
8196 * bindings/python/Makefile.am:
8197 * bindings/python/rb.defs:
8198 * bindings/python/rb.override: add python bindings of RBRemoteProxy
8200 * shell/rb-shell.c: (rb_shell_constructor),
8201 (rb_shell_set_visibility), (rb_shell_window_delete_cb): change
8202 tray-icon detection slightly
8204 2006-03-19 Steve Frécinaux <steve@istique.net>
8206 * data/ui/rhythmbox-ui.xml:
8209 Add an empty Tool Menu (hidden by default) containing placeholders for
8213 * plugins/Makefile.am:
8214 * plugins/pythonconsole/Makefile.am:
8215 * plugins/pythonconsole/pythonconsole.py:
8216 * plugins/pythonconsole/pythonconsole.rb-plugin.desktop.in:
8218 Python Console plugin
8220 2006-03-19 Jonathan Matthew <jonathan@kaolin.wh9.net>
8222 * lib/rb-file-helpers.c: (rb_canonicalise_uri):
8223 Extra step to encode '&' and '=' to match what gnome-vfs does
8225 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_start_element),
8226 (rhythmdb_tree_save):
8227 Increment rhythmdb xml version to 1.2, and force another uri
8228 re-canonicalisation when loading v1.1 databases.
8231 2006-03-19 Jonathan Matthew <jonathan@kaolin.wh9.net>
8233 * daapsharing/rb-daap-mdns-browser-avahi.c: (client_cb),
8234 (avahi_client_init), (browse_cb):
8235 * daapsharing/rb-daap-mdns-publisher-avahi.c: (client_cb),
8236 (avahi_client_init):
8237 Fix compilation with Avahi 0.5.x (bug #334551).
8239 2006-03-19 James Livingston <jrl@ids.org.au>
8241 Add Increase/Decrease Volume menu items and keybindings. From bug
8244 * data/ui/rhythmbox-ui.xml:
8245 * shell/rb-shell-player.c: (rb_shell_player_constructor),
8246 (rb_shell_player_init), (rb_shell_player_cmd_volume_up),
8247 (rb_shell_player_cmd_volume_down), (rb_shell_player_sync_volume):
8249 2006-03-19 James Livingston <jrl@ids.org.au>
8251 patch by: Mikhail Zabaluev <mhz@altlinux.org>
8253 * shell/Makefile.am: fix the link order, so that we compile with
8254 "LDFLAGS=-Wl,--as-needed". Fixes bug 334852.
8256 2006-03-19 James Livingston <jrl@ids.org.au>
8258 patch by: Adam Petaccia <adam@tpetaccia.com>
8260 * data/ui/rhythmbox-ui.xml: move preferences below "configure
8261 plugins". Fixes bug 335037.
8263 2006-03-18 James Livingston <jrl@ids.org.au>
8265 * rhythmdb/rb-refstring.c: (rb_refstring_get_folded),
8266 (rb_refstring_get_sort_key): fix type-punning warnings. Closes bug
8269 * widgets/rb-header.c: don't make artist/album info in the header the
8270 small size, since it's hard to read.
8272 2006-03-16 William Jon McCann <mccann@jhu.edu>
8274 * rhythmdb/rhythmdb.c (rhythmdb_init): Make deleted_entries a hash.
8275 (rhythmdb_finalize): Don't leak the hash tables.
8276 (rhythmdb_emit_entries_deleted_idle, process_deleted_entries_cb)
8277 (rhythmdb_commit_internal): Make sure to process the deletions.
8278 (rhythmdb_entry_delete): Use a hash.
8280 * podcast/rb-podcast-manager.c: Random analness about char*
8281 (rb_podcast_manager_remove_feed): Add debugging.
8282 (rb_podcast_manager_db_entry_deleted_cb): Ditto. Check
8283 the result of gnome_vfs_unlink. Don't leak a uri.
8287 2006-03-18 James Livingston <jrl@ids.org.au>
8289 * NEWS: update NEWS file
8291 2006-03-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
8293 * rhythmdb/rhythmdb-property-model.c:
8294 (rhythmdb_property_model_prop_changed_cb):
8295 Remove entries from the hash table after processing visible->hidden
8298 2006-03-16 William Jon McCann <mccann@jhu.edu>
8300 * sources/rb-daap-source.c (connection_connected_cb)
8301 (connection_disconnected_cb): Add debug.
8302 (rb_daap_source_get_headers): Check for NULL connection.
8304 * daapsharing/rb-daap-src.c (rb_daap_src_open):
8305 Check return value of rb_daap_source_get_headers.
8309 2006-03-16 Jonathan Matthew <jonathan@kaolin.wh9.net>
8311 * widgets/rb-library-browser.c: (rb_library_browser_set_selection):
8312 Restore the selection after rebuilding the child model, so the
8313 selection is shown correctly after using the 'browse this
8314 album/artist/genre' menu items.
8316 2006-03-15 Jonathan Matthew <jonathan@kaolin.wh9.net>
8318 * widgets/rb-entry-view.c: (rb_entry_view_set_property):
8319 Clear the selection before changing the active model.
8320 Fixes crash reported in bug 334549.
8322 2006-03-15 James Livingston <jrl@ids.org.au>
8324 * shell/rb-tray-icon.c: (rb_tray_icon_constructor),
8325 (rb_tray_icon_sync_action):
8326 * widgets/eggtrayicon.c: (egg_tray_icon_send_message),
8327 (egg_tray_icon_cancel_message), (egg_tray_icon_notify): remove support
8328 for non-libnotify notification bubbles. Fixes bug 331721.
8330 2006-03-15 James Livingston <jrl@ids.org.au>
8332 Add search-bar options to playlists. Fixes bug 334407.
8334 * sources/rb-auto-playlist-source.c:
8335 (rb_auto_playlist_source_class_init),
8336 (rb_auto_playlist_source_constructor),
8337 (rb_auto_playlist_source_do_query), (impl_get_search_actions),
8338 (search_action_to_prop), (search_action_changed):
8339 * sources/rb-static-playlist-source.c:
8340 (rb_static_playlist_source_class_init),
8341 (rb_static_playlist_source_constructor),
8342 (construct_query_from_selection), (impl_get_search_actions),
8343 (search_action_to_prop), (search_action_changed):
8345 2006-03-14 William Jon McCann <mccann@jhu.edu>
8347 * shell/rb-source-header.c (rb_source_header_set_source_internal):
8348 Remove broken attempt at making the search bar buttons not
8349 homogeneous. It wasn't working and was causing some UI sizing weirdness.
8351 2006-03-14 William Jon McCann <mccann@jhu.edu>
8353 * sources/rb-static-playlist-source.c (rb_static_playlist_source_dispose):
8354 Chain up to parent's dispose instead of finalize. Fixes #334479.
8356 2006-03-14 William Jon McCann <mccann@jhu.edu>
8358 * widgets/rb-header.c (rb_header_sync): Escape album and
8359 artist before adding to markup.
8361 2006-03-14 William Jon McCann <mccann@jhu.edu>
8363 * shell/rb-shell-player.c: (rb_shell_player_sync_with_source):
8364 * widgets/rb-header.c: (rb_header_class_init), (rb_header_init),
8365 (rb_header_set_property), (rb_header_get_property),
8367 Remove the GnomeUrl song links until we can do it properly.
8370 2006-03-14 Jonathan Matthew <jonathan@kaolin.wh9.net>
8372 * shell/rb-source-header.c: (rb_source_header_clear_search):
8373 Remove the stored search text from the hash table, so it doesn't
8374 reappear after switching to another source and back.
8376 * sources/rb-auto-playlist-source.c: (impl_search):
8377 * sources/rb-library-source.c: (impl_search), (impl_reset_filters):
8378 * sources/rb-static-playlist-source.c: (impl_search):
8379 Make sure all sources treat impl_search(NULL) and impl_search("") the
8380 same. Fixes #334525.
8382 2006-03-14 James Livingston <jrl@ids.org.au>
8384 Store which thread created new entries, and make rhythmdb_commit only
8385 insert the entries for the thread that calls it. This stops one thread
8386 calling rhythmdb_commit inserting entries that are half-way through
8387 construction by another thread (as happens with audio cds). From bug
8390 * rhythmdb/rhythmdb.c: (rhythmdb_init),
8391 (rhythmdb_emit_entries_added_idle), (process_added_entries_cb),
8392 (rhythmdb_commit_internal), (timeout_rhythmdb_commit),
8393 (rhythmdb_add_timeout_commit), (rhythmdb_commit),
8394 (rhythmdb_entry_insert), (rhythmdb_add_import_error_entry),
8395 (rhythmdb_process_metadata_load),
8396 (rhythmdb_process_queued_entry_set_event),
8397 (rhythmdb_prop_get_type):
8399 2006-03-14 Jonathan Matthew <jonathan@kaolin.wh9.net>
8401 * rhythmdb/rhythmdb-query-model.c:
8402 (rhythmdb_query_model_class_init), (rhythmdb_query_model_dispose),
8403 (rhythmdb_query_model_finalize):
8404 Move object unrefs from _finalize into _dispose.
8406 * shell/rb-play-order.c: (rb_play_order_query_model_changed):
8407 Remove extra g_object_ref that was causing query model leaks.
8409 * sources/rb-iradio-source.c: (rb_iradio_source_dispose),
8410 (rb_iradio_source_constructor), (impl_search), (genre_selected_cb),
8411 (genre_selection_reset_cb), (rb_iradio_source_do_query):
8412 Remove the cached 'all' query, since it doesn't really help and it
8413 makes the code more complicated. Attach the genre property view to
8414 the query model build from the search text, so only genres for
8415 stations matching the search terms are displayed. Preserve the genre
8416 selection across searches.
8418 * widgets/rb-library-browser.c:
8419 (rb_library_browser_class_init), (rb_library_browser_get_property):
8420 Add properties for the input and output models for the browser, and
8421 remove the 'changed' signal as we can just use notify::output-model.
8422 (ignore_selection_changes),
8423 (selection_restore_data_destroy), (query_complete_cb),
8424 (restore_selection): Helper functions for preserving selections across
8425 query model rebuilds.
8426 (rebuild_output_model): New function for creating a query model to
8427 use as the display model for a source using the browser.
8428 (rebuild_child_model): Add a call to rebuild_output_model, add missing
8429 g_object_unrefs, reuse the parent's query model when there's no
8430 selection, and use ignore_selection_changes and restore_selection.
8431 (rb_library_browser_set_selection): rebuild_child_model emits the
8432 changed signal, so no need to do it here.
8433 (rb_library_browser_set_model): Add missing g_object_unrefs, and use
8434 ignore_selection_changes and restore_selection.
8435 * widgets/rb-library-browser.h: Remove 'changed' signal, and add a
8436 flag to rb_library_browser_set_model indicating whether the query is
8439 * sources/rb-static-playlist-source.c:
8440 (rb_static_playlist_source_class_init),
8441 (rb_static_playlist_source_dispose):
8442 (rb_static_playlist_source_constructor): Add an extra reference on
8443 the base model, so it doesn't vanish when we set a new display model
8444 based on a search or browser selection.
8445 (impl_search): Ensure the search_text field in the source is NULL if
8446 the search box is empty.
8447 (construct_query_from_selection),
8448 (rb_static_playlist_source_do_query): Use the query model constructed
8449 from the search as the input model for the browser.
8450 (rb_static_playlist_source_browser_changed_cb): Use the browser's
8451 output model as the query model for the source.
8453 * sources/rb-auto-playlist-source.c:
8454 (rb_auto_playlist_source_finalize): Free more stuff.
8455 (rb_auto_playlist_source_constructor),
8456 (rb_auto_playlist_source_browser_changed_cb):
8457 Update for rb-library-browser changes, use the browser's output query
8458 model as the query model for the source.
8459 (impl_reset_filters), (impl_search),
8460 (rb_auto_playlist_source_do_query),
8461 (rb_auto_playlist_source_set_query):
8462 Use the query model constructed from the search text as the input to
8463 the library browser, and when adding text to an existing search, apply
8464 the new query to the existing query model.
8466 * sources/rb-library-source.c: (rb_library_source_dispose):
8467 (rb_library_source_finalize): Chain dispose up to the parent class.
8468 (rb_library_source_constructor): Update for rb-library-browser
8470 (impl_search): Ensure search_text is NULL if the search box is empty,
8471 and use the subset flag to _do_query if text has been appended to an
8473 (search_action_changed), (impl_reset_filters):
8474 (rb_library_source_browser_changed_cb),
8475 (rb_library_source_do_query): Use the browser's output model as the
8476 query model for the source.
8478 Rework library and playlist sources to use a single query chain,
8479 and to limit the entries shown in property views based on the search
8480 terms. Fixes bug #322787.
8482 2006-03-14 Jonathan Matthew <jonathan@kaolin.wh9.net>
8484 * configure.ac: Enable metadata helper by default, and fix a typo.
8486 2006-03-13 James Livingston <jrl@ids.org.au>
8488 Make RBRefStrings lazily create the folded and sort-key strings when
8489 they are first used. This will same some memory by not creating ones
8490 that are never used, and delaying some of the others to when the user
8491 resorts or performs a similar action. Fixes bug 332992.
8493 * rhythmdb/rb-refstring.c: (rb_refstring_free),
8494 (rb_refstring_system_init), (rb_refstring_new), (rb_refstring_ref),
8495 (rb_refstring_get), (rb_refstring_get_folded),
8496 (rb_refstring_get_sort_key), (rb_refstring_hash),
8497 (rb_refstring_equal):
8498 * rhythmdb/rb-refstring.h:
8499 * rhythmdb/rhythmdb.c: (rhythmdb_entry_sync_mirrored):
8501 2006-03-12 William Jon McCann <mccann@jhu.edu>
8503 * data/ui/rhythmbox-ui.xml:
8504 * lib/rb-stock-icons.c: (rb_stock_icons_init):
8505 * lib/rb-stock-icons.h:
8506 * shell/rb-shell-player.c:
8507 * shell/rb-shell.c: (rb_shell_constructor):
8508 * shell/rb-source-header.c: (force_no_shadow),
8509 (ui_manager_add_widget_cb), (rb_source_header_constructor),
8510 (rb_source_header_class_init), (rb_source_header_init),
8511 (merge_source_ui_cb), (toolbar_set_homogeneous),
8512 (rb_source_header_set_source_internal),
8513 (rb_source_header_set_property), (rb_source_header_get_property),
8514 (rb_source_header_set_source), (rb_source_header_new),
8515 (rb_source_header_filter_changed_cb):
8516 * shell/rb-source-header.h:
8517 * sources/rb-library-source.c: (rb_library_source_class_init),
8518 (rb_library_source_init), (search_action_to_prop),
8519 (search_action_changed), (rb_library_source_constructor),
8520 (impl_search), (impl_reset_filters), (impl_get_search_actions),
8521 (construct_query_from_selection):
8522 * sources/rb-podcast-source.c: (rb_podcast_source_class_init),
8523 (rb_podcast_source_init), (search_action_to_prop),
8524 (search_action_changed), (rb_podcast_source_constructor),
8525 (construct_query_from_selection), (impl_get_ui_actions),
8526 (impl_get_search_actions):
8527 * sources/rb-source.c: (rb_source_class_init),
8528 (rb_source_get_ui_actions), (default_get_search_actions),
8529 (rb_source_get_search_actions):
8530 * sources/rb-source.h:
8532 Add a search bar. Fixes #328618
8534 2006-03-12 James Livingston <jrl@ids.org.au>
8536 * rhythmdb/rhythmdb.c: (rhythmdb_commit_internal):
8537 * shell/main.c: (main): make --no-update not stat files checking for
8538 changes, instead of doing nothing. Fixes bug 125177.
8540 2006-03-12 James Livingston <jrl@ids.org.au>
8542 * podcast/rb-podcast-manager.c:
8543 (rb_podcast_manager_thread_parse_feed):
8544 * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed):
8545 * podcast/rb-podcast-parse.h: ask the user before rejecting a feed for
8546 having an invalid mime-type. Fixed bug 329813.
8548 2006-03-12 James Livingston <jrl@ids.org.au>
8550 Make ide tag-editing work on 0.10, if id3mux 0.10.2 is present.
8551 Finally lets us close bug 309609.
8553 * metadata/rb-metadata-gst.c: (id3_pad_added_cb),
8554 (rb_add_id3_tagger), (rb_metadata_init): make id3 tag editing work on
8557 * widgets/rb-song-info.c: (rb_song_info_sync_entries): fix the
8558 inverted logic of the editable check.
8560 2006-03-12 James Livingston <jrl@ids.org.au>
8562 Make API doc generation work again. Fixes bug 334276.
8564 * doc/reference/Makefile.am:
8565 * doc/reference/tmpl/rb-debug.sgml:
8566 * doc/reference/tmpl/rb-druid.sgml:
8567 * doc/reference/tmpl/rb-entry-view.sgml:
8568 * doc/reference/tmpl/rb-load-failure-dialog.sgml:
8569 * doc/reference/tmpl/rb-metadata.sgml:
8570 * doc/reference/tmpl/rb-shell.sgml:
8571 * doc/reference/tmpl/rhythmbox-unused.sgml:
8572 * doc/reference/tmpl/rhythmdb.sgml:
8574 2006-03-12 James Livingston <jrl@ids.org.au>
8576 * shell/rb-shell-clipboard.c:
8577 (rb_shell_clipboard_set_source_internal),
8578 (rb_shell_clipboard_sync): don't try to use the source's entry view if
8579 it doesn't have one. Fixes bug 331673.
8581 * sources/rb-source.c: (rb_source_class_init): provide a default
8582 have_url implementation that returns FALSE.
8584 2006-03-12 James Livingston <jrl@ids.org.au>
8586 * plugins/audioscrobbler/Makefile.am: don't delete as-powered.png when
8587 doing a distclean. Fixes bug 334221.
8590 Patch from Alex Lancaster <alexl@users.sourceforge.net>
8592 * data/glade/Makefile.am: add plugins.glade. Fixes bug 334201.
8594 2006-03-11 James Livingston <jrl@ids.org.au>
8596 * shell/rb-shell.c: (rb_shell_window_state_cb),
8597 (rb_shell_set_visibility), (rb_shell_window_configure_cb): don't
8598 update the window width/height when iconified. Stops the window
8599 changing size when it is restored from the tray, fixing bug 333824.
8601 2006-03-11 James Livingston <jrl@ids.org.au>
8603 Try to get cvs to actually add the necessary files for plugin support
8605 2006-03-11 James Livingston <jrl@ids.org.au>
8607 Add a plugin framework, with basic support for Python plugins (based
8608 on gedit's). Closes bug 330523.
8611 * shell/Makefile.am:
8612 * configure.ac: necessary autofoo.
8614 * data/ui/rhythmbox-ui.xml: add Edit->Plugins...
8616 * lib/rb-file-helpers.c: (rb_uri_get_dir_name):
8617 * lib/rb-file-helpers.h:
8619 * data/glade/plugins/glade:
8620 * lib/rb-preferences.h:
8622 * bindings/*: plugin framework
8625 * plugins/sample-python/*: sample plugins
8627 * plugins/audioscrobbler/*:
8628 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_class_init),
8629 (rb_audioscrobbler_set_property),
8630 (rb_audioscrobbler_gconf_changed_cb): turn audioscrobbler song
8631 submission into a plugin. shell/audioscrobbler.* should really be
8632 moved, but that sucks with cvs.
8635 * shell/rb-shell.c: (rb_shell_constructor),
8636 (rb_shell_cmd_preferences), (rb_shell_plugins_window_delete_cb),
8637 (rb_shell_plugins_response_cb), (rb_shell_cmd_plugins),
8638 (rb_shell_quit): start and stop plugin framework.
8640 2006-03-11 Jonathan Matthew <jonathan@kaolin.wh9.net>
8642 * rhythmdb/rhythmdb.c: (rhythmdb_commit_internal),
8643 (rhythmdb_entry_delete):
8644 Emit entry-deleted signals when rhythmdb_commit is called, rather than
8645 immediately, so we can't get change notifications afterwards.
8647 (rhythmdb_process_metadata_load): Add a commit after removing an
8648 entry so we can recreate it with a different type without getting
8651 2006-03-11 James Livingston <jrl@ids.org.au>
8653 * sources/rb-audiocd-source.c: (rb_audiocd_source_constructor): don't
8654 use the drive name for audio CDs, use "Unknown CD".
8656 2006-03-09 Jonathan Matthew <jonathan@kaolin.wh9.net>
8658 patch by: James Henstridge <james@jamesh.id.au>
8660 * sources/rb-removable-media-source.c:
8661 (rb_removable_media_source_constructor):
8662 Get the device name from the GnomeVFSDrive if possible,
8663 since this is usually a more descriptive name. Fixes #333080.
8665 2006-03-09 Jonathan Matthew <jonathan@kaolin.wh9.net>
8667 patch by: Alex Lancaster <alexl@users.sourceforge.net>
8669 * podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed):
8670 Don't automatically download episodes when configured for manual
8671 updating. Fixes #331564.
8673 2006-03-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
8675 * rhythmdb/rhythmdb-property-model.c:
8676 (rhythmdb_property_model_iter_from_string):
8677 Return an iterator for the 'all' property when name == NULL,
8678 and don't write to *iter if iter == NULL.
8680 2006-03-06 Jonathan Matthew <jonathan@kaolin.wh9.net>
8682 * shell/rb-shell-player.c: (rb_shell_player_do_next):
8683 When switching to the play queue, still call _go_next on the normal
8684 play order, so self-emptying auto playlists ("play count = 0" etc.)
8685 don't restart once the queue is empty.
8687 * shell/rb-tray-icon.c:
8688 Change shortcut for 'show notifications' to 'o' so it doesn't clash
8691 2006-03-05 James Livingston <jrl@ids.org.au>
8693 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_song_changed_cb):
8694 don't submit tracks which could not be played. Fixed bug 333013.
8696 * shell/rb-shell-player.c: (eos_cb): Don't update statistics for
8697 tracks which could not be played.
8699 2006-03-05 James Livingston <jrl@ids.org.au>
8701 Sync musicbrainz lookup code from Sound-Juicer cvs.
8703 * metadata/sj-metadata-musicbrainz.c:
8704 (sj_metadata_musicbrainz_instance_init), (metadata_interface_init),
8705 (get_offline_track_listing), (artist_and_title_from_title),
8706 (cache_rdf), (get_cached_rdf), (get_rdf), (lookup_cd),
8707 (mb_list_albums), (mb_get_submit_url):
8708 * metadata/sj-metadata.c: (sj_metadata_get_submit_url):
8709 * metadata/sj-metadata.h:
8710 * metadata/sj-structures.c: (track_details_free),
8711 (album_details_free):
8712 * metadata/sj-structures.h:
8714 2006-03-05 Jonathan Matthew <jonathan@kaolin.wh9.net>
8717 * lib/rb-debug.c: (rb_debug_real), (rb_debug_init),
8718 (rb_debug_init_match), (rb_profiler_new), (rb_profiler_dump),
8719 (rb_profiler_reset), (rb_profiler_free):
8720 Filter debug output by matching the file and function names against a
8723 * shell/main.c: (main):
8724 Add -D command line option to specify the debug match string.
8726 * shell/rb-removable-media-manager.c:
8727 (rb_removable_media_manager_mount_volume):
8728 Fix some typos in debug output.
8730 2006-03-03 James Livingston <jrl@ids.org.au>
8732 * shell/rb-playlist-manager.c: (rb_playlist_manager_parse_file):
8733 * shell/rb-shell.c: (rb_shell_load_uri):
8734 * sources/rb-generic-player-source.c: (visit_playlist_dirs):
8735 * sources/rb-iradio-source.c: (rb_iradio_source_add_from_playlist):
8736 use the new "recurse" property from totem-plparser, if present. Stop
8737 RB hanging for new users who don't have a 'net connection. From bug
8740 2006-03-02 Bastien Nocera <hadess@hadess.net>
8742 * shell/rb-removable-media-manager.c:
8743 (rb_removable_media_manager_mount_volume):
8744 * sources/Makefile.am:
8745 * sources/rb-nokia770-source.c: (rb_nokia770_is_volume_player):
8746 Fix missing files on make dist (conditional files), only build the
8747 N770 support if there's HAL support, as we have no other ways of
8750 2006-03-03 James Livingston <jrl@ids.org.au>
8752 * shell/rb-shell-clipboard.c:
8753 (rb_shell_clipboard_set_source_internal): really fix it this time.
8756 2006-03-03 James Livingston <jrl@ids.org.au>
8758 * shell/rb-shell-clipboard.c: (rb_shell_clipboard_sync): fix issue
8759 with the idle function not being removed.
8761 2006-03-02 James Livingston <jrl@ids.org.au>
8763 * widgets/rb-entry-view.c: (rb_entry_view_have_complete_selection):
8764 * widgets/rb-entry-view.h: add function for determining whether all
8765 entries are selected.
8767 * shell/rb-shell-clipboard.c: (rb_shell_clipboard_init),
8768 (rb_shell_clipboard_set_source_internal),
8769 (rb_shell_clipboard_finalize),
8770 (rb_shell_clipboard_idle_poll_deletions),
8771 (rb_shell_clipboard_entryview_changed_cb),
8772 (rb_shell_clipboard_entries_changed_cb): watch for entry additions and
8773 removals, to update things.
8775 (rb_shell_clipboard_sync): update the Select All and Select None
8776 sensitivity, based on what is selected. Fixed bug 172220.
8778 2006-03-02 James Livingston <jrl@ids.org.au>
8780 * widgets/rb-library-browser.c: (rebuild_child_model): save and
8781 restore the selections of later models. This means that selecting the
8782 artist for the selected album does not reset the album selection.
8784 2006-03-02 James Livingston <jrl@ids.org.au>
8786 * data/ui/rhythmbox-ui.xml: add the missing UI for generic players.
8787 Stops it emitting critical warnings.
8789 2006-03-02 James Livingston <jrl@ids.org.au>
8791 * lib/rb-file-helpers.c: (rb_uri_append_uri):
8792 * lib/rb-file-helpers.h: Add uri concatenation function for when the
8793 second fragment is already escaped.
8795 * sources/rb-generic-player-source.c:
8796 (rb_generic_player_source_class_init),
8797 (rb_generic_player_source_constructor), (impl_show_popup),
8798 (rb_generic_player_source_load_playlists),
8799 (rb_generic_player_source_transform_playlist_uri),
8800 (handle_playlist_entry_cb), (visit_playlist_dirs),
8801 (default_load_playlists), (default_transform_playlist_uri):
8802 * sources/rb-generic-player-source.h: scan for playlists (m3u, pls) on
8803 the device. Allow subclasses to override the playlist loading, and
8804 (playlist uri)->(actual uri) mapping. A lot of devices which have
8805 playlists won't work right now, but people will see them and hopefully
8808 * sources/rb-psp-source.c: (rb_psp_source_class_init),
8809 (rb_psp_source_create_playlists): Adapt the PSP for the above change
8811 * sources/Makefile.am:
8812 + sources/rb-nokia770-source.{c,h}:
8813 * shell/rb-removable-media-manager.c:
8814 (rb_removable_media_manager_mount_volume): Add support for reading
8815 playlists of Nokia 770s.
8817 2006-03-02 Jonathan Matthew <jonathan@kaolin.wh9.net>
8819 * data/glade/podcast-properties.glade:
8820 * podcast/rb-podcast-properties-dialog.c:
8821 (rb_podcast_properties_dialog_init),
8822 (rb_podcast_properties_dialog_update),
8823 (rb_podcast_properties_dialog_update_location),
8824 (rb_podcast_properties_dialog_update_download_location):
8825 Add 'download location' field showing the path to the downloaded copy.
8828 2006-03-01 Bastien Nocera <hadess@hadess.net>
8830 * configure.ac: simplify HAVE_HAL define
8832 2006-03-01 Bastien Nocera <hadess@hadess.net>
8835 * lib/rb-file-helpers.c: (rb_uri_append_path):
8836 * lib/rb-file-helpers.h:
8837 * shell/rb-removable-media-manager.c:
8838 (rb_removable_media_manager_mount_volume):
8839 * sources/Makefile.am:
8840 * sources/rb-ipod-source.c:
8841 * sources/rb-psp-source.*:
8842 Patch from James Livingston <jrl@ids.org.au> to add read-only Sony PSP
8843 support, additional HAL < 0.5 support by yours truly (Closes: #332337)
8845 2006-03-02 James Livingston <jrl@ids.org.au>
8847 * shell/rb-shell-player.c: (rb_shell_player_set_property),
8848 (rb_shell_player_play), (rb_shell_player_jump_to_current),
8849 (swap_playing_source), (rb_shell_player_playpause),
8850 (rb_shell_player_sync_buttons), (actually_set_playing_source),
8851 (rb_shell_player_set_playing_source_internal): check for the entry
8852 view being NULL before trying to use it. Lets us support sources which
8853 don't have an entry view. From bug 331673.
8855 2006-03-01 Bastien Nocera <hadess@hadess.net>
8857 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_load_queue):
8858 use gnome_vfs_read_entire_file with a URI, not a local filename
8860 2006-03-01 James Livingston <jrl@ids.org.au>
8862 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element): handle
8863 first-seen and last-seen when merging duplicate entries.
8865 2006-03-01 Jonathan Matthew <jonathan@kaolin.wh9.net>
8867 * widgets/rb-property-view.c: (rb_property_view_set_search_func):
8868 * widgets/rb-property-view.h: New function, allowing custom
8869 interactive search functions for property views.
8871 * sources/rb-podcast-source.c:
8872 (feed_select_change_cb): Only do a new query when the selection
8874 (rb_podcast_source_constructor),
8875 (rb_podcast_source_feed_title_search_func):
8876 Interactive search function for podcast feed titles. Fixes #327451.
8878 2006-03-01 James Livingston <jrl@ids.org.au>
8880 * rhythmdb/rhythmdb.c: (rhythmdb_execute_stat_info_cb): don't chaneg
8881 the uri in the callback, since it causes symbols to not be escaped.
8884 * data/ui/rhythmbox-ui.xml:
8885 * sources/rb-import-errors-source.c:
8886 (rb_import_errors_source_class_init),
8887 (rb_import_errors_source_constructor), (impl_get_status),
8888 (impl_move_to_trash),
8889 (rb_import_errors_source_songs_show_popup_cb): add move-to-trash for
8890 import errors source
8892 * widgets/rb-entry-view.c: (rb_entry_view_location_cell_data_func),
8893 (rb_entry_view_append_column): unescape the URI for display.
8895 2006-03-01 James Livingston <jrl@ids.org.au>
8897 * rhythmdb/rhythmdb.c: (rhythmdb_add_import_error_entry),
8898 (rhythmdb_process_metadata_load): fix crashers when the vfs get info
8901 2006-02-28 Dennis Cranston <dennis_cranston@yahoo.com>
8903 * shell/rb-shell-clipboard.c: Use lowercase "to" in "Move to Trash".
8904 * shell/rb-shell.c: Use "Play Queue" and "Side Pane" terminology.
8905 * sources/rb-play-queue-source.c:
8906 (rb_play_queue_source_constructor), (rb_play_queue_source_new),
8907 (rb_play_queue_source_update_count): Use "Play Queue" instead
8912 2006-03-01 James Livingston <jrl@ids.org.au>
8914 * data/rhythmbox.schemas: change "boolean" to "bool" in the schema.
8917 2006-03-01 James Livingston <jrl@ids.org.au>
8919 * daapsharing/rb-daap-mdns-browser-howl.c:
8920 (rb_daap_mdns_browser_class_init), (rb_daap_mdns_browser_finalize):
8921 * daapsharing/rb-daap-mdns-publisher-avahi.c:
8922 (rb_daap_mdns_publisher_class_init),
8923 (rb_daap_mdns_publisher_finalize):
8924 * lib/rb-thread.c: (rb_thread_class_init), (rb_thread_finalize):
8925 * player/rb-recorder-gst.c: (rb_recorder_class_init),
8926 (rb_recorder_finalize):
8927 * rhythmdb/rhythmdb-query-model.c:
8928 (rhythmdb_query_model_constructor):
8929 * sources/rb-audiocd-source.c: (rb_audiocd_source_constructor):
8930 * sources/rb-ipod-source.c: (rb_ipod_source_constructor):
8931 * sources/rb-playlist-source-recorder.c:
8932 (rb_playlist_source_recorder_style_set),
8933 (rb_playlist_source_recorder_class_init),
8934 (rb_playlist_source_recorder_finalize):
8935 * widgets/rb-query-creator.c: (rb_query_creator_constructor): fix the
8936 other classes in the same way, so they don't break when derived from.
8938 2006-03-01 James Livingston <jrl@ids.org.au>
8940 * sources/rb-generic-player-source.c:
8941 (rb_generic_player_source_constructor): don't get the parent class in
8942 a dumb way, and it breaks when the class is derived from.
8944 2006-02-28 Abel Cheung <maddog@linuxhall.org>
8946 * configure.ac: Added "zh_HK" to ALL_LINGUAS.
8948 2006-03-01 James Livingston <jrl@ids.org.au>
8950 * rhythmdb/gsequence.c: fix a typo in the last commit, that makes it
8951 not work in glib 2.8 systems.
8953 2006-03-01 James Livingston <jrl@ids.org.au>
8955 * lib/rb-file-helpers.c: (rb_uri_is_local): just check for the file://
8956 prefix instead of using gnome_vfs_uri_is_local, since the gnomevfs dev
8959 * podcast/rb-podcast-manager.c: (rb_podcast_manager_copy_post),
8960 (rb_podcast_manager_db_entry_deleted_cb): don't stop people putting
8961 podcasts on ion-local places
8963 * rhythmdb/gsequence.c: (g_sequence_node_new),
8964 (g_sequence_node_free): use gslice if we are building against glib
8967 * rhythmdb/rhythmdb.c: (rhythmdb_execute_stat): always async stats for
8968 local files too, so it doesn't block.
8970 2006-02-28 James Livingston <jrl@ids.org.au>
8972 * rhythmdb/rhythmdb.c: (rhythmdb_commit_internal): just check for the
8973 file:// prefix, instead of using gnome_vfs_uri_is_local, since that
8974 stats the file. Stops the UI blocking while stats are done.
8976 2006-02-28 James Livingston <jrl@ids.org.au>
8978 * sources/rb-static-playlist-source.c:
8979 (rb_static_playlist_source_class_init),
8980 (rb_static_playlist_source_constructor), (impl_reset_filters),
8981 (impl_get_property_views), (impl_browser_toggled),
8982 (rb_static_playlist_source_do_query),
8983 (rb_static_playlist_source_browser_changed_cb): add browsers to static
8984 playlists. From bug 118862.
8986 * sources/rb-play-queue-source.c:
8987 (rb_play_queue_source_class_init): disable them for the play queue.
8989 2006-02-27 Dennis Cranston <dennis_cranston@yahoo.com>
8991 * data/glade/library-prefs.glade: Add a mnemonic.
8992 * sources/rb-library-source.c:
8993 (rb_library_source_location_button_clicked_cb): Use title
8994 capitalization for window title.
8996 2006-02-28 James Livingston <jrl@ids.org.au>
8998 * sources/rb-auto-playlist-source.c:
8999 (construct_query_from_selection): don't create a subquery for only one
9000 criteria, as it's a silly effifiency degredation.
9002 2006-02-28 James Livingston <jrl@ids.org.au>
9004 * rhythmdb/rhythmdb.h:
9005 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_start_element),
9006 (save_entry), (rhythmdb_tree_save): add a new "Ignore" type, which is
9009 * rhythmdb/rhythmdb.c: (set_props_from_metadata),
9010 (rhythmdb_process_stat_event), (rhythmdb_add_import_error_entry),
9011 (rhythmdb_process_metadata_load), (rhythmdb_entry_song_get_type),
9012 (rhythmdb_entry_ignore_get_type): When loading a file, which is marked
9013 IGNORE (e.g. known video stream) create an entry of the Ignore type.
9014 This will make importing files quicker as we don't need to try files
9015 that we know are not going to be interesting - especially useful when
9016 using the library watching facility.
9020 2006-02-28 James Livingston <jrl@ids.org.au>
9022 * shell/rb-shell.c: (rb_shell_constructor),
9023 (rb_shell_set_visibility): fix browser and source-list pane
9024 positioning, that I broke with the "remember visibility" patch.
9026 2006-02-27 Jonathan Matthew <jonathan@kaolin.wh9.net>
9028 * metadata/rb-metadata-dbus-service.c: (main):
9029 Change argument handling so you can use --debug with the --load and
9030 --can-save test modes.
9031 * metadata/rb-metadata-dbus-client.c: (start_metadata_service):
9032 Use a separate GMainContext, not the default one. Probably fixes
9035 2006-02-27 James Livingston <jrl@ids.org.au>
9037 * shell/rb-shell.c: (rb_shell_constructor): focus the entry view when
9038 first starting up. Fixes bug 330342.
9040 2006-02-27 James Livingston <jrl@ids.org.au>
9042 * sources/rb-sourcelist-model.c:
9043 (rb_sourcelist_model_set_dnd_targets):
9044 * widgets/rb-entry-view.c: (rb_entry_view_constructor): only use the
9045 COPY action for draging sources and tracks, not MOVE as well. Stops
9046 Nautilus moving file away, and fixes bug 332488.
9048 2006-02-27 James Livingston <jrl@ids.org.au>
9050 patch by: Gunnar Steinn Magnusson <gsm@gunnarsteinn.com>
9052 * sources/rb-ipod-source.c: (load_ipod_db_idle_cb): read the Rating
9053 and Last Played metadata off iPods. Closes bug 324648.
9055 2006-02-26 Jonathan Matthew <jonathan@kaolin.wh9.net>
9057 * shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor):
9058 Disable audioscrobbler when run with the --no-registration flag, since
9059 last.fm doesn't allow multiple concurrent clients per user.
9061 2006-02-26 Jonathan Matthew <jonathan@kaolin.wh9.net>
9063 * sources/rb-sourcelist.c: (rb_sourcelist_init), (key_release_cb):
9064 Rename renamable sources when F2 is pressed when the sourcelist has
9065 focus. Fixes #330700.
9067 2006-02-26 Jonathan Matthew <jonathan@kaolin.wh9.net>
9069 * shell/rb-playlist-manager.c: (cleanup_edit_data),
9070 (edit_auto_playlist_response_cb), (edit_auto_playlist_deleted_cb),
9071 (rb_playlist_manager_cmd_edit_automatic_playlist):
9072 Fix various crashes when deleting auto playlists previously edited
9073 by disconnecting signal handlers when the query editor is closed or
9074 the playlist is deleted.
9076 2006-02-24 Jonathan Matthew <jonathan@kaolin.wh9.net>
9078 * metadata/rb-metadata-gst.c: Correct comment referring to the now
9079 removed load failure dialog, and actually use the friendly file type
9080 name in error messages.
9082 2006-02-24 James Livingston <jrl@ids.org.au>
9084 patch by: Baptiste Mille-Mathias <bmm80@free.fr>
9086 * sources/rb-library-source.c:
9087 (rb_library_source_location_button_clicked_cb),
9088 (rb_library_source_preferences_sync),
9089 (rb_library_source_library_location_cb): convert the library URI to
9090 for display, and back again. Fixes bug 332356.
9092 2006-02-23 James Livingston <jrl@ids.org.au>
9094 * rhythmdb/rhythmdb.c: (rhythmdb_process_stat_event),
9095 (rhythmdb_process_metadata_load), (monitor_subdirectory),
9096 (rhythmdb_sync_library_location): don't monitor files at all if
9097 watching is turned off. From bug 323096.
9099 2006-02-23 James Livingston <jrl@ids.org.au>
9101 * data/rhythmbox.schemas:
9102 * lib/rb-preferences.h:
9103 * shell/rb-shell.c: (rb_shell_constructor),
9104 (rb_shell_set_visibility): remember main window visibility between
9105 sessions. Fixes bug 127320.
9107 2006-02-23 James Livingston <jrl@ids.org.au>
9109 * data/glade/library-prefs.glade:
9110 * sources/rb-library-source.c: (impl_get_config_widget),
9111 (rb_library_source_location_button_clicked_cb),
9112 (rb_library_source_preferences_sync),
9113 (rb_library_source_library_location_cb),
9114 (rb_library_source_watch_toggled_cb): change the library-location
9115 widgets from the file-chooser drop menu to a text entry and Browse
9116 button. This is needed to prevent the location from chaning if the
9117 directory cannot be found. Fixes bug 328414.
9119 2006-02-23 James Livingston <jrl@ids.org.au>
9121 * sources/rb-podcast-source.c: add icon to the Cancel Download menu
9122 item. Fixes bug 329042.
9124 2006-02-23 James Livingston <jrl@ids.org.au>
9126 patch by: Alex Lancaster <alexl@users.sourceforge.net>
9128 * podcast/rb-podcast-parse.c: (rb_podcast_parse_date): deal with extra
9129 comma in some podcast feeds. Fixes bug 332194.
9131 2006-02-23 James Livingston <jrl@ids.org.au>
9133 * rhythmdb/rhythmdb.c: (rhythmdb_execute_stat): execute the stats at a
9136 * sources/rb-audiocd-source.c: (rb_audiocd_create_track_entry): change
9137 the internal audio cd URIs from "cdda://device:track" to
9138 "cdda://track#device" as it makes processing much easier.
9140 * shell/rb-shell-player.c: (rb_shell_player_open_location):
9141 * player/rb-player-gst.c: don't have the shell close the player
9142 between songs, as doing that should be backend-specific. Make the
9143 gstreamer backend close before starting a new track, unless the old
9144 and new ones are both tracks on the same audio cd. Just seek in that
9147 2006-02-23 Jonathan Matthew <jonathan@kaolin.wh9.net>
9149 * doc/reference/rhythmbox.types: Fix doc build a bit more.
9151 2006-02-23 Jonathan Matthew <jonathan@kaolin.wh9.net>
9153 * configure.ac: Enable more warnings in my stupid setup too.
9154 * shell/rb-shell.c: Fix compile errors from last commit. Fixes
9157 2006-02-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
9159 * sources/rb-missing-files-source.h,
9160 * sources/rb-missing-files-source.c,
9161 * sources/rb-import-errors-source.h,
9162 * sources/rb-import-errors-source.c:
9163 Add library meta-sources, showing missing files and import errors.
9164 Fixes #167763, #142322.
9166 * sources/rb-sourcelist-model.c: (rb_sourcelist_model_new):
9167 * sources/rb-sourcelist-model.h:
9168 * sources/rb-sourcelist.c: (rb_sourcelist_append),
9169 (match_source_to_iter), (rb_sourcelist_source_to_iter),
9170 (rb_sourcelist_visible_source_to_iter), (rb_sourcelist_remove),
9171 (visibility_notify_cb):
9172 Store source visibility in the sourcelist model, so we can determine
9173 child source counts correctly and get the sourcelist expander column
9176 * widgets/rb-entry-view.h:
9177 * widgets/rb-entry-view.c: (rb_entry_view_class_init),
9178 (rb_entry_view_append_column), (set_column_visibility):
9179 Allow the creator of the entry view to specify which columns are
9182 * sources/rb-source.h:
9183 * sources/rb-source.c: (_autohide_update_visibility),
9184 (_rb_autohide_source_row_deleted_cb),
9185 (_rb_autohide_source_row_inserted_cb),
9186 (_rb_source_hide_when_empty):
9187 Allow sources to automatically hide themselves when empty.
9189 * sources/rb-iradio-source.c: (rb_iradio_source_constructor):
9190 * sources/rb-library-source.c: (rb_library_source_constructor):
9191 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
9192 * sources/rb-podcast-source.c: (rb_podcast_source_constructor):
9193 Explicitly specify which columns are always visible.
9195 * shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor),
9196 (rb_shell_playing_entry_changed_cb), (add_to_library_response_cb):
9197 Remove load error signal handling and load failure dialog.
9198 Create missing files and import errors sources for the library.
9200 * rhythmdb/rhythmdb.c: (rhythmdb_class_init),
9201 (rhythmdb_add_import_error_entry), (rhythmdb_process_metadata_load):
9202 Create DB entries for import errors rather than emitting the 'load
9203 error' signal; mark loaded entries visible.
9204 (rhythmdb_entry_sync_mirrored), (rhythmdb_prop_get_type),
9205 (rhythmdb_entry_get_string), (rhythmdb_entry_set_visibility),
9206 (rhythmdb_prop_get_type): Store string form of last seen time for
9207 hidden entries, since it's used in the missing files source.
9208 (rhythmdb_entry_import_error_get_type):
9209 Add entry type for import errors.
9210 (rhythmdb_process_file_deleted), (rhythmdb_volume_mounted_cb),
9211 (rhythmdb_volume_unmounted_cb): Add missing rhythmdb_commit calls.
9212 (rhythmdb_entry_move_to_trash_set_error),
9213 (rhythmdb_entry_move_to_trash):
9214 Correct spelling, add missing rhythmdb_commit.
9215 * rhythmdb/rhythmdb.h:
9216 Add import error entry type and last seen string property.
9217 * rhythmdb/rhythmdb-private.h: Add string form of last seen time.
9218 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
9219 (save_entry): Ignore string form of 'last seen' property.
9221 * shell/rb-shell-player.c: (rb_shell_player_entry_activated_cb):
9222 Don't try to play hidden entries or import error entries.
9224 * data/ui/rhythmbox-ui.xml: Add popup for missing files source.
9225 * sources/Makefile.am: Add meta-source files
9226 * widgets/Makefile.am: Remove load failure dialog files
9228 2006-02-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
9230 update by: Baptiste Mille-Mathias <bmm80@free.fr>
9231 * help/C/rhythmbox.xml: add a 'getting started' section, and fix a
9232 few bits and pieces.
9234 2006-02-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
9236 * metadata/test-metadata.c: (load_metadata_cb):
9237 Fix compile warning for ignoring return value from getcwd, #332064.
9239 2006-02-21 James Livingston <jrl@ids.org.au>
9241 * shell/rb-playlist-manager.c: (edit_auto_playlist_response_cb),
9242 (edit_auto_playlist_deleted_cb),
9243 (rb_playlist_manager_cmd_edit_automatic_playlist): make the auto
9244 playlist editor non-modal. Fixes bug 320030.
9246 2006-02-21 James Livingston <jrl@ids.org.au>
9248 * shell/rb-shell.c: (rb_shell_constructor):
9249 * widgets/rb-header.c: (rb_header_init), (rb_header_set_urldata),
9250 (rb_header_set_show_artist_album):
9251 * widgets/rb-song-display-box.c: (rb_song_display_box_init),
9252 (rb_song_display_box_sync): make the queue sidebar and song display
9253 not get affected by gtk_widget_show_all. Fixes bug 332001.
9255 2006-02-21 James Livingston <jrl@ids.org.au>
9257 Patch by: Alex Lancaster <alexl@users.sourceforge.net>
9259 * podcast/rb-podcast-parse.c: (rb_podcast_parse_date): add support for
9260 feeds which use timezone names instead of offsets. Doesn't actually
9261 parse the timezone name since they are not standardised. Fixes bug
9264 2006-02-21 James Livingston <jrl@ids.org.au>
9266 * help/C/figures/rb-notification-area.png:
9267 * help/C/figures/rb-sidebar.png:
9268 * help/C/quick-reference.xml: remove obsolete files from CVS.
9270 * rhythmdb/rhythmdb-tree.c: (evaluate_conjunctive_subquery):
9271 * rhythmdb/rhythmdb.c: (rhythmdb_query_parse_valist),
9272 (rhythmdb_query_free), (rhythmdb_query_serialize),
9273 (rhythmdb_query_deserialize), (rhythmdb_query_get_type):
9274 * rhythmdb/rhythmdb.h: Add operators for string prefix and suffix.
9276 * widgets/rb-query-creator-properties.c: add prefix and suffix
9277 (escapedStringCriteriaGetWidgetData): use better escaping, so it
9278 doesn't escape the ':' separator in uris.
9280 2006-02-21 James Livingston <jrl@ids.org.au>
9282 * shell/rb-shell.c: (rb_shell_constructor): ensure the window is shown
9285 2006-02-21 James Livingston <jrl@ids.org.au>
9287 * NEWS: update with recent changes
9289 2006-02-21 James Livingston <jrl@ids.org.au>
9291 * shell/rb-shell.c: (rb_shell_constructor),
9292 (rb_shell_player_volume_changed_cb), (rb_shell_druid_response_cb):
9293 * widgets/rb-druid.c: (rb_druid_finalize), (rb_druid_init_widgets),
9294 (rb_druid_browse_clicked_cb), (do_response):
9295 * widgets/rb-druid.h: Make running the druid not block RBShell
9296 starting up. This is required so that bonobo registration doesn't time
9297 out. Fixed bug 318766.
9299 2006-02-21 James Livingston <jrl@ids.org.au>
9301 * rhythmdb/rhythmdb-property-model.c:
9302 (rhythmdb_property_model_entry_removed_cb): remove the entry from the
9303 hash table after using it, not before. Fixed bug 331922.
9305 2006-02-21 Jonathan Matthew <jonathan@kaolin.wh9.net>
9307 * shell/rb-shell.c: (rb_shell_playing_from_queue_cb),
9308 (rb_shell_view_queue_as_sidebar_changed_cb):
9309 When playing from the queue, only attempt to highlight the queue
9310 source in the source list if it's actually visible there. Otherwise,
9311 leave the preempted source highlighted. Mostly fixes #330819.
9313 2006-02-20 James Livingston <jrl@ids.org.au>
9315 * rhythmdb/rhythmdb-property-model.c:
9316 (rhythmdb_property_model_row_inserted_cb),
9317 (rhythmdb_property_model_prop_changed_cb),
9318 (rhythmdb_property_model_insert), (rhythmdb_property_model_delete):
9319 store the roperty value in the entry-mapping table, so that receiving
9320 the remove signal from a query model before we get notified of a
9321 change doesn't cause a crash. Fixes bug 331770.
9323 2006-02-20 James Livingston <jrl@ids.org.au>
9325 * data/ui/rhythmbox-ui.xml:
9326 * sources/rb-play-queue-source.c:
9327 (rb_play_queue_source_class_init),
9328 (rb_play_queue_source_cmd_clear), (impl_show_popup): don't display
9329 playlist things in the queue popup source. From 330490.
9331 * widgets/rb-song-info.c: (rb_song_info_sync_entries): fix mistake in
9334 2006-02-20 James Livingston <jrl@ids.org.au>
9336 * widgets/rb-song-info.c: (rb_song_info_response_cb),
9337 (rb_song_info_sync_entry_single), (rb_song_info_sync_entries): don't
9338 attempt to sync data for non-editable entries when using
9339 next/previous. Don't write our Year if it wasn't changed. Fixes bug
9342 2006-02-19 Luca Ferretti <elle.uca@libero.it>
9349 * help/Makefile.am: ported to gnome-doc-utils
9350 * help/rhythmbox.omf.in: added, needed by gnome-doc-utils
9351 * help/ChangeLog: added, for translators
9352 * help/C/rhytmbox-C.omf: removed, no longer used
9353 Know issue: figures are installed, but some are not showed; manual
9354 description added, but not showed in Yelp while browsing. I'll
9355 investigate, maybe are needed some little changes to
9356 help/C/rhythmbox.xml.
9358 2006-02-20 James Livingston <jrl@ids.org.au>
9360 * data/ui/rhythmbox-ui.xml:
9361 * help/C/figures/rb-adv.png:
9362 * help/C/figures/rb-asst-finish.png:
9363 * help/C/figures/rb-asst-library.png:
9364 * help/C/figures/rb-asst-start.png:
9365 * help/C/figures/rb-basic.png:
9366 * help/C/figures/rb-browser.png:
9367 * help/C/figures/rb-context-menu.png:
9368 * help/C/figures/rb-empty.png:
9369 * help/C/figures/rb-full-play.png:
9370 * help/C/figures/rb-group-auto.png:
9371 * help/C/figures/rb-group-create.png:
9372 * help/C/figures/rb-group.png:
9373 * help/C/figures/rb-imported.png:
9374 * help/C/figures/rb-iradio-add.png:
9375 * help/C/figures/rb-iradio.png:
9376 * help/C/figures/rb-nextprev.png:
9377 * help/C/figures/rb-nobrowse-play.png:
9378 * help/C/figures/rb-notification-area-menu.png:
9379 * help/C/figures/rb-player.png:
9380 * help/C/figures/rb-prefs-general.png:
9381 * help/C/figures/rb-prefs-ipod.png:
9382 * help/C/figures/rb-prefs-library.png:
9383 * help/C/figures/rb-prefs.png:
9384 * help/C/figures/rb-repeat.png:
9385 * help/C/figures/rb-search.png:
9386 * help/C/figures/rb-shuffle.png:
9387 * help/C/figures/rb-stats.png:
9388 * help/C/figures/rb-toolbar-editor.png:
9389 * help/C/figures/rb-volume-mute.png:
9390 * help/C/figures/rhythmbox-group.png:
9391 * help/C/figures/rhythmbox-tray-icon.png:
9392 * help/C/user-guide.xml: remove old stuff from cvs
9394 2006-02-19 Jonathan Matthew <jonathan@kaolin.wh9.net>
9396 * metadata/rb-metadata-dbus-client.c:
9397 * metadata/rb-metadata-dbus-service.c:
9398 * metadata/rb-metadata-dbus.c:
9399 * metadata/rb-metadata-dbus.h:
9400 New files, adding an external service for reading and writing
9401 metadata, and an implementation of the RBMetaData interface that uses
9402 dbus to communicate with it.
9404 * metadata/rb-metadata.h,
9405 * metadata/rb-metadata-common.c: (rb_metadata_get_field_type),
9406 (rb_metadata_get_field_name): Put metadata details in a static array
9407 instead of using a hash table, and add a field for language code (not
9409 * metadata/rb-metadata-gst.c: Updates for changes in
9410 rb-metadata-common.c, fix signal handler closure leak for the typefind
9411 element's have-type signal, and add XML to the list of types we ignore.
9412 * rhythmdb/rhythmdb.c: (extract_gtype_from_enum_entry):
9413 Update for changes to rb_metadata_get_field_type
9414 (rhythmdb_entry_allocate): Don't make songs hidden initially, as
9415 rhythmdb_commit_internal do that for non-local files. Saves us a stat
9418 * configure.ac: Add --enable-metadata-helper option (not enabled by
9419 default) to use the external metadata service
9420 * metadata/Makefile.am: Add new files
9421 * metadata/test-metadata.c: Test program for the metadata service
9425 2006-02-19 Jonathan Matthew <jonathan@kaolin.wh9.net>
9427 * shell/rb-shell.c: (rb_shell_cmd_add_file_to_library):
9428 * sources/rb-podcast-source.c: (impl_get_ui_actions),
9429 (rb_podcast_source_cmd_new_podcast):
9430 Move 'new podcast' action to the podcast source, and add it to the
9431 toolbar. Fixes #331562.
9433 2006-02-19 James Livingston <jrl@ids.org.au>
9435 * data/ui/rhythmbox-ui.xml: Move add-to-queue to the top of the context
9436 menus, and away from move-to-trash. Fixes bug 331013.
9438 2006-02-19 James Livingston <jrl@ids.org.au>
9440 * shell/rb-play-order.c: (default_playing_entry_removed): don't crash
9441 when deleting last entry. Fixes bug 331712.
9443 2006-02-18 Jonathan Matthew <jonathan@kaolin.wh9.net>
9445 * widgets/rb-entry-view.c: (rb_entry_view_class_init),
9446 (rb_entry_view_button_press_cb):
9447 * widgets/rb-entry-view.h: Emit show-popup when right clicked
9448 anywhere, and include a flag indicating whether the click was over an
9451 * sources/rb-playlist-source.c: (default_show_entry_view_popup),
9452 (rb_playlist_source_songs_show_popup_cb):
9453 * sources/rb-playlist-source.h:
9454 Add the 'over entry' flag to the class show popup method, and in the
9455 default handler, ignore right clicks when not over an entry.
9457 * sources/rb-iradio-source.c:
9458 (rb_iradio_source_songs_show_popup_cb):
9459 * sources/rb-library-source.c:
9460 (rb_library_source_songs_show_popup_cb):
9461 * sources/rb-podcast-source.c:
9462 (rb_podcast_source_songs_show_popup_cb):
9463 Show the source list popup menu when right clicked while not over an
9466 * sources/rb-play-queue-source.c: (impl_show_entry_view_popup):
9467 For the queue sidebar, always display the popup so the 'clear queue'
9468 action is available regardless of where you click. For the queue
9469 source, only display the popup when right clicked over an entry.
9472 2006-02-19 James Livingston <jrl@ids.org.au>
9474 * daapsharing/rb-daap-share.c: (add_playlist_to_mlcl):
9475 * shell/rb-shell.c: (rb_shell_select_source): don't get the source's
9476 entry view, when we're not even using it
9478 * rhythmdb/rhythmdb-property-model.c:
9479 (rhythmdb_property_model_row_inserted_cb): use the query-model utility
9480 function, rather than a copy of the code.
9482 * shell/rb-playlist-manager.c:
9483 (rb_playlist_manager_playlist_row_inserted_cb),
9484 (rb_playlist_manager_set_source_internal),
9485 (rb_playlist_manager_playlist_entries_changed): use the query-model
9486 directly, rather than the source's entry view.
9488 * shell/rb-source-header.c: don't use the entry view, just select the
9491 2006-02-18 James Livingston <jrl@ids.org.au>
9493 update by: Baptiste Mille-Mathias <bmm80@free.fr>
9495 * help/C/figures/rb-iradio-main.png:
9496 * help/C/figures/rb-notification-area-menu.png:
9497 * help/C/figures/rb-notification-window.png:
9498 * help/C/figures/rb-notification-zone.png:
9499 * help/C/figures/rb-podcast-main.png:
9500 * help/C/figures/rb-statusbar.png:
9501 * help/C/figures/rb-toolbar-prevplaynext.png:
9502 * help/C/figures/rb-toolbar-repeat.png:
9503 * help/C/figures/rb-toolbar-shuffle.png:
9504 * help/C/figures/rb-toolbar.png:
9505 * help/C/figures/rb-volume-changer.png:
9506 * help/C/figures/rb-window-small.png:
9507 * help/C/figures/rb-window.png:
9508 * help/C/rhythmbox.xml: Update user guide with some of the changes
9509 that have occurred after 0.8.8. From bug 314001.
9511 2006-02-18 Jonathan Matthew <jonathan@kaolin.wh9.net>
9513 * rhythmdb/rhythmdb-query-results.h,
9514 rhythmdb/rhythmdb-query-results.c:
9515 New interface for objects that accept query results from RhythmDB.
9517 * rhythmdb/rhythmdb-query-model.c:
9518 (rhythmdb_query_model_query_results_init),
9519 (rhythmdb_query_model_set_query),
9520 (rhythmdb_query_model_add_results),
9521 (rhythmdb_query_model_query_complete):
9522 * rhythmdb/rhythmdb-query-model.h:
9523 Make RhythmDBQueryModel implement the RhythmDBQueryResults interface.
9525 * rhythmdb/rhythmdb-tree.c: (handle_entry_match),
9526 (rhythmdb_tree_do_full_query):
9527 * rhythmdb/rhythmdb.c: (rhythmdb_event_free),
9528 (rhythmdb_query_internal), (rhythmdb_do_full_query_async_parsed),
9529 (rhythmdb_do_full_query_async), (rhythmdb_do_full_query_internal),
9530 (rhythmdb_do_full_query_parsed), (rhythmdb_do_full_query):
9531 * rhythmdb/rhythmdb.h:
9532 Pass query results through the RhythmDBQueryResults interface, rather
9533 than directly to a RhythmDBQueryModel.
9535 * podcast/rb-podcast-manager.c: (rb_podcast_manager_update_feeds),
9536 (rb_podcast_manager_db_entry_deleted_cb):
9537 * sources/rb-auto-playlist-source.c:
9538 (rb_auto_playlist_source_do_query),
9539 (rb_auto_playlist_source_set_query):
9540 * sources/rb-iradio-source.c: (rb_iradio_source_do_query):
9541 * sources/rb-library-source.c: (rb_library_source_constructor),
9542 (rb_library_source_do_query):
9543 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
9544 (rb_podcast_source_do_query):
9545 * rhythmdb/rhythmdb-property-model.c:
9546 (rhythmdb_property_model_drag_data_get):
9547 Cast the query model to RhythmDBQueryResults when passing to one of
9548 the RhythmDB query methods.
9550 * rhythmdb/Makefile.am: Add new files.
9552 2006-02-18 James Livingston <jrl@ids.org.au>
9554 * data/ui/rhythmbox-ui.xml:
9555 * shell/rb-playlist-manager.c:
9556 (_queue_track_cb), (rb_playlist_manager_cmd_queue_playlist): Add
9557 "queue playlist" item to source context menu. Fixes bug 330490.
9559 2006-02-18 James Livingston <jrl@ids.org.au>
9561 * data/glade/general-prefs.glade:
9562 * shell/rb-shell-preferences.c:
9563 (rb_shell_preferences_column_check_changed_cb),
9564 (rb_shell_preferences_sync):
9565 * sources/rb-library-source.c: (rb_library_source_constructor):
9566 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
9567 * widgets/rb-entry-view.c: (rb_entry_view_quality_cell_data_func),
9568 (rb_entry_view_append_column): Add a "quality" colume which indicates
9569 the bitrate of media. Part of bug 167659.
9571 2006-02-18 James Livingston <jrl@ids.org.au>
9573 * shell/rb-play-order.c: (do_next_idle_cb),
9574 (default_playing_entry_removed): move to next track when playing entry
9575 is deleted. Fixes bug 131150.
9577 * shell/rb-shell-player.h: remove ancient stuff
9579 2006-02-17 William Jon McCann <mccann@jhu.edu>
9581 * shell/rb-shell-clipboard.c (rb_shell_clipboard_set_source_internal)
9582 (rb_shell_clipboard_set_property):
9583 * shell/rb-shell.c (rb_shell_sync_party_mode):
9584 Trigger a resync of the clipboard properties when changing party mode.
9586 2006-02-17 William Jon McCann <mccann@jhu.edu>
9588 * sources/rb-static-playlist-source.c: Fix includes.
9590 * sources/rb-source.c (rb_source_can_rename)
9591 (rb_source_can_delete, rb_source_can_move_to_trash):
9592 Return FALSE if in party mode.
9594 * shell/rb-shell.[ch] (rb_shell_finalize, rb_shell_constructor):
9595 Replace fullscreen with party mode.
9596 (rb_shell_window_delete_cb): Don't quit if in party mode.
9597 (rb_shell_view_party_mode_changed_cb): Setup party mode.
9598 (window_state_event_cb): Try to deiconify shell when iconified
9600 (rb_shell_sync_party_mode): Sync party mode properties.
9601 Currently, that means [de]sensitizing close, quit, and small-display,
9602 going into fullscreen mode with window stuck and kept above, and
9603 toggling queue-only for the shell player.
9604 (rb_shell_sync_smalldisplay): Sensitive party mode.
9605 (rb_shell_get_party_mode): Get party mode setting.
9607 * shell/rb-shell-player.c (rb_shell_player_class_init)
9608 (rb_shell_player_set_property, rb_shell_player_get_property):
9609 Add queue-only property.
9610 (rb_shell_player_entry_activated_cb): If in party mode
9611 only queue the entry on activation.
9613 * shell/rb-playlist-manager.c (rb_playlist_manager_set_source_internal):
9614 Break out from set_properties. Desensitize some actions when
9616 (rb_playlist_manager_set_property): Break out set_source_internal.
9618 * data/rhythmbox.schemas: Remove fullscreen mode.
9620 * data/ui/rhythmbox-ui.xml: Replace fullscreen
9621 action with party mode.
9623 Partial fix for #323933
9625 2006-02-17 James Livingston <jrl@ids.org.au>
9628 * shell/rb-removable-media-manager.c:
9629 (get_nautilus_burn_drive_for_path),
9630 (rb_removable_media_manager_playing_uri_changed_cb): only use
9631 nautilus_burn_drive_new_by_path when it exists, fall back to iterating
9632 over the list when it doesn't.
9634 2006-02-17 James Livingston <jrl@ids.org.au>
9636 * sources/rb-iradio-source.c: (rb_iradio_source_constructor),
9637 (rb_iradio_source_first_time_changed): Only do the import on the
9638 first change from FALSE to TRUE.
9640 * sources/rb-library-source.c:
9641 (rb_library_source_preferences_sync),
9642 (rb_library_source_library_location_cb): set the first-run done flag
9643 if the user presses close and then sets their watches library
9644 location. Fixes bug 325997.
9646 2006-02-17 James Livingston <jrl@ids.org.au>
9648 * shell/rb-shell.c: (rb_shell_class_init): make the shell player and
9649 removable media manager gobject properties
9651 * shell/rb-removable-media-manager.c: (begin_cd_drive_monitor),
9652 (split_drive_from_cdda_uri),
9653 (rb_removable_media_manager_playing_uri_changed_cb),
9654 (rb_removable_media_manager_load_media): stop polling a cd drive
9655 when we are playing from it. Part of bug 330716.
9657 2006-02-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
9659 * rhythmdb/rhythmdb-query-model.c:
9660 (rhythmdb_query_model_set_property),
9661 (rhythmdb_query_model_finalize),
9662 (rhythmdb_query_model_base_entry_removed):
9663 Propagate entry removal from base models out to attached property
9664 models. Fixes the rest of #331165.
9666 2006-02-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
9668 * rhythmdb/rhythmdb-property-model.c:
9669 (rhythmdb_property_model_row_inserted_cb),
9670 (rhythmdb_property_model_prop_changed_cb),
9671 (rhythmdb_property_model_insert):
9672 Don't store NULL as a hash table value if we want to use
9673 g_hash_table_lookup to check if a key exists, and get the checks for
9674 how and whether to handle entry changes the right way around.
9675 Fixes #331211 and half of #331165.
9677 2006-02-16 James Livingston <jrl@ids.org.au>
9679 * sources/rb-audiocd-source.c: (rb_audiocd_source_constructor): read
9680 the audio cd's TOC in a separate thread, so it doesn't block the UI.
9683 2006-02-16 James Livingston <jrl@ids.org.au>
9685 * widgets/rb-library-browser.c: (reset_view_cb): make View All
9686 actually reset the browsers.
9688 2006-02-16 Jonathan Matthew <jonathan@kaolin.wh9.net>
9690 * widgets/eggtrayicon.c: (egg_tray_icon_notify):
9691 Escape the strings we pass into libnotify so we don't get blank
9692 notifications when the song name contains '&' etc. Fixes #330784.
9694 2006-02-16 James Livingston <jrl@ids.org.au>
9696 * shell/rb-source-header.c: (rb_source_header_sync_control_state):
9697 enable "View All" when there is only a search box and no browser.
9700 2006-02-16 Jonathan Matthew <jonathan@kaolin.wh9.net>
9702 * data/ui/rhythmbox-ui.xml: Add 'clear queue' to the sidebar queue
9703 popup menu, which I forgot to commit with the patch for bug #330014.
9705 2006-02-16 Jonathan Matthew <jonathan@kaolin.wh9.net>
9707 * shell/rb-shell-player.c: (open_location_thread):
9708 Sync button and entry view state once we've started the player, so the
9709 entry view gets into the playing state for iradio.
9711 2006-02-15 Jonathan Matthew <jonathan@kaolin.wh9.net>
9713 * shell/rb-shell-player.c: (open_location_thread):
9714 Take GDK lock before doing anything UI-related.
9716 2006-02-15 Jonathan Matthew <jonathan@kaolin.wh9.net>
9718 * shell/rb-shell.c: Move 'new iradio station' action to
9721 * sources/rb-iradio-source.c: (rb_iradio_source_class_init),
9722 (rb_iradio_source_init), (rb_iradio_source_finalize),
9723 (rb_iradio_source_constructor):
9724 Remove some unused stuff.
9726 (guess_uri_scheme), (rb_iradio_source_add_station),
9727 (rb_iradio_source_add_from_playlist),
9728 (impl_get_ui_actions), (new_station_location_added),
9729 (rb_iradio_source_cmd_new_station): Handle 'new iradio station'
9730 action, include it in the toolbar, and make sure the URI we add has a
9731 scheme. Fixes #327059, more or less.
9733 2006-02-15 Jonathan Matthew <jonathan@kaolin.wh9.net>
9735 * sources/rb-play-queue-source.c:
9736 (rb_play_queue_source_class_init),
9737 (rb_play_queue_source_constructor),
9738 (rb_play_queue_source_update_count),
9739 (rb_play_queue_source_cmd_clear), (impl_get_ui_actions):
9740 Add a toolbar button to clear the play queue, and make it sensitive
9741 only when there are entries in the queue. Fixes #330014.
9743 * sources/rb-source.c: (_rb_source_register_action_group):
9744 * sources/rb-source.h: Add helper function to register an
9745 action group for a source.
9747 * sources/rb-library-source.c: (rb_library_source_constructor):
9748 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
9749 (register_action_group): Use _rb_source_register_action_group.
9751 2006-02-15 James Livingston <jrl@ids.org.au>
9753 * widgets/rb-song-info.c: (rb_song_info_add_completion),
9754 (rb_song_info_constructor), (rb_song_info_set_property): make
9755 tag-editing completion work for albums too.
9757 2006-02-15 Jonathan Matthew <jonathan@kaolin.wh9.net>
9759 * widgets/rb-query-creator.c: (rb_query_creator_load_query):
9760 Check the 'limit' checkbox for time-limited playlists.
9762 2006-02-14 Sven Herzberg <herzi@gnome-de.org>
9764 * widgets/rb-song-info.c: Prove text-completion when editing title,
9767 2006-02-14 James Livingston <jrl@ids.org.au>
9769 * data/ui/rhythmbox-ui.xml: add a separator above the Quit item of the
9770 tray icon popup menu. Fixes bug 331026.
9772 2006-02-14 James Livingston <jrl@ids.org.au>
9774 * data/iradio-initial.pls: update the Virgin Radio stations to use the
9775 Ogg Vorbis streams, instead of the MP3 ones.
9777 2006-02-14 James Livingston <jrl@ids.org.au>
9779 * rhythmdb/rhythmdb-property-model.c:
9780 (rhythmdb_property_model_class_init),
9781 (rhythmdb_property_model_drag_data_get):
9782 * rhythmdb/rhythmdb-query-model.c:
9783 (rhythmdb_query_model_title_sort_func):
9784 * rhythmdb/rhythmdb-query-model.h: fix drag-and-drop when using the
9785 LOCATION as the key. Fixes bug 330601.
9787 2006-02-13 Jonathan Matthew <jonathan@kaolin.wh9.net>
9789 * sources/rb-playlist-source.c: (playlist_iter_func):
9790 Make it compile with older versions of totem-plparser too.
9792 2006-02-13 James Livingston <jrl@ids.org.au>
9794 * rhythmdb/rhythmdb.h:
9795 * rhythmdb/rhythmdb-private.h: Make definition of RhythmDBEntry
9796 structure private, since things should use the accessor functions
9797 rather than manipulating it directly - Only RhythmDB and the
9798 implementation classes should access it directly. Part of the RhythmDB
9799 cleanup of bug 330226.
9801 * iradio/rb-station-properties-dialog.c:
9802 (rb_station_properties_dialog_update_title),
9803 (rb_station_properties_dialog_update_title_entry),
9804 (rb_station_properties_dialog_update_genre),
9805 (rb_station_properties_dialog_update_location),
9806 (rb_station_properties_dialog_update_play_count),
9807 (rb_station_properties_dialog_update_bitrate),
9808 (rb_station_properties_dialog_update_last_played),
9809 (rb_station_properties_dialog_update_rating),
9810 (rb_station_properties_dialog_update_playback_error),
9811 (rb_station_properties_dialog_sync_entries):
9812 * podcast/rb-feed-podcast-properties-dialog.c:
9813 (rb_feed_podcast_properties_dialog_update_title),
9814 (rb_feed_podcast_properties_dialog_update_title_label),
9815 (rb_feed_podcast_properties_dialog_update_author),
9816 (rb_feed_podcast_properties_dialog_update_location),
9817 (rb_feed_podcast_properties_dialog_update_copyright),
9818 (rb_feed_podcast_properties_dialog_update_language),
9819 (rb_feed_podcast_properties_dialog_update_summary):
9820 * podcast/rb-podcast-manager.c:
9821 (rb_podcast_manager_entry_downloaded),
9822 (rb_podcast_manager_db_entry_added_cb),
9823 (download_progress_update_cb),
9824 (rb_podcast_manager_db_entry_deleted_cb):
9825 * podcast/rb-podcast-properties-dialog.c:
9826 (rb_podcast_properties_dialog_update_title),
9827 (rb_podcast_properties_dialog_update_title_label),
9828 (rb_podcast_properties_dialog_update_feed),
9829 (rb_podcast_properties_dialog_update_location),
9830 (rb_podcast_properties_dialog_update_play_count),
9831 (rb_podcast_properties_dialog_update_bitrate),
9832 (rb_podcast_properties_dialog_update_last_played),
9833 (rb_podcast_properties_dialog_update_rating),
9834 (rb_podcast_properties_dialog_update_date),
9835 (rb_podcast_properties_dialog_update_description):
9836 * rhythmdb/rhythmdb-query-model.c:
9837 (rhythmdb_query_model_entry_changed_cb),
9838 (rhythmdb_query_model_remove_from_main_list),
9839 (rhythmdb_query_model_update_limited_entries),
9840 (rhythmdb_query_model_drag_data_get),
9841 (rhythmdb_query_model_album_sort_func):
9842 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
9844 * rhythmdb/rhythmdb.c: (rhythmdb_entry_set_internal),
9845 (rhythmdb_prop_get_type), (rhythmdb_entry_dup_string),
9846 (rhythmdb_entry_get_string), (rhythmdb_entry_get_boolean),
9847 (rhythmdb_entry_get_uint64), (rhythmdb_entry_get_ulong),
9848 (rhythmdb_entry_get_double):
9849 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_song_changed_cb):
9850 * shell/rb-play-order-random-by-age-and-rating.c:
9851 (rb_random_by_age_and_rating_get_entry_weight):
9852 * shell/rb-play-order-random-by-age.c:
9853 (rb_random_by_age_get_entry_weight):
9854 * shell/rb-play-order-random-by-rating.c:
9855 (rb_random_by_rating_get_entry_weight):
9856 * shell/rb-playlist-manager.c: (create_name_from_selection_data):
9857 * shell/rb-shell-player.c: (rb_shell_player_open_entry),
9858 (rb_shell_player_set_playing_entry),
9859 (rb_shell_player_sync_replaygain),
9860 (rb_shell_player_sync_with_source),
9861 (rb_shell_player_get_playing_song_duration), (info_available_cb):
9862 * sources/rb-playlist-source.c: (playlist_iter_func),
9863 (burn_playlist_iter_func), (rb_playlist_source_row_deleted),
9864 (rb_playlist_source_entry_added_cb):
9865 * sources/rb-podcast-source.c:
9866 (rb_podcast_source_post_status_cell_data_func):
9867 * sources/rb-source.c: (rb_source_update_play_statistics):
9868 * sources/rb-sourcelist-model.c:
9869 (rb_sourcelist_model_drag_data_get):
9870 * sources/rb-static-playlist-source.c: (impl_save_contents_to_xml),
9871 (rb_static_playlist_source_add_entry),
9872 (rb_static_playlist_source_remove_entry):
9873 * widgets/rb-entry-view.c: (type_ahead_search_func),
9874 (rb_entry_view_playing_cell_data_func),
9875 (rb_entry_view_rating_cell_data_func),
9876 (rb_entry_view_pixbuf_clicked_cb):
9877 * widgets/rb-header.c: (rb_header_get_duration):
9878 * widgets/rb-song-info.c: (rb_song_info_populate_dialog_multiple),
9879 (rb_song_info_populate_dialog),
9880 (rb_song_info_update_playback_error),
9881 (rb_song_info_update_bitrate), (rb_song_info_update_duration),
9882 (rb_song_info_update_location), (rb_song_info_update_play_count),
9883 (rb_song_info_update_last_played), (rb_song_info_update_rating),
9884 (rb_song_info_update_year), (rb_song_info_sync_entries_multiple),
9885 (rb_song_info_sync_entry_single): fix the huge number of times that
9886 the internals got accessed directly.
9888 2006-02-13 Jonathan Matthew <jonathan@kaolin.wh9.net>
9890 * data/ui/rhythmbox-ui.xml: Move separator so 'remove' and 'move to
9891 trash' are grouped together.
9892 * shell/main.c: (main): Pass no-registration flag in to RBShell
9893 constructor, rather than mysteriously always passing TRUE.
9894 * sources/rb-playlist-source.c: (rb_playlist_source_row_deleted):
9895 Set dirty flag when entries are removed from the model, so the play
9896 queue is marked dirty appropriately.
9897 * AUTHORS: update my email address
9899 2006-02-13 Jonathan Matthew <jonathan@kaolin.wh9.net>
9901 Patch by: Baptiste Mille-Mathias <bmm80@free.fr>
9903 * widgets/rb-druid.c: (path_dialog_response_cb):
9904 If the URI is local, don't display the 'file://' prefix.
9907 2006-02-12 Jonathan Matthew <jonathan@kaolin.wh9.net>
9909 * widgets/eggtrayicon.c: (egg_tray_icon_notify):
9910 Attach the notification to the tray icon widget, so libnotify
9911 positions it less badly. Fixes #330876.
9913 2006-02-11 Jonathan Matthew <jonathan@kaolin.wh9.net>
9915 * widgets/rb-entry-view.c: (rb_entry_view_get_selected_entries):
9916 Reverse the selection list before returning it, so we get it in the
9917 right order. Fixes #330283 and some other weirdness.
9919 2006-02-11 James Livingston <jrl@ids.org.au>
9921 * shell/rb-shell.c: (rb_shell_constructor),
9922 (rb_shell_sync_fullscreen), (rb_shell_sync_smalldisplay):
9923 * shell/rb-source-header.c: (rb_source_header_sync_control_state):
9924 make small-mode and fullscreen mutually exclusive, since they don't
9927 * data/ui/rhythmbox-ui.xml: move Fullscreen up to the top with Small
9930 2006-02-10 James Livingston <jrl@ids.org.au>
9932 * player/rb-player-gst.c: turn paranoia of when playing audio cds,
9933 since it can cause it to be slower than real-time. Should fix bug
9936 2006-02-10 Jonathan Matthew <jonathan@kaolin.wh9.net>
9938 * rhythmdb/rhythmdb-query-model.c:
9939 (rhythmdb_query_model_set_property):
9940 Think just a little bit harder about that last commit.
9942 2006-02-10 Jonathan Matthew <jonathan@kaolin.wh9.net>
9944 * rhythmdb/rhythmdb-query-model.c:
9945 (rhythmdb_query_model_set_property):
9946 Get the check for hidden entries the right way around.
9947 Fixes #330527, #330514.
9949 (rhythmdb_query_model_set_sort_order):
9950 Ignore no-op sort order changes, so we don't get critical
9951 messages when selecting 'all' in auto playlist browsers.
9953 2006-02-10 Jonathan Matthew <jonathan@kaolin.wh9.net>
9955 Patch by: Christophe Fergeau <teuf@gnome.org>
9957 * sources/rb-removable-media-source.c:
9958 (rb_removable_media_source_init),
9959 (rb_removable_media_source_constructor):
9960 Move icon setup code to the constructor, as the volume property
9961 haven't been set yet when _init is called.
9963 2006-02-09 William Jon McCann <mccann@jhu.edu>
9965 * sources/rb-sourcelist.c (rb_sourcelist_append, icon_notify_cb):
9966 Make the source pixbuf a dynamic property.
9968 * sources/rb-source.[ch] (rb_source_class_init, rb_source_finalize)
9969 (rb_source_set_pixbuf, rb_source_set_property)
9970 (rb_source_get_property): Add icon property.
9972 * sources/rb-auto-playlist-source.c (rb_auto_playlist_source_class_init)
9973 (rb_auto_playlist_source_init):
9974 * sources/rb-static-playlist-source.c (rb_static_playlist_source_class_init)
9975 (rb_static_playlist_source_init):
9976 * sources/rb-removable-media-source.c (rb_removable_media_source_class_init)
9977 (rb_removable_media_source_init):
9978 * sources/rb-podcast-source.c (rb_podcast_source_class_init)
9979 (rb_podcast_source_init):
9980 * sources/rb-library-source.c (rb_library_source_class_init)
9981 (rb_library_source_set_property, rb_library_source_get_property):
9982 * sources/rb-iradio-source.c (rb_iradio_source_class_init)
9983 (rb_iradio_source_init): Remove impl_get_pixbuf and
9984 set icon property on source base class.
9986 * sources/rb-daap-source.c (rb_daap_get_icon): Get
9987 a different icon for when the share is password protected
9989 (rb_daap_source_new): Set icon property.
9990 (composite_icons): Composite an emblem on a pixbuf.
9991 (create_pixbufs): Load global pixbufs.
9992 (destroy_pixbufs): unref global pixbufs.
9993 (rb_daap_sources_init, rb_daap_sources_shutdown): Pixbuf setup.
9994 (connection_auth_cb, connection_connected_cb)
9995 (connection_disconnected_cb): Update icon when connection
9997 (rb_daap_source_activate): Connect signals.
9999 * daapsharing/rb-daap-share.c (name_collision_cb): Run
10000 dialog with parent.
10002 * daapsharing/rb-daap-marshal.list: Add new signal.
10004 * daapsharing/rb-daap-dialog.[ch] (rb_daap_password_dialog_new_run)
10005 (rb_daap_collision_dialog_new_run): Set parent of dialog.
10007 * daapsharing/rb-daap-connection.[ch] (rb_daap_connection_class_init):
10008 Add authenticate, connected, and disconnected signals.
10009 (connection_get_password): emit authenticate signal instead
10010 of running dialog directly.
10011 (connection_connected, connection_disconnected): Emit signals.
10012 (handle_login): Emit connected signal.
10013 (handle_logout): Emit disconnected signal.
10014 (rb_daap_connection_do_something): Fix leak.
10018 2006-02-09 James Livingston <jrl@ids.org.au>
10020 * (rhythmdb_query_model_set_property): don't try to insert HIDDEN
10021 entries from the base model if we don't have show-hidden set. Fixes
10024 2006-02-08 William Jon McCann <mccann@jhu.edu>
10026 * daapsharing/rb-daap-share.c (message_get_session_id):
10027 Ugh. Use strtoul instead of atoi.
10028 (session_id_validate): Add debug statements.
10030 2006-02-08 William Jon McCann <mccann@jhu.edu>
10032 * daapsharing/rb-daap-connection.c (http_response_handler):
10033 Report the actual uri from the message in debug statements.
10035 2006-02-08 William Jon McCann <mccann@jhu.edu>
10037 * daapsharing/rb-daap-share.c (server_info_cb, content_codes_cb):
10038 Add context argument.
10039 (message_get_session_id): New function to parse session id from
10041 (message_get_revision_number): Break out function to parse
10042 revision number from the message.
10043 (session_id_validate): New function to validate given session id
10044 is valid for given context (ie. client address).
10045 (session_id_generate): Generate a random session id.
10046 (session_id_create): Create a unique session id and store it.
10047 (session_id_remove): Remove a session id from the store.
10048 (login_cb): Create a session id instead of using a constant one.
10049 (logout_cb): Validate session id.
10050 (update_cb): Use new message_get_revision_number function.
10051 (databases_cb): Validate session id.
10052 (server_cb): Add server context to argument list for callbacks. It
10053 is needed to look up the remote host.
10054 (db_entry_changed_cb): Use braces.
10055 (soup_auth_callback): Remove FIXME.
10056 (rb_daap_share_server_start): Create session id store.
10057 (rb_daap_share_server_stop): Destroy session id store.
10059 * daapsharing/rb-daap-dialog.c (rb_daap_password_dialog_new_run):
10060 Don't base64-encode password here since it needs to be
10061 combined with the username first.
10063 * daapsharing/rb-daap-connection.c (build_message):
10064 Add username to Authorization token.
10065 (handle_login, handle_song_listing)
10066 (rb_daap_connection_do_something): Session id
10067 must be an unsigned int.
10071 2006-02-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
10073 * shell/rb-shell-player.c: (rb_shell_player_get_playing):
10074 Don't check if we've got a playing entry, ask the player object (duh).
10075 Might actually fix #329993.
10077 2006-02-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
10079 * sources/rb-static-playlist-source.c:
10080 (rb_static_playlist_source_add_list_uri):
10081 Canonicalise URIs before trying to add them to the playlist, and
10082 don't try to add files to the database for which there is
10085 2006-02-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
10087 * shell/rb-shell-player.c: (rb_shell_player_get_playing):
10088 Don't ask the entry view if we're playing, just check if we've got a
10089 playing entry. Fixes #329993.
10091 2006-02-08 James Livingston <jrl@ids.org.au>
10093 * rhythmdb/rhythmdb-query-model.c:
10094 (rhythmdb_query_model_set_property),
10095 (rhythmdb_query_model_finalize),
10096 (rhythmdb_query_model_base_complete): remove
10097 rhythmdb_query_model_base_entry_prop_changed, so that two signals
10098 don't get emitted for entry changes. Fixes bug 330301.
10100 * widgets/rb-library-browser.c: (rb_library_browser_class_init),
10101 (rb_library_browser_init), (rb_library_browser_constructor),
10102 (rb_library_browser_new): do stuff in the constructor, not the init
10103 function, so that the db property gets set on RBPropertyViews
10104 correctly. Fixes a crash when dragging properties to a playlist.
10106 2006-02-07 William Jon McCann <mccann@jhu.edu>
10108 * daapsharing/rb-daap-share.c (rb_daap_share_server_stop):
10109 Actually stop soup server. Fixes #329816.
10111 2006-02-07 James Livingston <jrl@ids.org.au>
10114 * lib/rb-util.c: (rb_string_list_equal), (list_copy_cb),
10115 (rb_string_list_copy), (rb_list_deep_free), (collate_keys_cb),
10116 (collate_values_cb), (rb_collate_hash_table_keys),
10117 (rb_collate_hash_table_values): add functions to compare, copy and
10118 free string-lists. add functions to collate the keys or values of a
10119 hash table into a list.
10121 * rhythmdb/rhythmdb-property-model.c:
10122 (rhythmdb_property_model_class_init), (entry_from_tree_iter),
10123 (_remove_entry_cb), (_add_entry_cb),
10124 (rhythmdb_property_model_set_property),
10125 (rhythmdb_property_model_get_property),
10126 (rhythmdb_property_model_init), (rhythmdb_property_model_finalize),
10127 (rhythmdb_property_model_row_inserted_cb),
10128 (rhythmdb_property_model_prop_changed_cb),
10129 (rhythmdb_property_model_entry_removed_cb): correctly handle entries
10130 that are hidden, storing those that we have counted in a hash-table.
10132 * shell/Makefile.am: fix build order issue
10134 * shell/rb-shell-player.c: (rb_shell_player_set_property):
10135 * sources/rb-source.h:
10136 * shell/rb-source-header.c: (rb_source_header_sync_control_state):
10137 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
10138 * sources/rb-podcast-source.c: (feed_select_change_cb): add
10139 browser-toggled method, rename _get_exta_views to _get_property_views,
10140 since several things depend on returning only that.
10142 * sources/rb-source.c: (rb_source_class_init),
10143 (rb_source_browser_toggled), (default_get_property_views),
10144 (rb_source_get_property_views), (rb_source_row_deleted_cb),
10145 (rb_source_gather_hash_keys),
10146 (rb_source_gather_selected_properties): above changes, and move some
10147 utility functions up from RBLibraryView
10149 * widgets/rb-property-view.c:
10150 (rb_property_view_selection_changed_cb): fix leak.
10152 * rhythmdb/rhythmdb-query-model.c:
10153 (rhythmdb_query_model_set_property),
10154 (rhythmdb_query_model_finalize), (apply_updated_entry_sequence),
10155 (rhythmdb_query_model_set_sort_order),
10156 (rhythmdb_query_model_base_rows_reordered): fix handling of the base
10157 query model being resorted.
10159 * rhythmdb/rhythmdb-tree.c: (do_query_recurse): handle being passed a
10162 * rhythmdb/rhythmdb.h:
10163 * rhythmdb/rhythmdb.c: (rhythmdb_query_copy),
10164 (rhythmdb_query_concatenate), (rhythmdb_query_preprocess),
10165 (rhythmdb_query_append_prop_multiple): Add a function to concatenate
10166 two queries. Add a function to append "property={X,Y,Z,...}" to a
10169 * sources/rb-library-source.c: (rb_library_source_class_init),
10170 (rb_library_source_finalize), (rb_library_source_constructor),
10171 (rb_library_source_cmd_choose_genre),
10172 (rb_library_source_cmd_choose_artist),
10173 (rb_library_source_cmd_choose_album), (impl_search),
10174 (impl_get_property_views), (impl_reset_filters),
10175 (rb_library_source_preferences_sync),
10176 (rb_library_source_browser_views_activated_cb),
10177 (rb_library_source_state_prefs_sync),
10178 (construct_query_from_selection), (rb_library_source_do_query),
10179 (rb_library_source_browser_changed_cb):
10180 * widgets/Makefile.am:
10181 * widgets/rb-library-browsers.{c,h}: Add a generalised "library
10182 browser" widgets, which contains several property views, based on the
10183 code from RBLibrarySource. Make RBLibrarySource use it.
10185 * sources/rb-auto-playlist-source.c:
10186 (rb_auto_playlist_source_class_init),
10187 (rb_auto_playlist_source_init), (rb_auto_playlist_source_finalize),
10188 (rb_auto_playlist_source_constructor), (impl_reset_filters),
10189 (impl_get_property_views), (impl_browser_toggled),
10190 (construct_query_from_selection),
10191 (rb_auto_playlist_source_do_query),
10192 (rb_auto_playlist_source_set_query),
10193 (rb_auto_playlist_source_browser_changed_cb): Use the new
10194 library-browser widget to add browsers to automatic playlists.
10196 2006-02-07 James Livingston <jrl@ids.org.au>
10198 * player/rb-player-gst.c: (rb_player_bus_cb): check error type
10200 * shell/rb-shell-player.c: (do_next_idle): use eos_cb, so that the EOF
10201 type of the source is taken into account. Fixes bug 329621.
10203 2006-02-07 James Livingston <jrl@ids.org.au>
10205 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_start_element),
10206 (rhythmdb_tree_parser_end_element): update the rhythmdb.xml version to
10207 1.1, and perform URI canonicalistion when first upgrading. This should
10208 fix our remaining canonicalisation issues, such as bug 329988.
10210 2006-02-07 Jonathan Matthew <jonathan@kaolin.hn.org>
10212 * widgets/rb-entry-view.c: (rb_entry_view_playing_song_changed):
10213 Track the playing entry when the entry view isn't in the playing
10214 state, so we don't have to get the state changes exactly right.
10217 2006-02-06 James Livingston <jrl@ids.org.au>
10219 * shell/rb-shell-player.c: (open_location_thread),
10220 (rb_shell_player_open_location): fix several iradio issues: having to
10221 press play after double-clicking on a station, not working correctly
10222 without a http:// prefix, and ignoring totem-plparser results other
10223 than success or error (e.g. IGNORE).
10225 2006-02-06 Jonathan Matthew <jonathan@kaolin.hn.org>
10227 Addition of dbus methods for dealing with static playlists and the
10228 play queue. Fixes #329958.
10230 * shell/Makefile.am:
10231 * shell/rb-playlist-manager.h:
10232 * shell/rb-playlist-manager.xml:
10233 * shell/rb-playlist-manager.c: (save_playlist_response_cb),
10234 (rb_playlist_manager_get_playlists),
10235 (rb_playlist_manager_get_playlist_names), (_get_playlist_by_name),
10236 (rb_playlist_manager_create_static_playlist),
10237 (rb_playlist_manager_delete_playlist),
10238 (rb_playlist_manager_add_to_playlist),
10239 (rb_playlist_manager_remove_from_playlist),
10240 (rb_playlist_manager_export_playlist):
10241 Add org.gnome.Rhythmbox.PlaylistManager dbus interface, with methods
10242 to create, delete, list, modify, export, and import static playlists.
10244 * shell/main.c: (main): Register playlist manager object with dbus.
10246 * shell/rb-shell.h:
10247 * shell/rb-shell.xml:
10248 * shell/rb-shell.c: (rb_shell_get_playlist_manager),
10249 (rb_shell_get_playlist_manager_path), (rb_shell_add_to_queue),
10250 (rb_shell_remove_from_queue): Provide dbus access to the playlist manager
10251 object, and implement the addToQueue and removeFromQueue methods.
10253 * sources/rb-playlist-source.c: (rb_playlist_source_save_playlist):
10254 * sources/rb-playlist-source.h: Add flag to choose between PLS and M3U
10257 2006-02-05 James Livingston <jrl@ids.org.au>
10259 * rhythmdb/rhythmdb-tree.c: (parse_boolean),
10260 (rhythmdb_tree_parser_end_element), (save_entry_boolean),
10261 (save_entry): allow storage of booleans in the on-disk db, and
10262 save/load the HIDDEN property.
10264 * rhythmdb/rhythmdb.c: (rhythmdb_commit_internal),
10265 (rhythmdb_prop_get_type): restore the HIDDEN property of local files
10266 to the state it was when RB shutdown. This makes RB appear to start
10267 faster, as tracks can appear before the stat is done. Remote files
10268 still start hidden. From bug 325215.
10270 2006-02-05 James Livingston <jrl@ids.org.au>
10272 * rhythmdb/rhythmdb.c: (rhythmdb_class_init):
10273 * rhythmdb/rhythmdb.h: remove the "entry-restored" signal nothing
10274 really cares about the difference from "entry-added", and it isn't
10275 emitted by the tree backend anyway.
10277 * rhythmdb/rhythmdb-query-model.c:
10278 (rhythmdb_query_model_constructor):
10279 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
10280 remove the references to the entry-restored signal.
10282 2006-02-05 James Livingston <jrl@ids.org.au>
10284 * shell/rb-shell-player.c: (rb_shell_player_error): fix compilation
10287 2006-02-05 James Livingston <jrl@ids.org.au>
10289 * widgets/rb-entry-view.c: (rb_entry_view_finalize): check whether
10290 things are NULL before using g_object_unref. Fixes bug 327452.
10292 * player/rb-recorder-gst.c: (rb_recorder_construct):
10293 * shell/rb-shell-player.c: (rb_shell_player_error): return errors
10294 rather than assertion.
10296 * sources/rb-playlist-source.c: (rb_playlist_source_new_from_xml):
10297 emit a warning, rather than asserting if an unknown playlist type is
10300 2006-02-05 James Livingston <jrl@ids.org.au>
10302 * widgets/Makefile.am:
10303 * widgets/rb-simple-view.c:
10304 * widgets/rb-simple-view.h: Move the two features that this class
10305 provides into RBPropertyView, and remove this class. Closes bug
10308 * podcast/rb-feed-podcast-properties-dialog.c:
10309 * podcast/rb-feed-podcast-properties-dialog.h:
10310 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
10311 (rb_podcast_source_feeds_show_popup_cb):
10312 * sources/rb-podcast-source.h:
10313 * widgets/rb-property-view.c: (rb_property_view_class_init),
10314 (rb_property_view_constructor), (rb_property_view_popup_menu_cb),
10315 (rb_property_view_append_column_custom),
10316 (rb_property_view_button_press_cb):
10317 * widgets/rb-property-view.h: Updated for the above change.
10319 2006-02-04 James Livingston <jrl@ids.org.au>
10321 * shell/rb-shell.c: remove the show/hide toolbar shortcut, since it is
10322 too close to Move to Trash and people aren't likely to use it often.
10324 2006-02-04 James Livingston <jrl@ids.org.au>
10326 * shell/rb-shell.c: (rb_shell_cmd_about): Fix the FSF's address
10328 2006-02-04 James Livingston <jrl@ids.org.au>
10330 * rhythmdb/rhythmdb.c: (rhythmdb_add_uri_with_type): handle being
10331 passed a path instead of a URI.
10333 * sources/rb-generic-player-source.c: (default_get_mount_path):
10334 * widgets/rb-druid.c: (path_dialog_response_cb): pass URIs instead of
10335 the path. This fixes bug 329723.
10337 2006-02-04 Jonathan Matthew <jonathan@kaolin.hn.org>
10339 * daapsharing/rb-daap-structure.c:
10340 (rb_daap_content_code_string_as_int32):
10341 Use network byte order.
10343 2006-02-03 William Jon McCann <mccann@jhu.edu>
10345 * sources/rb-daap-source.c: Use RBDaapMdnsBrowser object.
10346 Use a hash for source lookup.
10347 (mdns_service_added, mdns_service_removed): Handle
10348 service-added and service-removed signals from RBDaapMdnsBrowser.
10349 (remove_source): GDestroyNotify function for when sources
10350 are removed from the hash.
10351 (start_browsing): Create RBDaapMdnsBrowser and source lookup.
10352 (stop_browsing): Unref RBDaapMdnsBrowser and destroy source lookup.
10353 (rb_daap_sources_shutdown): Update.
10354 (source_host_find): GHRFunc for finding a source by ip.
10355 (rb_daap_source_find_for_uri): Use the hash source lookup.
10357 * shell/rb-shell-preferences.c (share_check_button_toggled_cb):
10359 (password_check_button_toggled_cb): Handle password enabled.
10360 (share_name_entry_focus_out_event_cb): Namespace keys.
10361 Handle changes more robustly.
10362 (share_password_entry_focus_out_event_cb): Handle password entry.
10363 (add_daap_preferences): Connect to password signals.
10365 * lib/rb-preferences.h: Add DAAP keys.
10367 * data/glade/daap-prefs.glade: Add password UI.
10369 * data/rhythmbox.schemas: Add password keys.
10371 * daapsharing/rb-daap-src.c (rb_daap_src_open): Replace
10372 assert with warning.
10374 * daapsharing/rb-daap-sharing.c: Fix includes. Move
10375 gconf keys to lib/rb-preferences.h. Namespace
10377 (create_share): Add password support.
10378 (enable_sharing_changed_cb): Namespaced keys.
10379 (require_password_changed_cb): Handle key change.
10380 (share_name_changed_cb): Namespaced keys.
10381 (share_password_changed_cb): Handle key change.
10382 (rb_daap_sharing_init): Namespaced keys.
10383 (rb_daap_sharing_shutdown): Ditto.
10385 * daapsharing/rb-daap-share.[ch] (rb_daap_share_class_init):
10386 Add password property.
10387 (rb_daap_share_set_name): Break out prop set function.
10388 (published_cb): New RBDaapMdnsPublisher signal handler.
10389 (name_collision_cb): Ditto.
10390 (rb_daap_share_init): Create publisher object and
10391 connect to signals.
10392 (rb_daap_share_set_password, rb_daap_share_set_playlist_manager)
10393 (rb_daap_share_set_property): Break out prop set functions.
10394 (rb_daap_share_dispose): Stop publishing. Stop DAAP server.
10396 (rb_daap_share_new): Add password argument. Start
10397 publishing and DAAP server.
10398 (message_set_from_rb_daap_structure): Change print to debug.
10399 (server_info_cb): Set auth method to publish.
10400 (logout_cb): Handle DAAP client logout.
10401 (update_cb): Remove C++ comments.
10402 (databases_cb): Ditto. Make message a warning. Make print a debug.
10403 (server_cb): Add debug.
10404 (soup_auth_callback): Handle auth requests.
10405 (rb_daap_share_server_start): Split up functions for starting
10406 server and publishing. Add auth handling to server.
10407 (rb_daap_share_server_stop): Split stop server and publish.
10409 (rb_daap_share_publish_start, rb_daap_share_publish_stop):
10410 Start and stop publishing.
10411 (rb_daap_share_restart): Restart server and publishing.
10412 (rb_daap_share_maybe_restart): Conditionally restart.
10414 * daapsharing/rb-daap-dialog.c (rb_daap_password_dialog_new_run)
10415 (rb_daap_collision_dialog_new_run): Don't use
10416 separators in dialogs.
10418 * daapsharing/rb-daap-connection.h: Add private
10419 data to class structure.
10421 * daapsharing/rb-daap-connection.c: Move
10422 some includes to top of file. Make private
10423 data struct name consistent with others.
10424 (rb_daap_connection_class_init): Rename
10426 (rb_daap_connection_init): Get and store the pointer
10427 to the private data once instead of in every
10428 function. Create a username value "Rhythmbox_VERSION".
10429 (connection_get_password): Don't get private.
10430 (build_message): Ditto.
10431 (http_response_handler): Don't init variables in
10432 declaration. Add debug. Spacing.
10433 (http_get, entry_set_string_prop, handle_server_info)
10434 (handle_login, handle_update, handle_database_info)
10435 (handle_song_listing, handle_playlists, handle_playlist_entries)
10436 (rb_daap_connection_constructor, rb_daap_connection_logout)
10437 (rb_daap_connection_state_done): Don't get private.
10438 (rb_daap_connection_get_headers): Ditto. gchar yuck.
10439 spacing. Correctly base64 encode the Authentication token.
10440 Add username to auth token.
10441 (rb_daap_connection_get_playlists): Don't get private.
10442 (rb_daap_connection_dispose): Ditto. Free username.
10443 (rb_daap_connection_set_property)
10444 (rb_daap_connection_get_property): Don't get private.
10446 * daapsharing/Makefile.am: Conditionally
10447 compile MDNS backends. Add marshall stuff.
10449 * daapsharing/.cvsignore: Update.
10451 * configure.ac: Add conditional to see which
10452 MDNS backend we should use.
10454 * daapsharing/rb-daap-mdns.[ch]: Removed files.
10456 * daapsharing/rb-daap-marshal.list:
10457 * daapsharing/rb-daap-mdns-browser-avahi.c:
10458 * daapsharing/rb-daap-mdns-browser-howl.c:
10459 * daapsharing/rb-daap-mdns-browser.h:
10460 * daapsharing/rb-daap-mdns-publisher-avahi.c:
10461 * daapsharing/rb-daap-mdns-publisher-howl.c:
10462 * daapsharing/rb-daap-mdns-publisher.h:
10463 Split rb-daap-mdns.c into two classes. One for
10464 publishing and one for browsing. Split out
10465 the avahi and howl backends into different files.
10469 2006-02-04 James Livingston <jrl@ids.org.au>
10471 patch by: Jan Schmidt <thaytan@mad.scientist.com>
10473 * rhythmdb/rhythmdb.c: (set_metadata_string_default_unknown): fix
10474 crash if metadata reader gives us NULL for strings.
10476 2006-02-03 James Livingston <jrl@ids.org.au>
10478 * shell/rb-shell-player.c: (open_location_thread),
10479 (rb_shell_player_open_location):
10480 retrieve iradio playlists files in a thread, so that with GStreamer
10481 0.10 the UI doesn't block while connecting to stations. The streamer
10482 connection is synchronous with 0.8, so that will still block (a bit).
10485 (rb_shell_player_set_playing_entry): don't call rb_shell_player_play,
10486 because _open_entry does that automatically when it is ready to.
10488 2006-02-03 Jonathan Matthew <jonathan@kaolin.hn.org>
10490 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
10491 (rb_podcast_source_post_status_cell_data_func):
10492 Leave the podcast status column blank for episodes that have not been
10495 2006-02-03 James Livingston <jrl@ids.org.au>
10497 Add support for source-specific toolbar items, and make the Burn
10498 Playlist item only available for playlists. Also add Update All
10499 (podcast), Eject and Rip (audio cds). Fixes bug 329041.
10501 * data/ui/rhythmbox-ui.xml:
10502 * sources/rb-playlist-source.c: (rb_playlist_source_class_init),
10503 (impl_get_ui_actions): make the Burn CD toolbar item only for
10506 * lib/rb-stock-icons.c: (rb_stock_icons_init):
10507 * lib/rb-stock-icons.h: load the Eject icon as stock.
10509 * shell/rb-removable-media-manager.c: use the eject icon for the eject
10512 * shell/rb-shell.c: (rb_shell_constructor), (merge_source_ui_cb),
10513 (rb_shell_select_source):
10514 * sources/rb-source.c: (rb_source_class_init),
10515 (rb_source_disconnect), (default_get_ui_actions),
10516 (rb_source_get_ui_actions):
10517 * sources/rb-source.h: add support for source-specific toolbar items
10519 * sources/rb-audiocd-source.c: (rb_audiocd_source_class_init): add
10520 Eject and Rip toolbar items
10522 * sources/rb-podcast-source.c: (rb_podcast_source_class_init),
10523 (impl_add_to_queue), (impl_get_ui_actions): add Update All toolbar
10526 2006-02-03 Jonathan Matthew <jonathan@kaolin.hn.org>
10528 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_save):
10529 * shell/main.c: (main):
10530 * shell/rb-shell-player.c: (rb_shell_player_sync_play_order):
10531 Replace all g_critical calls with g_warning, since none of them are
10532 the sort of thing the process should die over. Fixes #329398.
10534 2006-02-03 James Livingston <jrl@ids.org.au>
10536 * configure.ac: mention gst-plugins-base in the error message for not
10537 finding GStreamer 0.10, since not having that will cause it to fail.
10539 2006-02-03 James Livingston <jrl@ids.org.au>
10541 * configure.ac: fix typo that means you get the wrong error message if
10542 you explicity request a particular playback engine, and it can't be
10545 2006-02-03 James Livingston <jrl@ids.org.au>
10547 * data/glade/library-prefs.glade: allow the watched library location
10548 to be a non-local place.
10550 ============ Version 0.9.3
10553 2006-02-02 James Livingston <jrl@ids.org.au>
10555 * NEWS: update NEWS
10556 * configure.ac: bump version to 0.9.3
10558 * data/Makefile.am: pass make distcheck. patch from Christopher Aillon
10559 <caillon@redhat.com>, fixed bug 329517.
10561 2006-02-02 Jonathan Matthew <jonathan@kaolin.hn.org>
10563 Patch from Alex Lancaster <alexl@users.sourceforge.net>
10565 * widgets/rb-song-info.c: (rb_song_info_constructor):
10566 Make year and disc number fields non-editable if tag editing
10567 is disabled. Fixes #329463.
10569 2006-02-01 James Livingston <jrl@ids.org.au>
10571 * rhythmdb/rhythmdb-property-model.c:
10572 (rhythmdb_property_model_row_inserted_cb),
10573 (rhythmdb_property_model_prop_changed_cb),
10574 (rhythmdb_property_model_entry_removed_cb): handle hidden entries
10575 correctly. Fixes bug 327061.
10577 * rhythmdb/rhythmdb-query-model.c:
10578 (rhythmdb_query_model_entry_changed_cb): emit change notification of
10579 the HIDDEN property when an entry is removed for being hidden.
10581 * rhythmdb/rhythmdb-query-model.h:
10582 * sources/rb-iradio-source.c: (rb_iradio_source_do_query):
10583 * widgets/rb-entry-view.c: (rb_entry_view_set_property): remove query
10584 models's "connected" property. Whatever it was needed for seems to
10587 2006-02-01 James Livingston <jrl@ids.org.au>
10589 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
10591 * shell/rb-shell-player.c: (_idle_unblock_signal_cb),
10592 (rb_shell_player_playing_changed_cb): block the signal to prevent
10593 re-entrancy. Fixes bug 329329 and fixes the first click of the play
10596 2006-02-01 James Livingston <jrl@ids.org.au>
10598 * metadata/rb-metadata-gst.c: a few gstreamer 0.10 fixes. Tag editing
10599 /should/ now work, if the neccessary plugins get ported.
10601 2006-01-30 James Livingston <jrl@ids.org.au>
10603 * daapsharing/rb-daap-connection.c: (entry_set_string_prop): Set
10604 string properties to "Unknown" is the string is empty. Kind of fixes
10607 * rhythmdb/rhythmdb.c: (rhythmdb_entry_sync_mirrored): only do the
10608 gettext calls once, rather than once per time the function is used.
10609 This stops us making tens of thousands of gettext calls on startup,
10610 which reduces the cpu-time of startup by 10-20%
10612 2006-01-29 James Livingston <jrl@ids.org.au>
10614 * rhythmdb/rhythmdb.c: (rhythmdb_process_metadata_load):
10615 (rhythmdb_add_uri):
10616 * metadata/rb-metadata-gst.c: emit RB_METADATA_ERROR_NOT_AUDIO_IGNORE
10617 for files containing known video streams.
10620 2006-01-29 Jonathan Matthew <jonathan@kaolin.hn.org>
10622 * INSTALL.quick: Random unupdates; gst-plugins-good isn't actually
10625 2006-01-29 Jonathan Matthew <jonathan@kaolin.hn.org>
10627 * INSTALL.quick: More random updates
10629 * rhythmdb/rhythmdb-query-model.c:
10630 (rhythmdb_query_model_class_init),
10631 (rhythmdb_query_model_set_property),
10632 (rhythmdb_query_model_get_property),
10633 (rhythmdb_query_model_finalize), (rhythmdb_query_model_new):
10634 Remove user sort data handling, take a property ID and a reverse
10636 (rhythmdb_query_model_insert_into_main_list),
10637 (rhythmdb_query_model_insert_into_limited_list),
10638 (rhythmdb_query_model_do_reorder),
10639 (_reverse_sorting_func):
10640 Handle reverse sorting by calling _reverse_sorting_func, which
10641 calls the real sort function and reverses the result.
10642 (rhythmdb_query_model_set_sort_order):
10643 Allow this to be called to set the initial sort order for limited
10644 queries, and handle reverse sorting when reordering.
10645 (rhythmdb_query_model_location_sort_func),
10646 (rhythmdb_query_model_album_sort_func),
10647 (rhythmdb_query_model_artist_sort_func),
10648 (rhythmdb_query_model_genre_sort_func),
10649 (rhythmdb_query_model_track_sort_func),
10650 (rhythmdb_query_model_double_ceiling_sort_func),
10651 (rhythmdb_query_model_ulong_sort_func),
10652 (rhythmdb_query_model_date_sort_func),
10653 (rhythmdb_query_model_string_sort_func):
10654 Sort functions moved from rb-entry-view.c.
10655 * rhythmdb/rhythmdb-query-model.h:
10656 Add the sort functions, and update the changed functions.
10658 * widgets/rb-entry-view.c: (rb_entry_view_set_property):
10659 Just call _resort_model when the query model is set, since it
10660 does all the same things.
10661 (rb_entry_view_append_column):
10662 Rework bits so the rating column doesn't have to be so much of a
10664 (rb_entry_view_append_column_custom):
10665 Take a property ID to sort on, rather than arbitrary custom data.
10666 (rb_entry_view_resort_model):
10667 Query model does all the reverse sort handling now.
10668 * widgets/rb-entry-view.h: Update _append_column_custom.
10670 * sources/rb-play-queue-source.c:
10671 (rb_play_queue_source_constructor):
10672 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
10673 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
10674 (rb_podcast_source_post_date_cell_sort_func),
10675 (rb_podcast_source_post_status_cell_sort_func),
10676 (rb_podcast_source_post_feed_cell_sort_func):
10677 Updates required by all the other changes.
10679 * rhythmdb/rhythmdb-property-model.c:
10680 (rhythmdb_property_model_drag_data_get):
10681 Sort the query results on the selected property,
10682 so they arrive in the expected order. All the other changes were made
10683 to make this possible. Fixes bug #327494.
10685 2006-01-29 Jonathan Matthew <jonathan@kaolin.hn.org>
10687 * shell/rb-shell-clipboard.c:
10688 Use GTK_STOCK_REMOVE icon for the remove action in
10689 the play queue too.
10691 2006-01-29 Jonathan Matthew <jonathan@kaolin.hn.org>
10693 * sources/rb-play-queue-source.c:
10694 (rb_play_queue_source_constructor),
10695 (rb_play_queue_source_update_count):
10696 Don't make the 'queued songs' column clickable,
10697 and add the queued song count to the column title.
10699 2006-01-29 James Livingston <jrl@ids.org.au>
10701 * configure.ac: remove "experimental" marking from DAAP, and enable by
10702 default if the dependencies are found.
10704 2006-01-29 James Livingston <jrl@ids.org.au>
10706 * NEWS: update NEWS
10708 2006-01-29 James Livingston <jrl@ids.org.au>
10710 patch by: William Jon McCann <mccann@jhu.edu>
10712 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
10713 (rb_podcast_source_feed_title_cell_data_func): Revert the change of
10714 property used for the feed list. Fixes problem with feeds with no
10715 episodes not showing up.
10717 2006-01-29 Jonathan Matthew <jonathan@kaolin.hn.org>
10719 * shell/rb-play-order-random-by-age-and-rating.c:
10720 (rb_random_by_age_and_rating_get_entry_weight):
10721 Fix compile errors, bug #328978.
10723 2006-01-28 Jonathan Matthew <jonathan@kaolin.hn.org>
10725 * INSTALL.quick, README: Random updates
10726 * README.lirc: Add notes on controlling Rhythmbox with LIRC
10728 2006-01-28 James Livingston <jrl@ids.org.au>
10730 * rhythmdb/rhythmdb.c: (rhythmdb_process_metadata_load): change the
10731 default rating back to 0 (from 2.5, which was needed for autorating).
10733 * shell/rb-play-order-random-by-age-and-rating.c:
10734 (rb_random_by_age_and_rating_get_entry_weight):
10735 * shell/rb-play-order-random-by-rating.c:
10736 (rb_random_by_rating_get_entry_weight): Treat ratings of 0 the same as
10737 2.5 for the purposes of weighting entries.
10739 2006-01-28 James Livingston <jrl@ids.org.au>
10741 * lib/rb-cut-and-paste-code.c: (rb_utf_friendly_time): Add some
10742 translator comments, to make it clearer what the "friendly time"
10743 formatting strings mean.
10745 2006-01-27 Jonathan Matthew <jonathan@kaolin.hn.org>
10747 * daapsharing/rb-daap-connection.c: (http_response_handler):
10748 Fix the sense of the overflow check so it'll accept valid input.
10750 2006-01-27 James Livingston <jrl@ids.org.au>
10752 Patch from Alex Lancaster <alexl@users.sourceforge.net>
10754 * lib/rb-file-helpers.c: (rb_uri_handle_recursively_cb): correctly
10755 escape paths when using rb_uri_handle_recursively. Closes bug 139646.
10757 2006-01-27 Jonathan Matthew <jonathan@kaolin.hn.org>
10759 Patch by: Alex Lancaster <alexl@users.sourceforge.net>
10761 * shell/rb-shell-player.c: (rb_shell_player_sync_with_source):
10762 Don't include the artist field in the window title if it's blank.
10765 2006-01-26 William Jon McCann <mccann@jhu.edu>
10767 * shell/rb-shell-clipboard.c (rb_shell_clipboard_actions):
10768 Use stock delete icon for move to trash and stock remove
10769 for remove menu item.
10771 2006-01-26 Jonathan Matthew <jonathan@kaolin.hn.org>
10773 * shell/rb-shell.c: (rb_shell_constructor),
10774 (idle_handle_load_complete): Don't start the playlist save
10775 timeout until we've loaded the playlists, otherwise we'll
10776 write an empty playlist file if startup takes too long.
10778 2006-01-25 William Jon McCann <mccann@jhu.edu>
10780 * shell/rb-shell.c: Make view toolbar toggle use
10781 shift+ctrl+t. Fixes #327585.
10783 2006-01-25 James Livingston <jrl@ids.org.au>
10785 patch by: Christope Fergeau <teuf@gnome.org>
10787 * daapsharing/rb-daap-connection.c: (g_zalloc_wrapper),
10788 (http_response_handler): fix a potential buffer overflow issue.
10790 2006-01-25 James Livingston <jrl@ids.org.au>
10792 * widgets/rb-entry-view.c: (rb_entry_view_append_column): make the
10793 Year column wide enough to display "Unknown"
10795 2006-01-25 James Livingston <jrl@ids.org.au>
10797 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
10798 (rb_podcast_source_post_status_cell_data_func): make the episode
10799 status wording better. Part of bug 321607.
10801 2006-01-25 James Livingston <jrl@ids.org.au>
10803 * data/ui/rhythmbox-ui.xml: separate the Move to Trash menu item from
10804 others with a separator.
10806 * shell/rb-shell-clipboard.c: Rename "Delete" to "Remove" and use the
10809 2006-01-24 Jonathan Matthew <jonathan@kaolin.hn.org>
10811 * data/rhythmbox.desktop.in: Add GTK to categories. Fixes #328047.
10813 2006-01-23 James Livingston <jrl@ids.org.au>
10815 * widgets/eggtrayicon.c: (egg_tray_icon_notify): support libnotify
10816 0.3.2. Fixed bug 328158.
10818 2006-01-23 James Livingston <jrl@ids.org.au>
10820 * metadata/rb-metadata-gst.c: (gst_date_gulong_transform),
10821 (gulong_gst_date_transform), (rb_metadata_class_init):
10822 * metadata/rb-metadata.h: fix support for Year metadata in gst 0.10.
10824 2006-01-23 Jonathan Matthew <jonathan@kaolin.hn.org>
10826 * rhythmdb/rhythmdb.c: (rhythmdb_init), (rhythmdb_finalize),
10827 (rhythmdb_commit_internal), (rhythmdb_entry_insert),
10828 (record_entry_change): Protect added_entries and changed_entries with
10829 a mutex, so it doesn't crash on startup on SMT/SMP machines.
10831 2006-01-23 James Livingston <jrl@ids.org.au>
10833 * sources/rb-audiocd-source.c: (rb_audiocd_source_class_init): disable
10834 the browser for audio CDs.
10836 2006-01-22 James Livingston <jrl@ids.org.au>
10838 * daapsharing/rb-daap-mdns.c: (get_avahi_client): don't pass
10839 NEVER_FAIL as it causes the daemon-not-running error to never be
10840 reported, resulting in bug 319438 re-occurring.
10842 2006-01-22 Jonathan Matthew <jonathan@kaolin.hn.org>
10844 * sources/rb-podcast-source.c: (rb_podcast_source_cmd_update_all):
10845 Just call the podcast manager's update method. Unbreaks the 'update
10846 all feeds' command.
10848 2006-01-22 Jonathan Matthew <jonathan@kaolin.hn.org>
10850 * sources/Makefile.am: Fix typo. Fixes bug #327970.
10852 2006-01-21 Jonathan Matthew <jonathan@kaolin.hn.org>
10854 * configure.ac: Don't disable DAAP with gstreamer 0.10
10856 * daapsharing/rb-daap-src.c: (_do_init), (rb_daap_src_base_init),
10857 (rb_daap_src_class_init), (rb_daap_src_init),
10858 (rb_daap_src_finalize), (rb_daap_src_set_property),
10859 (rb_daap_src_get_property), (rb_daap_src_write),
10860 (rb_daap_src_read), (_expect_char), (rb_daap_src_read_chunk_size),
10861 (_split_uri), (rb_daap_src_open):
10862 * daapsharing/rb-daap-src.h:
10863 Mostly fix seeking, handle chunked transfer encoding, and port to
10866 * player/rb-player-gst.c:
10867 * sources/rb-daap-source.c: (start_browsing), (stop_browsing):
10868 Remove rb_daap_src_initialize and rb_daap_src_shutdown.
10870 Fixes bugs #326738 and #318852, and brings #309609 one step closer to
10873 2006-01-21 James Livingston <jrl@ids.org.au>
10875 patch by: Alex Lancaster <alexl@users.sourceforge.net> to add support
10876 for Year metadata in DAAP sources. Fixes bug 327700.
10878 * daapsharing/rb-daap-connection.c: (handle_song_listing):
10880 2006-01-20 William Jon McCann <mccann@jhu.edu>
10882 * widgets/rb-simple-view.c (rb_simple_view_button_press_cb): Use
10883 enum values instead of magic numbers.
10885 * widgets/rb-property-view.c (rb_property_view_cell_data_func):
10886 Add number of songs that match each property title into
10887 the cell. Also show the number of properties that match
10889 (rb_property_view_constructor): Use enum values instead of
10892 * sources/rb-podcast-source.c (rb_podcast_source_constructor):
10893 Query podcast posts instead of feeds for browser. Use
10894 post SUBTITLE which is the location for the property view.
10895 (rb_podcast_source_feeds_show_popup_cb): Remove unused code.
10896 (construct_query_from_selection)
10897 (rb_podcast_source_cmd_delete_feed)
10898 (rb_podcast_source_cmd_properties_feed)
10899 (rb_podcast_source_cmd_update_feed): Use variable to make
10900 it clear what the selection data represents.
10901 (rb_podcast_source_feed_title_cell_data_func): Add number
10902 of posts that belong to each feed in the browser.
10904 * rhythmdb/rhythmdb-property-model.c (rhythmdb_property_model_set_property): Allow using SUBTITLE property.
10905 (rhythmdb_property_model_delete_prop): Decrement the refcount
10907 (rhythmdb_property_model_get_column_type): Use column enum
10908 values instead of magic numbers. Add NUMBER column.
10909 (rhythmdb_property_model_get_value): Use enum.
10910 Add NUMBER column that represents the refcount for
10911 the title of that property.
10912 (rhythmdb_property_model_perform_sync): Don't fake up
10913 a title for All here.
10917 2006-01-21 James Livingston <jrl@ids.org.au>
10919 Make Rhythmbox start faster by not blocking the UI while database
10920 initialisation and loading occurs. Closes bug 323348.
10922 * rhythmdb/rhythmdb.c: (rhythmdb_init): make the library monitoring
10923 start 10 seconds later instead of immediately.
10925 (rhythmdb_commit_internal), (rhythmdb_commit): make rhythmdb_commit
10926 safe to call from any thread.
10928 (rhythmdb_process_metadata_load), (rhythmdb_process_events),
10929 (rhythmdb_load_thread_main), (rhythmdb_load): load the db in a thread,
10930 so the UI doesn't block.
10932 2006-01-18 James Livingston <jrl@ids.org.au>
10934 * sources/rb-static-playlist-source.c:
10935 (rb_static_playlist_source_do_query): fix dumb mistake I made that would
10936 cause crashes. Oops. fixes bug 327477.
10938 2006-01-17 William Jon McCann <mccann@jhu.edu>
10940 * player/rb-recorder-gst.c (rb_recorder_gst_free_pipeline):
10941 Set GST element state to NULL before unreffing.
10944 2006-01-18 James Livingston <jrl@ids.org.au>
10946 * sources/rb-static-playlist-source.c:
10947 (rb_static_playlist_source_do_query): don't filter on the SONG entry
10948 type, since the playlists can contain non-song entries. Fixes bug
10951 * sources/rb-play-queue-source.c:
10952 (rb_play_queue_source_class_init): disable the search box for the
10955 2006-01-18 James Livingston <jrl@ids.org.au>
10957 * sources/rb-podcast-source.c: (rb_podcast_source_constructor): allow
10958 dragging of podcast episodes. Fixed bug 327450.
10960 2006-01-18 James Livingston <jrl@ids.org.au>
10962 * rhythmdb/rhythmdb-query-model.c:
10963 (rhythmdb_query_model_drag_data_received): fix possible assertion when
10964 dragging to an emoty playlist.
10966 2006-01-18 Jonathan Matthew <jonathan@kaolin.hn.org>
10968 * sources/rb-playlist-source-recorder.c:
10969 Make the fake NAUTILUS_BURN_CHECK_VERSION macro work properly.
10971 2006-01-17 James Livingston <jrl@ids.org.au>
10973 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
10975 * sources/rb-audiocd-source.c: don't assert if MusicBrainz returns a
10976 different number of tracks than exist on the cd, since that happens
10977 with audio+data hybrid CDs. Part of bug 325046.
10979 2006-01-17 Jonathan Matthew <jonathan@kaolin.hn.org>
10981 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
10982 Remove useless call to gtk_tree_view_column_set_clickable().
10984 * widgets/rb-entry-view.c: (rb_entry_view_append_column_custom):
10985 Don't store sort data for columns if the sort function is NULL,
10986 so only sortable columns will be in the column sort data map.
10987 (rb_entry_view_set_columns_clickable): Only make columns we can sort
10989 (rb_entry_view_constructor): The 'playing icon' column is never
10990 clickable, so don't connect a signal handler for it.
10994 2006-01-17 James Livingston <jrl@ids.org.au>
10996 * metadata/rb-metadata-gst.c: don't set properties with gst 0.10 which
10997 are 0.8 only. Fix element detection.
10999 * rhythmdb/rhythmdb.c: (action_thread_main): reload old metadata is
11000 saving the new metadata failed
11002 2006-01-17 James Livingston <jrl@ids.org.au>
11004 * shell/rb-shell-player.c: (do_next_idle),
11005 (rb_shell_player_cmd_previous), (rb_shell_player_cmd_next),
11006 (eos_cb): release audio device when a playlist finishes. Fixes bug
11009 2006-01-17 James Livingston <jrl@ids.org.au>
11011 * rhythmdb/rhythmdb.c: (set_props_from_metadata), (queue_stat_uri):
11012 canonicalise the URIs when things are added via library watching.
11014 2006-01-16 William Jon McCann <mccann@jhu.edu>
11016 * sources/rb-playlist-source-recorder.c (update_speed_combobox):
11017 Off by one error in default speed index.
11019 2006-01-16 William Jon McCann <mccann@jhu.edu>
11021 * sources/rb-playlist-source-recorder.c (get_write_speeds)
11022 (update_speed_combobox, update_speed_combobox):
11023 Get a list of the actually supported write speeds from
11024 n-c-b >= 2.13.90. Otherwise use fallback list.
11026 2006-01-17 James Livingston <jrl@ids.org.au>
11028 * lib/rb-file-helpers.c: (rb_uri_handle_recursively_cb),
11029 (rb_uri_handle_recursively): use gnome_vfs_directory_visit, so we
11030 don't get stuck on recursive symlinks. Fixed bug 125452.
11032 2006-01-17 James Livingston <jrl@ids.org.au>
11034 Add support for mass-storage audio players. Players are detected via
11035 either the HAL "audio_player" capability, or a ".is_audio_player" file
11036 in the root of the volume. Closes bug 325602.
11038 * configure.ac: separate using HAL from ipod support.
11040 * lib/rb-file-helpers.c: (rb_uri_is_local):
11041 * lib/rb-file-helpers.h: add function to determine whether a URI is
11044 * rhythmdb/rhythmdb.c: (rhythmdb_commit_internal),
11045 (rhythmdb_process_stat_event), (rhythmdb_process_metadata_load),
11046 (rhythmdb_process_file_created_or_modified), (queue_stat_uri),
11047 (queue_stat_uri_tad), (add_thread_main), (action_thread_main),
11048 (rhythmdb_add_uri), (rhythmdb_add_uri_with_type):
11049 * rhythmdb/rhythmdb.h: add rhythmdb_add_uri_with_type, so that
11050 directories can be scanned for files to add as non-SONG entries.
11052 * shell/rb-removable-media-manager.c:
11053 (rb_removable_media_manager_mount_volume): add checking for
11054 mass-storage players.
11056 * sources/rb-audiocd-source.c: (rb_audiocd_source_new):
11057 * sources/rb-ipod-source.c: (rb_ipod_source_new),
11059 * sources/rb-removable-media-source.c:
11060 (rb_removable_media_source_class_init),
11061 (rb_removable_media_source_constructor): move some things up to the
11062 RBRemovableMediaSource, rather than making subclasses do it.
11064 * sources/Makefile.am:
11065 * sources/rb-generic-player-source.c:
11066 * sources/rb-generic-player-source.h: add mass-storage player source.
11068 2006-01-16 James Livingston <jrl@ids.org.au>
11070 patch by: William Jon McCann <mccann@jhu.edu>
11072 * rhythmdb/rhythmdb-query-model.c:
11073 (rhythmdb_query_model_base_row_deleted): fix build issue from last
11076 2006-01-16 James Livingston <jrl@ids.org.au>
11078 Patch to add support for "chained queries" and putting hidden tracks
11079 in query models. Use chained queries to add search box support to
11080 normal playlists, and to make hidden entries not get lost. Fixes bug
11083 * rhythmdb/rhythmdb-query-model.h:
11084 * rhythmdb/rhythmdb-query-model.c:
11085 (rhythmdb_query_model_class_init),
11086 (rhythmdb_query_model_set_property),
11087 (rhythmdb_query_model_get_property):
11088 (rhythmdb_query_model_finalize): add "show-hidden" and
11089 "base-model" properties.
11091 (rhythmdb_query_model_set_connected),
11092 (rhythmdb_query_model_has_pending_changes),
11093 (rhythmdb_query_model_entry_added_cb),
11094 (rhythmdb_query_model_entry_changed_cb), (idle_process_update),
11095 (rhythmdb_query_model_add_entry), (rhythmdb_query_model_do_insert),
11096 (rhythmdb_query_model_remove_entry),
11097 (rhythmdb_query_model_drag_data_received),
11098 (rhythmdb_query_model_base_row_inserted),
11099 (rhythmdb_query_model_base_row_deleted),
11100 (rhythmdb_query_model_base_non_entry_dropped),
11101 (rhythmdb_query_model_base_complete),
11102 (rhythmdb_query_model_base_entry_prop_changed),
11103 (rhythmdb_query_model_base_rows_reordered),
11104 (rhythmdb_query_model_row_drop_possible): handle base-model by
11105 chaining events and operations where necessary. Make hidden entries
11106 not get added only if "show-hidden" is false.
11108 (rhythmdb_query_model_child_index_to_base_index),
11109 (rhythmdb_query_model_base_index_to_child_index),
11110 (rhythmdb_query_model_get_entry_index): utility functions for handling
11111 base-model entries.
11113 (rhythmdb_query_model_reapply_query): apply the current query, and
11114 remove entries that don't match it.
11116 * rhythmdb/rhythmdb-tree.c: (do_query_recurse): small optimisation for
11119 * sources/rb-source.c: (rb_source_set_property): move the unref later
11120 to fix problem if it is the last reference.
11122 * sources/rb-static-playlist-source.c:
11123 (rb_static_playlist_source_class_init),
11124 (rb_static_playlist_source_init),
11125 (rb_static_playlist_source_finalize),
11126 (rb_static_playlist_source_constructor), (impl_reset_filters),
11127 (impl_search), (rb_static_playlist_source_do_query),
11128 (impl_save_contents_to_xml),
11129 (rb_static_playlist_source_add_location_internal): use a chained query
11130 model to filter out hidden entries and implement the search box.
11132 2006-01-15 James Livingston <jrl@ids.org.au>
11134 * sources/rb-playlist-source.c: (rb_playlist_source_new_from_xml): fix
11135 the default playlist loading, which I broke earlier.
11137 2006-01-15 James Livingston <jrl@ids.org.au>
11139 patch by: William Jon McCann <mccann@jhu.edu>
11141 * sources/rb-playlist-source.c: (playlist_iter_func): use
11142 totem-plparser's new API version macros to check for API changes.
11143 Handle the recent API change.
11145 2006-01-15 Jonathan Matthew <jonathan@kaolin.hn.org>
11147 * sources/rb-library-source.c: (impl_get_config_widget):
11148 Ref the preferences object to match the unref in the
11149 finalizer. Fixes some portion of #323505.
11151 2006-01-15 Jonathan Matthew <jonathan@kaolin.hn.org>
11153 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_parse_response):
11154 * shell/rb-removable-media-manager.c: (begin_cd_drive_monitor):
11155 Fix valgrind warnings about accessing uninitialised values.
11157 2006-01-14 William Jon McCann <mccann@jhu.edu>
11159 * sources/rb-playlist-source-recorder.c: Make build on 2.12 again.
11161 2006-01-14 Jonathan Matthew <jonathan@kaolin.hn.org>
11163 * shell/rb-shell-player.c: (rb_shell_player_sync_buttons):
11164 Use RB_ENTRY_VIEW_NOT_PLAYING state when there's no playing entry.
11165 Stops the 'now playing' icon from being displayed after the play
11168 2006-01-14 Jonathan Matthew <jonathan@kaolin.hn.org>
11170 * podcast/rb-podcast-manager.c:
11171 (rb_podcast_manager_db_entry_deleted_cb):
11172 Don't try to delete files we never downloaded, and cancel downloads
11173 for deleted episodes. Fixes bug #326862.
11174 * sources/rb-podcast-source.c: (rb_podcast_source_cmd_delete_feed):
11175 Don't complain about NULL data items in the selection list.
11177 2006-01-14 James Livingston <jrl@ids.org.au>
11179 * shell/rb-playlist-manager.c: (rb_playlist_manager_set_property):
11180 Make the name ofthe queue non editable. Fixes bug 326918.
11182 2006-01-13 William Jon McCann <mccann@jhu.edu>
11184 * sources/rb-playlist-source-recorder.c (burn_cd)
11185 (ask_rewrite_disc): Don't use our locally copied functions
11186 if we have at least 2.13.
11188 2006-01-13 William Jon McCann <mccann@jhu.edu>
11190 * podcast/rb-podcast-manager.c (rb_podcast_manager_class_init):
11191 Correct the argument type for the process_error signal.
11192 May fix bug #323154.
11194 2006-01-13 James Livingston <jrl@ids.org.au>
11196 save the queue to disk when exiting, and reload on startup. Fixed bug
11199 * shell/rb-playlist-manager.c:
11200 (rb_playlist_manager_load_playlists),
11201 (rb_playlist_manager_save_playlists_async): don't disable saving of
11204 * shell/rb-shell.c: (rb_shell_class_init), (rb_shell_get_property):
11205 add the queue source as a gobject property.
11207 * sources/rb-play-queue-source.c:
11208 (rb_play_queue_source_class_init), (impl_save_contents_to_xml): add
11209 code to save the queue to xml
11211 * sources/rb-playlist-source.c: (rb_playlist_source_new_from_xml):
11212 load the queue from xml.
11213 * sources/rb-playlist-xml.h:
11215 * sources/rb-static-playlist-source.c:
11216 (rb_static_playlist_source_load_from_xml),
11217 (rb_static_playlist_source_new_from_xml):
11218 * sources/rb-static-playlist-source.h: split the playlist xml loading
11219 from the static playlist creation function, so the queue can use it.
11221 2006-01-13 James Livingston <jrl@ids.org.au>
11223 * rhythmdb/rhythmdb.c: (rhythmdb_entry_set_visibility): remove
11224 assertion that should be there. Fixes bug 325923.
11226 * rhythmdb/rhythmdb.c: (rhythmdb_entry_new): make rhythmdb_entry_new
11227 return NULL if the entry already exists (e.g. as another type).
11228 * daapsharing/rb-daap-connection.c: (handle_song_listing):
11229 * podcast/rb-podcast-manager.c: (rb_podcast_manager_add_post),
11230 (rb_podcast_manager_insert_feed):
11231 * sources/rb-audiocd-source.c: (rb_audiocd_create_track_entry):
11232 * sources/rb-ipod-source.c: (load_ipod_db_idle_cb):
11233 * sources/rb-iradio-source.c: (rb_iradio_source_add_station): check
11234 for the above function returning NULL.
11236 2006-01-12 James Livingston <jrl@ids.org.au>
11238 * doc/reference/Makefile.am: make gtk-docs build again when libnotify
11239 is enabled. Fixes bug 326673.
11241 * doc/reference/tmpl/eggtrayicon.sgml:
11242 * doc/reference/tmpl/rb-daap-src.sgml:
11243 * doc/reference/tmpl/rb-source.sgml:
11244 * doc/reference/tmpl/rb-statusbar.sgml:
11245 * doc/reference/tmpl/rb-tree-model-sort.sgml:
11246 * doc/reference/tmpl/rhythmbox-unused.sgml:
11247 * doc/reference/tmpl/rhythmdb.sgml: updated gtk-docs
11249 2006-01-11 James Livingston <jrl@ids.org.au>
11251 * widgets/rb-song-info.c: (rb_song_info_constructor),
11252 (rb_song_info_new), (rb_song_info_populate_dialog_multiple),
11253 (rb_song_info_populate_dialog): fill in the fields if all tracks have
11254 the same value for properties. From bug 326054.
11256 2006-01-11 James Livingston <jrl@ids.org.au>
11258 * sources/rb-source.h:
11259 * shell/rb-shell-player.c: (rb_shell_player_set_playing_entry),
11260 (rb_shell_player_set_playing_source_internal), (eos_cb):
11261 add support for RB_SOURCE_EOF_STOP, so that playback will stop after
11264 * sources/rb-podcast-source.c: (impl_handle_eos): make the podcast
11265 source use this. Closes bug 322077.
11267 2006-01-10 William Jon McCann <mccann@jhu.edu>
11269 * widgets/eggtrayicon.c (egg_tray_icon_notify):
11270 In order for set_icon_data_from_pixbuf() to be
11271 effective, one must not set an icon in _new().
11273 2006-01-10 William Jon McCann <mccann@jhu.edu>
11275 * widgets/eggtrayicon.c (egg_tray_icon_init)
11276 (egg_tray_icon_unrealize, egg_tray_icon_cancel_message)
11277 (egg_tray_icon_notify): Add support for libnotify 0.3.
11278 * widgets/Makefile.am: Add missing NOTIFY_CLAGS.
11279 * configure.ac: Determine the version of libnotify.
11282 2006-01-08 James Livingston <jrl@ids.org.au>
11284 * daapsharing/rb-daap-share.c: (add_entry_to_mlcl): fix crasher when
11285 trying to share a track with unknown length.
11287 2006-01-08 Jonathan Matthew <jonathan@kaolin.hn.org>
11289 * shell/rb-shell-player.c: (rb_shell_player_init):
11290 Sync volume on startup so it doesn't default to 0.
11292 2006-01-08 Jonathan Matthew <jonathan@kaolin.hn.org>
11294 * shell/rb-shell-player.c: (rb_shell_player_class_init),
11295 (rb_shell_player_get_property), (rb_shell_player_open_location),
11296 (info_available_cb): Add the iradio streamed song title as a
11297 property, and emit a signal when it changes.
11299 * shell/rb-shell.c: (rb_shell_constructor),
11300 (rb_shell_player_elapsed_changed_cb),
11301 (rb_shell_player_stream_song_changed_cb):
11302 Issue a notification when the iradio song title changes.
11305 2006-01-08 Jonathan Matthew <jonathan@kaolin.hn.org>
11307 * shell/rb-shell-player.c: (rb_shell_player_init),
11308 (rb_shell_player_finalize), (rb_shell_player_set_property),
11309 (rb_shell_player_get_property), (rb_shell_player_sync_volume),
11310 (rb_shell_player_toggle_mute), (rb_shell_player_set_volume),
11311 (rb_shell_player_set_volume_relative),
11312 (rb_shell_player_get_volume), (rb_shell_player_set_mute),
11313 (rb_shell_player_get_mute):
11314 * shell/rb-shell-player.h:
11315 * shell/rb-shell-player.xml:
11316 Store volume as a property on RBShellPlayer, rather than in gconf.
11317 Add some methods to control volume via dbus.
11319 * shell/rb-shell.c: (rb_shell_constructor),
11320 (rb_shell_volume_widget_changed_cb),
11321 (rb_shell_player_volume_changed_cb):
11322 * shell/rb-tray-icon.c: (rb_tray_icon_scroll_event_cb):
11323 Update volume using player properties rather than gconf, and sync the
11324 volume with the volume control button when something else changes it.
11327 2006-01-07 William Jon McCann <mccann@jhu.edu>
11329 * shell/rb-tray-icon.c (tray_popup_position_menu):
11330 Make tray menu align with edge of panel.
11332 patch from Jaap A. Haitsma <jaap@haitsma.org>
11335 2006-01-07 William Jon McCann <mccann@jhu.edu>
11336 * shell/rb-shell.c (sourcelist_drag_received_cb):
11337 * shell/rb-playlist-manager.[ch] (create_name_from_selection_data)
11338 (rb_playlist_manager_new_playlist_from_selection_data):
11339 Make a reasonable default name for playlists created from
11340 dropped data. Fixes #326116.
11342 2006-01-07 William Jon McCann <mccann@jhu.edu>
11344 * sources/rb-playlist-source-recorder.c (update_speed_combobox):
11346 (burn_cd): Always eject CD after burning. Too many drives
11347 get confused if we don't. Save the speed used if the burn
11348 was completed successfully.
11350 * data/rhythmbox.schemas: Use our own speed instead of from
11351 n-c-b. The situation is that the default_speed for n-c-b is most
11352 likely the maximum write speed. This is fine for n-c-b because it
11353 has burn-proof turned on. We can't turn it on for audio CDs
11354 because the results are poor in quality. So we'll just pick a
11355 default that should work for everyone (4).
11357 2006-01-07 Jonathan Matthew <jonathan@kaolin.hn.org>
11359 * shell/rb-playlist-manager.c: (reap_dead_playlist_threads),
11360 (rb_playlist_manager_shutdown): Fix more compile errors with GCC 4.1.
11362 2006-01-07 Jonathan Matthew <jonathan@kaolin.hn.org>
11364 * shell/rb-shell.c: (rb_shell_add_uri): Fix compile error introduced
11365 in my previous commit. Fixes #326037.
11367 2006-01-06 Ryan P Skadberg <skadz@stigmata.org>
11369 patch by: Jonathan Matthew
11371 * rhythmdb/rhythmdb.c: (rhythmdb_event_free): Fixed compile
11372 error on Fedora Rawhide.
11374 2006-01-07 Jonathan Matthew <jonathan@kaolin.hn.org>
11376 * shell/rb-shell.c: (rb_shell_guess_type_for_uri):
11377 Assume HTTP URLs ending with .xml or .rss are podcasts.
11378 (rb_shell_add_uri): Handle adding podcast feeds.
11380 * sources/rb-podcast-source.c: (rb_podcast_source_new):
11381 Register as the source for podcast feeds.
11383 2006-01-07 Jonathan Matthew <jonathan@kaolin.hn.org>
11385 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_set_property):
11386 * shell/rb-shell-preferences.c: (rb_shell_preferences_append_page),
11387 (rb_shell_preferences_append_view_page):
11388 * shell/rb-shell-preferences.h:
11389 Fix typo in function name. Fixes #325992.
11391 2006-01-07 Jonathan Matthew <jonathan@kaolin.hn.org>
11393 * shell/rb-audioscrobbler.c:
11394 Add '+' to the list of characters to URI-encode, so it doesn't get
11395 interpreted as a space.
11397 2006-01-06 Jonathan Matthew <jonathan@kaolin.hn.org>
11399 * daapsharing/rb-daap-connection.c: (rb_daap_connection_logout),
11400 (rb_daap_connection_do_something): Don't crash if the DAAP server
11401 goes away while we're still trying to log in.
11403 2006-01-06 James Livingston <jrl@ids.org.au>
11405 * rhythmdb/rhythmdb.c: (rhythmdb_query_preprocess): fix Year criteria.
11407 2006-01-06 James Livingston <jrl@ids.org.au>
11409 Patch from: Alex Lancaster <alexl@users.sourceforge.net> to add
11410 support for Year to automatic playlists. Closes bug 321341.
11412 * rhythmdb/rhythmdb-query-model.c:
11413 (rhythmdb_query_model_set_property):
11414 * rhythmdb/rhythmdb-tree.c: (evaluate_conjunctive_subquery):
11415 * rhythmdb/rhythmdb.c: (rhythmdb_query_parse_valist),
11416 (rhythmdb_query_free), (rhythmdb_query_serialize),
11417 (rhythmdb_query_deserialize), (rhythmdb_query_internal),
11418 (rhythmdb_query_get_type), (rhythmdb_query_preprocess):
11419 * rhythmdb/rhythmdb.h: Support special
11420 RHYTHMDB_QUERY_PROP_YEAR_{EQUALS,GREATER,LESS} database search for
11423 * widgets/rb-query-creator-properties.c:
11424 (yearCriteriaCreateWidget), (yearCriteriaSetWidgetData),
11425 (yearCriteriaGetWidgetData): add Year to the list of criteria options.
11427 2006-01-06 James Livingston <jrl@ids.org.au>
11429 * configure.ac: make the playback backend selection work correctly
11431 * daapsharing/rb-daap-src.c: (rb_daap_src_get_type),
11432 (rb_daap_src_class_init), (rb_daap_src_dispose),
11433 (rb_daap_src_change_state), (rb_daap_src_initialize):
11434 * daapsharing/rb-daap-src.h: revent the G_DEFINE_TYPE change, since it
11435 doesn't work for this class. Fixes bug 325934
11437 2006-01-06 Jonathan Matthew <jonathan@kaolin.hn.org>
11439 * configure.ac: Fix check for libnotify.
11441 2006-01-05 William Jon McCann <mccann@jhu.edu>
11443 * sources/rb-playlist-source.c (xml_get_and_trim_names):
11444 Get name element for current lang and remove all name nodes
11446 (get_playlist_name_from_xml): Try to get name element or
11447 fall back to name attribute.
11448 (rb_playlist_source_new_from_xml): Get name before turning over
11449 to sub-types for parsing so that we can remove name elements
11450 from the tree if necessary.
11452 * shell/rb-playlist-manager.c (rb_playlist_manager_load_playlists):
11453 Load default playlists file if per user playlists are not found.
11455 * data/playlists.xml.in:
11456 * data/Makefile.am:
11457 * data/.cvsignore: Add default set of playlists.
11460 2006-01-05 Jonathan Matthew <jonathan@kaolin.hn.org>
11462 * shell/main.c: (main): Don't use the dbus interface to show the
11463 window if we're also going to use the bonobo interface.
11465 2006-01-05 Jonathan Matthew <jonathan@kaolin.hn.org>
11467 * shell/rb-history.c: (rb_history_set_playing):
11468 Allow setting the playing song to NULL.
11469 (rb_history_append), (rb_history_delete_link):
11470 Don't randomly change position when entries are added and removed,
11471 it confuses play orders.
11473 * shell/rb-play-order-random.c: (rb_random_play_order_class_init):
11474 Random orders always have a next entry if the model is not empty.
11475 (rb_random_play_order_get_next), (rb_random_play_order_go_next):
11476 Go back to the start of the history if we're past its end.
11478 * shell/rb-play-order-shuffle.c: (rb_shuffle_play_order_get_next),
11479 (rb_shuffle_play_order_go_next): Go back to the start of the history
11480 if we're past its end.
11481 (rb_shuffle_sync_history_with_query_model): Go back to the start of
11482 the history if the current entry is removed.
11484 * shell/rb-play-order.c: (rb_play_order_entry_added_cb),
11485 (rb_play_order_entry_deleted_cb): Only update have next/previous for
11486 the play order when the query has finished. This wasted about 10% CPU
11487 while the query was running.
11489 Fixes #324641: assertion failures when the query model was changed
11490 such that the playing song was no longer present.
11492 2006-01-05 James Livingston <jrl@ids.org.au>
11494 * daapsharing/rb-daap-src.c: (rb_daap_src_class_init),
11495 (rb_daap_src_dispose), (rb_daap_src_change_state):
11496 * rhythmdb/rhythmdb-gda.c: (rhythmdb_gda_class_init),
11497 (rhythmdb_gda_finalize):
11498 * widgets/rb-cell-renderer-pixbuf.c:
11499 * widgets/rb-cell-renderer-rating.c:
11500 (rb_cell_renderer_rating_class_init),
11501 (rb_cell_renderer_rating_finalize):
11502 * widgets/rb-druid.c: (rb_druid_class_init), (rb_druid_finalize):
11503 * widgets/rb-load-failure-dialog.c:
11504 (rb_load_failure_dialog_class_init),
11505 (rb_load_failure_dialog_finalize):
11506 * widgets/rb-rating.c: (rb_rating_class_init),
11507 (rb_rating_finalize):
11508 * widgets/rb-search-entry.c: (rb_search_entry_class_init),
11509 (rb_search_entry_finalize): use G_DEFINE_TYPE
11511 * widgets/rb-tree-model-sort.{c.h}: remove obsolete files from cvs.
11513 2006-01-05 James Livingston <jrl@ids.org.au>
11515 patch by: Lubomir Marinov <lubomir.marinov@gmail.com>
11517 * shell/rb-commander.{c,h}: remove obsolete files, that weren't put in
11520 * shell/rb-history.c: (rb_history_class_init),
11521 (rb_history_finalize):
11522 * shell/rb-playlist-manager.c: (rb_playlist_manager_class_init),
11523 (rb_playlist_manager_finalize):
11524 * shell/rb-remote.c: (rb_remote_finalize), (rb_remote_class_init),
11525 (rb_remote_init): use G_DEFINE_TYPE.
11527 2006-01-05 James Livingston <jrl@ids.org.au>
11529 * configure.ac: don't try to use libnotify >= 0.3.0 because of API
11532 2006-01-04 William Jon McCann <mccann@jhu.edu>
11534 * shell/rb-playlist-manager.c (rb_playlist_manager_set_property):
11535 Disable burn action when source is not a playlist.
11538 2006-01-04 Jonathan Matthew <jonathan@kaolin.hn.org>
11540 Optionally use libnotify to display song change and other
11541 notifications, and provide an option to disable notifications.
11542 Fixes #320355 and innumerable informal complaints.
11544 * widgets/eggtrayicon.c: (egg_tray_icon_init),
11545 (egg_tray_icon_unrealize), (egg_tray_icon_send_message),
11546 (egg_tray_icon_cancel_message), (egg_tray_icon_hide_notify_cb),
11547 (egg_tray_icon_notify):
11548 * widgets/eggtrayicon.h:
11550 * shell/Makefile.am:
11551 Optionally use libnotify instead of eggnotificationbubble.
11553 * shell/rb-tray-icon.c: (rb_tray_icon_class_init),
11554 (rb_tray_icon_constructor),
11555 (rb_tray_icon_show_notifications_changed_cb),
11556 (rb_tray_icon_hide_notify_cb)
11557 (rb_tray_icon_cancel_notify), (rb_tray_icon_notify):
11558 Add 'show notifications' action handling, use G_DEFINE_TYPE, move
11559 EggNotificationBubble pointer to eggtrayicon.
11561 * data/ui/rhythmbox-ui.xml: Add 'show notifications' menu item
11562 * lib/rb-preferences.h: Add #define for /ui/show_notifications key
11563 * data/rhythmbox.schemas: Add schema for /ui/show_notification key
11565 2006-01-04 William Jon McCann <mccann@jhu.edu>
11567 * sources/rb-playlist-source-recorder.c (rb_playlist_source_recorder_init):
11568 Request a minimum size for the progress bar so that
11569 the window doesn't shrink too small.
11571 2006-01-03 Jonathan Matthew <jonathan@kaolin.hn.org>
11573 * daapsharing/rb-daap-share.c: (databases_cb): (db_entry_added_cb),
11574 (add_db_entry), (db_entry_deleted_cb):
11575 Don't track the number of songs currently present, track the next ID
11576 to assign. Fixes potential ID conflict problems.
11578 (db_entry_changed_cb), (rb_daap_share_start_publish),
11579 (rb_daap_share_stop_publish):
11580 Watch for db entry changes, and when songs become non-hidden after
11581 a successful stat, add them to the mapping tables. Fixes #325178,
11582 making the DAAP server usable again.
11584 2006-01-03 Jonathan Matthew <jonathan@kaolin.hn.org>
11586 * shell/rb-statusbar.c: (rb_statusbar_class_init),
11587 (rb_statusbar_construct), (rb_statusbar_init),
11588 (rb_statusbar_finalize), (rb_statusbar_set_property),
11589 (rb_statusbar_get_property), (rb_statusbar_new),
11590 (rb_statusbar_sync_with_source):
11591 * shell/rb-statusbar.h:
11592 Remove visibility management code, stop watching for play order
11593 changes (status bar doesn't show play order any more), remove unused
11594 'player' property, and some other minor cleanup.
11596 * shell/rb-shell.c: (rb_shell_constructor),
11597 (rb_shell_view_statusbar_changed_cb), (rb_shell_sync_smalldisplay),
11598 (rb_shell_sync_statusbar_visibility):
11599 Manage status bar visibility here rather than in the status bar
11600 itself, so we can take small mode into account. Fixes #323589.
11602 2006-01-03 Jonathan Matthew <jonathan@kaolin.hn.org>
11604 * widgets/eggnotificationbubble.c: (draw_bubble):
11605 Move the bubble off the visible screen while setting up bevels.
11608 2006-01-01 Jonathan Matthew <jonathan@kaolin.hn.org>
11610 * shell/rb-shell-player.c: (rb_shell_player_init),
11611 (rb_shell_player_finalize):
11612 Remove unused structure members.
11614 (do_next_idle), (rb_shell_player_error):
11615 Only queue one call to do_next_idle, so we don't skip tracks if we get
11616 two errors for the same song. Fixes #325216.
11618 2006-01-01 Jonathan Matthew <jonathan@kaolin.hn.org>
11620 * data/glade/podcast-feed-properties.glade,
11621 podcast/rb-feed-podcast-properties-dialog.c:
11622 (rb_feed_podcast_properties_dialog_init),
11623 (rb_feed_podcast_properties_dialog_update):
11624 Add 'last episode' field to the podcast feed properties dialog.
11626 * podcast/rb-feed-podcast-properties-dialog.c:
11627 (rb_feed_podcast_properties_dialog_update_last_update),
11628 (rb_feed_podcast_properties_dialog_update_last_episode),
11629 podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed):
11630 Use last-seen property for the time at which we last updated the feed,
11631 and post-time for the time the last episode was published.
11633 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element):
11634 Handle upgrades from 0.9.2; if no post-time was found for a podcast
11635 feed, use last-seen (which in 0.9.2 was the last post time).
11639 2006-01-01 James Livingston <jrl@ids.org.au>
11641 patch by: Gunnar Steinn Magnusson <gsm@gunnarsteinn.com>
11643 * sources/rb-ipod-source.c: (load_ipod_db_idle_cb): read playcount and
11644 year from the ipod database.
11646 2006-01-01 Jonathan Matthew <jonathan@kaolin.hn.org>
11648 * metadata/rb-metadata-gst.c: (rb_metadata_gst_new_decoded_pad_cb):
11649 Only set the pipeline back to NULL state for really uninteresting
11650 files. This was causing deadlocks with various video files.
11653 2006-01-01 Jonathan Matthew <jonathan@kaolin.hn.org>
11655 * data/glade/song-info-multiple.glade:
11656 Add disc number label and field.
11657 * widgets/rb-song-info.c: (rb_song_info_construct_single),
11658 (rb_song_info_constructor):
11659 Handle widgets for disc number.
11660 (rb_song_info_sync_entries_multiple):
11661 Set disc number property on selected entries.
11664 2006-01-01 Jonathan Matthew <jonathan@kaolin.hn.org>
11666 * iradio/rb-new-station-dialog.c: (rb_new_station_dialog_init):
11667 * podcast/rb-new-podcast-dialog.c: (rb_new_podcast_dialog_init):
11668 Activate the default widget when enter is pressed in these dialogs.
11671 2006-01-01 Jonathan Matthew <jonathan@kaolin.hn.org>
11673 * shell/rb-shell-player.c: (rb_shell_player_get_playing_path):
11674 Use rb_shell_player_get_playing_entry, so we get the right entry
11675 when playing from the queue. Fixes #325379.
11677 2005-12-31 Jonathan Matthew <jonathan@kaolin.hn.org>
11679 * podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed):
11680 Include podcast posts with no publication date. Typically
11681 seen in static collections rather than feeds.
11683 2005-12-31 Jonathan Matthew <jonathan@kaolin.hn.org>
11685 * shell/main.c: (main): Don't attempt to handle
11686 bonobo-only arguments if we couldn't get a bonobo
11689 2005-12-31 Jonathan Matthew <jonathan@kaolin.hn.org>
11691 * daapsharing/rb-daap-mdns.c: (rb_daap_mdns_publish),
11692 (rb_daap_mdns_publish_cancel): Clear our_service_name so we don't
11693 abort if daap sharing is disabled and then re-enabled.
11695 2005-12-29 William Jon McCann <mccann@jhu.edu>
11697 * podcast/rb-podcast-parse.c (rb_insert_item):
11699 (rb_podcast_parser_start_element): Support itunes:image.
11700 Add debugging. Don't abuse the break statement. Warn
11701 if state is unknown.
11702 (rb_podcast_parser_end_element): Add debugging. Warn
11703 if state is unknown.
11704 (rb_podcast_parser_characters): Warn if state is unknown.
11706 Fixes parsing of feeds that use the itunes:image element.
11709 2005-12-28 Jonathan Matthew <jonathan@kaolin.hn.org>
11711 * sources/rb-iradio-source.c: (handle_playlist_entry_cb),
11712 (stations_view_drag_data_received_cb):
11713 Remove calls to rhythmdb_entry_lookup_by_location, as
11714 rb_iradio_source_add_station does that anyway.
11716 (rb_iradio_source_add_from_playlist):
11717 If the URL doesn't point to a playlist, add it as the stream
11720 2005-12-27 Jonathan Matthew <jonathan@kaolin.hn.org>
11722 * rhythmdb/rhythmdb.h: (rhythmdb_entry_get_string):
11723 just return NULL for RHYTHMDB_PROP_SEARCH_MATCH,
11724 so we don't get an assertion failure.
11727 2005-12-24 Jonathan Matthew <jonathan@kaolin.hn.org>
11729 * shell/main.c: (load_uri_args): don't compile this in if
11730 neither bonobo nor dbus are enabled. Fixes #324890.
11732 2005-12-22 Jonathan Matthew <jonathan@kaolin.hn.org>
11734 * sources/rb-audiocd-source.c:
11735 (rb_audiocd_scan_songs): Always return the pipeline to NULL state,
11736 so it closes the device.
11738 2005-12-20 James Livingston <jrl@ids.org.au>
11740 * metadata/rb-metadata-gst.c: make the state changes time-out again,
11741 so that it doesn't spend forever getting stuck on the one file. Don't
11742 report errors for failing to change state on known non-audio files.
11744 * player/rb-player-gst.c: (rb_player_construct): let playbin deal with
11745 audio sink creation if we can't create the gconfaudiosink. This lets
11746 it work with only gst-plugins-base on 0.10.
11748 2005-12-20 Jonathan Matthew <jonathan@kaolin.hn.org>
11750 * rhythmdb/rhythmdb-query-model.c:
11751 (rhythmdb_query_model_set_sort_order):
11752 Fix a tiny memory leak in the previous commit.
11754 2005-12-20 Jonathan Matthew <jonathan@kaolin.hn.org>
11756 * rhythmdb/rhythmdb-query-model.c:
11757 (rhythmdb_query_model_set_sort_order):
11758 Don't try to emit reorders for empty query models, since it doesn't
11759 achieve anything and it results in a few warnings.
11761 2005-12-19 William Jon McCann <mccann@jhu.edu>
11763 * sources/rb-playlist-source-recorder.c (rb_playlist_source_recorder_init):
11764 Make burn dialog non-resizable so that the expander can shrink.
11767 2005-12-19 Jonathan Matthew <jonathan@kaolin.hn.org>
11769 * rhythmdb/rhythmdb.c: (rhythmdb_entry_insert): really refuse to
11770 add entries without a location, rather than those with one.
11772 2005-12-19 James Livingston <jrl@ids.org.au>
11774 * shell/rb-shell-player.c: (rb_shell_player_cmd_play): don't crash if
11775 the error isn't set.
11777 2005-12-19 James Livingston <jrl@ids.org.au>
11778 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element): don't
11779 add entries without a location. Fixes bug 324290.
11781 * rhythmdb/rhythmdb.c: (rhythmdb_entry_insert): refuse to add entries
11782 without a location.
11784 * shell/main.c: (main): don't crash if dbus initialisation fails
11785 without setting an error
11787 2005-12-19 Jonathan Matthew <jonathan@kaolin.hn.org>
11789 * sources/rb-library-source.c: Remove unused structure members
11790 (rb_library_source_do_query): Actually use the cached 'all' query.
11793 2005-12-16 Jonathan Matthew <jonathan@kaolin.hn.org>
11795 * sources/rb-audiocd-source.c
11796 (rb_audiocd_get_cd_info): tab
11797 (rb_audiocd_scan_songs): Return boolean success/failure,
11798 fix error messages a bit.
11799 (metadata_cb): Don't crash if we have no tracks
11800 (rb_audiocd_load_songs): Don't try to read metadata if we can't read
11804 2005-12-15 William Jon McCann <mccann@jhu.edu>
11806 * shell/rb-shell.c (rb_shell_sync_fullscreen)
11807 (rb_shell_view_fullscreen_changed_cb): Fix sense of fullscreen gconf
11810 Patch from Jonathan Matthew <jonathan@kaolin.hn.org>
11813 2005-12-14 William Jon McCann <mccann@jhu.edu>
11815 * shell/rb-shell.c (rb_shell_constructor, rb_shell_finalize)
11816 (rb_shell_view_fullscreen_changed_cb, rb_shell_sync_fullscreen)
11817 (fullscreen_changed_cb):
11818 * lib/rb-preferences.h:
11819 * data/ui/rhythmbox-ui.xml:
11820 * data/rhythmbox.schemas:
11821 Add fullscreen mode.
11825 2005-12-14 Ryan P Skadberg <skadz@stigmata.org>
11827 * configure.ac: Removed DBUS_SERVICES_DIR from top-level
11828 configure. It was not working with RPM.
11829 * data/Makefile.am: Switched dbus directory location to use
11830 datadir instead of variable that was not working.
11832 2005-12-13 James Livingston <jrl@ids.org.au>
11834 patch by: Alex Lancaster <alexl@users.sourceforge.net>
11836 * sources/rb-podcast-source.c: (rb_podcast_source_class_init): make
11837 the podcast browser work again. Closes bug 323856.
11839 2005-12-12 William Jon McCann <mccann@jhu.edu>
11841 * sources/rb-podcast-source.c (rb_podcast_source_cmd_properties_feed):
11844 * lib/rb-cut-and-paste-code.c: (eel_strdup_strftime),
11845 (rb_utf_friendly_time):
11846 * lib/rb-cut-and-paste-code.h:
11848 * podcast/rb-feed-podcast-properties-dialog.c:
11849 (rb_feed_podcast_properties_dialog_parse_time):
11850 * podcast/rb-podcast-properties-dialog.c:
11851 (rb_podcast_properties_dialog_parse_time): use rb_utf8_friendly_time
11852 to display the date in a more user friendly way.
11853 For example, if the feed was updated yesterday it will say:
11854 Last updated: Yesterday 10:00 AM
11855 instead of printing the date.
11857 2005-12-12 William Jon McCann <mccann@jhu.edu>
11859 * podcast/rb-podcast-parse.c (rb_set_channel_value)
11860 (rb_set_item_value, rb_insert_item, rb_validate_channel_propert)
11861 (rb_validate_item_propert, rb_podcast_parser_start_element)
11862 (rb_podcast_parser_end_element, rb_podcast_parser_characters):
11863 Use RB style. Check for NULL before strcmp. No C++ comments.
11864 (rb_podcast_parse_load_feed): Fix double free of xmlSAXHandler.
11865 Don't set invalid mime type when mime type is NULL. Fix leaks.
11866 (rb_podcast_parse_date): Add support for some real world
11868 (rb_podcast_parse_time, rb_podcast_parse_channel_free)
11869 (rb_podcast_parse_item_free): Style and no need to check
11870 for NULL before g_free.
11874 2005-12-12 James Livingston <jrl@ids.org.au>
11876 * player/rb-recorder-gst.c: (rb_recorder_construct): use audioresample
11877 with gstreamer 0.10, which replaced audioscale.
11879 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_finalize): use correct
11880 function to free the SoupSession
11882 * shell/rb-source-header.c: (rb_source_header_set_property),
11883 (rb_source_header_disclosure_toggled_cb),
11884 (rb_source_header_view_browser_changed_cb),
11885 (rb_source_header_sync_control_state):
11886 * sources/rb-iradio-source.c: (rb_iradio_source_class_init):
11887 * sources/rb-library-source.c: (rb_library_source_class_init):
11888 * sources/rb-source.c: (rb_source_class_init),
11889 (rb_source_get_status), (default_get_browser_key),
11890 (rb_source_get_browser_key), (rb_source_can_browse),
11891 (rb_source_notify_status_changed),
11892 (rb_source_notify_filter_changed):
11893 * sources/rb-source.h: seperate the enabling of browsers from the use
11896 2005-12-11 William Jon McCann <mccann@jhu.edu>
11898 * data/glade/podcast-feed-properties.glade:
11899 * data/glade/podcast-properties.glade: Use scrolled viewports
11900 for description text. Fix regression of #320509.
11902 2005-12-11 James Livingston <jrl@ids.org.au>
11904 * sources/rb-auto-playlist-source.c:
11905 (rb_auto_playlist_source_class_init), (impl_reset_filters),
11906 (impl_search), (rb_auto_playlist_source_do_query),
11907 (rb_auto_playlist_source_set_query),
11908 (rb_auto_playlist_source_get_query): add support for the search box
11909 to automatic playlists.
11911 * sources/rb-library-source.c: (rb_library_source_dispose): fix minor
11914 2005-12-11 James Livingston <jrl@ids.org.au>
11916 * NEWS: update NEWS
11918 2005-12-11 James Livingston <jrl@ids.org.au>
11920 * rhythmdb/rhythmdb.c: (rhythmdb_sync_library_idle),
11921 (rhythmdb_load), (monitor_subdirectory),
11922 (rhythmdb_sync_library_location): start the library sync and
11923 monitoring in an idle callback.
11925 2005-12-10 William Jon McCann <mccann@jhu.edu>
11927 * sources/rb-podcast-source.c (rb_podcast_source_class_init)
11928 (rb_podcast_source_constructor): Remove unused pixbuf column.
11929 (rb_podcast_source_set_property, rb_podcast_source_get_property):
11930 Use consistent style.
11934 2005-12-11 James Livingston <jrl@ids.org.au>
11936 * rhythmdb/rhythmdb-property-model.c:
11937 (rhythmdb_property_model_init), (rhythmdb_property_model_finalize),
11938 (rhythmdb_property_model_insert),
11939 (rhythmdb_property_model_delete_prop):
11940 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_init),
11941 (rhythmdb_tree_finalize), (rhythmdb_tree_property_new),
11942 (destroy_tree_property):
11943 * rhythmdb/rhythmdb.c: (rhythmdb_init), (rhythmdb_finalize),
11944 (rhythmdb_entry_allocate), (rhythmdb_entry_destroy): remove the use of
11945 GMemChunks, they are crap and deprecated. Improves startup-time and
11946 memory usage slightly.
11948 2005-12-10 William Jon McCann <mccann@jhu.edu>
11950 * shell/rb-shell.c (rb_shell_cmd_about): Updated copyright.
11951 Added license and website info.
11953 * MAINTAINERS.old: Add Colin.
11954 * MAINTAINERS: Add James.
11955 * AUTHORS: Put back in order. Add extra space between name and email
11956 to make it easier to read. Add James and jonathan.
11958 * widgets/rb-song-info.c (rb_song_info_init)
11959 (rb_song_info_constructor): Make sure close button is primary/rightmost.
11961 2005-12-10 Jonathan Matthew <jonathan@kaolin.hn.org>
11963 Play queue implementation. Closes bug 107787.
11965 * data/rhythmbox.schemas: add items for whether the queue should be
11966 displayed as a sidebar, and the height of the sourcelist if it is.
11968 * data/ui/rhythmbox-ui.xml: add 'add to queue' actions for library,
11969 playlist, and podcast popups; add 'view queue as sidebar' menu item,
11970 add popups for queue as source and as sidebar. We need a separate
11971 popup for the sidebar view because otherwise it's hard to tell which
11972 of the visible entry views the action came from.
11974 * lib/rb-preferences.h: Add constant for queue-as-sidebar preference
11976 * po/POTFILES.in: Add new file
11978 * podcast/rb-podcast-manager.{c,h} (rb_podcast_manager_entry_downloaded):
11979 Add helper function for deciding if a podcast episode is available for
11982 * rhythmdb/rhythmdb-query-model.{c,h}: Add ability to programmatically
11983 reorder entries in the query model.
11984 (idle_process_update): Handle new update type used to insert entries
11985 at a particular position in the query model.
11986 (rhythmdb_query_model_add_entry): Use new update type, take an 'index'
11987 parameter to specify the position (-1 meaning 'at the end').
11988 (rhythmdb_query_model_insert_into_main_list): Handle the 'index'
11990 (rhythmdb_query_model_remove_from_main_list): Abort if we're getting
11991 bad entry removal updates for entries that aren't in the model.
11992 (rhythmdb_query_model_emit_reorder): Add helper function for
11994 (rhythmdb_query_model_move_entry): New method for moving entries
11995 around in the model
11996 (rhythmdb_query_model_entry_added_cb),
11997 (rhythmdb_query_model_update_limited_entries),
11998 (rhythmdb_query_model_do_reorder),
11999 (rhythmdb_query_model_do_insert): Pass through the index parameter,
12000 use rhythmdb_query_model_emit_reorder where appropriate.
12002 * shell/rb-playlist-manager.c (rb_playlist_manager_set_property):
12003 Don't allow the queue to be deleted.
12004 (handle_playlist_entry_cb): Update for method signature change
12005 (rb_playlist_manager_save_playlists_async),
12006 (rb_playlist_manager_get_playlists): Don't save the play queue,
12007 don't report it as a playlist.
12009 * shell/rb-play-order.c: Include queue play order in the list of
12013 (rb_shell_class_init), (rb_shell_get_property): Add new property
12014 for access to the clipboard object.
12015 (rb_shell_constructor): Handle playing-from-queue signal to update the
12016 sourcelist display; add queue sidebar in to UI, listen for queue
12017 sidebar pane changes, and read initial settings from gconf.
12018 (rb_shell_playing_source_changed_cb), (rb_shell_playing_from_queue_cb):
12019 Only tell the sourcelist the source has changed if the new source is
12020 not the queue, as we update the sourcelist differently in that case.
12021 (rb_shell_set_window_title): Only use the cached window title if the
12022 playing state was the same when it was created.
12023 (rb_shell_view_queue_as_sidebar_changed_cb): Mangle UI on request.
12024 (rb_shell_sync_pane_visibility): Only hide the side pane if the
12025 sourcelist is hidden and the queue is shown as a source.
12026 (rb_shell_sync_smalldisplay): Disable 'view queue as sidebar' in small
12027 mode, since it doesn't make any sense.
12028 (sourcelist_visibility_changed_cb): Update the visibility of the pane
12030 (rb_shell_sync_paned): Update the queue sidebar pane separator too.
12031 (sidebar_paned_size_allocate_cb): Update sourcelist height in gconf.
12032 (rb_shell_jump_to_entry_with_source): Handle jump to entry when
12033 playing from queue shown as sidebar.
12035 * shell/rb-shell-clipboard.c: Use G_DEFINE_TYPE, move the
12036 MusicProperties action here from rb-shell-player.c, since it acts like
12037 cut/copy/paste etc.
12038 (rb_shell_clipboard_class_init), (rb_shell_clipboard_set_property),
12039 (rb_shell_clipboard_get_property): new property for queue source.
12040 Watch for selection changes in the sidebar entry view as well as the
12042 (rb_shell_clipboard_sync): Rearrange code slightly, include sidebar
12043 actions and MusicProperties.
12044 (rb_shell_clipboard_cmd_queue_delete),
12045 (rb_shell_clipboard_cmd_add_song_to_queue),
12046 (rb_shell_clipboard_cmd_song_info),
12047 (rb_shell_clipboard_cmd_queue_song_info): New action handlers.
12049 * shell/rb-shell-player.{c,h}: Track the source the current playing entry
12050 actually came from (could be the playing source, or the queue), add a
12051 new play order object for the queue, add a property for the queue
12052 source, add a signal for when we switch between playing from the
12053 source and from the queue.
12054 (rb_shell_player_set_property): Handle playing directly from the
12055 queue so we stop once the queue is empty. Create queue play order
12056 when we get the queue source.
12057 (rb_shell_player_get_playing_source): Return the source we're actually
12059 (rb_shell_player_get_playing_entry): Get playing entry from queue if
12060 that's where it is.
12061 (rb_shell_player_set_playing_entry): Update the queue play order if
12062 that's where we're playing from.
12063 (rb_shell_player_play_order_update_cb): Take has next/previous for the
12064 queue into consideration too.
12065 (swap_playing_source): Helper function for switching the playing
12067 (rb_shell_player_do_previous): Check the queue, even though there's
12068 never a previous entry in it (yet), swap playing source if it changed.
12069 (rb_shell_player_do_next): Check the queue for entries to play before
12070 the normal play order, and swap playing source if it changed.
12071 (rb_shell_player_do_previous_or_seek): Check the queue for previous
12072 entries to go to as well.
12073 (rb_shell_player_playpause): Check the queue before the selection and
12074 the play order, and swap playing source if it changed.
12075 (rb_shell_player_cmd_song_info): Move to rb-shell-clipboard.c
12076 (rb_shell_player_entry_activated_cb): Use
12077 rb_podcast_manager_entry_downloaded, do some tapdancing to make
12078 activating queue entries work properly (move the activated entry to
12079 the start of the queue and then play it); if we were playing from the
12080 queue, clear its playing entry so it'll start again from the start
12081 after the activated entry.
12082 (rb_shell_player_sync_buttons): MusicProperties action handler moved
12083 to rb-shell-clipboard.c
12084 (actually_set_playing_source): Add helper for updating the playing
12086 (rb_shell_player_set_playing_source_internal): Emit playing-from-queue
12087 signal if we stop or start doing so; use actually_set_playing_source;
12088 emit playing-source-changed if we actually did change source.
12090 * sources/rb-ipod-source.c (add_rb_playlist): Add extra parameter for
12091 rb_static_playlist_source_add_location.
12093 * sources/rb-library-source.c (rb_library_source_class_init): Allow
12094 enqueueing of songs from the library.
12096 * sources/rb-playlist-source.c (rb_playlist_source_class_init): Allow
12097 enqueueing of sonsg from playlists.
12098 (rb_playlist_source_entry_added_cb): Add extra parameter for
12099 rhythmdb_query_model_add_entry.
12101 * sources/rb-podcast-source.c (rb_podcast_source_class_init):
12102 Implement (can_)add_to_queue for this class.
12103 (rb_podcast_source_entry_activated): Use
12104 rb_podcast_manager_entry_downloaded.
12105 (impl_can_add_to_queue): Return TRUE if at least one entry that has
12106 been downloaded is selected.
12107 (impl_add_to_queue): Only add downloaded entries to the queue.
12109 * sources/rb-source.{c,h}:
12110 (rb_source_can_add_to_queue), (rb_source_add_to_queue): New virtual
12112 (rb_source_class_init): Don't allow enqueueing by default; implement
12113 add_to_queue though.
12114 (default_add_to_queue): Add all selected entries to the queue.
12116 * sources/rb-sourcelist.{c,h}: Add concept of 'preempted' source (what
12117 would be playing if there wasn't anything in the queue).
12118 (set_source_playing): Helper function for manipulating tree store.
12119 (rb_sourcelist_set_playing_source): Use set_source_playing
12120 (rb_sourcelist_preempt_playing_source): Update preempted source
12121 pointer, manipulate source states.
12123 * sources/rb-static-playlist-source.{c,h}:
12124 (rb_static_playlist_source_add_location_internal),
12125 (rb_static_playlist_source_add_location),
12126 (rb_static_playlist_source_add_entry): Add index parameter for
12127 specifying where in the playlist the new entry goes.
12128 (rb_static_playlist_source_new_from_xml), (impl_paste),
12129 (rb_static_playlist_source_add_list_uri),
12130 (rb_static_playlist_source_add_location_swapped),
12131 (rb_static_playlist_source_add_locations),
12132 (rb_static_playlist_source_non_entry_dropped),
12133 (rb_static_playlist_source_row_inserted):
12134 Handle new index parameter everywhere it appears
12135 (rb_static_playlist_source_move_entry): New method for moving entries
12136 around in the playlist.
12138 * widgets/rb-entry-view.c (rb_entry_view_scroll_to_iter): Silence gtk
12139 warnings when trying to scroll entry views that have never been
12142 * shell/rb-play-order-queue.{c,h}: New files, implementing a linear
12143 play order that removes the old entry when switching to a new one.
12145 * sources/rb-play-queue-source.{c,h}: New files, implementing a
12146 static playlist subclass that has a second entry view for the sidebar
12147 view using alternate formatting, and that displays the number of
12148 entries it contains in its source list entry.
12150 2005-12-10 James Livingston <jrl@ids.org.au>
12152 * rhythmdb/rhythmdb-query-model.c:
12153 (rhythmdb_query_model_add_entry),
12154 (rhythmdb_query_model_drag_data_received):
12155 * sources/rb-static-playlist-source.c:
12156 (rb_static_playlist_source_non_entry_dropped): when things are
12157 dropped, ignore any blank lines in the list of uris. Make the source
12158 responsible for adding new items to the db.
12160 * rhythmdb/rhythmdb.c: (queue_stat_uri): make sure we aren't passed an
12163 2005-12-10 James Livingston <jrl@ids.org.au>
12165 * shell/rb-shell-player.c: (rb_shell_player_set_property),
12166 (rb_shell_player_sync_buttons),
12167 (rb_shell_player_selection_changed_cb): watch for the
12168 "selection-changed" signal, so that the Song Properties get enabled.
12171 2005-12-10 James Livingston <jrl@ids.org.au>
12173 * data/rhythmbox.schemas: fix the gconf schema
12175 2005-12-10 James Livingston <jrl@ids.org.au>
12177 * metadata/rb-metadata-gst.c: don't set the state to NULL when inside
12178 the decoded-pad callback with gstreamer 0.8, it causes problems.
12180 2005-12-10 Jonathan Matthew <jonathan@kaolin.hn.org>
12182 Remove more junk from RBEntryView. Closes bug 323640.
12184 * widgets/rb-entry-view.{c,h}:
12185 Remove unused private structure members, replace 'playing' boolean
12186 with an enum (so we know if we're paused too), and store a pointer to
12187 the RBShellPlayer too.
12188 (rb_entry_view_class_init), (rb_entry_view_set_property),
12189 (rb_entry_view_get_property):
12190 Remove 'entry-selected' and 'changed' signals and
12191 'playing-entry' property, add 'selection-changed' signal and
12192 'shell-player' and 'playing-state' properties.
12193 (rb_entry_view_new): Take the shell player object reference
12194 (rb_entry_view_playing_cell_data_func): Get pixbuf based on state.
12195 (rb_entry_view_set_playing_entry), (rb_entry_view_get_playing_entry):
12196 No longer needed, shell player is the place to get this information.
12197 (rb_entry_view_busy), (rb_entry_view_get_duration),
12198 (rb_entry_view_get_total_size), (rb_entry_view_get_first_entry),
12199 (rb_entry_view_get_next_from_entry),
12200 (rb_entry_view_get_previous_from_entry),
12201 (rb_entry_view_get_next_entry), (rb_entry_view_get_random_entry),
12202 (rb_entry_view_get_num_entries):
12203 Removed, callers should go to the query model directly.
12204 (rb_entry_view_playing_song_changed): Update active query model, emit
12205 row changed signals to update pixbufs, and scroll to the playing song
12206 when the playing song changes, based on a signal from the shell
12208 (queue_changed_sig), (rb_entry_view_row_changed_cb),
12209 (emit_entry_changed): Evil, removed.
12210 (rb_entry_view_selection_changed_cb): Remove old signals, add new
12211 selection-changed signal.
12212 (rb_entry_view_select_none), (rb_entry_view_select_entry):
12213 Remove selection lock. It didn't work anyway.
12214 (rb_entry_view_set_playing): Replaced with rb_entry_view_set_state.
12215 (rb_entry_view_emit_row_changed): Simple helper function to emit
12216 row-changed signals.
12218 * widgets/Makefile.am: Entry view needs headers from the shell/
12220 * widgets/rb-song-info.{c,h}: Use the query model for everything except
12222 scrolling the entry view to show the entry being displayed.
12223 (rb_song_info_class_init), (rb_song_info_get_property): Add new
12224 'source' property so we can watch for query model changes.
12225 (rb_song_info_finalize): Unref objects, disconnect signal handlers
12226 (rb_song_info_set_property): Watch for query model changes, don't
12227 watch for entry view changes.
12228 (rb_song_info_new): Take source as a parameter, use the source's entry
12229 view unless one was specifically supplied.
12230 (rb_song_info_backward_clicked_cb), (rb_song_info_forward_clicked_cb):
12231 Use query model rather than entry view to move between songs.
12232 (rb_song_info_update_buttons): Use query model.
12233 (rb_song_info_query_model_changed_cb): Handle query model changes.
12235 * shell/rb-playlist-manager.c (rb_playlist_manager_set_property):
12236 Only one copy of the code to enable/disable the CD burning action
12237 (rb_playlist_manager_playlist_entries_changed):
12238 Use the query model to get the number of entries, not the entry view.
12240 * shell/rb-play-order-random-by-age-and-rating.c,
12241 shell/rb-play-order-random-by-age.c,
12242 shell/rb-play-order-random-by-rating.c,
12243 shell/rb-play-order-random-equal-weights.c:
12246 * shell/rb-shell-player.{c,h}:
12247 Remove a few unused entries from the structure.
12248 (rb_shell_player_set_property):
12249 Don't use the 'changed' signal on the entry view (it's evil)
12250 (rb_shell_player_have_first): No longer needed
12251 (rb_shell_player_play): Just tell the entry view it's playing
12252 (rb_shell_player_playpause): Tell the entry view it's paused
12254 (rb_shell_player_entry_view_changed_cb): No longer used, removed.
12255 (rb_shell_player_property_row_activated_cb):
12256 Get the entry to play using the query model, not the entry view.
12257 (rb_shell_player_sync_buttons): Update entry view state while we're
12259 (rb_shell_player_set_playing_source_internal): Update entry view state
12260 (rb_shell_player_get_playing): Ask the entry view, not the player.
12261 This now returns TRUE when paused. This makes rb_shell_set_elapsed
12262 and rb_shell_set_window_title work properly, so you get "(Paused)" in
12263 the window title and tray icon tooltip.
12264 (rb_shell_player_get_mm_player): Not used anywhere, so removed.
12266 * sources/rb-iradio-source.c, sources/rb-library-source.c,
12267 sources/rb-podcast-source.c, sources/rb-playlist-source.c:
12268 (rb_iradio_source_constructor): Pass the RBShellPlayer in to the entry
12269 view constructor, pass the source in to the song info widget
12272 * shell/rb-shell-clipboard.c (rb_shell_clipboard_set_property):
12273 Use 'selection-changed' instead of 'changed', since that's what the
12274 clipboard cares about.
12275 (rb_shell_clipboard_set_source): Don't die if source == NULL
12277 2005-12-10 James Livingston <jrl@ids.org.au>
12279 * player/rb-recorder-gst.c: (rb_recorder_get_default_drive):
12280 * sources/rb-playlist-source-recorder.c:
12281 (_nautilus_burn_drive_new_from_path): make more of the libnautilusburn
12282 stuff not use the deprecated API when compiled against 2.13
12284 2005-12-10 James Livingston <jrl@ids.org.au>
12286 patch by: Alex Lancaster <alexl@users.sourceforge.net>
12288 * widgets/rb-song-info.c: (rb_song_info_sync_entry_single): fix
12289 problem where the genre tag was getting set to the artist. Closes bug
12292 2005-12-09 William Jon McCann <mccann@jhu.edu>
12294 * rhythmdb/rhythmdb-query-model.c (rhythmdb_query_model_get_next_from_entry):
12295 Return NULL if can't get first iter.
12299 2005-12-09 William Jon McCann <mccann@jhu.edu>
12301 * sources/rb-iradio-source.[ch] (impl_song_properties): Use
12302 updated rb_station_properties_dialog_new API.
12303 (rb_iradio_source_add_from_playlist): New public function.
12304 (rb_iradio_source_first_time_changed): Use add_from_playlist.
12306 * shell/rb-shell.c (new_station_location_added): Handle
12307 iradio location added signal.
12308 (rb_shell_cmd_new_station): Use new iradio station dialog.
12310 * iradio/rb-station-properties-dialog.c (rb_station_properties_dialog_init): Use close button. Fix typo.
12311 (rb_station_properties_dialog_new): Don't squeeze new
12312 station functionality into this class.
12313 (rb_station_properties_dialog_response_cb): ditto.
12314 (rb_station_properties_dialog_update_title): Make
12315 consistent with other properties dialogs.
12316 (rb_station_properties_dialog_location_changed_cb): Do nothing.
12318 * iradio/rb-new-station-dialog.[ch]:
12319 * iradio/Makefile.am: Add new station dialog.
12321 * data/glade/station-new.glade: New file based on
12322 new podcast feed dialog.
12323 * data/glade/station-properties.glade: Updated to
12324 be consistent with song properties dialog.
12328 2005-12-10 James Livingston <jrl@ids.org.au>
12330 patch by: Ståle Lyngaas <staale@lyngaas.com>
12332 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_song_changed_cb):
12333 submit songs longer than 30 minutes. Fixes bug 323639.
12335 2005-12-09 William Jon McCann <mccann@jhu.edu>
12337 * shell/rb-shell.c (idle_save_playlist_manager): Use new
12338 async save function.
12339 (rb_shell_finalize): Remove save timeout sources. Reorder
12340 steps a bit to make saving db and playlists a bit more
12341 failsafe in case something goes wrong later.
12342 (rb_shell_constructor): Keep track of save timeout source.
12343 (add_to_library_response_cb): Keep track of db save timeout source.
12345 * shell/rb-playlist-manager.c (reap_dead_playlist_threads): Use
12347 (rb_playlist_manager_shutdown): New function to shutdown
12348 threads etc. before exit.
12349 (rb_playlist_manager_finalize): Moved handling outstanding
12350 threads stuff to shutdown since if there are outstanding threads
12351 they hold a ref and finalize is never called.
12352 (rb_playlist_manager_save_thread_main): Use cond broadcast instead
12353 of signal which may be required for sync save.
12354 (rb_playlist_manager_save_playlists_async): Renamed old
12355 save_playlists to save_playlists_async. Use g_atomic.
12356 (rb_playlist_manager_save_playlists): New function to
12357 perform sync saves (symmetric with RhythmDB API).
12358 (rb_playlist_manager_cmd_new_automatic_playlist): Style consistency.
12360 * rhythmdb/rhythmdb.c (rhythmdb_action_free, rhythmdb_shutdown):
12361 Style consistency anality.
12362 (rhythmdb_finalize): Remove save timeout source.
12363 (rhythmdb_set_property, rhythmdb_get_property)
12364 (rhythmdb_process_events): More anality and keep track of
12365 save timeout source.
12366 (action_thread_main): No need to call g_thread_exit.
12367 (rhythmdb_entry_set_internal, rhythmdb_entry_sync_mirrored)
12368 (rhythmdb_query_parse_valist, rhythmdb_query_free)
12369 (write_encoded_gvalue, read_encoded_property): La la la.
12373 2005-12-10 James Livingston <jrl@ids.org.au>
12375 * metadata/rb-metadata-gst.c: fix 5 second pauses when encountering
12378 2005-12-10 James Livingston <jrl@ids.org.au>
12381 * configure.ac: remove the rpm spec files, so that automake works.
12384 * rhythmdb/rhythmdb.c: (rhythmdb_save_thread_main): fix a trivial
12387 2005-12-09 James Livingston <jrl@ids.org.au>
12389 * debian/: try to get cvs to actually remove the files
12391 2005-12-09 James Livingston <jrl@ids.org.au>
12393 * rhythmbox.spec.in:
12394 * debian/: remove the distro package stuff, they are *really* old, and
12395 downstream manage it anyway.
12397 2005-12-09 Jonathan Matthew <jonathan@kaolin.hn.org>
12399 Rework play orders to work off query models rather than
12400 entry views, and track the playing entry themselves rather
12401 than relying on the entry view to do it. This makes the entry
12402 view mostly just a widget. Closes bug 323612.
12404 * daapsharing/rb-daap-share.c (add_playlist_to_mlcl), (databases_cb):
12405 Use query model rather than entry view to get the number
12406 of entries in playlists.
12408 * rhythmdb/rhythmdb-query-model.{c.h}
12409 (rhythmdb_query_model_tree_path_to_entry),
12410 (rhythmdb_query_model_iter_to_entry),
12411 (rhythmdb_query_model_get_next_from_entry),
12412 (rhythmdb_query_model_get_previous_from_entry):
12413 New utility functions for iterating through query models.
12414 (rhythmdb_query_model_compute_status_normal):
12415 Have one copy of this code, not four.
12417 * shell/rb-play-order.{c,h}:
12418 Add signals for when next/previous availability changes, and
12419 when the playing entry is removed, and add a property for
12420 the current playing entry. Add gtkdoc comments too.
12421 (rb_play_order_class_init): Add new property and signals.
12422 (rb_play_order_finalize), (rb_play_order_playing_source_changed),
12423 (rb_play_orer_query_model_changed_cb),
12424 (rb_play_order_query_model_changed):
12425 Use query model rather than entry view.
12426 (rb_play_order_set_property), (rb_play_order_get_property):
12427 Handle new playing-entry property. Call playing_entry_changed virtual
12428 method so subclasses can do any processing required.
12429 (rb_play_order_is_playing), (rb_play_order_get_playing_entry),
12430 (rb_play_order_set_playing_entry):
12431 Just use the playing-entry property.
12432 (rb_play_order_get_query_model), (rb_play_order_model_not_empty):
12433 Utility methods for subclasses.
12434 (rb_play_order_entry_added_cb), (rb_play_order_entry_removed_cb):
12435 Update next/previous availability, check if the playing entry
12437 (default_playing_entry_removed):
12438 Keep the current behaviour of just stopping playback when the
12439 playing entry is deleted.
12440 (rb_play_order_go_next), (rb_play_order_go_previous): Implement
12441 these for subclasses that don't have go_next/go_previous, but do
12442 have get_next/get_previous.
12443 (rb_play_order_update_have_next_previous): Emit signal if the
12444 availability of next/previous entries has changed.
12446 * shell/rb-play-order-linear.c, shell/rb-play-order-linear-loop.c,
12447 shell/rb-play-order-shuffle.c, shell/rb-play-order-random.c:
12448 Use G_DEFINE_TYPE, replace entry view iterator with query model
12450 (rb_shuffle_playing_entry_changed): If new_entry is NULL and we're
12451 on the last song in the shuffled order, go back to the start. This
12452 means if you press 'play' again you'll get the whole order again, not
12455 * shell/rb-shell-player.c:
12456 (rb_shell_player_get_playing_entry), (info_available_cb): Ask the
12457 play order rather than the entry view.
12458 (rb_shell_player_set_property): Update the play order when the
12459 selected source changes and we aren't playing anything.
12460 (rb_shell_player_sync_play_order): Copy the playing entry across to
12461 the new play order so playback continues from the same song, and watch
12462 for updates to have_next/have_previous.
12463 (rb_shell_player_play_order_update_cb): Enable/disable the
12464 next/previous actions when next/previous entry availability changes.
12465 (rb_shell_player_jump_to_current): Just use the play order's idea of
12466 what's playing, not the entry view's; if not playing anything, clear
12467 the selection, so when a playlist ends and you hit play again, it'll
12468 start at the start rather than the end.
12469 (rb_shell_player_do_previous): restructure a bit.
12470 (rb_shell_player_do_next): restructure, jump to new playing entry in
12471 an idle handler instead of directly.
12472 (rb_shell_player_do_previous_or_seek): Only try to go to the previous
12473 song if there is one.
12474 (rb_shell_player_playpause): Jump to playing song, don't update the
12475 play order if we got the song from the selection.
12476 (rb_shell_player_playing_entry_deleted_cb): Not needed.
12477 (rb_shell_player_sync_buttons): rb_shell_player_play_order_update_cb
12478 looks after next/previous actions now. Don't break if called while
12479 there is no selected source.
12480 (rb_shell_player_finalize), (rb_shell_player_set_playing_entry),
12481 (rb_shell_player_set_playing_source_internal),
12482 (rb_shell_player_error): No need to track the attempted playing entry
12483 any more, since the play order does that.
12485 * shell/rb-shell.c:
12486 (rb_shell_jump_to_current), (rb_shell_set_rating_impl): Use
12487 rb_shell_player_get_playing_entry rather than going through the entry
12490 * shell/rb-statusbar.c (rb_statusbar_set_property),
12491 (rb_statusbar_source_status_changed_cb): Listen to the source rather
12492 than the entry view for status bar text changes.
12493 (rb_statusbar_sync_status): Ask the query model directly
12495 * sources/rb-source.{c}: Add query model property.
12496 (default_get_status): Get status text from query model, should be
12497 suitable for most sources.
12498 (rb_source_set_property): Listen for changes to the query model
12499 to update the status text.
12500 (rb_source_row_inserted_cb), (rb_source_row_deleted_cb),
12501 (idle_emit_status_changed): Emit status-changed signals when query
12504 * sources/rb-library-source.c, sources/rb-podcast-source.c:
12505 (impl_get_status): Not needed, RBSource does this now
12506 (rb_library_source_do_query) (rb_podcast_source_do_query):
12507 Update RBSource's query model reference.
12509 * sources/rb-playlist-source.c:
12510 Remove query-model property, since RBSource has one now
12511 (impl_get_status): Not needed, RBSource does this now
12512 (rb_playlist_source_row_deleted): Use query model iterator helper
12514 (rb_playlist_source_set_query_model): Update RBSource's query model
12517 * sources/rb-iradio-source.c:
12518 (impl_get_status): Ask the query model directly.
12519 (rb_iradio_source_do_query): Update RBSource's query model reference
12520 when we create a new query.
12522 * sources/rb-sourcelist-model.c (rb_sourcelist_model_drag_data_get):
12523 Use query model rather than entry view.
12525 * widgets/rb-entry-view.{c,h}:
12526 Remove playing_entry_deleted signal (now in play order).
12527 (entry_from_tree_path), (entry_from_tree_iter): Not needed
12528 as RhythmDBQueryModel has equivalent helper functions.
12529 (rb_entry_view_*): Use query model helpers instead of the above two
12532 2005-12-09 James Livingston <jrl@ids.org.au>
12535 * player/rb-recorder-gst.c: (rb_recorder_get_default_drive),
12536 (rb_recorder_enabled):
12537 * shell/rb-removable-media-manager.c: (poll_tray_opened):
12538 * sources/rb-playlist-source-recorder.c:
12539 (_nautilus_burn_drive_new_from_path), (ask_rewrite_disc): check
12540 whether libnautilusburn has the _drive_unref function, and if so use
12541 it. Stops it complaining about deprecated API.
12543 2005-12-09 James Livingston <jrl@ids.org.au>
12545 * configure.ac: drop the minimum gstreamer version back down, it
12546 accidently got pushed up in the gst 0.10 patch. Closes bug 323561.
12548 2005-12-09 James Livingston <jrl@ids.org.au>
12550 * widgets/rb-song-info.c: (rb_song_info_class_init),
12551 (rb_song_info_show), (rb_song_info_constructor),
12552 (rb_song_info_finalize), (rb_song_info_backward_clicked_cb),
12553 (rb_song_info_forward_clicked_cb): save metadata changes when the
12554 Next/Previous buttons are pressed (closes bug 320952). use
12557 2005-12-09 James Livingston <jrl@ids.org.au>
12559 Patch by: <jonathan@kaolin.hn.org>
12561 * sources/rb-iradio-source.c:
12562 (stations_view_drag_data_received_cb):
12563 * sources/rb-podcast-source.c: (impl_receive_drag): fix drag and drop
12564 of urls. Fixes bug 323610.
12566 2005-12-09 James Livingston <jrl@ids.org.au>
12568 patch by Jan Schmidt <thaytan@mad.scientist.com> to add support for
12569 GStreamer 0.10. DAAP support for 0.10 isn't done yet.
12572 * metadata/rb-metadata-gst.c:
12573 * player/rb-player-gst.c: (rb_player_finalize), (rb_player_bus_cb),
12574 (rb_player_construct), (rb_player_new):
12575 * player/rb-recorder-gst.c: (rb_recorder_gst_free_pipeline),
12576 (rb_recorder_gst_signal_error), (pipe_message),
12577 (rb_recorder_new_pad_cb), (rb_recorder_construct),
12579 * shell/main.c: (main):
12580 * sources/rb-audiocd-source.c: (rb_audiocd_create_track_entry),
12581 (rb_audiocd_get_cd_info): port gstreamer-using code to 0.10.
12583 2005-12-07 Jonathan Matthew <jonathan@kaolin.hn.org>
12585 * data/rhythmbox-ui.xml: replace 'smart' with 'auto' for consistency
12587 * shell/rb-playlist-manager.c:
12588 (rb_playlist_manager_set_property), (handle_playlist_entry_cb),
12589 (playlist_load_start_cb), (rb_playlist_manager_new_playlist)
12590 (rb_playlist_manager_set_automatic_playlist),
12591 (rb_playlist_manager_cmd_new_automatic_playlist),
12592 (rb_playlist_manager_cmd_edit_automatic_playlist):
12593 Use new playlist subclasses.
12594 (rb_playlist_manager_save_playlists): Only read the dirty flag
12595 for local playlists, minor pointless reformatting
12597 * sources/Makefile.am: add new files
12599 * sources/rb-playlist-source.c, sources/rb-playlist-source.h:
12600 split lots of stuff out into two
12601 new classes, RBStaticPlaylistSource and RBAutoPlaylistSource,
12602 make RBPlaylistSource abstract, add virtual methods for showing a
12603 popup for the entry view and saving the playlist to XML.
12604 Other stuff is subclass-specific, or already virtual in RBSource.
12606 * sources/rb-playlist-xml: Define playlist XML tags and attributes
12607 in one place, since they're used across three source files now
12609 * sources/rb-daap-source.c: (rb_daap_source_connection_cb):
12610 Use new static playlist class
12612 * sources/rb-ipod-source.c: (add_rb_playlist):
12613 Use new static playlist class
12615 * sources/rb-static-playlist-source.{c,h},
12616 source/rb-auto-playlist-source.{c,h}, sources/rb-playlist-xml.h: new
12619 * po/POTFILES.in: add new files
12621 2005-12-07 James Livingston <jrl@ids.org.au>
12623 * rhythmdb/rhythmdb.c: (emit_entry_changed), (sync_entry_changed),
12624 (rhythmdb_commit_internal), (rhythmdb_process_metadata_load): make
12625 metadata loads not attempt to write changes to disk.
12627 2005-12-07 James Livingston <jrl@ids.org.au>
12629 patch by: Alex Lancaster <alexl@users.sourceforge.net>
12631 * data/glade/song-info-multiple.glade:
12632 * widgets/rb-song-info.c: (rb_song_info_constructor),
12633 (rb_song_info_sync_entries_multiple): allow the year to be changed on
12634 multiple songs at once.
12636 2005-12-06 James Livingston <jrl@ids.org.au>
12638 * rhythmdb/rhythmdb.c: (rhythmdb_process_metadata_load),
12639 (rhythmdb_entry_set_visibility): emit signal when visibility changes.
12641 2005-12-06 James Livingston <jrl@ids.org.au>
12643 * sources/rb-sourcelist.c: (rb_sourcelist_init): ellipsise source
12644 names rather than adding a horizontal scroll bar.
12646 2005-12-06 James Livingston <jrl@ids.org.au>
12648 * rhythmdb/rhythmdb-query-model.c:
12649 (rhythmdb_query_model_update_limited_entries),
12650 (rhythmdb_query_model_drag_data_received): remove some pointless debug
12653 * rhythmdb/rhythmdb.c: (rhythmdb_process_stat_event),
12654 (rhythmdb_process_file_deleted), (rhythmdb_entry_move_to_trash):
12655 always hide rather than remove DB entries, which will make RB not lose
12656 information when tag editing happens or people move files to trash and
12657 then change their mind. Also fix some races where the monitoring code
12658 would notice the temporary files generated by saving metadata.
12660 2005-12-05 William Jon McCann <mccann@jhu.edu>
12662 * widgets/rb-song-display-box.[ch] (rb_song_display_box_init):
12663 Hide internals and add tooltips.
12664 (rb_song_display_box_size_allocate): Hide internals.
12665 (sanitize_string, info_url): Copied from rb-header.
12666 (rb_song_display_box_sync): New public function.
12668 * widgets/rb-header.[ch]: Use G_DEFINE_TYPE.
12669 (rb_header_init): Use a separate row for the seek bar.
12670 (rb_header_finalize): Don't unref widgets.
12671 (rb_header_sync): Use rb_song_display_box_sync.
12672 (rb_header_set_urldata)
12673 (rb_header_set_show_artist_album): Hide instead of remove widgets.
12674 (rb_header_set_show_position_slider): Set visibility of seek bar.
12675 (rb_header_set_show_timeline): Set sensitivity of seek bar.
12676 (rb_header_get_elapsed_string): Don't shift when you first start playback.
12678 * shell/rb-statusbar.c (rb_statusbar_init)
12679 (rb_statusbar_sync_state): Remove shuffle and repeat controls.
12681 * shell/rb-shell.c (rb_shell_finalize): Destroy tooltips.
12682 (rb_shell_constructor): Remove hseparator. Monitor
12683 toolbar visibility settings. Add toolbar. Add
12684 volume button to toolbar. Add tooltips for volume button.
12685 (rb_shell_view_toolbar_changed_cb)
12686 (rb_shell_sync_toolbar_visibility)
12687 (toolbar_visibility_changed_cb): Set visibility of
12689 (rb_shell_sync_smalldisplay): Set the toolbar style to
12690 icons only when in small display mode.
12691 (rb_shell_volume_widget_changed_cb): Save volume setting.
12693 * shell/rb-shell-player.c (rb_shell_player_constructor):
12694 Remove pause and stop actions. Make play action "important"
12695 so that text is visible in horizontal toolbar position.
12696 Remove control buttons.
12697 (rb_shell_player_init)
12698 (rb_shell_player_sync_song_position_slider_visibility):
12699 Set visbibility of seek bar.
12700 (rb_shell_player_cmd_play, rb_shell_player_playpause):
12701 Make play action a toggle.
12702 (rb_shell_player_sync_volume): Volume control moved
12704 (gconf_song_position_slider_visibility_changed):
12705 Set visbibility of seek bar.
12706 (rb_shell_player_sync_buttons):
12707 Set sensitivity of actions instead of buttons.
12708 (rb_shell_player_playing_changed_cb): Add callback
12709 for player notify::playing changes.
12711 * lib/rb-preferences.h: Add hide toolbar and seek
12714 * data/ui/rhythmbox-ui.xml: Add hide toolbar and
12715 seek bar menu items. Remove pause and stop actions
12716 from the control menu. Add a toolbar.
12718 * data/rhythmbox.schemas: Add toolbar_hidden
12719 song_position_slider_hidden keys.
12721 Patch by: James Livingston <jrl@ids.org.au>
12722 William Jon McCann <mccann@jhu.edu>
12725 2005-12-05 James Livingston <jrl@ids.org.au>
12727 * data/glade/library-prefs.glade:
12728 * data/rhythmbox.schemas:
12729 * lib/rb-preferences.h:
12730 * rhythmdb/rhythmdb.c: (rhythmdb_directory_change_cb),
12731 (rhythmdb_sync_library_location):
12732 * sources/rb-library-source.c: (rb_library_source_class_init),
12733 (rb_library_source_finalize), (rb_library_source_constructor),
12734 (impl_get_config_widget), (rb_library_source_preferences_sync),
12735 (rb_library_source_watch_toggled_cb): allow people to disable library
12736 monitoring, because with nothing set the file chooser button selects
12737 the Home folder (and hence that will get monitored).
12739 2005-12-04 Ryan P Skadberg <skadz@stigmata.org>
12741 * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed): Another
12742 attempt to fix problem with RSS parsing showing invalid feed types.
12745 2005-12-04 James Livingston <jrl@ids.org.au>
12747 * rhythmdb/rhythmdb.c: (rhythmdb_process_metadata_load),
12748 (rhythmdb_execute_stat_info_cb), (rhythmdb_execute_stat): make
12749 importing a remote directory not block the UI.
12751 2005-12-03 Dennis Cranston <dennis_cranston@yahoo.com>
12753 * data/glade/podcast-feed-properties.glade:
12754 * data/glade/podcast-properties.glade: HIG fix, closes bug 323131.
12756 2005-12-04 James Livingston <jrl@ids.org.au>
12758 patch by: Dennis Cranston <dennis_cranston@yahoo.com>
12760 * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed): change ||
12761 to && to fix a mistake in the earlier podcast patch.
12763 2005-12-03 James Livingston <jrl@ids.org.au>
12765 * data/glade/podcast-new.glade:
12766 * podcast/rb-new-podcast-dialog.c: (rb_new_podcast_dialog_init),
12767 (rb_new_podcast_dialog_text_changed): remove some unused stuff.
12769 * player/rb-player-gst.c: (rb_player_set_replaygain): initialise the
12770 GValue, which stops occasional errors.
12772 * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed): fix a
12775 2005-12-03 James Livingston <jrl@ids.org.au>
12777 patch by: Dennis Cranston <dennis_cranston@yahoo.com>
12779 * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed): fix a
12780 crasher with some podcasts feeds.
12782 2005-12-03 James Livingston <jrl@ids.org.au>
12784 * data/rhythmbox.schemas: fix the gconf schema
12786 2005-12-03 James Livingston <jrl@ids.org.au>
12788 patch by: Thomas de Grenier de Latour <degrenier@easyconnect.fr> to
12789 add a selection timeout to the sourcelist. This lets you hold a track
12790 over the playlist source, and then have the view switch so you can
12791 insert the track in the middle of the playlist. Closes bug 323044.
12793 * lib/rb-tree-dnd.c: (init_rb_tree_dnd_data), (scroll_row_timeout),
12794 (select_on_drag_timeout), (remove_select_on_drag_timeout),
12795 (rb_tree_dnd_drag_motion_cb), (rb_tree_dnd_drag_leave_cb),
12796 (rb_tree_dnd_add_drag_dest_support):
12797 * lib/rb-tree-dnd.h: Add an option for tree views to have a selection
12800 * sources/rb-sourcelist-model.c:
12801 (rb_sourcelist_model_set_dnd_targets): Use the selection timeout for
12804 2005-12-02 Bastien Nocera <hadess@hadess.net>
12806 * data/glade/audioscrobbler-prefs.glade: add a space before the web
12807 links, so that the text doesn't touch the button
12809 2005-12-02 James Livingston <jrl@ids.org.au>
12811 Add full support for gnome-vfs remote files. Closes bug 140355.
12813 * rhythmdb/rhythmdb.c: (rhythmdb_execute_stat_info_cb),
12814 (rhythmdb_execute_stat): perform stats asynchronously, so that waiting
12815 for authentication information from the user doesn't block the UI.
12817 (rhythmdb_entry_set_visibility): don't emit the signal twice.
12819 * rhythmdb/rhythmdb.c: (rhythmdb_action_free),
12820 (rhythmdb_event_free), (rhythmdb_shutdown), (emit_entry_changed),
12821 (rhythmdb_entry_allocate), (rhythmdb_directory_change_cb),
12822 (rhythmdb_process_stat_event), (emit_load_error_idle),
12823 (rhythmdb_process_metadata_load),
12824 (rhythmdb_process_queued_entry_set_event),
12825 (rhythmdb_process_file_created_or_modified),
12826 (rhythmdb_process_file_deleted), (rhythmdb_process_events),
12827 (queue_stat_uri), (add_thread_main),
12828 (emit_save_error_idle), (action_thread_main), (rhythmdb_add_uri),
12829 (rhythmdb_load), (rhythmdb_save_thread_main),
12830 (threadsafe_entry_set), (rhythmdb_query_internal),
12831 (query_thread_main), (rhythmdb_do_full_query_async_parsed),
12832 (rhythmdb_do_full_query_internal),
12833 (entry_volume_mounted_or_unmounted), (rhythmdb_volume_mounted_cb),
12834 (rhythmdb_volume_unmounted_cb),
12835 (rhythmdb_check_changed_file): trivial changes to support the
12836 asynchronous stats.
12838 * shell/main.c: (main): activate the authentication manager.
12840 * shell/rb-playlist-manager.c:
12841 (rb_playlist_manager_cmd_load_playlist),
12842 (rb_playlist_manager_cmd_save_playlist):
12843 * shell/rb-shell.c: (rb_shell_cmd_add_folder_to_library),
12844 (rb_shell_cmd_add_file_to_library):
12845 * sources/rb-playlist-source.c: (rb_playlist_source_add_location):
12846 * widgets/rb-druid.c: (rb_druid_browse_clicked_cb): Let people select
12849 2005-12-02 James Livingston <jrl@ids.org.au>
12851 * shell/rb-playlist-manager.c: makes playlist menu items use the
12852 elipses correctly. Fixes bug 322283.
12854 2005-12-02 James Livingston <jrl@ids.org.au>
12856 * shell/rb-playlist-manager.c:
12857 (rb_playlist_manager_load_playlists): fix silly mistake
12859 2005-12-02 James Livingston <jrl@ids.org.au>
12861 * metadata/rb-metadata-gst.c: (rb_metadata_gst_add_tag_data): don't
12862 print out metadata-write unless --debug was passed.
12864 * rhythmdb/rhythmdb.c: (rhythmdb_load):
12865 * shell/rb-playlist-manager.c:
12866 (rb_playlist_manager_load_playlists): block writes to disk if they are
12867 still being loaded.
12869 2005-12-02 James Livingston <jrl@ids.org.au>
12871 * shell/rb-shell-clipboard.c: change the move-to-trash shortcut, to
12872 ctrl-T, because Ctrl-D is used by "small mode"
12874 2005-12-02 James Livingston <jrl@ids.org.au>
12876 * shell/rb-shell-preferences.c:
12877 (rb_shell_preferences_append_view_page):
12878 * sources/rb-library-source.c: (impl_get_config_widget):
12879 * sources/rb-podcast-source.c: (impl_get_config_widget):
12880 * sources/rb-source.c: (rb_source_get_config_widget):
12881 * sources/rb-source.h: Make the preference actually work.
12883 * shell/rb-shell.c: (rb_shell_constructor): set up monitoring correctly
12884 if Rhythmbox is being run for the first time.
12886 2005-12-02 James Livingston <jrl@ids.org.au>
12888 Add support for Rhythmbox to watch your library, and automatically add
12889 new tracks. Fixes bug 160159.
12891 * data/glade/library-prefs.glade: add "library location" preference
12892 * data/rhythmbox.schemas: add gconf key for the library location
12894 * rhythmdb/rhythmdb.c: (rhythmdb_init), (rhythmdb_event_free),
12895 (rhythmdb_unmonitor_directories), (rhythmdb_shutdown),
12896 (rhythmdb_finalize), (rhythmdb_directory_change_cb),
12897 (rhythmdb_monitor_uri_path), (rhythmdb_process_stat_event),
12898 (rhythmdb_process_metadata_load), (rhythmdb_process_events),
12899 (rhythmdb_load_thread_main), (rhythmdb_load),
12900 (monitor_subdirectory), (monitor_library_directory),
12901 (monitor_entry_file), (rhythmdb_sync_library_location),
12902 (library_location_changed_cb), (rhythmdb_check_changed_file),
12903 (rhythmdb_process_changed_files): Let Rhythmbox watch the directories
12904 specifiec in the gconf key for new additions. Also fix monitoring code
12905 so that it works properly, and notices deletions.
12907 * lib/rb-preferences.h:
12908 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_class_init),
12909 (rb_audioscrobbler_init), (rb_audioscrobbler_set_property):
12910 * shell/rb-audioscrobbler.h:
12911 * shell/rb-shell-preferences.c: (rb_shell_references_append_page),
12912 (rb_shell_preferences_append_view_page),
12913 (rb_shell_preferences_new):
12914 * shell/rb-shell-preferences.h: rework the way audioscrobbler adds
12915 it's preferences pane, so that we don't need #ifdef's through
12916 rb-shell-preferences.
12918 * shell/rb-shell.c: (rb_shell_class_init), (rb_shell_get_property),
12919 (rb_shell_select_source), (rb_shell_cmd_preferences): give the shell a
12920 "preferences" property, so that sources can acccess it. This is needed
12921 because the library location pref needs to take effect when the window
12924 * sources/rb-library-source.c:
12925 (rb_library_source_library_location_changed),
12926 (rb_library_source_dispose), (rb_library_source_finalize),
12927 (rb_library_source_constructor), (impl_get_config_widget),
12928 (rb_library_source_preferences_sync),
12929 (rb_library_source_process_library_location_change),
12930 (rb_library_source_prefs_update),
12931 (rb_library_source_process_library_handle_selection),
12932 (rb_library_source_library_location_cb): set up and control the
12933 "library location" preference.
12935 * sources/rb-audiocd-source.c:(rb_source_class_init):
12936 * sources/rb-source.c: (rb_source_class_init): remove some pointless
12939 2005-12-01 William Jon McCann <mccann@jhu.edu>
12941 * podcast/rb-feed-podcast-properties-dialog.c (rb_feed_podcast_properties_dialog_init)
12942 (rb_feed_podcast_properties_dialog_update_title):
12943 * data/glade/podcast-feed-properties.glade:
12944 Make the feed properties dialog consistent with the podcast
12947 2005-12-01 William Jon McCann <mccann@jhu.edu>
12949 * metadata/.cvsignore:
12951 * podcast/.cvsignore: Updated.
12953 * shell/main.c (main): Support DBus 0.6 flags.
12955 2005-11-30 Bastien Nocera <hadess@hadess.net>
12957 * data/ui/rhythmbox-ui.xml:
12958 * rhythmdb/rhythmdb.c: (rhythmdb_entry_move_to_trash_cb),
12959 (rhythmbd_entry_move_to_trash_set_error),
12960 (rhythmdb_entry_move_to_trash):
12961 * rhythmdb/rhythmdb.h:
12962 * shell/rb-shell-clipboard.c: (rb_shell_clipboard_sync),
12963 (rb_shell_clipboard_cmd_delete),
12964 (rb_shell_clipboard_cmd_move_to_trash):
12965 * sources/rb-library-source.c: (rb_library_source_class_init),
12966 (impl_delete), (impl_move_to_trash):
12967 * sources/rb-playlist-source.c: (rb_playlist_source_class_init),
12968 (impl_delete), (impl_move_to_trash):
12969 * sources/rb-removable-media-source.c:
12970 (rb_removable_media_source_class_init):
12971 * sources/rb-source.c: (rb_source_class_init),
12972 (rb_source_can_move_to_trash), (rb_source_delete),
12973 (rb_source_move_to_trash):
12974 * sources/rb-source.h:
12975 Add move_to_trash member for the sources, implement move to trash for
12976 the library and playlists
12977 Add a "Move to Trash" context menu item, and menu item (Ctrl+D) to move
12978 local files to the trash, and deleting them from the database
12981 2005-11-30 William Jon McCann <mccann@jhu.edu>
12983 * shell/rb-tray-icon.c (rb_tray_icon_class_init)
12984 (rb_tray_icon_init, rb_tray_icon_finalize):
12985 * shell/rb-statusbar.c (rb_statusbar_class_init)
12986 (rb_statusbar_init, rb_statusbar_finalize):
12987 * shell/rb-source-header.c (rb_source_header_class_init)
12988 (rb_source_header_init, rb_source_header_finalize):
12989 * shell/rb-shell.c (rb_shell_class_init, rb_shell_init)
12990 (rb_shell_finalize):
12991 * shell/rb-shell-preferences.c (rb_shell_preferences_class_init)
12992 (rb_shell_preferences_init, rb_shell_preferences_finalize):
12993 * shell/rb-shell-player.c (rb_shell_player_class_init)
12994 (rb_shell_player_init, rb_shell_player_finalize):
12995 * shell/rb-shell-clipboard.c (rb_shell_clipboard_class_init)
12996 (rb_shell_clipboard_init, rb_shell_clipboard_finalize):
12997 * shell/rb-playlist-manager.c (rb_playlist_manager_class_init)
12998 (rb_playlist_manager_init, rb_playlist_manager_finalize):
12999 * shell/rb-play-order.c (rb_play_order_class_init)
13000 (rb_play_order_init, rb_play_order_finalize):
13001 * shell/rb-play-order-shuffle.c (rb_shuffle_play_order_class_init)
13002 (rb_shuffle_play_order_init, rb_shuffle_play_order_finalize):
13003 * shell/rb-play-order-random.c (rb_random_play_order_class_init)
13004 (rb_random_play_order_init, rb_random_play_order_finalize):
13005 * shell/rb-history.c (rb_history_class_init, rb_history_init)
13006 (rb_history_finalize):
13007 * shell/rb-commander.c (rb_commander_class_init)
13008 (rb_commander_init, rb_commander_finalize):
13009 * shell/rb-audioscrobbler.c (rb_audioscrobbler_class_init)
13010 (rb_audioscrobbler_init, rb_audioscrobbler_finalize):
13011 * remote/bonobo/rb-remote-bonobo.c (rb_remote_bonobo_class_init)
13012 (rb_remote_bonobo_init, rb_remote_bonobo_finalize):
13013 * podcast/rb-podcast-properties-dialog.c (rb_podcast_properties_dialog_class_init)
13014 (rb_podcast_properties_dialog_init)
13015 (rb_podcast_properties_dialog_finalize):
13016 * podcast/rb-podcast-manager.c (rb_podcast_manager_class_init)
13017 (rb_podcast_manager_init, rb_podcast_manager_finalize):
13018 * podcast/rb-new-podcast-dialog.c (rb_new_podcast_dialog_class_init)
13019 (rb_new_podcast_dialog_init, rb_new_podcast_dialog_finalize):
13020 * podcast/rb-feed-podcast-properties-dialog.c (rb_feed_podcast_properties_dialog_class_init)
13021 (rb_feed_podcast_properties_dialog_init)
13022 (rb_feed_podcast_properties_dialog_finalize):
13023 * metadata/rb-metadata-gst.c (rb_metadata_class_init)
13024 (rb_metadata_init, rb_metadata_finalize):
13025 * iradio/rb-station-properties-dialog.c (rb_station_properties_dialog_class_init)
13026 (rb_station_properties_dialog_init)
13027 (rb_station_properties_dialog_finalize):
13028 * daapsharing/rb-daap-share.c (rb_daap_share_class_init)
13029 (rb_daap_share_init, rb_daap_share_dispose):
13031 Use g_type_class_add_private in all classes. Closes bug 313688.
13033 2005-11-30 James Livingston <jrl@ids.org.au>
13035 patch by: William Jon McCann <mccann@jhu.edu> to use
13036 g_type_class_add_private in all classes. Closes bug 313688.
13038 * lib/rb-thread.c: (rb_thread_class_init), (rb_thread_init),
13039 (rb_thread_finalize):
13040 * player/rb-player-gst.c: (rb_player_class_init), (rb_player_init),
13041 (rb_player_finalize):
13042 * rhythmdb/rhythmdb-property-model.c:
13043 (rhythmdb_property_model_class_init),
13044 (rhythmdb_property_model_init), (rhythmdb_property_model_finalize):
13045 * rhythmdb/rhythmdb-query-model.c:
13046 (rhythmdb_query_model_class_init), (rhythmdb_query_model_init),
13047 (rhythmdb_query_model_finalize):
13048 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_class_init),
13049 (rhythmdb_tree_init), (rhythmdb_tree_finalize):
13050 * rhythmdb/rhythmdb.c: (rhythmdb_class_init), (rhythmdb_init),
13051 (rhythmdb_finalize):
13052 * sources/rb-daap-source.c: (rb_daap_source_class_init),
13053 (rb_daap_source_init), (rb_daap_source_dispose):
13054 * sources/rb-iradio-source.c: (rb_iradio_source_class_init),
13055 (rb_iradio_source_init), (rb_iradio_source_finalize):
13056 * sources/rb-library-source.c: (rb_library_source_class_init),
13057 (rb_library_source_init), (rb_library_source_finalize):
13058 * sources/rb-playlist-source.c: (rb_playlist_source_class_init),
13059 (rb_playlist_source_init), (rb_playlist_source_dispose):
13060 * sources/rb-podcast-source.c: (rb_podcast_source_class_init),
13061 (rb_podcast_source_init), (rb_podcast_source_finalize):
13062 * sources/rb-sourcelist-model.c: (rb_sourcelist_model_class_init),
13063 (rb_sourcelist_model_init), (rb_sourcelist_model_finalize):
13064 * sources/rb-sourcelist-model.h:
13065 * sources/rb-sourcelist.c: (rb_sourcelist_class_init),
13066 (rb_sourcelist_init), (rb_sourcelist_finalize):
13067 * sources/rb-sourcelist.h:
13068 * widgets/disclosure-widget.c: (finalize), (class_init), (init):
13069 * widgets/rb-cell-renderer-rating.c:
13070 (rb_cell_renderer_rating_init),
13071 (rb_cell_renderer_rating_class_init),
13072 (rb_cell_renderer_rating_finalize):
13073 * widgets/rb-druid.c: (rb_druid_class_init), (rb_druid_init),
13074 (rb_druid_finalize):
13075 * widgets/rb-entry-view.c: (rb_entry_view_class_init),
13076 (rb_entry_view_init), (rb_entry_view_finalize):
13077 * widgets/rb-header.c: (rb_header_class_init), (rb_header_init),
13078 (rb_header_finalize):
13079 * widgets/rb-load-failure-dialog.c:
13080 (rb_load_failure_dialog_class_init), (rb_load_failure_dialog_init),
13081 (rb_load_failure_dialog_finalize):
13082 * widgets/rb-property-view.c: (rb_property_view_class_init),
13083 (rb_property_view_init), (rb_property_view_finalize):
13084 * widgets/rb-rating.c: (rb_rating_class_init), (rb_rating_init),
13085 (rb_rating_finalize):
13086 * widgets/rb-search-entry.c: (rb_search_entry_class_init),
13087 (rb_search_entry_init), (rb_search_entry_finalize):
13088 * widgets/rb-simple-view.c: (rb_simple_view_class_init),
13089 (rb_simple_view_init), (rb_simple_view_finalize):
13090 * widgets/rb-song-display-box.c: (rb_song_display_box_class_init),
13091 (rb_song_display_box_init), (rb_song_display_box_finalize):
13092 * widgets/rb-song-info.c: (rb_song_info_class_init),
13093 (rb_song_info_init), (rb_song_info_finalize):
13094 * widgets/rb-tree-model-sort.c: (rb_tree_model_sort_class_init),
13095 (rb_tree_model_sort_init), (rb_tree_model_sort_finalize):
13097 2005-11-30 James Livingston <jrl@ids.org.au>
13099 * iradio/rb-station-properties-dialog.c:
13100 (rb_station_properties_dialog_init),
13101 (rb_station_properties_dialog_new):
13102 * lib/rb-glade-helpers.c: (rb_glade_boldify_label):
13103 * lib/rb-glade-helpers.h:
13104 * podcast/rb-feed-podcast-properties-dialog.c:
13105 (rb_feed_podcast_properties_dialog_init),
13106 (rb_feed_podcast_properties_dialog_new):
13107 * podcast/rb-podcast-properties-dialog.c:
13108 (rb_podcast_properties_dialog_init),
13109 (rb_podcast_properties_dialog_new):
13110 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_get_config_widget):
13111 * shell/rb-shell-preferences.c: (rb_shell_preferences_init):
13112 * sources/rb-library-source.c: (impl_get_config_widget):
13113 * sources/rb-playlist-source-recorder.c:
13114 (rb_playlist_source_recorder_init):
13115 * widgets/rb-song-info.c: (rb_song_info_construct_single),
13116 (rb_song_info_constructor): create a single rb_glade_boldify_label()
13117 in rb-glade-helpers, rather than having eight implementation
13118 throughout the code.
13120 2005-11-30 James Livingston <jrl@ids.org.au>
13122 * lib/rb-util.c: (rb_search_fold), (rb_make_duration_string):
13124 * widgets/rb-entry-view.c: (rb_entry_view_duration_cell_data_func):
13125 move the duration->string function into rb-utils, as it gets used in a
13128 patch by: William Jon McCann <mccann@jhu.edu>
13130 * data/glade/podcast-properties.glade:
13131 * podcast/rb-podcast-properties-dialog.c:
13132 (rb_podcast_properties_dialog_init),
13133 (rb_podcast_properties_dialog_update),
13134 (rb_podcast_properties_dialog_update_title),
13135 (rb_podcast_properties_dialog_update_feed),
13136 (rb_podcast_properties_dialog_update_duration),
13137 (rb_podcast_properties_dialog_update_bitrate): Make the podcast
13138 info dialog look more like the song info dialog. Use the same "Feed"
13139 value that is displayed in the treeview (ie. the album field), displays
13140 the duration, uses units in the bitrate field, and sort the fields in
13143 2005-11-29 James Livingston <jrl@ids.org.au>
13145 * rhythmdb/rhythmdb-marshal.list:
13146 * rhythmdb/rhythmdb.h:
13147 * rhythmdb/rhythmdb.c: (rhythmdb_class_init),
13148 (emit_load_error_idle), (rhythmdb_process_metadata_load),
13149 (entry_to_rb_metadata), (emit_save_error_idle),
13150 (action_thread_main): emit error signal when metadata write fails.
13152 * shell/rb-shell.c: (rb_shell_constructor),
13153 (rb_shell_db_load_error_cb), (rb_shell_db_save_error_cb): process the
13154 "metadata save" error and display it to the user.
13156 2005-11-29 James Livingston <jrl@ids.org.au>
13158 * data/ui/rhythmbox-ui.xml:
13159 * sources/rb-podcast-source.c:
13160 (rb_podcast_source_songs_show_popup_cb),
13161 (rb_podcast_source_cmd_download_post),
13162 (rb_podcast_source_cmd_cancel_download): split download and cancel
13163 download commands. Replace usage of "Post" with "Esisode". Fixes bug
13166 2005-11-18 William Jon McCann <mccann@jhu.edu>
13168 * widgets/rb-dialog.c (rb_error_dialog): Don't use a
13169 title on alert dialogs per the HIG.
13171 * sources/rb-playlist-source-recorder.c (burn_cd): Don't use
13173 (free_song_list): Routine to free song list.
13174 (rb_playlist_source_recorder_finalize): Use free_song_list.
13175 (rb_playlist_source_recorder_add_from_model): Return FALSE
13176 if unable to add all songs. Check that duration of all
13177 songs doesn't exceed MAX_PLAYLIST_DURATION which is set to 100 min.
13180 * sources/rb-playlist-source-recorder.c (check_media_length)
13181 (rb_playlist_source_recorder_start): Only check the duration
13182 and current media if the playlist length is longer than a
13183 standard CD (74 min). Otherwise, just let the Recorder do the
13185 * player/rb-recorder-gst.c (rb_recorder_init): Get a default
13187 (rb_recorder_set_device): Don't leak drives.
13188 (rb_recorder_get_media_length): Use drive that was already set.
13189 (rb_recorder_burn): Let the recorder handle checking media type/size.
13192 2005-11-29 James Livingston <jrl@ids.org.au>
13194 * rhythmdb/rhythmdb-query-model.c:
13195 (rhythmdb_query_model_set_sort_order):
13196 * rhythmdb/rhythmdb-query-model.h: add a function to resort the query,
13197 emitting the tree-model "resorted" signal.
13199 * widgets/rb-entry-view.c: (rb_entry_view_class_init),
13200 (rb_entry_view_finalize), (rb_entry_view_set_property),
13201 (rb_entry_view_constructor), (rb_entry_view_resort_model):
13202 * widgets/rb-entry-view.h: add a function to resort the entry view,
13203 using the above function.
13205 * sources/rb-iradio-source.c:
13206 (rb_iradio_source_songs_view_sort_order_changed_cb):
13207 * sources/rb-library-source.c: (rb_library_source_finalize),
13208 (songs_view_sort_order_changed_cb), (rb_library_source_do_query):
13209 * sources/rb-playlist-source.c:
13210 (rb_playlist_source_songs_sort_order_changed_cb):
13211 * sources/rb-podcast-source.c:
13212 (rb_podcast_source_posts_view_sort_order_changed_cb),
13213 (rb_podcast_source_do_query): use the above function instead of
13214 re-creating the query model. This makes changing the sorting an order
13215 of magnitude faster, as it uses a single resorted signal rather than
13216 deleting and re-adding everything (which emits 2N signals). Closes bug
13219 2005-11-29 James Livingston <jrl@ids.org.au>
13221 patch by: Jonathan Matthew <jonathan@kaolin.hn.org> to disable column
13222 autosizing, which results in large speedups. Closes bug 312122.
13224 * po/ja.po: change the date format, so that it is a constant width
13226 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
13227 * sources/rb-podcast-source.c: (rb_podcast_source_constructor):
13228 * widgets/rb-entry-view.c: (rb_entry_view_append_column),
13229 (rb_entry_view_constructor): make columns use fixed widths,
13230 disable column autosizing, and enable fixed-height mode.
13232 * widgets/rb-entry-view.c: (rb_entry_view_set_fixed_column_width),
13233 (rb_entry_view_get_time_date_column_sample):
13234 * widgets/rb-entry-view.h: functions to set a column to a fixed width,
13235 and get the canonical date format for the locale.
13237 ============ Version 0.9.2
13239 2005-11-28 James Livingston <jrl@ids.org.au>
13241 * configure.ac: bump version to 0.9.2
13242 * NEWS: update with changes for 0.9.2
13244 2005-11-28 James Livingston <jrl@ids.org.au>
13246 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
13248 * shell/rb-playlist-manager.c: (rb_playlist_manager_set_property):
13249 Disable saving, renaming and delting for DAAP playlists.
13252 2005-11-28 James Livingston <jrl@ids.org.au>
13254 * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed): check if
13255 gnome_vfs_get_file_info is returning NULL for the mime-type. Should
13256 prevent bug 322619.
13258 * sources/rb-audiocd-source.c: (rb_audiocd_source_class_init):
13259 * sources/rb-removable-media-source.c:
13260 (rb_removable_media_source_class_init): fix ipod browser visibility
13263 2005-11-28 James Livingston <jrl@ids.org.au>
13265 * daapsharing/rb-daap-mdns.c: (browse_cb), (rb_daap_mdns_browse): make
13266 Avahi 0.6 support actually work. Fixes bug 322519.
13268 2005-11-26 Ryan P Skadberg <skadz@stigmata.org>
13270 * configure.ac: Fix configure check for Avahi 0.6/0.5 when
13271 avahi is specified in --with-mdns
13273 2005-11-27 James Livingston <jrl@ids.org.au>
13275 patch by: Bastien Nocera <hadess@hadess.net>
13277 * podcast/rb-podcast-parse.c: use the #define we are supposed to use,
13278 not the private one. Fixes bug 322485.
13280 2005-11-26 James Livingston <jrl@ids.org.au>
13282 patch by Daniel S. Haischt <e@daniel.stefan.haischt.name> to support
13283 Avahi 0.6, as well as 0.5.
13286 * daapsharing/rb-daap-mdns.c: (get_avahi_client), (browse_cb),
13287 (rb_daap_mdns_browse), (resolve_cb), (rb_daap_mdns_resolve),
13290 2005-11-25 James Livingston <jrl@ids.org.au>
13292 * configure.ac: Make --enable-ipod not confuse configure. Closes bug
13295 2005-11-25 James Livingston <jrl@ids.org.au>
13297 * metadata/rb-metadata-gst.c: (rb_metadata_gst_add_tag_data): use
13298 correct type for checking the date against 0. Stops a warning when
13301 2005-11-25 James Livingston <jrl@ids.org.au>
13303 * player/rb-player-gst.c: (rb_player_set_replaygain): limit the volume
13304 adjustment to be inside the element's limits. Without this songs that
13305 have large ReplayGain values will recieve no increase because they are
13306 outside the acceptable range, causing them to remain quiet.
13308 2005-11-25 James Livingston <jrl@ids.org.au>
13310 * sources/rb-audiocd-source.c: (rb_audiocd_source_class_init):
13311 * sources/rb-daap-source.c: (rb_daap_source_class_init):
13312 * sources/rb-ipod-source.c:
13313 * sources/rb-source.h:
13314 * sources/rb-library-source.h:
13315 * sources/rb-library-source.c: (rb_library_source_class_init),
13316 (rb_library_source_constructor),
13317 (rb_library_source_has_first_added_column),
13318 (rb_library_source_has_drop_support):
13319 * sources/rb-removable-media-source.c:
13320 (rb_removable_media_source_class_init): Make library-derived sources
13321 not show the Date Added column, as it doesn't make sense. Fixes bug
13323 Move some of the feature funcs from the ipod and audio cd sources up to
13324 the removable media source.
13326 2005-11-24 James Livingston <jrl@ids.org.au>
13328 * sources/rb-iradio-source.c: (rb_iradio_source_dispose): fix compile
13331 2005-11-24 James Livingston <jrl@ids.org.au>
13333 * sources/rb-iradio-source.c: (rb_iradio_source_class_init),
13334 (rb_iradio_source_dispose), (rb_iradio_source_finalize),
13335 (rb_iradio_source_constructor): Chain up dispose method and use
13338 2005-11-24 James Livingston <jrl@ids.org.au>
13340 * shell/rb-shell-player.c: (rb_shell_player_error): fix a silly
13341 mistake in the last commit that can cause crashes.
13343 2005-11-24 James Livingston <jrl@ids.org.au>
13345 * shell/rb-shell-player.c: (rb_shell_player_error): use rb_debug,
13346 instead of g_printerr.
13348 * widgets/rb-entry-view.c: (rb_entry_view_set_sorting_type): use
13349 rb_debug instead of g_warning. The message happens every time for
13350 removable media/daap shares, so it's not unusual.
13352 2005-11-24 James Livingston <jrl@ids.org.au>
13354 patch by: Tom Parker <palfrey@tevp.net>
13356 * configure.ac: fix libsoup test for enabling daap
13358 2005-11-23 James Livingston <jrl@ids.org.au>
13360 * widgets/rb-query-creator.c: (rb_query_creator_class_init),
13361 (rb_query_creator_init), (rb_query_creator_constructor),
13362 (rb_query_creator_dispose), (rb_query_creator_load_query): don't add
13363 empty row to queries with no criteria. Fixes bug 322078. use
13366 2005-11-23 James Livingston <jrl@ids.org.au>
13368 patch by: <baptiste.millemathias@gmail.com>
13370 * help/C/quick-reference.xml: update the quick reference to have the
13371 correct key bindings.
13373 2005-11-22 James Livingston <jrl@ids.org.au>
13375 * sources/rb-library-source.c: (genres_selection_reset_cb),
13376 (artists_selection_reset_cb), (albums_selection_reset_cb): Properly
13377 reset the query when all browser selections are removed.
13379 2005-11-22 Jonathan Matthew <jonathan@kaolin.hn.org>
13381 * podcast/rb-podcast-manager.c:
13382 (rb_podcast_manager_db_entry_deleted_cb):
13383 Use a custom loop to remove podcast posts, rather than
13384 gtk_tree_model_foreach(), as deleting the entries within
13385 that loop causes the iterator to return the first entry
13386 twice. Instead, we need to find the next entry before
13387 removing the current one. Fixes bug 321956.
13388 (rb_podcast_manager_entry_remove_cb): No longer needed.
13390 2005-11-22 James Livingston <jrl@ids.org.au>
13392 * sources/rb-playlist-source.c: (rb_playlist_source_class_init),
13393 (rb_playlist_source_constructor), (rb_playlist_source_dispose): chain
13394 up dispose method, and use G_DEFINE_TYPE. Fixes bug 321715.
13396 2005-11-22 James Livingston <jrl@ids.org.au>
13398 * sources/rb-podcast-source.c:
13399 (rb_podcast_source_post_date_cell_sort_func),
13400 (rb_podcast_source_post_status_cell_sort_func),
13401 (rb_podcast_source_post_feed_cell_sort_func):
13402 * widgets/rb-entry-view.c: (rb_entry_view_location_sort_func),
13403 (rb_entry_view_album_sort_func),
13404 (rb_entry_view_double_ceiling_sort_func),
13405 (rb_entry_view_ulong_sort_func), (rb_entry_view_string_sort_func): use
13406 the entry's location as a last resort when sorting, so the sort order
13407 is stable. This will stop entries moving around when two entries have
13408 the same sorting, and one of them gets played.
13410 2005-11-22 James Livingston <jrl@ids.org.au>
13412 * daapsharing/rb-daap-connection.c:
13413 (rb_daap_connection_class_init), (rb_daap_connection_init),
13414 (connection_get_password), (build_message),
13415 (http_response_handler), (http_get), (handle_server_info),
13416 (handle_login), (handle_update), (handle_database_info),
13417 (handle_song_listing), (handle_playlists),
13418 (handle_playlist_entries), (rb_daap_connection_new),
13419 (rb_daap_connection_constructor), (rb_daap_connection_logout),
13420 (rb_daap_connection_state_done), (rb_daap_connection_do_something),
13421 (rb_daap_connection_get_headers),
13422 (rb_daap_connection_get_playlists), (rb_daap_connection_dispose),
13423 (rb_daap_connection_set_property),
13424 (rb_daap_connection_get_property):
13425 * daapsharing/rb-daap-connection.h:
13426 * sources/rb-daap-source.c: (rb_daap_source_dispose),
13427 (rb_daap_source_connection_cb), (rb_daap_source_disconnect_cb),
13428 (rb_daap_source_disconnect): GObject-ify RBDaapConnection, fix problem
13429 of destroying the object when it is going to be used by a callback and
13430 fixes a double-free. Fixes bugs 321930 and 322007.
13432 2005-11-22 James Livingston <jrl@ids.org.au>
13434 * podcast/rb-podcast-manager.c: (rb_podcast_manager_head_query_cb),
13435 (rb_podcast_manager_insert_feed): Don't show the "new episodes"
13436 notification if there aren't any. Fixes bug 321968.
13438 2005-11-22 James Livingston <jrl@ids.org.au>
13440 * rhythmdb/rhythmdb-property-model.c:
13441 (rhythmdb_property_model_set_property),
13442 (rhythmdb_property_model_finalize),
13443 (rhythmdb_property_model_compare),
13444 (rhythmdb_property_model_insert),
13445 (rhythmdb_property_model_delete_prop): Fix property model sorting
13446 where the display and sort keys are different. Fixes bug 321980.
13448 2005-11-22 James Livingston <jrl@ids.org.au>
13450 * shell/rb-shell.c: (add_to_library_response_cb): detect playlists
13451 when import as a file or passed on the command line, and load them as
13454 2005-11-22 James Livingston <jrl@ids.org.au>
13456 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
13458 * daapsharing/rb-daap-src.c: (gst_tcp_socket_read),
13459 (gst_tcp_socket_write), (rb_daap_src_open_file): don't hang when using
13460 a broken daap server. Fixes bug 321919.
13462 2005-11-22 James Livingston <jrl@ids.org.au>
13464 * sources/rb-podcast-source.c: (rb_podcast_source_constructor): set up
13465 drag-and-drop for both the episodes and feeds list.
13467 (posts_view_drag_data_received_cb), (impl_receive_drag): handle drops
13468 consistantly and steal a trick from Totem for _NETSCAPE_URL drops.
13469 From Jonathan Matthew <jonathan@kaolin.hn.org>.
13471 * widgets/rb-property-view.c: (rb_property_view_class_init),
13472 (rb_property_view_set_property), (rb_property_view_get_property),
13473 (rb_property_view_new), (rb_property_view_constructor):
13474 * widgets/rb-simple-view.c: (rb_simple_view_class_init),
13475 (rb_simple_view_new), (rb_simple_view_constructor):
13476 * widgets/rb-simple-view.h: add a "draggable" property to property
13477 views and set it to false for the feed list. Fixes bug 321284.
13479 2005-11-22 James Livingston <jrl@ids.org.au>
13481 Patch from Jonathan Matthew <jonathan@kaolin.hn.org>
13483 * shell/rb-playlist-manager.c: (rb_playlist_manager_new_playlist):
13484 * sources/rb-daap-source.c: (rb_daap_source_connection_cb):
13485 * sources/rb-ipod-source.c: (add_rb_playlist):
13486 * sources/rb-playlist-source.c: (rb_playlist_source_class_init),
13487 (rb_playlist_source_set_property),
13488 (rb_playlist_source_get_property), (rb_playlist_source_new),
13489 (impl_receive_drag), (rb_playlist_source_add_location),
13490 (rb_playlist_source_new_from_xml):
13491 * sources/rb-playlist-source.h: give playlists and (optional)
13492 entry-type, and reject entries that don't match. Fixes bug 322006.
13494 2005-11-21 James Livingston <jrl@ids.org.au>
13496 * shell/rb-source-header.c: (rb_source_header_source_weak_unref),
13497 (rb_source_header_finalize): remove the weak references when the
13498 source header is finalised. Stops the callbacks being called after the
13499 object is destroyed.
13501 2005-11-21 James Livingston <jrl@ids.org.au>
13503 * shell/main.c: (main): don't try to acquite bonobo/dbus when
13504 --no-registration was passed. It causes warnings that make it
13505 impossible to run with --no-registration --g-fatal-warnings
13507 2005-11-21 James Livingston <jrl@ids.org.au>
13509 * daapsharing/rb-daap-connection.c: (handle_song_listing): fix freeing
13510 of strings when they are still in use. Fixes bug 321547.
13512 (rb_daap_connection_destroy): fix memory leak
13514 2005-11-21 James Livingston <jrl@ids.org.au>
13516 * daapsharing/rb-daap-mdns.c: (browse_cb), (rb_daap_mdns_browse),
13517 (rb_daap_mdns_browse_cancel), (resolve_cb), (rb_daap_mdns_resolve),
13518 (rb_daap_mdns_resolve_cancel), (publish_cb),
13519 (rb_daap_mdns_publish), (rb_daap_mdns_publish_cancel): fix Howl
13522 2005-11-21 James Livingston <jrl@ids.org.au>
13524 * widgets/rb-entry-view.c: (rb_entry_view_genre_sort_func): fix
13527 2005-11-20 James Livingston <jrl@ids.org.au>
13529 * podcast/rb-podcast-manager.c:
13530 (rb_podcast_manager_subscribe_feed): make threads non-joinable, so
13531 that we don't leak thread structures. Fixes bug 321636, and probably
13534 2005-11-20 James Livingston <jrl@ids.org.au>
13536 * metadata/sj-metadata-musicbrainz.c: (get_offline_track_listing),
13538 * podcast/rb-podcast-manager.c: (start_job),
13539 (rb_podcast_manager_db_entry_deleted_cb),
13540 (rb_podcast_manager_entry_remove_cb):
13541 * podcast/rb-podcast-parse.c: (rb_insert_item),
13542 (rb_podcast_parse_load_feed):
13543 * rhythmdb/rhythmdb.c: (rhythmdb_entry_insert):
13544 * shell/rb-removable-media-manager.c:
13545 (rb_removable_media_manager_append_media_source):
13546 * shell/rb-shell.c: (add_to_library_response_cb):
13547 * shell/rb-tray-icon.c: (rb_tray_icon_drop_cb):
13548 * sources/rb-audiocd-source.c: (rb_audiocd_scan_songs):
13549 * sources/rb-iradio-source.c:
13550 (stations_view_drag_data_received_cb):
13551 * sources/rb-library-source.c: (string_list_equal),
13552 (impl_get_extra_views), (impl_receive_drag):
13553 * sources/rb-playlist-source.c: (rb_playlist_source_add_list_uri):
13554 * sources/rb-podcast-source.c: (posts_view_drag_data_received_cb),
13555 (impl_receive_drag):
13556 * widgets/rb-entry-view.c: (rb_entry_view_finalize),
13557 (rb_entry_view_append_column_custom), (harvest_entries):
13558 * widgets/rb-property-view.c:
13559 (rb_property_view_selection_changed_cb):
13560 * widgets/rb-simple-view.c: (rb_simple_view_button_press_cb):
13561 switch from using g_list_append to g_list_prepend. This changes
13562 operations from O(n^2) to O(n), which in cases like deleting a lot of
13563 tracks can give huge improvements in speed. Closes bug 321696.
13565 2005-11-20 James Livingston <jrl@ids.org.au>
13567 * sources/rb-sourcelist.c: (rb_sourcelist_init),
13568 (rb_sourcelist_update_expander_visibility): fix indenting of child
13571 2005-11-20 James Livingston <jrl@ids.org.au>
13573 * daapsharing/rb-daap-mdns.c: (browse_cb), (rb_daap_mdns_browse),
13574 (resolve_cb), (rb_daap_mdns_resolve), (publish_cb),
13575 (rb_daap_mdns_publish), (rb_daap_mdns_publish_cancel),
13576 (rb_daap_mdns_browse_cancel), (rb_daap_mdns_resolve_cancel),
13577 (add_service), (entry_group_cb): dynamically allocate memory, rather
13578 than using static variables.
13580 * daapsharing/rb-daap-share.c: (rb_daap_share_set_property): don't
13581 re-enable the daap share if the name hasn't changed.
13582 * shell/rb-shell-preferences.c:
13583 (share_name_entry_focus_out_event_cb): don't ask the daap share to
13584 change it's name when the checkbox is disabled. Fixed bug 321748.
13586 2005-11-18 James Livingston <jrl@ids.org.au>
13588 * shell/rb-shell.c: (rb_shell_get_visibility): don't count the window
13589 as hidden if it is on the current workspace.
13591 2005-11-17 William Jon McCann <mccann@jhu.edu>
13593 * sources/rb-podcast-source.c (rb_podcast_source_post_date_cell_data_func):
13594 * podcast/rb-podcast-properties-dialog.c (rb_podcast_properties_dialog_update_date)
13595 (rb_podcast_properties_dialog_parse_time):
13596 * podcast/rb-feed-podcast-properties-dialog.c (rb_feed_podcast_properties_dialog_update_last_update)
13597 (rb_feed_podcast_properties_dialog_parse_time):
13598 Rework the way the last mod time strings are created. It was using
13599 thread unsafe functions, not creating value UTF, and not not checking
13600 the value of the result before modifying it. This new method fixes
13603 2005-11-18 James Livingston <jrl@ids.org.au>
13605 Don't reset the search box when viewing a different source, because it
13606 will change what is being played. Closes 321593.
13608 * shell/rb-shell.c: (rb_shell_jump_to_entry_with_source): don't reset
13611 * shell/rb-source-header.c: (rb_source_header_class_init),
13612 (rb_source_header_init), (rb_source_header_finalize): use
13615 (rb_source_header_set_property),
13616 (rb_source_header_source_weak_destroy_cb),
13617 (rb_source_header_search_cb): store the search text when leaving a
13618 source and put it in the search box when viewing it again.
13620 2005-11-18 James Livingston <jrl@ids.org.au>
13622 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
13624 * rhythmdb/rhythmdb.c: (rhythmdb_entry_finalize),
13625 (rhythmdb_entry_set_internal), (rhythmdb_prop_get_type):
13626 * rhythmdb/rhythmdb.h: Remove LAST_POST property, use LAST_SEEN as a
13629 * podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed): use
13630 last-seen as the timestamp of the last update of the feed. Don't
13631 re-add episodes that have been deleted. Closes 319759.
13633 2005-11-18 James Livingston <jrl@ids.org.au>
13635 * podcast/rb-podcast-parse.c: (rb_podcast_parse_date): parse dates
13636 that don't have the day name at the start. Closes 321645.
13638 2005-11-18 James Livingston <jrl@ids.org.au>
13640 * podcast/rb-podcast-manager.c: (rb_podcast_manager_start_sync),
13641 (rb_podcast_manager_copy_post),
13642 (rb_podcast_manager_get_podcast_dir):
13643 * podcast/rb-podcast-manager.h:
13644 * sources/rb-podcast-source.c: (impl_get_config_widget),
13645 (rb_podcast_source_btn_file_change_cb): fix problem of podcast
13646 download location switching to / if the prefs were opened before
13647 downloading an episode. Closes 321611.
13649 2005-11-18 James Livingston <jrl@ids.org.au>
13651 * data/glade/podcast-new.glade:
13652 * podcast/rb-new-podcast-dialog.c: (rb_new_podcast_dialog_init),
13653 (rb_new_podcast_dialog_set_property),
13654 (rb_new_podcast_dialog_get_property),
13655 (rb_new_podcast_dialog_response_cb),
13656 (rb_new_podcast_dialog_text_changed): use a GtkEntry not a GtkTextView
13657 for entering new podcast urls in. Closes bug 321610.
13659 2005-11-18 James Livingston <jrl@ids.org.au>
13661 * sources/rb-podcast-source.c: (construct_query_from_selection),
13662 (rb_podcast_source_do_query): allow podcast list to be re-sorted
13663 without restarting RB. Closes bug 321612.
13665 2005-11-18 James Livingston <jrl@ids.org.au>
13667 * widgets/rb-entry-view.c: (set_column_visibility),
13668 (rb_entry_view_sync_columns_visible): when changing visibility of one
13669 column, don't hide and re-show all the others. Makes a show/hide
13670 column operation a lot faster.
13672 2005-11-17 Jonathan Matthew <jonathan@kaolin.hn.org>
13676 * iradio/rb-station-properties-dialog.c
13677 (rb_station_properties_dialog_update_bitrate):
13678 Mark the bitrate value as being kbps, using the same
13679 translatable format string as rb-song-info.c
13681 * player/rb-player-gst.c (process_tag): Handle GST_TAG_BITRATE
13682 as a ulong, translating it to RB_METADATA_FIELD_BITRATE.
13684 * shell/rb-shell-player.c (info_available_cb):
13685 Use RB_METADATA_FIELD_BITRATE to update the iradio
13686 station's bitrate value.
13688 2005-11-17 James Livingston <jrl@ids.org.au>
13690 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>. Closes bug 321699
13692 * rhythmdb/rhythmdb.c: (rhythmdb_entry_finalize): don't attempt to
13695 2005-11-17 James Livingston <jrl@ids.org.au>
13697 Patch by: Jonathan Matthew <jonathan@kaolin.hn.org>. Closes bug 321698
13699 * lib/rb-stock-icons.c: emit a single warning rather than multiple
13700 assertions. Lookup the icon size correctly.
13702 2005-11-16 William Jon McCann <mccann@jhu.edu>
13704 * daapsharing/rb-daap-mdns.c (get_sw_discovery)
13705 (rb_daap_mdns_browse_cancel, rb_daap_mdns_resolve_cancel):
13708 2005-11-16 James Livingston <jrl@ids.org.au>
13710 * shell/rb-shell-preferences.c: (rb_shell_preferences_class_init),
13711 (rb_shell_preferences_finalize), (rb_shell_preferences_sync),
13712 (rb_shell_preferences_sync_column_button): block the toggle signal of
13713 the column checkboxes while setting their initial state. This stops
13714 the visibility being re-set, which causes a lot of time being spent
13715 measuring the columns aagin when opening the prefs window.
13719 2005-11-16 James Livingston <jrl@ids.org.au>
13721 * sources/rb-sourcelist.c: (rb_sourcelist_init),
13722 (rb_sourcelist_edit_source_name): don't assume that the editable
13723 source name is in the first column, because it isn't. Fixes bug
13726 2005-11-16 James Livingston <jrl@ids.org.au>
13728 * daapsharing/rb-daap-mdns.h:
13729 * daapsharing/rb-daap-mdns.c: (rb_daap_mdns_error_quark),
13730 (get_sw_discovery), (get_avahi_client): use GErrors, so that other
13731 parts can know why operations failed. Avahi can report that the daemon
13732 was not running. Howl doesn't do this (yet).
13734 (rb_daap_mdns_browse), (rb_daap_mdns_resolve),
13735 (rb_daap_mdns_publish), (rb_daap_mdns_publish_cancel),
13736 (browse_cb): don't display mdns errors to the user, if it wa because
13737 the daemon was not running.
13739 2005-11-16 James Livingston <jrl@ids.org.au>
13741 * rhythmdb/rhythmdb-property-model.c:
13742 (rhythmdb_property_model_init), (rhythmdb_property_model_finalize),
13743 (rhythmdb_property_model_compare),
13744 (rhythmdb_property_model_insert),
13745 (rhythmdb_property_model_insert_prop),
13746 (rhythmdb_property_model_delete),
13747 (rhythmdb_property_model_delete_prop),
13748 (rhythmdb_property_model_get_value): use RBRefStrings rather than
13749 copying the string and re-creating the sort key. Saves a little bit of
13752 (rhythmdb_property_model_perform_sync),
13753 (rhythmdb_property_model_sync): perform the count sync in an idle
13754 callback, so that it doesn't have to be re-run once per value when
13757 2005-11-16 James Livingston <jrl@ids.org.au>
13759 * rhythmdb/rhythmdb-query-model.c:
13760 (rhythmdb_query_model_entry_deleted_cb),
13761 (rhythmdb_query_model_remove_entry): remove deleted entries from the
13762 limited list. Stops problems if they are deleted, and then things on
13765 2005-11-16 James Livingston <jrl@ids.org.au>
13767 * NEWS: update NEWS
13769 * shell/rb-shell.c: (rb_shell_window_delete_cb): disable close
13770 button's minimise-to-tray action
13772 2005-11-16 James Livingston <jrl@ids.org.au>
13774 * rhythmdb/rhythmdb.c: (rhythmdb_directory_change_cb): fix a memory
13775 leak. Disable adding newly created files for now, because it doesn't
13778 * sources/rb-sourcelist-model.c: (rb_sourcelist_model_class_init),
13779 (rb_sourcelist_model_finalize):
13780 * sources/rb-sourcelist.c: (rb_sourcelist_class_init),
13781 (rb_sourcelist_finalize): use G_DEFINE_TYPE,
13783 2005-11-16 James Livingston <jrl@ids.org.au>
13785 * sources/rb-audiocd-source.c: (rb_audiocd_is_volume_audiocd): fix
13786 problem where a GError* wasn't being set to NULL. Actually check the
13789 2005-11-16 James Livingston <jrl@ids.org.au>
13791 * doc/reference/tmpl/rb-entry-view.sgml:
13792 * doc/reference/tmpl/rhythmbox-unused.sgml:
13793 * doc/reference/tmpl/rhythmdb-query-model.sgml:
13794 * doc/reference/tmpl/rhythmdb.sgml:
13795 * rhythmdb/rhythmdb.c: (rhythmdb_entry_unref): add some RhythmDB API
13796 docs, including the patch that was on bug
13798 * rhythmdb/rhythmdb.h: remove rhythmdb_entry_destroy from the public
13799 API, because it should only be used by RhythmDB itself.
13801 2005-11-16 James Livingston <jrl@ids.org.au>
13803 * shell/rb-tray-icon.c: (rb_tray_icon_button_press_event_cb): allow
13804 pausing by middle clicking on the tray icon.
13806 2005-11-15 James Livingston <jrl@ids.org.au>
13808 * configure.ac: enable audioscrobbler support by default, if libsoup
13811 2005-11-15 James Livingston <jrl@ids.org.au>
13813 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
13817 * daapsharing/rb-daap-connection.c: (build_message),
13818 (g_zalloc_wrapper), (g_zfree_wrapper), (http_response_handler):
13819 support gzip encoded daap connections.
13821 (handle_song_listing): fix leak
13823 2005-11-15 James Livingston <jrl@ids.org.au>
13825 * rhythmdb/rhythmdb.c: (rhythmdb_entry_sync_mirrored):
13826 * sources/rb-podcast-source.c:
13827 (rb_podcast_source_post_date_cell_data_func): make the date format
13828 translatable again, so that translators can choose the best format for
13829 their locale (%x is huge in some locales)
13831 2005-11-15 James Livingston <jrl@ids.org.au>
13833 * podcast/rb-podcast-manager.c: (rb_podcast_manager_save_metadata),
13834 (end_job): mark podcast episodes as failed, if the metadata load
13835 fails. This will prevent people playing non-audio enclosures, helping
13838 2005-11-14 James Livingston <jrl@ids.org.au>
13840 * player/rb-player-gst.c: (rb_player_construct): Explicitly set the
13841 video sink to fakesink. This will stop problems (potentially crashers)
13842 that will occur if the file contains a video stream.
13844 * rhythmdb/rhythmdb.h: define the podcast status number in an enum,
13845 rather than using magic numbers everywhere.
13847 * shell/rb-shell-player.c: (rb_shell_player_entry_activated_cb):
13848 * sources/rb-podcast-source.c:
13849 (rb_podcast_source_songs_show_popup_cb),
13850 (rb_podcast_source_cmd_download_post),
13851 (rb_podcast_source_post_status_cell_data_func),
13852 (rb_podcast_source_entry_activated_cb): use the above constants.
13854 * podcast/rb-podcast-manager.c: (rb_podcast_manager_init),
13855 (rb_podcast_manager_finalize), (rb_podcast_manager_download_entry),
13856 (rb_podcast_manager_next_file), (rb_podcast_manager_copy_post),
13857 (write_job_data), (rb_podcast_manager_cancel_all), (end_job),
13858 (cancel_job), (download_progress_cb),
13859 (rb_podcast_manager_cancel_download),
13860 (rb_podcast_manager_insert_feed): use the constants, and fix a
13861 trhead-safety issue.
13863 2005-11-14 Bastien Nocera <hadess@hadess.net>
13865 * rhythmdb/rhythmdb.c: (rhythmdb_process_stat_event): Patch from
13866 Jonathan Matthew <jonathan@kaolin.hn.org> to avoid lingering
13867 entry-changed events after stats on startup, fixes entry deleted from
13868 filtered views not disappearing
13870 2005-11-14 Jonathan Matthew <jonathan@kaolin.hn.org>
13872 Fix rhythmdb query model refcount and polling problems. Closes bug
13875 * rhythmdb/rhythmdb-property-model.c:
13876 (rhythmdb_property_model_finalize):
13877 Unref the query model if we have one.
13879 * rhythmdb/rhythmdb-query-model.h:
13880 Remove poll and cancel methods. Query cancellation
13881 never did anything anyway.
13883 * rhythmdb/rhythmdb-query-model.c:
13884 (rhythmdb_query_model_init): Remove GAsyncQueues.
13885 Replace the GAsyncQueue-based update processing
13886 with a simpler g_idle_add approach; still has the
13887 same queueing properties, but now we don't poll the
13888 model forever and updates are processed immediately.
13890 (_unref_entry), (rhythmdb_query_model_finalize):
13891 Unref DB entries when finalized
13893 (rhythmdb_query_model_has_pending_changes):
13894 Use our own counter to decide if there are updates pending
13896 (rhythmdb_query_model_process_update), (idle_process_update):
13897 Process updates using g_idle_add, or directly if possible
13899 (rhythmdb_query_model_signal_complete),
13900 (rhythmdb_query_model_add_entries):
13901 Change to new update processing method
13903 (idle_poll_model), (rhythmdb_query_model_poll):
13904 Remove GAsyncQueue-based update processing.
13906 * rhythmdb/rhythmdb.c: (rhythmdb_do_full_query_internal):
13907 No need to poll the model any more - updates are processed
13908 directly for synchronous queries.
13910 * sources/rb-iradio-source.c: (rb_iradio_source_do_query):
13911 Property model needs to be unref'd here
13913 * sources/rb-library-source.c: (rb_library_source_do_query):
13914 Don't try to cancel the active query (it never worked anyway),
13915 remove obsolete poll call, unref property models as required,
13916 and don't unref the cached 'all' query, since hold on to it.
13917 We unref it when the sort order changes, which forces the query
13920 * sources/rb-podcast-source.c: (rb_podcast_source_constructor):
13921 Unref the property model as required
13923 (rb_podcast_source_do_query):
13924 Treat any query with no selected feeds and no search text as
13925 an 'all' query. Unref query models except for the cached
13926 'all' query, since we hold on to that.
13928 (rb_podcast_source_cmd_update_all):
13929 Unref the property model as required.
13931 * widgets/rb-entry-view.c: (rb_entry_view_set_property):
13932 Don't try to cancel the query (it never worked anyway)
13934 (rb_entry_view_poll_model):
13935 No need for this any more.
13937 * widgets/rb-entry-view.h:
13938 Remove obsolete function rb_entry_view_poll_model
13940 * widgets/rb-property-view.c: (rb_property_view_set_property):
13941 Ref and unref the property model as required.
13943 2005-11-14 James Livingston <jrl@ids.org.au>
13945 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
13947 * shell/rb-shell-player.c: (rb_shell_player_open_location): fix checks
13948 for error. Closes bug 321416.
13950 2005-11-14 James Livingston <jrl@ids.org.au>
13952 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
13954 * podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed): fix
13955 a crasher if a feed's last-post value isn't set. Closes bug 321353.
13957 2005-11-14 James Livingston <jrl@ids.org.au>
13959 * shell/rb-playlist-manager.c: (rb_playlist_manager_set_uimanager):
13960 * shell/rb-removable-media-manager.c:
13961 (rb_removable_media_manager_set_uimanager):
13962 * shell/rb-tray-icon.c: (rb_tray_icon_constructor): set the
13963 translation domain for GTK action groups.
13965 2005-11-12 James Livingston <jrl@ids.org.au>
13967 * po/POTFILES.in: remove the old station-new files
13969 2005-11-12 James Livingston <jrl@ids.org.au>
13971 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_start_element),
13972 (rhythmdb_tree_parser_end_element), (save_entry_ulong),
13973 (save_entry): cause Rhythmbox to re-read the metadata from a file,
13974 when upgrading from a pre-Date-supporting version to a version that
13975 supports Date metadata. Closes bug 320760.
13977 2005-11-12 James Livingston <jrl@ids.org.au>
13979 Add "update all podcast feeds" command. Closes bug 319954.
13981 * data/ui/rhythmbox-ui.xml: add to source context menu.
13983 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
13984 (register_action_group), (rb_podcast_source_cmd_download_post),
13985 (rb_podcast_source_cmd_delete_feed),
13986 (rb_podcast_source_cmd_properties_feed),
13987 (rb_podcast_source_cmd_update_feed): pass the source to the actions,
13988 rather than the shell.
13990 (rb_podcast_source_update_feed_func),
13991 (rb_podcast_source_cmd_update_all): update every feed.
13993 2005-11-11 James Livingston <jrl@ids.org.au>
13995 * shell/rb-shell-player.c: (rb_shell_player_class_init),
13996 (rb_shell_player_constructor), (rb_shell_player_finalize):
13997 * shell/rb-shell.c: fix some conflicting keybindings, and mak some
13998 others follow the HIG recommentations.
14000 2005-11-11 James Livingston <jrl@ids.org.au>
14002 * podcast/rb-podcast-manager.c:
14003 (rb_podcast_manager_subscribe_feed): check that the url is valid,
14004 before trying to use it.
14006 2005-11-11 James Livingston <jrl@ids.org.au>
14008 * widgets/rb-entry-view.c: (rb_entry_view_date_sort_func),
14009 (rb_entry_view_append_column): When sorting by year, sort by album
14010 within a particular year.
14012 2005-11-11 James Livingston <jrl@ids.org.au>
14016 2005-11-10 Charles Schmidt <cschmidt2@emich.edu>
14017 * daapsharing/rb-daap-connection.c: (build_message): Fixed the
14018 spelling of "Language."
14020 2005-11-11 James Livingston <jrl@ids.org.au>
14022 * rhythmdb/rhythmdb-property-model.c:
14023 (rhythmdb_property_model_row_inserted_cb),
14024 (rhythmdb_property_model_prop_changed_cb),
14025 (rhythmdb_property_model_entry_removed_cb),
14026 (rhythmdb_property_model_insert_prop),
14027 (rhythmdb_property_model_sync): display the count after the "All"
14028 entry of a property model.
14030 * widgets/rb-property-view.c: (rb_property_view_class_init),
14031 (rb_property_view_finalize), (rb_property_view_constructor): use
14034 2005-11-10 James Livingston <jrl@ids.org.au>
14036 * rhythmdb/rhythmdb-query-model.c:
14037 (rhythmdb_query_model_remove_entry):
14038 * rhythmdb/rhythmdb-query-model.h: make
14039 rhythmdb_query_model_remove_entry return whether the entry was in the
14042 * sources/rb-playlist-source.c: (rb_playlist_source_add_location):
14043 don't add non-SONG entries, as it doesn't really work and can cause
14046 (rb_playlist_source_remove_location): assert if the playlist and model
14047 differ on whether the entry is in the playlist
14049 2005-11-10 James Livingston <jrl@ids.org.au>
14051 * podcast/rb-podcast-manager.c: (rb_podcast_manager_init),
14052 (rb_podcast_manager_finalize), (rb_podcast_manager_subscribe_feed),
14053 (rb_podcast_manager_thread_parse_feed),
14054 (rb_podcast_manager_insert_feed), (rb_podcast_manager_event_loop),
14055 (rb_podcast_manager_abort_subscribe): use a GAsyncQueue rather than
14056 emulating one with a list and mutex. Fixes a couple of threading
14059 (rb_podcast_manager_insert_feed): fix some problems with ignoring
14062 (rb_podcast_manager_download_entry), (rb_podcast_manager_next_file),
14063 (rb_podcast_manager_copy_post), (end_job), (cancel_job),
14064 (download_progress_cb), (rb_podcast_manager_db_entry_deleted_cb),
14065 * podcast/rb-podcast-parse.c: (rb_insert_item),
14066 (rb_podcast_parse_channel_free):
14067 * podcast/rb-podcast-parse.h: Convert C++-style comments to C-style,
14068 fix some typos, and make a bit of code clearer.
14070 2005-11-10 Dennis Cranston <dennis_cranston@yahoo.com>
14072 Make the "delete podcast" dialog better. Closes bug 320899.
14074 * shell/rb-shell.c: (rb_shell_class_init), (rb_shell_get_property):
14075 Add PROP_WINDOW for rb_shell_get_property so we can access the
14076 GtkWindow widget of the main window.
14077 * sources/rb-podcast-source.c: (impl_delete): Set parent window &
14078 fix mnemonic conflict; (rb_podcast_source_cmd_delete_feed): Make the
14079 podcast feed delete dialog less confusing as well.
14081 2005-11-09 James Livingston <jrl@ids.org.au>
14083 * shell/rb-removable-media-manager.c:
14084 (rb_removable_media_manager_mount_volume),
14085 (rb_removable_media_manager_scan): Fix a crasher where we were getting
14086 NULL for a cd volume.
14088 2005-11-08 Jonathan Matthew <jonathan@kaolin.hn.org>
14090 * rhythmdb/rhythmdb.h: make RhythmDB's impl_entry_set
14091 method return a gboolean indicating whether the changes
14092 to the entry have already been applied.
14094 * rhythmdb/rhythmdb.c: (rhythmdb_entry_set_internal):
14095 only modify the entry if impl_entry_set returns FALSE.
14097 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_entry_set):
14098 When setting the location of an entry, update the
14099 hash table mapping locations to entries.
14101 2005-11-08 Jonathan Matthew <jonathan@kaolin.hn.org>
14103 * data/glade/Makefile.am:
14104 * iradio/Makefile.am:
14105 Remove 'new station' dialog.
14107 * iradio/rb-station-properties-dialog.h:
14108 * sources/rb-iradio-source.c: (impl_song_properties):
14109 * shell/rb-shell.c: (rb_shell_cmd_new_station):
14110 Add 'new station' mode parameter to
14111 rb_station_properties_dialog_new.
14113 * (rb_station_properties_dialog_response_cb),
14114 (rb_station_properties_dialog_create_station):
14115 When in 'new station' mode, create the station
14116 when OK button is pressed.
14118 * iradio/rb-station-properties-dialog.c:
14119 (rb_station_properties_dialog_location_changed_cb):
14120 Only enable OK button if a location is specified
14121 (rb_station_properties_dialog_init),
14122 (rb_station_properties_dialog_new),
14123 (rb_station_properties_dialog_update),
14124 (rb_station_properties_dialog_update_title),
14125 (rb_station_properties_dialog_rated_cb),
14126 (rb_station_properties_dialog_update_play_count),
14127 (rb_station_properties_dialog_update_bitrate),
14128 (rb_station_properties_dialog_update_last_played),
14129 (rb_station_properties_dialog_update_rating),
14130 (rb_station_properties_dialog_update_playback_error),
14131 (rb_station_properties_dialog_show):
14132 Handle 'new station' mode, where there's no current
14135 2005-11-08 James Livingston <jrl@ids.org.au>
14137 * sources/rb-playlist-source.c: (rb_playlist_source_constructor): make
14138 keybinding for track columns consistent between library and playlist
14141 2005-11-07 James Livingston <jrl@ids.org.au>
14143 * data/ui/rhythmbox-ui.xml:
14144 * shell/rb-playlist-manager.c: (rb_playlist_manager_set_property): add
14145 "Edit" item to playlist menu. Closes bug 311470.
14147 2005-11-07 James Livingston <jrl@ids.org.au>
14149 patch by: Jaap A. Haitsma <jaap@haitsma.org>
14151 * widgets/rb-dialog.c: (rb_file_chooser_new): add overwrite
14152 confirmation to save dialogs, with gtk 2.8 or higher.
14154 2005-11-07 James Livingston <jrl@ids.org.au>
14155 * configure.ac: move gnome-vfs 2.7.4 from being an ipod-only
14156 requirement to a general on, because people are going to have it for
14157 the other dependencies.
14159 2005-11-06 Dennis Cranston <dennis_cranston@yahoo.com>
14161 * sources/rb-podcast-source.c: (impl_delete): Make the podcast
14162 delete dialog less confusing. Use HIG recommended button order.
14165 2005-11-06 James Livingston <jrl@ids.org.au>
14167 * sources/rb-audiocd-source.c: (rb_audiocd_source_class_init): remove
14168 drag-and-drop error.
14170 * sources/rb-library-source.c: (rb_library_source_constructor): only
14171 add drag-and-drop for the Library itself, subclasses can add support
14172 themselves if they want it.
14174 * sources/rb-removable-media-source.c:
14175 (rb_removable_media_source_class_init): by default removable media
14176 sources do not support dnd
14178 2005-11-05 Jonathan Matthew <jonathan@kaolin.hn.org>
14180 * data/glade/station-properties.glade:
14181 Add box containing error icon and error message label
14182 * iradio/rb-station-properties-dialog.c:
14183 (rb_station_properties_dialog_class_init),
14184 (rb_station_properties_dialog_finalize):
14185 Change this class to use G_DEFINE_TYPE
14186 (rb_station_properties_dialog_init),
14187 (rb_station_properties_dialog_update),
14188 (rb_station_properties_dialog_update_playback_error):
14189 Display error icon and message when there is one, and hide the error
14191 (rb_station_properties_dialog_show): Hack widget show
14192 method to update the visibility of the error info box when showing
14193 the widget. Otherwise the icon is displayed all the time (same thing
14194 is done in rb-song-info). Closes bug 320749.
14196 2005-11-04 Dennis Cranston <dennis_cranston@yahoo.com>
14198 * podcast/rb-podcast-parse.c: (rb_podcast_parse_time): Fix the
14199 parsing of the duration of podcast episodes from the feed. Closes bug
14202 2005-11-05 James Livingston <jrl@ids.org.au>
14204 patch by Christophe Fergeau <teuf@gnome.org> to add support for the
14205 release date metadata ("Year"). Closes bug 166093.
14207 * metadata/rb-metadata-common.c: (rb_metadata_get_field_type):
14208 * metadata/rb-metadata-gst.c: (rb_metadata_gst_load_tag),
14209 (rb_metadata_gst_add_tag_data):
14210 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
14212 * rhythmdb/rhythmdb.c: (metadata_field_from_prop),
14213 (extract_gtype_from_enum_entry), (rhythmdb_entry_finalize),
14214 (set_props_from_metadata), (rhythmdb_entry_set_internal),
14215 (rhythmdb_prop_get_type):
14216 * rhythmdb/rhythmdb.h: add support for "date" property
14218 * data/glade/general-prefs.glade:
14219 * shell/rb-shell-preferences.c: (rb_shell_preferences_init):
14220 * widgets/rb-entry-view.c: (rb_entry_view_year_cell_data_func),
14221 (rb_entry_view_append_column):
14222 * widgets/rb-entry-view.h:
14223 * sources/rb-library-source.c: (rb_library_source_constructor):
14224 * sources/rb-playlist-source.c: (rb_playlist_source_constructor): Add
14227 * data/glade/song-info.glade:
14228 * widgets/rb-song-info.c: (rb_song_info_boldify_label),
14229 (rb_song_info_construct_single), (rb_song_info_constructor),
14230 (rb_song_info_populate_dialog), (rb_song_info_update_year),
14231 (rb_song_info_sync_entry_single): Add "Year" to song info window
14233 * widgets/rb-query-creator-properties.c: Allow auto playlists to be
14236 2005-11-05 James Livingston <jrl@ids.org.au>
14238 * data/glade/podcast-properties.glade: Add a scrollbar to the podcast
14239 description if it's very long.
14241 2005-11-05 James Livingston <jrl@ids.org.au>
14243 pathc by: Artem Baguinski <femistofel@gmail.com>
14245 * help/C/Makefile.am:
14246 * help/ja/Makefile.am: allow Anjuta to import the RB source tree.
14249 2005-11-05 James Livingston <jrl@ids.org.au>
14251 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
14253 * daapsharing/rb-daap-share.c: (write_next_chunk),
14254 (message_finished), (databases_cb): Use chunked file loading and
14255 sending in the DAAP server. This should reduce the amount of memory
14256 required to send files to the client.
14258 2005-11-05 James Livingston <jrl@ids.org.au>
14260 * configure.ac: make the nautilus_burn_drive_door_is_open detection
14261 work better on some systems. Closes 320622.
14263 2005-11-05 James Livingston <jrl@ids.org.au>
14265 * data/glade/audioscrobbler-prefs.glade: add a link to the last.fm
14266 homepage, so that users can find out what AudioScrobbler is. Add
14269 * data/glade/daap-prefs.glade:
14270 * data/glade/general-prefs.glade:
14271 * data/glade/library-prefs.glade: make the indent be more consistent
14273 * data/glade/podcast-prefs.glade:
14274 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
14275 (impl_get_config_widget): move thing out of code into glade, where
14278 2005-11-05 James Livingston <jrl@ids.org.au>
14280 * shell/rb-shell.c: (rb_shell_constructor): really remove bit of code
14281 related to WITH_CD_BURNER_SUPPORT that I missed in the other commit
14283 2005-11-04 James Livingston <jrl@ids.org.au>
14285 * configure.ac: don't print DAAP configure info twice
14287 2005-11-04 James Livingston <jrl@ids.org.au>
14289 * shell/rb-playlist-manager.c: (rb_playlist_manager_set_property):
14290 * sources/rb-playlist-source.c: (burn_playlist_iter_func),
14291 (rb_playlist_source_burn_playlist): remove the WITH_CD_BURNER_SUPPORT
14292 #ifdefs, since we removed the symbol. Oops
14294 2005-11-04 James Livingston <jrl@ids.org.au>
14296 * sources/rb-ipod-source.c: (hal_udi_is_ipod): put the libhal_ctx_init
14297 after the connect line, not before. Oops.
14299 2005-11-04 James Livingston <jrl@ids.org.au>
14301 * sources/rb-podcast-source.c: (rb_podcast_source_cmd_update_feed):
14304 2005-11-03 James Livingston <jrl@ids.org.au>
14306 * NEWS: update the news file
14308 * data/glade/general-prefs.glade: make the prefs refer to "time" not
14311 * data/ui/rhythmbox-ui.xml:
14312 * shell/rb-playlist-manager.c:
14313 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
14314 (rb_podcast_source_feeds_show_popup_cb): don't have both "unsubscribe"
14315 and "delete" for feeds.
14317 2005-11-03 James Livingston <jrl@ids.org.au>
14319 * sources/rb-podcast-source.c: (impl_delete),
14320 (rb_podcast_source_cmd_delete_feed): Allow users to cancel deleting a
14321 feed. Closes 319760.
14323 2005-11-03 James Livingston <jrl@ids.org.au>
14325 Don't start playing from the remote site when a un-downloaded podcast
14326 is activated. Closes 319983.
14329 * podcast/rb-podcast-manager.c: (rb_podcast_manager_add_post),
14330 (write_job_data), (download_progress_cb): write the local location as
14331 soon as any data is recieved
14333 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element): set
14334 the mountpoint to NULL for podcast episodes that haven't yet been
14337 * shell/rb-shell-player.c: (rb_shell_player_entry_activated_cb): don't
14338 start playing a podcast if it hasn't been downloaded.
14340 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
14341 (rb_podcast_source_entry_activated_cb): begin downloading when the
14342 podcast is activated.
14344 2005-11-03 Dennis Cranston <dennis_cranston@yahoo.com>
14346 * data/glade/general-prefs.glade: Fix capitalization.
14347 * shell/rb-removable-media-manager.c: Add a mnemonic.
14348 * sources/rb-podcast-source.c:
14349 (rb_podcast_source_songs_show_popup_cb),
14350 (rb_podcast_source_feeds_show_popup_cb): Add mnemonics.
14352 2005-11-03 James Livingston <jrl@ids.org.au>
14354 patch by: Shun-ichi Tahara <jado@flowernet.gr.jp>
14356 * shell/rb-removable-media-manager.c:
14357 (rb_removable_media_manager_mount_volume): don't check network or
14358 autofs mounts, as they're not going to be removable media. Stops
14359 sending lots of warnings to syslog. Closes 320571.
14361 * sources/rb-ipod-source.c: (hal_udi_is_ipod): actually initialise the
14362 DBus connection, so that it doesn't wedge gnome-vfs-daemon. Closes
14365 2005-11-03 James Livingston <jrl@ids.org.au>
14367 Add support for playing audio CDs. Metadata lookup is done using
14368 SoundJuicer's MusicBrainz lookup code, which can be switched to using
14369 the library when it gets broken out of S-J.
14371 Add a "rescan media" menu item, and commands for ejecting removable
14374 Move nautilus-cd-burner from optional to required depenency.
14377 * data/ui/rhythmbox-ui.xml:
14378 * metadata/Makefile.am:
14379 + metadata/sj-error.c:
14380 + metadata/sj-error.h:
14381 + metadata/sj-metadata-marshal.list:
14382 + metadata/sj-metadata-musicbrainz.c:
14383 + metadata/sj-metadata-musicbrainz.h:
14384 + metadata/sj-metadata.c:
14385 + metadata/sj-metadata.h:
14386 + metadata/sj-structures.c:
14387 + metadata/sj-structures.h:
14388 * player/Makefile.am:
14389 * player/rb-player-gst.c: (cdda_got_source_cb), (rb_player_open):
14391 * shell/Makefile.am:
14392 * shell/rb-removable-media-manager.c:
14393 (rb_removable_media_manager_dispose), (poll_tray_opened),
14394 (end_cd_drive_monitor), (begin_cd_drive_monitor),
14395 (rb_removable_media_manager_load_media),
14396 (rb_removable_media_manager_mount_volume),
14397 (rb_removable_media_manager_cmd_eject_medium),
14398 (rb_removable_media_manager_cmd_scan_media),
14399 (rb_removable_media_manager_check_volume),
14400 (rb_removable_media_manager_unmount_volume_swap),
14401 (rb_removable_media_manager_scan):
14402 * sources/Makefile.am:
14403 + sources/rb-audiocd-source.c:
14404 + sources/rb-audiocd-source.h:
14405 * tests/Makefile.am:
14407 2005-11-02 James Livingston <jrl@ids.org.au>
14409 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
14411 * sources/rb-iradio-source.c:
14412 (stations_view_drag_data_received_cb):
14413 * sources/rb-podcast-source.c: (posts_view_drag_data_received_cb):
14414 don't crash when the second uri is missing frm the drop, which
14415 browsers sometimes do.
14417 2005-11-01 James Livingston <jrl@ids.org.au>
14419 * podcast/rb-podcast-manager.c: (rb_podcast_manager_add_post),
14420 (rb_podcast_manager_insert_feed):
14421 * podcast/rb-podcast-manager.h:
14422 * podcast/rb-podcast-parse.c: (rb_podcast_initializa_item),
14423 (rb_set_item_value), (rb_validate_item_propert),
14424 (rb_podcast_parse_date), (rb_podcast_parse_time):
14425 * podcast/rb-podcast-parse.h: get the duration of podcast episodes
14428 2005-10-31 James Livingston <jrl@ids.org.au>
14431 * ChangeLog0.8: break off the older Changelog entries, so it isn't so
14434 2005-10-31 James Livingston <jrl@ids.org.au>
14436 * sources/rb-podcast-source.c:
14437 (rb_podcast_source_post_date_cell_data_func): generate the date string
14438 in a way that is correct in all locales.
14440 * rhythmdb/rhythmdb.c: (rhythmdb_entry_allocate),
14441 (rhythmdb_entry_sync_mirrored): make the last played/date added
14442 columns use the same format.
14444 2005-10-30 James Livingston <jrl@ids.org.au>
14447 * podcast/rb-podcast-manager.c:
14448 (rb_podcast_manager_subscribe_feed): fix feed updating, which I broke
14450 * shell/rb-shell-player.c: (rb_shell_player_open_location): report
14451 iradio errors better.
14453 2005-10-30 James Livingston <jrl@ids.org.au>
14455 patch by: Artem Baguinski <femistofel@gmail.com>
14457 * metadata/rb-metadata-gst.c: (rb_metadata_init):
14459 2005-10-30 James Livingston <jrl@ids.org.au>
14461 * podcast/rb-podcast-manager.c:
14462 (rb_podcast_manager_subscribe_feed),
14463 (rb_podcast_manager_insert_feed): Don't crash if the podcast feed has
14464 already been added, usually as a radio station. Closes 319434.
14466 2005-10-29 Dennis Cranston <dennis_cranston@yahoo.com>
14468 * data/glade/podcast-new.glade: HIG fixes (spacing, capitalization,
14469 mnemonics & resize issues)
14470 * data/glade/podcast-prefs.glade: HIG fixes (spacing, capitalization
14472 * sources/rb-podcast-source.c: (impl_get_config_widget): Set mnemonic
14473 widget for the "download location" label.
14477 2005-10-29 James Livingston <jrl@ids.org.au>
14479 Allow the search box to match words from multiple properties. Closes
14480 bug 139196. Thanks to the person from IRC who did a lot of the initial
14484 * lib/rb-util.c: (rb_string_split_words), (rb_search_fold):
14485 * lib/rb-util.h: Add functions to split a string into words, and one
14486 to perform "search folding" which is currently like casefolding but
14487 also strips punctuation
14489 * rhythmdb/rhythmdb.c: (rhythmdb_prop_get_type),
14490 (rhythmdb_query_preprocess):
14491 * rhythmdb/rhythmdb.h: add a SEARCH_MATCH property which will match
14492 against title, artist, album and genre (for the search box)
14494 * rhythmdb/rb-refstring.c: (rb_refstring_new_full):
14495 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
14496 (save_entry), (search_match_properties),
14497 (evaluate_conjunctive_subquery): process the SEARCH_MATCH property by
14498 splitting into words and matching across multiple properties.
14500 * sources/rb-library-source.c: (construct_query_from_selection): use
14501 the new SEARCH_MATCH property for the search box
14503 * widgets/rb-entry-view.c: (type_ahead_search_func):
14505 2005-10-29 James Livingston <jrl@ids.org.au>
14507 * lib/rb-stock-icons.c: (rb_stock_icons_init):
14508 * lib/rb-stock-icons.h: bind gnome-icon-theme icons to stock ids.
14510 * shell/rb-playlist-manager.c:
14511 * shell/rb-shell.c: use the above stock ids, so that the icons get set
14514 * shell/rb-shell-player.c: (rb_shell_player_constructor): set the
14515 initial state of the shuffle/repeat menu items correctly. Patch from
14516 Dennis Cranston <dennis_cranston@yahoo.com>, closes 313158.
14518 2005-10-29 James Livingston <jrl@ids.org.au>
14520 * podcast/rb-podcast-manager.c: (rb_podcast_manager_copy_post): fix
14523 * widgets/rb-cell-renderer-pixbuf.c:
14524 (rb_cell_renderer_pixbuf_render): don't colour these, as it makes the
14525 icon go black when row is not selected
14527 * doc/reference/tmpl/rb-daap-connection.sgml:
14528 * doc/reference/tmpl/rhythmdb.sgml: doc updates
14530 2005-10-29 James Livingston <jrl@ids.org.au>
14532 * podcast/rb-podcast-manager.c: (rb_podcast_manager_copy_post): fix a
14533 silly mistake, where it could think partial downloads has been
14536 2005-10-29 James Livingston <jrl@ids.org.au>
14538 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
14540 * data/glade/song-info.glade:
14541 * widgets/rb-song-info.c: (rb_song_info_construct_single),
14542 (rb_song_info_populate_num_field), (rb_song_info_populate_dialog),
14543 (rb_song_info_sync_entry_single): show the disc number in the song
14544 info window. From bug 311199.
14546 2005-10-29 James Livingston <jrl@ids.org.au>
14548 * rhythmdb/rhythmdb.c: (rhythmdb_process_events),
14549 (rhythmdb_query_preprocess), (rhythmdb_idle_save): Save database
14550 regularly. Closes 155306.
14552 2005-10-29 James Livingston <jrl@ids.org.au>
14554 * podcast/rb-podcast-manager.c:
14555 (rb_podcast_manager_download_entry),
14556 (rb_podcast_manager_copy_post), (rb_podcast_manager_add_post),
14557 (rb_podcast_manager_insert_feed):
14558 * podcast/rb-podcast-manager.h:
14559 * podcast/rb-podcast-parse.c: (rb_set_item_value),
14560 (rb_podcast_parser_start_element):
14561 * podcast/rb-podcast-parse.h: Detect already-downloaded podcasts, and
14562 don't download them again. However, it can't resume
14563 partially-downloaded ones.
14565 2005-10-28 James Livingston <jrl@ids.org.au>
14567 * metadata/rb-metadata-gst.c: (rb_add_id3_tagger),
14568 (rb_metadata_gst_add_tag_data), (rb_metadata_save): Make ID3 tagging
14569 work. Don't attempt to write duration as a tag.
14571 Thanks to Artem Baguinski <femistofel@gmail.com>
14573 2005-10-28 James Livingston <jrl@ids.org.au>
14575 * shell/rb-source-header.c: (rb_source_header_sync_control_state):
14576 don't disable the status-bar menu item when the current source doesn't
14577 use the search box.
14579 2005-10-28 James Livingston <jrl@ids.org.au>
14581 * podcast/rb-podcast-manager.c: (download_progress_update_cb): don't
14582 crash if the file has unknown length
14584 2005-10-27 James Livingston <jrl@ids.org.au>
14586 * daapsharing/rb-daap-connection.c:
14587 (rb_daap_connection_state_done): don't assert when a daap server
14588 doesn't have any playlists
14590 2005-10-27 James Livingston <jrl@ids.org.au>
14592 * sources/rb-sourcelist-model.c:
14593 (rb_sourcelist_model_set_dnd_targets): Add the COPY action to the drag
14594 source for the sourcelist. Closes bug 319817.
14596 2005-10-26 Ryan P Skadberg <skadz@stigmata.org>
14598 Patch by: Renato Araujo <renatox@gmail.com>
14600 * podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed):
14601 Fix for a crasher caused by previous patch.
14603 2005-10-26 James Livingston <jrl@ids.org.au>
14605 * data/glade/podcast-prefs.glade:
14606 * podcast/rb-new-podcast-dialog.c: (rb_new_podcast_dialog_init):
14607 * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed):
14608 * sources/rb-podcast-source.c: (rb_podcast_source_new):
14609 * podcast/rb-podcast-manager.c:
14610 (rb_podcast_manager_copy_post), (rb_podcast_manager_add_post),
14611 (rb_podcast_manager_insert_feed), (rb_podcast_manager_event_loop):
14612 * shell/rb-shell.c: Change some strings to make them more consistent.
14613 "Podcast" is now replaces by "Podcast Feed" or "Podcast Episode" which
14614 makes it clearer which is which. "Episode" may not be the best term,
14615 but it seems to be widely used.
14617 Also fix some strings that weren't marked as translatable.
14619 * podcast/rb-feed-podcast-properties-dialog.c:
14620 (rb_feed_podcast_properties_dialog_class_init),
14621 (rb_feed_podcast_properties_dialog_finalize):
14622 * podcast/rb-new-podcast-dialog.c:
14623 (rb_new_podcast_dialog_class_init), (rb_new_podcast_dialog_finalize):
14624 * widgets/rb-simple-view.c: (rb_simple_view_class_init),
14625 (rb_simple_view_finalize), (rb_simple_view_constructor):
14626 * podcast/rb-podcast-properties-dialog.c:
14627 (rb_podcast_properties_dialog_class_init),
14628 (rb_podcast_properties_dialog_finalize):
14629 * podcast/rb-podcast-manager.c: (rb_podcast_manager_class_init),
14630 (rb_podcast_manager_constructor), (rb_podcast_manager_finalize),
14631 * sources/rb-podcast-source.c: (rb_podcast_source_class_init),
14632 (rb_podcast_source_finalize), (rb_podcast_source_constructor):
14633 use G_DEFINE_TYPE, instead of doing it manually.
14635 2005-10-26 James Livingston <jrl@ids.org.au>
14637 Patch by Artem Baguinski <femistofel@gmail.com> and James Livingston
14640 * metadata/rb-metadata-gst.c: (rb_add_id3_tagger),
14641 (rb_metadata_init): Check that the necessary plugins are present to do
14643 (rb_metadata_file_valid), (rb_metadata_save): Ensure the file isn't
14644 corrupted before replacing the original.
14646 2005-10-25 Jonathan Matthew <jonathan@kaolin.hn.org>
14648 reviewed by: James Livingston <jrl@ids.org.au>
14650 Assign sequential IDs to playlists for DAAP rather than using the
14651 address of the playlist object. Less flaky, and should work on 64bit
14652 platforms. Closes bug 319304.
14654 * daapsharing/rb-daap-share.c:
14655 (rb_daap_share_set_property): watch for playlist creation
14656 (_find_by_id), (_find_by_source): playlist list search functions
14657 (rb_daap_share_playlist_created),
14658 (rb_daap_share_process_playlist),
14659 (rb_daap_share_playlist_destroyed):
14660 update playlist list as it changes, use weak refs on
14661 playlists to get notified on destroy.
14662 (rb_daap_share_forget_playlist), (rb_daap_share_dispose):
14663 destroy playlist list on shutdown
14664 (add_playlist_to_mlcl): use playlist ID rather than pointer in
14666 (databases_cb): search for playlist ID in list rather than just
14667 converting it to a pointer; return HTTP 404 if playlist not
14669 (rb_daap_share_start_publish): playlist IDs start at 2, since 1
14670 is already used for the main library
14672 2005-10-26 James Livingston <jrl@ids.org.au>
14674 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
14676 * daapsharing/rb-daap-connection.c: (build_message),
14677 (http_response_handler), (http_get), (handle_server_info),
14678 (handle_login), (handle_update), (handle_database_info),
14679 (handle_song_listing), (handle_playlists),
14680 (handle_playlist_entries), (handle_logout),
14681 (rb_daap_connection_new), (rb_daap_connection_logout),
14682 (rb_daap_connection_state_done), (rb_daap_connection_do_something),
14683 (rb_daap_connection_get_headers), (rb_daap_connection_destroy):
14684 * daapsharing/rb-daap-connection.h:
14685 * sources/rb-daap-source.c: (rb_daap_source_activate),
14686 (rb_daap_source_connection_cb), (rb_daap_source_disconnect_cb),
14687 (rb_daap_source_disconnect): Make connecting to DAAP sources
14688 asynchronous, so that non-responsive servers don't hang the UI. Closes
14691 2005-10-26 James Livingston <jrl@ids.org.au>
14693 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
14695 * rhythmdb/rhythmdb-query-model.c:
14696 (rhythmdb_query_model_do_reorder): generate the row re-order map
14699 * widgets/rb-entry-view.c: (rb_entry_view_set_property),
14700 (rb_entry_view_row_changed_cb), (rb_entry_view_rows_reordered_cb):
14701 Update selection when rows get re-ordered. Closes 319718.
14703 2005-10-26 James Livingston <jrl@ids.org.au>
14705 patch from Jonathan Matthew <jonathan@kaolin.hn.org>
14707 * shell/rb-play-order.c: (rb_play_order_playing_source_changed):
14708 actually set the db pointer in play orders. Closes 319818.
14710 2005-10-25 Ryan P Skadberg <skadz@stigmata.org>
14712 Patch by: Renato Araujo <renatox@gmail.com>
14714 * podcast/rb-podcast-manager.c: (rb_podcast_manager_start_sync),
14715 (rb_podcast_manager_sync_head_cb), (rb_podcast_manager_add_post),
14716 (rb_podcast_manager_update_synctime),
14717 (rb_podcast_manager_config_changed),
14718 (rb_podcast_manager_insert_feed):
14719 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
14721 * rhythmdb/rhythmdb.c: (rhythmdb_entry_finalize),
14722 (rhythmdb_entry_set_internal), (rhythmdb_prop_get_type):
14723 * rhythmdb/rhythmdb.h: Fixes for #319759 and #319755.
14725 2005-10-25 James Livingston <jrl@ids.org.au>
14727 * daapsharing/rb-daap-share.c: (db_entry_added_cb),
14728 (db_entry_deleted_cb): don't share tracks that are hidden because the
14731 2005-10-22 James Livingston <jrl@ids.org.au>
14733 * shell/rb-shell-player.c: (rb_shell_player_set_playing_entry): don't
14734 crash if an entry couldn't be playerd, without streamer setting an
14738 Patch from Jonathan Matthew <jonathan@kaolin.hn.org>
14740 * podcast/rb-new-podcast-dialog.c: (rb_new_podcast_dialog_init),
14741 (rb_new_podcast_dialog_text_changed): enable the add button when a url
14742 is pasted into the dialog.
14744 * podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed):
14745 * podcast/rb-podcast-parse.c: (rb_set_channel_value),
14746 (rb_set_item_value), (rb_insert_item), (rb_validate_item_propert),
14747 (rb_podcast_parse_channel_free):
14748 * podcast/rb-podcast-parse.h: handle per-entry author names in podcast
14751 2005-10-22 James Livingston <jrl@ids.org.au>
14753 * sources/rb-iradio-source.c:
14754 (rb_iradio_source_first_time_changed): Make merging the default
14755 stations actually work.
14757 * sources/rb-podcast-source.c:
14758 (rb_podcast_source_post_status_cell_data_func): fix problem where some
14759 people weren't seing the percentages in the stats column.
14761 2005-10-21 James Livingston <jrl@ids.org.au>
14763 Patch from Caio Marcelo <cmarcelo@gmail.com>
14765 * shell/rb-shell.c: (rb_shell_window_state_cb),
14766 (rb_shell_get_visibility), (idle_hide_mainwindow),
14767 (rb_shell_set_visibility): Make the "show window" item in the tray
14768 icon menu show the toggle state correctly. Use a better policy on
14769 deciding whether the window is "visible" or not. Closes bug 308053.
14771 2005-10-21 James Livingston <jrl@ids.org.au>
14773 * doc/reference/tmpl/rb-shell-preferences.sgml:
14774 * shell/Makefile.am: fix building with gtk-doc
14776 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_song_changed_cb):
14777 don't submit podcasts to audioscrobbler
14780 Patch from Jonathan Matthew <jonathan@kaolin.hn.org>
14782 * podcast/rb-podcast-parse.c: (rb_set_channel_value),
14783 (rb_set_item_value): strip spaces surrounding podcast urls
14786 Patch from Paul Kuliniewicz <kuliniew@purdue.edu>
14788 * rhythmdb/rhythmdb.h: fix crasher caused by dbus-podcast interaction
14790 2005-10-20 Ryan P Skadberg <skadz@stigmata.org>
14792 Patch from Ruben Vermeersch <ruben@lambda1.be> to add
14793 Audioscrobbler/Last.fm support
14796 * data/glade/Makefile.am:
14797 * data/glade/audioscrobbler-prefs.glade:
14798 * data/rhythmbox.schemas:
14800 * lib/md5.c: (md5_process), (md5_init), (md5_append), (md5_finish):
14802 * lib/rb-preferences.h:
14804 * shell/Makefile.am:
14805 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_class_init),
14806 (rb_audioscrobbler_init), (rb_audioscrobbler_finalize),
14807 (rb_audioscrobbler_new), (rb_audioscrobbler_set_property),
14808 (rb_audioscrobbler_get_property), (rb_audioscrobbler_add_timeout),
14809 (rb_audioscrobbler_timeout_cb), (mkmd5),
14810 (rb_audioscrobbler_parse_response), (rb_audioscrobbler_perform),
14811 (rb_audioscrobbler_do_handshake),
14812 (rb_audioscrobbler_do_handshake_cb),
14813 (rb_audioscrobbler_submit_queue),
14814 (rb_audioscrobbler_submit_queue_cb),
14815 (rb_audioscrobbler_import_settings),
14816 (rb_audioscrobbler_preferences_sync),
14817 (rb_audioscrobbler_get_config_widget), (get_proxy_uri),
14818 (rb_audioscrobbler_gconf_changed_cb),
14819 (rb_audioscrobbler_song_changed_cb),
14820 (rb_audioscrobbler_username_entry_changed_cb),
14821 (rb_audioscrobbler_username_entry_activate_cb),
14822 (rb_audioscrobbler_password_entry_changed_cb),
14823 (rb_audioscrobbler_password_entry_activate_cb),
14824 (rb_audioscrobbler_enabled_check_changed_cb),
14825 (audioscrobbler_entry_init), (audioscrobbler_entry_free),
14826 (rb_audioscrobbler_load_entry_from_string),
14827 (rb_audioscrobbler_load_queue), (rb_audioscrobbler_save_queue),
14828 (rb_audioscrobbler_print_queue),
14829 (rb_audioscrobbler_free_queue_entries):
14830 * shell/rb-audioscrobbler.h:
14831 * shell/rb-shell-preferences.c:
14832 (rb_shell_preferences_append_audioscrobbler_config):
14833 * shell/rb-shell-preferences.h:
14834 * shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor),
14835 (rb_shell_select_source), (rb_shell_cmd_preferences):
14836 * sources/Makefile.am:
14838 2005-10-21 James Livingston <jrl@ids.org.au>
14840 Patch from Renato Araujo <renatox@gmail.com> to add Podcast support
14845 * data/art/Makefile.am:
14846 * data/glade/Makefile.am:
14847 * data/rhythmbox.schemas:
14848 * data/ui/rhythmbox-ui.xml:
14849 * doc/reference/Makefile.am:
14850 * doc/reference/tmpl/rhythmdb.sgml:
14851 * lib/rb-stock-icons.c: (rb_stock_icons_init):
14852 * lib/rb-stock-icons.h:
14854 * podcast/Makefile.am:
14855 + podcast/rb-feed-podcast-properties-dialog.c:
14856 + podcast/rb-feed-podcast-properties-dialog.h:
14857 + podcast/rb-new-podcast-dialog.c:
14858 + podcast/rb-new-podcast-dialog.h:
14859 + podcast/rb-podcast-manager.c:
14860 + podcast/rb-podcast-manager.h:
14861 + podcast/rb-podcast-marshal.list:
14862 + podcast/rb-podcast-parse.c:
14863 + podcast/rb-podcast-parse.h:
14864 + podcast/rb-podcast-properties-dialog.c:
14865 + podcast/rb-podcast-properties-dialog.h:
14866 * rhythmdb/rhythmdb-property-model.c:
14867 (rhythmdb_property_model_set_property),
14868 (rhythmdb_property_model_enable_drag):
14869 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_start_element),
14870 (rhythmdb_tree_parser_end_element), (save_entry),
14871 (rhythmdb_tree_save):
14872 * rhythmdb/rhythmdb.c: (rhythmdb_entry_allocate),
14873 (rhythmdb_entry_finalize), (rhythmdb_entry_set_internal),
14874 (rhythmdb_prop_get_type), (rhythmdb_entry_podcast_post_get_type),
14875 (rhythmdb_entry_podcast_feed_get_type):
14876 * rhythmdb/rhythmdb.h:
14877 * shell/Makefile.am:
14878 * shell/rb-shell-player.c: (rb_shell_player_open_entry):
14879 * shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor),
14880 (add_to_library_response_cb), (rb_shell_cmd_new_podcast),
14882 * sources/Makefile.am:
14883 + sources/rb-podcast-source.c:
14884 + sources/rb-podcast-source.h:
14885 * widgets/Makefile.am:
14886 * widgets/rb-property-view.c: (rb_property_view_class_init),
14887 (rb_property_view_constructor),
14888 (rb_property_view_selection_changed_cb),
14889 (rb_property_view_get_treeview):
14890 * widgets/rb-property-view.h:
14891 + widgets/rb-simple-view.c:
14892 + widgets/rb-simple-view.h:
14894 2005-10-20 James Livingston <jrl@ids.org.au>
14896 * NEWS: update with changes since 0.9.1
14898 * configure.ac: check whether collate_key_for_filename is available
14899 * lib/rb-cut-and-paste-code.c: (rb_utf8_collate_key_for_filename):
14900 * lib/rb-cut-and-paste-code.h: add function copied from glib 2.8, use
14901 it if it isn't available in glib (i.e. building against 2.6)
14902 * rhythmdb/rb-refstring.c: (rb_refstring_new_full): use the filename
14903 collation to get "natural sorting". Closes bug 158599.
14905 2005-10-20 James Livingston <jrl@ids.org.au>
14907 Patch from Paul Kuliniewicz <kuliniew@purdue.edu>
14909 * doc/reference/tmpl/rb-shell-player.sgml:
14910 * shell/rb-shell-player.c: (rb_shell_player_class_init),
14911 (volume_pre_unmount_cb), (rb_shell_player_sync_with_source),
14912 (rb_shell_player_get_playing),
14913 (rb_shell_player_get_playing_time_string),
14914 (rb_shell_player_get_playing_time),
14915 (rb_shell_player_set_playing_time), (tick_cb),
14916 (rb_shell_player_get_playing_path), (filter_mmkeys):
14917 * shell/rb-shell-player.h:
14918 * shell/rb-shell-player.xml:
14919 * shell/rb-shell.c: (rb_shell_constructor),
14920 (rb_shell_player_elapsed_changed_cb), (rb_shell_set_elapsed),
14921 (rb_shell_set_window_title), (rb_shell_playing_impl),
14922 (rb_shell_get_playing_time_impl), (rb_shell_set_playing_time_impl):
14923 Merge the duration_changed and elapsed_changed DBUS signals into one
14924 elapsed_changed signal. Check that the output argument isn't NULL
14925 before trying to put things in it.
14927 2005-10-20 James Livingston <jrl@ids.org.au>
14929 * rhythmdb/rhythmdb-query-model.c:
14930 (rhythmdb_query_model_entry_added_cb),
14931 (rhythmdb_query_model_do_insert), (rhythmdb_query_model_poll): fix
14932 problem where hidden entries could be shown in playlists.
14934 * shell/rb-shell.c: (rb_shell_window_state_cb): fix a window-sizing
14935 issues when switching in and out of small mode.
14937 2005-10-19 James Livingston <jrl@ids.org.au>
14939 * shell/rb-shell.c: (rb_shell_class_init), (rb_shell_finalize),
14940 (rb_shell_constructor), (rb_shell_window_state_cb),
14941 (rb_shell_set_visibility), (rb_shell_window_configure_cb),
14942 (rb_shell_sync_window_state), (rb_shell_playlist_created_cb),
14943 (rb_shell_view_smalldisplay_changed_cb),
14944 (rb_shell_sync_smalldisplay), (smalldisplay_changed_cb),
14945 (rb_shell_sync_paned): remove gconf window-state races, prevent
14946 changing small mode too often, fix window event races. Closes 122806.
14949 Patch from Caio Marcelo <cmarcelo@gmail.com>
14951 * data/rhythmbox.schemas:
14952 * shell/rb-shell.c: (rb_shell_window_state_cb),
14953 (rb_shell_window_configure_cb), (rb_shell_sync_window_state):
14954 Remember the position of the window. Closes 315289.
14956 2005-10-19 James Livingston <jrl@ids.org.au>
14958 Patch from Christophe Fergeau <teuf@gnome.org>
14960 * configure.ac: determine whether libgpod is present when neither
14961 --with-ipod nor --without-ipod is passed
14963 2005-10-19 James Livingston <jrl@ids.org.au>
14965 Patch from Caio Marcelo <cmarcelo@gmail.com>
14967 * shell/rb-shell-player.c: (do_next_idle),
14968 (rb_shell_player_do_previous), (rb_shell_player_do_next),
14969 (rb_shell_player_do_previous_or_seek),
14970 (rb_shell_player_previous_button_cb),
14971 (rb_shell_player_next_button_cb), (rb_shell_player_cmd_previous),
14972 (rb_shell_player_cmd_next), (eos_cb):
14973 * widgets/rb-header.c: (rb_header_sync): Stop playback when the
14974 end of the playlist is reached.
14976 2005-10-19 Christopher Aillon <caillon@redhat.com>
14978 * lib/rb-thread.c: fix a few GSource leaks
14980 2005-10-19 James Livingston <jrl@ids.org.au>
14982 * doc/reference/tmpl/bacon-volume.sgml:
14983 * doc/reference/tmpl/disclosure-widget.sgml:
14984 * doc/reference/tmpl/eel-gconf-extensions.sgml:
14985 * doc/reference/tmpl/eggnotificationbubble.sgml:
14986 * doc/reference/tmpl/eggtrayicon.sgml:
14987 * doc/reference/tmpl/gsequence.sgml:
14988 * doc/reference/tmpl/rb-cell-renderer-pixbuf.sgml:
14989 * doc/reference/tmpl/rb-cell-renderer-rating.sgml:
14990 * doc/reference/tmpl/rb-daap-connection.sgml:
14991 * doc/reference/tmpl/rb-daap-dialog.sgml:
14992 * doc/reference/tmpl/rb-daap-mdns.sgml:
14993 * doc/reference/tmpl/rb-daap-share.sgml:
14994 * doc/reference/tmpl/rb-daap-sharing.sgml:
14995 * doc/reference/tmpl/rb-daap-source.sgml:
14996 * doc/reference/tmpl/rb-daap-src.sgml:
14997 * doc/reference/tmpl/rb-daap-structure.sgml:
14998 * doc/reference/tmpl/rb-debug.sgml:
14999 * doc/reference/tmpl/rb-dialog.sgml:
15000 * doc/reference/tmpl/rb-druid.sgml:
15001 * doc/reference/tmpl/rb-entry-view.sgml:
15002 * doc/reference/tmpl/rb-enums.sgml:
15003 * doc/reference/tmpl/rb-file-helpers.sgml:
15004 * doc/reference/tmpl/rb-glade-helpers.sgml:
15005 * doc/reference/tmpl/rb-header.sgml:
15006 * doc/reference/tmpl/rb-history.sgml:
15007 * doc/reference/tmpl/rb-ipod-source.sgml:
15008 * doc/reference/tmpl/rb-iradio-source.sgml:
15009 * doc/reference/tmpl/rb-library-source.sgml:
15010 * doc/reference/tmpl/rb-load-failure-dialog.sgml:
15011 * doc/reference/tmpl/rb-metadata.sgml:
15012 * doc/reference/tmpl/rb-new-station-dialog.sgml:
15013 * doc/reference/tmpl/rb-play-order-linear-loop.sgml:
15014 * doc/reference/tmpl/rb-play-order-linear.sgml:
15015 * doc/reference/tmpl/rb-play-order-random-by-age-and-rating.sgml:
15016 * doc/reference/tmpl/rb-play-order-random-by-age.sgml:
15017 * doc/reference/tmpl/rb-play-order-random-by-rating.sgml:
15018 * doc/reference/tmpl/rb-play-order-random-equal-weights.sgml:
15019 * doc/reference/tmpl/rb-play-order-random.sgml:
15020 * doc/reference/tmpl/rb-play-order-shuffle.sgml:
15021 * doc/reference/tmpl/rb-play-order.sgml:
15022 * doc/reference/tmpl/rb-player.sgml:
15023 * doc/reference/tmpl/rb-playlist-manager.sgml:
15024 * doc/reference/tmpl/rb-playlist-source-recorder.sgml:
15025 * doc/reference/tmpl/rb-playlist-source.sgml:
15026 * doc/reference/tmpl/rb-preferences.sgml:
15027 * doc/reference/tmpl/rb-property-view.sgml:
15028 * doc/reference/tmpl/rb-query-creator-private.sgml:
15029 * doc/reference/tmpl/rb-query-creator.sgml:
15030 * doc/reference/tmpl/rb-rating-helper.sgml:
15031 * doc/reference/tmpl/rb-rating.sgml:
15032 * doc/reference/tmpl/rb-recorder.sgml:
15033 * doc/reference/tmpl/rb-refstring.sgml:
15034 * doc/reference/tmpl/rb-removable-media-manager.sgml:
15035 * doc/reference/tmpl/rb-removable-media-source.sgml:
15036 * doc/reference/tmpl/rb-search-entry.sgml:
15037 * doc/reference/tmpl/rb-shell-clipboard.sgml:
15038 * doc/reference/tmpl/rb-shell-glue.sgml:
15039 * doc/reference/tmpl/rb-shell-player-glue.sgml:
15040 * doc/reference/tmpl/rb-shell-player.sgml:
15041 * doc/reference/tmpl/rb-shell-preferences.sgml:
15042 * doc/reference/tmpl/rb-shell.sgml:
15043 * doc/reference/tmpl/rb-song-display-box.sgml:
15044 * doc/reference/tmpl/rb-song-info.sgml:
15045 * doc/reference/tmpl/rb-source-header.sgml:
15046 * doc/reference/tmpl/rb-source.sgml:
15047 * doc/reference/tmpl/rb-sourcelist-model.sgml:
15048 * doc/reference/tmpl/rb-sourcelist.sgml:
15049 * doc/reference/tmpl/rb-station-properties-dialog.sgml:
15050 * doc/reference/tmpl/rb-statusbar.sgml:
15051 * doc/reference/tmpl/rb-stock-icons.sgml:
15052 * doc/reference/tmpl/rb-string-helpers.sgml:
15053 * doc/reference/tmpl/rb-thread.sgml:
15054 * doc/reference/tmpl/rb-tray-icon.sgml:
15055 * doc/reference/tmpl/rb-tree-dnd.sgml:
15056 * doc/reference/tmpl/rb-tree-model-sort.sgml:
15057 * doc/reference/tmpl/rb-util.sgml:
15058 * doc/reference/tmpl/rhythmbox-unused.sgml:
15059 * doc/reference/tmpl/rhythmdb-property-model.sgml:
15060 * doc/reference/tmpl/rhythmdb-query-model.sgml:
15061 * doc/reference/tmpl/rhythmdb-tree.sgml:
15062 * doc/reference/tmpl/rhythmdb.sgml: update for changes
15064 * doc/reference/Makefile.am: make docs build with changed ipod support
15066 * po/POTFILES.in: remove sources/itunesdb
15068 2005-10-18 Christophe Fergeau <teuf@gnome.org>
15070 * sources/itunesdb.c:
15071 * sources/itunesdb.h: removed now useless files
15073 2005-10-03 Christophe Fergeau <teuf@gnome.org>
15076 * shell/Makefile.am:
15077 * sources/Makefile.am:
15078 * sources/rb-ipod-source.c: use libgpod [1] instead of our own parsing
15080 [1]: http://www.gtkpod.org/libgpod.html
15083 2005-10-18 James Livingston <jrl@ids.org.au>
15085 patch from Funda Wang <fundawang@linux.net.cn>
15087 * shell/rb-shell.c: (rb_shell_playing_entry_changed_cb): make one of
15088 the notification bubble string translatable.
15090 ============ Version 0.9.1
15092 2005-10-16 James Livingston <jrl@ids.org.au>
15094 * configure.ac: bump version to 0.9.1
15095 * NEWS: update translation credits
15097 2005-10-16 James Livingston <jrl@ids.org.au>
15099 * rhythmdb/rhythmdb-query-model.c:
15100 (rhythmdb_query_model_class_init),
15101 (rhythmdb_query_model_drag_data_received):
15102 * rhythmdb/rhythmdb-query-model.h: Allow sources to be
15103 notified when things are dropped into the entry view.
15105 * sources/rb-playlist-source.c: (rb_playlist_source_constructor),
15106 (rb_playlist_source_add_location_swapped),
15107 (rb_playlist_source_add_location), (rb_playlist_source_do_query),
15108 (rb_playlist_source_non_entry_dropped),
15109 (rb_playlist_source_row_inserted): Use the new signal so that dropping
15110 things onto a playlist's entry view work correctly, and doesn't cause
15111 crashes. Allow folders to be dropped as well. (Closes 318308)
15113 2005-10-16 James Livingston <jrl@ids.org.au>
15115 * NEWS: Update some more
15117 * shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor),
15118 (rb_shell_sync_paned), (paned_size_allocate_cb): Don't do funky things
15119 with the paned size, so that it doesn't move when the window is
15120 maximised/restored. Closes bug 315852.
15122 * sources/rb-iradio-source.c: (rb_iradio_source_constructor): Don't
15123 display the playcount column, as it's useless (it never get changed).
15125 2005-10-14 James Livingston <jrl@ids.org.au>
15128 * data/Makefile.am:
15129 * doc/reference/Makefile.am: get "make distcheck" to pass again
15131 2005-10-11 James Livingston <jrl@ids.org.au>
15133 * daapsharing/rb-daap-connection.c: (rb_daap_connection_new): Don't
15134 destroy the connection when retrieving the playlists fails, because
15135 tracks have already been added. Closes 318380.
15137 2005-10-11 James Livingston <jrl@ids.org.au>
15139 * sources/rb-sourcelist.c: (rb_sourcelist_append),
15140 (rb_sourcelist_remove), (name_notify_cb), (visibility_notify_cb),
15141 (source_name_edited_cb): Ask for the columns to be resized when a
15142 source is added, deleted or changes name.
15144 2005-10-11 James Livingston <jrl@ids.org.au>
15146 * rhythmdb/rhythmdb.c: (add_thread_main), (rhythmdb_add_uri): only
15147 create a thread when processing a directory. This stops up created one
15148 thread for each file in a playlist we're trying to load. Closes
15151 * widgets/rb-entry-view.c: (rb_entry_view_artist_sort_func): fix a
15152 typo that made sort-by-artist not work correctly.
15154 2005-10-11 James Livingston <jrl@ids.org.au>
15156 * doc/reference/Makefile.am: Make gtk-doc generation work when daap
15159 2005-10-11 James Livingston <jrl@ids.org.au>
15161 * lib/rb-file-helpers.c: (rb_canonicalise_uri):
15162 * lib/rb-file-helpers.h: add a function to turn uris into our
15163 canonical path-escaped form
15164 * shell/rb-playlist-manager.c: (handle_playlist_entry_cb): use the
15165 above function when import playlists. This will fix the problem of
15166 duplicate entries due to different representations of the uri (bug
15169 2005-10-11 James Livingston <jrl@ids.org.au>
15171 * shell/rb-shell.c: (rb_shell_get_visibility),
15172 (rb_shell_set_visibility), (rb_shell_window_delete_cb),
15173 (rb_shell_toggle_visibility), (rb_shell_set_visibility_impl): Fix
15174 window hiding so that Alt-F4 works again.
15176 * widgets/rb-entry-view.c: (rb_entry_view_album_sort_func),
15177 (rb_entry_view_artist_sort_func), (rb_entry_view_genre_sort_func),
15178 (rb_entry_view_string_sort_func): Stop some crashes where a string
15179 property was set to NULL.
15181 2005-10-10 James Livingston <jrl@ids.org.au>
15183 * doc/reference/rhythmbox.types: fix gtk-doc generation
15185 2005-10-09 James Livingston <jrl@ids.org.au>
15187 * sources/rb-sourcelist.c: (rb_sourcelist_init):
15188 * widgets/rb-entry-view.c: (rb_entry_view_append_column): Change a few
15189 accelerators, so that we don't have as many conflicting keys.
15191 2005-10-08 James Livingston <jrl@ids.org.au>
15193 * data/iradio-initial.pls: Update the list of radio stations. Thanks
15194 to Ali Akcaagac <aliakc@web.de> for collating a list to add. Closes
15197 2005-10-07 James Livingston <jrl@ids.org.au>
15199 * shell/rb-playlist-manager.c: (handle_playlist_entry_cb): escape
15200 local path names in the same way as every other URI. This should stop
15201 duplicates occurring due to different escapings. Closes bug 158211.
15203 2005-10-06 James Livingston <jrl@ids.org.au>
15205 * NEWS: more updates
15207 patch from Jaap Haitsma <jaap@haitsma.org>:
15210 * data/Makefile.am:
15211 * data/art/Makefile.am:
15212 - data/art/rhythmbox-paused.png:
15213 - data/art/rhythmbox-playback-error.png:
15214 - data/art/rhythmbox-playing.png:
15215 - data/art-clearlooks/:
15216 * lib/rb-file-helpers.c: (rb_file):
15217 * lib/rb-stock-icons.c: (rb_stock_icons_init):
15218 * lib/rb-stock-icons.h:
15219 * shell/rb-shell-player.c: (rb_shell_player_sync_buttons):
15220 * widgets/rb-cell-renderer-pixbuf.c:
15221 (rb_cell_renderer_pixbuf_render):
15222 * widgets/rb-entry-view.c: (rb_entry_view_init),
15223 (rb_entry_view_set_playing):
15224 * widgets/rb-rating-helper.c: (rb_rating_render_stars): use more
15225 stock icons instead of custom art. Drop remanents of art-clearlooks.
15227 2005-10-04 Pawan Chitrakar <pchitrakar@gmail.com>
15229 * configure.ac: Added ne in ALL_LINGUAS
15231 2005-10-02 James Livingston <jrl@ids.org.au>
15233 * data/glade/Makefile.am: actually install the daap prefs glade file
15235 2005-09-30 James Livingston <jrl@ids.org.au>
15237 * po/POTFILES.in: mremove rb-string-helper.c from the list of
15238 translatable files, so that make check works and we don't annoy the
15241 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_entry_new): do a bit of
15242 sanity checking, in case a db entry is missing some properties.
15244 2005-09-29 James Livingston <jrl@ids.org.au>
15246 - lib/rb-string-helpers.c:
15247 - lib/rb-string-helpers.h:
15249 * rhythmdb/rhythmdb-tree.c:
15250 * rhythmdb/rhythmdb.c:
15251 * shell/main.c: (main):
15252 * shell/rb-shell.c:
15253 * widgets/rb-entry-view.c:
15254 * widgets/rb-property-view.c: remove rb-string-helpers, as they
15255 utility functions haven't been used in a while.
15257 2005-09-27 James Livingston <jrl@ids.org.au>
15259 * data/art-clearlooks/Makefile.am:
15260 - data/art-clearlooks/rhythmbox-album.png:
15261 - data/art-clearlooks/rhythmbox-audiocd.png:
15262 - data/art-clearlooks/rhythmbox-automatic-playlist.png:
15263 - data/art-clearlooks/rhythmbox-dnd.png:
15264 - data/art-clearlooks/rhythmbox-ipod.png:
15265 - data/art-clearlooks/rhythmbox-iradio.png:
15266 - data/art-clearlooks/rhythmbox-library.png:
15267 - data/art-clearlooks/rhythmbox-next.png:
15268 - data/art-clearlooks/rhythmbox-pause.png:
15269 - data/art-clearlooks/rhythmbox-play.png:
15270 - data/art-clearlooks/rhythmbox-playlist-menu.png:
15271 - data/art-clearlooks/rhythmbox-playlist.png:
15272 - data/art-clearlooks/rhythmbox-previous.png:
15273 - data/art-clearlooks/rhythmbox-repeat.png:
15274 - data/art-clearlooks/rhythmbox-rewind.png:
15275 - data/art-clearlooks/rhythmbox-shuffle.png:
15276 - data/art-clearlooks/rhythmbox-stop.png:
15277 - data/art-clearlooks/rhythmbox-visuals.png:
15278 - data/art-clearlooks/rhythmbox-volume-max.png:
15279 - data/art-clearlooks/rhythmbox-volume-medium.png:
15280 - data/art-clearlooks/rhythmbox-volume-min.png:
15281 - data/art-clearlooks/rhythmbox-volume-mute.png:
15282 - data/art-clearlooks/rhythmbox-volume-zero.png:
15283 * data/art/Makefile.am:
15284 - data/art/rhythmbox-album.png:
15285 - data/art/rhythmbox-audiocd.png:
15286 - data/art/rhythmbox-automatic-playlist.png:
15287 - data/art/rhythmbox-dnd.png:
15288 - data/art/rhythmbox-ipod.png:
15289 - data/art/rhythmbox-iradio.png:
15290 - data/art/rhythmbox-library.png:
15291 - data/art/rhythmbox-next.png:
15292 - data/art/rhythmbox-pause.png:
15293 - data/art/rhythmbox-play.png:
15294 - data/art/rhythmbox-playlist-menu.png:
15295 - data/art/rhythmbox-playlist.png:
15296 - data/art/rhythmbox-previous.png:
15297 - data/art/rhythmbox-repeat.png:
15298 - data/art/rhythmbox-rewind.png:
15299 - data/art/rhythmbox-shuffle.png:
15300 - data/art/rhythmbox-stop.png:
15301 - data/art/rhythmbox-visuals.png:
15302 - data/art/rhythmbox-volume-max.png:
15303 - data/art/rhythmbox-volume-medium.png:
15304 - data/art/rhythmbox-volume-min.png:
15305 - data/art/rhythmbox-volume-mute.png:
15306 - data/art/rhythmbox-volume-zero.png:
15307 * lib/rb-stock-icons.c: (rb_stock_icons_init):
15308 * lib/rb-stock-icons.h:
15309 * shell/rb-playlist-manager.c:
15310 * shell/rb-shell-player.c:
15311 * sources/rb-daap-source.c: (rb_daap_get_icon):
15312 * sources/rb-ipod-source.c:
15313 * sources/rb-iradio-source.c: (rb_iradio_source_init):
15314 * sources/rb-library-source.c: (rb_library_source_new):
15315 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
15316 * sources/rb-removable-media-source.c: (impl_get_pixbuf): Remove art
15317 that hasn't been used in a LONG time, and also remove art that are
15320 2005-09-27 James Livingston <jrl@ids.org.au>
15322 * README: point to the gnome.org web sites, and update the example
15323 gstreamer pipeline to a plybin/decodebin based one. Closes bug 317108
15325 * rhythmdb/rhythmdb-query-model.c:
15326 (rhythmdb_query_model_set_property),
15327 (rhythmdb_query_model_get_property),
15328 (rhythmdb_query_model_finalize):
15329 * rhythmdb/rhythmdb.c: (rhythmdb_query_internal),
15330 (rhythmdb_entry_set_visibility), (rhythmdb_query_preprocess):
15331 * rhythmdb/rhythmdb.h:
15332 * sources/rb-iradio-source.c: (impl_search):
15333 * sources/rb-library-source.c: (impl_search): Add query
15334 "preprocessing", which performs operations such as casefolding any
15335 strings that will be compared to any of the *_FOLDED properties.
15338 2005-09-27 James Livingston <jrl@ids.org.au>
15340 * data/glade/daap-prefs.glade:
15341 * shell/rb-shell-preferences.c: (add_daap_preferences): use a glade
15342 file for the daap preferences pane
15344 * sources/rb-sourcelist.c: (rb_sourcelist_init),
15345 (rb_sourcelist_append), (rb_sourcelist_remove),
15346 (visibility_notify_cb), (rb_sourcelist_update_expander_visibility):
15347 don't display the column for source expanders unless there is an
15350 2005-09-24 Raphael Slinckx <rslinckx@cvs.gnome.org>
15357 * doc/reference/.cvsignore:
15358 * doc/reference/Makefile.am:
15359 * doc/reference/rhythmbox-docs.sgml:
15360 * doc/reference/rhythmbox-sections.txt:
15361 * doc/reference/rhythmbox.types:
15362 * doc/reference/tmpl/bacon-volume.sgml:
15363 * doc/reference/tmpl/disclosure-widget.sgml:
15364 * doc/reference/tmpl/eel-gconf-extensions.sgml:
15365 * doc/reference/tmpl/eggnotificationbubble.sgml:
15366 * doc/reference/tmpl/eggtrayicon.sgml:
15367 * doc/reference/tmpl/gsequence.sgml:
15368 * doc/reference/tmpl/rb-cell-renderer-pixbuf.sgml:
15369 * doc/reference/tmpl/rb-cell-renderer-rating.sgml:
15370 * doc/reference/tmpl/rb-daap-connection.sgml:
15371 * doc/reference/tmpl/rb-daap-dialog.sgml:
15372 * doc/reference/tmpl/rb-daap-mdns.sgml:
15373 * doc/reference/tmpl/rb-daap-share.sgml:
15374 * doc/reference/tmpl/rb-daap-sharing.sgml:
15375 * doc/reference/tmpl/rb-daap-source.sgml:
15376 * doc/reference/tmpl/rb-daap-src.sgml:
15377 * doc/reference/tmpl/rb-daap-structure.sgml:
15378 * doc/reference/tmpl/rb-debug.sgml:
15379 * doc/reference/tmpl/rb-dialog.sgml:
15380 * doc/reference/tmpl/rb-druid.sgml:
15381 * doc/reference/tmpl/rb-entry-view.sgml:
15382 * doc/reference/tmpl/rb-enums.sgml:
15383 * doc/reference/tmpl/rb-file-helpers.sgml:
15384 * doc/reference/tmpl/rb-glade-helpers.sgml:
15385 * doc/reference/tmpl/rb-header.sgml:
15386 * doc/reference/tmpl/rb-history.sgml:
15387 * doc/reference/tmpl/rb-ipod-source.sgml:
15388 * doc/reference/tmpl/rb-iradio-source.sgml:
15389 * doc/reference/tmpl/rb-library-source.sgml:
15390 * doc/reference/tmpl/rb-load-failure-dialog.sgml:
15391 * doc/reference/tmpl/rb-metadata.sgml:
15392 * doc/reference/tmpl/rb-new-station-dialog.sgml:
15393 * doc/reference/tmpl/rb-play-order-linear-loop.sgml:
15394 * doc/reference/tmpl/rb-play-order-linear.sgml:
15395 * doc/reference/tmpl/rb-play-order-random-by-age-and-rating.sgml:
15396 * doc/reference/tmpl/rb-play-order-random-by-age.sgml:
15397 * doc/reference/tmpl/rb-play-order-random-by-rating.sgml:
15398 * doc/reference/tmpl/rb-play-order-random-equal-weights.sgml:
15399 * doc/reference/tmpl/rb-play-order-random.sgml:
15400 * doc/reference/tmpl/rb-play-order-shuffle.sgml:
15401 * doc/reference/tmpl/rb-play-order.sgml:
15402 * doc/reference/tmpl/rb-player.sgml:
15403 * doc/reference/tmpl/rb-playlist-manager.sgml:
15404 * doc/reference/tmpl/rb-playlist-source-recorder.sgml:
15405 * doc/reference/tmpl/rb-playlist-source.sgml:
15406 * doc/reference/tmpl/rb-preferences.sgml:
15407 * doc/reference/tmpl/rb-property-view.sgml:
15408 * doc/reference/tmpl/rb-query-creator-private.sgml:
15409 * doc/reference/tmpl/rb-query-creator.sgml:
15410 * doc/reference/tmpl/rb-rating-helper.sgml:
15411 * doc/reference/tmpl/rb-rating.sgml:
15412 * doc/reference/tmpl/rb-recorder.sgml:
15413 * doc/reference/tmpl/rb-refstring.sgml:
15414 * doc/reference/tmpl/rb-removable-media-manager.sgml:
15415 * doc/reference/tmpl/rb-removable-media-source.sgml:
15416 * doc/reference/tmpl/rb-search-entry.sgml:
15417 * doc/reference/tmpl/rb-shell-clipboard.sgml:
15418 * doc/reference/tmpl/rb-shell-glue.sgml:
15419 * doc/reference/tmpl/rb-shell-player-glue.sgml:
15420 * doc/reference/tmpl/rb-shell-player.sgml:
15421 * doc/reference/tmpl/rb-shell-preferences.sgml:
15422 * doc/reference/tmpl/rb-shell.sgml:
15423 * doc/reference/tmpl/rb-song-display-box.sgml:
15424 * doc/reference/tmpl/rb-song-info.sgml:
15425 * doc/reference/tmpl/rb-source-header.sgml:
15426 * doc/reference/tmpl/rb-source.sgml:
15427 * doc/reference/tmpl/rb-sourcelist-model.sgml:
15428 * doc/reference/tmpl/rb-sourcelist.sgml:
15429 * doc/reference/tmpl/rb-station-properties-dialog.sgml:
15430 * doc/reference/tmpl/rb-statusbar.sgml:
15431 * doc/reference/tmpl/rb-stock-icons.sgml:
15432 * doc/reference/tmpl/rb-string-helpers.sgml:
15433 * doc/reference/tmpl/rb-thread.sgml:
15434 * doc/reference/tmpl/rb-tray-icon.sgml:
15435 * doc/reference/tmpl/rb-tree-dnd.sgml:
15436 * doc/reference/tmpl/rb-tree-model-sort.sgml:
15437 * doc/reference/tmpl/rb-util.sgml:
15438 * doc/reference/tmpl/rhythmdb-property-model.sgml:
15439 * doc/reference/tmpl/rhythmdb-query-model.sgml:
15440 * doc/reference/tmpl/rhythmdb-tree.sgml:
15441 * doc/reference/tmpl/rhythmdb.sgml:
15442 * macros/.cvsignore:
15443 * shell/Makefile.am:
15444 * sources/rb-source.c: (rb_source_class_init), (rb_source_init),
15445 (rb_source_finalize), (rb_source_set_property),
15446 (rb_source_get_property), (default_get_pixbuf),
15447 (_rb_source_show_popup):
15448 * sources/rb-source.h:
15449 Add support for gtk-doc in rhythmbox.
15450 Convert RBSource to use newer glib functions, such as add_private.
15451 Gives RBSource a default get_pixbuf implementation.
15453 2005-09-25 James Livingston <jrl@ids.org.au>
15455 * NEWS: Update with about a months worth of changes
15457 * data/glade/song-info-multiple.glade:
15458 * data/glade/song-info.glade:
15459 * data/rhythmbox.schemas:
15460 * lib/rb-preferences.h:
15461 * rhythmdb/rhythmdb.h:
15462 * shell/rb-shell-player.c:
15463 * widgets/rb-song-info.c: (rb_song_info_constructor): remove the last
15464 few remaining parts of autorating.
15466 2005-09-24 James Livingston <jrl@ids.org.au>
15468 * shell/rb-shell.c: (rb_shell_constructor),
15469 (rb_shell_window_state_cb), (rb_shell_set_visibility),
15470 (rb_shell_window_configure_cb): store window state in the gconf keys,
15471 so that it gets used. Closes bugs 313893 and 137068.
15473 2005-09-20 James Livingston <jrl@ids.org.au>
15475 * rhythmdb/rhythmdb-tree.c: (evaluate_conjunctive_subquery): don't
15476 crash if the entry has a NULL string in a property
15478 * shell/rb-removable-media-manager.c:
15479 (rb_removable_media_manager_load_media): fix some memory leaks
15481 (rb_removable_media_manager_mount_volume),
15482 (rb_removable_media_manager_eject_medium_cb),
15483 (rb_removable_media_manager_cmd_eject_medium): use
15484 gnome_vfs_volume_ref/unref instead of g_object_ref/unref
15486 * sources/rb-removable-media-source.c:
15487 (rb_removable_media_source_set_property),
15488 (rb_removable_media_source_get_property): use
15489 gnome_vfs_volume_ref/unref instead of g_object_ref/unref
15491 2005-09-18 James Livingston <jrl@ids.org.au>
15493 Patch from Ernst Persson <ernstp@gmail.com> to add a "date added"
15496 * data/glade/general-prefs.glade:
15497 * shell/rb-shell-preferences.c: (rb_shell_preferences_init),
15498 (rb_shell_preferences_column_check_changed_cb),
15499 (rb_shell_preferences_sync): add checkbox to control visibility
15503 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
15505 * rhythmdb/rhythmdb.c: (rhythmdb_entry_sync_mirrored),
15506 (rhythmdb_prop_get_type):
15507 * rhythmdb/rhythmdb.h: add string version of "first seen", in the same
15508 was as "last played" is handled
15510 * sources/rb-library-source.c: (rb_library_source_constructor):
15511 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
15512 Make the column show in the library and playlists
15514 * widgets/rb-entry-view.c: (rb_entry_view_append_column):
15515 * widgets/rb-entry-view.h: add the column
15517 * widgets/rb-query-creator-properties.c: allow automatic playlists to
15518 be sorted by the column
15520 2005-09-16 James Livingston <jrl@ids.org.au>
15522 * shell/rb-shell-player.c: (rb_shell_player_init),
15523 (rb_shell_player_do_previous_or_seek),
15524 (rb_shell_player_previous_button_cb),
15525 (rb_shell_player_next_button_cb), (rb_shell_player_cmd_previous),
15526 (rb_shell_player_playpause_button_cb): Make the previous button act
15527 the same as the menu item. Fix an inversion of the "previous track or
15530 Patch from Jonathan Matthew <jonathan@kaolin.hn.org>
15532 (rb_shell_player_playpause): make --play-pause stop source that can't
15535 2005-09-15 James Livingston <jrl@ids.org.au>
15537 * configure.ac: increase totem-plparser requirements to 1.1.5
15539 * shell/rb-playlist-manager.c: (playlist_load_start_cb),
15540 (playlist_load_end_cb), (rb_playlist_manager_parse_file):
15541 * sources/rb-playlist-source.c: (rb_playlist_source_save_playlist):
15542 use the newer playlist APIs to save the name of the playlist, and use
15543 the name of a loaded playlist.
15547 2005-09-15 James Livingston <jrl@ids.org.au>
15549 Patch from Jonathan Matthew <jonathan@kaolin.hn.org>
15551 * shell/Makefile.am: stop some linker warnings
15553 * shell/main.c: (main): make --no-registration work with dbus
15555 2005-09-15 James Livingston <jrl@ids.org.au>
15557 * daapsharing/rb-daap-sharing.c: (create_share):
15558 * widgets/rb-entry-view.c: (rb_entry_view_constructor): Fix some
15559 reference sinking and counting issues that I caused.
15561 2005-09-15 James Livingston <jrl@ids.org.au>
15563 * widgets/rb-entry-view.c: (rb_entry_view_constructor): Put the "now
15564 playing" icon in the "now playing" column header.
15566 2005-09-14 James Livingston <jrl@ids.org.au>
15568 * daapsharing/rb-daap-mdns.c: (browse_cb): fix crasher if browsering
15569 daap shares, when sharing is turned off.
15571 2005-09-12 Bastien Nocera <hadess@hadess.net>
15573 * sources/rb-daap-source.c: (rb_daap_sources_init): Check
15574 the GConf value's default, especially for badly installed schema
15577 2005-09-12 James Livingston <jrl@ids.org.au>
15579 * daapsharing/rb-daap-mdns.c: (resolve_cb): fix compilation with Howl
15581 Patch from Paolo Borelli <pborelli@katamail.com>
15583 * shell/rb-shell.c: (rb_shell_window_state_cb): hide the statusbar
15584 grip when maximised. Closes bug 316055.
15586 2005-09-11 James Livingston <jrl@ids.org.au>
15588 Patch from William Jon McCann <mccann@jhu.edu>
15590 * shell/rb-statusbar.[ch]: Use G_DEFINE_TYPE. Make a
15591 subclass of GtkStatusbar instead of GtkHBox.
15592 (rb_statusbar_construct): Don't set border width.
15593 (rb_statusbar_init): Use resize grip. Don't use
15595 (set_statusbar_tooltip, unset_statusbar_tooltip)
15596 (rb_statusbar_connect_action_group, rb_statusbar_set_property):
15597 Connect tooltips for actions.
15598 (rb_statusbar_sync_status): Push new message to statusbar.
15599 (rb_statusbar_set_progress): Don't use markup.
15600 (rb_statusbar_entry_view_changed_cb): Don't set syncing_state
15601 flag here since it prevents actually showing or hiding.
15602 (rb_statusbar_sync_with_source): Push new message to statusbar.
15604 2005-09-11 Charles Schmidt <cschmidt2@emich.edu>
15606 * daapsharing/rb-daap-structure.c:
15607 (rb_daap_structure_parse_container_buffer: Forgot to remove comments
15608 around debugging definition.
15610 2005-09-11 Charles Schmidt <cschmidt2@emich.edu>
15612 * daapsharing/rb-daap-structure.c:
15613 (rb_daap_structure_parse_container_buffer): Read the patch from daap
15616 * daapsharing/rb-daap-mdns.c/h:
15617 (resolve_cb): Updated mDNS resolve callback to send service-name &
15618 name (read from Machine Name in the TXT data or equal to service-name
15621 * daapsharing/rb-daap-source.c:
15622 (rb_daap_source_class_init), (rb_daap_source_set_property),
15623 (rb_daap_source_get_property), (rb_daap_source_new),
15624 (find_source_by_service_name), (resolve_cb), (browse_cb),
15625 (stop_resolver), (start_browsing), (stop_browsing),
15626 (enable_browsing_changed_cb): Switched 'real-name' for 'service-name'
15627 and added 'host' and 'port' gobject properties. Updated to use new
15628 mDNS resolve callback sending service-name & name arguments.
15630 2005-09-11 Charles Schmidt <cschmidt2@emich.edu>
15632 * daapsharing/rb-daap-mdns.c:
15633 (howl_strerror): New function to report errors from Howl
15634 (rb_daap_mdns_browse), (rb_daap_mdns_resolve),(rb_daap_mdns_publish),
15635 (get_sw_discovery), (get_avahi_client): Better error reporting from
15638 * sources/rb-daap-source.:
15639 (start_browsing), (stop_browsing): Fixed a bug where browsing would
15640 not get started or stopped in some situations.
15642 2005-09-12 James Livingston <jrl@ids.org.au>
15644 * shell/rb-removable-media-manager.c: add a missing include, that
15645 would stop compilation if ipod support wasn't turned on
15647 2005-09-11 James Livingston <jrl@ids.org.au>
15649 * daapsharing/rb-daap-dialog.c: (encode_base64),
15650 (rb_daap_password_dialog_new_run),
15651 (rb_daap_collision_dialog_new_run): fix a translatable string, so that
15652 it is no broken in to two pieces, and remove a use of a goto
15654 * daapsharing/rb-daap-mdns.c: (mdns_error_dialog),
15655 (setup_sw_discovery), (rb_daap_mdns_resolve_cancel), (publish_cb),
15656 (rb_daap_mdns_publish), (rb_daap_mdns_publish_cancel), (client_cb),
15657 (get_avahi_client), (browse_cb), (rb_daap_mdns_browse),
15658 (rb_daap_mdns_browse_cancel), (resolve_cb), (entry_group_cb): fix a
15659 memory leaks, and some code style things.
15661 * daapsharing/rb-daap-share.c: (rb_daap_share_class_init),
15662 (rb_daap_share_init), (rb_daap_share_set_property),
15663 (rb_daap_share_dispose), (rb_daap_share_new),
15664 (rb_daap_share_get_property): make the DB and the playlist manager
15665 gobject properties.
15667 (message_add_standard_headers),
15668 (message_set_from_rb_daap_structure), (server_info_cb),
15669 (content_codes_cb), (login_cb), (update_cb), (databases_cb),
15670 (server_cb), (add_db_entry), (db_entry_added_cb),
15671 (db_entry_deleted_cb), (publish_cb), (rb_daap_share_start_publish),
15672 (rb_daap_share_stop_publish): Fix a couple of memory leaks, some code
15673 style and use CONF_PREFIX in the gconf keys
15675 * daapsharing/rb-daap-sharing.c: (create_share),
15676 (enable_sharing_changed_cb), (share_name_changed_cb),
15677 (rb_daap_sharing_init), (rb_daap_sharing_shutdown):
15678 * daapsharing/rb-daap-src.c: (rb_daap_src_class_init),
15679 (rb_daap_src_instance_init), (rb_daap_src_dispose),
15680 (rb_daap_src_uri_handler_init), (rb_daap_src_set_property),
15681 (rb_daap_src_get_property), (rb_daap_src_getcaps),
15682 (rb_daap_src_close_file), (rb_daap_src_srcpad_event),
15683 (rb_daap_src_init), (rb_daap_src_shutdown), (rb_daap_src_set_time),
15684 (rb_daap_src_get_time): Deal with gconf callbacks where the key
15685 hasn't actually changed, fix some memory leaks, code style and release
15686 gconf notifications when the object is destroyed.
15688 * sources/rb-daap-source.c: (rhythmdb_entry_daap_type_new),
15689 (rb_daap_source_class_init), (rb_daap_source_init),
15690 (rb_daap_source_dispose), (rb_daap_source_set_property),
15691 (rb_daap_source_get_property), (rb_daap_source_new),
15692 (find_source_by_name), (resolve_cb), (browse_cb), (stop_resolver),
15693 (start_browsing), (stop_browsing), (enable_browsing_changed_cb),
15694 (rb_daap_sources_init), (rb_daap_sources_shutdown),
15695 (rb_daap_source_activate), (rb_daap_source_disconnect),
15696 (rb_daap_source_show_popup), (rb_daap_source_find_for_uri),
15697 (rb_daap_source_get_headers): use CONF_PREFIX in the gconf keys,
15698 release gconf notifications, handle gconf callbacks where the key
15699 hasn't changed, make "real name" and "password protected" gobject
15700 properties, fix some code style and fix a memory leak.
15702 2005-09-11 James Livingston <jrl@ids.org.au>
15704 Patch from Jonathan Matthew <jonathan@kaolin.hn.org>
15706 * shell/rb-playlist-manager.c:
15707 (rb_playlist_manager_save_playlists),
15708 (rb_playlist_manager_get_playlists): don't unref the sourcelist model
15709 when we aren't supposed to. (Closes bug 315886)
15711 2005-09-11 James Livingston <jrl@ids.org.au>
15713 * shell/rb-removable-media-manager.c:
15714 (rb_removable_media_manager_class_init),
15715 (rb_removable_media_manager_init),
15716 (rb_removable_media_manager_dispose),
15717 (rb_removable_media_manager_set_property),
15718 (rb_removable_media_manager_get_property),
15719 (rb_removable_media_manager_new),
15720 (rb_removable_media_manager_load_media),
15721 (rb_removable_media_manager_volume_mounted_cb),
15722 (rb_removable_media_manager_volume_unmounted_cb),
15723 (rb_removable_media_manager_mount_volume),
15724 (rb_removable_media_manager_unmount_volume),
15725 (rb_removable_media_manager_source_deleted_cb),
15726 (rb_removable_media_manager_append_media_source),
15727 (rb_removable_media_manager_set_uimanager),
15728 (rb_removable_media_manager_eject_medium_cb),
15729 (rb_removable_media_manager_cmd_eject_medium):
15730 * shell/rb-removable-media-manager.h:
15731 * sources/rb-removable-media-source.c:
15732 (rb_removable_media_source_class_init),
15733 (rb_removable_media_source_init),
15734 (rb_removable_media_source_dispose),
15735 (rb_removable_media_source_set_property),
15736 (rb_removable_media_source_get_property), (impl_get_pixbuf),
15737 (impl_delete_thyself):
15738 * sources/rb-removable-media-source.h: Add the four files that I
15739 somehow managed not to add to cvs in the last commit. Oops.
15741 2005-09-11 James Livingston <jrl@ids.org.au>
15743 * shell/Makefile.am: Add rb-removable-media-manager.{c,h}
15744 * sources/Makefile.am: Add rb-removable-media-source.{c,h}
15746 * shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor),
15747 (rb_shell_medium_added_cb), (rb_shell_select_source): create the
15748 removable-media-manager on startup, and handle creation of sources.
15750 * sources/rb-ipod-source.h:
15751 * sources/rb-ipod-source.c: (rb_ipod_source_class_init),
15752 (rb_ipod_source_init), (rb_ipod_source_constructor),
15753 (rb_ipod_source_dispose), (rb_ipod_source_new),
15754 (load_ipod_db_idle_cb), (rb_ipod_load_songs), (impl_show_popup): Port
15755 the iPod source over to the removable media framework.
15757 * sources/rb-library-source.c: (paned_size_allocate_cb),
15758 (rb_library_source_get_paned_key): fix a potential bug is a
15759 library-derived source doesn't have a paned-key
15761 2005-09-11 Bastien Nocera <hadess@hadess.net>
15763 * daapsharing/rb-daap-share.c: (add_entry_to_mlcl): default to
15764 mp3 when we can't get the suffix of a file (Closes: #315941)
15766 2005-09-10 James Livingston <jrl@ids.org.au>
15768 * configure.ac: fix the mdns tests, so that it doesn't complain about
15769 not finding one, if daap support isn't being compiled in
15771 2005-09-10 Charles Schmidt <cschmidt2@emich.edu>
15773 * configure.ac: Updated to require avahi >= 0.5. Small fixes.
15775 * daapsharing/rb-daap-dialog.c:
15776 (rb_daap_password_dialog_new_run), (rb_daap_collision_dialog_new_run):
15777 HIG compliancy & images.
15779 * daapsharing/rb-daap-mdns.c:
15780 (browse_cb), (resolve_cb): Better detection of local services.
15781 Requries avahi 0.5. Still doesn't work quite right with Howl, due to
15782 Howl's limitations. Fix the way collision handling is done under
15785 * daapsharing/rb-daap-share.c:
15786 (publish_cb): Better name collision handling (at least for Avahi).
15788 2005-09-10 James Livingston <jrl@ids.org.au>
15790 * shell/rb-shell-preferences.c: (add_daap_preferences): Patch from
15791 Dennis Cranston <dennis_cranston@yahoo.com> to make the DAAP
15792 preferences more HIG compliant (Closes #315889)
15794 * po/POTFILES.in: add widgets/rb-query-creator-properties.c to the
15795 list of files to be translated
15797 2005-09-10 James Livingston <jrl@ids.org.au>
15799 * configure.ac: fix it so that --enable-daap=no works
15800 * lib/rb-file-helpers.c: (rb_file): allow use of new art when running
15803 2005-09-10 James Livingston <jrl@ids.org.au>
15805 Patch from Christophe Fergeau <teuf@gnome.org>
15807 * sources/rb-ipod-source.c: (rb_ipod_unload_songs): fix a crasher in
15810 2005-09-09 Charles Schmidt <cschmidt2@emich.edu>
15811 * README.daap: Updating documentation
15813 2005-09-09 Charles Schmidt <cschmidt2@emich.edu>
15814 * AUTHORS: Added myself.
15816 * daapsharing/rb-daap-connection.c:
15817 (connection_login), (rb_connection_new): Reorganized password
15820 * po/POTFILES.in: Added daapsharing/rb-daap-dialog.c
15822 * shell/rb-shell.c:
15823 (rb_shell_cmd_disconnect_source): Fixed disconnecting from sources.
15825 * sources/rb-daap-source.c:
15826 (rb_daap_source_activate): Better error handling when we are unable to
15829 2005-09-09 Charles Schmidt <cschmidt2@emich.edu>
15830 * README.daap: Fixed some terminology.
15832 * configure.ac: Better automatic detection of mDNS/DNS-SD library.
15833 New --with-mdns=auto|howl|avahi flag to specify.
15835 * daapsharing/rb-daap-dialog.c/h: New files to handle password &
15836 name collision dialogs.
15838 * daapsharing/rb-daap-connection.c:
15839 (connection_get_password), (build_message), (http_get)
15840 (connection_login): Ask for & use a password if the share demands it.
15842 * daapsharing/rb-daap-connection.h: Changed prototype of
15843 rb_daap_connection_new.
15845 * daapsharing/rb-daap-mdns.c:
15846 (resolve_cb): Better detection of your own music share so it doesn't
15847 appear in the sourcelist.
15849 * daapsharing/rb-daap-share.c:
15850 (rb_daap_share_start_publish): Attempt to start on port 3689, failing
15851 that start on any available port.
15853 * daapsharing/rhythmbox.schemas: Schemas for music shares' UI state.
15855 * sources/rb-daap-source.c:
15856 (find_source_by_name), (rb_daap_source_new), (resolve_cb),
15857 (browse_cb): Handle passworded shares. Resolve the host immediately
15858 instead of when activated.
15859 (rb_daap_source_get_browser_key), (rb_daap_source_get_paned_key),
15860 (rb_daap_source_new): New GConf keys for UI state.
15861 (rb_daap_source_activate): Use RBPlaylistSource instead of
15862 RBDAAPPlaylistSource
15864 * sources/rb-daap-playlist-source.c/h: Removed
15866 * sources/rb-playlist-source.c/h: Added 'is-local' property, TRUE
15867 if the playlist is local (i.e. not DAAP or iPod).
15869 * shell/rb-playlist-manager.c:
15870 (rb_playlist_manager_save_playlists): Fixed a bug where the playlists
15871 wouldn't get saved if the last playlist hadn't changed. Only save
15874 2005-09-09 James Livingston <jrl@ids.org.au>
15876 * sources/rb-ipod-source.c: (rb_ipod_source_class_init): remove the
15877 iPod preferences pane, as it already uses the browser views as the
15880 2005-09-09 James Livingston <jrl@ids.org.au>
15882 * sources/rb-library-source.c: (rb_library_source_finalize),
15883 (rb_library_source_constructor): fix gconf monitoring of library
15885 * sources/rb-library-source.h: remove declaration of function that
15888 2005-09-08 Charles Schmidt <cschmidt2@emich.edu>
15890 * player/rb-player-gst.c:
15891 (rb_player_set_time): Fix seeking in daap streams.
15893 2005-09-08 Charles Schmidt <cschmidt2@emich.edu>
15895 * data/rhythmbox.schemas: Turn music share browsing on by default.
15897 2005-09-07 James Livingston <jrl@ids.org.au>
15899 * configure.ac: include daapsharing/Makefile in AC_OUTPUT
15901 2005-09-06 Charles Schmidt <cschmidt2@emich.edu>
15902 * player/rb-player-gst.c:
15903 (rb_player_get_time): Fix for extra << & == that accidentally made
15906 * player/Makefile.am: -Idaapsharing so we can include rb-daap-src.h
15908 2005-09-06 Charles Schmidt <cschmidt2@emich.edu>
15909 * configure.ac: Fix for extra <<<<<<< & ======= that accidentally made
15910 it in last time. Sorry.
15912 2005-09-06 Charles Schmidt <cschmidt2@emich.edu>
15914 * player/rb-player-gst.c:
15915 (rb_player_get_time): Fix a small crash appearing when
15916 the uri isn't set in the player, but rb_player_get_time() is
15919 * configure.ac: Also check for libsoup 2.4, which is what ships with
15922 * po/POTFILES.in: Added music sharing files that have translatable
15925 * README.daap: New file explaining "How Music Sharing Works"
15927 2005-09-06 Bastien Nocera <hadess@hadess.net>
15929 * daapsharing/.cvsignore: added
15931 2005-09-06 Charles Schmidt <cschmidt2@emich.edu>
15933 * daapsharing/*: Music sharing library.
15935 * sources/rb-daap-source.c/h: Music share RBSource.
15936 * sources/rb-daap-playlist-source.c/h: Music share playlist RBSource.
15938 * configure.ac: --enable-daap flag to turn on music sharing. Requires
15939 libsoup and a mutlicast DNS implementation (howl or avahi).
15941 * data/rhythmbox.schemas: New GConf keys for music sharing.
15943 * data/ui/rhythmbox-ui.xml: New popup menu ui definition for daap
15944 source right click menu.
15946 * player/rb-player-gst.c: Changes to properly play & seek in remote
15949 * shell/rb-playlist-manager.c/h:
15950 (rb_playlist_manager_get_playlists): New function to get a GList * of
15952 (rb_playlist_manager_save_playlists): Don't save music share playlists
15953 and fixed a GObject reference leak.
15955 * shell/rb-shell.c/h:
15956 (rb_shell_append_source): No longer a local function. Now takes a
15957 parent RBSource * argument, NULL to append a toplevel source.
15958 (rb_shell_cmd_source_disconnect): New function to 'disconnect' a
15959 source (useful for disconnecting from remote music share,
15961 (rb_shell_quit): Stop music sharing/browsing.
15962 (rb_shell_playlist_added_cb): Work with tree source structure.
15963 (rb_shell_get_property): "playlist-manager" property accessor.
15964 (rb_shell_class_init): New "playlist-manager" property.
15965 (rb_shell_construor): Append sources as toplevel sources. Initialize
15966 daap sharing/browsing.
15967 (rb_shell_select_source): Notify source of activation/deactivation.
15969 * shell/rb-shell-prefernces.c: Music sharing preferences.
15971 * sources/rb-source.c/h: New activate, deactivate and disconnect
15972 class functions. Activate & deactivate are notification style
15973 functions that will tell a source when it is selected/unselected.
15974 Disconnect can be hooked up to a UI object to disconnect the source.
15976 * sources/rb-sourcelist-model.c:
15977 * sources/rb-sourcelist.c/h: Sourcelist is now a tree structure.
15978 (rb_sourcelist_append): Takes a RBSource * parent arguement, NULL to
15979 append a toplevel source.
15981 2005-09-05 James Livingston <jrl@ids.org.au>
15983 * rhythmdb/rhythmdb-query-model.c:
15984 (rhythmdb_query_model_entry_changed_cb),
15985 (rhythmdb_query_model_do_reorder): Update the query model's totals if
15986 the duration of filesize of an entry changes. Emit the row-changed
15987 signals that I forgot to put back in, when I was doing query sorting.
15989 * rhythmdb/rhythmdb.c: (rhythmdb_compute_status_normal): Don't print
15990 out "0 minutes" or "0 bytes".
15992 2005-09-04 James Livingston <jrl@ids.org.au>
15994 * shell/rb-playlist-manager.c: (rb_playlist_manager_new_playlist):
15995 remove a leftover bit of the "internal-name" property of sources.
15997 2005-09-03 James Livingston <jrl@ids.org.au>
15999 * rhythmdb/rhythmdb-tree.c: (evaluate_conjunctive_subquery): remove
16000 extraneous debug message
16001 * sources/rb-library-source.c: (rb_library_source_do_query): fix a
16002 crasher would affect any library-derived sources (which was also a
16005 2005-09-02 Colin Walters <walters@verbum.org>
16007 * configure.ac: Fix sytnax error.
16009 * shell/rb-shell.c (tray_embedded_cb): Add some nonfunctional
16010 code to disable minimization icons - need to figure out
16011 why it doesn't work...
16013 2005-09-01 Dennis Cranston <dennis_cranston@yahoo.com>
16015 * data/glade/song-info-multiple.glade:
16016 * data/glade/song-info.glade:
16017 * widgets/rb-song-info.c: (rb_song_info_constructor):
16018 Add a mnemonic to the newly added "Automatically rate" label
16019 in the properties dialog and use a bold typeface like all the
16020 other labels in the dialog. (Closes bug 315089)
16022 2005-09-03 James Livingston <jrl@ids.org.au>
16024 * sources/rb-library-source.c: (rb_library_source_class_init),
16025 (rb_library_source_finalize), (rb_library_source_constructor),
16026 (rb_library_source_set_property), (rb_library_source_get_property),
16027 (impl_get_paned_key), (paned_size_allocate_cb),
16028 (rb_library_source_state_prefs_sync), (impl_show_popup),
16029 (rb_library_source_get_paned_key):
16030 * sources/rb-library-source.h: Allow sources derived from
16031 RBLibrarySource to use different gconf keys for sort order, browser
16032 visibility and browser pane position. Fix a crasher if a derived
16033 source overrides _get_pixbuf.
16035 2005-09-02 Colin Walters <walters@verbum.org>
16037 * shell/rb-shell.c (rb_shell_set_visibility): Move
16038 hint setting which seems to avoid races more.
16040 2005-09-03 James Livingston <jrl@ids.org.au>
16042 * shell/rb-shell.c: fix compilation with iPod support enabled
16044 2005-09-02 Colin Walters <walters@verbum.org>
16046 * shell/rb-shell.c (struct RBShellPrivate): Add
16047 idle_hide_mainwindow_id.
16048 (rb_shell_constructor): Move taskbar skipping hint into
16049 rb_shell_set_visibility.
16050 (idle_hide_mainwindow): New function.
16051 (rb_shell_set_visibility): Taskbar hinting moved here; add evil
16052 racy hack to avoid rb appearing in taskbar when minimized.
16054 2005-09-01 Colin Walters <walters@verbum.org>
16056 * widgets/eggtrayicon.h: Prototype egg_tray_icon_have_manager.
16058 * widgets/eggtrayicon.c (egg_tray_icon_have_manager): Steal
16059 from gtkstatusicion.c.
16061 * shell/rb-tray-icon.h: Prototype rb_tray_icon_get_geom.
16063 * shell/rb-tray-icon.c (rb_tray_icon_toggle_entries): Retitle
16064 TrayShowWindow entry.
16065 (rb_tray_icon_class_init): Make GtkActionGroup readable only.
16066 (rb_tray_icon_constructor): Create action group here.
16067 (rb_tray_icon_finalize): Destroy action group.
16068 (rb_tray_icon_set_property): Don't take an action group.
16069 (rb_tray_icon_new): Ditto.
16070 (tray_popup_position_menu): Some mostly boilerplate code
16072 (rb_tray_icon_button_press_event_cb): Position menu.
16073 (rb_tray_icon_get_geom): New function used for the shell
16074 to set minimization hints.
16076 * shell/rb-shell.h: Prototype rb_shell_toggle_visibility.
16078 * shell/rb-shell.c (rb_shell_actions): Add MusicClose.
16079 (struct RBShellPrivate): Change visible to iconified.
16080 (set_icon_geometry): New function from Søren Sandmann to
16081 tell Metacity where to draw the minimization animiation.
16082 (rb_shell_window_state_cb): Update iconified.
16083 (rb_shell_get_visibility): New function to say whether
16084 or not we're currently visible.
16085 (rb_shell_set_visibility): Update to minimize to
16086 tray or present as appropriate.
16087 (rb_shell_window_delete_cb): On window close, just
16088 minimize to tray if we're deleted.
16089 (rb_shell_set_window_title): Kill old notification code.
16090 (rb_shell_toggle_visibility): Nwe function.
16091 (rb_shell_cmd_toggle_visibility): Call it.
16092 (rb_shell_constructor): Skip the taskbar.
16093 (tray_destroy_cb): Better debugging.
16095 2005-09-01 Colin Walters <walters@verbum.org>
16097 * data/ui/rhythmbox-ui.xml: Add MusicClose.
16099 * configure.ac: Enable bonobo by default.
16101 2005-09-01 Colin Walters <walters@verbum.org>
16103 * configure.ac: Default to old art. Add macros subdir.
16105 * Makefile.am (SUBDIRS): Add macros.
16107 * macros/Makefile.am: New.
16109 2005-09-01 Colin Walters <walters@verbum.org>
16111 * shell/Makefile.am (EXTRA_DIST): Dist rb-shell.xml and
16112 rb-shell-player.xml.
16114 * remote/dbus/rb-remote-dbus.h: Deleted.
16116 * remote/dbus/Makefile.am: Delete all the junk, just dist
16117 rb-print-playing.py and rb-set-rating.py.
16119 * remote/Makefile.am (SUBDIRS): Always dist dbus and bonobo.
16121 * data/Makefile.am (EXTRA_DIST): Add service_in_files.
16123 2005-09-02 James Livingston <jrl@ids.org.au>
16125 - data/ui/rhythmbox-audiocd-view.xml.in: remove extremely obsolete
16128 * shell/rb-shell.c: (rb_shell_get_property), (rb_shell_finalize),
16129 (rb_shell_constructor): Patches from Jonathan Matthew
16130 <jonathan@kaolin.hn.org> to fix compilation without ipod support, and
16131 a crash when using "browse this artist".
16133 2005-08-31 Colin Walters <walters@verbum.org>
16135 * configure.ac: Add --with-old-art configure switch. Also
16136 add AC_CONFIG_MACRO_DIR in the hope to avoid autotools bustage,
16137 but it doesn't work.
16139 * widgets/rb-cell-renderer-pixbuf.c (rb_cell_renderer_pixbuf_render):
16140 Don't use eel_create_colorized_pixbuf for new art.
16141 * widgets/rb-rating-helper.c (rb_rating_render_stars): Ditto.
16143 * data/art-clearlooks: New artwork.
16145 2005-08-31 Colin Walters <walters@verbum.org>
16147 * shell/main.c (main): Fix Bastien's commit to continue to focus
16148 the window with GTK+ 2.8 at least.
16150 2005-08-31 Colin Walters <walters@verbum.org>
16152 * shell/rb-shell.c (rb_shell_load_uri): Handle the case where entry
16155 * shell/main.c (load_uri_args): Use gnome_vfs_make_uri_from_shell_arg.
16157 2005-08-31 Bastien Nocera <hadess@hadess.net>
16159 * README: remove mentions of the xine-lib backend
16160 * shell/main.c: (main): make it compilable with gtk+ < 2.8
16162 2005-08-30 Colin Walters <walters@verbum.org>
16164 * shell/rb-shell-preferences.c (rb_shell_preferences_append_view_page):
16165 Make non-visible sources insensitive.
16167 2005-08-30 Colin Walters <walters@verbum.org>
16169 * shell/rb-shell.c: Don't use GConf for selected source; it's
16170 confusing to have the selected source change after startup,
16171 and since we don't save other things it's not worth saving this.
16173 * sources/rb-playlist-source.c:
16174 * sources/rb-library-source.c:
16175 * sources/rb-iradio-source.c:
16176 * sources/rb-ipod-source.c: Delete internal-name property usage.
16177 * sources/rb-source.c: Delete internal-name property.
16179 * data/rhythmbox.schemas: Delete selected_source.
16181 2005-08-30 Colin Walters <walters@verbum.org>
16183 * sources/rb-sourcelist.c: Make playing source bold instead of
16184 displaying a pixbuf; it's much less ugly.
16186 2005-08-30 Colin Walters <walters@verbum.org>
16188 * sources/rb-source.c:
16189 * sources/rb-source.h: New virtual method try_playlist.
16191 * sources/rb-iradio-source.c (rb_iradio_source_class_init): Implement
16193 (rb_iradio_source_add_station): Remove validation; we do that elsewhere.
16194 (impl_handle_eos): Return RB_SOURCE_EOF_RETRY.
16195 (handle_playlist_entry_cb): Don't check for iradio uris, we don't
16197 (stations_view_drag_data_received_cb): Don't check for iradio uris;
16198 in theory we should though...
16200 * shell/rb-shell.c (known_sources): Delete; we just hardcode the
16201 list in rb_shell_construct now.
16202 (struct RBShellPrivate): Add RBLibrarySource, RBIRadioSource,
16204 (rb_shell_constructor): Create library, iradio, ipod here.
16205 (rb_shell_source_deleted_cb): Use source directly instead of
16206 indirecting through type.
16207 (rb_shell_sync_selected_source): Ditto.
16208 (rb_shell_jump_to_entry_with_source): Just use the source reutrned
16209 from the type instead of special-casing.
16210 (rb_shell_guess_type_for_uri)
16212 (handle_one_uri_with_possible_metadata): New functions.
16213 (rb_shell_load_uri): Refactor to allow loading playlists again,
16214 also use other URI infrastructure.
16216 * shell/rb-shell-player.c (eos_cb): Handle RB_SOURCE_EOF_RETRY.
16217 (rb_shell_player_error): Always set entry error on error, instead
16218 of depending on EOF behavior.
16220 * shell/rb-playlist-manager.c (handle_playlist_entry_cb): Refactor
16221 to just invoke rb_shell_add_uri.
16222 (rb_playlist_manager_parse_file): Return error instead of tossing
16223 up dialog box directly.
16224 (load_playlist_response_cb): Display error here.
16225 (add_uri_to_playlist): Delete.
16226 (handle_playlist_entry_into_playlist_cb): Renamed to
16227 handle_playlist_entry_cb.
16229 * shell/rb-playlist-manager.h: Add error, update prototype.
16231 * lib/rb-file-helpers.c:
16232 * lib/rb-file-helpers.h: Delete rb_uri_is_iradio.
16234 2005-08-29 Colin Walters <walters@verbum.org>
16236 * sources/rb-iradio-source.c (rb_iradio_source_add_station): Return
16237 if entry already exists. Use rhythmdb_entry_set_uninserted.
16239 * sources/rb-ipod-source.c (entry_set_string_prop): Avoid
16240 needlessly duping string, and use rhythmdb_entry_set_uninserted.
16241 (load_ipod_db_idle_cb): Use rhythmdb_entry_set_uninserted.
16243 * shell/rb-shell.h (enum RBShellError): Add some more errors.
16244 Prototype rb_shell_set_song_property.
16246 * shell/rb-shell.xml: Export setSongProperty.
16248 * shell/rb-shell.c (rb_shell_set_song_property): New function.
16249 (rb_shell_set_rating_impl): Call rhythmdb_entry_set instead of
16250 rhythmdb_entry_set_nonotify, and call rhythmdb_commit.
16252 * shell/rb-shell-player.c (rb_shell_player_set_entry_playback_error): Call
16253 rhythmdb_entry_set instead of rhythmdb_entry_set_nonotify, since we do
16254 want to notify of the change.
16255 (rb_shell_player_entry_changed_cb): Cast to RhythmDBEntryChange.
16257 * rhythmdb/rhythmdb.c (rhythmdb_process_queued_entry_set_event): Fix
16258 logic error; idle functions would be enqueued for each set.
16259 (rhythmdb_entry_set): Fix assertion logic error.
16261 * iradio/rb-new-station-dialog.c (rb_new_station_dialog_response_cb):
16262 Avoid needlessly duping strings, and use rhythmdb_entry_set_uninserted.
16263 Return if the entry already exists.
16265 2005-08-29 Colin Walters <walters@verbum.org>
16267 * rhythmdb/rhythmdb.h (struct RhythmDBEntry): Add
16268 "inserted" member which we use to keep track of
16269 whether or not an entry is in the DB. Prototype
16270 rhythmdb_entry_set_uninserted.
16272 * rhythmdb/rhythmdb.c (rhythmdb_commit_internal): Set inserted
16274 (rhythmdb_entry_insert): Assert entry is not already inserted.
16275 (rhythmdb_process_metadata_load): Update to call _set_uninserted
16276 just after creating entry.
16277 (rhythmdb_entry_set): Document, and fail on uninserted entries.
16278 (rhythmdb_entry_set_nonotify): Ditto.
16279 (rhythmdb_entry_set_uninserted): Document, and fail on inserted
16281 (rhythmdb_entry_set_internal): Change notify flag to
16282 notify_if_inserted. Also move notification after assertions.
16284 Update all existing callers of rhythmdb_entry_set_internal
16285 to give TRUE for notify_if_inserted; this should be what
16286 we want but may be an efficiency hit.
16288 2005-08-30 Raphael Slinckx <rslinckx@cvs.gnome.org>
16290 * shell/rb-shell-player.c: (rb_shell_player_init),
16291 (rb_shell_player_set_property), (rb_shell_player_entry_changed_cb),
16292 (rb_shell_player_set_playing_source_internal),
16293 (rb_shell_player_sync_with_selected_source): Notify the player when an
16294 entry has updated the title, album or artist field, and resync the big
16297 * sources/rb-iradio-source.c: (rb_iradio_source_class_init):
16298 * sources/rb-library-source.c: (rb_library_source_class_init),
16299 (impl_get_config_widget):
16300 * sources/rb-playlist-source.c: (rb_playlist_source_class_init):
16301 * sources/rb-source.c:
16302 * sources/rb-source.h: Removed unused have_artist_album, get_artist, and
16303 get_album functions in rb-source and adapted other sources accordingly.
16305 2005-08-29 Colin Walters <walters@verbum.org>
16307 * rhythmdb/rhythmdb.c (struct RhythmDBEvent): Add
16308 signal_change member.
16309 (threadsafe_entry_set): New function.
16310 (rhythmdb_entry_set): Just call threadsafe_entry_set with TRUE.
16311 (rhythmdb_entry_set_nonotify): New function; just call
16312 threadsafe_entry_set with FALSE.
16313 (rhythmdb_entry_set_internal): Take a notify flag; if true
16314 add the change to our pending set.
16316 Also update all internal callers of rhythmdb_entry_set_internal
16317 to pass FALSE. Some of these may be bugs however and need to
16320 * rhythmdb/rhythmdb.h: Rename rhythmdb_entry_sync to
16321 rhythmdb_entry_set, and rename rhythmdb_entry_set to
16322 rhythmdb_entry_set_nonotify.
16324 * rhythmdb/rhythmdb.h (enum RhythmDBProp)
16325 (rhythmdb_entry_get_boolean): Kill off RHYTHMDB_PROP_AUTO_RATE.
16327 * widgets/rb-song-info.c: Kill off vestiges of auto rating.
16329 * widgets/rb-entry-view.c (rb_entry_view_rated_cb):
16330 * sources/rb-source.c (rb_source_update_play_statistics):
16331 * sources/rb-iradio-source.c (rb_iradio_source_add_station):
16332 * sources/rb-ipod-source.c (entry_set_string_prop)
16333 (load_ipod_db_idle_cb):
16334 * shell/rb-shell.c (rb_shell_set_rating_impl):
16335 * shell/rb-shell-player.c (rb_shell_player_set_entry_playback_error)
16336 (info_available_cb):
16337 * iradio/rb-station-properties-dialog.c (rb_station_properties_dialog_rated_cb)
16338 (rb_station_properties_dialog_sync_entries):
16339 * iradio/rb-new-station-dialog.c (rb_new_station_dialog_response_cb):
16341 Update callers of rhythmdb_entry_set to rhythmdb_entry_set_nonotify,
16342 and callers of rhythmdb_entry_sync to rhythmdb_entry_set.
16344 2005-08-29 Colin Walters <walters@verbum.org>
16346 * sources/Makefile.am (INCLUDES): Add HAL_CFLAGS unconditionally.
16348 * shell/Makefile.am (rhythmbox_LDADD): Add HAL_LIBS to avoid
16351 * widgets/rb-header.c (sanitize_string): New function, extracted
16352 from old info_url. Be sure to always strip the string.
16353 (info_url): Rewrite to take artist/album, and generate a sane
16354 URL for them from last.fm, which is better than allmusic.com in
16355 that they support Rhythmbox, and have a *SANE* URL scheme.
16356 (artist_info_url, album_info_url): Delete.
16357 (rb_header_sync): Use info_url.
16359 2005-08-29 James Livingston <jrl@ids.org.au>
16361 * sources/rb-source.c: (rb_source_search): Check to ensure that this
16362 is implemented before calling it. Many sources don't implement the
16365 2005-08-28 Dennis Cranston <dennis_cranston@yahoo.com>
16367 * data/glade/create-playlist.glade: Cleanup the layout,
16368 and add a few more mnemonics.
16369 * shell/rb-playlist-manager.c:
16370 (rb_playlist_manager_cmd_load_playlist),
16371 (rb_playlist_manager_cmd_save_playlist): HIG fix, use title
16372 capitalization for window titles.
16373 * widgets/rb-query-creator-properties.c: Add mnemonics
16374 to checkbutton labels.
16375 * widgets/rb-query-creator.c: (rb_query_creator_constructor),
16376 (limit_toggled_cb): Toggle the sortLabel sensitivity.
16378 2005-08-28 Colin Walters <walters@verbum.org>
16380 * data/rhythmbox.schemas: Delete search_text for library
16381 and iradio; this isn't a persistent value anymore.
16384 * sources/rb-source.h:
16385 * sources/rb-source.c: Delete impl_can_search.
16387 * sources/rb-iradio-source.c: Delete search_text usage.
16388 * sources/rb-library-source.c: Ditto.
16390 * shell/rb-source-header.c: Don't use GConf for search key. Reset
16391 search when source is set, and just do rb_source_search in
16392 rb_source_header_search_cb.
16394 * shell/rb-shell.c (rb_shell_append_source): Don't
16397 * shell/Makefile.am: Don't dist dashboard.c.
16399 2005-08-28 Colin Walters <walters@verbum.org>
16401 * shell/main.c: Remove include of dead file rb-remote-dbus.h.
16403 2005-08-28 Colin Walters <walters@verbum.org>
16405 * data/org.gnome.Rhythmbox.service.in: New.
16407 * data/Makefile.am: Install service file.
16409 * configure.ac: Define DBUS_SERVICES_DIR.
16411 * autogen.sh: Set ACLOCAL_FLAGS.
16413 * macros/acinclude.m4: New.
16415 2005-08-28 Colin Walters <walters@verbum.org>
16417 Initial patch from Jonathan Matthew; closes 313684.
16419 * rhythmdb/rhythmdb-tree.c:
16420 (RHYTHMDB_FWRITE, RHYTHMDB_FPUTC): Handle errors.
16421 (save_entry): Return on error.
16422 (rhythmdb_tree_save): Handle error when saving the
16423 db; additionally, handle errors from fclose and unlink,
16424 and print error too.
16426 2005-08-28 Colin Walters <walters@verbum.org>
16428 * sources/Makefile.am (libsourcesimpl_la_LIBADD): Fix
16431 2005-08-28 Colin Walters <walters@verbum.org>
16433 * configure.ac: Change iPod support to --with-ipod;
16434 automatically enable it if we have HAL. Try to
16435 support both HAL 0.5 and HAL 0.2. Break out
16436 totem-plparser into its own check so later we
16437 can do version tests there too.
16438 Kill dashboard support.
16440 * sources/rb-ipod-source.c: Merge in changes from Ronald Bultje
16441 to support HAL > 0.5, but preserve the old code for HAL < 0.5
16444 * shell/Makefile.am (rhythmbox_LDADD): Add TOTEM_PLPARSER_LIBS.
16445 (INCLUDES): Add TOTEM_PLPARSER_CFLAGS.
16447 * sources/Makefile.am: Also handle
16448 TOTEM_PLPARSER_LIBS/TOTEM_PLPARSER_CFLAGS.
16450 * shell/dashboard.c: Delete; someone should just write a little
16451 python shim which lists on the D-BUS interface and writes the
16452 stuff to Dashboard. Even better Dashboard should be ported
16453 to D-BUS and do the listening itself, perhaps on an abstract
16454 "org.gnome.MusicPlayer" interface or something.
16456 * shell/rb-shell.c: Kill dashboard support.
16458 2005-08-28 Colin Walters <walters@verbum.org>
16460 * remote/dbus/rb-print-playing.py: New file.
16462 2005-08-28 Colin Walters <walters@verbum.org>
16464 * rhythmdb/rhythmdb.c (rhythmdb_entry_get):
16465 * rhythmdb/rhythmdb.h: Make rhythmdb_entry_get public.
16467 * shell/rb-shell-player.h:
16468 * shell/rb-shell-player.c: Add playing-uri-changed signal.
16469 * shell/rb-shell-player.xml: Export it.
16471 * shell/rb-shell.c (rb_shell_get_song_properties): New function.
16472 (rb_shell_error_quark): New.
16474 * shell/rb-shell.h: Prototype. Also add RBShellError.
16475 * shell/rb-shell.xml: Export rb_shell_get_song_properties.
16477 2005-08-28 Colin Walters <walters@verbum.org>
16479 * remote/bonobo/rb-remote-bonobo.c (rb_bonobo_workaround_lock)
16480 (rb_bonobo_workaround_unlock): Renamed from bonobo_lock and
16482 (rb_remote_bonobo_preinit): Lock setting moved here.
16483 (rb_remote_bonobo_init): From here.
16485 * shell/main.c (main): Call rb_remote_bonobo_preinit very early.
16486 Also invoke handle_cmdline in the right place.
16487 (handle_cmdline): Remove some unused vars. Cast bonobo_load_uri to
16490 2005-08-28 James Livingston <jrl@ids.org.au>
16492 * NEWS: keep the NEWS file up to date, so we don't have to do it all
16493 when 0.9.1 comes around.
16495 2005-08-28 James Livingston <jrl@ids.org.au>
16497 * iradio/rb-new-station-dialog.c:
16498 (rb_new_station_dialog_response_cb): Trim whitespace from uris. Closes
16501 2005-08-28 James Livingston <jrl@ids.org.au>
16503 Patch from Jonathan Mattnew <jonathan@kaolin.hn.org>
16505 * widgets/rb-entry-view.c: (rb_entry_view_duration_cell_data_func):
16506 * widgets/rb-header.c: (rb_header_get_elapsed_string): Display hours
16507 is a song is longer than 60 minutes. Closes bug 313311.
16509 2005-08-27 James Livingston <jrl@ids.org.au>
16511 * data/glade/create-playlist.glade:
16512 * widgets/rb-query-creator.c: (rb_query_creator_load_query),
16513 (rb_query_creator_new_from_query), (rb_query_creator_get_limit): Add
16514 "minutes" as an option in the playlist limit menu.
16516 * rhythmdb/rhythmdb-query-model.c:
16517 (rhythmdb_query_model_class_init),
16518 (rhythmdb_query_model_set_property),
16519 (rhythmdb_query_model_get_property),
16520 (rhythmdb_query_model_update_limited_entries): Allow query models to
16523 * shell/rb-playlist-manager.c:
16524 (rb_playlist_manager_set_automatic_playlist),
16525 (rb_playlist_manager_cmd_edit_automatic_playlist):
16526 * sources/rb-playlist-source.c: (rb_playlist_source_set_query),
16527 (rb_playlist_source_get_query), (impl_receive_drag),
16528 (rb_playlist_source_new_from_xml),
16529 (rb_playlist_source_save_to_xml),
16530 (rb_playlist_source_songs_sort_order_changed_cb),
16531 (rb_playlist_source_do_query):
16532 * sources/rb-playlist-source.h:
16533 * widgets/rb-query-creator.h: Allow playlists to be limited by time
16535 2005-08-27 James Livingston <jrl@ids.org.au>
16537 Patch from Jonathan Mattnew <jonathan@kaolin.hn.org>.
16540 * shell/Makefile.am: work correctly if dbus-binding-tool is in a
16541 non-standard location. Closes bug 314640.
16543 2005-08-26 Colin Walters <walters@verbum.org>
16545 Patch from Olivier Blin <oblin@mandriva.com>
16547 * widgets/eggnotificationbubble.c (draw_bubble):
16548 Handle extreme-left case as well.
16550 2005-08-26 Colin Walters <walters@verbum.org>
16552 * shell/rb-shell.c (idle_save_state): Don't do this.
16553 (rb_shell_construct): Remove idle calls to idle_save_state.
16554 We should save the playlists automatically when they're
16556 (rb_shell_load_uri): Don't try to re-stat entry if it already
16559 * shell/rb-shell-player.c: Keep track of entry we are attempting
16561 (rb_shell_player_set_playing_entry): Set playing_attempt_entry.
16562 Don't double-free error.
16563 (rb_shell_player_play_entry): Signal errors.
16564 (rb_shell_player_entry_activated_cb): Ditto.
16565 (rb_shell_player_property_row_activated_cb): Ditto.
16566 (rb_shell_player_set_playing_source_internal): Unset attempted
16568 (rb_shell_player_error): Refactor to be usable both sync and
16569 async. Handle case where displayed entry differs from entry.
16570 (error_cb): Move GDK locking here.
16572 * shell/main.c (main): Drop most commandline arguments for D-BUS;
16573 people can just use dbus-send or python. We only support focusing
16575 (load_uri_args): New function, extracted from handle_cmdline.
16576 (dbus_load_uri, bonobo_load_uri): New functions.
16578 * shell/Makefile.am (rhythmbox_LDADD): Add D-BUS libs as
16581 * remote/Makefile.am: Don't compile dbus subdir, it's not used.
16582 * remote/dbus/rb-remote-dbus.c: Deleted.
16584 * player/rb-player-gst.c: Clear any pending idle handlers when we
16585 close the player. Signal errors generated during open/play etc
16586 as synchronous errors.
16588 * configure.ac: Enable Bonobo by default if D-BUS isn't enabled.
16590 2005-08-26 Colin Walters <walters@verbum.org>
16592 * shell/rb-shell.c (rb_shell_present): Try harder.
16594 2005-08-26 Colin Walters <walters@verbum.org>
16596 * shell/rb-shell.c (rb_shell_present): Try to handle
16597 GTK_MINOR_VERSION < 8.
16599 2005-08-26 James Livingston <jrl@ids.org.au>
16601 * shell/main.c: (main): compilation fixes. Patch from Peter Robinson
16602 <pbrobinson@gmail.com>
16604 2005-08-26 Colin Walters <walters@verbum.org>
16606 * remote/dbus/rb-remote-dbus.c: Various compilation fixes.
16608 2005-08-25 Colin Walters <walters@verbum.org>
16610 * shell/rb-shell-player.c (rb_shell_player_auto_adjust_rating):
16612 (rb_shell_player_do_next_with_rating): Move back into
16613 rb_shell_player_do_next.
16614 (rb_shell_player_entry_activated_cb): Remove call to
16615 rb_shell_player_auto_adjust_rating.
16616 (do_next_idle): Just call rb_shell_player_do_next.
16618 * shell/rb-shell.c (rb_shell_present): Cast to GTK_WIDGET.
16620 2005-08-25 Colin Walters <walters@verbum.org>
16622 * shell/rb-shell.c (rb_shell_present): Be sure to gtk_widget_show
16623 before gtk_window_present_with_time.
16625 2005-08-25 Colin Walters <walters@verbum.org>
16627 * configure.ac: Require D-BUS 0.35. Bonobo is disabled by
16630 * shell/rb-shell.c (rb_shell_constructor): Adapted from
16631 rb_shell_construct. This is so we only have to do g_object_new.
16632 (rb_shell_get_player): New function.
16633 (rb_shell_get_player_path): Ditto.
16634 (rb_shell_load_uri): New function, adapted from rb_shell_load_uri_impl.
16636 * shell/rb-shell.h: Prototype them.
16638 * shell/rb-shell-player.c: Add new PLAYING_CHANGED signal which we
16640 (reemit_playing_signal): New function.
16641 (rb_shell_player_open_playlist_location): Use return values from
16642 rb_player_open, rb_player_close, etc. instead of checking "error".
16643 Return a gboolean on failure.
16644 (rb_shell_player_open_entry): Just open entry location, don't
16646 (rb_shell_player_play): Handle retval from rb_player_play. Return
16648 (do_next_idle): Move logic for handling of end of playlist here.
16649 (rb_shell_player_set_playing_entry): Take a GError, return a
16650 gboolean. Update to use gboolean return values.
16651 (rb_shell_player_do_previous): Delete lots of crazy duplicate
16652 logic. Signal an error on end of playlist. Also signal error if
16653 we're not playing. Move heuristic for replaying the song into
16654 rb_shell_player_cmd_previous.
16655 (rb_shell_player_do_next_with_rating): Signal error on end of
16657 (rb_shell_player_do_next): Return errors.
16658 (rb_shell_player_cmd_previous): Heuristic for restarting song
16659 moved here; the idea is you generally only want that from the GUI.
16660 (rb_shell_player_cmd_play): Handle error.
16661 (rb_shell_player_playpause): Signal errors.
16662 (filter_mmkeys): Use rb_shell_player_cmd_previous and
16663 rb_shell_player_cmd_next in favor of the internal _do functions.
16665 * shell/rb-shell-player.h (enum RBShellPlayerError): Add some
16666 errors. Update prototypes for above changes.
16668 * shell/main.c: More tightly integrate D-BUS; register various
16669 major singleton objects here. Fix handle_cmdline so we only
16670 process extra arguments, not every argument.
16672 * shell/Makefile.am: Generate D-BUS glue headers.
16674 * remote/dbus/rb-remote-dbus.c: Move all the D-BUS service stuff
16675 into shell/main.c. Now this file just acts as a client library.
16676 Not heavily tested.
16678 * remote/bonobo/rb-remote-bonobo.c (bonobo_lock, bonobo_unlock):
16680 (rb_remote_bonobo_init): Move long CORBA rant here along with
16681 setting of lock functions.
16683 * player/rb-player-gst.c (rb_player_construct)
16684 (rb_player_play, rb_player_open, rb_player_close): Return gboolean
16687 * player/rb-player.h: Update prototypes.
16689 * lib/rb-util.c (_rb_threads_lock, _rb_threads_unlock): Moved to
16690 rb-remote-bonobo.c.
16691 (rb_threads_init): Don't set gdk lock functions here.
16693 2005-08-25 James Livingston <jrl@ids.org.au>
16695 Patch from Jonathan Mattnew <jonathan@kaolin.hn.org>
16697 * lib/rb-tree-dnd.c: (rb_tree_dnd_drag_drop_cb):
16698 * lib/rb-tree-dnd.h:
16699 * rhythmdb/rhythmdb-property-model.c:
16700 (rhythmdb_property_model_class_init),
16701 (rhythmdb_property_model_drag_source_init),
16702 (rhythmdb_property_model_iter_parent),
16703 (rhythmdb_property_model_row_draggable),
16704 (rhythmdb_property_model_drag_data_delete), (query_model_cb),
16705 (rhythmdb_property_model_drag_data_get),
16706 (rhythmdb_property_model_enable_drag):
16707 * rhythmdb/rhythmdb-property-model.h:
16708 * shell/rb-playlist-manager.c: (rb_playlist_manager_finalize),
16709 (rb_playlist_manager_set_property), (append_new_playlist_source),
16710 (rb_playlist_manager_save_playlists):
16711 * shell/rb-shell.c: (rb_shell_construct),
16712 (sourcelist_drag_received_cb):
16713 * sources/rb-iradio-source.c: (rb_iradio_source_class_init):
16714 * sources/rb-playlist-source.c: (impl_receive_drag):
16715 * sources/rb-sourcelist-model.c: (rb_sourcelist_model_class_init),
16716 (rb_sourcelist_model_drag_dest_init),
16717 (rb_sourcelist_model_set_dnd_targets),
16718 (rb_sourcelist_model_drag_data_received), (path_is_reorderable),
16719 (rb_sourcelist_model_row_drop_position),
16720 (rb_sourcelist_model_get_drag_target),
16721 (rb_sourcelist_model_drag_data_get):
16722 * sources/rb-sourcelist-model.h:
16723 * sources/rb-sourcelist.c: (rb_sourcelist_class_init),
16724 (rb_sourcelist_init), (rb_sourcelist_get_property),
16725 (rb_sourcelist_selection_changed_cb):
16726 * sources/rb-sourcelist.h:
16727 * widgets/rb-property-view.c: (rb_property_view_constructor): Greatly
16728 improve drag-n-drop support. Allow dragging of item from property
16729 views to the source list, to create new automatic playlists. Allow
16730 playlist re-ordering. Fix dragging from Rhythmbox to other
16731 applications. (Closes bug 147337)
16733 2005-08-24 Colin Walters <walters@verbum.org>
16735 Patch from Olivier Blin <oblin@mandriva.com>
16737 * widgets/eggnotificationbubble.c (draw_bubble): Draw triangle
16738 correctly in the case where the window is next to monitor edge.
16740 2005-08-24 James Livingston <jrl@ids.org.au>
16742 * sources/rb-playlist-source.c: (rb_playlist_source_class_init),
16743 (rb_playlist_source_get_property), (rb_playlist_source_do_query): add
16744 a gobject property to get the query model that backs the playlist.
16746 2005-08-24 James Livingston <jrl@ids.org.au>
16748 * shell/rb-playlist-manager.c: (rb_playlist_manager_set_property),
16749 (handle_playlist_entry_into_playlist_cb),
16750 (rb_playlist_manager_playlist_entries_changed): Disable the "create
16751 audio cd" menu item when a non-playlist source is selected, or the
16752 playlist is empty. (Closes Bug 313253)
16754 2005-08-24 James Livingston <jrl@ids.org.au>
16756 * sources/rb-playlist-source.c: (rb_playlist_source_burn_playlist):
16757 Fix the playlist length checkso it doesn't report 0 for automatic
16758 playlists. This was stopping automati playlists being burnt to cd.
16760 2005-08-24 James Livingston <jrl@ids.org.au>
16763 * sources/rb-playlist-source-recorder.c: (burn_cd):
16764 * sources/rb-playlist-source.c:
16765 (rb_playlist_source_songs_sort_order_changed_cb):
16766 * widgets/rb-query-creator.c: (rb_query_creator_dispose): Fix some
16767 more warnings that occur when compiling RPMs on Fedora.
16769 2005-08-24 James Livingston <jrl@ids.org.au>
16771 * rhythmdb/rhythmdb.c: (set_props_from_metadata): Fix a warning that
16772 was stopping some distros gcc version compiling.
16774 2005-08-24 James Livingston <jrl@ids.org.au>
16777 * data/glade/create-playlist.glade:
16778 * rhythmdb/rhythmdb-tree.c: (evaluate_conjunctive_subquery):
16779 * rhythmdb/rhythmdb.c: (rhythmdb_query_parse_valist),
16780 (rhythmdb_query_free), (rhythmdb_query_serialize),
16781 (rhythmdb_query_deserialize), (rhythmdb_query_get_type):
16782 * rhythmdb/rhythmdb.h:
16783 * shell/rb-playlist-manager.c:
16784 (rb_playlist_manager_set_automatic_playlist),
16785 (rb_playlist_manager_cmd_edit_automatic_playlist):
16786 * sources/rb-playlist-source.c: (rb_playlist_source_constructor),
16787 (rb_playlist_source_set_query), (rb_playlist_source_get_query),
16788 (impl_receive_drag), (rb_playlist_source_new_from_xml),
16789 (rb_playlist_source_save_to_xml),
16790 (rb_playlist_source_songs_sort_order_changed_cb),
16791 (rb_playlist_source_do_query):
16792 * sources/rb-playlist-source.h:
16793 * widgets/Makefile.am:
16794 * widgets/rb-entry-view.c: (rb_entry_view_get_sorting_order),
16795 (rb_entry_view_set_sorting_order):
16796 * widgets/rb-query-creator-private.h:
16797 * widgets/rb-query-creator-properties.c:
16798 (stringCriteriaCreateWidget), (stringCriteriaSetWidgetData),
16799 (stringCriteriaGetWidgetData),
16800 (escapedStringCriteriaSetWidgetData),
16801 (escapedStringCriteriaGetWidgetData), (set_rating_score),
16802 (ratingCriteriaCreateWidget), (ratingCriteriaSetWidgetData),
16803 (ratingCriteriaGetWidgetData), (integerCriteriaCreateWidget),
16804 (integerCriteriaSetWidgetData), (integerCriteriaGetWidgetData),
16805 (durationCriteriaCreateWidget), (durationCriteriaSetWidgetData),
16806 (durationCriteriaGetWidgetData), (create_time_unit_option_menu),
16807 (relativeTimeCriteriaCreateWidget),
16808 (relativeTimeCriteriaSetWidgetData),
16809 (relativeTimeCriteriaGetWidgetData):
16810 * widgets/rb-query-creator.c: (rb_query_creator_get_type),
16811 (rb_query_creator_class_init), (rb_query_creator_constructor),
16812 (rb_query_creator_dispose), (rb_query_creator_set_property),
16813 (rb_query_creator_get_property), (rb_query_creator_load_query),
16814 (rb_query_creator_set_sorting), (rb_query_creator_new_from_query),
16815 (get_entry_for_property), (rb_query_creator_get_query),
16816 (rb_query_creator_get_limit), (rb_query_creator_get_sort_order),
16817 (limit_toggled_cb), (lookup_row_by_widget),
16818 (remove_button_click_cb), (append_row),
16819 (get_property_index_from_proptype), (select_criteria_from_value),
16820 (property_option_menu_changed), (create_property_option_menu),
16821 (create_criteria_option_menu), (sort_option_menu_changed),
16822 (setup_sort_option_menu):
16823 * widgets/rb-query-creator.h: A fairly huge patch to improve automatic
16824 playlists. The two most notable improvements are 1) adding more
16825 properties to the query creator, making it much easier to add more in
16826 the future, and 2) allow playlists to be sorted, from the query editor
16827 if they gave limits, and by clicking on column headers if they don't.
16829 Files added: widgets/rb-query-creator-private.h,
16830 sources/rb-query-creator-properties.c
16832 2005-08-21 James Livingston <jrl@ids.org.au>
16834 * player/rb-player-gst.c: (error_cb): ignore any playbin errors, where
16835 error=NULL. This stops some crashes.
16837 2005-08-19 Colin Walters <walters@verbum.org>
16839 Patch from Olivier Blin <oblin@mandriva.com>
16841 * widgets/eggnotificationbubble.c (force_window): Support top
16843 * widgets/eggnotificationbubble.h: Remove
16844 egg_notification_bubble_force_window from header.
16846 2005-08-18 James Livingston <jrl@ids.org.au>
16848 * NEWS: Give a bit of detail on the major changes in 0.9.0, and update
16849 with the changes since then.
16851 2005-08-17 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
16853 * shell/rb-shell-player.c: (rb_shell_player_init),
16854 (rb_shell_player_sync_volume), (rb_shell_player_volume_changed_cb),
16855 (rb_shell_player_volume_widget_changed_cb):
16856 * sources/rb-iradio-source.c:
16857 * sources/rb-library-source.c:
16858 * sources/rb-playlist-source.c:
16859 * widgets/Makefile.am:
16860 * widgets/bacon-volume.c: (bacon_volume_button_get_type),
16861 (bacon_volume_button_class_init), (bacon_volume_button_init),
16862 (bacon_volume_button_dispose), (bacon_volume_button_new),
16863 (bacon_volume_button_get_value), (bacon_volume_button_set_value),
16864 (bacon_volume_button_scroll), (bacon_volume_button_press),
16865 (cb_button_timeout), (cb_button_press), (cb_button_release),
16866 (bacon_volume_release_grab), (cb_dock_press),
16867 (bacon_volume_scale_get_type), (bacon_volume_scale_class_init),
16868 (bacon_volume_scale_new), (bacon_volume_scale_press),
16869 (bacon_volume_scale_release), (bacon_volume_scale_value_changed):
16870 * widgets/bacon-volume.h:
16871 * widgets/rb-volume.c:
16872 * widgets/rb-volume.h:
16873 Use BaconVolumeButton (#300867).
16875 2005-08-17 James Livingston <jrl@ids.org.au>
16877 * rhythmdb/rhythmdb.c: (set_props_from_metadata),
16878 (rhythmdb_process_metadata_load): don't reset the First Seen time
16879 whenever we recheck the metadata.
16881 2005-08-17 James Livingston <jrl@ids.org.au>
16883 * sources/rb-playlist-source.c: (rb_playlist_source_burn_playlist):
16884 temporary workaround to stop crashes when trying to burn an empty
16885 playlist. Doesn't disable the menu item which is the better solution
16888 2005-08-15 James Livingston <jrl@ids.org.au>
16890 * shell/rb-source-header.c: (rb_source_header_init),
16891 (rb_source_header_sync_control_state),
16892 (rb_source_header_search_activate_cb):
16893 * widgets/rb-entry-view.c: (rb_entry_view_class_init),
16894 (rb_entry_view_poll_model), (rb_entry_view_grab_focus):
16895 * widgets/rb-search-entry.c: (rb_search_entry_class_init),
16896 (rb_search_entry_init), (rb_search_entry_searching),
16897 (rb_search_entry_activate_cb):
16898 * widgets/rb-search-entry.h: Move focus to the entry view when user
16899 presses enter in the search box. Patch from Paolo Borelli
16900 <pborelli@katamail.com> (Closes bug 128110)
16902 2005-08-15 James Livingston <jrl@ids.org.au>
16904 * shell/rb-playlist-manager.c: (rb_playlist_manager_class_init),
16905 (rb_playlist_manager_new_playlist):
16906 * shell/rb-playlist-manager.h:
16907 * shell/rb-shell.c: (rb_shell_construct),
16908 (rb_shell_playlist_added_cb), (rb_shell_playlist_created_cb): Force
16909 the source list to be shown when a new playlist is created. (Closes
16912 2005-08-15 James Livingston <jrl@ids.org.au>
16914 * widgets/rb-header.c: (rb_header_init),
16915 (rb_header_set_show_timeline): disable the seek slider, rather than
16916 hiding it, which more closely follows the HIG. (Closes bug 139102)
16918 2005-08-13 Colin Walters <walters@verbum.org>
16920 * shell/rb-shell.c (rb_shell_playing_entry_changed_cb): Use
16921 rb_shell_hidden_notify.
16922 (rb_shell_hidden_notify): Notify if the shell is hidden.
16923 (rb_shell_set_visibility_impl): Debug goo.
16925 * shell/rb-shell.h: Export rb_shell_hidden_notify.
16927 * shell/rb-tray-icon.c (rb_tray_icon_hide_notify_cb): Show Rhythmbox
16928 when the user clicks on notification.
16930 * sources/rb-playlist-source-recorder.c (burn_cd): Notify when
16931 CD burn is complete.
16932 (rb_playlist_source_recorder_finalize): Unref shell.
16933 (rb_playlist_source_recorder_new): Take shell.
16935 * sources/rb-playlist-source.c (rb_playlist_source_burn_playlist):
16936 Pass shell to RBPlaylistSourceRecorder.
16938 2005-08-13 Colin Walters <walters@verbum.org>
16941 * lib/rb-thread.h: Not used yet, but put in CVS in case we get
16944 2005-08-13 Colin Walters <walters@verbum.org>
16946 * widgets/eggnotificationbubble.h:
16947 * widgets/eggnotificationbubble.c: New files, will likely go in libegg.
16948 * widgets/eggtrayicon.c:
16949 * widgets/eggtrayicon.h: Add notification API.
16950 * shell/rb-tray-icon.c:
16951 * shell/rb-tray-icon.h: Add notification API.
16952 * shell/rb-shell.c: Notify on song change.
16954 2005-08-12 Raphael Slinckx <rslinckx@cvs.gnome.org>
16956 * sources/rb-ipod-source.c: (rb_ipod_unplugged):
16957 Correct an inversion of two lines causing NULL to be unreffed
16959 ============ Version 0.9.0
16961 2005-08-10 Bastien Nocera <hadess@hadess.net>
16963 * configure.ac: 0.9.0, whee!
16964 * NEWS: badly updated
16965 * remote/bonobo/Makefile.am:
16966 * remote/bonobo/rb-remote-bonobo.h:
16967 * shell/Makefile.am:
16968 * shell/main.c: make distcheck fixes