1. 06 Sep, 2010 1 commit
  2. 17 Aug, 2010 1 commit
  3. 21 Feb, 2010 1 commit
  4. 14 Feb, 2010 1 commit
  5. 07 Feb, 2010 1 commit
  6. 06 Feb, 2010 1 commit
    • Jonathan Matthew's avatar
      metadata: remove the need to load metadata before saving · f1751ab2
      Jonathan Matthew authored
      There's no need to load the metadata first, the tags from the file will
      be available in the tag writing pipeline anyway.  When saving metadata,
      we need a typefind element in the pipeline, since we don't already know
      the file type.
      
      We now have a method to reset the metadata state.  This previously
      happened at the start of the loading process, but we don't necessarily
      do that between save operations any more.
      f1751ab2
  7. 04 Dec, 2009 1 commit
  8. 31 Jul, 2009 1 commit
  9. 29 Jun, 2009 1 commit
  10. 10 Jun, 2009 1 commit
  11. 08 Jun, 2009 6 commits
  12. 12 May, 2009 1 commit
  13. 08 May, 2009 1 commit
    • Jonathan Matthew's avatar
      use gst_bus_timed_pop instead of gst_bus_poll in metadata code · 9334497b
      Jonathan Matthew authored
      Described as 'pure evil' in the GStreamer API doc, gst_bus_poll runs the
      mainloop to process messages, which allows the metadata helper's
      inactivity timeout to be called during metadata save operations, killing
      metadata save operations that took longer than the timeout.
      9334497b
  14. 05 May, 2009 1 commit
  15. 29 Apr, 2009 1 commit
  16. 26 Apr, 2009 1 commit
  17. 25 Apr, 2009 1 commit
  18. 12 Apr, 2009 1 commit
    • Christophe Fergeau's avatar
      patch by: Sebastian Dransfeld <sebastid@tango.flipp.net> · 082185cb
      Christophe Fergeau authored
      2009-04-12  Christophe Fergeau  <cfergeau@mandriva.com>
      
      	patch by: Sebastian Dransfeld <sebastid@tango.flipp.net>
      
      	* backends/gstreamer/rb-encoder-gst.c:
      	* metadata/rb-metadata-common.c:
      	* metadata/rb-metadata-gst.c:
      	* metadata/rb-metadata.h:
      	* rhythmdb/rhythmdb-private.h:
      	* rhythmdb/rhythmdb-tree.c:
      	* rhythmdb/rhythmdb.c:
      	* rhythmdb/rhythmdb.h: read album sort tag from gstreamer and store
      	it in rhythmbox database. Fixes part of bug #577753.
      
      svn path=/trunk/; revision=6287
      082185cb
  19. 28 Jan, 2009 1 commit
  20. 22 Nov, 2008 1 commit
    • Jonathan Matthew's avatar
      Use mp4mux instead of qtmux. · a6c4532d
      Jonathan Matthew authored
      2008-11-23  Jonathan Matthew  <jonathan@d14n.org>
      
      	* metadata/rb-metadata-gst.c: (qt_pad_added_cb),
      	(rb_add_qt_tagger), (rb_metadata_init):
      	Use mp4mux instead of qtmux.
      
      svn path=/trunk/; revision=6076
      a6c4532d
  21. 21 Nov, 2008 1 commit
    • Jonathan Matthew's avatar
      Remove the option of disabling track transfer. · fea8572b
      Jonathan Matthew authored
      2008-11-21  Jonathan Matthew  <jonathan@d14n.org>
      
      	* backends/Makefile.am:
      	* backends/gstreamer/Makefile.am:
      	* bindings/python/rb.override:
      	* corelib/Makefile.am:
      	* doc/reference/Makefile.am:
      	* plugins/audiocd/rb-audiocd-source.c: (impl_get_ui_actions):
      	* plugins/mtpdevice/rb-mtp-source.c: (rb_mtp_source_class_init):
      	* plugins/generic-player/rb-generic-player-source.h:
      	* shell/rb-removable-media-manager.c:
      	(rb_removable_media_manager_set_uimanager), (copy_entry),
      	(rb_removable_media_manager_cmd_copy_tracks):
      	* shell/rb-removable-media-manager.h:
      	* sources/Makefile.am:
      	* sources/rb-library-source.c: (rb_library_source_class_init),
      	(rb_library_source_dispose),
      	(rb_library_source_edit_profile_clicked_cb),
      	(impl_get_config_widget), (rb_library_source_preferences_sync),
      	(build_filename), (impl_can_paste), (impl_paste):
      	* sources/rb-removable-media-source.c:
      	(rb_removable_media_source_class_init):
      	Remove the option of disabling track transfer.
      
      	* metadata/Makefile.am:
      	Remove the option of disabling the metadata helper process.
      
      	* metadata/rb-metadata-gst.c: (rb_metadata_can_save):
      	Remove the option of disabling tag writing.
      
      	* lib/rb-proxy-config.c: (rb_proxy_config_get_libsoup_uri):
      	* lib/rb-proxy-config.h:
      	* plugins/Makefile.am:
      	* plugins/audioscrobbler/Makefile.am:
      	* plugins/daap/Makefile.am:
      	* shell/Makefile.am:
      	Remove the option of disabling audioscrobbler/last.fm.  This means
      	libsoup is always required.
      	
      	* plugins/ipod/rb-ipod-source.c: (rb_ipod_source_class_init),
      	(rb_ipod_source_constructor), (create_ipod_song_from_entry),
      	(ipod_path_from_unix_path):
      	Remove the option of disabling ipod writing.
      
      	* configure.ac:
      	all of the above.
      
      	libsoup and gnome-media-profiles are now mandatory.  #561142.
      
      svn path=/trunk/; revision=6074
      fea8572b
  22. 15 Nov, 2008 1 commit
  23. 02 Nov, 2008 1 commit
  24. 01 Oct, 2008 1 commit
    • William Jon McCann's avatar
      Fix one of the grammatical errors in the license exception. From #513617 · 39fcb426
      William Jon McCann authored
      2008-10-01  William Jon McCann  <jmccann@redhat.com>
      
      	* 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-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-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/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-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/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.h:
      	* plugins/daap/rb-daap-mdns-publisher-avahi.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-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/gedit-message-area.c:
      	* widgets/gedit-message-area.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:
      	Fix one of the grammatical errors in the license exception.
      	From #513617
      
      
      svn path=/trunk/; revision=5961
      39fcb426
  25. 07 Sep, 2008 1 commit
    • Jonathan Matthew's avatar
      Ignore RAR files. · 25c0dd70
      Jonathan Matthew authored
      2008-09-07  Jonathan Matthew  <jonathan@d14n.org>
      
      	* metadata/rb-metadata-gst.c:  Ignore RAR files.
      
      svn path=/trunk/; revision=5892
      25c0dd70
  26. 30 Aug, 2008 1 commit
  27. 29 Jul, 2008 1 commit
    • Jonathan Matthew's avatar
      GIO port, 6+ months in the making. magnatune and jamendo plugins still · d7c1aab1
      Jonathan Matthew authored
      2008-07-29  Jonathan Matthew  <jonathan@d14n.org>
      
      	GIO port, 6+ months in the making.
      	magnatune and jamendo plugins still need to be ported, and something
      	still needs to happen with the mtp plugin too.
      
      	* configure.ac:
      	* backends/gstreamer/Makefile.am:
      	* lib/Makefile.am:
      	Increase required versions of glib and nautilus-cd-burner (for gio),
      	and libsoup and gstreamer.  Drop howl mdns support.
      
      	* lib/gsequence.c:
      	* lib/gsequence.h:
      	* shell/rb-history.c:
      	* rhythmdb/rhythmdb-property-model.c:
      	* rhythmdb/rhythmdb-query-model.c:
      	Drop our internal copy of gsequence.  It was added to glib in 2.14, we
      	require 2.16 now.
      
      	* shell/Makefile.am:
      	* backends/rb-player.c: (rb_player_new):
      	* backends/gstreamer/rb-player-gst-xfade.c:
      	(rb_player_gst_xfade_class_init),
      	(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):
      	Always compile in the crossfading player backend and GStreamer missing
      	plugin support.
      
      	* lib/rb-proxy-config.c: (rb_proxy_config_get_libsoup_uri):
      	* lib/rb-proxy-config.h:
      	* lib/rb-soup-compat.h:
      	Drop libsoup 2.2.
      
      	* backends/gstreamer/rb-encoder-gst.c:
      	(rb_encoder_gst_emit_completed), (new_decoded_pad_cb),
      	(prompt_for_overwrite), (attach_output_pipeline),
      	(rb_encoder_gst_encode):
      	Where possible, use giostreamsink.  When creating the output stream,
      	prompt for overwriting if the target file already exists.  If
      	giostreamsink can't write to the target location, use whatever sink
      	gstreamer wants to use, without the overwrite prompt.
      
      	* lib/eel-gconf-extensions.c:
      	* lib/rb-file-helpers.c:
      	* lib/rb-file-helpers.h:
      	* lib/rb-util.c:
      	* lib/rb-util.h:
      	Rewrite file helper functions using gio, dropping some we don't need
      	any more (rb_uri_resolve_relative, mostly).  rb_uri_handle_recursively
      	and rb_uri_handle_recursively_async are now mostly our own
      	implementation, as gio doesn't provide anything like these functions.
      	Add some functions to check for free space on the drive containing a
      	directory, and something like g_file_make_directory_with_parents.
      
      	Leave URI canonicalisation up to gio entirely - just create a GFile
      	from the URI (or whatever) and extract the URI from it.
      
      	* metadata/rb-metadata-dbus-service.c: (main):
      	* metadata/rb-metadata-gst.c: (rb_metadata_init),
      	(make_undecodable_error), (rb_metadata_gst_unknown_type_cb),
      	(rb_metadata_handle_missing_plugin_message),
      	(rb_metadata_bus_handler), (rb_metadata_load), (rb_metadata_save),
      	(rb_metadata_has_missing_plugins),
      	(rb_metadata_get_missing_plugins):
      	* metadata/rb-metadata.h:
      	Remove gnome-vfs and gnome-authentication calls, remove #ifdefs for
      	missing plugin support, and use giostreamsink to create temporary
      	tag-writing output files and rename them over the original file.
      
      	* plugins/Makefile.am:
      	* plugins/audiocd/rb-audiocd-plugin.c:
      	* plugins/audiocd/rb-audiocd-source.c:
      	* plugins/audiocd/rb-audiocd-source.h:
      	* plugins/audiocd/sj-metadata-musicbrainz.c:
      	Instead of nautilus-cd-burner, ask HAL to identify audio CDs for us.
      	n-c-b wasn't really helping us much here.
      
      	* plugins/audioscrobbler/rb-audioscrobbler-entry.c:
      	* plugins/audioscrobbler/rb-audioscrobbler-entry.h:
      	* plugins/audioscrobbler/rb-audioscrobbler.c:
      	* plugins/audioscrobbler/rb-lastfm-source.c:
      	Drop libsoup 2.2 compatibility, use gio to load and save the queue
      	file.
      
      	* plugins/cd-recorder/rb-cd-recorder-plugin.c:
      	* plugins/cd-recorder/rb-playlist-source-recorder.c:
      	* plugins/cd-recorder/rb-recorder-gst.c:
      	Drop heaps of #ifdefs for old n-c-b versions, move free space checks
      	to rb-util.
      
      	* plugins/daap/Makefile.am:
      	* plugins/daap/rb-daap-connection.c:
      	* plugins/daap/rb-daap-plugin.c:
      	* plugins/daap/rb-daap-share.c:
      	* plugins/daap/rb-daap-src.c:
      	* plugins/daap/rb-daap-mdns-browser-howl.c:
      	* plugins/daap/rb-daap-mdns-publisher-howl.c:
      	Drop howl mdns and libsoup 2.2 support.  Use gio to send files to
      	clients.
      
      	* plugins/generic-player/rb-generic-player-playlist-source.c:
      	* 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:
      	Rewrite all file handling code with gio, create sources based off
      	GMounts.  Probably not using the right drive/volume name yet.
      	PSP and nokia770 sources are completely untested.
      
      	* 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:
      	Rewrite file/path handling code with gio.
      
      	* plugins/iradio/rb-iradio-source.c:
      	* plugins/iradio/rb-station-properties-dialog.c:
      	Use gio URI/file functions, replace gnome_vfs_uri_list_parse with
      	rb_uri_list_parse.
      
      	* plugins/magnatune/magnatune/BuyAlbumHandler.py:
      	* plugins/magnatune/magnatune/__init__.py:
      	Remove unnecessary gnomevfs imports
      
      	* plugins/mtpdevice/rb-mtp-plugin.c:
      	* plugins/mtpdevice/rb-mtp-source.c:
      	Rewrite some file handling code using gio, use new free space checking
      	function in rb-file-helpers.
      
      	* plugins/rb-plugins-engine.c:
      	Rewrite plugin scanning code with gio.
      
      	* plugins/rb/Loader.py:
      	Add a gio loader implementation that probably doesn't work, drop the
      	urllib implementation (we'll require a new enough version of pygobject
      	to allow us to just use the gio implementation soon)
      
      	* podcast/rb-feed-podcast-properties-dialog.c:
      	* podcast/rb-podcast-manager.c:
      	* podcast/rb-podcast-parse.c:
      	* podcast/rb-podcast-properties-dialog.c:
      	* podcast/test-podcast-parse.c: (main):
      	gio doesn't provide anything like gnome_vfs_async_xfer (thankfully!),
      	so add our own simple download thread.  Implement simple easily-fooled
      	download resume by seeking to an offset equal to the current size of
      	the local file.  Rewrite content type checking and URI display code
      	with gio.
      
      	* remote/dbus/Makefile.am:
      	* remote/dbus/rb-client.c: (main):
      	Remove glib version checks, rewrite argument handling using gio.
      
      	* rhythmdb/rhythmdb-import-job.c:
      	Update for rb_uri_handle_recursively_async changes, use a GCancellable
      	to cancel the import.
      	
      	* rhythmdb/rhythmdb-monitor.c:
      	Use gio file/directory monitoring.  Not quite using it fully yet -
      	G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT is probably useful.
      
      	* rhythmdb/rhythmdb-tree.c:
      	Bump database format number, as URIs need to be canonicalised yet
      	again.  Use a GCancellable to cancel loading.
      
      	* rhythmdb/Makefile.am:
      	* rhythmdb/rhythmdb-private.h:
      	* lib/rb-marshal.list:
      	* rhythmdb/rhythmdb.c:
      	* rhythmdb/rhythmdb.h:
      	gio doesn't have a 'stat 10000 files' function, so implement it ourselves
      	with a thread.  Attempt to mount volumes as required, emitting a
      	signal to create a mount operation (rhythmdb theoretically shouldn't
      	use gtk).  Move directory recursion into the action thread, rather
      	than creating a new thread each time.  Use GSlice to allocate
      	RhythmDBEvent and RhythmDBAction structures; we often have quite a lot
      	of them.  Remove the gnome-vfs trash code, leaving the gio code added
      	before 0.11.5.
      
      	* shell/main.c: (main), (load_uri_args):
      	Remove gnome authentication manager calls.  Use gio to process
      	commandline args.
      
      	* shell/rb-missing-plugins.c: (rb_missing_plugins_init):
      	* shell/rb-playlist-manager.c:
      	* shell/rb-shell-player.c: (rb_shell_player_class_init),
      	(volume_pre_unmount_cb), (rb_shell_player_init),
      	(missing_plugins_cb):
      	* shell/rb-shell-preferences.c: (help_cb),
      	(rb_shell_preferences_init), (rb_shell_preferences_sync):
      	* shell/rb-shell.c: (rb_shell_create_mount_op_cb), (construct_db),
      	(rb_shell_cmd_contents), (rb_shell_load_uri):
      	* shell/rb-tray-icon.c: (rb_tray_icon_drop_cb):
      	Various bits of rewriting for gio.  With new enough gtk+, use
      	gtk_show_uri to display help rather than gnome_help_display, and
      	create gtk mount operations when requested by rhythmdb.
      
      	* bindings/python/rb.override:
      	* shell/rb-removable-media-manager.c:
      	* shell/rb-removable-media-manager.h:
      	* sources/rb-removable-media-source.c:
      	Use gio's drive/volume/mount monitor.  Handle both mounts and volumes
      	because in some cases (audio CDs, mostly) we don't require the volume
      	to be mounted, but mostly we do.  If a source is created for a volume,
      	don't allow one to be created for the corresponding mount, and vice
      	versa.  When asked to 'eject', first try ejecting the volume, then the
      	mount, and then unmount instead.  If eject or unmount fails, don't
      	remove the corresponding source.
      
      	* sources/rb-auto-playlist-source.c:
      	* sources/rb-browser-source.c:
      	* sources/rb-library-source.c:
      	* sources/rb-play-queue-source.c:
      	* sources/rb-playlist-source.c:
      	* sources/rb-podcast-source.c:
      	* sources/rb-static-playlist-source.c:
      	Rewrite file handling, URI formatting, list parsing, etc. code with
      	gio equivalents.
      
      	* widgets/rb-entry-view.c: (rb_entry_view_location_cell_data_func):
      	* widgets/rb-entry-view.h:
      	* widgets/rb-property-view.c:
      	* widgets/rb-query-creator-properties.c:
      	(escapedStringCriteriaSetWidgetData),
      	(escapedStringCriteriaGetWidgetData):
      	* widgets/rb-song-info.c: (rb_song_info_update_filesize),
      	(rb_song_info_update_location):
      	* widgets/rb-uri-dialog.c:
      	Replace gnome-vfs URI formatting and unescaping functions with gio
      	equivalents.
      
      	* tests/bench-rhythmdb-load.c: (main):
      	* tests/test-audioscrobbler.c: (START_TEST):
      	* tests/test-file-helpers.c: (main):
      	* tests/test-rhythmdb-property-model.c: (main):
      	* tests/test-rhythmdb-query-model.c: (main):
      	* tests/test-rhythmdb.c: (main):
      	Update test programs, mostly removing gnome_vfs_init() and
      	gnome_vfs_shutdown().
      
      	* lib/rb-debug.c: (rb_debug_init_match):
      	Add gio log domain to the set we handle to interrupt debuggers.
      
      	From #510392, fixes #319758.
      
      svn path=/trunk/; revision=5825
      d7c1aab1
  28. 21 Jul, 2008 1 commit
    • Jonathan Matthew's avatar
      Ignore .bz2 files. · 4517537b
      Jonathan Matthew authored
      2008-07-21  Jonathan Matthew  <jonathan@d14n.org>
      
      	* metadata/rb-metadata-gst.c: Ignore .bz2 files.
      
      svn path=/trunk/; revision=5816
      4517537b
  29. 17 Apr, 2008 1 commit
  30. 20 Jan, 2008 1 commit
    • Jonathan Matthew's avatar
      As far as possible, rename musicbrainz_artistsortname to artist_sortname. · 766da322
      Jonathan Matthew authored
      2008-01-20  Jonathan Matthew  <jonathan@d14n.org>
      
      	* backends/gstreamer/rb-encoder-gst.c: (add_tags_from_entry):
      	* metadata/rb-metadata-common.c:
      	* metadata/rb-metadata-gst.c: (rb_metadata_gst_tag_to_field),
      	(rb_metadata_gst_field_to_gst_tag):
      	* metadata/rb-metadata.h:
      	* plugins/audiocd/rb-audiocd-source.c: (metadata_cb):
      	* rhythmdb/rhythmdb-private.h:
      	* rhythmdb/rhythmdb-tree.c: (save_entry):
      	* rhythmdb/rhythmdb.c: (metadata_field_from_prop),
      	(rhythmdb_entry_allocate), (rhythmdb_entry_finalize),
      	(set_props_from_metadata), (rhythmdb_entry_set_internal),
      	(rhythmdb_prop_type_get_type), (rhythmdb_entry_get_string),
      	(rhythmdb_entry_get_refstring):
      	* rhythmdb/rhythmdb.h:
      	As far as possible, rename musicbrainz_artistsortname to
      	artist_sortname.  It's not musicbrainz-specific.
      
      svn path=/trunk/; revision=5550
      766da322
  31. 12 Nov, 2007 1 commit
    • Jonathan Matthew's avatar
      Process GStreamer missing-plugin messages. This requires a slightly newer · 51f61a16
      Jonathan Matthew authored
      2007-11-12  Jonathan Matthew  <jonathan@d14n.org>
      
      	* 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.
      
      svn path=/trunk/; revision=5442
      51f61a16
  32. 18 Jun, 2007 1 commit
    • Jonathan Matthew's avatar
      Add a function to prepend a '.' to the file name component of a URI. · c4aa42d8
      Jonathan Matthew authored
      2007-06-18  Jonathan Matthew  <jonathan@kaolin.wh9.net>
      
      	* 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.
      
      svn path=/trunk/; revision=5196
      c4aa42d8
  33. 03 Jun, 2007 2 commits
  34. 02 Jun, 2007 1 commit