Rhythmbox 0.11.4

Milestone information

Project:
Rhythmbox
Series:
0.11
Version:
0.11.4
Released:
 
Registrant:
Registry Administrators
Release registered:
Active:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata

Activities

Assigned to you:
No blueprints or bugs assigned to you.
Assignees:
No users assigned to blueprints and bugs.
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
No bugs are targeted to this milestone.

Download files for this release

After you've downloaded a file, you can verify its authenticity using its MD5 sum or signature. (How do I verify a download?)

File Description Downloads
download icon rhythmbox-0.11.4.tar.gz (md5) 16
last downloaded 27 weeks ago
download icon rhythmbox-0.11.4.tar.bz2 (md5) 21
last downloaded 21 weeks ago
Total downloads: 37

Release notes 

* Support automatic GStreamer plugin installation
* Improved cross-fading backend
* Improved Podcast feed support, including Atom and APML
* Add optional mozilla plugin to handle itms:// links
* Fade volume when pausing and unpausing
* Improve performance and stability of MTP device support
* Stop putting deleted tracks on iPods in the Garbage Bin
* Support PSPs with newer firmware
* Improvements to the Coherence-based UPnP support
* Minor improvements to Python bindings for plugins

Contributors to the release:
- John Daiker
- Louis Francis
- Irene Huang
- James Livingston
- Jonathan Matthew
- Andreas Nilsson
- Bastien Nocera

Changelog 

View the full changelog

2007-12-21 James Livingston <email address hidden>

 * shell/rb-shell.c: (rb_shell_finalize): revert a change which was
 causing nasty warnings when exiting.

 * configure.ac: bump version to 0.11.4

 * NEWS: update with 0.11.4

2007-12-18 Jonathan Matthew <email address hidden>

 * backends/gstreamer/rb-player-gst-xfade.c:
 (rb_player_gst_xfade_dispose), (start_sink), (stop_sink),
 (rb_player_gst_xfade_close), (rb_player_gst_xfade_play):
 Remove obsolete stuff relating to pausing the sink, which we never do
 any more.

2007-12-16 Jonathan Matthew <email address hidden>

 * shell/rb-shell-player.c: (rb_shell_player_get_playing_time),
 (rb_shell_player_error_get_type):
 * shell/rb-shell-player.h:
 Make rb_shell_player_get_playing_time fail if the player can't figure
 out the playback position.

 * plugins/audioscrobbler/rb-audioscrobbler.c:
 (maybe_add_current_song_to_queue),
 (rb_audioscrobbler_song_changed_cb):
 If we don't get a playback position, assume we're at the start of the
 track. From #499745.

2007-12-16 Jonathan Matthew <email address hidden>

 * HACKING: Now less heinously out of date. Fixes #482767.

2007-12-13 Jonathan Matthew <email address hidden>

 * configure.ac:
 * data/icons/hicolor/48x48/Makefile.am:
 * data/icons/hicolor/48x48/apps/Makefile.am:
 * data/icons/hicolor/Makefile.am:
 Add 48x48 icon, so the icon isn't tiny when drag'n'dropping it to the
 desktop. Icon via Andreas Nilsson. Fixes #502935.

2007-12-12 Jonathan Matthew <email address hidden>

 * plugins/generic-player/rb-generic-player-playlist-source.c:
 (playlist_format_extension), (handle_playlist_start_cb),
 (handle_playlist_entry_cb), (load_playlist):
 Remove playlist parser API backwards compatibility stuff, use current
 signal names and parameters.

2007-12-11 Jonathan Matthew <email address hidden>

 patch by: Irene Huang <email address hidden>

 * plugins/audiocd/rb-audiocd-source.c: (rb_audiocd_scan_songs),
 (rb_audiocd_load_songs): Take GDK lock when showing error dialogs
 during audio CD reading. Fixes #502265.

