============ Version 0.9.8

2007-02-21  James Livingston  <doclivingston@gmail.com>

	* 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  <doclivingston@gmail.com>

	* data/rhythmbox.schemas: turn on the art plugin by default
	* NEWS: release name

2007-02-21  James Livingston  <doclivingston@gmail.com>

	* 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  <doclivingston@gmail.com>

	patch by: Ed Catmur  <ed@catmur.co.uk>

	* bindings/python/rhythmdb.override: make
	rhythmdb.emit_entry_extra_metadata_notify support passing None. Fixes
	#410105

2007-02-21  James Livingston  <doclivingston@gmail.com>

	* 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  <doclivingston@gmail.com>

	* bindings/python/Makefile.am:
	* bindings/python/rb.defs:
	* bindings/python/rb.override: bind RB{Static,Auto,}PlaylistSource

2007-02-20  James Livingston  <doclivingston@gmail.com>

	* 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  <doclivingston@gmail.com>

	* 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  <jonathan@kaolin.wh9.net>

	* 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  <doclivingston@gmail.com>

	* backends/gstreamer/rb-encoder-gst.c: (encoder_match_mime): add
	missing not symbol, and debug output. Should fix #405149

2007-02-18  James Livingston  <doclivingston@gmail.com>

	* 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  <doclivingston@gmail.com>

	* 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  <doclivingston@gmail.com>

	* 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  <doclivingston@gmail.com>

	* 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  <doclivingston@gmail.com>

	* 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  <ed@catmur.co.uk>

	* 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  <doclivingston@gmail.com>

	* 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  <doclivingston@gmail.com>

	* 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  <doclivingston@gmail.com>

	* 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  <jonathan@kaolin.wh9.net>

	* 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  <jonathan@kaolin.wh9.net>

	* plugins/daap/rb-daap-src.c: (rb_daap_src_open):
	Don't leak the parsed HTTP response headers.

2007-02-13  James Livingston  <doclivingston@gmail.com>

	* 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  <jonathan@kaolin.wh9.net>

	* 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  <irene.huang@sun.com>

	* 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  <irene.huang@sun.com>

	* 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  <doclivingston@gmail.com>

	* 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  <alexl@users.sourceforge.net>

	* Makefile.am (art_DATA): Build fix: remove
	magnatune_circle_small.png, it has moved to plugins/magnatune/

2007-02-09  William Jon McCann  <mccann@jhu.edu>

	* configure.ac:  Use more warnings when .svn
	directory is present so I break the build less.

2007-02-09  William Jon McCann  <mccann@jhu.edu>

	* 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  <doclivingston@gmail.com>

	* 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  <jonathan@kaolin.wh9.net>

	* 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  <mccann@jhu.edu>

	* 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  <doclivingston@gmail.com>

	* 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  <mccann@jhu.edu>

	* plugins/generic-player/rb-nokia770-source.c:
	(hal_udi_is_nokia770):
	Add N800 support.  Fixes #405218

2007-02-07  Jonathan Matthew  <jonathan@kaolin.wh9.net>

	* 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  <doclivingston@gmail.com>

	patch by: Gustavo Carneiro  <gjc@inescporto.pt>

	* 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  <doclivingston@gmail.com>

	* 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  <doclivingston@gmail.com>

	* 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  <doclivingston@gmail.com>

	* 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  <doclivingston@gmail.com>

	* 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  <doclivingston@gmail.com>

	* 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  <jonathan@kaolin.wh9.net>

	* 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  <doclivingston@gmail.com>

	* 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  <doclivingston@gmail.com>

	patch mostly  by: Irene Huang  <Irene.Huang@sun.com>

	* plugins/audiocd/sj-metadata.c: (sj_metadata_set_cdrom): make audio
	cds detection work properly on Solaris. Fixes #402384

