2007-11-08 James Livingston * 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 * 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 patch by: Paul Drain * plugins/fmradio/Makefile.am: * plugins/jamendo/Makefile.am: fix some make dist issues. 2007-11-04 Jonathan Matthew based on a patch by: Nguyen Thai Ngoc Duy * 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 * plugins/jamendo/jamendo/JamendoSource.py: Ignore negative track numbers 2007-10-29 Bastien Nocera * 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 patch by: David Keijser * bindings/vala/rb.vala: Make the vala binding work, if they actually did anything. Fixes #475620 2007-10-29 James Livingston patch by: Mika Wahlroos * 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 patch by: James Henstridge 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 based on a patch by: John Bryant * backends/gstreamer/rb-player-gst-xfade.c: (stream_new_decoded_pad_cb): Fix caps leak, bug #491115. 2007-10-28 Bastien Nocera * 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 * 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 * 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 "&" showing up in the notification popup (Closes: #445659) 2007-10-25 Bastien Nocera * 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 * 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 * 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 * 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 * plugins/pythonconsole/pythonconsole.py: Add a menu item enabling remote python debugging with rpdb2. 2007-10-21 Jonathan Matthew * 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 * 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 * data/rhythmbox.schemas: Enable the store plugins by default, to show off how nice features (Closes: #431654) 2007-10-20 Jonathan Matthew based on a patch by: Philip Withnall * 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 * 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 * 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 * 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 * 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 * 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 * rhythmdb/rhythmdb-import-job.c: (impl_set_property): Probably fix a compile error. 2007-10-14 Jonathan Matthew * 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 * configure.ac: fix cut'n'paste error in the MTP detection code 2007-10-10 Bastien Nocera * 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 (Closes: #482548) 2007-10-10 Bastien Nocera * 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 * 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 * bindings/python/rb.defs: Fix bindings for entry view and property view constructors. Wrong property names == crash. 2007-10-05 Jonathan Matthew based on a patch by: John Bryant * 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 * plugins/artdisplay/artdisplay/__init__.py (ArtDisplayPlugin.activate): Fix syntax error. 2007-10-03 Jonathan Matthew * 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 * 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 patch by: Stephane Loeuillet * data/rhythmbox.desktop.in.in: Fix some validation problems in the .desktop file. Fixes #481711. 2007-09-30 Jonathan Matthew * plugins/lyrics/lyrics/LyricsParse.py: Fix syntax error, duh. 2007-09-30 Jonathan Matthew patch by: John Bryant * 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 patch by: Austin * 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 * 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 patch by: Jeff Craig * 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 * 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 * 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 * 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 * 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 * metadata/test-metadata.c: (load_metadata_cb): Fix parsing of non-absolute filenames (Closes: #478912) 2007-09-22 Jonathan Matthew based on a patch by: Paolo Borelli * configure.ac: better pygtk detection error reporting. Fixes #475769. 2007-09-18 Jonathan Matthew patch by: Jay Cornwall * 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 * 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 patch by: Torsten Schoenfeld * 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 * NEWS: * configure.ac: actually commit the version number and news updates for the last release. oops 2007-09-12 Jonathan Matthew * 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 * 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 * 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 * 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 * 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 * 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 patch by: Tom Parker * 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 patch by: Jay Cornwall * 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 * 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 * 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 * 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 patch mostly by: Bastien Nocera * podcast/Makefile.am: * podcast/rb-podcast-parse.h: * podcast/test-podcast-parse.c: Podcast parser test program. From #434854. 2007-08-26 Jonathan Matthew patch by: Ed Catmur * 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 patch by: Ed Catmur * 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 * 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 patch by: Ed Catmur * 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 * plugins/artdisplay/artdisplay/LocalCoverArtSearch.py: Format some debug output a bit better. 2007-08-25 Jonathan Matthew * 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 * 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 * 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 patch mostly by: Cosimo Cecchi * 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 patch by: Tim Chevalier * 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 patch by: Tim Retout * shell/rb-playlist-manager.c: * shell/rb-shell.c: Fix trailing ellipses on a few menu items. Fixes #467310. 2007-08-24 Jonathan Matthew patch by: Tim Retout * bindings/python/Makefile.am: * bindings/python/rb.defs: * bindings/python/rb.override: Add bindings for RBUriDialog. Fixes #462935. 2007-08-23 Jonathan Matthew patch by: Kouhei Sutou * 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 patch mostly by: Brian Cameron * 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.