2007-11-08  James Livingston  <doclivingston@gmail.com>

	* bindings/vala/Makefile.am:
	* bindings/vala/rb.vala:
	* bindings/vala/rhythmdb.vala:
	* plugins/sample-vala/Makefile.am: Vala building fixes

	* plugins/fmradio/Makefile.am: fix make distcheck

	* configure.ac:
	* NEWS: bump version and update NEWS

2007-11-07  James Livingston  <doclivingston@gmail.com>

	* bindings/vala/Makefile.am:
	* bindings/vala/rb.vala:
	* bindings/vala/rhythmdb.vala:
	* plugins/fmradio/Makefile.am:
	* plugins/sample-vala/Makefile.am: fix make distcheck issues

	* configure.ac: bump version to 0.11.3

2007-11-05  James Livingston  <doclivingston@gmail.com>

	patch by: Paul Drain  <funkey@gmail.com>

	* plugins/fmradio/Makefile.am:
	* plugins/jamendo/Makefile.am: fix some make dist issues.

2007-11-04  Jonathan Matthew  <jonathan@d14n.org>

	based on a patch by: Nguyen Thai Ngoc Duy  <pclouds@gmail.com>

	* configure.ac:
	* widgets/eggtrayicon.c: (egg_tray_icon_unrealize),
	(egg_tray_icon_cancel_message), (egg_tray_icon_notify):
	Drop libnotify 0.2 support, clean up notification code a bit.
	Bug #348619.

2007-10-31  Jonathan Matthew  <jonathan@d14n.org>

	* plugins/jamendo/jamendo/JamendoSource.py:
	Ignore negative track numbers

