============ Version 0.11.6 2008-07-08 Jonathan Matthew * configure.ac: Don't require intltool 0.40.0. 2008-07-07 Jonathan Matthew * NEWS: * README: * configure.ac: Release 0.11.6 2008-07-07 Jonathan Matthew * Makefile.am: * configure.ac: Require intltool 0.40.0. 2008-07-06 Colin Walters * lib/eel-gconf-extensions.c, * plugins/daap/rb-daap-structure.c, * plugins/rb-module.c: Always use g_warning with a non-dynamic format specifier. 2008-07-02 Jonathan Matthew * plugins/ipod/rb-ipod-source.c: (impl_get_mime_types): Revert half of the fix for #508537, as we can't encode ipod-compatible AAC files yet. 2008-07-02 Bastien Nocera * configure.ac: * plugins/Makefile.am: * plugins/dontreallyclose/Makefile.am: * plugins/dontreallyclose/dontreallyclose.py: * plugins/dontreallyclose/dontreallyclose.rb-plugin.in: Add a plugin by Jonathan to allow minimising to the tray (Closes: #318629) 2008-07-02 Jonathan Matthew * configure.ac: * plugins/sample-vala/Makefile.am: Use valac -C so it doesn't try to compile the code itself. Apparently requires vala 0.1.0, but maybe I'm wrong. Fixes #537338. 2008-07-01 Jonathan Matthew patch by: Alfredo Pironti * plugins/lirc/rb-lirc-plugin.c: (rb_lirc_plugin_read_code), (impl_activate), (impl_deactivate): Add lirc 'quit' command that surprisingly quits rhythmbox. Fixes #540610. 2008-06-28 Jonathan Matthew * shell/rb-shell-player.c: (rb_shell_player_constructor), (rb_shell_player_handle_eos_unlocked), (rb_shell_player_slider_dragging_cb), (rb_shell_player_set_playing_time), (tick_cb): If the seek slider is still being dragged when we reach EOS, wait until it's released; if a seek occurs before then, forget about it. Fixes #140020. * widgets/rb-header.c: (rb_header_class_init), (rb_header_set_playing_entry_internal), (rb_header_set_property), (rb_header_get_property), (rb_header_sync), (rb_header_sync_time), (slider_press_callback), (slider_moved_timeout), (slider_moved_callback), (apply_slider_position), (slider_release_callback), (slider_changed_callback): Add the 'slider-dragging' property used above. Rearrange various bits of code to behave a little bit better, most importantly removing the idle handler that just screwed things up. Set the upper bound on the slider unconditionally when the playing entry changes, fixing #496816. 2008-06-27 Bastien Nocera * lib/rb-util.c (rb_scale_pixbuf_to_size): * lib/rb-util.h: * shell/rb-shell.c (rb_shell_db_metadata_art_cb): Add rb_scale_pixbuf_to_size to scale to a specific GtkIconSize, respecting the scale ratio (Closes: #528231) 2008-06-27 Jonathan Matthew * plugins/daap/rb-daap-share.c: (parse_meta): Don't crash if there's no 'meta=' query arg in the request. Probably fixes #540391. 2008-06-26 Jonathan Matthew * plugins/audioscrobbler/rb-lastfm-source.c: (rb_lastfm_source_station_activated_cb), (handle_station_response), (handle_playlist_response): Update last.fm station last-played time when we successfully parse a playlist. 2008-06-26 Jonathan Matthew * plugins/audioscrobbler/rb-lastfm-source.c: (rb_lastfm_source_new): * plugins/magnatune/magnatune/__init__.py: Don't use RHYTHMDB_ENTRY_STREAM category for magnatune or last.fm tracks. Fixes #515337, also related to #518231. 2008-06-26 Jonathan Matthew * bindings/python/rb.defs: * widgets/rb-entry-view.c: (rb_entry_view_get_column): * widgets/rb-entry-view.h: Add a method for accessing the predefined entry view columns. 2008-06-24 Christophe Fergeau * plugins/ipod/rb-ipod-source.c: (create_ipod_song_from_entry): simpler way of setting year for tracks added to the ipod 2008-06-23 Jonathan Matthew * plugins/audioscrobbler/rb-lastfm-source.c: (rb_lastfm_source_dispose), (rb_lastfm_source_constructor), (rb_lastfm_source_new), (impl_delete), (playing_song_changed_cb), (rb_lastfm_source_station_activated_cb), (rb_lastfm_source_station_selection_cb), (handle_station_response), (xspf_entry_parsed), (handle_playlist_response), (handle_playlist_response_and_skip), (queue_get_playlist), (queue_get_playlist_and_skip): Use a single query model to store our last.fm playlist; we don't really have per-station playlists anyway, so it was stupid to pretend we did. Instead of changing station when the selection changes, just use the selected station when we need to refresh the playlist. If the station is activated, however, refresh the playlist and then skip to the first track. 2008-06-23 Jonathan Matthew * doc/reference/rhythmbox-sections.txt: * shell/rb-playlist-manager.c: (rb_playlist_manager_class_init): * shell/rb-playlist-manager.h: * sources/rb-library-source.c: * sources/rb-library-source.h: gtk-doc for RBPlaylistManager and RBLibrarySource. also remove rb_library_source_add_location, as it was unused. 2008-06-22 Jonathan Matthew * shell/rb-shell-clipboard.c: * shell/rb-shell-clipboard.h: gtk-doc for RBShellClipboard * doc/reference/rhythmbox-sections.txt: Remove vast amounts of stuff we don't really need to document 2008-06-22 Jonathan Matthew * doc/reference/rhythmbox-sections.txt: * shell/rb-shell-preferences.c: * shell/rb-shell-preferences.h: * sources/rb-browser-source.c: * sources/rb-browser-source.h: gtk-doc for RBShellPreferences and RBBrowserSource 2008-06-22 Jonathan Matthew * shell/rb-shell-player.c: (rb_shell_player_class_init), (rb_shell_player_get_playing_path): * shell/rb-shell-player.h: gtk-doc for RBShellPlayer 2008-06-20 Christophe Fergeau * plugins/ipod/rb-ipod-source.c: read/write sort artist when transferring tracks between the library and an ipod 2008-06-20 Christophe Fergeau * plugins/ipod/rb-ipod-source.c: add an explanation about why we need a g_object_ref(_sink) in add_rb_playlist 2008-06-20 Christophe Fergeau patch by: Colin Leroy * plugins/ipod/rb-ipod-source.c: * plugins/ipod/rb-ipod-static-playlist-source.c: revert previous commit which was wrong, really fix bug #451265 by releasing the iPodDB and RbIpodSource references in RbIpodStaticPlaylistSource::delete_thyself instead of doing it in RbIpodStaticPlaylistSource::dispose 2008-06-18 Christophe Fergeau patch by: Colin Leroy * plugins/ipod/rb-ipod-source.c: (add_rb_playlist): remove extra g_object_ref when creating a new playlist. This extra ref prevented RbIpodSource and RbIpodDB objects from being disposed on RbIpodSource::delete_thyself, which prevented proper saving of the ipod database on ipod ejection. Fixes bug #451265 2008-06-18 Jonathan Matthew * plugins/audioscrobbler/rb-lastfm-source.c: (rb_lastfm_source_title_from_uri): Add translator comment for the 'user tag radio' format string. Fixes #538831. 2008-06-17 Jonathan Matthew patch by: John Millikin * backends/gstreamer/rb-player-gst.c: (process_tag): Fix a leak when we can't transform the tag value. Fixes #538690. 2008-06-15 Christophe Fergeau patch by: Niels Vorgaard Christensen * plugins/ipod/rb-ipod-source.c: properly use podcast date and time when transferring a podcast to the ipod, fixes bug #528814 2008-06-15 Jonathan Matthew patch by: Luca Ferretti * plugins/audioscrobbler/rb-lastfm-source.c: * plugins/cd-recorder/rb-cd-recorder-plugin.c: (impl_activate): * plugins/iradio/rb-iradio-source.c: (rb_iradio_source_constructor): * shell/rb-removable-media-manager.c: (rb_removable_media_manager_set_uimanager): * sources/rb-play-queue-source.c: (rb_play_queue_source_constructor): * sources/rb-podcast-source.c: (rb_podcast_source_constructor): Use short labels for toolbar buttons actions to avoid wasting space when the subject of the action is clear from context. From #516846. 2008-06-15 Christophe Fergeau patch by: Colin Leroy * lib/rb-file-helpers.h: * lib/rb-file-helpers.c: add rb_sanitize_uri_for_filesystem which filters out chars which are invalid on fat/vfat partitions * lib/rb-util.h: * lib/rb-util.c: add function to get the filesystem type given an uri * sources/rb-removable-media-source.c: sanitize filenames (ie strip invalid characters on the destination filename) before transferring a track to a removable device Fixes bug #374078 2008-06-15 Jonathan Matthew patch by: John Millikin * bindings/python/rhythmdb.override: Improve bindings for keyword methods: don't require a refstring for the keyword to already exist when adding one, and add an override for entry_keywords_get(). From #324540. 2008-06-15 Jonathan Matthew * configure.ac: Require totem-pl-parser 2.22.0 for some XSPF changes needed for last.fm streaming. 2008-06-15 Jonathan Matthew * shell/rb-shell-player.c: (rb_shell_player_set_source_internal), (rb_shell_player_set_queue_source_internal), (rb_shell_player_get_playing_entry), (rb_shell_player_set_playing_entry), (rb_shell_player_play_order_update_cb), (rb_shell_player_do_previous), (rb_shell_player_do_next_internal), (rb_shell_player_playpause), (rb_shell_player_entry_activated_cb), (rb_shell_player_property_row_activated_cb), (actually_set_playing_source): * sources/rb-play-queue-source.c: (rb_play_queue_source_dispose), (rb_play_queue_source_class_init), (rb_play_queue_source_constructor), (rb_play_queue_source_get_property): * sources/rb-source.c: (rb_source_class_init), (rb_source_get_property): Allow the current playing source to provide its own play order, overriding the user's selected play order. Rework some bits of the play queue code to use this. * rhythmdb/rhythmdb.h: Add #defines for cover art extra metadata items. * sources/rb-streaming-source.c: (rb_streaming_source_get_progress): Fix some tiny leaks. * plugins/audioscrobbler/Makefile.am: * plugins/audioscrobbler/audioscrobbler-ui.xml: * plugins/audioscrobbler/rb-lastfm-gst-src.c: * plugins/audioscrobbler/rb-lastfm-play-order.c: * plugins/audioscrobbler/rb-lastfm-play-order.h: * plugins/audioscrobbler/rb-lastfm-source.c: Massive rewrite for the ̇(not-so-̈̈) new streaming system, based on XSPF playlists containing ind̬ividual tracks. No custom GStreamer source element required. As the playlist entries can only be played once, and seemingly have to be played in order, use a play order that tries to enforce these restrictions. Fixes #518231, and consequently #373615, #451893, #462595, #466276, #500214, and #532399. 2008-06-14 Christophe Fergeau Patch by James "Doc" Livingston * plugins/ipod/Makefile.am: * plugins/ipod/ipod-ui.xml: * plugins/ipod/rb-ipod-db.c: * plugins/ipod/rb-ipod-db.h: * plugins/ipod/rb-ipod-plugin.c: * plugins/ipod/rb-ipod-source.c: * plugins/ipod/rb-ipod-source.h: * plugins/ipod/rb-ipod-static-playlist-source.c: * plugins/ipod/rb-ipod-static-playlist-source.h: makes it possible to create/remove/rename static ipod playlists, fixes bug #451265 2008-06-14 Christophe Fergeau * plugins/ipod/rb-ipod-source.c * plugins/ipod/rb-ipod-db.c: * configure.ac: requires libgpod 0.6 to build the ipod plugin, libgpod 0.6 is required for ipod classic/video nano support 2008-06-14 Jonathan Matthew * backends/gstreamer/rb-player-gst-xfade.c: (link_unblocked_cb): Remove extra stream unref, and only check the stream state while holding the stream list lock, just for safety. Fixes #529427. 2008-06-12 Jonathan Matthew patch by: Marcin Galazka * widgets/rb-entry-view.c: (rb_entry_view_new): * widgets/rb-property-view.c: (rb_property_view_new): Set vertical scrollbar policy to automatic. Fixes #516742. 2008-06-12 Jonathan Matthew * lib/rb-util.c: (get_mount_points): Unref volumes, rather than re-refing them. Spotted by Colin Leroy, #537786. 2008-06-12 Christophe Fergeau * plugins/ipod/rb-ipod-source.c: (create_ipod_song_from_entry): properly extract the year from the time_t we get from a PROP_DURATION, this fixes bug #536194, before that patch, the year on songs transferred to an ipod was set to a bogus value 2008-06-11 Christophe Fergeau Patch by Philippe Troin * plugins/ipod/rb-ipod-db.c: (rb_ipod_db_load): properly detect shuffles 2g and 3g as ipod shuffles, fixes bug #528301 2008-04-08 Christophe Fergeau * plugins/ipod/rb-ipod-source.c: add the 'first added' column to the ipod view, fixes bug #512476 2008-06-11 Christophe Fergeau Patch by Shogun * plugins/ipod/rb-ipod-source.c: (impl_get_mime_types): favour aac over mp3s when transferring to an ipod * sources/rb-removable-media-source.c: (impl_paste): audio/x-m4a files are to be handled as audio/mpeg files Fixes bug #508537 2008-06-10 Jonathan Matthew * backends/gstreamer/rb-player-gst-xfade.c: (start_sink): While waiting for the sink to start, pass messages that aren't related to the sink back to the regular bus callback. Fixes buffering status not being reported for streaming, and possibly other stuff. 2008-06-09 Jonathan Matthew patch by: Jeremy Katz * data/rhythmbox.schemas: Add schema for library_strip_chars. From #535313. 2008-06-09 Jonathan Matthew * plugins/audioscrobbler/rb-audioscrobbler.c: (rb_audioscrobbler_gconf_changed_cb): Check if the username/password actually changes, and if it has, reset the handshake timer as well as forgetting if we have a handshake. Fixes #499745 I guess. 2008-06-09 Jonathan Matthew * plugins/artdisplay/artdisplay/LocalCoverArtSearch.py: Look for images with filenames containing the artist and album name from the track we're looking for, and failing that, the longest shared prefix with the track's file name. Should help us find covers from jamendo downloads, and various other things. Fixes #414609. 2008-06-09 Jonathan Matthew * lib/rb-marshal.list: Add missing marshaller from the fix for #508267. 2008-06-09 Jonathan Matthew * shell/rb-statusbar.c: (rb_statusbar_init): Set the size request height on the progress bar so it doesn't cause the status bar to expand when visible. Hopefully fixes #368757 forever. 2008-06-09 Jonathan Matthew * rhythmdb/rhythmdb-query-model.c: (rhythmdb_query_model_class_init), (rhythmdb_query_model_drag_data_received): * rhythmdb/rhythmdb-query-model.h: Add a new signal, 'filter-entry-drop', allowing model owners (sources, mostly) to filter out existing entries being dropped in. * sources/rb-source.c: (_rb_source_check_entry_type): * sources/rb-source.h: Add a helper function for checking entry types against a source's entry type. * sources/rb-playlist-source.c: (rb_playlist_source_entry_added_cb): Filter out newly added entries that don't match the playlist's entry type, but were in the location map (drag and drop from outside rhythmbox). * sources/rb-static-playlist-source.c: (rb_static_playlist_source_constructor), (rb_static_playlist_source_add_location_internal), (rb_static_playlist_source_filter_entry_drop): Use the query model filter-entry-drop signal to filter out drops of entries that don't match the playlist entry type. Fixes #508267. 2008-06-09 Jonathan Matthew patch partly by: David Turner * data/glade/library-prefs.glade: Add a label for the library location entry box and put the key shortcut there, rather than on the 'library location' heading. From #445965. 2008-06-08 Jonathan Matthew patch by: Andreas Henriksson * plugins/artdisplay/artdisplay/CoverArtDatabase.py: Move cover art cache directory to $XDG_CACHE_HOME. From #502006. 2008-06-08 Jonathan Matthew patch mostly by: Mats Taraldsvik * bindings/python/rhythmdb.defs: * bindings/python/rhythmdb.override: Add bindings for the entry type save_to_disk property. Fixes #534062. 2008-06-07 Jonathan Matthew patch by: Adam Zimmerman * plugins/magnatune/magnatune/MagnatuneSource.py: Change partner ID to 'rhythmbox'. Fixes #533893. 2008-06-07 Jonathan Matthew * backends/gstreamer/rb-encoder-gst.c: (rb_encoder_gst_finalize), (rb_encoder_gst_emit_completed), (rb_encoder_gst_encode): * backends/rb-encoder.c: (rb_encoder_interface_init), (_rb_encoder_emit_completed): * backends/rb-encoder.h: * bindings/python/rb.defs: * lib/rb-marshal.list: * shell/rb-removable-media-manager.c: (completed_cb): * shell/rb-removable-media-manager.h: * sources/rb-library-source.c: (completed_cb): * sources/rb-removable-media-source.h: * sources/rb-removable-media-source.c: (_track_added_cb), (rb_removable_media_source_track_added): * plugins/ipod/rb-ipod-source.c: (impl_track_added): Add a file size argument to the encoder's 'completed' signal. * plugins/mtpdevice/rb-mtp-source.c: (transfer_track), (impl_track_added): Use it for libmtp transfers, rather than the size of the original file. Fixes #502771, hopefully. 2008-06-07 Jonathan Matthew * backends/gstreamer/rb-player-gst-xfade.c: (preroll_stream): Don't set stream->state after starting the state change; we already set it to PREROLLING beforehand, and it creates a race condition. From #484210. 2008-06-07 Jonathan Matthew patch by: F. Steinel * plugins/lyrics/lyrics/LeoslyricsParser.py: Python 2.4 compatibility. Fixes #531052. 2008-05-30 Bastien Nocera * shell/main.c (local_load_uri): Don't crash when passing a non-local URI, and there's no errors to report (Closes: #532396) 2008-05-30 Jonathan Matthew * sources/rb-library-source.c (rb_library_source_constructor): Convert default music directory to a URI before setting it in gconf. Fixes #487415. Patch more or less by Alexander Gitter. 2008-05-26 Jonathan Matthew * shell/rb-shell-player.c: (rb_shell_player_constructor), (rb_shell_player_handle_eos_unlocked), (rb_shell_player_set_playing_time): Revert some changes I accidentally committed. 2008-05-26 Jonathan Matthew * metadata/rb-metadata-dbus-client.c (kill_metadata_service), (start_metadata_service): Close the metadata helper process stdout pipe when cleaning up. Fixes #534582. 2008-05-24 Jonathan Matthew * shell/rb-play-order.c (default_playing_entry_removed): * shell/rb-shell-player.c (rb_shell_player_constructor), (rb_shell_player_handle_eos_unlocked), (rb_shell_player_slider_dragging_cb), (rb_shell_player_handle_eos), (rb_shell_player_get_playing_entry), (rb_shell_player_play), (rb_shell_player_do_previous), (rb_shell_player_do_next_internal), (rb_shell_player_cmd_previous), (rb_shell_player_cmd_next), (rb_shell_player_playpause), (rb_shell_player_set_playing_source_internal), (rb_shell_player_stop), (rb_shell_player_set_playing_time), (rb_shell_player_error), (new_playing_stream_idle_cb): * shell/rb-shell.c (rb_shell_activate_source), (rb_shell_source_deleted_cb), (rb_shell_quit): Use rb_shell_player_stop() instead of rb_shell_player_set_playing_source (player, NULL) to stop playback. When stopping playback, clear the playing source and the playing entry, and remove and idle callbacks for new playing streams. Incorporates patches by Sjoerd Simons and Jay Cornwall; fixes #498397, #529287, and probably #443425, #474569, and #451593. 2008-05-20 Christophe Fergeaui * plugins/ipod/rb-ipod-source.c: don't connect to notify::name too soon during RbIpodSource instanciation since RbIpodSource::priv::ipod_db must be set before the notify::name callback can be safely used, this fixes bug #524985. In impl_delete_thyself, don't try to use priv->ipod_db if it's NULL (which can happen with empty ipods) 2008-05-20 Jonathan Matthew * backends/gstreamer/rb-player-gst-xfade.c (dump_stream_list), (adjust_stream_base_time), (volume_changed_cb), (link_and_unblock_stream), (perform_seek), (post_eos_seek_blocked_cb), (rb_player_gst_xfade_bus_cb), (actually_start_stream), (get_times_and_stream), (start_sink), (rb_player_gst_xfade_open), (rb_player_gst_xfade_play), (rb_player_gst_xfade_pause), (rb_player_gst_xfade_set_replaygain), (rb_player_gst_xfade_set_time): * configure.ac: When starting the sink, process bus messages rather than just waiting for the state changes to complete. With this change, we require GStreamer 0.10.12 to build the crossfading player backend. Fixes #532434. Don't immediately remove streams that have ended, and allow seeking in such streams. There's no way to actually do this yet, but it's coming.. (#140020) 2008-05-14 Jonathan Matthew * backends/gstreamer/rb-player-gst-xfade.c (create_stream), (stream_src_blocked_cb): Increase the maximum buffer count of the preroll queue to 1000 (from 200) while prerolling, as a tiny fraction of all ogg vorbis files produce more than 200 buffers in the first second of decoded output. This allows prerolling to complete for these files. From #484210. 2008-05-08 Bastien Nocera * rhythmdb/rhythmdb-query-model.c (query_model_chain_can_reorder), (rhythmdb_query_model_row_drop_possible), (rhythmdb_query_model_row_drop_position): Patch from Jonathan Matthew to not make sorted queries look like drag destinations (Closes: #531759) 2008-05-04 Bastien Nocera * plugins/visualizer/rb-visualizer-plugin.c (totem_display_is_local): Fix string checking, spotted by Will Thompson (Closes: #531261) 2008-05-04 Jonathan Matthew * shell/rb-play-order-queue.c: (rb_queue_play_order_get_next): Rather than returning the entry after the current playing entry, return the earliest entry in the query model that isn't already playing. This makes the queue behave a little better when it gets shuffled or otherwise played out of order. * shell/rb-shell-player.c: (rb_shell_player_entry_activated_cb): When an entry in the queue is activated, don't move it to the start of the queue; the above change makes this work properly without looking weird. 2008-05-01 Jonathan Matthew * plugins/ipod/rb-ipod-source.c: (rb_ipod_song_artwork_add_cb): Don't query for artwork if either the album or artist name is NULL. Fixes #525324. 2008-05-01 Jonathan Matthew * plugins/lyrics/lyrics/__init__.py: oops 2008-04-30 Jonathan Matthew * data/ui/rhythmbox-ui.xml: * sources/rb-play-queue-source.c: (rb_play_queue_source_update_count), (rb_play_queue_source_cmd_shuffle): Add 'shuffle queue' action that, um, shuffles the queue. 2008-04-30 Jonathan Matthew * plugins/lyrics/lyrics/__init__.py: Localise a few strings that need it. Fixes #530157. 2008-04-29 Jonathan Matthew * backends/gstreamer/rb-player-gst-xfade.c: (post_stream_playing_message), (post_buffering_message), (link_unblocked_cb), (link_and_unblock_stream): If we emit a stream-playing signal to make buffering work, emit another when the stream actually starts playing, so the UI updates see that the player is actually playing. Fixes #482506. 2008-04-29 Jonathan Matthew patch by: Paul Drain * configure.ac: * doc/reference/Makefile.am: * rhythmdb/Makefile.am: * shell/rb-shell.c: Remove remnants of gda support. Fixes #530389. 2008-04-28 Jonathan Matthew patch by: Jay Cornwall * sources/rb-playlist-source.c: (rb_playlist_source_class_init), (rb_playlist_source_constructor), (rb_playlist_source_set_property), (rb_playlist_source_get_property), (rb_playlist_source_songs_sort_order_changed_cb), (rb_playlist_source_make_sorting_key): Add a 'sorting-name' property that is used to construct the GConf key in which to store the playlist sort order. * sources/rb-static-playlist-source.c: (rb_static_playlist_source_new), (rb_static_playlist_source_new_from_xml): * sources/rb-static-playlist-source.h: Add sorting name as a parameter when creating new static playlists. * widgets/rb-entry-view.c: (rb_entry_view_class_init), (rb_entry_view_set_property), (rb_entry_view_constructor): Allow the sort order GConf key to be changed after the widget is constructed. * plugins/daap/rb-daap-source.c: (rb_daap_source_connection_cb): Construct sorting names for DAAP playlist based on the DAAP share name combined with the playlist name. * plugins/ipod/rb-ipod-source.c: (add_rb_playlist): * shell/rb-playlist-manager.c: (rb_playlist_manager_new_playlist): Don't provide sorting keys for playlists created here. This allows DAAP playlists to be sorted by the user. From #327042. 2008-04-26 Jonathan Matthew * podcast/rb-podcast-parse.c: (rb_podcast_parse_error_quark), (rb_podcast_parse_load_feed): * podcast/rb-podcast-parse.h: * podcast/test-podcast-parse.c: (main): In rb_podcast_parse_load_feed, add a flag indicating that the feed already exists, and return a GError indicating what actually went wrong when we can't parse it. If the feed already exists, skip the MIME type check, as the user has already confirmed that they want to use the feed. * lib/rb-marshal.list: * podcast/rb-podcast-manager.c: (rb_podcast_manager_class_init), (rb_podcast_manager_head_query_cb), (rb_podcast_manager_subscribe_feed), (rb_podcast_manager_free_parse_result), (rb_podcast_manager_parse_complete_cb), (confirm_bad_mime_type), (rb_podcast_manager_thread_parse_feed), (rb_podcast_manager_update_synctime), (rb_podcast_manager_insert_feed), (rb_podcast_manager_handle_feed_error): * podcast/rb-podcast-manager.h: Add two new bits of information when parsing feeds: whether the user directly requested the feed be parsed (by adding a new feed, or updating a single existing feed), used to decide whether to show error dialogs; and whether the feed already exists in the database, which controls whether the MIME type check is performed. When the MIME type check fails for a new feed, ask the user to confirm they want to use the feed anyway, and if they do, set the existing feed flag and try again. * sources/rb-podcast-source.c: (rb_podcast_source_init), (rb_podcast_source_dispose), (rb_podcast_source_constructor), (rb_podcast_source_add_feed), (rb_podcast_source_cmd_update_feed), (rb_podcast_source_feed_error_cell_data_func), (rb_podcast_source_download_process_error_cb), (rb_podcast_source_entry_activated_cb), (rb_podcast_source_location_added_cb), (impl_add_uri), (rb_podcast_source_entry_changed_cb), (rb_podcast_source_pixbuf_clicked_cb): Add a column that displays the error icon for podcasts that had errors last time they were updated. The effect of all this is that you don't get error dialogs resulting from periodic podcast updates any more. Instead, the error icon indicates which feeds had problems, and provides access to the error information. Fixes #352493. 2008-04-23 Jonathan Matthew * doc/reference/rhythmbox.types: Remove some types we don't need to document * shell/rb-play-order.c: (rb_play_order_class_init): * shell/rb-play-order.h: gtk-doc for RBPlayOrder 2008-04-23 Jonathan Matthew * shell/rb-tray-icon.c: (rb_tray_icon_class_init), (rb_tray_icon_set_tooltip_icon), (rb_tray_icon_set_tooltip_secondary_markup): * shell/rb-tray-icon.h: gtk-doc for RBTrayIcon 2008-04-23 Jonathan Matthew * shell/rb-statusbar.c: (rb_statusbar_class_init), (rb_statusbar_set_source): * shell/rb-statusbar.h: gtk-doc for RBStatusbar 2008-04-23 Jonathan Matthew * shell/rb-source-header.c: (rb_source_header_class_init): * shell/rb-source-header.h: gtk-doc for RBSourceHeader 2008-04-23 Jonathan Matthew * doc/reference/rhythmbox-docs.sgml: * doc/reference/rhythmbox-sections.txt: * shell/rb-play-order-random.c: * shell/rb-play-order-random.h: gtk-doc for RBPlayOrderRandom 2008-04-23 Jonathan Matthew * lib/rb-glade-helpers.c: (rb_glade_xml_new): gtk-doc for glade helper functions. 2008-04-21 Jonathan Matthew patch by: Mika Wahlroos * plugins/audioscrobbler/audioscrobbler-prefs.glade: Update last.fm status page URL. Fixes #528966. 2008-04-17 James Livingston Giant pile of copyright header changes to mention the GPL-exception for GStreamer plugins, a few typo fixes, adding missing copyright headers to tests and updating of my email address. * backends/gstreamer/rb-encoder-gst.c: * backends/gstreamer/rb-encoder-gst.h: * backends/gstreamer/rb-player-gst-xfade.c: * backends/gstreamer/rb-player-gst-xfade.h: * backends/gstreamer/rb-player-gst.c: * backends/gstreamer/rb-player-gst.h: * backends/rb-encoder.c: * backends/rb-encoder.h: * backends/rb-player-gst-data-tee.c: * backends/rb-player-gst-data-tee.h: * backends/rb-player-gst-filter.c: * backends/rb-player-gst-filter.h: * backends/rb-player-gst-tee.c: * backends/rb-player-gst-tee.h: * backends/rb-player.c: * backends/rb-player.h: * bindings/python/override_common.c: * bindings/python/override_common.h: * lib/rb-async-queue-watch.c: * lib/rb-async-queue-watch.h: * lib/rb-cut-and-paste-code.c: * lib/rb-cut-and-paste-code.h: * lib/rb-debug.c: * lib/rb-debug.h: * lib/rb-file-helpers.c: * lib/rb-file-helpers.h: * lib/rb-glade-helpers.c: * lib/rb-glade-helpers.h: * lib/rb-preferences.h: * lib/rb-proxy-config.c: * lib/rb-proxy-config.h: * lib/rb-soup-compat.h: * lib/rb-stock-icons.c: * lib/rb-stock-icons.h: * lib/rb-string-value-map.c: * lib/rb-string-value-map.h: * lib/rb-thread.c: * lib/rb-thread.h: * lib/rb-util.c: * lib/rb-util.h: * metadata/rb-metadata-common.c: * metadata/rb-metadata-dbus-client.c: * metadata/rb-metadata-dbus-service.c: * metadata/rb-metadata-dbus.c: * metadata/rb-metadata-dbus.h: * metadata/rb-metadata-gst.c: * metadata/rb-metadata.h: * metadata/test-metadata.c: * plugins/artdisplay/artdisplay/AmazonCoverArtSearch.py: * plugins/artdisplay/artdisplay/CoverArtDatabase.py: * plugins/artdisplay/artdisplay/LocalCoverArtSearch.py: * plugins/artdisplay/artdisplay/PodcastCoverArtSearch.py: * plugins/artdisplay/artdisplay/__init__.py: * plugins/audiocd/rb-audiocd-plugin.c: * plugins/audiocd/rb-audiocd-source.c: * plugins/audiocd/rb-audiocd-source.h: * plugins/audiocd/sj-error.c: * plugins/audiocd/sj-error.h: * plugins/audiocd/sj-metadata-musicbrainz.c: * plugins/audiocd/sj-metadata-musicbrainz.h: * plugins/audiocd/sj-metadata.c: * plugins/audiocd/sj-metadata.h: * plugins/audiocd/sj-structures.c: * plugins/audiocd/sj-structures.h: * plugins/audioscrobbler/rb-audioscrobbler-entry.c: * plugins/audioscrobbler/rb-audioscrobbler-entry.h: * plugins/audioscrobbler/rb-audioscrobbler-plugin.c: * plugins/audioscrobbler/rb-audioscrobbler.c: * plugins/audioscrobbler/rb-audioscrobbler.h: * plugins/audioscrobbler/rb-lastfm-gst-src.c: * plugins/audioscrobbler/rb-lastfm-source.c: * plugins/audioscrobbler/rb-lastfm-source.h: * plugins/cd-recorder/rb-cd-recorder-plugin.c: * plugins/cd-recorder/rb-playlist-source-recorder.c: * plugins/cd-recorder/rb-playlist-source-recorder.h: * plugins/cd-recorder/rb-recorder-gst.c: * plugins/cd-recorder/rb-recorder.h: * plugins/coherence/upnp_coherence/MediaStore.py: * plugins/coherence/upnp_coherence/UpnpSource.py: * plugins/coherence/upnp_coherence/__init__.py: * plugins/daap/rb-daap-connection.c: * plugins/daap/rb-daap-connection.h: * plugins/daap/rb-daap-dialog.c: * plugins/daap/rb-daap-dialog.h: * plugins/daap/rb-daap-hash.c: * plugins/daap/rb-daap-hash.h: * plugins/daap/rb-daap-mdns-browser-avahi.c: * plugins/daap/rb-daap-mdns-browser-howl.c: * plugins/daap/rb-daap-mdns-browser.h: * plugins/daap/rb-daap-mdns-publisher-avahi.c: * plugins/daap/rb-daap-mdns-publisher-howl.c: * plugins/daap/rb-daap-mdns-publisher.h: * plugins/daap/rb-daap-plugin.c: * plugins/daap/rb-daap-plugin.h: * plugins/daap/rb-daap-share.c: * plugins/daap/rb-daap-share.h: * plugins/daap/rb-daap-sharing.c: * plugins/daap/rb-daap-sharing.h: * plugins/daap/rb-daap-source.c: * plugins/daap/rb-daap-source.h: * plugins/daap/rb-daap-src.c: * plugins/daap/rb-daap-src.h: * plugins/daap/rb-daap-structure.c: * plugins/daap/rb-daap-structure.h: * plugins/fmradio/rb-fm-radio-gst-src.c: * plugins/fmradio/rb-fm-radio-plugin.c: * 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: * 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: * plugins/generic-player/rb-generic-player-source.c: * plugins/generic-player/rb-generic-player-source.h: * plugins/generic-player/rb-nokia770-source.c: * plugins/generic-player/rb-nokia770-source.h: * plugins/generic-player/rb-psp-source.c: * plugins/generic-player/rb-psp-source.h: * plugins/ipod/rb-ipod-db.c: * plugins/ipod/rb-ipod-db.h: * plugins/ipod/rb-ipod-plugin.c: * plugins/ipod/rb-ipod-source.c: * plugins/ipod/rb-ipod-source.h: * plugins/iradio/rb-iradio-plugin.c: * plugins/iradio/rb-iradio-source.c: * plugins/iradio/rb-iradio-source.h: * plugins/iradio/rb-station-properties-dialog.c: * plugins/iradio/rb-station-properties-dialog.h: * plugins/jamendo/jamendo/__init__.py: * plugins/lirc/rb-lirc-plugin.c: * plugins/lyrics/lyrics/AstrawebParser.py: * plugins/lyrics/lyrics/LeoslyricsParser.py: * plugins/lyrics/lyrics/LyrcParser.py: * plugins/lyrics/lyrics/LyricWikiParser.py: * plugins/lyrics/lyrics/LyricsConfigureDialog.py: * plugins/lyrics/lyrics/LyricsParse.py: * plugins/lyrics/lyrics/WinampcnParser.py: * plugins/lyrics/lyrics/__init__.py: * plugins/magnatune/magnatune/BuyAlbumHandler.py: * plugins/magnatune/magnatune/MagnatuneSource.py: * plugins/magnatune/magnatune/TrackListHandler.py: * plugins/magnatune/magnatune/__init__.py: * plugins/mmkeys/rb-mmkeys-plugin.c: * plugins/mtpdevice/rb-mtp-plugin.c: * plugins/mtpdevice/rb-mtp-source.c: * plugins/mtpdevice/rb-mtp-source.h: * plugins/power-manager/rb-power-manager-plugin.c: * plugins/pythonconsole/pythonconsole.py: * plugins/rb-module.c: * plugins/rb-module.h: * plugins/rb-plugin-manager.c: * plugins/rb-plugin-manager.h: * plugins/rb-plugin.c: * plugins/rb-plugin.h: * plugins/rb-plugins-engine.c: * plugins/rb-plugins-engine.h: * plugins/rb-python-module.c: * plugins/rb-python-module.h: * plugins/rb-python-plugin.c: * plugins/rb-python-plugin.h: * plugins/rb/Coroutine.py: * plugins/rb/Loader.py: * plugins/rb/__init__.py: * plugins/sample/rb-sample-plugin.c: * plugins/visualizer/rb-fake-visualizer.c: * plugins/visualizer/rb-vis-widget.c: * plugins/visualizer/rb-vis-widget.h: * plugins/visualizer/rb-visualizer-plugin.c: * podcast/rb-feed-podcast-properties-dialog.c: * podcast/rb-feed-podcast-properties-dialog.h: * podcast/rb-podcast-manager.c: * podcast/rb-podcast-manager.h: * podcast/rb-podcast-parse.c: * podcast/rb-podcast-parse.h: * podcast/rb-podcast-properties-dialog.c: * podcast/rb-podcast-properties-dialog.h: * podcast/test-podcast-parse.c: * remote/dbus/rb-client.c: * rhythmdb/rb-refstring.c: * rhythmdb/rb-refstring.h: * rhythmdb/rhythmdb-gda.c: * rhythmdb/rhythmdb-gda.h: * rhythmdb/rhythmdb-import-job.c: * rhythmdb/rhythmdb-import-job.h: * rhythmdb/rhythmdb-monitor.c: * rhythmdb/rhythmdb-private.h: * rhythmdb/rhythmdb-property-model.c: * rhythmdb/rhythmdb-property-model.h: * rhythmdb/rhythmdb-query-model.c: * rhythmdb/rhythmdb-query-model.h: * rhythmdb/rhythmdb-query-results.c: * rhythmdb/rhythmdb-query-results.h: * rhythmdb/rhythmdb-query.c: * rhythmdb/rhythmdb-tree.c: * rhythmdb/rhythmdb-tree.h: * rhythmdb/rhythmdb.c: * rhythmdb/rhythmdb.h: * shell/main.c: * shell/rb-history.c: * shell/rb-history.h: * shell/rb-play-order-linear-loop.c: * shell/rb-play-order-linear-loop.h: * shell/rb-play-order-linear.c: * shell/rb-play-order-linear.h: * shell/rb-play-order-queue.c: * shell/rb-play-order-queue.h: * shell/rb-play-order-random-by-age-and-rating.c: * shell/rb-play-order-random-by-age-and-rating.h: * shell/rb-play-order-random-by-age.c: * shell/rb-play-order-random-by-age.h: * shell/rb-play-order-random-by-rating.c: * shell/rb-play-order-random-by-rating.h: * shell/rb-play-order-random-equal-weights.c: * shell/rb-play-order-random-equal-weights.h: * shell/rb-play-order-random.c: * shell/rb-play-order-random.h: * shell/rb-play-order-shuffle.c: * shell/rb-play-order-shuffle.h: * shell/rb-play-order.c: * shell/rb-play-order.h: * shell/rb-playlist-manager.c: * shell/rb-playlist-manager.h: * shell/rb-removable-media-manager.c: * shell/rb-removable-media-manager.h: * shell/rb-shell-clipboard.c: * shell/rb-shell-clipboard.h: * shell/rb-shell-player.c: * shell/rb-shell-player.h: * shell/rb-shell-preferences.c: * shell/rb-shell-preferences.h: * shell/rb-shell.c: * shell/rb-shell.h: * shell/rb-source-header.c: * shell/rb-source-header.h: * shell/rb-statusbar.c: * shell/rb-statusbar.h: * shell/rb-tray-icon.c: * shell/rb-tray-icon.h: * sources/rb-auto-playlist-source.c: * sources/rb-auto-playlist-source.h: * sources/rb-browser-source.c: * sources/rb-browser-source.h: * sources/rb-import-errors-source.c: * sources/rb-import-errors-source.h: * sources/rb-library-source.c: * sources/rb-library-source.h: * sources/rb-missing-files-source.c: * sources/rb-missing-files-source.h: * sources/rb-play-queue-source.c: * sources/rb-play-queue-source.h: * sources/rb-playlist-source.c: * sources/rb-playlist-source.h: * sources/rb-playlist-xml.h: * sources/rb-podcast-source.c: * sources/rb-podcast-source.h: * sources/rb-removable-media-source.c: * sources/rb-removable-media-source.h: * sources/rb-source-group.c: * sources/rb-source-group.h: * sources/rb-source.c: * sources/rb-source.h: * sources/rb-sourcelist-model.c: * sources/rb-sourcelist-model.h: * sources/rb-sourcelist.c: * sources/rb-sourcelist.h: * sources/rb-static-playlist-source.c: * sources/rb-static-playlist-source.h: * sources/rb-streaming-source.c: * sources/rb-streaming-source.h: * tests/bench-rhythmdb-load.c: * tests/test-audioscrobbler.c: * tests/test-file-helpers.c: * tests/test-rb-lib.c: * tests/test-rhythmdb-property-model.c: * tests/test-rhythmdb-query-model.c: * tests/test-rhythmdb-query.c: * tests/test-rhythmdb-tree-serialization.c: * tests/test-rhythmdb-view.c: * tests/test-rhythmdb.c: * tests/test-utils.c: * tests/test-utils.h: * widgets/rb-dialog.c: * widgets/rb-dialog.h: * widgets/rb-entry-view.c: * widgets/rb-entry-view.h: * widgets/rb-header.c: * widgets/rb-header.h: * widgets/rb-library-browser.c: * widgets/rb-library-browser.h: * widgets/rb-property-view.c: * widgets/rb-property-view.h: * widgets/rb-query-creator-private.h: * widgets/rb-query-creator-properties.c: * widgets/rb-query-creator.c: * widgets/rb-query-creator.h: * widgets/rb-rating-helper.c: * widgets/rb-rating-helper.h: * widgets/rb-rating.c: * widgets/rb-rating.h: * widgets/rb-search-entry.c: * widgets/rb-search-entry.h: * widgets/rb-song-info.c: * widgets/rb-song-info.h: * widgets/rb-uri-dialog.c: * widgets/rb-uri-dialog.h: 2008-04-14 Jonathan Matthew patch by: Mirco Müller * data/rhythmbox.schemas: * plugins/ipod/rb-ipod-source.c: (rb_ipod_source_class_init), (impl_get_browser_key), (impl_get_paned_key): * plugins/mtpdevice/rb-mtp-source.c: (rb_mtp_source_class_init), (impl_get_browser_key), (impl_get_paned_key): Add gconf keys for tracking the browser state for ipod and mtp devices, showing the browser by default. From #508555. 2008-04-13 Jonathan Matthew * podcast/rb-podcast-manager.c: (remove_if_not_downloaded), (rb_podcast_manager_insert_feed): When updating a podcast feed, remove any episodes that have not been downloaded and are no longer present in the feed. From #331942. 2008-04-12 Jonathan Matthew patch by: Edgar Luna * plugins/lyrics/lyrics/__init__.py: Use a HButtonBox for the buttons on the lyrics song info pane. Fixes #524258. 2008-04-11 Bastien Nocera * data/rhythmbox.desktop.in.in: Say that we handle URLs, otherwise only local filenames are passed * plugins/audiocd/rb-audiocd-source.c (_gnome_vfs_to_gvfs_cdda_uri), (impl_want_uri): Handle new-style gvfs cdda URIs * shell/rb-shell.c (rb_shell_load_uri): When passing URIs that are ignored by the playlist parser, try to find a source that it could match. Fixes starting Rhythmbox from a CDDA nautilus window, or autostarted on insertion (Closes: #526139) 2008-04-11 Jonathan Matthew patch by: Maximilian Grothusmann * plugins/artdisplay/artdisplay/AmazonCoverArtSearch.py: Use Amazon ECS 4.0 instead of the older discontinued service. Use batch searches to reduce the number of requests. Don't do the search when we don't have an artist name or an album name. Fixes #513851. 2008-04-10 Jonathan Matthew patch by: Thomas Andersen * plugins/lyrics/lyrics/__init__.py: Set the left margin to 6 on the text view used to display lyrics. Fixes #527054. 2008-04-09 Jonathan Matthew * backends/gstreamer/rb-player-gst-xfade.c: (emit_stream_error), (reap_streams), (schedule_stream_reap), (actually_start_stream): Hold the stream list lock while setting and clearing idle handler IDs, since we're doing this from gstreamer threads as well as the main thread. Don't clean up streams we're replacing in actually_start_stream directly, as that can lead to deadlock. Fixes #512226. 2008-04-08 Jonathan Matthew patch by: Frank Scholz * plugins/coherence/upnp_coherence/__init__.py: initialize self.coherence in the constructor so deactivate() works when coherence init fails. Fixes #514760. 2008-04-08 Jonathan Matthew patch by: Thomas Zander * backends/gstreamer/rb-player-gst-xfade.c: (emit_stream_error), (actually_start_stream): * shell/rb-shell-player.c: (rb_shell_player_do_previous), (rb_shell_player_cmd_previous): Apply the same logic used for the 'previous' action (restart the current track if more than 3s in) any time we're asked to go to the previous track. Fixes #521329. 2008-04-05 Jonathan Matthew * doc/reference/rhythmbox-sections.txt: * shell/rb-history.c: (rb_history_class_init), (rb_history_limit_size): * shell/rb-history.h: Add gtk-doc for RBHistory * doc/reference/rhythmbox-docs.sgml: No point documenting rb-missing-plugins 2008-04-04 Jonathan Matthew * plugins/audioscrobbler/Makefile.am: * plugins/audioscrobbler/rb-audioscrobbler-entry.c: * plugins/audioscrobbler/rb-audioscrobbler-entry.h: * plugins/audioscrobbler/rb-audioscrobbler.c: (rb_audioscrobbler_finalize), (maybe_add_current_song_to_queue), (rb_audioscrobbler_build_post_data), (rb_audioscrobbler_song_changed_cb), (rb_audioscrobbler_load_queue), (rb_audioscrobbler_save_queue), (rb_audioscrobbler_print_queue), (rb_audioscrobbler_free_queue_entries): Split code for dealing with audioscrobbler queue entries out to a separate file. Instead of formatting the timestamp when saving to disk, just save the time_t as an integer. Fixes #508895. * tests/Makefile.am: * tests/test-audioscrobbler.c: (START_TEST), (rb_audioscrobbler_suite), (main): Add a few simple tests to make sure queue entries survive being saved. Would have caught this and the soup_uri_decode thing. 2008-04-03 Jonathan Matthew * shell/rb-shell-player.c: (open_location_thread): Fix build break. 2008-04-03 Bastien Nocera * plugins/generic-player/rb-generic-player-playlist-source.c (load_playlist): * plugins/iradio/rb-iradio-source.c (handle_playlist_entry_cb), (rb_iradio_source_add_from_playlist): * shell/rb-playlist-manager.c (handle_playlist_entry_cb), (rb_playlist_manager_parse_file): * shell/rb-shell-player.c (open_location_thread): * shell/rb-shell.c (rb_shell_load_uri): * sources/rb-playlist-source.c (playlist_iter_func): Remove support for older versions of totem-pl-parser than what we require in configure.in, ignore inode/directory as well as x-directory/normal as the former is used by gvfs 2008-04-03 Jonathan Matthew * shell/rb-playlist-manager.c: (rb_playlist_manager_parse_file): Remove the playlist-ended callback. It was causing crashes (the 'metadata' parameter doesn't really exist), and doesn't do anything useful. Fixes #525901. 2008-03-31 Bastien Nocera * podcast/rb-podcast-parse.c (rb_podcast_parse_load_feed): Add patch to force the parsing of Podcasts as "playlists", fixes parsing of Podcasts when their URLs use unexpected suffixes for Podcasts (Closes: #524967) 2008-03-31 Jonathan Matthew * doc/reference/rhythmbox-sections.txt: * lib/rb-proxy-config.c: (rb_proxy_config_class_init): * lib/rb-proxy-config.h: * lib/rb-string-value-map.c: * lib/rb-string-value-map.h: Add gtk-doc for RBProxyConfig and RBStringValueMap. 2008-03-31 Jonathan Matthew * plugins/mtpdevice/rb-mtp-source.c: (impl_get_ui_actions): Add the MTP source eject action to the toolbar, not the removable source eject action. Fixes #525163. 2008-03-30 Jonathan Matthew * lib/rb-tree-dnd.c: (remove_select_on_drag_timeout), (rb_tree_dnd_add_drag_dest_support): * metadata/rb-metadata-common.c: * metadata/rb-metadata-dbus-client.c: (rb_metadata_get): * metadata/rb-metadata.h: * rhythmdb/rhythmdb-query-results.c: * sources/rb-source-group.c: * doc/reference/rhythmbox-sections.txt: Add/fix gtk-doc for tree drag and drop stuff, RBMetaData, RhythmDBQueryResults, RBSourceGroup. 2008-03-27 Jonathan Matthew * doc/reference/rhythmbox-sections.txt: * sources/rb-playlist-source.c: (rb_playlist_source_class_init): * sources/rb-playlist-source.h: * sources/rb-source.c: (rb_source_class_init): * sources/rb-sourcelist-model.c: (rb_sourcelist_model_class_init), (rb_sourcelist_model_column_get_type): * sources/rb-sourcelist-model.h: * sources/rb-sourcelist.c: (rb_sourcelist_class_init): * sources/rb-sourcelist.h: Add gtk-doc for RBPlaylistSource, RBSourceList, RBSourceListModel. Add gtk-doc for the new base-query-model property. 2008-03-27 Jonathan Matthew patch by: Sebastien Bacher * data/rhythmbox.desktop.in.in: Correct the MIME type for FLAC. Fixes #521998. 2008-03-26 Bastien Nocera * plugins/generic-player/rb-generic-player-source.c (set_playlist_formats), (debug_device_info), (rb_generic_player_source_get_playlist_format): Remove the checks for PLA support in totem-pl-parser, we depend on a version that's got support 2008-03-26 Jonathan Matthew * sources/rb-auto-playlist-source.c: (rb_auto_playlist_source_class_init), (rb_auto_playlist_source_set_property), (rb_auto_playlist_source_get_property): * sources/rb-browser-source.c: (rb_browser_source_class_init), (rb_browser_source_get_property): * sources/rb-source.c: (rb_source_class_init), (rb_source_get_property): * sources/rb-static-playlist-source.c: (rb_static_playlist_source_class_init), (rb_static_playlist_source_set_property), (rb_static_playlist_source_get_property): * sources/rb-static-playlist-source.h: Add new base-query-model property to RBSource to provide access to the unfiltered query model containing all entries for the source. Override this in a few places where that's actually different to the query-model property. * plugins/daap/rb-daap-share.c: (databases_cb): * plugins/generic-player/rb-generic-player-playlist-source.c: (save_playlist): * shell/rb-playlist-manager.c: (rb_playlist_manager_cmd_shuffle_playlist): Use base-query-model in a few places: sharing playlist contents, saving playlists to generic audio players, and shuffling playlists. Fixes #382980. 2008-03-26 Jonathan Matthew patch by: Nikolai Luthman * configure.ac: Move check for -fno-strict-aliasing outside the check for python, since we use it elsewhere. Fixes #524302. 2008-03-26 Jonathan Matthew * plugins/magnatune/magnatune/TrackListHandler.py: Use ogg previews in preference to mp3. Fixes #397097. 2008-03-25 Jonathan Matthew * backends/rb-encoder.c: (rb_encoder_interface_init): * doc/reference/rhythmbox-sections.txt: Add gtk-doc for RBEncoder 2008-03-24 Jonathan Matthew * doc/reference/rhythmbox-sections.txt: * sources/rb-missing-files-source.c: * sources/rb-missing-files-source.h: * sources/rb-play-queue-source.c: (rb_play_queue_source_class_init): * sources/rb-play-queue-source.h: Add gtk-doc for RBPlayQueueSource and RBMissingFilesSource 2008-03-23 Jonathan Matthew * backends/rb-player-gst-filter.c: (rb_player_gst_filter_interface_init): * backends/rb-player-gst-tee.c: (rb_player_gst_tee_interface_init): * backends/rb-player-gst-tee.h: * sources/rb-auto-playlist-source.c: * sources/rb-auto-playlist-source.h: * doc/reference/rhythmbox-sections.txt: Add docs for RBPlayerGstTee, RBPlayerGstFilter, RBAutoPlaylistSource * widgets/rb-entry-view.h: * widgets/rb-header.h: * widgets/rb-property-view.h: Rename some args to match the code. 2008-03-22 Christophe Fergeau * plugins/audioscrobbler/rb-audioscrobbler.c: with libsoup 2.4, soup_uri_decode no longer works in place as it used to, this is quite likely the cause for some songs being submitted as 'An%20Artist' to audioscrobbler instead of 'An Artist' 2008-03-22 Jonathan Matthew * doc/reference/rhythmbox-sections.txt: * widgets/rb-cell-renderer-pixbuf.c: (rb_cell_renderer_pixbuf_class_init): * widgets/rb-entry-view.c: (rb_entry_view_class_init), (rb_entry_view_get_time_date_column_sample): * widgets/rb-entry-view.h: * widgets/rb-header.c: (rb_header_class_init), (rb_header_sync_time): * widgets/rb-header.h: Add gtk-doc for RBCellRendererPixbuf, RBEntryView, and RBHeader. 2008-03-22 Jonathan Matthew * doc/reference/rhythmbox-sections.txt: * widgets/rb-property-view.c: (rb_property_view_class_init): * widgets/rb-property-view.h: * widgets/rb-query-creator.c: (rb_query_creator_class_init), (rb_query_creator_get_sort_order): * widgets/rb-query-creator.h: Add gtk-doc for RBPropertyView and RBQueryCreator 2008-03-21 Jonathan Matthew * backends/rb-player-gst-data-tee.c: (rb_player_gst_data_tee_interface_init): * backends/rb-player.c: (rb_player_interface_init): * lib/rb-async-queue-watch.c: (rb_async_queue_watch_dispatch): * lib/rb-async-queue-watch.h: * rhythmdb/rhythmdb-property-model.c: (rhythmdb_property_model_class_init): * sources/rb-source.c: (rb_source_class_init): * widgets/rb-cell-renderer-rating.c: (rb_cell_renderer_rating_class_init): * widgets/rb-rating.c: (rb_rating_class_init): * widgets/rb-search-entry.c: (rb_search_entry_class_init): * widgets/rb-uri-dialog.c: (rb_uri_dialog_class_init): Fix signal argument descriptions. Forgot to include the object emitting the signals.. * widgets/rb-song-info.c: (rb_song_info_class_init): * widgets/rb-song-info.h: * doc/reference/rhythmbox-sections.txt: gtk-doc for RBSongInfo. 2008-03-21 Jonathan Matthew * doc/reference/rhythmbox-sections.txt: * widgets/rb-dialog.c: * widgets/rb-dialog.h: * widgets/rb-rating-helper.c: * widgets/rb-rating.c: (rb_rating_class_init): * widgets/rb-rating.h: * widgets/rb-cell-renderer-rating.c: * widgets/rb-cell-renderer-rating.h: More gtk-doc additions (15%!). Remove declaration of rb_error_dialog_full, which never existed. Fix declaration of 'rated' signal on RBCellRendererRating. 2008-03-21 Jonathan Matthew * backends/rb-player-gst-data-tee.c: (rb_player_gst_data_tee_interface_init): * backends/rb-player-gst-data-tee.h: * backends/rb-player.c: (rb_player_interface_init): * doc/reference/rhythmbox-sections.txt: * lib/rb-async-queue-watch.c: * lib/rb-debug.c: * sources/rb-import-errors-source.c: * sources/rb-import-errors-source.h: * widgets/rb-search-entry.c: More gtk-doc additions and fixes. 2008-03-21 Jonathan Matthew * backends/rb-player.h: * lib/rb-file-helpers.c: * lib/rb-tree-dnd.c: * lib/rb-util.c: * plugins/audiocd/rb-audiocd-source.c: * plugins/audiocd/sj-metadata-musicbrainz.c: * plugins/daap/rb-daap-structure.h: * remote/dbus/rb-client.c: * rhythmdb/rhythmdb.c: * rhythmdb/rhythmdb.h: * shell/rb-history.c: * shell/rb-history.h: * shell/rb-play-order.h: * shell/rb-playlist-manager.c: * shell/rb-playlist-manager.h: * sources/rb-library-source.c: * tests/test-rhythmdb-query.c: (main): * widgets/libsexy/sexy-icon-entry.c: * widgets/rb-cell-renderer-rating.c: * widgets/rb-cell-renderer-rating.h: * widgets/rb-header.c: (rb_header_init): * widgets/rb-library-browser.c: (rb_library_browser_class_init): Fix lots of gtk-doc warnings * doc/reference/rhythmbox-sections.txt: Massive update 2008-03-21 Jonathan Matthew * sources/rb-source.c * backends/rb-player.c: (rb_player_interface_init), (rb_player_set_time): * backends/rb-player.h: * doc/reference/rhythmbox-sections.txt: Fix bits of gtk-doc for RBPlayer and RBSource. 2008-03-21 Jonathan Matthew * doc/reference/rhythmbox-sections.txt: * sources/rb-source.c: (rb_source_class_init), (rb_source_paste), (default_activate), (default_deactivate), (rb_source_activate), (rb_source_deactivate): * sources/rb-source.h: Add gtk-doc for RBSource. (10%!) 2008-03-20 Jonathan Matthew * doc/reference/rhythmbox-sections.txt: * widgets/rb-library-browser.c: (rb_library_browser_class_init): * widgets/rb-library-browser.h: * widgets/rb-search-entry.c: (rb_search_entry_class_init), (rb_search_entry_searching): * widgets/rb-search-entry.h: Add gtk-doc for RBLibraryBrowser and RBSearchEntry. * widgets/rb-uri-dialog.c: (rb_uri_dialog_class_init): Fix signal identifiers so they actually show up. 2008-03-19 Jonathan Matthew * doc/reference/rhythmbox.types: Bring this up to date too * doc/reference/Makefile.am: Base the makefile on a more recent example, update the list of ignored headers, add CFLAGS for libsoup 2008-03-19 Jonathan Matthew * doc/reference/rhythmbox-docs.sgml: Update the gtk-doc structure to match something approaching reality 2008-03-19 Jonathan Matthew * rhythmdb/rhythmdb.h: * rhythmdb/rhythmdb-import-job.h: * rhythmdb/rhythmdb-private.h: * rhythmdb/rhythmdb-property-model.h: * widgets/rb-uri-dialog.h: Rearrange struct/typedef bits so gtk-doc likes them (I'll probably end up doing this for every single class..) * rhythmdb/rhythmdb-import-job.c: * rhythmdb/rhythmdb-property-model.c: Add gtk-doc stuff for RhythmDBImportJob and RhythmDBPropertyModel * doc/reference/rhythmbox-sections.txt: Update this a bit 2008-03-18 Jonathan Matthew * widgets/rb-uri-dialog.c: (rb_uri_dialog_class_init): Add gtk-doc stuff for RBURIDialog. 2008-03-18 Jonathan Matthew * plugins/artdisplay/artdisplay/LocalCoverArtSearch.py: Return the full URI, rather than just the path. Allows local cover art searches to work on SMB shares. Fixes #517103. 2008-03-17 Bastien Nocera * shell/rb-shell.c (rb_shell_load_uri): Fix possible crasher (and probable with the device activation for removable devices), as the source list isn't ref'ed, we shouldn't unref it ourselves 2008-03-17 Jonathan Matthew * doc/reference/Makefile.am: Fix gtk-doc build (I hate link order problems), #522821.