2006-12-13 James Livingston * configure.ac: bump version to 0.9.6.90 for a pre-release 2006-12-13 Jonathan Matthew * rhythmdb/rhythmdb-query-model.c: (rhythmdb_query_model_init), (rhythmdb_query_model_entry_added_cb), (rhythmdb_query_model_entry_changed_cb): Track hidden entries in query models with no query. Currently unused due to how we structure queries for static playlists, but it fixes the property model unit tests. 2006-12-13 Jonathan Matthew * daapsharing/rb-daap-connection.c: (rb_daap_connection_do_something): Request daap.songdiscnumber from the DAAP server. 2006-12-13 Jonathan Matthew * sources/rb-static-playlist-source.c: (rb_static_playlist_source_add_uri_list): Don't free the URI list twice. Fixes #380947. 2006-12-13 Jonathan Matthew * lib/rb-file-helpers.c: (rb_uri_append_path), (rb_uri_append_uri), (rb_uri_get_dir_name): * rhythmdb/rhythmdb-monitor.c: (rhythmdb_monitor_uri_path): * rhythmdb/rhythmdb.c: * sources/rb-library-source.c: (build_filename), (rb_library_source_add_child_source): * sources/rb-playlist-source-recorder.c: (check_dir_has_space): Handle cases where gnome_vfs_uri_new returns NULL. From #380947. 2006-12-13 Jonathan Matthew * metadata/sj-metadata-musicbrainz.c: (get_drive_media_type), (lookup_cd): Add support for older versions of libnautilus-burn. 2006-12-13 James Livingston Patch from Tim Retout * shell/rb-history.c: (rb_history_append): * shell/rb-play-order-random.c: (rb_random_play_order_go_next): fix a problem where appending a song could get the history wrong. Fixes #346287 2006-12-12 James Livingston * plugins/audioscrobbler/Makefile.am: * metadata/sj-error.c: (sj_error_quark): * metadata/sj-error.h: * metadata/sj-metadata-musicbrainz.c: (sj_metadata_musicbrainz_instance_init), (get_offline_track_listing), (cache_rdf), (get_cached_rdf), (get_rdf), (lookup_cd): * metadata/sj-metadata-musicbrainz.h: * metadata/sj-metadata.c: (sj_metadata_get_type): * metadata/sj-metadata.h: * metadata/sj-structures.c: * metadata/sj-structures.h: get bug fixes from S-J and hopefully fix #382954. 2006-12-12 James Livingston * sources/rb-ipod-source.c: (rb_ipod_load_songs): hopefully fix some corrupt-ipod-db issues. from #358855 2006-12-12 James Livingston * widgets/rb-entry-view.c: (rb_entry_view_set_model_internal): don't try to re-sort the model if it's NULL. Fixes #367646 2006-12-12 James Livingston * data/rhythmbox.schemas: * lib/rb-util.c: (_threads_enter), (_threads_leave), (rb_threads_init): * plugins/magnatune/magnatune-prefs.glade: * plugins/magnatune/magnatune-purchase.glade: * plugins/magnatune/magnatune/MagnatuneSource.py: * plugins/magnatune/magnatune/__init__.py: add code to use Gnome-Keyring to store the user's credit card details, but force it to be disabled (due to bugs). From #377354 2006-12-12 Jonathan Matthew * rhythmdb/rhythmdb-query-model.c: (rhythmdb_query_model_remove_from_main_list): Re-find the sequence node pointer after emitting the row-deleted signal, as signal handlers may cause it to change. Fixes #370443. 2006-12-11 James Livingston * sources/rb-daap-source.c: (connection_auth_cb): fix a code path trying to free an unset pointer. Fixes #384208 2006-12-11 James Livingston * sources/rb-library-source.c: (build_filename): deal with URIs that don't have a period in them. Fixes #384016 2006-12-11 Jonathan Matthew * backends/gstreamer/rb-encoder-gst.c: (progress_timeout_cb): Use G_GINT64_FORMAT instead of %lld. 2006-12-11 Jonathan Matthew * backends/gstreamer/rb-encoder-gst.c: (progress_timeout_cb), (rb_encoder_gst_encode): When copying rather than transcoding, do position queries in byte format rather than time. * sources/rb-ipod-source.c: (impl_receive_drag): * sources/rb-library-source.c: (impl_receive_drag): Handle application/x-rhythmbox-entry drops. Fixes drag and drop from daap shares to library. 2006-12-10 James Livingston * podcast/rb-podcast-manager.c: (rb_podcast_manager_add_post): add posts that are missing their date tag. 2006-12-09 James Livingston * shell/rb-statusbar.c: (rb_statusbar_init): revert the patch from bug #368757 2006-12-09 James Livingston * configure.ac: * data/rhythmbox.schemas: * plugins/Makefile.am: * plugins/magnatune/magnatune-prefs.glade: * plugins/magnatune/magnatune-purchase.glade: * plugins/magnatune/magnatune/MagnatuneSource.py: * plugins/magnatune/magnatune/__init__.py: revert some stuff I accidently comitted. 2006-12-09 James Livingston * rhythmdb/rhythmdb-property-model.c: (rhythmdb_property_model_finalize): fix a memory leak. 2006-12-09 James Livingston * sources/rb-ipod-source.c: (rb_ipod_source_set_ipod_name): don't crash if the iPod's name set to is NULL #358855 2006-12-05 Jonathan Matthew * widgets/rb-property-view.c: (rb_property_view_class_init), (rb_property_view_dispose), (rb_property_view_finalize): Disconnect signal handlers in dispose, not finalize. Fixes #374892. 2006-12-04 James Livingston patch by: Alex Lancaster * rhythmdb/rhythmdb-query.c: (rhythmdb_query_preprocess): * widgets/rb-query-creator-properties.c: (yearCriteriaSetWidgetData), (yearCriteriaGetWidgetData): stop some critical warnings emitted if a YEAR=0 query was done. Fixes #381839 2006-12-03 James Livingston * lib/rb-file-helpers.c: (_rb_uri_recurse_data_free), (rb_uri_handle_recursively_cb), (rb_uri_handle_recursively), (_recurse_async_idle_cb), (_recurse_async_data_free), (_recurse_async_cb), (_recurse_async_func), (rb_uri_handle_recursively_async): * lib/rb-file-helpers.h: * plugins/rb-plugins-engine.c: (rb_plugins_engine_load_cb), (rb_plugins_engine_load_dir): * rhythmdb/rhythmdb-monitor.c: (rhythmdb_init_monitoring), (rhythmdb_stop_monitoring), (monitor_entry_file), (monitor_subdirectory), (monitor_library_directory), (_monitor_entry_thread), (rhythmdb_start_monitoring), (rhythmdb_monitor_uri_path): * rhythmdb/rhythmdb.c: * sources/rb-static-playlist-source.c: (rb_static_playlist_source_add_location_cb), (rb_static_playlist_source_add_location): add a utility function for doing directory recusion asynchronously, and use it everywhere instead of the old one. Removes one of our biggest do-IO-synchronously issues. From #325215 2006-12-03 James Livingston * plugins/audioscrobbler/Makefile.am: * plugins/audioscrobbler/audioscrobbler-ui.xml: * plugins/audioscrobbler/rb-audioscrobbler-plugin.c: (impl_activate), (impl_deactivate): * plugins/audioscrobbler/rb-lastfm-source.c: (rb_lastfm_source_class_init), (rb_lastfm_source_constructor), (impl_activate), (impl_show_popup), (show_entry_popup): add a context menu to the last.fm source, and allow deletion of stations. 2006-12-02 Jonathan Matthew * plugins/rb-plugin-manager.c: (plugin_manager_populate_lists): gtk_tree_view_get_model doesn't ref the model, so don't unref it when we're done with it. 2006-12-01 Jonathan Matthew * rhythmdb/rhythmdb.c: (rhythmdb_execute_load), (rhythmdb_add_uri_with_type): Handle rb_uri_resolve_symlink returning NULL, as it does when it encounters a symlink loop. Create import errors for such URIs. Fixes #380826. 2006-11-30 Jonathan Matthew patch started by: James Livingston * podcast/rb-podcast-manager.c: (*) * podcast/rb-podcast-manager.h: * sources/rb-podcast-source.c: (rb_podcast_source_set_property), (rb_podcast_source_cmd_cancel_download), (rb_podcast_source_load_finish_cb), (rb_podcast_source_feed_updates_available_cb), (rb_podcast_source_shutdown), (rb_podcast_source_cmd_new_podcast): Remove mutexes and async queues from the podcast manager; just do everything on the main thread and use idle handlers to marshal things across to it. Should fix crashes on FreeBSD, various other weird stuff, and bug 337332. 2006-11-29 James Livingston patch from: Glynn Foster * metadata/sj-metadata-musicbrainz.c: (sj_metadata_musicbrainz_instance_init): fix a typo in the proxy settings. 2006-11-29 James Livingston patch by: Thomas Thurman * data/glade/song-info-multiple.glade: * data/glade/song-info.glade: * data/glade/station-properties.glade: Make the return key close these dialogs. Fixes #379148 2006-11-29 James Livingston patch by: Ingo Planz * podcast/rb-podcast-parse.c: (rb_podcast_parse_date): Make the podcast plugin set unknown dates to the current time, not the start of the epoch. Fixes #367572. 2006-11-29 James Livingston * lib/rb-tree-dnd.c: (rb_tree_drag_source_row_draggable), (rb_tree_drag_source_drag_data_delete), (rb_tree_drag_source_drag_data_get), (rb_tree_drag_dest_drag_data_received), (rb_tree_drag_dest_row_drop_possible), (rb_tree_drag_dest_row_drop_position), (rb_tree_dnd_drag_drop_cb): * lib/rb-tree-dnd.h: * rhythmdb/rhythmdb-property-model.c: (rhythmdb_property_model_drag_source_init): * rhythmdb/rhythmdb-query-model.c: (rhythmdb_query_model_drag_source_init), (rhythmdb_query_model_drag_dest_init): * sources/rb-sourcelist-model.c: (rb_sourcelist_model_drag_dest_init), (rb_sourcelist_model_drag_source_init): don't use the same method names as the GtkTreeDnd ones, since it break bindings to other languages. * shell/rb-shell.c: (_scan_idle), (rb_shell_constructor): run the removable media scan in an idle callback. 2006-11-27 Jonathan Matthew * backends/gstreamer/rb-player-gst.c: (rb_player_gst_construct): Use the right variable name when setting the "profile" property on the sink. Fixes #379532 and closes #379314 again. 2006-11-27 James Livingston patch by: Adam Zimmerman * plugins/magnatune/magnatune/MagnatuneSource.py: fix a race condition in the Magnatune plugin, from #373684. 2006-11-26 James Livingston patch from Alex Jones * backends/gstreamer/rb-player-gst.c: (rb_player_gst_construct): set the "profile" on the audio sink, if it's present. Fixes #379314. 2006-11-23 James Livingston * bindings/python/rhythmdb.defs: * bindings/python/rhythmdb.override: fix some binding stuff. 2006-11-23 James Livingston patch by: Adam Zimmerman * plugins/magnatune/magnatune/MagnatuneSource.py: remove credit card details from debug output. Fixes #378355. 2006-11-23 Jonathan Matthew * shell/rb-shell-player.c: (rb_shell_player_play): Don't crash if current_playing_source is NULL. Fixes #378195. * plugins/lirc/rb-lirc-plugin.c: (rb_lirc_plugin_read_code): rb_shell_player_play isn't very useful, use _playpause if not already playing instead. 2006-11-22 Jonathan Matthew * rhythmdb/rhythmdb-property-model.c: (query_model_cb), (rhythmdb_property_model_drag_data_get): * rhythmdb/rhythmdb-query-model.c: (rhythmdb_query_model_drag_data_get), (rhythmdb_query_model_drag_data_received): * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_class_init), (rhythmdb_tree_init), (rhythmdb_tree_finalize), (rhythmdb_tree_entry_new_internal), (rhythmdb_tree_entry_delete), (remove_one_song), (rhythmdb_tree_entry_lookup_by_id), (rhythmdb_tree_entry_foreach), (rhythmdb_tree_entry_count), (rhythmdb_tree_entry_foreach_by_type), (count_entries), (rhythmdb_tree_entry_count_by_type): * rhythmdb/rhythmdb.c: * rhythmdb/rhythmdb.h: * daapsharing/rb-daap-share.c: (rb_daap_share_class_init), (rb_daap_share_set_property), (rb_daap_share_get_property), (rb_daap_share_new), (add_entry_to_mlcl), (send_chunked_file), (send_mapped_file), (databases_cb), (db_entry_added_cb), (db_entry_deleted_cb), (rb_daap_share_server_start), (rb_daap_share_server_stop): * daapsharing/rb-daap-share.h: * daapsharing/rb-daap-sharing.c: (create_share): Move id-to-entry map from daap share into rhythmdb. * shell/rb-playlist-manager.c: (create_name_from_selection_data), (rb_playlist_manager_new_playlist_from_selection_data): * sources/rb-auto-playlist-source.c: (impl_receive_drag): * sources/rb-browser-source.c: (rb_browser_source_constructor): * sources/rb-sourcelist-model.c: (rb_sourcelist_model_drag_data_received), (rb_sourcelist_model_row_drop_position), (rb_sourcelist_model_get_drag_target), (rb_sourcelist_model_drag_data_get): * sources/rb-static-playlist-source.c: (impl_receive_drag), (rb_static_playlist_source_add_id_list), (rb_static_playlist_source_add_uri_list): * widgets/rb-entry-view.c: * widgets/rb-property-view.c: Add a new drag-and-drop type: application/x-rhythmbox-entry containing a list of entry IDs, and use it for DnD within the application. Avoids having to pick a URI to use for an entry, so we can make DnD of podcast entries (and anything else where playback URI is not the same as the entry location) work as expected. Fixes #343537. 2006-11-22 Jonathan Matthew * shell/rb-shell.c: (rb_shell_present): Clear the skip-taskbar hint when presenting the window. Fixes #377963. 2006-11-20 James Livingston * sources/rb-library-source.c: (impl_paste): don't explode if we can't find the responsible source. Fixes #377029 2006-11-19 Jonathan Matthew * lib/rb-file-helpers.c: (rb_uri_append_path), (rb_uri_append_uri), (rb_uri_get_dir_name), (rb_uri_get_short_path_name): * lib/rb-file-helpers.h: * sources/rb-ipod-source.c: (ipod_get_filename_for_uri): Implement rb_uri_get_short_path_name to replace gnome_vfs_uri_extract_short_path name with something that doesn't reject unknown URI schemes such as daap://. Fixes #361077. * tests/Makefile.am: * tests/test-file-helpers.c: (test_get_short_path_name), (START_TEST), (rb_file_helpers_suite), (main): Add tests for the above. 2006-11-17 Jonathan Matthew * widgets/bacon-volume.c: (bacon_volume_button_class_init), (bacon_volume_button_new), (bacon_volume_button_style_set), (bacon_volume_scale_class_init), (bacon_volume_button_update_icon), (bacon_volume_scale_value_changed), (bacon_volume_button_load_icons): * widgets/bacon-volume.h: Update bacon-volume from libbacon CVS again. 2006-11-17 Jonathan Matthew * widgets/bacon-volume.c: (bacon_volume_load_icons): Fall back to old icon names if the icon naming spec compliant names don't work. From #369491. 2006-11-17 Jonathan Matthew * plugins/audiocd/Makefile.am: Stop automake complaining about duplicate definitions. 2006-11-17 James Livingston * sources/rb-ipod-source.c: (rb_ipod_source_dispose), (load_ipod_db_idle_cb), (rb_ipod_load_songs): remove the idle callback when disposing of the source. Fixes #376155 * plugins/daap/Makefile.am: fix some distcheck brokenness. 2006-11-17 James Livingston * po/POTFILES.in: add missing files to POTFILES.in. Fixes #375978 2006-11-15 Jonathan Matthew * shell/rb-playlist-manager.c: (*): General cleanup, add appropriate object references and implement dispose method. Should fix #357099. 2006-11-15 James Livingston patch by: William Lachance * rhythmdb/rhythmdb-query-model.c: (rhythmdb_query_model_album_sort_func): improve sorting when some tracks are missing track/disc number info. Fixes #371322 2006-11-14 James Livingston patch by: Alex Lancaster * podcast/rb-podcast-parse.c: (rb_podcast_parse_date): support podcast episode dates which are missing the seconds. Fixes #373845 2006-11-13 James Livingston * bindings/python/rhythmdb.override: bidn a few other pieces of rhythmdb. 2006-11-13 Jonathan Matthew * shell/rb-statusbar.c: (rb_statusbar_class_init), (rb_statusbar_dispose), (rb_statusbar_finalize), (rb_statusbar_set_property): Remove idle handler in dispose, rather than finalize. Keep references on all referenced objects (duh?). Fixes #374443. 2006-11-12 James Livingston patch by: Baptiste Mille-Mathias * shell/rb-statusbar.c: (rb_statusbar_init): Make the progress bar in the status bar smaller, so it isn't too big. Fixes #368757. 2006-11-12 Jonathan Matthew * plugins/daap/rb-daap-plugin.c: (mdns_service_added), (mdns_service_removed): Take GDK lock in mDNS callbacks. Fixes UI hangs when DAAP shares disappear. 2006-11-12 James Livingston * plugins/audioscrobbler/rb-lastfm-source.c: (rb_lastfm_source_constructor), (rb_lastfm_source_add_station_cb): add more supported last.fm radio things. From #373622 2006-11-12 James Livingston * rhythmdb/rhythmdb.c: check the URI isn't NULL, in case ti got through the earlier checks. Fixes #373605 2006-11-12 James Livingston * sources/rb-library-source.c: (rb_library_source_add_child_source): sort the child-library sources the same as the library by default. 2006-11-11 Jonathan Matthew * daapsharing/rb-daap-src.c: (rb_daap_src_open): Don't try to report the size if we didn't get one. Fixes server-side decoded playback from mt-daapd (but seeking doesn't work), from #350276. 2006-11-11 Jonathan Matthew * daapsharing/rb-daap-sharing.c: (rb_daap_sharing_default_share_name), (create_share), (share_name_changed_cb): * daapsharing/rb-daap-sharing.h: * plugins/daap/rb-daap-plugin.c: (update_config_widget), (make_config_widget), (impl_create_configure_dialog): Update DAAP preferences widget when displaying it, and populate the share name entry with the default if there's nothing there already. Fixes #340279. 2006-11-11 James Livingston patch by: Adam Zimmerman * plugins/magnatune/magnatune/MagnatuneSource.py: * plugins/magnatune/magnatune/__init__.py: Add toolbar actions for Magnatune stuff. From #345783 2006-11-10 James Livingston * plugins/generic-player/rb-nokia770-source.c: (hal_udi_is_nokia770): * plugins/generic-player/rb-psp-source.c: (hal_udi_is_psp): * sources/rb-ipod-source.c: (hal_udi_is_ipod): don't shutdown the HAL context if it wasn't inited. Fixes #372824 2006-11-09 Jonathan Matthew * plugins/daap/rb-daap-plugin.h: Add the file I missed last time. 2006-11-09 Jonathan Matthew * CVS-SURGERY: * backends/gstreamer/Makefile.am: * backends/gstreamer/rb-player-gst.c: * configure.ac: * daapsharing/Makefile.am: * daapsharing/rb-daap-connection.c: (rb_daap_connection_disconnect): * daapsharing/rb-daap-src.c: (rb_daap_src_set_plugin), (rb_daap_src_open): * daapsharing/rb-daap-src.h: * data/glade/Makefile.am: * data/rhythmbox.schemas: * data/ui/Makefile.am: * plugins/Makefile.am: * plugins/daap/.cvsignore: * plugins/daap/Makefile.am: * plugins/daap/daap.rb-plugin.desktop.in: * plugins/daap/rb-daap-plugin.c: * shell/Makefile.am: * shell/rb-shell-preferences.c: (rb_shell_preferences_new): * shell/rb-shell.c: (construct_sources), (rb_shell_quit): * sources/Makefile.am: * sources/rb-daap-source.c: (rb_daap_source_class_init), (rb_daap_source_new), (connection_auth_cb), (connection_connecting_cb), (connection_disconnected_cb), (release_connection), (rb_daap_source_disconnect), (rb_daap_source_show_popup): * sources/rb-daap-source.h: Mangle DAAP into a plugin. This disables DAAP with GStreamer 0.8. Fixes #336150. 2006-11-09 James Livingston * rhythmdb/rhythmdb.c: take the ref before calling the delete implementation, not after. From #372851. 2006-11-09 James Livingston patch by: Gilles Dartiguelongue * plugins/Makefile.am: * plugins/audiocd/Makefile.am: fix build when linking with --as-needed fixes #371178. 2006-11-09 James Livingston * plugins/audiocd/rb-audiocd-plugin.c: (impl_activate): use g_signal_connect_object not g_signal_object, which stops it beign called after the plugin is disposed. 2006-11-09 James Livingston * plugins/audioscrobbler/rb-audioscrobbler.c: (rb_audioscrobbler_finalize):don't attempt to use the SoupSession after we're finalised. Should fix #370513 2006-11-08 James Livingston patch by: Jerry Tan * data/glade/song-info.glade: set more a11y properties on the label-for/labelled-by info. Fixes #368179. 2006-11-08 Jonathan Matthew * widgets/rb-entry-view.c: (rb_entry_view_class_init), (rb_entry_view_dispose), (rb_entry_view_finalize): Unref objects and remove idle handlers in dispose rather than finalize. Should fix #364783. 2006-11-08 Jonathan Matthew * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed): Rename 'ctxt' to 'parser' to avoid confusion, fix the check for xmlCreateMemoryParserCtxt returning NULL that was previously checking the wrong variable. Really fixes #336842. 2006-11-07 Jonathan Matthew * plugins/iradio/Makefile.am: Actually install the UI file. 2006-11-07 Jonathan Matthew * plugins/generic-player/rb-generic-player-source.c: (rb_generic_player_source_constructor), (rb_generic_player_source_dispose), (rb_generic_player_source_load_playlists): Don't crash if the source is destroyed before it gets a chance to load playlists. 2006-11-06 James Livingston * rhythmdb/rhythmdb-monitor.c: (rhythmdb_monitor_uri_path): * rhythmdb/rhythmdb.c: some leak fixes 2006-11-06 James Livingston * bindings/python/rb.override: change the right function in the last commit. 2006-11-06 James Livingston * bindings/python/rb.override: unwrap the python string instead of wrapping it. Oops. 2006-11-06 Jonathan Matthew * tests/test-utils.c: (test_rhythmdb_setup): Fix build break, #371106. 2006-11-04 Jonathan Matthew * tests/Makefile.am: * tests/test-rhythmdb-property-model.c: (_get_property_count), (START_TEST), (rhythmdb_property_model_suite), (main): * tests/test-rhythmdb-query-model.c: (START_TEST), (rhythmdb_query_model_suite), (main): * tests/test-rhythmdb.c: (START_TEST), (rhythmdb_suite): * tests/test-utils.c: (start_test_case), (end_step), (end_test_case), (mark_signal), (set_waiting_signal), (wait_for_signal), (test_rhythmdb_setup), (test_rhythmdb_shutdown), (set_entry_string), (set_entry_ulong), (set_entry_hidden): * tests/test-utils.h: Split up rhythmdb tests, add tests for RhythmDBPropertyModel. 2006-11-04 James Livingston * lib/rb-glade-helpers.c: (rb_glade_xml_new): don't use rb_file() is we were passed a absolute path, e.g. from the plugin file find function. 2006-11-04 Jonathan Matthew patch somewhat by: Oskari Saarenmaa * remote/dbus/rb-client.c: (main): * shell/rb-shell.c: (rb_shell_hidden_notify), (rb_shell_do_notify): * shell/rb-shell.h: * shell/rb-shell.xml: Add dbus method to request a notification for the playing song, and an argument to rhythmbox-client to use it. Fixes #359593. 2006-11-04 Jonathan Matthew * remote/dbus/rb-print-playing.py: Revert changes I accidentally committed a while ago. 2006-11-03 James Livingston * data/glade/song-info.glade: make more labels selectable, from #368641 2006-11-03 James Livingston * shell/rb-shell-clipboard.c: (get_focussed_widget), (rb_shell_clipboard_cmd_select_all), (rb_shell_clipboard_cmd_select_none): make Select All select text in the focussed widget if it's a text entry. Fixes #364590 2006-11-03 James Livingston * widgets/bacon-volume.c: (bacon_volume_button_get_type), (bacon_volume_button_init), (bacon_volume_button_dispose), (bacon_volume_button_new), (bacon_volume_button_realize), (bacon_volume_button_press), (bacon_volume_key_release), (bacon_volume_release_grab), (cb_dock_key_release), (bacon_volume_scale_get_type), (bacon_volume_scale_value_changed), (bacon_volume_theme_changed), (bacon_volume_load_icons): * widgets/bacon-volume.h: update bacon-volume-widget from cvs. Fixes #369491 2006-10-31 James Livingston * configure.ac: remove spaces around '=' where they shouldn't be, fixes building when you have libgpod 0.3.x 2006-10-31 James Livingston patch by: Nguyen Thai Ngoc Duy * rhythmdb/rhythmdb.c: don't remove stale db entries when the grace period is 0. Fixes #351425 2006-10-31 James Livingston patch by: Luca Ferretti * plugins/artdisplay/artdisplay.rb-plugin.desktop.in: * plugins/audiocd/audiocd.rb-plugin.desktop.in: * plugins/cd-recorder/cd-recorder.rb-plugin.desktop.in: * plugins/generic-player/generic-player.rb-plugin.desktop.in: * plugins/ipod/ipod.rb-plugin.desktop.in: * plugins/iradio/iradio.rb-plugin.desktop.in: * plugins/lyrics/lyrics.rb-plugin.desktop.in: * plugins/sample-python/sample-python.rb-plugin.desktop.in: * plugins/sample/sample.rb-plugin.desktop.in: Improve the descriptions of the plugins. Fixes #365326 2006-10-31 James Livingston * plugins/audiocd/Makefile.am: fix build on Solaris, fixes #367989. 2006-10-31 James Livingston * data/glade/song-info.glade: set the mnemonic target for the labels in the details tab. Fixes #368179. 2006-10-30 Jonathan Matthew * configure.ac: When complaining about GStreamer being too old, use the right variable name for the version we want. 2006-10-30 Jonathan Matthew * shell/rb-shell.h: * shell/rb-tray-icon.c: (rb_tray_icon_notify): * shell/rb-tray-icon.h: * bindings/python/rb.defs: * shell/rb-shell.c: (rb_shell_playing_entry_changed_cb), (rb_shell_notify_playing_entry), (rb_shell_hidden_notify): * sources/rb-playlist-source-recorder.c: (burn_cd): * sources/rb-podcast-source.c: (rb_podcast_source_start_download_cb), (rb_podcast_source_finish_download_cb), (rb_podcast_source_feed_updates_avaliable_cb): Change the various notification functions to take a parameter specifying whether the notification was explicitly requested by the user. Add a function to display a notification for an entry, including streaming song metadata. * shell/rb-shell-player.c: (rb_shell_player_stop): Emit playing-song-changed and playing-uri-changed when stopping playback. * sources/Makefile.am: * sources/rb-streaming-source.c: * sources/rb-streaming-source.h: Add a base class for streaming sources, handling streaming song metadata and buffering messages, emitting notifications on song changes, and updating play count statistics when playback stops. * plugins/audioscrobbler/Makefile.am: * plugins/audioscrobbler/rb-lastfm-source.c: (rb_lastfm_source_class_init), (rb_lastfm_source_finalize), (rb_lastfm_source_constructor), (impl_get_status), (rb_lastfm_message_cb), (rb_lastfm_source_new_station), (rb_lastfm_source_title_from_uri), (rb_lastfm_source_entry_added_cb), (rb_lastfm_source_metadata_cb), (rb_lastfm_song_changed_cb), (impl_activate): * plugins/audioscrobbler/rb-lastfm-source.h: * plugins/iradio/Makefile.am: * sources/rb-iradio-source.c: (rb_iradio_source_class_init), (rb_iradio_source_constructor), (impl_get_status), (info_available_cb), (playing_source_changed_cb): * sources/rb-iradio-source.h: Use the new streaming source base class for iradio and last.fm sources. Fixes #364094. 2006-10-30 James Livingston * podcast/rb-podcast-manager.c: (rb_podcast_manager_db_entry_deleted_cb): when deleting a feed, cancel any downloads from it before deleting the post entry. Fixes #366567. 2006-10-30 James Livingston * shell/rb-shell-clipboard.c: remove the Control-T shortcut from move-to-trash, since there have been reports of people accidently deleting tracks and it probably isn't a common enough operation to be worth a shortcut. 2006-10-30 Jonathan Matthew * backends/gstreamer/rb-player-gst.c: * configure.ac: * daapsharing/rb-daap-src.c: (rb_daap_src_init): Fix GStreamer 0.8 build (and some typos in configure.ac). 2006-10-30 Jonathan Matthew patch largely by: Edgar Luna * sources/rb-source.c: (rb_source_class_init), (rb_source_set_property), (rb_source_get_property): Add a property to RBSource for plugin-created sources to have a pointer to the RBPlugin object that created them. * plugins/audiocd/Makefile.am: * plugins/audiocd/multiple-album.glade: * plugins/audiocd/rb-audiocd-plugin.c: (create_source_cb): * sources/Makefile.am: * sources/rb-audiocd-source.c: (rb_audiocd_source_new): * sources/rb-audiocd-source.h: If musicbrainz returns multiple albums, present the user with a choice between them. Fixes #333215. * configure.ac: * plugins/Makefile.am: Remove unused old audio CD stuff, only build audiocd plugin if we have libnautilus-burn. Fixes #367440. 2006-10-30 James Livingston patch by: Brian McKenna * plugins/pythonconsole/pythonconsole.py: allow the python colsole to handle blocks. Fixes #366696. 2006-10-30 James Livingston * rhythmdb/rhythmdb.c: make the DB busy when processing files. From #349148 2006-10-30 Jonathan Matthew * shell/rb-shell-player.c: (rb_shell_player_class_init), (rb_shell_player_sync_with_source), (rb_shell_player_get_playing_time_string), (tick_cb): * widgets/rb-header.c: (rb_header_sync_time), (slider_moved_callback), (rb_header_update_elapsed), (rb_header_elapsed_changed_cb): Revert dbus interface breakage introduced in the fix for #365908. 2006-10-29 Jonathan Matthew patch by: Luca Ferretti * sources/rb-podcast-source.c: (rb_podcast_source_constructor): Remove the access keys from the podcast-specific column headers. Fixes #360640 again. 2006-10-29 Jonathan Matthew patch by: James Livingston * sources/rb-browser-source.c: (rb_browser_source_constructor): Only register the search actions once. From #346801. 2006-10-29 Jonathan Matthew * shell/rb-shell-player.c: (rb_shell_player_error): When handling an error, try playing the next stream URL if we have one, rather than stopping playback. From #358140. 2006-10-28 Jonathan Matthew * shell/rb-shell.c: (handle_playlist_entry_cb): Don't crash if we can't guess a source for a URI in the playlist. Fixes #366261. 2006-10-28 Jonathan Matthew * shell/rb-shell-player.c: (rb_shell_player_class_init), (rb_shell_player_sync_with_source), (rb_shell_player_get_playing_time_string), (rb_shell_player_seek), (tick_cb): * widgets/rb-header.c: (rb_header_sync_time), (rb_header_elapsed_changed_cb): Treat elapsed time as signed, since rb_player_get_time returns a signed value. When actually using the value, mostly treat negative values as 0. Fixes #365908. 2006-10-27 James Livingston patch by: Alex Lancaster * metadata/sj-metadata-musicbrainz.c: (lookup_cd): handle MusicBrainz returning 0 for the year/month/day. Fixes #364837. 2006-10-27 James Livingston patch by: Luca Ferretti * widgets/rb-entry-view.c: (rb_entry_view_append_column): remove the access keys from the entry view columns headers - they cause keybindings conflicts, headaches for translators and the HIG says they are bad. Fixes #360640. 2006-10-27 James Livingston patch by: Luca Ferretti * widgets/rb-entry-view.c: (rb_entry_view_append_column): remove the access keys from the entry view columns headers - they cause keybindings conflicts, headaches for translators and the HIG says they are bad. Fixes #360640. 2006-10-27 James Livingston * rhythmdb/rhythmdb-private.h: * rhythmdb/rhythmdb.c: (rhythmdb_class_init): fix some glib 2.8 build issues 2006-10-27 James Livingston * plugins/artdisplay/Makefile.am: * plugins/audioscrobbler/Makefile.am: * plugins/iradio/Makefile.am: fix make clean 2006-10-26 Jonathan Matthew * rhythmdb/rhythmdb-query.c: (rhythmdb_read_encoded_property): Fall back to strtod() if g_ascii_strtod() doesn't work. * rhythmdb/rhythmdb-tree.c: (save_entry_double): Write floating point values using g_ascii_dtostr() to avoid problems with locale-specific representations. From #353205. 2006-10-25 James Livingston * plugins/artdisplay/Makefile.am: * plugins/audioscrobbler/Makefile.am: * plugins/iradio/Makefile.am: fix "make distcheck" 2006-10-25 Jonathan Matthew patch by: Brian Cameron * plugins/audiocd/Makefile.am: Link audiocd plugin with libnautilus-burn as required to get it to work on Solaris. Fixes #363288. 2006-10-25 Jonathan Matthew patch by: Gabor Kelemen * plugins/audioscrobbler/audioscrobbler.rb-plugin.desktop.in: Clarify that we don't submit actual songs to last.fm, just information on what you're listening to. Fixes #364014. 2006-10-24 Bastien Nocera * widgets/bacon-volume.c: (bacon_volume_button_get_type), (bacon_volume_button_class_init), (bacon_volume_button_new), (bacon_volume_key_release), (cb_button_timeout), (cb_button_press), (cb_dock_button_press), (cb_dock_key_release), (cb_dock_key_press), (bacon_volume_scale_value_changed): update from libbacon, to get better accessibility support (Closes: #364637) 2006-10-24 James Livingston patch by: Alex Lancaster * configure.ac: fix some typos and leftovers from disabled->enabled changes. Fixes #364217 2006-10-23 William Jon McCann * shell/rb-source-header.c (rb_source_header_init): Don't require source header cells to be homogeneous. Patch from #359188 2006-10-23 Jonathan Matthew * backends/gstreamer/rb-player-gst.c: (rb_player_gst_bus_cb): Pause the pipeline while buffering. Fixes #358290. 2006-10-23 Bastien Nocera * configure.ac: update required libgpod version to avoid crashes when starting up with an iPod connect (Closes: #352972) * sources/rb-ipod-source.c: (rb_ipod_get_itunesdb_path), (hal_udi_is_ipod): remove outdated ifdefs 2006-10-22 Jonathan Matthew * plugins/Makefile.am: * plugins/power-manager/rb-power-manager-plugin.c: Don't try to build the power-manager plugin with dbus < 0.35. 2006-10-22 James Livingston patch by: Ed Catmur * plugins/artdisplay/Makefile.am: * plugins/artdisplay/artdisplay/__init__.py: * plugins/artdisplay/rhythmbox-missing-artwork.svg: display some placeholder art when none is available, to avoid having the widget pop in and out of existance. 2006-10-20 Jonathan Matthew * plugins/lyrics/lyrics.py: Set the lyrics window transient for the main window so it can actually be seen in party mode. Fixes #362981. 2006-10-17 Jonathan Matthew * shell/rb-shell-clipboard.c: (rb_shell_clipboard_sync): * sources/rb-source.c: (rb_source_class_init), (rb_source_can_show_properties), (rb_source_song_properties): * sources/rb-source.h: Only enable the 'properties' item in the 'music' menu if the selected source implements the show_properties method. Fixes #356485. 2006-10-16 Jonathan Matthew * shell/rb-shell-player.c: (rb_shell_player_property_row_activated_cb): Take the entry to play from the play order, rather than grabbing the first entry in the query model. Fixes #362042. 2006-10-16 James Livingston * shell/main.c: (main): save custom menu accelerators before exiting. Fixed #362300 2006-10-13 Ryan P Skadberg * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed): I HATE adding this patch, but I'm sick of hitting Yes once and hour. Working around brain-dead podcasts. 2006-10-13 Jonathan Matthew * plugins/lyrics/lyrics.py: Disconnect the create-song-info handler when deactivated. Fixes #361882. 2006-10-11 Jonathan Matthew * widgets/rb-search-entry.c: (rb_search_entry_changed_cb): Reset the style when clearing the search text. Fixes #361295. 2006-10-11 Jonathan Matthew * rhythmdb/rhythmdb-query-model.c: (rhythmdb_query_model_entry_changed_cb): Don't emit entry-prop-changed for hidden signals from chained query models, as the model will also propagate the parent model's entry-prop-changed signal. Fixes mysteriously unreported crashes. 2006-10-10 Jonathan Matthew * sources/rb-ipod-source.c: (generate_ipod_filename): * lib/rb-cut-and-paste-code.c: (rb_make_valid_utf8): * lib/rb-cut-and-paste-code.h: Move eel_make_valid_utf8 to lib/, make the replacement character a parameter. * rhythmdb/rhythmdb.c: (make_access_failed_error), (rhythmdb_execute_multi_stat_info_cb), (rhythmdb_execute_stat_info_cb), (rhythmdb_execute_load): When constructing an error message that includes a URI, make sure the URI is valid utf-8. Fixes #353588. 2006-10-10 Jonathan Matthew * player/rb-recorder-gst.c: (rb_recorder_construct), (acb_wave_time): Add an extra audioconvert element to allow endianness conversion on big-endian machines, and fix a few endianness issues in the .wav reading code. Fixes #355611. 2006-10-09 James Livingston patch by: Alex Lancaster * widgets/eggtrayicon.c: (egg_tray_icon_notify): work around a libnotify 0.3.0 bug, as it doesn't handle escaped messages properly. Fixes #357553. 2006-10-09 James Livingston patch by: Luca Ferretti * data/glade/song-info-multiple.glade: * data/glade/song-info.glade: Fix a few HIG issues. 2006-10-08 Jonathan Matthew * plugins/audioscrobbler/rb-lastfm-source.c: (rb_lastfm_source_class_init): Return TRUE from impl_try_playlist so playback starts in a separate thread. 2006-10-07 Jonathan Matthew * shell/main.c: (main): Call bind_textdomain_codeset ("gstreamer-0.10", "UTF-8") so we get UTF-8 GStreamer messages. Fixes #357973. 2006-10-07 Jonathan Matthew * shell/rb-shell.c: (rb_shell_constructor): Remove a line that accidentally slipped in from some other universe. 2006-10-07 Jonathan Matthew * plugins/audiocd/rb-audiocd-plugin.c: (_delete_cb): Don't remove sources from the hash table while iterating it on shutdown. Fixes #359583. 2006-10-07 James Livingston patch from Alex Lancaster * shell/rb-shell.c: change the keybinding for "Plugins" to not conflict with others. Fixes #355904 2006-10-07 Jonathan Matthew * rhythmdb/rhythmdb-query-model.c: (rhythmdb_query_model_dispose), (rhythmdb_query_model_chain), (rhythmdb_query_model_entry_changed_cb), (rhythmdb_query_model_base_entry_prop_changed), (rhythmdb_query_model_base_entry_removed): For chained models, propagate the parent model's entry-prop-changed signal rather than emitting one from the db entry-changed handler. This ensures that when the change filters the entry out of the parent model, property models attached to the child model get the entry change signal before the post-entry-delete signal, so they can decrement the refcount for the right property value. Fixes #359083. 2006-10-07 Jonathan Matthew * plugins/audioscrobbler/Makefile.am: define NULL 2006-10-07 James Livingston * plugins/audioscrobbler/rb-lastfm-gst-src.c: (rb_lastfm_src_uri_get_protocols), (rb_lastfm_src_uri_set_uri): * plugins/audioscrobbler/rb-lastfm-source.c: (rb_lastfm_source_get_playback_uri): work around GStreamer not support hypens in URI schemes. 2006-10-06 William Jon McCann * plugins/iradio/Makefile.am: * plugins/audioscrobbler/Makefile.am: * plugins/cd-recorder/Makefile.am: Don't clean all plugin_DATA. Fixes #360210 2006-10-06 James Livingston patch from Matt N * backends/gstreamer/rb-player-gst.c: (emit_signal_idle), (rb_player_gst_bus_cb): * backends/rb-player.c: (rb_player_interface_init), (_rb_player_emit_tick), (_rb_player_emit_event): * backends/rb-player.h: let the backend emit named "events", for things that the core shouldn't know about. * rhythmdb/rhythmdb.h: * widgets/rb-header.c: (get_extra_metadata), (rb_header_sync): add support for streams containing album metadata. * plugins/audioscrobbler/Makefile.am: * plugins/audioscrobbler/audioscrobbler.rb-plugin.desktop.in: * plugins/audioscrobbler/rb-audioscrobbler-plugin.c: (impl_activate), (impl_deactivate), (impl_create_configure_dialog): * plugins/audioscrobbler/rb-lastfm-gst-src.c: * plugins/audioscrobbler/rb-lastfm-source.c: * plugins/audioscrobbler/rb-lastfm-source.h: Add support for playback of last.fm streams. From #313049. 2006-10-06 James Livingston * plugins/magnatune/magnatune/Makefile.am: add a file I missed committing. Oops. 2006-10-06 James Livingston patch by: Adam Zimmerman * configure.ac: * data/rhythmbox.schemas: * plugins/Makefile.am: * plugins/magnatune/Makefile.am: * plugins/magnatune/magnatune-loading.glade: * plugins/magnatune/magnatune-prefs.glade: * plugins/magnatune/magnatune-purchase.glade: * plugins/magnatune/magnatune.rb-plugin.desktop.in: * plugins/magnatune/magnatune/BuyAlbumHandler.py: * plugins/magnatune/magnatune/MagnatuneSource.py: * plugins/magnatune/magnatune/TrackListHandler.py: * plugins/magnatune/magnatune/__init__.py: * plugins/magnatune/magnatune_circle_small.png: * plugins/magnatune/magnatune_logo_color_small.png: * plugins/magnatune/magnatune_logo_color_tiny.png: add a plugin to play and download tracks from the MagnaTune online music store. From #345783. 2006-10-06 Jonathan Matthew * lib/rb-proxy-config.c: (rb_proxy_config_init), (rb_proxy_config_dispose), (rb_proxy_config_finalize), (check_auto_proxy_config), (get_proxy_config): Don't crash when eel_gconf_get_string returns NULL. Fixes #359974. 2006-10-04 James Livingston patch by: Fryderyk Dziarmagowski * plugins/audiocd/Makefile.am: fix the plugin when linking with --as-needed. Fixes #358730 2006-10-03 Jonathan Matthew patch by: William Jon McCann * sources/rb-iradio-source.c: (playing_source_changed_cb): Fix some stupidity I introduced that caused crashes on shutdown. Fixes #359181. 2006-10-02 William Jon McCann * plugins/audiocd/Makefile.am: * plugins/audiocd/rb-audiocd-plugin.c: (create_source_cb): * plugins/iradio/.cvsignore: * plugins/iradio/Makefile.am: * plugins/iradio/rb-iradio-plugin.c: (impl_activate), (impl_deactivate): * plugins/power-manager/.cvsignore: Install missing iradio ui file. Don't leak ui filename. Fix iradio install dir. Fix audiocd install dir. Remove unused code from audio cd plugin. Fixes #359170 2006-10-03 Jonathan Matthew * sources/rb-ipod-source.c: (impl_move_to_trash): Uncomment rhythmdb_entry_move_to_trash call that I accidentally commented out while fixing bug 355235. Oops. 2006-10-03 James Livingston * lib/rb-util.c: (rb_string_split_words), (rb_search_fold): downgrade non-unicode warnings to debug statements, since they can occur with slightly broken files. * plugins/iradio/rb-iradio-plugin.c: (impl_deactivate): * shell/rb-shell.c: (rb_shell_source_deleted_cb): fix a crasher if the iradio plugin is disabled and re-enabled. 2006-10-02 Jonathan Matthew * rhythmdb/rhythmdb.c: (rhythmdb_register_core_entry_types), (rhythmdb_entry_podcast_post_get_type): * rhythmdb/rhythmdb.h: * tests/bench-rhythmdb-load.c: (main): Add definitions for some common extra-metadata fields, remove iradio entry type definition, add the concept of entry type categories, define categories for the core entry types. Categories are used to decide if an entry can be copied to a removable device, if it should be reported to audioscrobbler, etc. * shell/Makefile.am: * shell/rb-shell-player.c: (rb_shell_player_class_init), (rb_shell_player_constructor), (rb_shell_player_init), (rb_shell_player_get_property), (open_location_thread), (rb_shell_player_open_location), (rb_shell_player_sync_with_source), (rb_shell_player_set_playing_source_internal), (tick_cb): * shell/rb-shell.c: (construct_widgets), (construct_sources), (rb_shell_player_elapsed_changed_cb): Remove iradio-specific code, use extra metadata fields for streaming title and artist name. * data/ui/rhythmbox-ui.xml: Add a placeholder for 'new ...' menu items. * Makefile.am: * sources/Makefile.am: * configure.ac: * data/rhythmbox.schemas: * plugins/Makefile.am: * plugins/iradio/Makefile.am: * plugins/iradio/iradio-ui.xml: * plugins/iradio/iradio.rb-plugin.desktop.in: * plugins/iradio/rb-iradio-plugin.c: (rb_iradio_plugin_init), (rb_iradio_plugin_finalize), (impl_activate), (impl_deactivate), (rb_iradio_plugin_class_init): iradio plugin, enabled and hidden by default. * plugins/audioscrobbler/rb-audioscrobbler.c: (rb_audioscrobbler_song_changed_cb): * sources/rb-audiocd-source.c: (rb_audiocd_source_new): * sources/rb-daap-source.c: (rb_daap_source_new): * sources/rb-ipod-source.c: (rb_ipod_source_new), (impl_paste): Define entry type categories, and use them where appropriate. * sources/rb-iradio-source.c: (rb_iradio_source_dispose), (rb_iradio_source_constructor), (rb_iradio_source_new), (impl_get_status), (impl_want_uri), (buffering_cb), (check_entry_type), (streaming_title_request_cb), (streaming_artist_request_cb), (extra_metadata_gather_cb), (info_available_cb), (playing_entry_changed_cb), (playing_source_changed_cb): Move streaming metadata and buffering handling here from rb-shell-player.c. Emit extra-metadata notify signals when the streaming title or artist changes, and handle request and gather signals for those. * widgets/rb-header.c: (rb_header_class_init), (rb_header_set_property), (rb_header_get_property), (rb_header_new), (append_and_free), (rb_header_sync): * widgets/rb-header.h: Rework to use streaming artist and title extra-metadata. streaming-artist overrides entry artist, and streaming-title means entry title is a stream name, displayed in brackets. * doc/reference/Makefile.am: * doc/reference/rhythmbox.types: Remove iradio stuff from gtk-doc build. Fixed #347097. 2006-10-02 Jonathan Matthew patch mostly by: Ed Catmur * bindings/python/rhythmdb.defs: * lib/rb-marshal.list: * rhythmdb/rhythmdb.c: (rhythmdb_class_init), (rhythmdb_emit_entry_deleted), (rhythmdb_entry_extra_metadata_accumulator), (rhythmdb_entry_request_extra_metadata), (rhythmdb_emit_entry_extra_metadata_notify), (unset_and_free_g_value), (rhythmdb_entry_gather_metadata): * rhythmdb/rhythmdb.h: Add signals for dealing with transient metadata outside the set stored in RhythmDBEntry: - entry_extra_metadata_request returns a value for the requested metadata field - entry_extra_metadata_notify notifies observers of a change to an extra metadata field - entry_extra_metadata_gather returns the values of all extra metadata fields * shell/rb-shell-player.c: (rb_shell_player_set_db_internal), (rb_shell_player_extra_metadata_cb): Sync the display on extra metadata changes and emit dbus signals when we can marshal the value. * shell/rb-shell.c: (rb_shell_get_song_properties): Implement rb_shell_song_get_properties using rhythmdb_entry_gather_metadata. * plugins/rb-python-module.c: (pyg_value_g_value_as_pyobject), (pyg_value_g_value_from_pyobject), (rb_python_module_init_python): * configure.ac: Add GValue marshaller for python (until bug 351072 is fixed) From #345592. 2006-10-02 Jonathan Matthew * configure.ac: * data/rhythmbox.schemas: * plugins/Makefile.am: * plugins/power-manager/Makefile.am: * plugins/power-manager/power-manager.rb-plugin.desktop.in: * plugins/power-manager/rb-power-manager-plugin.c: (rb_gpm_plugin_class_init), (rb_gpm_plugin_init), (ignore_error), (inhibit_cb), (inhibit), (uninhibit_cb), (uninhibit), (playing_changed_cb), (impl_activate), (impl_deactivate): gnome-power-manager integration: inhibit suspend while playing. Fixes #344979. 2006-10-02 James Livingston update by: Aloriel and Alex Lancaster * help/C/rhythmbox.xml: fix some mispellings and grammer. Fixes #353143, #353146 and #353147.