2007-10-29  Bastien Nocera  <hadess@hadess.net>

	* shell/rb-shell.c: (rb_shell_playing_entry_changed_cb),
	(rb_shell_player_window_title_changed_cb):
	* shell/rb-tray-icon.c: (rb_tray_icon_set_tooltip_primary_text):
	* shell/rb-tray-icon.h: Fix escaping of tooltips (Closes: #445659)

2007-10-29  James Livingston  <doclivingston@gmail.com>

	patch by: David Keijser  <keijser@gmail.com>

	* bindings/vala/rb.vala: Make the vala binding work, if they actually
	did anything. Fixes #475620

2007-10-29  James Livingston  <doclivingston@gmail.com>

	patch by: Mika Wahlroos  <mika.wahlroos@iki.fi>

	* data/glade/song-info.glade:
	* widgets/rb-song-info.c: (rb_song_info_construct_single),
	(rb_song_info_populate_dialog), (rb_song_info_update_date_added): add
	a "date added" field to the song-info dialog. Fixes #480269

2007-10-29  James Livingston  <doclivingston@gmail.com>

	patch by: James Henstridge  <james@jamesh.id.au> to add a new plugin
	to use FM radio tuners. Fixes bug #168735

	* configure.ac:
	* data/rhythmbox.schemas:
	* plugins/Makefile.am:
	+ plugins/fmradio/Makefile.am:
	+ plugins/fmradio/fmradio-ui.xml:
	+ plugins/fmradio/fmradio.rb-plugin.desktop.in:
	+ plugins/fmradio/rb-fm-radio-gst-src.c: (_do_init),
	+ plugins/fmradio/rb-fm-radio-plugin.c: (rb_fm_radio_plugin_init),
	+ plugins/fmradio/rb-fm-radio-source.c:
	+ plugins/fmradio/rb-fm-radio-source.h:
	+ plugins/fmradio/rb-radio-tuner-v4l2.c:
	+ plugins/fmradio/rb-radio-tuner.h:

2007-10-29  Jonathan Matthew  <jonathan@d14n.org>

	based on a patch by:  John Bryant  <bryantk@sover.net>

	* backends/gstreamer/rb-player-gst-xfade.c:
	(stream_new_decoded_pad_cb):  Fix caps leak, bug #491115.

2007-10-28  Bastien Nocera  <hadess@hadess.net>

	* lib/rb-file-helpers.c: (rb_canonicalise_uri):
	Use gnome-vfs functions to canonicalise the local file:/// URIs,
	rather than escaping and unescaping them (Closes: #487415)
	* rhythmdb/rhythmdb-tree.c: (version_to_int),
	(rhythmdb_tree_parser_start_element),
	(rhythmdb_tree_parser_end_element), (save_entry_uint64),
	(save_entry_double), (save_entry), (rhythmdb_tree_entry_delete),
	(search_match_properties): Fix the DB upgrade code to handle
	upgrading from one version to version+2 properly (and not miss
	necessary upgrades)

2007-10-25  Bastien Nocera  <hadess@hadess.net>

	* rhythmdb/rhythmdb.c: (make_access_failed_error):
	Print the proper URI in rb_debug, escaped/sanitised URIs are useless
	to people debugging

2007-10-25  Bastien Nocera  <hadess@hadess.net>

	* shell/rb-shell.c: (rb_shell_construct_notify_titles):
	Don't escape the primary text for the notification popup, as the
	spec says we shouldn't, fix "&amp;" showing up in the notification
	popup (Closes: #445659)

2007-10-25  Bastien Nocera  <hadess@hadess.net>

	* README: Patch from John Bryant and myself to cleanup the
	README wrt. metadata testing/GStreamer 0.10 usage (Closes: #478911)

2007-10-25  Jonathan Matthew  <jonathan@d14n.org>

	* bindings/python/rb.override:
	#ifdef out the wrapping code for
	rb_removable_media_manager_queue_transfer and instead raise a 
	NotImplementedError when track transfer was not built in.
	Fixes #453156.

2007-10-25  Jonathan Matthew  <jonathan@d14n.org>

	* plugins/rb/__init__.py:
	Add some hackery to allow python plugins to add their own source
	directories to the icon search path.

	* plugins/jamendo/Makefile.am:
	* plugins/jamendo/jamendo/JamendoSource.py:
	* plugins/jamendo/jamendo/__init__.py:
	* plugins/magnatune/Makefile.am:
	* plugins/magnatune/magnatune/MagnatuneSource.py:
	* plugins/magnatune/magnatune/__init__.py:
	Use it to make the Jamendo and Magnatune icons themeable.
	From #380896.

2007-10-24  Jonathan Matthew  <jonathan@d14n.org>

	* configure.ac:
	Require gst-python if python is enabled.

	* bindings/python/Makefile.am:
	* bindings/python/rb.override:
	Include gst-python's gst-types.defs file when generating python
	binding code so the player tee and filter methods actually get 
	generated.  Fixes #487847.

2007-10-21  Jonathan Matthew  <jonathan@d14n.org>

	* plugins/pythonconsole/pythonconsole.py:
	Add a menu item enabling remote python debugging with rpdb2.

2007-10-21  Jonathan Matthew  <jonathan@d14n.org>

	* rhythmdb/rhythmdb.c: (rhythmdb_entry_sync_mirrored):
	When updating the last-seen string, update the right member of the
	entry structure.  Fixes #482130.

2007-10-21  Jonathan Matthew  <jonathan@d14n.org>

	* plugins/rb-python-module.c: (rb_python_module_load_with_gil),
	(rb_python_module_new_object), (rb_python_module_class_init):
	Ensure we hold the GIL when loading and instantiating python plugins.
	Else we die when enabling a plugin after startup.

2007-10-20  Bastien Nocera  <hadess@hadess.net>

	* data/rhythmbox.schemas: Enable the store plugins by default,
	to show off how nice features (Closes: #431654)

2007-10-20  Jonathan Matthew  <jonathan@d14n.org>

	based on a patch by:  Philip Withnall <pwithnall@svn.gnome.org>

	* plugins/rb-plugin-manager.c: (cursor_changed_cb),
	(plugin_manager_construct_tree):
	Prevent crash when using find on the plugins list.  Fixes #441902.

2007-10-20  Jonathan Matthew  <jonathan@d14n.org>

	* podcast/rb-feed-podcast-properties-dialog.c:
	(rb_feed_podcast_properties_dialog_update_summary):
	If the feed has no summary, try the description and subtitle.

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

	* shell/rb-shell-clipboard.c: (rebuild_playlist_menu): fix a warning
	on startup, by not trying to re-build the playlist menu if there is no
	active clipboard source.

2007-10-20  Jonathan Matthew  <jonathan@d14n.org>

	* backends/gstreamer/rb-player-gst-xfade.c:
	(stream_queue_probe_cb):
	The queue element's 'current-level-bytes' property isn't actually a
	guint64.

2007-10-18  Jonathan Matthew  <jonathan@d14n.org>

	* shell/Makefile.am:
	* shell/main.c: (main):
	Release python GIL before entering the main loop so python plugins 
	can run threads usefully.  Fixes #487122.

2007-10-15  Jonathan Matthew  <jonathan@d14n.org>

	* shell/rb-shell-clipboard.c: (rb_shell_clipboard_sync):
	Don't crash if the selected source doesn't have an entry type.
	Fixes #486616.

2007-10-14  Jonathan Matthew  <jonathan@d14n.org>

	* rhythmdb/rhythmdb-import-job.c: (impl_set_property):
	Probably fix a compile error.

2007-10-14  Jonathan Matthew  <jonathan@d14n.org>

	* lib/rb-file-helpers.c: (rb_uri_append_uri):
	Fix rb_uri_append_uri when operating on two URIs.
	
	* sources/rb-playlist-source.c: (rb_playlist_source_class_init),
	(default_mark_dirty), (rb_playlist_source_mark_dirty):
	* sources/rb-playlist-source.h:
	* sources/rb-static-playlist-source.c:
	(rb_static_playlist_source_constructor),
	(rb_static_playlist_source_rows_reordered):
	Add a new method on the playlist source class, called when the
	playlist becomes dirty.  Mark static playlists dirty when rows are
	reordered.
	
	* shell/Makefile.am:
	* corelib/Makefile.am:
	Link rhythmdb into the core shared library rather than the rhythmbox
	binary.
	
	* lib/rb-marshal.list:
	* rhythmdb/Makefile.am:
	* rhythmdb/rhythmdb-import-job.c:
	* rhythmdb/rhythmdb-import-job.h:
	* bindings/python/Makefile.am:
	* bindings/python/rhythmdb.defs:
	New object for tracking the progress of the importing of a set of
	paths.  Counts the total number of database entries to be added, and
	emits a signal when the whole job is done.
	
	* shell/rb-shell.c: (construct_sources):
	* sources/rb-import-errors-source.c: (rb_import_errors_source_new):
	* sources/rb-import-errors-source.h:
	Take entry type as a parameter so we can have import error sources
	attached to devices etc.
	
	* rhythmdb/rhythmdb-monitor.c: (entry_volume_mounted_or_unmounted):
	* rhythmdb/rhythmdb-private.h:
	* rhythmdb/rhythmdb.h:
	* rhythmdb/rhythmdb.c: (process_added_entries_cb),
	(rhythmdb_process_stat_event), (rhythmdb_add_import_error_entry),
	(rhythmdb_process_metadata_load),
	(rhythmdb_process_file_created_or_modified), (queue_stat_uri),
	(queue_stat_uri_tad), (action_thread_main), (rhythmdb_add_uri),
	(rhythmdb_add_uri_with_types), (default_sync_metadata),
	(rhythmdb_register_core_entry_types):
	* sources/rb-removable-media-source.c:
	(rb_removable_media_source_track_added):
	When adding paths to the database, carry around entry types to use for
	ignored files and import errors, as well as for successful imports.
	Allows use of per-device entry types for these.
	
	* sources/rb-sourcelist.c: (rb_sourcelist_edit_source_name):
	When editing a source's name, expand the tree so the source is
	visible.
	
	* shell/rb-shell-clipboard.c: (rb_shell_clipboard_sync),
	(add_playlist_to_menu):  Disable the add-to-playlist menu when the
	selected source's entry type doesn't have playlists.
	
	* shell/rb-statusbar.c: (rb_statusbar_sync_status):
	Adjust the statusbar progress bar logic so the library being busy
	doesn't take precedence over all other progress values.

	* plugins/generic-player/Makefile.am:
	* plugins/generic-player/generic-player-ui.xml:
	* plugins/generic-player/rb-generic-player-playlist-source.c:
	* plugins/generic-player/rb-generic-player-playlist-source.h:
	* plugins/generic-player/rb-generic-player-plugin.c:
	(rb_generic_player_plugin_class_init),
	(rb_generic_player_plugin_new_playlist),
	(rb_generic_player_plugin_delete_playlist), (create_source_cb):
	* plugins/generic-player/rb-generic-player-source.c:
	(rb_generic_player_source_class_init), (impl_constructor),
	(impl_set_property), (impl_get_property), (set_playlist_formats),
	(debug_device_info), (get_device_info), (impl_dispose),
	(impl_finalize), (rb_generic_player_source_new),
	(impl_delete_thyself), (import_complete_cb),
	(import_status_changed_cb), (load_songs), (default_get_mount_path),
	(impl_get_status), (playlist_deleted_cb),
	(rb_generic_player_source_add_playlist),
	(default_uri_from_playlist_uri), (default_uri_to_playlist_uri),
	(rb_generic_player_source_uri_from_playlist_uri),
	(rb_generic_player_source_uri_to_playlist_uri),
	(load_playlist_file),
	(rb_generic_player_source_set_supported_formats),
	(rb_generic_player_source_get_playlist_format),
	(rb_generic_player_source_get_playlist_path):
	* plugins/generic-player/rb-generic-player-source.h:
	* plugins/generic-player/rb-nokia770-source.c:
	(rb_nokia770_source_class_init), (impl_uri_from_playlist_uri):
	Use RhythmDBImportJob to add files from the player.  Use its signals
	to display import status.  Only load playlists from the device when
	the import is complete, so the ordering doesn't get lost.
	
	Add import error and ignored file entry types for each generic player
	device.  Create an import errors source so they don't go into the main 
	import errors source.

	Add methods to map URIs from the file system to the device, so we can
	write playlists to the device that it can understand.  Default mapping
	from the file system to the device is to strip the device's mount
	point.

	Move playlist load/save methods to a new generic player playlist
	source class.  Add methods and UI actions to create and delete playlists 
	on the device.  When these playlists are marked dirty, save them to
	the device after a short delay.

	Add support for iRiver .pla playlists if totem is new enough.

	Fixes #463632.

2007-10-10  Bastien Nocera  <hadess@hadess.net>

	* configure.ac: fix cut'n'paste error in the MTP detection code

2007-10-10  Bastien Nocera  <hadess@hadess.net>

	* plugins/coherence/upnp_coherence/MediaStore.py:
	* plugins/coherence/upnp_coherence/__init__.py:
	- Couple of changes I don't really understand by Frank in the
	Container __init__
	- Give out the "bitrate" in bytes/sec as the spec says it "could" be
	(fixes extremely low bitrates showing up with the PS3 UI)
	- Give out the duration in HH:MM:SS as per the spec (fixes the tracks
	showing up as X hours long instead of X seconds long)
	- Correctly escape filepaths so the web server knows where to find them
	- Force GStreamer application/x-id3 mime-type to audio/mpeg
	- Start the coherence server after the twisted reactor, otherwise
	coherence doesn't get hooked up and nothing works
	- Shutdown coherence so it disappears from the local network

	With help from Frank Scholz <coherence@beebits.net>
	(Closes: #482548)

2007-10-10  Bastien Nocera  <hadess@hadess.net>

	* plugins/rb-python-module.c: (rb_python_module_init_python):
	Fix crash when activating a Python plugin that uses threads,
	the UPNP plugin in this case (Closes: #469852)

2007-10-09  Jonathan Matthew  <jonathan@d14n.org>

	* plugins/power-manager/rb-power-manager-plugin.c:
	(create_dbus_proxy), (inhibit_cb), (uninhibit_cb):
	Try the new dbus name/path/interface for power management first, then
	fall back to the old org.gnome.PowerManager names.  Fixes #483721.

2007-10-08  Jonathan Matthew  <jonathan@d14n.org>

	* bindings/python/rb.defs:
	Fix bindings for entry view and property view constructors.
	Wrong property names == crash.

2007-10-05  Jonathan Matthew  <jonathan@d14n.org>

	based on a patch by:  John Bryant  <bryantk@sover.net>

	* backends/gstreamer/rb-player-gst-xfade.c: (get_times_and_stream),
	(tick_timeout):  Only unref the stream inside get_times_and_stream if
	not returning it.  In tick_timeout, unref once we're done with it.
	Fixes #482458.

2007-10-02  Alex Lancaster  <alexl@users.sourceforge.net>

	* plugins/artdisplay/artdisplay/__init__.py (ArtDisplayPlugin.activate):
	Fix syntax error.

2007-10-03  Jonathan Matthew  <jonathan@d14n.org>

	* plugins/artdisplay/artdisplay/__init__.py:
	Use the right metadata name for the cover art URI, handle
	extra-metadata requests for it too.

2007-10-01  Jonathan Matthew  <jonathan@d14n.org>

	* rhythmdb/rhythmdb-private.h:
	* rhythmdb/rhythmdb.c: (rhythmdb_save_thread_main),
	(rhythmdb_save):
	Track the number of times we've saved the database.  When saving the
	database synchronously, wait until the save count has actually been
	incremented before returning.  Otherwise, rhythmdb_save often returns
	before the thread has even started saving the database.

2007-09-30  Jonathan Matthew  <jonathan@d14n.org>

	patch by:  Stephane Loeuillet  <leroutier@gmail.com>

	* data/rhythmbox.desktop.in.in:  Fix some validation problems in the
	.desktop file.  Fixes #481711.

2007-09-30  Jonathan Matthew  <jonathan@d14n.org>

	* plugins/lyrics/lyrics/LyricsParse.py:
	Fix syntax error, duh.

2007-09-30  Jonathan Matthew  <jonathan@d14n.org>

	patch by:  John Bryant  <bryantk@sover.net>

	* backends/gstreamer/rb-player-gst-xfade.c: (link_unblocked_cb):
	Add a missing unref in the case that we get called twice.
	Fixes #481374.

2007-09-30  Jonathan Matthew  <jonathan@d14n.org>

	patch by:  Austin  <austiny@sohu.com>

	* plugins/lyrics/lyrics-prefs.glade:
	* plugins/lyrics/lyrics/LyricsConfigureDialog.py:
	* plugins/lyrics/lyrics/LyricsParse.py:
	* plugins/lyrics/lyrics/Makefile.am:
	* plugins/lyrics/lyrics/WinampcnParser.py:
	Add lyrics parser for winampcn.com.  Not enabled by default, at least
	for now.  Fixes #477383.

2007-09-30  Jonathan Matthew  <jonathan@d14n.org>

	* plugins/lyrics/lyrics-prefs.glade:
	* plugins/lyrics/lyrics/LyricWikiParser.py:
	* plugins/lyrics/lyrics/LyricsConfigureDialog.py:
	* plugins/lyrics/lyrics/LyricsParse.py:
	* plugins/lyrics/lyrics/Makefile.am:
	Add (refreshingly simple) lyrics parser for lyricwiki.org.
	
	* data/rhythmbox.schemas:
	Disable leoslyrics in the default configuration until it wakes up
	again, enable lyricwiki instead.

2007-09-27  Jonathan Matthew  <jonathan@d14n.org>

	patch by:  Jeff Craig <foxxtrot@foxxtrot.net>

	* plugins/jamendo/jamendo/JamendoSource.py:
	* plugins/jamendo/jamendo/__init__.py:
	Add a 'donate to this artist' menu item/toolbar button
	that links to the artist donation page on the jamendo website.
	Fixes #417485.

2007-09-27  Jonathan Matthew  <jonathan@d14n.org>

	* shell/rb-playlist-manager.c: (_is_dirty_playlist),
	(rb_playlist_manager_is_dirty):  The sourcelist is no longer flat.
	Iterating across it with gtk_tree_model_iter_get_next won't find
	any sources at all.  Instead, use gtk_tree_model_foreach.

2007-09-27  Jonathan Matthew  <jonathan@d14n.org>

	* plugins/lyrics/lyrics/AstrawebParser.py:
	Don't use re.search(a, b) for arbitrary substring searching, as it
	breaks horribly when string a doesn't form a valid regex.

	* plugins/lyrics/lyrics/__init__.py:
	Stop updating lyrics when the window is closed.

2007-09-26  Jonathan Matthew  <jonathan@d14n.org>

	* bindings/python/rb.override:
	rb_source_get_property_views() doesn't ref the property views,
	so don't unref here.  Fixes #469524.

2007-09-25  Jonathan Matthew  <jonathan@d14n.org>

	* shell/rb-shell.c: (rb_shell_load_uri):
	Don't try to unref the playlist source if we didn't find one
	for the new entry.  Fixes #479369.

2007-09-23  Bastien Nocera  <hadess@hadess.net>

	* metadata/test-metadata.c: (load_metadata_cb):
	Fix parsing of non-absolute filenames (Closes: #478912)

2007-09-22  Jonathan Matthew  <jonathan@d14n.org>

	based on a patch by: Paolo Borelli  <pborelli@katamail.com>

	* configure.ac:  better pygtk detection error reporting.  Fixes
	#475769.

2007-09-18  Jonathan Matthew  <jonathan@d14n.org>

	patch by:  Jay Cornwall  <jay@jcornwall.me.uk>

	* plugins/daap/rb-daap-connection.c: (handle_song_listing),
	(rb_daap_connection_do_something):
	* plugins/daap/rb-daap-source.c: (rb_daap_source_new),
	(rb_daap_source_get_playback_uri):
	Add support for the daap.songdataurl DAAP property, apparently useful
	for radio streams.  From #470711.

2007-09-18  Jonathan Matthew  <jonathan@d14n.org>

	* plugins/rb-plugin.c: (rb_plugin_find_file):
	Don't crash (here, at least) if we can't find the file.

2007-09-16  Jonathan Matthew  <jonathan@d14n.org>

	patch by:  Torsten Schoenfeld <kaffeetisch@gmx.de>

	* plugins/generic-player/rb-generic-player-source.c:
	(impl_build_dest_uri):
	Zero-pad track and disc numbers in destination file names.
	Fixes #440457.

2007-09-15  James Livingston  <doclivingston@gmail.com>

	* NEWS:
	* configure.ac: actually commit the version number and news updates
	for the last release. oops

2007-09-12  Jonathan Matthew  <jonathan@d14n.org>

	* backends/gstreamer/rb-player-gst-xfade.c:
	(stream_src_blocked_cb):
	Fix the right g_object_set this time, maybe.

2007-09-10  Jonathan Matthew  <jonathan@d14n.org>

	* backends/gstreamer/rb-player-gst-xfade.c:
	(stream_queue_threshold_cb):
	Fix crashes on PPC (and probably elsewhere) caused by the last commit.

2007-09-10  Jonathan Matthew  <jonathan@d14n.org>

	* backends/gstreamer/rb-player-gst-xfade.c: (create_stream),
	(stream_src_blocked_cb):
	Use time rather than buffer count thresholds for the preroll
	queue size.  Rather than 10 buffers (which could be any amount,
	really), require one second of decoded audio.  This allows WMA files
	to play, and doesn't seem to break anything else  From #424836.

2007-09-08  Jonathan Matthew  <jonathan@d14n.org>

	* AUTHORS:
	* plugins/lirc/lirc.rb-plugin.desktop.in:
	* plugins/power-manager/power-manager.rb-plugin.desktop.in:
	Update my email address in a few visible places

2007-09-05  Bastien Nocera  <hadess@hadess.net>

	* sources/rb-source.c: (rb_source_uri_is_source):
	* sources/rb-source.h: Add _uri_is_source, to allow
	sources to tell us that they are the URI that's being
	passed, as opposed to an item of the source being handled

	* shell/rb-shell.c: (rb_shell_class_init), (_scan_idle),
	(source_activated_cb), (rb_shell_activate_source),
	(handle_playlist_entry_cb), (rb_shell_load_uri):
	* shell/rb-shell.h: emit the removable_media_scan_finished
	signal when we're done scanning removable media on startup,
	Add rb_shell_activate_source to activate a particular source,
	When parsing URIs given on the command-line, check if a source
	is the URI and activate it

	* shell/main.c: (main), (dbus_load_uri),
	(removable_media_scan_finished), (local_load_uri):
	When starting up Rhythmbox, handle filenames passed after scanning
	for removable media has finished, fix a small memory leak in an
	error path

	* plugins/audiocd/rb-audiocd-source.c:
	(rb_audiocd_source_class_init), (impl_want_uri),
	(impl_uri_is_source), (impl_try_playlist): Implement want_uri,
	try_playlist and uri_is_source, Say we want the URI when
	the URI passed matches the device we handle

	(Closes: #471887)

	* plugins/iradio/rb-iradio-source.c:
	(rb_iradio_source_add_from_playlist): Don't use any fallback when
	parsing the playlist, we already fallback by adding the item
	to the source ourselves

2007-09-05  Jonathan Matthew  <notverysmart@gmail.com>

	* configure.ac:
	* lib/rb-file-helpers.c: (rb_music_dir),
	(rb_file_helpers_shutdown):
	Use g_get_user_special_dir instead of xdg_user_dir_lookup
	where available.  Fixes #448330.

2007-08-28  Jonathan Matthew  <notverysmart@gmail.com>

	patch by: Tom Parker  <palfrey@tevp.net>

	* lib/rb-file-helpers.c: (rb_uri_handle_recursively_cb),
	(_recurse_async_cb):
	* lib/rb-file-helpers.h:
	* rhythmdb/rhythmdb-monitor.c: (monitor_subdirectory):
	* rhythmdb/rhythmdb.c: (queue_stat_uri_tad):
	* sources/rb-static-playlist-source.c:
	(rb_static_playlist_source_add_location_cb):
	Use the return value from the callback to determine whether to recurse
	further or not.
	
	* plugins/rb-plugins-engine.c: (rb_plugins_engine_load_cb),
	(rb_plugins_engine_load_dir):
	Don't recurse into directories that look like darcs or CVS control
	directories.  Fixes #434374.

2007-08-28  Jonathan Matthew  <notverysmart@gmail.com>

	patch by:  Jay Cornwall  <jay@jcornwall.me.uk>

	* plugins/daap/rb-daap-structure.c:
	* plugins/daap/rb-daap-structure.h:
	Add a missing content code for server-side smart playlists.
	From bug #390643.

2007-08-27  Jonathan Matthew  <notverysmart@gmail.com>

	* rhythmdb/rhythmdb.c: (record_entry_change),
	(rhythmdb_entry_set_internal):
	Ignore entry changes where new value == old value.  Bug #459562.

2007-08-26  Jonathan Matthew  <notverysmart@gmail.com>

	* data/ui/rhythmbox-ui.xml:
	* plugins/daap/daap-ui.xml:
	* plugins/daap/rb-daap-plugin.c: (rb_daap_plugin_cmd_disconnect),
	(new_daap_share_resolve_cb), (new_daap_share_location_added_cb),
	(rb_daap_plugin_cmd_connect):
	Add the ability to manually connect to a DAAP share by host:port.
	Fixes #343248.

2007-08-26  Jonathan Matthew  <notverysmart@gmail.com>

	* widgets/rb-uri-dialog.c: (rb_uri_dialog_class_init),
	(rb_uri_dialog_init), (rb_uri_dialog_set_property),
	(rb_uri_dialog_get_property), (rb_uri_dialog_new): Rework URI dialog
	construction to use properties.  Make 'label' a property; 'title' is
	already a property on GtkWindow.

	* bindings/python/rb.defs:  Fix remaining warnings about old-style
	constructors, bug #432228.

2007-08-26  Jonathan Matthew  <notverysmart@gmail.com>

	patch mostly by: Bastien Nocera  <hadess@hadess.net>

	* podcast/Makefile.am:
	* podcast/rb-podcast-parse.h:
	* podcast/test-podcast-parse.c:
	Podcast parser test program.  From #434854.

2007-08-26  Jonathan Matthew  <notverysmart@gmail.com>

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

	* widgets/rb-song-info.c: (rb_song_info_class_init),
	(rb_song_info_get_property):
	Add 'selected-entries' property to expose the selected entries in the
	multiple-entry case.  Fixes #409673.

2007-08-26  Jonathan Matthew  <notverysmart@gmail.com>

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

	* plugins/artdisplay/artdisplay/__init__.py:
	Drag & drop support for cover art.  Drag images or URLs to the art
	display area to set cover art for an album, and drag from the art
	display area to get an image or URL.  From #363694.

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

	* shell/rb-shell-clipboard.c:
	Use 'user-trash' icon instead of GTK_STOCK_DELETE for the 'move to
	trash' action.  Fixes #362965.

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

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

	* shell/rb-shell-player.c: (rb_shell_player_play_order_update_cb),
	(rb_shell_player_do_previous_or_seek):
	Keep the 'previous' button sensitive all the time when playing.  If
	pressed within the first 3 seconds with no previous track, go to 'not
	playing'.  Fixes #390381.

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

	* plugins/artdisplay/artdisplay/LocalCoverArtSearch.py:
	Format some debug output a bit better.

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

	* configure.ac: re-add a 'd' that I deleted months ago that didn't
	seem to make any difference.  weird.

2007-08-25  Claudio Saavedra  <csaavedra@alumnos.utalca.cl>

	* plugins/artdisplay/artdisplay/CoverArtDatabase.py: unquote the 
	resulting URI if local.
	* plugins/artdisplay/artdisplay/__init__.py: Add 'coverArt-uri' as 
	a new extra metadata.  Fixes #412843.

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

	* lib/rb-cut-and-paste-code.c: (rb_utf_friendly_time):
	If eel_strdup_strftime returns NULL (which usually indicates broken
	locale settings), return "Unknown" rather than NULL.  Fixes #437967.

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

	patch mostly by:  Cosimo Cecchi  <anarki@lilik.it>

	* plugins/lyrics/lyrics/__init__.py:
	Clarify the optional 'mode' parameter to the search_lyrics method, and
	then don't use it; fixes lyrics not being refreshed on song changes,
	bug #453034.

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

	patch by:  Tim Chevalier  <chevalier@alum.wellesley.edu>

	* plugins/artdisplay/artdisplay/AmazonCoverArtSearch.py:
	Check for product vs album substring matches both ways.
	Finds a few more cover art images.  Fixes #466178.

2007-08-24  Jonathan Matthew  <jonathan@kaolin.wh9.net>
	
	patch by: Tim Retout  <tim@retout.co.uk>

	* shell/rb-playlist-manager.c:
	* shell/rb-shell.c:
	Fix trailing ellipses on a few menu items.  Fixes #467310.

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

	patch by: Tim Retout  <tim@retout.co.uk>

	* bindings/python/Makefile.am:
	* bindings/python/rb.defs:
	* bindings/python/rb.override:
	Add bindings for RBUriDialog.  Fixes #462935.

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

	patch by:  Kouhei Sutou  <kou@cozmixng.org>

	* shell/rb-shell.c: (rb_shell_sync_smalldisplay):
	Make the 'jump to playing song' action insensitive in small display
	mode, where it makes no sense.  Fixes #416650.

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

	patch mostly by: Brian Cameron <brian.cameron@sun.com>

	* plugins/visualizer/rb-visualizer-plugin.c:
	(rb_visualizer_plugin_window_title_change_cb):
	* shell/rb-shell-player.c: (rb_shell_player_sync_with_source):
	Don't crash on Solaris when we don't have a title for the playing
	song.  Fixes #466752.