2007-06-26 James Livingston * plugins/mtpdevice/Makefile.am:make distcheck pass * configure.ac: * NEWS: bump versions and update NEWS 2007-06-25 Jonathan Matthew * shell/rb-shell-player.c: (rb_shell_player_playing_changed_cb): Don't block the 'play' action signal handler if it's already blocked, since we now only allow one outstanding idle handler to unblock it and signal blocks are recursive. 2007-06-25 Jonathan Matthew * bindings/python/rb.defs: Bind the necessary stuff to add and show pages in the main UI notebook. 2007-06-24 James Livingston * bindings/python/rb.defs: * bindings/python/rb.override: * bindings/python/rhythmdb.defs: * bindings/python/rhythmdb.override: bind more things to python * sources/rb-sourcelist.c: (rb_sourcelist_class_init), (rb_sourcelist_constructor), (rb_sourcelist_new): don't do things in the _new function, do them in the constructor. Required for binding to python. 2007-06-24 Jonathan Matthew * backends/gstreamer/rb-player-gst-xfade.c: (stop_sink_later), (rb_player_gst_xfade_play): Fix some brain damage from the previous change to this file: only stop the sink if it's actually a good idea to. 2007-06-24 James Livingston * bindings/python/rb.override: remove accidently committed reference to rb-online-catalogue-source.h 2007-06-24 James Livingston patch by: Tim Retout * widgets/rb-property-view.c: (rb_property_view_get_selection): * widgets/rb-property-view.h: add rb_property_view_get_selection() method * bindings/python/rb.defs: * bindings/python/rb.override: bind the above. Fixes #449925 2007-06-24 James Livingston * bindings/python/override_common.c: (_helper_wrap_string_glist), (_helper_unwrap_boxed_pylist), (_helper_unwrap_gobject_pylist), (_helper_unwrap_string_pylist), (_helper_unwrap_boxed_gptrarray): * bindings/python/override_common.h: add some new wrap/unwrap methods and fix bugs in some existing ones. * bindings/python/rb.defs: * bindings/python/rb.override: * bindings/python/rhythmdb.override: bind a few more methods, as well as fixing lots of bugs: leaks when wrap/unwrapping lists, leaks from boxed_new, thread safety of some vfuncs * lib/rb-util.c: (rb_list_destroy_free), (rb_list_deep_free): * lib/rb-util.h: add a function similar to rb_list_deep_free, but taking the GDestroyNotify function to use, instead of g_free 2007-06-23 Jonathan Matthew * lib/rb-util.c: (rb_slist_deep_free): * lib/rb-util.h: New utility function to free a GSList and its contents. * sources/rb-library-source.c: (rb_library_source_constructor), (rb_library_source_preferences_sync), (rb_library_source_library_location_cb), (sanitize_pattern), (layout_example_label_update), (build_filename), (impl_can_paste), (impl_paste), (rb_library_source_sync_child_sources): When library_strip_chars is set in gconf, replace whitespace in the filename pattern with underscores. Fix numerous memory leaks while we're at it. Fixes #450281. 2007-06-23 Jonathan Matthew * shell/rb-shell-player.c: (rb_shell_player_dispose), (rb_shell_player_jump_to_current_cb), (new_playing_stream_idle_cb), (current_playing_stream_idle_cb), (playing_stream_cb), (_idle_unblock_signal_cb), (rb_shell_player_playing_changed_cb): Clean up all rb-shell-player idle and timeout handlers when disposed. Should fix #450108. 2007-06-23 Jonathan Matthew * backends/gstreamer/rb-player-gst-xfade.c: (stop_sink_later), (rb_player_gst_xfade_close): Don't shut the sink down straight away if we stop the last playing stream - things go slightly crazy if we start playing another stream immediately afterwards. 2007-06-20 James Livingston * plugins/lyrics/lyrics/__init__.py: disconnect from the create-song-info signal when deactivating. Stops there being multiple "lyrics" tabs. 2007-06-20 Jonathan Matthew * backends/gstreamer/rb-player-gst-xfade.c: (rb_player_gst_xfade_bus_cb): Pretend the function logging the imperfect stream details is called 'check-imperfect', just to make it a bit more usable. 2007-06-20 Jonathan Matthew * backends/gstreamer/rb-player-gst-xfade.c: (rb_player_gst_xfade_bus_cb), (create_stream): If appropriate debug output is enabled, include an identity in the stream bin with check-imperfect-timestamp and/or check-imperfect-offset set, and report resulting messages through rb_debug. Should help us figure out why particular files don't play well with the crossfading backend. * lib/rb-debug.c: (rb_debug_matches), (rb_debug_real): * lib/rb-debug.h: Add rb_debug_matches(), used in the above. 2007-06-19 Jonathan Matthew * data/Makefile.am: remove reference to appicon_DATA that apparently breaks autogen sometimes. 2007-06-19 James Livingston * plugins/lyrics/lyrics/LyricsConfigureDialog.py: * plugins/lyrics/lyrics/LyricsParse.py: handle the engines gconf key being unset better 2007-06-19 James Livingston * plugins/ipod/rb-ipod-source.c: (playlist_track_removed), (playlist_track_added), (impl_delete_thyself): disconnect the signals from the ipod playlist's query model before asking it to be destroyed. Stops us receiving the signals during destruction. Fixes #445699 2007-06-19 Jonathan Matthew * plugins/audioscrobbler/rb-lastfm-gst-src.c: (rb_lastfm_src_set_uri), (rb_lastfm_src_uri_set_uri): Return FALSE from set_uri when we can't create a http source element. Fixes #441785. 2007-06-19 Jonathan Matthew * plugins/ipod/rb-ipod-db.c: (rb_ipod_db_queue_set_thumbnail): Reference the right object (pixbuf, not track) 2007-06-18 Jonathan Matthew * lib/rb-file-helpers.c: (rb_uri_make_hidden): * lib/rb-file-helpers.h: Add a function to prepend a '.' to the file name component of a URI. * metadata/rb-metadata-gst.c: (rb_metadata_save): Use it to hide the temporary files used while updating metadata. Fixes #382376. 2007-06-18 Jonathan Matthew * shell/rb-shell-preferences.c: (rb_shell_preferences_new): Replace the source-must-have-a-name assertion with a warning, and just skip any sources that don't have names. Fixes #409540. 2007-06-18 Jonathan Matthew * data/glade/uri-new.glade: Set a width-request on the URI dialog. Fixes #445151. 2007-06-18 Jonathan Matthew * plugins/magnatune/magnatune/MagnatuneSource.py: * plugins/magnatune/magnatune/TrackListHandler.py: Store per-album info (cover art, artist info, purchase URLs) in per-album dicts, rather than per-track, and use the SKU to find the album info for a given track. Reduces memory usage by about 10MB (or about 50%). From #424423. 2007-06-17 James Livingston * plugins/lyrics/lyrics/LyricsConfigureDialog.py: * plugins/lyrics/lyrics/__init__.py: don't do crazy things when the gconf key for folders isn't set 2007-06-17 James Livingston * plugins/daap/rb-daap-src.c: define MSG_NOSIGNAL as 0 to be a no-op flag, if it isn't defined already. This hack is needed for platform which don't have it, such as Solaris. Fixes #447951 2007-06-17 James Livingston * plugins/ipod/rb-ipod-db.c: (rb_ipod_db_set_thumbnail_internal): fix C89 compatibility, add g_return_if_fail for some parameter checking 2007-06-17 James Livingston * plugins/audioscrobbler/rb-lastfm-source.c: (rb_lastfm_source_love_track), (rb_lastfm_source_skip_track), (rb_lastfm_source_ban_track), (rb_lastfm_source_new_song_cb): disable the last.fm buttons while we are in the middle of changing tracks. Fixes #416202 2007-06-17 James Livingston * rhythmdb/rhythmdb.c: (rhythmdb_entry_register_type): require entry types to have a name. Should catch any occurrances of 388783 if they happend again * plugins/audiocd/rb-audiocd-source.c: (rb_audiocd_source_new): * plugins/daap/rb-daap-source.c: (rb_daap_source_new): * plugins/generic-player/rb-nokia770-source.c: (rb_nokia770_source_new): * plugins/generic-player/rb-psp-source.c: (rb_psp_source_new): give these entry types a name 2007-06-17 James Livingston * plugins/lyrics/lyrics/Makefile.am: * plugins/sample-vala/Makefile.am: fix some distcheck stuff 2007-06-17 James Livingston * configure.ac: remove data/art/Makefile.in from the output * plugins/daap/rb-daap-source.c: (rb_daap_source_disconnect): fix a braino * po/POTFILES.in update for MTP and lyric plugins 2007-06-17 James Livingston * plugins/daap/rb-daap-source.c: (rb_daap_source_disconnect): don't attempt to disconnect if we aready are. Fixes #330201 2007-06-17 James Livingston patch by: Riley Patterson * plugins/mtpdevice/rb-mtp-source.c: (transfer_track): use the basename of the file, not the full path. Fixes #446813 2007-06-17 James Livingston patch by: Jaap A. Haitsma * data/Makefile.am: * shell/main.c: (main): * shell/rb-shell.c: (rb_shell_cmd_about): use out new icon in the about dialog, set the application name, update copyright year, and add website label. Fixes #448195 2007-06-16 James Livingston patch mostly by: Sirio Bolaños Puchet * configure.ac: * data/rhythmbox.schemas: * plugins/lyrics/Makefile.am: * plugins/lyrics/lyrics-prefs.glade: * plugins/lyrics/lyrics.py: * plugins/lyrics/lyrics.rb-plugin.desktop.in: * plugins/lyrics/lyrics/AstrawebParser.py: * plugins/lyrics/lyrics/LeoslyricsParser.py: * plugins/lyrics/lyrics/LyrcParser.py: * plugins/lyrics/lyrics/LyricsConfigureDialog.py: * plugins/lyrics/lyrics/LyricsParse.py: * plugins/lyrics/lyrics/Makefile.am: * plugins/lyrics/lyrics/__init__.py: Add support for multiple lyric searching backends (including lyrc.co.ar and astraweb.com), and generally improve things. use rb.Loader() to retrieve data instead of urllib. 2007-06-13 Jonathan Matthew * podcast/rb-podcast-manager.c: (rb_podcast_manager_next_file): Search for the start of the query string from the start of the URL, not the end, since the query string sometimes contains question marks. Fixes #446796. 2007-06-12 James Livingston * backends/gstreamer/rb-player-gst-xfade.c: (rb_player_gst_xfade_finalize): free the waiting filter elements as well as the tee ones. (pipeline_op), (rb_player_gst_xfade_add_tee), (rb_player_gst_xfade_remove_tee), (rb_player_gst_xfade_add_filter), (rb_player_gst_xfade_remove_filter): merge tee_op and filter_op together into pipeline_op, as they are identical apart from the previous element in the pipeline 2007-06-11 Jonathan Matthew * plugins/visualizer/rb-visualizer-plugin.c: (fixate_vis_caps): Use the visualization element's template caps, rather than what's already set, as the basis for fixating new caps. Makes quality changes work with the crossfading backend. 2007-06-11 Jonathan Matthew * rhythmdb/rhythmdb.c: (rhythmdb_entry_category_get_type): * rhythmdb/rhythmdb.h: Fix declaration of RhythmDBEntryCategory stuff so it actually compiles. 2007-06-10 Jonathan Matthew * bindings/python/rhythmdb.defs: * bindings/python/rhythmdb.override: * rhythmdb/rhythmdb.c: (rhythmdb_entry_category_type_get_type): * rhythmdb/rhythmdb.h: Convert RhythmDBEntryCategory into a proper enum and add python bindings for it. 2007-06-10 Christophe Fergeau * plugins/ipod/rb-ipod-source.c: update rating, last played time and play count on the iPod, fixes bug #374076 2007-06-10 Jonathan Matthew patch by: Jaap A. Haitsma * data/glade/playback-prefs.glade: Improve playback preferences usability a bit: - show the unit for crossfade time - change resolution of crossfade time slider to 0.1 - make the sliders keyboard controllable. From #445868. 2007-06-10 James Livingston patch by: Peter Grundström * configure.ac: * plugins/Makefile.am: * plugins/mtpdevice/Makefile.am: * plugins/mtpdevice/mtp-ui.xml: * plugins/mtpdevice/mtpdevice.rb-plugin.desktop.in: * plugins/mtpdevice/rb-mtp-plugin.c: * plugins/mtpdevice/rb-mtp-source.c: * plugins/mtpdevice/rb-mtp-source.h: add support for MTP media players. From #345006 2007-06-09 Jonathan Matthew * plugins/jamendo/jamendo/JamendoSaxHandler.py: Ignore the contents of the 'lyrics' and 'description' tags, which we don't use anyway. Reduces peak memory usage by ~20MB. From #424423. 2007-06-09 Jonathan Matthew Patch mostly by: Michael Monreal. * plugins/iradio/rb-iradio-source.c: * sources/rb-podcast-source.c: Add ellipses for the new iradio station and new podcast actions, since they bring up dialogs. Fixes #445149. * shell/rb-shell-clipboard.c: And remove the one in the 'new playlist' action, since it doesn't. 2007-06-09 Jonathan Matthew * backends/gstreamer/rb-player-gst-xfade.c: (start_stream_fade): Add a control pointer at timestamp 0 with the start volume, since GstController adds one there with the default volume now. Makes fading in work with gstreamer core 0.10.13.1+. 2007-06-07 Christophe Fergeau * plugins/ipod/Makefile.am: * plugins/ipod/rb-ipod-db.c: * plugins/ipod/rb-ipod-db.h: * plugins/ipod/rb-ipod-source.c: reworked ipod db handling to be able to write it from a different thread, this makes the UI much more responsive during iPod database saving, fixes bug #436319 2007-06-07 James Livingston patch by: Adam Zimmerman * plugins/magnatune/magnatune-purchase.glade: * plugins/magnatune/magnatune/MagnatuneSource.py: allow the use of MagnaTune gift cards. closes #436764 2007-06-07 James Livingston * bindings/python/override_common.c: (_helper_wrap_boxed_glist): make this function actually work. * bindings/python/rb.override: fix the binding of rb.EntryView.get_selected_entries() to wrap the list correctly * bindings/python/rhythmdb.override: add more informative error messages when you pass the wrong parameter type 2007-06-06 James Livingston patch by: Bastien Nocera * plugins/jamendo/jamendo-loading.glade: * plugins/jamendo/jamendo/JamendoSource.py: * plugins/magnatune/magnatune-loading.glade: * plugins/magnatune/magnatune/MagnatuneSource.py: don't do crazy things to the loading screen when the window is small. Fixes #419474 2007-06-06 Jonathan Matthew * plugins/audioscrobbler/rb-lastfm-source.c: (rb_lastfm_message_cb): Don't limit the number of response lines we process here. The number of lines in the response recently changed from 6 to 7. 2007-06-04 Luca Ferretti * data/icons/hicolor/22x22/actions/Makefile.am: Fix the build (by by svg, welcome xcf) 2007-06-04 Luca Ferretti * plugins/audioscrobbler/Makefile.am: * plugins/audioscrobbler/as-icon.png: * plugins/audioscrobbler/rb-audioscrobbler-plugin.c: (impl_activate): New audioscrobbles logo in Tango style. * plugins/magnatune/magnatune_circle_small.png: New Magnatune logo in Tango style. * plugins/jamendo/jamendo_logo_small.png: New Jamendo logo in Tango style. All icons from Alex "weej" Jones and Michael Monreal. Not (yet?) themeable. 2007-06-04 Luca Ferretti * data/icons/hicolor/22x22/actions/internet-radio-new.svg: removed * data/icons/hicolor/22x22/actions/internet-radio-new.xcf: added * data/icons/hicolor/22x22/actions/internet-radio-new.png: 22x22 icon with diferent star emblem, matching other icons in gnome-icon-theme. By Michael Monreal. 2007-06-04 Jonathan Matthew * plugins/artdisplay/artdisplay/AmazonCoverArtSearch.py: * plugins/artdisplay/artdisplay/CoverArtDatabase.py: Filter out empty cover art URLs. Fixes #442032. 2007-06-03 Jonathan Matthew * plugins/magnatune/magnatune/MagnatuneSource.py: Emit cover art notification in an idle handler so the art display plugin will have the right playing entry when it gets the signal. 2007-06-03 Jonathan Matthew * shell/rb-shell-clipboard.c: Use the new 'new playlist' icon here too. 2007-06-03 Jonathan Matthew * metadata/rb-metadata-gst.c: (rb_metadata_gst_load_tag): Fix the shorter duplicate tag check so it compares against the existing value, rather than the unprocessed incoming value. Fixes #442792. 2007-06-03 Jonathan Matthew * metadata/rb-metadata-gst.c: (rb_metadata_load): Make sure we process all pending messages on the bus. Stops tags from randomly being ignored. 2007-06-03 James Livingston patch by: Peter Grundström * sources/rb-removable-media-source.c: (rb_removable_media_source_constructor): allow use of this class without a GnomeVFSVolume. Fixes #443367 2007-06-02 James Livingston * plugins/audioscrobbler/rb-lastfm-source.c: (rb_lastfm_source_class_init), (rb_lastfm_source_new_station), (rb_lastfm_source_title_from_uri), (impl_want_uri), (impl_add_uri): make the last.fm source handle lastfm:// URIs, so you can play things by clicking on link in your browser 2007-06-02 James Livingston patch by: Bastien Nocera * plugins/rb-plugin.h: remove some relocations due to plugins. Fixes #431414 2007-06-02 Jonathan Matthew * metadata/rb-metadata-gst.c: (rb_metadata_bus_handler): Ignore "this appears to be a text file" errors from decodebin. Fixes #442793. 2007-06-02 James Livingston patch by: Tom Parker * configure.ac: fix non-HAL builds, closes #442616 2007-06-02 James Livingston patch by: Tom Parker * configure.ac: fix some maintainer mode stuff, closes #442618 2007-06-02 James Livingston patch by: Christophe Fergeau * plugins/ipod/rb-ipod-source.c: (impl_delete_thyself): * sources/rb-source.c: (rb_source_delete_thyself): fix a crasher, #442378 2007-06-02 James Livingston * backends/gstreamer/rb-player-gst-xfade.c: (really_add_tee), (really_remove_tee), (really_add_filter), (really_remove_filter): * backends/gstreamer/rb-player-gst.c: (rb_player_gst_add_tee), (rb_player_gst_remove_tee), (rb_player_gst_add_filter), (rb_player_gst_remove_filter): * backends/rb-player-gst-data-tee.c: (rb_player_gst_data_tee_interface_init), (_rb_player_gst_data_tee_emit_data_tee_inserted), (_rb_player_gst_data_tee_emit_data_tee_pre_remove): * backends/rb-player-gst-data-tee.h: * backends/rb-player-gst-filter.c: (rb_player_gst_filter_interface_init), (_rb_player_gst_filter_emit_filter_inserted), (_rb_player_gst_filter_emit_filter_pre_remove): * backends/rb-player-gst-filter.h: * backends/rb-player-gst-tee.c: (rb_player_gst_tee_interface_init), (_rb_player_gst_tee_emit_tee_inserted), (_rb_player_gst_tee_emit_tee_pre_remove): * backends/rb-player-gst-tee.h: add signals to indicate when a tee/filter/data-tee has been inserted, or is about to be removed, from a playback backend. Fixes #425580 patch by: Jonathan Matthew * plugins/visualizer/rb-visualizer-plugin.c: (bus_sync_message_cb), (tee_visualizer_inserted), (tee_visualizer_pre_remove), (impl_activate): use the above to fix visualisation "popping out" when enabled for a second time with non-playbin backends. Fixes #441927 2007-05-31 Luca Ferretti * data/icons/hicolor/16x16/apps/Makefile.am: * data/icons/hicolor/22x22/apps/Makefile.am: * data/icons/hicolor/32x32/apps/Makefile.am: * data/icons/hicolor/scalable/apps/Makefile.am: Install "rhythmbox" icon in $(datadir) as it is for all application icons. * data/icons/hicolor/Makefile.am: Add rules update icon cache on make install and make uninstall. 2007-05-31 Jonathan Matthew * metadata/rb-metadata-gst.c: (rb_metadata_gst_new_decoded_pad_cb), (rb_metadata_load): Fix some horribly worded and obsolete comments. 2007-05-30 Luca Ferretti * lib/rb-stock-icons.c: * lib/rb-stock-icons.h: * shell/rb-playlist-manager.c: * sources/rb-podcast-source.c: Use "-new" icons from previous commit, new stock icons defined. Patch by Michael Monreal. 2007-05-30 Luca Ferretti * data/icons/hicolor/22x22/actions/playlist-automatic-new.png * data/icons/hicolor/22x22/actions/podcast-new.xcf * data/icons/hicolor/22x22/actions/playlist-new.xcf * data/icons/hicolor/22x22/actions/podcast-new.png * data/icons/hicolor/22x22/actions/Makefile.am * data/icons/hicolor/22x22/actions/playlist-automatic-new.xcf * data/icons/hicolor/22x22/actions/playlist-new.png * data/icons/hicolor/32x32/actions/playlist-automatic-new.png * data/icons/hicolor/32x32/actions/playlist-new.svg * data/icons/hicolor/32x32/actions/Makefile.am * data/icons/hicolor/32x32/actions/playlist-automatic-new.svg * data/icons/hicolor/32x32/actions/playlist-new.png * data/icons/hicolor/16x16/actions/playlist-automatic-new.png * data/icons/hicolor/16x16/actions/podcast-new.xcf * data/icons/hicolor/16x16/actions/podcast-new.png * data/icons/hicolor/16x16/actions/playlist-new.xcf * data/icons/hicolor/16x16/actions/Makefile.am * data/icons/hicolor/16x16/actions/playlist-automatic-new.xcf * data/icons/hicolor/16x16/actions/playlist-new.png * data/icons/hicolor/scalable/actions/playlist-new.svg * data/icons/hicolor/scalable/actions/Makefile.am * data/icons/hicolor/scalable/actions/playlist-automatic-new.svg "-new" variants for playlist, playlist-automatic and podcast at different sizes, by Michael Monreal 2007-05-29 James Livingston patch by: Funda Wang * data/glade/library-prefs.glade: * sources/rb-library-source.c: (layout_example_label_update): Mark for translation two string that were accidently not. Fixes #441954 2007-05-29 Jonathan Matthew * metadata/rb-metadata-gst.c: (rb_metadata_load): Use gst_bus_poll instead of gst_bus_timed_pop to avoid requiring GStreamer 0.10.12.