============ Version 0.9.8 2007-02-21 James Livingston * plugins/ipod/rb-ipod-plugin.c: (rb_ipod_plugin_cmd_rename): * shell/rb-removable-media-manager.c: * shell/rb-shell.c: (rb_shell_class_init), (rb_shell_get_property): don't crash when we try to change the name of the ipod. Fixes #410338 2007-02-21 James Livingston * data/rhythmbox.schemas: turn on the art plugin by default * NEWS: release name 2007-02-21 James Livingston * NEWS: update NEWS * configure.ac: bump version for release * metadata/rb-metadata-gst.c: (rb_add_id3_tagger), (rb_metadata_init): remove id3tag support, since it break files. Fixes #401782 2007-02-21 James Livingston patch by: Ed Catmur * bindings/python/rhythmdb.override: make rhythmdb.emit_entry_extra_metadata_notify support passing None. Fixes #410105 2007-02-21 James Livingston * backends/gstreamer/rb-encoder-gst.c: (encoder_match_mime): ref the caps we get back from the mime->caps table, because we unref them later. Fixes some crashes. 2007-02-20 James Livingston * bindings/python/Makefile.am: * bindings/python/rb.defs: * bindings/python/rb.override: bind RB{Static,Auto,}PlaylistSource 2007-02-20 James Livingston * plugins/jamendo/jamendo/JamendoSource.py: * plugins/magnatune/magnatune/MagnatuneSource.py: don't use the synchronous callback, as it runs in the GnomeVFS worker thread and we don't have threading enabled. Should fix #397460 2007-02-20 James Livingston * backends/gstreamer/rb-encoder-gst.c: (rb_encoder_gst_class_init): change audio/aac to audio/mpeg, which I forgot to do when I copy and pasted the code. 2007-02-19 Jonathan Matthew * plugins/visualizer/rb-fake-visualizer.c: (rb_fake_vis_reset), (rb_fake_vis_chain): Make the fake visualizer push a frame as soon as possible so prerolling finishes. Fixes #409170. 2007-02-18 James Livingston * backends/gstreamer/rb-encoder-gst.c: (encoder_match_mime): add missing not symbol, and debug output. Should fix #405149 2007-02-18 James Livingston * plugins/audiocd/rb-audiocd-source.c: (rb_audiocd_source_new): don't emit a critical warning when the below happens. 2007-02-18 James Livingston * plugins/audiocd/rb-audiocd-source.c: (rb_audiocd_source_new): lower assertion to warning, since it can fail if the CD was removed in between the original check and this one. Fixes #408913 2007-02-17 James Livingston * backends/gstreamer/rb-encoder-gst.c: (rb_encoder_gst_class_init), (encoder_match_mime), (get_profile_from_mime_type), (get_profile_from_mime_types), (transcode_track), (rb_encoder_gst_get_preferred_mimetype): * backends/gstreamer/rb-encoder-gst.h: use caps intersection rather than just the mimetype to find out whether a pipeline will emit what is needed. This makes it correctly match things like AAC. From #405149 2007-02-17 James Livingston * widgets/rb-header.c: (rb_header_init), (rb_header_set_property), (rb_header_sync), (rb_header_set_show_timeline), (rb_header_sync_time), (rb_header_update_elapsed): display playing time of radio stations in the main UI as well as in the tooltip. Fixes #402650 2007-02-17 James Livingston * shell/rb-tray-icon.c: (rb_tray_icon_set_tooltip_icon), (rb_tray_icon_notify), (rb_tray_icon_construct_tooltip), (rb_tray_icon_create_blank_image): use a blank pixbuf so the art in the tray icon doesn't shuffle around patch by Ed Catmur * widgets/eggtrayicon.c: (egg_tray_icon_notify): update the notification bubble, rather than creating a new one. Stops some flickering. From #407246 2007-02-15 James Livingston * sources/rb-auto-playlist-source.c: (search_action_changed): * sources/rb-browser-source.c: (search_action_changed): * sources/rb-static-playlist-source.c: (search_action_changed): don't crash if the search action changes when a different type of source is selected. Fixes #407987 2007-02-14 James Livingston * plugins/iradio/rb-station-properties-dialog.c: (rb_station_properties_dialog_sync_entries): don't crash if the user tries to rename/add a station which is the same as another. From #353119 2007-02-14 James Livingston * shell/rb-shell.c: (rb_shell_db_metadata_art_cb): don't crash if we get art for an entry after we've stop playing anything. Fixes #405537 2007-02-13 Jonathan Matthew * sources/rb-streaming-source.c: (set_streaming_metadata): Don't do anything if the value isn't changing. Fixes #407221. 2007-02-12 Jonathan Matthew * plugins/daap/rb-daap-src.c: (rb_daap_src_open): Don't leak the parsed HTTP response headers. 2007-02-13 James Livingston * rhythmdb/rhythmdb-query.c: (rhythmdb_query_append_params): add new function which appends a single criteria to the query. Mostly for use by bindings. * rhythmdb/rhythmdb.h: The above, and replace GPtrArray with RhythmDBQuery in the header. * bindings/python/rhythmdb.defs: * bindings/python/rhythmdb.override: bind the new function, and fix up some other bits. 2007-02-12 Jonathan Matthew * plugins/ipod/rb-ipod-source.c: * sources/rb-removable-media-source.c: (rb_removable_media_source_class_init): Fix build breaks with track transfer/ipod writing disabled. Probably fixes #406126? 2007-02-12 Irene Huang * widgets/rb-entry-view.c: (rb_entry_view_set_sorting_type): Do not have to use g_return_if_fail (sorttype != NULL), since sorttype can be null, and the statement that follows also implement the checking using if (!sorttype || ... Fixes #406980 2007-02-12 Irene Huang * plugins/audiocd/sj-metadata.c: (sj_metadata_set_cdrom): syntax error, there should be no else after "{". * widgets/libsexy/sexy-tooltip.c: Add a dummy int for _SexyTooltipPriv empty structs breaks build on Solaris. 2007-02-12 James Livingston * plugins/rb-python-module.c: (run_gc), (rb_python_shutdown): be nicer when poking the garbage colletor, so as to not block the UI. 2007-02-10 Alex Lancaster * Makefile.am (art_DATA): Build fix: remove magnatune_circle_small.png, it has moved to plugins/magnatune/ 2007-02-09 William Jon McCann * configure.ac: Use more warnings when .svn directory is present so I break the build less. 2007-02-09 William Jon McCann * plugins/generic-player/rb-generic-player-source.c: (rb_generic_player_source_constructor), (rb_generic_player_source_get_device_info), (rb_generic_player_source_new), (rb_generic_player_is_volume_player), (sanitize_path), (get_hal_udi_for_player): Initialize the device info in the constructor instead of new(). Fix a small leak. Fixes part of #405775 2007-02-09 James Livingston * plugins/ipod/rb-ipod-source.c: (rb_ipod_source_set_ipod_name): don't crash if the MPL is null. Fixes #406052 2007-02-09 Jonathan Matthew * backends/gstreamer/rb-encoder-gst.c: (rb_encoder_gst_encode): * sources/rb-removable-media-source.c: Fix build breaks 2007-02-08 William Jon McCann * backends/gstreamer/rb-encoder-gst.c: (encoder_match_mime), (profile_bin_find_encoder), (get_profile_from_mime_type), (rb_encoder_gst_encode): Use rb_safe_strcmp. Add hack to translate application/x-id3 to audio/mpeg. * lib/rb-util.[ch]: (rb_safe_strcmp): * sources/rb-removable-media-source.c: (impl_paste), (rb_removable_media_source_build_dest_uri): Fix the construction of the file extension. Fixes rest of #405198 2007-02-08 James Livingston * sources/rb-removable-media-source.c: (impl_paste): don't put NULL on the list of mime-types, just pass NULL for the list. Fixes some/all of #405198 2007-02-07 William Jon McCann * plugins/generic-player/rb-nokia770-source.c: (hal_udi_is_nokia770): Add N800 support. Fixes #405218 2007-02-07 Jonathan Matthew * shell/rb-play-order-shuffle.c: (rb_shuffle_play_order_dispose), (rb_shuffle_play_order_get_next), (rb_shuffle_play_order_go_next), (rb_shuffle_play_order_get_previous), (rb_shuffle_play_order_go_previous), (rb_shuffle_sync_history_with_query_model), (rb_shuffle_playing_entry_changed): If the playing entry is not in the query model, track it separately rather than inserting it into the history, so it doesn't cause assertion failures when we check that the query model and the history are in sync. Fixes #381561. 2007-02-06 James Livingston patch by: Gustavo Carneiro * plugins/rb-python-module.c: (rb_python_module_load): use Py_ssize_t rather than int, so we don't cause memory corruption with python 2.5 on 64 bit systems. Fixes #404932 2007-02-06 James Livingston * plugins/rb-plugin.c: (rb_plugin_find_file): turn relative paths into absolute ones, so that rb_glade_new doesn't get confused when running uninstalled. * shell/rb-shell-player.c: (rb_shell_player_get_property): don't crash if _idle_unblock_signal_cb() tried to update the playing status after we've disposed of the backend player object. 2007-02-06 James Livingston * shell/rb-tray-icon.c: (rb_tray_icon_set_tooltip_icon), (rb_tray_icon_construct_tooltip): make it not display a placeholder icon when there is no art. 2007-02-06 James Livingston * plugins/generic-player/rb-generic-player-source.c: (impl_build_dest_uri): use the right variable, so file extensions get set correctly. From #76528 2007-02-06 James Livingston * plugins/rb-python-module.c: (rb_python_module_load): log when we can't find any rb.Plugin-derived classes. 2007-02-06 James Livingston * podcast/rb-podcast-parse.c: (rb_podcast_parser_start_element): don't crash if we get an itunes:image tag with no attributes. Fixes #404850 2007-02-06 Jonathan Matthew * shell/rb-shell-player.c: (rb_shell_player_set_source_internal): Connect and disconnect signal handlers on all the property views, not just the first one. Fixes #404753. 2007-02-05 James Livingston * po/POTFILES.in: add the mmkeys plugin * po/POTFILES.skip: add data/rhythmbox.desktop.in, to stop intltool complaining * configure.ac: bump to 0.9.7.90 for a pre-release 2007-02-05 James Livingston patch mostly by: Irene Huang * plugins/audiocd/sj-metadata.c: (sj_metadata_set_cdrom): make audio cds detection work properly on Solaris. Fixes #402384 2007-02-04 Jonathan Matthew * plugins/audioscrobbler/rb-audioscrobbler.c: (idle_unref_cb), (rb_audioscrobbler_do_handshake_cb), (rb_audioscrobbler_submit_queue_cb): Don't unref the audioscrobbler object in soup callbacks. When this unref destroys the object, it will in turn destroy the soup session, which will then cause a crash when we return from the callback. Instead, do the unref in an idle handler. Fixes #403097. 2007-02-04 James Livingston * backends/gstreamer/rb-encoder-gst.c: (rb_encoder_init), (encoder_match_mime), (get_profile_from_mime_type), (get_profile_from_mime_types), (transcode_track), (rb_encoder_gst_encode), (rb_encoder_gst_get_preferred_mimetype): * backends/rb-encoder.c: (rb_encoder_encode), (rb_encoder_get_preferred_mimetype): * backends/rb-encoder.h: * lib/rb-util.c: (rb_str_in_strv): * lib/rb-util.h: add a new function for finding out what the preferred mimetype from a list is, and the extension to use for those files. * sources/rb-removable-media-source.c: (rb_removable_media_source_class_init), (impl_delete_thyself), (_track_added_cb), (impl_paste), (get_db_for_source), (impl_receive_drag), (rb_removable_media_source_build_dest_uri), (rb_removable_media_source_get_mime_types), (rb_removable_media_source_track_added): * sources/rb-removable-media-source.h: * bindings/python/rb.defs: add common code for transcoding to removable media, so that subclasses can use it. * plugins/generic-player/rb-generic-player-source.h: * plugins/generic-player/rb-generic-player-source.c: (rb_generic_player_source_class_init), (rb_generic_player_source_get_device_info), (rb_generic_player_source_finalize), (rb_generic_player_source_new), (impl_can_paste), (sanitize_path), (impl_get_mime_types), (impl_build_dest_uri): use the above to support transcoding to "generic" audio players. From #76528. * plugins/ipod/rb-ipod-plugin.c: * plugins/ipod/rb-ipod-source.c: (rb_ipod_source_class_init), (rb_ipod_source_new), (create_ipod_song_from_entry), (impl_build_dest_uri), (impl_track_added), (ipod_get_filename_for_uri), (impl_get_mime_types): improve iPod support use the new features. * shell/rb-removable-media-manager.c: (rb_removable_media_manager_class_init), (rb_removable_media_manager_set_property), (rb_removable_media_manager_get_property), (rb_removable_media_manager_new), (completed_cb), (do_transfer), (rb_removable_media_manager_queue_transfer): * shell/rb-removable-media-manager.h: * shell/rb-shell.c: (construct_sources): miscellaneous fixes and improvements related to the above. 2007-02-01 Alex Lancaster * plugins/mmkeys/Makefile.am (INCLUDES): Build fix for building in separate directory. 2007-02-02 Jonathan Matthew * configure.ac: * data/rhythmbox.schemas: * plugins/Makefile.am: * plugins/mmkeys/Makefile.am: * plugins/mmkeys/mmkeys.rb-plugin.desktop.in: * plugins/mmkeys/rb-mmkeys-plugin.c: (rb_mmkeys_plugin_init), (media_player_key_pressed), (window_focus_cb), (grab_mmkey), (ungrab_mmkey), (filter_mmkeys), (mmkeys_grab), (impl_activate), (impl_deactivate), (rb_mmkeys_plugin_class_init): New plugin for media player key shortcuts. Handles both dbus signals from gnome-settings-daemon and the older XGrabKey method (bug #398184). * shell/rb-shell-player.c: (rb_shell_player_init): Remove XGrabKey key shortcut handling code. 2007-02-01 James Livingston * shell/rb-statusbar.c: (rb_statusbar_sync_status): make the status bar disappear when it's not in use. Fixes #402378 2007-02-01 Jonathan Matthew patch by: Guillaume Desmottes * configure.ac: * data/rhythmbox.schemas: * plugins/Makefile.am: * plugins/jamendo/Makefile.am: * plugins/jamendo/jamendo-loading.glade: * plugins/jamendo/jamendo-prefs.glade: * plugins/jamendo/jamendo.rb-plugin.desktop.in: * plugins/jamendo/jamendo/JamendoConfigureDialog.py: * plugins/jamendo/jamendo/JamendoSaxHandler.py: * plugins/jamendo/jamendo/JamendoSource.py: * plugins/jamendo/jamendo/Makefile.am: * plugins/jamendo/jamendo/__init__.py: Jamendo plugin (bug #397010). * plugins/daap/Makefile.am: Remove some random junk that automake was complaining about 2007-01-31 James Livingston patch by: Ed Catmur * data/ui/rhythmbox-ui.xml: Add "remove" to the context menu of Import Error entries. Fixes #399439 2007-01-31 James Livingston patch by: Gabor Kelemen * plugins/magnatune/magnatune/MagnatuneSource.py: Allow translators to swap the artist and album names around. Fixes #401857 2007-01-31 James Livingston patch by: Adam Zimmerman * plugins/magnatune/magnatune/MagnatuneSource.py: * plugins/magnatune/magnatune/TrackListHandler.py: * plugins/magnatune/magnatune/__init__.py: allow the purchase of physical CDs from Magnatune. Fixes #390848 2007-01-31 James Livingston patch by: Ed Catmur * plugins/artdisplay/artdisplay/__init__.py: keep the art widget square so it doesn't resize vertically. Fixes #346679. 2007-01-31 James Livingston patch by: Ed Catmur * lib/rb-file-helpers.c: (rb_uri_is_hidden): * lib/rb-file-helpers.h: * rhythmdb/rhythmdb-monitor.c: (rhythmdb_directory_change_cb), (rhythmdb_monitor_uri_path): fix some codepaths to ignore hidden files. Fixes #395644. 2007-01-30 Jonathan Matthew patch partly by: William Jon McCann * lib/rb-debug.c: (rb_debug_init_match), (rb_debug_get_args): * lib/rb-debug.h: Add a function to return a copy of the debug command line args. * metadata/rb-metadata-dbus-client.c: (rb_metadata_class_init), (rb_metadata_finalize), (start_metadata_service): * metadata/rb-metadata-dbus-service.c: (main): Pass debug args through to the metadata helper. Fixes #383845. 2007-01-29 James Livingston * shell/rb-shell.c: (rb_shell_transfer_progress_cb): * sources/rb-auto-playlist-source.c: (impl_save_contents_to_xml): more memory leak fixes 2007-01-29 James Livingston * plugins/audiocd/rb-audiocd-source.c: * plugins/audioscrobbler/rb-audioscrobbler-plugin.c: (impl_activate): * plugins/rb-plugin-manager.c: (rb_plugin_manager_init): * rhythmdb/rhythmdb-property-model.c: (rhythmdb_property_model_finalize): * rhythmdb/rhythmdb-query-model.c: (rhythmdb_query_model_finalize), (rhythmdb_query_model_entry_changed_cb): * shell/rb-shell-player.c: (rb_shell_player_set_source_internal): * shell/rb-tray-icon.c: (rb_tray_icon_set_tooltip_icon): * widgets/rb-library-browser.c: (update_browser_views_visibility): fix assorted memory leaks 2007-01-27 Jonathan Matthew * plugins/daap/rb-daap-src.c: (rb_daap_src_open): Fix call to soup_headers_parse_response to work with libsoup 2.2.99. 2007-01-26 Alex Lancaster * sources/rb-library-source.c (impl_want_uri): Handle 'ssh://' as songs. 2007-01-25 James Livingston * data/ui/rhythmbox-ui.xml: add "save to playlist" to the playlist context menu. 2007-01-24 Jonathan Matthew * shell/rb-shell.c: (rb_shell_player_window_title_changed_cb): Update tooltip contents when the window title changes. Slightly odd, but this keeps the tooltip up to date with streaming song changes. 2007-01-23 William Jon McCann * data/rhythmbox.schemas: Add missing podcast schemas. Fixes #398884 2007-01-23 Alex Lancaster * plugins/artdisplay/artdisplay/PodcastCoverArtSearch.py: Add missing file from #380746. 2007-01-23 James Livingston patch by: Martin Szulecki * plugins/artdisplay/artdisplay/CoverArtDatabase.py: * plugins/artdisplay/artdisplay/Makefile.am: * podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed): * podcast/rb-podcast-parse.c: (rb_podcast_parser_start_element): emit art-uri metadata for podcasts. Fixes #380746 2007-01-23 James Livingston patch by: Gilles Dartiguelongue * plugins/daap/Makefile.am: fix builds with --as-needed. Fixes #380411 2007-01-21 James Livingston * rhythmdb/rhythmdb.c: warn instead of crashing if the entry is NULL. Fixes #397973. 2007-01-21 James Livingston patch by: Ed Catmur * plugins/artdisplay/artdisplay/__init__.py: add 'rb:coverArt-uri' metadata type. Fixes #398231 2007-01-21 James Livingston patch by: Ed Catmur * plugins/artdisplay/artdisplay/CoverArtDatabase.py: * plugins/artdisplay/artdisplay/LocalCoverArtSearch.py: Allow the DB to save art into the file's directory. Fixes #398102 2007-01-21 James Livingston patch by: Ed Catmur * plugins/artdisplay/artdisplay/CoverArtDatabase.py: * plugins/artdisplay/artdisplay/__init__.py: decouple the art widget from the DB search. Fixes #398093 2007-01-20 James Livingston * widgets/rb-entry-view.c: (rb_entry_view_set_sorting_type): emit a critical warning rather than exploding if we're passed NULL. 2007-01-18 Jonathan Matthew * sources/rb-browser-source.h: * sources/rb-browser-source.c: (rb_browser_source_class_init), (rb_browser_source_init), (rb_browser_source_constructor), (paned_size_allocate_cb), (rb_browser_source_state_prefs_sync), (default_pack_paned): Change get_paned_key to return an allocated string so python sources can implement it, and add a pack_paned method for packing the GtkPaned containing the browser and the entry view into the source UI. The default implementation just packs it into a box and adds that to the source. * plugins/daap/rb-daap-source.c: (rb_daap_source_get_paned_key): * sources/rb-library-source.c: (impl_get_paned_key): Update for changes to get_paned_key. * bindings/python/rb.defs: * bindings/python/rb.override: Add python bindings for RBSource.get_browser_key, RBBrowserSource.get_paned_key, and RBBrowserSource.pack_paned. * plugins/magnatune/magnatune/MagnatuneSource.py: Implement get_browser_key and get_paned_key, pack the browser pane widget into a box that we hide while showing the loading screen. Fixes #390834. * data/rhythmbox.schemas: Show the browser in the magnatune source by default. Fixes #392071. 2007-01-17 Jonathan Matthew * podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed): If the feed doesn't have a title, use the URL instead. Fixes #394205. 2007-01-17 Jonathan Matthew Patch by: Ed Catmur * shell/rb-tray-icon.c: (rb_tray_icon_update_tooltip_visibility), (rb_tray_icon_sticky_cb), (rb_tray_icon_enter_notify_event_cb), (rb_tray_icon_leave_notify_event_cb), (rb_tray_icon_construct_tooltip): Only show the tooltip after a short delay, as with normal gtk+ tooltips. From #345592. 2007-01-15 Alex Lancaster Patch by Greg Ward * README.daap: Fix minor typos. 2007-01-13 Jonathan Matthew patch mostly by: Adam Zimmerman * plugins/magnatune/magnatune/MagnatuneSource.py: * plugins/magnatune/magnatune/TrackListHandler.py: * plugins/magnatune/magnatune/__init__.py: Complain if no library location is set when trying to purchase an album from magnatune (fixes #390153). Use the right format strings for the status text to actually show the number of songs (fixes #392930). Pulse the status bar while loading the song info (fixes #392040). Use the song's 'year' property from the magnatune catalog if it exists, otherwise fall back to 'launchdate'; clean up some other stuff. (fixes #388425). 2007-01-13 Jonathan Matthew * rhythmdb/rhythmdb-query-model.h: Increase query result chunk size from 32 to 1024. 2007-01-13 James Livingston patch by: John Daiker * shell/rb-shell.c: change "show all" to "show all tracks". Fixes #332627 2007-01-12 Jonathan Matthew patch by: William Jon McCann * widgets/rb-header.c: (rb_header_init): Left-align the song info label. Fixes #393974. 2007-01-11 Alex Lancaster Patch by: Ed Catmur * shell/rb-shell.c (rb_shell_construct_notify_titles): * shell/rb-tray-icon.c (TRAY_ICON_DEFAULT_TOOLTIP): Use identical markup in tooltips and tray icon to that displayed in actual player slider. From #345592. 2007-01-11 Jonathan Matthew patch by: Ed Catmur * shell/rb-tray-icon.c: (sexy_tooltip_position_to_widget), (rb_tray_icon_update_tooltip_visibility): Add a less broken implementation of sexy_tooltip_position_to_widget that works for tray icons, and update the tooltip position each time it gets displayed. From #345592, fixes #395273. 2007-01-11 Jonathan Matthew * plugins/cd-recorder/rb-cd-recorder-plugin.c: (source_burn), (cmd_burn_source): * plugins/cd-recorder/rb-playlist-source-recorder.c: * plugins/cd-recorder/rb-playlist-source-recorder.h: Use rb_plugin_find_file to locate plugin-specific files. Accidentally dropped from the source tree surgery changes. 2007-01-11 Jonathan Matthew * shell/main.c: (main): Initialise GThread before doing anything else. 2007-01-11 Jonathan Matthew patch by: William Jon McCann * plugins/power-manager/rb-power-manager-plugin.c: (impl_deactivate): Don't crash if we couldn't create the dbus proxy object or connect the signal handler. Fixes #395088. 2007-01-07 Alex Lancaster * plugins/daap/Makefile.am (INCLUDES): Build fix for building in separate build directories. 2007-01-07 Jonathan Matthew Moved lots of files around. Now everything should be in the directory it's built in and all plugin-specific files should be installed into the plugin directory. * plugins/audioscrobbler/rb-audioscrobbler-plugin.c: (impl_create_configure_dialog): * plugins/audioscrobbler/rb-audioscrobbler.c: (rb_audioscrobbler_class_init), (rb_audioscrobbler_dispose), (rb_audioscrobbler_finalize), (rb_audioscrobbler_get_config_widget): * plugins/audioscrobbler/rb-audioscrobbler.h: Use rb_plugin_find_file where needed. * widgets/rb-uri-dialog.c: (rb_uri_dialog_class_init), (rb_uri_dialog_init), (rb_uri_dialog_finalize), (rb_uri_dialog_new), (rb_uri_dialog_response_cb), (rb_uri_dialog_text_changed): * widgets/rb-uri-dialog.h: New common 'enter a URI' dialog, used by iradio and podcast code. * plugins/iradio/rb-iradio-plugin.c: (impl_activate): * plugins/iradio/rb-iradio-source.c: (rb_iradio_source_constructor), (rb_iradio_source_new), (impl_song_properties), (rb_iradio_source_first_time_changed), (new_station_location_added), (rb_iradio_source_cmd_new_station): * plugins/iradio/rb-iradio-source.h: * plugins/iradio/rb-station-properties-dialog.c: (rb_station_properties_dialog_class_init), (rb_station_properties_dialog_init), (rb_station_properties_dialog_constructor), (rb_station_properties_dialog_set_property), (rb_station_properties_dialog_get_property), (rb_station_properties_dialog_new): * plugins/iradio/rb-station-properties-dialog.h: Use the common URI dialog, use rb_plugin_find_file where needed. * sources/rb-podcast-source.c: (rb_podcast_source_location_added_cb), (rb_podcast_source_cmd_new_podcast): Use the common URI dialog. 2007-01-07 James Livingston patch by: Ed Catmur * widgets/libsexy/Makefile.am: * widgets/libsexy/sexy-tooltip.h: * widgets/libsexy/sexy-tooltip.c: add a copy of sexy-tooltip from Libsexy. * bindings/python/rhythmdb.override: * plugins/artdisplay/artdisplay/__init__.py: * shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor), (rb_shell_db_metadata_art_cb), (rb_shell_playing_entry_changed_cb), (rb_shell_player_elapsed_changed_cb), (rb_shell_update_tray_tooltip_elapsed), (markup_escape), (rb_shell_construct_notify_titles), (rb_shell_notify_playing_entry), (rb_shell_hidden_notify), (rb_shell_hidden_notify_markup): * shell/rb-shell.h: * shell/rb-tray-icon.c: (rb_tray_icon_init), (rb_tray_icon_finalize), (rb_tray_icon_update_tooltip_visibility), (rb_tray_icon_unhide_cb), (rb_tray_icon_set_tooltip_primary_markup), (rb_tray_icon_set_tooltip_icon), (rb_tray_icon_set_tooltip_secondary_markup), (rb_tray_icon_notify), (rb_tray_icon_enter_notify_event_cb), (rb_tray_icon_leave_notify_event_cb), (rb_tray_icon_tooltip_size_allocate_cb), (rb_tray_icon_construct_tooltip), (rb_tray_icon_unsuppress_cb), (rb_tray_icon_suppress_tooltips): * shell/rb-tray-icon.h: * widgets/eggtrayicon.c: (egg_tray_icon_send_message), (egg_tray_icon_notify): * widgets/eggtrayicon.h: Display cover art in the song-change notification and the tray icon toolip. Fixes #345592 2007-01-02 James Livingston * corelib/: add the directory that I missed in the last commit. Oops. 2007-01-02 James Livingston patch by: Jonathan Matthew * Makefile.am: * configure.ac: * plugins/audiocd/Makefile.am: * plugins/audioscrobbler/Makefile.am: * plugins/cd-recorder/Makefile.am: * plugins/ipod/Makefile.am: * plugins/iradio/Makefile.am: * shell/Makefile.am: move stuff into a shared library that is used by both the main binary and plugins. Reduces the size of the binaries and hopefully fixes dynamic linking issues on Solaris. From #372863. 2007-01-02 James Livingston patch by: Loïc Minier * data/rhythmbox.schemas: fix a typo in the schema. Fixes #387527 2007-01-02 Jonathan Matthew * podcast/rb-podcast-manager.c: (rb_podcast_manager_dispose), (rb_podcast_manager_download_entry), (rb_podcast_manager_next_file), (rb_podcast_manager_abort_download), (end_job): Remove the next_file idle handler on shutdown. Should fix #390884. 2006-12-30 Jonathan Matthew * sources/rb-streaming-source.c: (rb_streaming_source_class_init): Don't set impl_can_browse here. 2006-12-30 Jonathan Matthew patch by: Oliver Lemke * plugins/artdisplay/Makefile.am: Install rhythmbox-missing-artwork.svg properly. Really fixes #387413. 2006-12-29 Jonathan Matthew * plugins/audioscrobbler/rb-lastfm-source.c: (rb_lastfm_source_title_from_uri): Handle personal (/user/$user/personal) and user tag (/usertags/$user/tag) lastfm:// URIs. The rest of #390494. 2006-12-29 Jonathan Matthew * plugins/audioscrobbler/rb-lastfm-source.c: (rb_lastfm_source_title_from_uri): Don't free the drag data string if we don't understand the URI. From #390494. 2006-12-29 Jonathan Matthew * plugins/artdisplay/Makefile.am: Install rhythmbox-missing-artwork.svg. Fixes #387413. 2006-12-27 Jonathan Matthew * widgets/rb-song-info.c: (rb_song_info_dispose): Fix a few mistakes that caused criticals when closing a song info window. 2006-12-23 Jonathan Matthew * shell/rb-history.c: (_history_remove_swapped), (rb_history_set_playing), (rb_history_remove_entry), (rb_history_remove_entry_internal), (rb_history_clear): Don't remove entries from the sequence while iterating it. 2006-12-23 Jonathan Matthew * daapsharing/rb-daap-src.c: (rb_daap_src_finalize): * iradio/rb-station-properties-dialog.c: (rb_station_properties_dialog_class_init), (rb_station_properties_dialog_dispose), (rb_station_properties_dialog_finalize): * podcast/rb-podcast-properties-dialog.c: (rb_podcast_properties_dialog_class_init), (rb_podcast_properties_dialog_dispose), (rb_podcast_properties_dialog_finalize): * rhythmdb/rhythmdb-monitor.c: (rhythmdb_dispose_monitoring), (rhythmdb_finalize_monitoring): * rhythmdb/rhythmdb-private.h: * rhythmdb/rhythmdb-property-model.c: (rhythmdb_property_model_class_init), (rhythmdb_property_model_dispose), (rhythmdb_property_model_finalize): * rhythmdb/rhythmdb-query-model.c: (rhythmdb_query_model_dispose), (rhythmdb_query_model_finalize): * rhythmdb/rhythmdb.c: (rhythmdb_class_init): * shell/rb-play-order-shuffle.c: (rb_shuffle_play_order_class_init), (rb_shuffle_play_order_dispose), (rb_shuffle_play_order_finalize): * shell/rb-play-order.c: (rb_play_order_class_init), (rb_play_order_dispose), (rb_play_order_finalize): * shell/rb-shell-clipboard.c: (rb_shell_clipboard_class_init), (rb_shell_clipboard_dispose), (rb_shell_clipboard_finalize): * shell/rb-shell-player.c: (rb_shell_player_class_init), (rb_shell_player_dispose), (rb_shell_player_finalize): * shell/rb-tray-icon.c: (rb_tray_icon_class_init), (rb_tray_icon_constructor), (rb_tray_icon_dispose), (rb_tray_icon_finalize): * sources/rb-auto-playlist-source.c: (rb_auto_playlist_source_class_init), (rb_auto_playlist_source_dispose), (rb_auto_playlist_source_finalize): * sources/rb-browser-source.c: (rb_browser_source_dispose), (rb_browser_source_finalize): * sources/rb-iradio-source.c: (rb_iradio_source_class_init), (rb_iradio_source_dispose): * sources/rb-library-source.c: (rb_library_source_dispose), (rb_library_source_finalize): * sources/rb-play-queue-source.c: (rb_play_queue_source_dispose), (rb_play_queue_source_finalize), (rb_play_queue_source_class_init): * sources/rb-playlist-source-recorder.c: (rb_playlist_source_recorder_class_init), (rb_playlist_source_recorder_dispose), (rb_playlist_source_recorder_finalize): * sources/rb-playlist-source.c: (rb_playlist_source_dispose): * sources/rb-podcast-source.c: (rb_podcast_source_dispose), (rb_podcast_source_finalize): * sources/rb-static-playlist-source.c: (rb_static_playlist_source_dispose), (rb_static_playlist_source_finalize): * widgets/rb-song-info.c: (rb_song_info_class_init), (rb_song_info_dispose), (rb_song_info_finalize): Unref objects and remove main loop sources in dispose rather than finalize throughout (except RBShell, which scares me). In all likelihood, fixes #362484. 2006-12-23 James Livingston * plugins/audioscrobbler/rb-lastfm-source.c: fix a typo. Closes #380933 2006-12-23 James Livingston * plugins/visualizer/Makefile.am: fix make distcheck * configure.ac: * po/LINGUAS: use the new intltool po/LINGUA thing. Fixes #339292 2006-12-22 Jonathan Matthew * backends/gstreamer/rb-player-gst.c: (rb_player_gst_class_init), (rb_player_gst_get_property), (rb_player_gst_construct): Add a 'playbin' property allowing plugins to access the playbin element, and allow them to set the audio and video sinks. * shell/rb-shell.c: (rb_shell_get_box_for_ui_location), (rb_shell_add_widget), (rb_shell_remove_widget), (rb_shell_notebook_set_page), (rb_shell_ui_location_get_type): * shell/rb-shell.h: Extend rb_shell_add_widget to allow the addition of source notebook pages. * shell/rb-shell-clipboard.c: (rb_shell_clipboard_sync): * shell/rb-source-header.c: (rb_source_header_set_source_internal), (rb_source_header_set_source): Handle the possibility of no source being selected if a notebook page added with rb_shell_add_widget is active. Hide the source header widget when no source is selected. * configure.ac: * data/rhythmbox.schemas: * plugins/Makefile.am: * plugins/visualizer/Makefile.am: * plugins/visualizer/rb-fake-visualizer.c: * plugins/visualizer/rb-vis-widget.c: * plugins/visualizer/rb-vis-widget.h: * plugins/visualizer/rb-visualizer-plugin.c: * plugins/visualizer/rb-visualizer.xml: * plugins/visualizer/visualizer-controls.glade: * plugins/visualizer/visualizer-ui.xml: * plugins/visualizer/visualizer.rb-plugin.desktop.in: Add visualiser plugin. Fixes #76519. 2006-12-21 James Livingston * lib/eggsequence.c: * lib/eggsequence.h: * rhythmdb/gsequence.c: * rhythmdb/gsequence.h: * lib/Makefile.am: * rhythmdb/Makefile.am: replace GSequence with EggSequence. Closes #374242 * rhythmdb/rhythmdb-property-model.c: (rhythmdb_property_model_init), (_prop_model_entry_cleanup), (rhythmdb_property_model_finalize), (rhythmdb_property_model_insert), (rhythmdb_property_model_delete_prop), (rhythmdb_property_model_iter_from_string), (rhythmdb_property_model_get_iter), (rhythmdb_property_model_get_path), (rhythmdb_property_model_get_value), (rhythmdb_property_model_iter_next), (rhythmdb_property_model_iter_n_children), (rhythmdb_property_model_iter_nth_child): * rhythmdb/rhythmdb-query-model.c: (rhythmdb_query_model_init), (rhythmdb_query_model_finalize), (_copy_contents_foreach_cb), (rhythmdb_query_model_copy_contents), (rhythmdb_query_model_insert_into_main_list), (rhythmdb_query_model_insert_into_limited_list), (rhythmdb_query_model_remove_from_main_list), (rhythmdb_query_model_remove_from_limited_list), (rhythmdb_query_model_update_limited_entries), (rhythmdb_query_model_emit_reorder), (rhythmdb_query_model_do_reorder), (rhythmdb_query_model_do_insert), (rhythmdb_query_model_filter_out_entry), (rhythmdb_query_model_move_entry), (rhythmdb_query_model_entry_to_iter), (rhythmdb_query_model_drag_data_delete), (rhythmdb_query_model_drag_data_get), (rhythmdb_query_model_drag_data_received), (rhythmdb_query_model_get_iter), (rhythmdb_query_model_get_path), (rhythmdb_query_model_get_value), (rhythmdb_query_model_iter_next), (rhythmdb_query_model_iter_children), (rhythmdb_query_model_iter_n_children), (rhythmdb_query_model_iter_nth_child), (apply_updated_entry_sequence), (rhythmdb_query_model_set_sort_order), (rhythmdb_query_model_child_index_to_base_index), (rhythmdb_query_model_get_entry_index), (_base_rows_reordered_foreach_cb), (rhythmdb_query_model_base_rows_reordered), (_reapply_query_foreach_cb), (rhythmdb_query_model_reapply_query): * shell/rb-history.c: (rb_history_init), (rb_history_finalize), (rb_history_length), (rb_history_first), (rb_history_previous), (rb_history_current), (rb_history_next), (rb_history_last), (rb_history_go_first), (rb_history_go_previous), (rb_history_go_next), (rb_history_go_last), (_history_remove_swapped), (rb_history_set_playing), (rb_history_append), (rb_history_get_current_index), (rb_history_insert_at_index), (rb_history_limit_size), (rb_history_remove_entry), (rb_history_delete_link), (rb_history_clear), (rb_history_dump): * shell/rb-history.h: update for the above. 2006-12-19 William Jon McCann * lib/rb-cut-and-paste-code.c: Remove trailing whitespace. * rhythmdb/rhythmdb.c: * sources/rb-podcast-source.c: (rb_podcast_source_post_date_cell_data_func): * widgets/rb-entry-view.c: (rb_entry_view_get_time_date_column_sample): Use a friendlier time/date format. Fixes #324534