2007-12-10 Bastien Nocera <email address hidden>

 * plugins/coherence/upnp_coherence/__init__.py: Export the
 user's ~/.face (as setup by about-me and gdmphotosetup)
 as the server's icon, for display in clients that support
 it (Closes: #487970)

2007-12-09 Jonathan Matthew <email address hidden>

 * podcast/rb-podcast-manager.c:
 (rb_podcast_manager_download_file_info_cb):
 Use rb_uri_exists() to check if the podcast has already been
 downloaded, as we've converted the local path into a URI here.

2007-12-09 Jonathan Matthew <email address hidden>

 * plugins/audioscrobbler/rb-audioscrobbler.c:
 (rb_audioscrobbler_dispose), (rb_audioscrobbler_is_queueable),
 (rb_audioscrobbler_song_changed_cb):
 Add some helpful debug output. From #499745.

2007-12-04 Jonathan Matthew <email address hidden>

 * plugins/visualizer/rb-visualizer-plugin.c:
 (free_vis_plugin_info), (rb_visualizer_plugin_finalize),
 (get_vis_plugin_list): If we're going to free the GStreamer feature
 list that we get the visualization plugin strings from, we'll need to
 copy the strings..

2007-12-04 Jonathan Matthew <email address hidden>

 * INSTALL.quick: make this somewhat less horribly out of date.

2007-12-04 Jonathan Matthew <email address hidden>

 * shell/rb-shell-player.c: (rb_shell_player_open_location):
 Don't try to g_object_ref a RhythmDBEntry; it's not a GObject.

2007-12-03 Bastien Nocera <email address hidden>

 * plugins/generic-player/rb-generic-player-playlist-source.c:
 (save_playlist), (handle_playlist_start_cb), (load_playlist),
 (rb_generic_player_playlist_source_new),
 (rb_generic_player_playlist_source_get_property),
 (rb_generic_player_playlist_source_set_property),
 (rb_generic_player_playlist_source_class_init):
 * plugins/generic-player/rb-generic-player-playlist-source.h:
 * plugins/generic-player/rb-generic-player-plugin.c:
 (rb_generic_player_plugin_new_playlist):
 * plugins/generic-player/rb-generic-player-source.c:
 (load_playlist_file), (default_load_playlists): Pass the device_root
 when parsing a playlist on a removable device, to allow drive letters
 in playlists (Helps: #427975)

2007-12-03 Bastien Nocera <email address hidden>

 * plugins/mmkeys/rb-mmkeys-plugin.c: (media_player_key_pressed),
 (filter_mmkeys), (mmkeys_grab), (impl_activate): Handle the Stop
 key from the control-center D-Bus interface as we used to handle
 the XF86AudioStop key (Closes: #438135)

2007-12-03 Bastien Nocera <email address hidden>

 * plugins/generic-player/rb-psp-source.c: (impl_get_mount_path),
 (rb_psp_is_volume_player): Handle PSPs with firmware >= 2.80
 (Closes: #369222)

2007-12-03 Bastien Nocera <email address hidden>

 * configure.ac:
 * podcast/Makefile.am:
 * podcast/plugin.symbols:
 * podcast/rhythmbox-itms-plugin.cpp: Add a Mozilla plugin
 to allow the iTMS pages to detect that we can handle itms:// URIs
 (Closes: #489874)

2007-12-03 Bastien Nocera <email address hidden>

 * configure.ac: Require totem-pl-parser 2.21.4

 * lib/rb-file-helpers.c: (rb_uri_could_be_podcast):
 * lib/rb-file-helpers.h: Add helper function to detect
 whether it could be a podcast from the URI passed

 * data/rhythmbox.schemas: Handle feed://, itpc:// and itms:// URIs

 * podcast/Makefile.am:
 * podcast/rb-podcast-manager.c:
 (rb_podcast_manager_subscribe_feed),
 (rb_podcast_manager_parse_complete_cb),
 (rb_podcast_manager_thread_parse_feed),
 (rb_podcast_manager_save_metadata),
 (rb_podcast_manager_insert_feed):
 * podcast/rb-podcast-parse.c: (playlist_metadata_foreach),
 (playlist_started), (playlist_ended), (entry_metadata_foreach),
 (entry_parsed), (rb_podcast_parse_load_feed),
 (rb_podcast_parse_channel_free):
 * podcast/rb-podcast-parse.h: Use totem-pl-parser to parse Podcast
 files (including Atom files) (Closes: #355984), as well as OPML files

 * shell/rb-playlist-manager.c: (handle_playlist_entry_cb),
 (playlist_load_started_cb), (playlist_load_ended_cb),
 (rb_playlist_manager_parse_file), (_is_dirty_playlist),
 (rb_playlist_manager_save_playlists):
 * shell/rb-shell-player.c: (rb_shell_player_class_init),
 (rb_shell_player_handle_eos_unlocked), (rb_shell_player_init),
 (playlist_entry_cb), (open_location_thread),
 (rb_shell_player_open_location), (rb_shell_player_sync_play_order),
 (rb_shell_player_do_previous), (rb_shell_player_do_next_internal),
 (rb_shell_player_entry_activated_cb):
 * shell/rb-shell.c: (handle_playlist_entry_cb),
 (rb_shell_load_uri): Update API to totem-pl-parser 2.21.4, detect
 podcasts and OPML files (Closes: #489520) and add them to the
 podcast source

 * podcast/test-podcast-parse.c: (main): Call setlocale
 so we print UTF-8 characters

 (Closes: #484768)

2007-12-03 Jonathan Matthew <email address hidden>

 * rhythmdb/rhythmdb.c: (rhythmdb_save_thread_main):
 When we've decided not to save the database, it would be a good idea
 to actually not save the database. Fixes #501125.

2007-12-02 Jonathan Matthew <email address hidden>

 * sources/rb-static-playlist-source.c:
 (rb_static_playlist_source_move_entry):
 Move entries in the base query model, not the displayed query model.
 Otherwise, the order change is lost when saving the playlist.

2007-12-02 Jonathan Matthew <email address hidden>

 * bindings/python/Makefile.am:
 * bindings/python/rb.defs:
 * bindings/python/rb.override:
 Add python bindings for the streaming source class.

2007-12-02 Jonathan Matthew <email address hidden>

 * shell/rb-playlist-manager.c: (save_playlist_cb),
 (rb_playlist_manager_save_playlists), (list_playlists_cb),
 (rb_playlist_manager_get_playlists),
 (rb_playlist_manager_get_playlist_names),
 (find_playlist_by_name_cb), (_get_playlist_by_name):
 Fix various playlist manager methods that have been broken since
 the introduction of source list groups.

2007-11-29 Jonathan Matthew <email address hidden>

 * shell/rb-shell-player.c: (notify_playing_idle),
 (rb_shell_player_open_playlist_url), (rb_shell_player_dispose):
 Remove the notify-playing idle handler when disposing the player.
 Fixes #463948.

2007-11-28 Jonathan Matthew <email address hidden>

 * plugins/audioscrobbler/rb-lastfm-source.c:
 (rb_lastfm_source_metadata_cb):
 Don't crash if we get a blank line in the metadata response, as we
 apparently do sometimes. Should fix #465271.

2007-11-28 Jonathan Matthew <email address hidden>

 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
 (rb_podcast_source_load_finish_cb):
 Use g_signal_connect_object instead of _after, and g_idle_add
 instead of gtk_idle_add. Probably fixes #463950?

2007-11-27 Bastien Nocera <email address hidden>

 * plugins/ipod/rb-ipod-source.c: (impl_move_to_trash),
 (impl_build_dest_uri), (request_artwork): Don't put iPod tracks in
 the wastebasket when deleting them, they lost their database entry
 so they're unrecoverable (Closes: #346434)

2007-11-26 Jonathan Matthew <email address hidden>

 * plugins/artdisplay/artdisplay/LocalCoverArtSearch.py:
 Follow symlinks when looking for local cover art. Fixes #499132.

2007-11-26 Jonathan Matthew <email address hidden>

 * shell/rb-tray-icon.c: (rb_tray_icon_init):
 Revert change from previous commit as it causes gtk warnings on
 startup.

2007-11-25 James Livingston <email address hidden>

 * bindings/python/rb.defs:
 * metadata/rb-metadata-dbus-service.c: (main):
 * plugins/rb-plugins-engine.c: (rb_plugins_engine_load),
 (rb_plugins_engine_load_cb):
 * plugins/sample-vala/rb-sample-vala-plugin.vala:
 * plugins/visualizer/rb-visualizer-plugin.c: (get_vis_plugin_list):
 * shell/rb-shell.c: (rb_shell_finalize), (construct_widgets):
 * shell/rb-tray-icon.c: (rb_tray_icon_init):
 * tools/massif.sh:
 * widgets/rb-entry-view.c: (rb_entry_view_get_sorting_type):
 * widgets/rb-entry-view.h: fix some memory leaks. patch partially by
 John Daiker.

2007-11-25 Jonathan Matthew <email address hidden>

 * backends/gstreamer/rb-player-gst-xfade.c: (dump_stream_list),
 (volume_changed_cb), (start_stream_fade), (link_unblocked_cb),
 (link_and_unblock_stream), (unlink_blocked_cb),
 (unlink_and_dispose_stream), (rb_player_gst_xfade_bus_cb),
 (actually_start_stream), (get_times_and_stream), (stop_sink),
 (rb_player_gst_xfade_open), (stop_sink_later), (maybe_stop_sink),
 (rb_player_gst_xfade_close), (rb_player_gst_xfade_play),
 (rb_player_gst_xfade_pause), (rb_player_gst_xfade_set_replaygain),
 (rb_player_gst_xfade_set_time):
 Use a short (half second) fade when pausing and unpausing streams.
 Don't pause the sink; instead, stop it when there are no playing
 streams.

 Fixes #434142, #465482, #484883, and parts of #427244 and #452226.

2007-11-21 Jonathan Matthew <email address hidden>

 * rhythmdb/rhythmdb-query-model.c:
 (rhythmdb_query_model_emit_reorder),
 (apply_updated_entry_sequence):
 Use g_malloc/g_free instead of malloc/free.

2007-11-20 Jonathan Matthew <email address hidden>

 * plugins/mtpdevice/rb-mtp-plugin.c: (impl_activate),
 (rb_mtp_plugin_device_added): Rearrange the device scanning loops so
 we only get the device/vendor IDs for each connected device (which
 involves dbus requests) once, rather than once per device type libmtp
 knows about. Makes the mtp plugin's device scan about 100 times
 faster, fixing #498198.

2007-11-20 Jonathan Matthew <email address hidden>

 * plugins/mtpdevice/mtp-ui.xml:
 * plugins/mtpdevice/rb-mtp-plugin.c:
 Don't use the same name for the MTP eject action as the generic one.
 Fixes #472541.

2007-11-17 Bastien Nocera <email address hidden>

 * plugins/daap/rb-daap-connection.c: (handle_song_listing),
 (rb_daap_connection_state_done): Fix DAAP sharing in client mode
 not playing anything (Closes: #497430)

2007-11-12 Jonathan Matthew <email address hidden>

 * configure.ac:
 * metadata/Makefile.am:
 * metadata/rb-metadata-dbus-client.c: (rb_metadata_load),
 (rb_metadata_has_missing_plugins),
 (rb_metadata_get_missing_plugins):
 * metadata/rb-metadata-dbus-service.c: (_send_error),
 (rb_metadata_dbus_load), (rb_metadata_dbus_can_save),
 (rb_metadata_dbus_save), (test_load):
 * metadata/rb-metadata-dbus.c: (rb_metadata_dbus_get_strv),
 (rb_metadata_dbus_add_strv):
 * metadata/rb-metadata-dbus.h:
 * metadata/rb-metadata-gst.c: (rb_metadata_gst_new_decoded_pad_cb),
 (rb_metadata_gst_unknown_type_cb),
 (rb_metadata_handle_missing_plugin_message),
 (rb_metadata_bus_handler), (rb_metadata_load),
 (rb_metadata_has_missing_plugins),
 (rb_metadata_get_missing_plugins):
 * metadata/rb-metadata.h:
 * metadata/test-metadata.c: (load_metadata_cb):
 Process GStreamer missing-plugin messages. This requires a slightly
 newer version of GStreamer than we otherwise require, so it's
 conditional. Missing plugin information is available to callers of
 the RBMetadata interface.

 * shell/Makefile.am:
 * lib/rb-marshal.list:
 * shell/rb-shell.c: (rb_shell_constructor):
 * shell/rb-missing-plugins.c:
 (rb_plugin_install_plugin_is_blacklisted),
 (rb_plugin_install_blacklist_plugin),
 (rb_plugin_install_context_free), (rb_plugin_install_done),
 (on_plugin_installation_done), (missing_plugins_event),
 (missing_plugins_cb), (rb_missing_plugins_init):
 * shell/rb-missing-plugins.h:
 Add some machinery for calling GStreamer plugin installation helpers
 and then retrying the original operation.

 * rhythmdb/rhythmdb-private.h:
 * rhythmdb/rhythmdb.c: (rhythmdb_class_init), (rhythmdb_init),
 (rhythmdb_shutdown), (rhythmdb_finalize), (rhythmdb_read_leave),
 (rhythmdb_process_metadata_load_real),
 (rhythmdb_missing_plugins_cb),
 (rhythmdb_missing_plugin_event_cleanup),
 (rhythmdb_process_metadata_load), (rhythmdb_process_one_event),
 (rhythmdb_execute_load):
 Add missing plugin handling for file importing. Requires some
 interesting locking to block further import attempts while installing
 plugins. We don't process missing plugins for files we're going to
 ignore anyway.

 Also, while the database is read-only, add write operations to a
 separate queue rather than requeueing them endlessly until the
 database is writeable again.

 * podcast/rb-podcast-manager.c: (rb_podcast_manager_class_init),
 (rb_podcast_manager_download_file_info_cb),
 (missing_plugins_retry_cb), (missing_plugins_retry_cleanup),
 (rb_podcast_manager_save_metadata), (download_progress_cb):
 Add missing plugin handling for podcast downloads. When installation
 is complete, retry the metadata load operation.

 * backends/gstreamer/Makefile.am:
 * backends/gstreamer/rb-player-gst-xfade.c:
 (rb_player_gst_xfade_class_init), (emit_missing_plugins),
 (rb_player_gst_xfade_handle_missing_plugin_message),
 (rb_player_gst_xfade_bus_cb):
 * backends/gstreamer/rb-player-gst.c: (rb_player_gst_class_init),
 (rb_player_gst_handle_missing_plugin_message),
 (rb_player_gst_bus_cb), (rb_player_gst_sync_pipeline),
 (end_gstreamer_operation):
 * shell/rb-shell-player.c: (rb_shell_player_class_init),
 (rb_shell_player_init), (missing_plugins_retry_cb),
 (missing_plugins_retry_cleanup), (missing_plugins_cb):
 Add missing plugin handling for playback. When GStreamer complains
 about missing plugins, stop playback, request installation, then retry
 playback when it's done.

 Fixes #338308.

2007-11-11 Jonathan Matthew <email address hidden>

 patch by: <email address hidden>

 * widgets/rb-rating-helper.c: (rb_rating_render_stars):
 Don't use the deprecated gdk_pixbuf_render_to_drawable,
 use the equivalent gdk_draw_pixbuf call. Fixes #495779.

2007-11-10 Jonathan Matthew <email address hidden>

 * backends/gstreamer/rb-player-gst-xfade.c:
 (actually_start_stream):
 When starting a new stream with crossfading enabled, remove all
 existing streams except any we're going to fade out and any that are
 already fading out. Otherwise, we can end up playing two tracks at
 once. Fixes #480764.

0 blueprints and 0 bugs targeted

There are no feature specifications or bug tasks targeted to this milestone. The project's maintainer, driver, or bug supervisor can target specifications and bug tasks to this milestone to track the things that are expected to be completed for the release.

This milestone contains Public information
Everyone can see this information.