2007-02-04  Jonathan Matthew  <jonathan@kaolin.wh9.net>

	* 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  <doclivingston@gmail.com>

	* 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  <alexl@users.sourceforge.net>

	* plugins/mmkeys/Makefile.am (INCLUDES): Build fix for building in
	separate directory.

2007-02-02  Jonathan Matthew  <jonathan@kaolin.wh9.net>

	* 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  <doclivingston@gmail.com>

	* 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  <jonathan@kaolin.wh9.net>

	patch by:  Guillaume Desmottes  <cass@skynet.be>

	* 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  <doclivingston@gmail.com>

	patch by: Ed Catmur  <ed@catmur.co.uk>

	* data/ui/rhythmbox-ui.xml: Add "remove" to the context menu of Import
	Error entries. Fixes #399439

2007-01-31  James Livingston  <doclivingston@gmail.com>

	patch by: Gabor Kelemen  <kelemeng@gnome.hu>

	* plugins/magnatune/magnatune/MagnatuneSource.py: Allow translators to
	swap the artist and album names around. Fixes #401857

2007-01-31  James Livingston  <doclivingston@gmail.com>

	patch by: Adam Zimmerman  <adam_zimmerman@sfu.ca>

	* 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  <doclivingston@gmail.com>

	patch by: Ed Catmur  <ed@catmur.co.uk>

	* plugins/artdisplay/artdisplay/__init__.py: keep the art widget
	square so it doesn't resize vertically. Fixes #346679.

2007-01-31  James Livingston  <doclivingston@gmail.com>

	patch by: Ed Catmur  <ed@catmur.co.uk>

	* 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  <jonathan@kaolin.wh9.net>

	patch partly by:  William Jon McCann  <mccann@jhu.edu>

	* 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  <doclivingston@gmail.com>

	* 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  <doclivingston@gmail.com>

	* 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  <jonathan@kaolin.wh9.net>

	* 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  <alexl@users.sourceforge.net>

	* sources/rb-library-source.c (impl_want_uri): Handle 'ssh://' as
	songs.

2007-01-25  James Livingston  <doclivingston@gmail.com>

	* data/ui/rhythmbox-ui.xml: add "save to playlist" to the playlist
	context menu.

2007-01-24  Jonathan Matthew  <jonathan@kaolin.wh9.net>

	* 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  <mccann@jhu.edu>

	* data/rhythmbox.schemas: Add missing podcast schemas.
	Fixes #398884

2007-01-23  Alex Lancaster  <alexl@users.sourceforge.net>

	* plugins/artdisplay/artdisplay/PodcastCoverArtSearch.py:
	Add missing file from #380746.

2007-01-23  James Livingston  <doclivingston@gmail.com>

	patch by: Martin Szulecki  <gnomebugzilla@sukimashita.com>

	* 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  <doclivingston@gmail.com>

	patch by: Gilles Dartiguelongue  <dartigug@esiee.fr>

	* plugins/daap/Makefile.am: fix builds with --as-needed. Fixes #380411

2007-01-21  James Livingston  <doclivingston@gmail.com>

	* rhythmdb/rhythmdb.c: warn instead of crashing if the entry is NULL.
	Fixes #397973.

2007-01-21  James Livingston  <doclivingston@gmail.com>

	patch by: Ed Catmur  <ed@catmur.co.uk>

	* plugins/artdisplay/artdisplay/__init__.py: add 'rb:coverArt-uri'
	metadata type. Fixes #398231

2007-01-21  James Livingston  <doclivingston@gmail.com>

	patch by: Ed Catmur  <ed@catmur.co.uk>

	* 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  <doclivingston@gmail.com>

	patch by: Ed Catmur  <ed@catmur.co.uk>

	* 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  <doclivingston@gmail.com>

	* 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  <jonathan@kaolin.wh9.net>

	* 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  <jonathan@kaolin.wh9.net>

	* 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  <jonathan@kaolin.wh9.net>

	Patch by: Ed Catmur  <ed@catmur.co.uk>

	* 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  <alexl@users.sourceforge.net>

	Patch by Greg Ward
	
	* README.daap: Fix minor typos.

2007-01-13  Jonathan Matthew  <jonathan@kaolin.wh9.net>

	patch mostly by: Adam Zimmerman <adam_zimmerman@sfu.ca>

	* 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  <jonathan@kaolin.wh9.net>

	* rhythmdb/rhythmdb-query-model.h:
	Increase query result chunk size from 32 to 1024.

2007-01-13  James Livingston  <doclivingston@gmail.com>

	patch by: John Daiker  <daikerjohn@gmail.com>

	* shell/rb-shell.c: change "show all" to "show all tracks".
	Fixes #332627

2007-01-12  Jonathan Matthew  <jonathan@kaolin.wh9.net>

	patch by:  William Jon McCann  <mccann@jhu.edu>

	* widgets/rb-header.c: (rb_header_init):
	Left-align the song info label.  Fixes #393974.

2007-01-11  Alex Lancaster  <alexl@users.sourceforge.net>

	Patch by: Ed Catmur  <ed@catmur.co.uk>

	* 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  <jonathan@kaolin.wh9.net>

	patch by: Ed Catmur  <ed@catmur.co.uk>

	* 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  <jonathan@kaolin.wh9.net>

	* 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  <jonathan@kaolin.wh9.net>

	* shell/main.c: (main):  Initialise GThread before doing anything
	else.

2007-01-11  Jonathan Matthew  <jonathan@kaolin.wh9.net>

	patch by:  William Jon McCann  <mccann@jhu.edu>

	* 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  <alexl@users.sourceforge.net>

	* plugins/daap/Makefile.am (INCLUDES): Build fix for building in
	separate build directories.

2007-01-07  Jonathan Matthew  <jonathan@kaolin.wh9.net>

	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  <doclivingston@gmail.com>

	patch by: Ed Catmur  <ed@catmur.co.uk>

	* 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  <doclivingston@gmail.com>

	* corelib/: add the directory that I missed in the last commit. Oops.

2007-01-02  James Livingston  <doclivingston@gmail.com>

	patch by: Jonathan Matthew  <jonathan@kaolin.wh9.net>

	* 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  <doclivingston@gmail.com>

	patch by: Loïc Minier  <lool+gnome@via.ecp.fr>

	* data/rhythmbox.schemas: fix a typo in the schema. Fixes #387527

2007-01-02  Jonathan Matthew  <jonathan@kaolin.wh9.net>

	* 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  <jonathan@kaolin.wh9.net>

	* sources/rb-streaming-source.c: (rb_streaming_source_class_init):
	Don't set impl_can_browse here.

2006-12-30  Jonathan Matthew  <jonathan@kaolin.wh9.net>

	patch by:  Oliver Lemke  <olemke@gmail.com>

	* plugins/artdisplay/Makefile.am:
	Install rhythmbox-missing-artwork.svg properly.  Really fixes #387413.

2006-12-29  Jonathan Matthew  <jonathan@kaolin.wh9.net>

	* 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  <jonathan@kaolin.wh9.net>

	* 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  <jonathan@kaolin.wh9.net>

	* plugins/artdisplay/Makefile.am:
	Install rhythmbox-missing-artwork.svg.  Fixes #387413.

2006-12-27  Jonathan Matthew  <jonathan@kaolin.wh9.net>

	* 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  <jonathan@kaolin.wh9.net>

	* 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  <jonathan@kaolin.wh9.net>

	* 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  <doclivingston@gmail.com>

	* plugins/audioscrobbler/rb-lastfm-source.c: fix a typo. Closes #380933

2006-12-23  James Livingston  <doclivingston@gmail.com>

	* 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  <jonathan@kaolin.wh9.net>

	* 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  <doclivingston@gmail.com>

	* 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  <mccann@jhu.edu>

	* 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