============ Version 0.9.4
2006-04-16 James Livingston <
[email protected]>
* configure.ac: bump version to 0.9.4
* NEWS: update NEWS and 0.9.4 insert translations
* plugins/pythonconsole/pythonconsole.py: import the rhythmdb
namespace automatically.
2006-04-16 James Livingston <
[email protected]>
* plugins/pythonconsole/pythonconsole.py: import the rhythmdb
namespace automatically.
2006-04-16 James Livingston <
[email protected]>
* data/rhythmbox.schemas: add the plugin's stuff to the gconf schema
* doc/reference/Makefile.am:
* doc/reference/rhythmbox.types: make distcheck work again
* doc/reference/tmpl/eggnotificationbubble.sgml:
* doc/reference/tmpl/eggtrayicon.sgml:
* doc/reference/tmpl/rb-debug.sgml:
* doc/reference/tmpl/rb-entry-view.sgml:
* doc/reference/tmpl/rb-enums.sgml:
* doc/reference/tmpl/rb-metadata.sgml:
* doc/reference/tmpl/rb-new-station-dialog.sgml:
* doc/reference/tmpl/rb-playlist-manager.sgml:
* doc/reference/tmpl/rb-refstring.sgml:
* doc/reference/tmpl/rb-shell-player.sgml:
* doc/reference/tmpl/rb-shell-preferences.sgml:
* doc/reference/tmpl/rb-shell.sgml:
* doc/reference/tmpl/rb-song-info.sgml:
* doc/reference/tmpl/rb-station-properties-dialog.sgml:
* doc/reference/tmpl/rb-statusbar.sgml:
* doc/reference/tmpl/rhythmbox-unused.sgml:
* doc/reference/tmpl/rhythmdb-query-model.sgml:
* doc/reference/tmpl/rhythmdb.sgml: update generared api doc stuff
2006-04-16 James Livingston <
[email protected]>
patch by: Christian Kirbach <
[email protected]>
* po/LINGUAS: don't split the variable across two lines, as it breaks
the build. Fixes bug 338625.
2006-04-15 James Livingston <
[email protected]>
* shell/rb-shell.c: (rb_shell_class_init), (rb_shell_get_property):
add a "sourcelist-model" gobject property.
2006-04-14 William Jon McCann <
[email protected]>
* .cvsignore:
* backends/.cvsignore:
* backends/gstreamer/.cvsignore:
* bindings/.cvsignore:
* bindings/python/.cvsignore:
* help/es/.cvsignore:
* metadata/.cvsignore:
* plugins/.cvsignore:
* plugins/audioscrobbler/.cvsignore:
* plugins/lirc/.cvsignore:
* plugins/pythonconsole/.cvsignore:
* plugins/sample-python/.cvsignore:
* plugins/sample/.cvsignore:
* shell/.cvsignore:
* widgets/libsexy/.cvsignore:
Make CVS ignore files.
2006-04-14 James Livingston <
[email protected]>
* sources/rb-audiocd-source.c: (rb_audiocd_source_constructor): make
the track-loading thread hold a reference on the source, so it doesn't
explode if the cd is removed before it is done. Fixes bug 337237.
2006-04-14 James Livingston <
[email protected]>
* bindings/python/override_common.c:
(_helper_unwrap_pointer_pylist):
* bindings/python/override_common.h:
* bindings/python/rb.override:
* bindings/python/rhythmdb.override: Bind some more functions and
virtual functions.
* shell/rb-shell.c: (rb_shell_select_source):
* shell/rb-source-header.c: (rb_source_header_set_source_internal):
* sources/rb-audiocd-source.c:
* sources/rb-auto-playlist-source.c: (impl_get_search_actions):
* sources/rb-browser-source.c: (impl_get_search_actions):
* sources/rb-iradio-source.c: (impl_get_ui_actions):
* sources/rb-play-queue-source.c: (impl_get_ui_actions):
* sources/rb-playlist-source.c: (impl_get_ui_actions):
* sources/rb-podcast-source.c: (impl_get_ui_actions),
(impl_get_search_actions):
* sources/rb-static-playlist-source.c: (impl_get_search_actions): Make
the impl_get_ui_actions and impl_get_search_actions functions return
lists that contain copies of the strings, instead of constant ones.
Needed to bindings
2006-04-14 James Livingston <
[email protected]>
* bindings/python/rhythmdb.defs:
* bindings/python/rhythmdb.override: fix the method argument format
specifiers.
2006-04-14 James Livingston <
[email protected]>
* bindings/python/rhythmdb.defs:
* bindings/python/rhythmdb.override:
* rhythmdb/rhythmdb.c: (rhythmdb_entry_get),
(entry_to_rb_metadata), (record_entry_change),
(rhythmdb_entry_set_visibility):
* rhythmdb/rhythmdb.h:
* shell/rb-shell.c: (rb_shell_get_song_properties): change
rhythmdb_entry_get to take the db as the first parameter. Fixes the
python bindings of it. The rhythmdb_entry_get_* ones are left the same
since they are used in too many places, and not in the Python
bindings.
2006-04-13 William Jon McCann <
[email protected]>
* lib/rb-debug.c: (_rb_profile_log):
* plugins/rb-plugins-engine.c: (rb_plugins_engine_init):
* rhythmdb/rhythmdb.c: (rhythmdb_load):
* shell/main.c: (main):
* shell/rb-shell.c: (rb_shell_constructor),
(rb_shell_set_visibility), (rb_shell_sync_window_state),
(rb_shell_present):
Fix profile output indentation. Add more profiling points.
Fixes part of #338114
2006-04-13 James Livingston <
[email protected]>
* shell/rb-shell.c: (rb_shell_source_deleted_cb): deal with the
library source being deleted, by setting the active source to NULL.
From bug 338116.
2006-04-12 Jonathan Matthew <
[email protected]>
* rhythmdb/rhythmdb.c: (rhythmdb_entry_sync_mirrored):
Update the last-seen string when hiddenness changes.
2006-04-12 James Livingston <
[email protected]>
* rhythmdb/rhythmdb.c: (rhythmdb_process_metadata_load): fix an issue
which caused the first-seen time to be reset when a metadata load was
done. Fixes bug 336874.
* shell/rb-shell.h: remove old function declaration.
* bindings/python/rhythmdb.defs:
* bindings/python/rhythmdb.override: Fix some python binding stuff.
2006-04-11 James Livingston <
[email protected]>
* shell/rb-shell.c: (rb_shell_sync_toolbar_state),
(rb_shell_sync_smalldisplay): fix toolbar-style/small-mode
interaction. Fixes bug 337999.
2006-04-11 James Livingston <
[email protected]>
patch by: Christohpe Fergeau <
[email protected]> to fix building without
track transfer. Fixes bug 338056.
* shell/Makefile.am:
2006-04-11 Jonathan Matthew <
[email protected]>
* widgets/Makefile.am: Fix automake complaints about LIBSEXY_LIBS
2006-04-10 William Jon McCann <
[email protected]>
* lib/rb-debug.c: (rb_profiler_free), (profile_add_indent),
(_rb_profile_log):
* lib/rb-debug.h:
* shell/rb-shell.c: (construct_db), (construct_widgets),
(construct_sources), (construct_load_ui), (rb_shell_constructor):
Add profiling. Fixes #337387
2006-04-10 William Jon McCann <
[email protected]>
* sources/rb-play-queue-source.c (rb_play_queue_source_track_info_cell_data_func):
* widgets/rb-header.c:
Use italics for artist and album. Fixes #336748
2006-04-10 James Livingston <
[email protected]>
* Makefile.am:
* backends/gstreamer/Makefile.am:
* configure.ac:
* data/glade/library-prefs.glade:
* shell/Makefile.am:
* shell/rb-removable-media-manager.c:
* shell/rb-removable-media-manager.h:
* sources/Makefile.am:
* sources/rb-audiocd-source.c:
* sources/rb-library-source.c: (rb_library_source_class_init),
(rb_library_source_finalize), (impl_get_config_widget),
(rb_library_source_preferences_sync), (impl_can_paste): add a
--enable-track-transfer configure option, abd make cd ripping disabled
by default.
* shell/rb-source-header.c:
* sources/rb-source.c: (rb_source_class_init),
(rb_source_delete_thyself), (default_get_entry_view):
* lib/rb-glade-helpers.c:
* shell/rb-shell.c: (rb_shell_view_queue_as_sidebar_changed_cb): Fix
some compiler warnings, and also bug 337427.
2006-04-10 James Livingston <
[email protected]>
* shell/rb-shell-player.c: (rb_shell_player_shuffle_changed_cb),
(rb_shell_player_repeat_changed_cb): don't fail to set the play order
if the gconf key is missing. Fixes bug 337742.
2006-04-10 James Livingston <
[email protected]>
patch by: Alex Lancaster <
[email protected]>
to fix build problems I caused with a commit yesterday. Fixed bug
337806.
* daapsharing/rb-daap-mdns-browser-howl.c:
(rb_daap_mdns_browser_class_init):
* podcast/Makefile.am:
* rhythmdb/Makefile.am:
* widgets/eggtrayicon.h:
2006-04-09 Steve Frécinaux <
[email protected]>
* configure.ac:
* po/LINGUAS:
Move ALL_LANGUAGES content to the po/LINGUAS file, to make our
translators' life easier.
2006-04-09 James Livingston <
[email protected]>
* bindings/python/rb.defs:
* bindings/python/rb.override: add bindings for most RBSource virtual
functions.
* sources/rb-source.h:
* sources/rb-source.c: (rb_source_class_init): make
impl_get_browser_key return a non-consht string, since Python can't
really give us constant strings.
* shell/rb-source-header.c: (rb_source_header_finalize),
(rb_source_header_set_source_internal):
* sources/rb-daap-source.c: (rb_daap_source_get_browser_key):
* sources/rb-iradio-source.c: (impl_get_browser_key):
* sources/rb-library-source.c: (impl_get_browser_key):
* sources/rb-playlist-source.c:
* sources/rb-browser-source.c: (rb_browser_source_constructor),
(rb_browser_source_state_prefs_sync):
* sources/rb-podcast-source.c: (impl_get_browser_key): Adapt to the
above change.
* plugins/sample-python/sample-python.py: show how to add a new
source.
2006-04-09 James Livingston <
[email protected]>
* daapsharing/Makefile.am:
* daapsharing/rb-daap-connection.c:
(rb_daap_connection_class_init):
* daapsharing/rb-daap-marshal.list:
* daapsharing/rb-daap-mdns-browser-avahi.c:
(rb_daap_mdns_browser_class_init):
* lib/rb-marshal.list:
* player/Makefile.am:
* player/rb-recorder-gst.c: (rb_recorder_class_init):
* player/rb-recorder-marshal.list:
* podcast/Makefile.am:
* podcast/rb-podcast-manager.c: (rb_podcast_manager_class_init):
* podcast/rb-podcast-marshal.list:
* rhythmdb/Makefile.am:
* rhythmdb/rhythmdb-marshal.list:
* rhythmdb/rhythmdb-query-model.c:
(rhythmdb_query_model_class_init):
* rhythmdb/rhythmdb.c: (rhythmdb_class_init): merge all the marshalers
into one file, as there is no point having several of them.
2006-04-09 James Livingston <
[email protected]>
* lib/Makefile.am:
* lib/rb-enums.h:
* widgets/Makefile.am:
* widgets/eggnotificationbubble.c:
* widgets/eggnotificationbubble.h:
* widgets/rb-song-info.c: remove lib/rb-enums.h and
widgets/eggnotificationbubble.{c,h}, since they aren't used any more
* rhythmdb/rhythmdb-property-model.h:
* rhythmdb/rhythmdb-query-model.h:
* rhythmdb/rhythmdb.h:
* shell/rb-playlist-manager.h:
* widgets/rb-cell-renderer-pixbuf.h:
* widgets/rb-cell-renderer-rating.h:
* widgets/rb-rating.h: fix the prototypes of various class-closures.
2006-04-09 Jonathan Matthew <
[email protected]>
* widgets/libsexy/Makefile.am: Actually use internal libsexy headers,
so we can build without a system-wide installed copy.
2006-04-09 James Livingston <
[email protected]>
* data/glade/general-prefs.glade:
* data/rhythmbox.schemas:
* lib/rb-glade-helpers.c: (rb_glade_boldify_label),
(rb_combo_box_hyphen_separator_func):
* lib/rb-glade-helpers.h:
* lib/rb-preferences.h:
* shell/rb-shell-preferences.c: (rb_shell_preferences_init),
(rb_shell_preferences_sync),
(rb_shell_preferences_toolbar_style_cb),
(rb_shell_preferences_browser_views_activated_cb):
* shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor),
(rb_shell_sync_toolbar_state), (toolbar_state_changed_cb): Allow the
overriding of the toolbar style, as the HIG suggests. Fixes bug 336797.
2006-04-09 James Livingston <
[email protected]>
* sources/rb-audiocd-source.c: (entry_set_string_prop): validate the
data that MusicBrainz returns to us. Last part of bug 334167.
2006-04-09 James Livingston <
[email protected]>
* podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed): fix a
crasher if xmlCreateMemoryParserCtxt returns NULL. Fixes bug 336842.
2006-04-09 James Livingston <
[email protected]>
* widgets/rb-entry-view.c: (rb_entry_view_rows_reordered_cb): update
the entry view properly when the rows are reordered. Fixes bug 337019.
2006-04-09 James Livingston <
[email protected]>
* configure.ac:
* widgets/Makefile.am:
* widgets/libsexy/Makefile.am:
* widgets/libsexy/sexy-icon-entry.c:
* widgets/libsexy/sexy-icon-entry.h: add an internal copy of part of
libsexy, and allow building against it or a system-wide installed
copy.
* widgets/rb-search-entry.c: (rb_search_entry_init),
(rb_search_entry_changed_cb): use libsexy to add a clear button to the
search box. Fixes bug 128109.
2006-04-09 James Livingston <
[email protected]>
patch by: Alex Lancaster <
[email protected]>
* widgets/rb-entry-view.c: (rb_entry_view_init),
(rb_entry_view_finalize), (rb_entry_view_constructor): use the Play
and Pause icons rather than the volume ones in the Now Playing column.
Closes bug 336482.
2006-04-08 James Livingston <
[email protected]>
* bindings/python/override_common.h:
* bindings/python/rb.override:
* bindings/python/rhythmdb.override: bind some more functions
2006-04-08 Jonathan Matthew <
[email protected]>
* metadata/rb-metadata-dbus-service.c: (_send_error):
Send NULL error messages as empty strings, so _NOT_AUDIO_IGNORE errors
are sent properly and we don't get 'method doesn't exist' messages
from dbus instead.
2006-04-08 James Livingston <
[email protected]>
* bindings/python/override_common.h:
* bindings/python/override_common.c: (_helper_wrap_pointer_glist),
(_helper_wrap_boxed_glist), (_helper_unwrap_string_pylist): add some
more utility functions for C<->Python conversions
* widgets/rb-entry-view.c: (rb_entry_view_column_get_type),
(rb_entry_view_state_get_type):
* widgets/rb-entry-view.h: make the colume type and entry view state
GTypes
* bindings/python/Makefile.am:
* bindings/python/rb.defs:
* bindings/python/rb.override: bind RBEntryView, RBPropertyView and
RBSource.
2006-04-08 James Livingston <
[email protected]>
* backends/gstreamer/rb-encoder-gst.c: (bus_watch_cb): add a missing
initialiser for a GError
* sources/rb-source.c: (rb_source_eof_type_get_type):
* sources/rb-source.h: add a GType for RBSourceEOFType
* bindings/python/Makefile.am:
* bindings/python/rb.defs:
* bindings/python/rb.override: bind RBSource and RBSourceList
2006-04-07 Jonathan Matthew <
[email protected]>
* shell/rb-shell-player.c: (rb_shell_player_class_init),
(rb_shell_player_get_property),
(rb_shell_player_get_active_source),
(rb_shell_player_set_playing_source_internal):
* shell/rb-shell-player.h:
Change 'playing-from-queue' from being a signal to being a property.
* shell/rb-shell.c: (rb_shell_constructor),
(rb_shell_playing_from_queue_cb),
(rb_shell_view_queue_as_sidebar_changed_cb),
(rb_shell_jump_to_entry_with_source):
When the queue side pane is used, make 'jump to current' jump to the
entry in the registered source for its type, rather than in the queue,
and show it as playing in that source.
* sources/rb-sourcelist.c: (rb_sourcelist_set_playing_source):
* sources/rb-sourcelist.h:
Remove the 'preempted source' stuff, since it wasn't doing anything
anyway.
2006-04-07 Jonathan Matthew <
[email protected]>
* podcast/rb-podcast-manager.c: (rb_podcast_manager_copy_post),
(download_progress_cb): Canonicalise downloaded file location before
setting the mountpoint property of the corresponding entry.
Fixes #337287 and a couple of memory leaks.
2006-04-06 Jonathan Matthew <
[email protected]>
* metadata/rb-metadata-dbus-service.c: (test_can_save),
(test_load), (main): Call g_set_prgname, report errors more
usefully in test mode.
* metadata/rb-metadata-gst.c: (rb_metadata_gst_typefind_cb),
(rb_metadata_load): Don't ignore the have-type signal for non-audio
files. Run the event loop when the state change fails so we get the
error messages from the bus. Fixes #336921.
2006-04-05 William Jon McCann <
[email protected]>
* data/art/Makefile.am: Install media-eject.
* lib/rb-stock-icons.c (rb_stock_icons_init): Check
return value of rb_file.
Fixes #337209
2006-04-05 Jonathan Matthew <
[email protected]>
Patch by: William Jon McCann <
[email protected]>
* metadata/test-metadata.c: (main): Use GOption to parse arguments.
* podcast/rb-podcast-manager.c: (rb_podcast_manager_save_metadata):
Fix GError leak.
2006-04-04 William Jon McCann <
[email protected]>
* backends/gstreamer/rb-encoder-gst.c (add_tags_from_entry):
Don't try to add a date when we don't have one. Fixes #336741.
Also fix variable declaration in middle of block.
2006-04-04 Jonathan Matthew <
[email protected]>
* shell/rb-shell-player.c: (rb_shell_player_playpause):
Don't crash if source is already NULL. Hackishly fixes bug #336912.
2006-04-02 James Livingston <
[email protected]>
* metadata/rb-metadata-gst.c: (rb_metadata_gst_typefind_cb): fix the
inverted logic causing imports to fail.
2006-04-02 Jonathan Matthew <
[email protected]>
* shell/main.c: (main): Fix dbusless build.
2006-04-02 Christophe Fergeau <
[email protected]>
* player/rb-recorder-gst.c: fix packing of the C struct holding a
wav header for non-gcc compilers (not tested much, was only written
according to docs)
2006-04-02 Jonathan Matthew <
[email protected]>
* shell/main.c: (main): Check if we got a dbus connection before
trying to create a proxy for the shell object. Fixes #336634.
2006-04-02 Jonathan Matthew <
[email protected]>
* doc/reference/Makefile.am:
* plugins/lirc/rb-lirc-plugin.c: (rb_lirc_plugin_class_init):
* shell/rb-source-header.c:
* sources/rb-generic-player-source.c:
(default_transform_playlist_uri):
Fix various build issues. Patch approximately 50% by Alex Lancaster
<
[email protected]>
2006-04-02 Jonathan Matthew <
[email protected]>
* configure.ac: Detect LIRC.
* plugins/Makefile.am:
* plugins/lirc/Makefile.am:
* plugins/lirc/lirc.rb-plugin.desktop.in:
* plugins/lirc/rb-lirc-plugin.c:
LIRC plugin.
* shell/Makefile.am, shell/rb-remote.c, shell/rb-remote.h:
Remove obsolete files.
2006-04-02 James Livingston <
[email protected]>
* sources/rb-generic-player-source.c:
(default_transform_playlist_uri): consider playlist paths as relative
to the volume root by default, since that is what most players use.
2006-04-02 James Livingston <
[email protected]>
* lib/rb-util.c: (rb_mime_get_friendly_name):
* lib/rb-util.h: add helper function to get the "friendly" name for a
mime-type
* metadata/rb-metadata-gst.c: (rb_metadata_init),
(rb_metadata_gst_typefind_cb), (rb_metadata_gst_unknown_type_cb): give
the user better error messages about undecodable streams, using the
"friendly" name if possible. Fixes bug 128109.
2006-04-02 James Livingston <
[email protected]>
* backends/gstreamer/rb-encoder-gst.c: (progress_timeout_cb),
(start_pipeline): fix building with gstreamer 0.8
2006-04-02 James Livingston <
[email protected]>
* sources/rb-podcast-source.c: (impl_delete),
(rb_podcast_source_cmd_delete_feed),
(rb_podcast_source_cmd_update_feed): copy the list before traversing
it, since it may change during traversal. Fixes bug 336204.
2006-04-01 James Livingston <
[email protected]>
* data/art/media-eject.png: add the media-eject icon from Banshee
(BSD-licensed), for use when the user's icon theme doesn't have one.
* lib/rb-stock-icons.c: (rb_stock_icons_init): use the above. Fixes
bug 334897.
2006-04-01 James Livingston <
[email protected]>
* shell/rb-shell-player.h:
* shell/rb-shell-player.c: (rb_shell_player_play),
(rb_shell_player_stop), (rb_shell_player_pause), (filter_mmkeys): add
new rb_shell_player_{play,pause} functions, so everyone doesn't have
to do rb_shell_player_playing followed by rb_shell_player_playpause.
* shell/rb-shell.c: (rb_shell_sync_smalldisplay),
(rb_shell_get_playlist_manager_path), (rb_shell_get_ui_manager):
* shell/rb-shell.h: add rb_shell_get_ui_manager.
* bindings/python/rb.defs: bind the above to Python, and remove some
useless stuff from the bindings.
2006-04-01 James Livingston <
[email protected]>
* backends/gstreamer/rb-encoder-gst.c: (add_tags_from_entry): add disc
number tag.
* shell/rb-shell.c:
* shell/rb-shell.h: export rb_shell_get_source_by_entry_type.
* sources/rb-daap-source.c: (rb_daap_source_class_init): set _can_copy
to true.
* sources/rb-iradio-source.c: (rb_iradio_source_class_init):
* sources/rb-podcast-source.c: (rb_podcast_source_class_init): reorder
method assigning, so it's understandable
* sources/rb-library-source.c: (rb_library_source_class_init),
(impl_paste): rather than hard-coding the types to ignore, use
rb_source_can_copy.
2006-03-31 Jonathan Matthew <
[email protected]>
* sources/rb-library-source.c:
(rb_library_source_preferences_sync):
Don't crash if no audio profile is selected and the gconf schemas are
not installed.
2006-03-31 James Livingston <
[email protected]>
* plugins/rb-python-module.c: (rb_python_module_load): add a missing
"*" which caused compilation to fail
2006-03-31 James Livingston <
[email protected]>
* configure.ac:
* Makefile.am:
* backends/Makefile.am:
* backends/gstreamer/Makefile.am:
* backends/gstreamer/rb-encoder-gst.c:
* backends/gstreamer/rb-encoder-gst.h:
* backends/rb-encoder.c:
* backends/rb-encoder.h: add a interface for transcoding, and a
GStreamer implementation of it (based on Sound-Juicer's code).
* shell/Makefile.am:
* shell/rb-removable-media-manager.c:
(rb_removable_media_manager_class_init),
(rb_removable_media_manager_init),
(rb_removable_media_manager_dispose),
(rb_removable_media_manager_finalize),
(rb_removable_media_manager_scan), (emit_progress), (error_cb),
(progress_cb), (completed_cb), (do_transfer),
(rb_removable_media_manager_queue_transfer), (copy_entry),
(rb_removable_media_manager_cmd_copy_tracks):
* shell/rb-removable-media-manager.h: use the encoder interface to
perform transfers of entries to other locations
* shell/rb-shell-player.c: (open_location_thread):
* shell/rb-shell.c: (rb_shell_class_init), (rb_shell_get_property),
(rb_shell_constructor), (rb_shell_transfer_progress_cb),
(rb_shell_quit):
* shell/rb-statusbar.c: (rb_statusbar_set_progress): display transfer
progress in the status bar.
* shell/rb-shell-preferences.c: (rb_shell_preferences_init),
(rb_shell_preferences_sync),
(rb_shell_preferences_browser_views_activated_cb):
* data/glade/general-prefs.glade: move the browser views setting from
the library tab to the general one.
* data/glade/library-prefs.glade: add settings for the layout of the
user's library, and their preferred encoding format (e.g. for CD
ripping).
* lib/rb-preferences.h:
* data/rhythmbox.schemas: add keys for the above options (and a few
other minor ones)
* rhythmdb/rhythmdb.c: (rhythmdb_entry_example_new):
* rhythmdb/rhythmdb.h: add a new function for creating an "example"
entry, that isn't inserted into the database.
* sources/rb-audiocd-source.c: (rb_audiocd_source_class_init),
(rb_audiocd_create_track_entry):
* data/ui/rhythmbox-ui.xml: add a toolbar button for ripping audio
cds, and set the mime-type of audio cd tracks correctly.
* sources/rb-library-source.c: (rb_library_source_class_init),
(rb_library_source_finalize),
(rb_library_source_edit_profile_clicked_cb),
(impl_get_config_widget), (rb_library_source_preferences_sync),
(impl_receive_drag), (rb_library_source_path_changed_cb),
(rb_library_source_filename_changed_cb),
(rb_library_source_format_changed_cb), (sanitize_path),
(filepath_parse_pattern), (layout_example_label_update),
(rb_library_source_layout_path_changed),
(rb_library_source_layout_filename_changed), (build_filename),
(impl_can_paste), (completed_cb), (impl_paste): allow the copying of
entries to the library. Large chunks of code for determining the
destination file name stolen from Sound-Juicer.
* sources/rb-sourcelist-model.c: (path_is_droppable):
* shell/rb-shell-clipboard.c: (rb_shell_clipboard_sync):
* sources/rb-static-playlist-source.c:
(rb_static_playlist_source_class_init):
* sources/rb-removable-media-source.c:
(rb_removable_media_source_class_init):
* sources/rb-source.c: (rb_source_class_init), (rb_source_can_cut),
(rb_source_can_paste):
* sources/rb-source.h: add a new _can_paste method, and use it (rather
than _can_copy) to determine whether we can paste into the source.
2006-03-31 Steve Frécinaux <
[email protected]>
* plugins/rb-python-module.c: allow import of python modules with a '.'
(gedit's bug 336403). Patch by Johan Dahlin.
2006-03-31 James Livingston <
[email protected]>
* sources/rb-library-source.c:
* sources/rb-library-source.h:
* sources/rb-browser-source.c:
* sources/rb-browser-source.h: Split RBLibrarySource into two.
RBBrowserSource now contains all the stuff for having a source which
views a particular entry type (including browsers and searching).
RBLibrarySource derives from this, and includes the library-specific
stuff, like importing and library watching. Fixes some issues where
library-derived sources were doing things that should be
library-specific. Fixes bug 335185.
* data/ui/rhythmbox-ui.xml:
* sources/Makefile.am: modifications for the above
* sources/rb-daap-source.c: (rb_daap_source_class_init),
(rb_daap_source_get_paned_key):
* sources/rb-daap-source.h:
* sources/rb-ipod-source.c: (rb_ipod_source_constructor):
* sources/rb-removable-media-source.c:
(rb_removable_media_source_class_init):
* sources/rb-removable-media-source.h: derive from RBBrowserSource
instead of RBLibrarySource.
2006-03-31 James Livingston <
[email protected]>
* rhythmdb/rhythmdb-query-model.c: use guin64 instead of guint, which
I buggered up when changing from GnomeVFSFileSize.
2006-03-30 James Livingston <
[email protected]>
* configure.ac: lower pygtk deps to 2.6, and add a makefile variable
for "-Wno-error".
* bindings/python/rb.override:
* bindings/python/Makefile.am: make the RB python bindings depend on
the RhythmDB ones, and use "-Wno-error" since the machine-generated
code sometimes emits warnings.
* shell/rb-shell-player.c: (rb_shell_player_class_init),
(rb_shell_player_error_get_type):
* shell/rb-shell-player.h:
* bindings/python/rb.defs: add bindings for RBShellPlayer
* rhythmdb/rhythmdb.c: (rhythmdb_init),
(rhythmdb_query_type_get_type), (rhythmdb_prop_type_get_type),
(rhythmdb_entry_get_type), (rhythmdb_query_get_type):
* rhythmdb/rhythmdb.h:
* shell/rb-shell.c: (rb_shell_get_song_properties):
* widgets/rb-entry-view.c: (propid_from_name):
* widgets/rb-property-view.c: (rb_property_view_class_init):
* bindings/python/rhythmdb.defs: make RhythmDBQuery a type (rather
than just plain GPtrArray, and add bindings for it.
* bindings/python/rhythmdb.override: wrap some functions that use
GValues
2006-03-30 Jonathan Matthew <
[email protected]>
* rhythmdb/rhythmdb.c: (rhythmdb_process_metadata_load):
Only watch directories from which entries of type SONG have been
added.
2006-03-29 Jonathan Matthew <
[email protected]>
* widgets/rb-library-browser.c: (rb_library_browser_set_selection):
No need to restore the selection after rebuilding the child model,
since that can't have changed the selection.
2006-03-29 James Livingston <
[email protected]>
* bindings/python/override_common.c:
* bindings/python/override_common.h: add some for missing files to
cvs.
2006-03-29 James Livingston <
[email protected]>
* configure.ac:
* bindings/python/Makefile.am: remove usage of gtksourceview, it was
copied from gedit's autofoo and we don't need it
* bindings/python/rhythmdb.defs:
* bindings/python/rhythmdb.override: add missing files to cvs
2006-03-29 Jonathan Matthew <
[email protected]>
* data/ui/rhythmbox-ui.xml: Add 'add to queue' menu item.
* metadata/rb-metadata-dbus-service.c: (main): Call rb_debug_init
before running any of the debug/test modes.
* plugins/rb-plugins-engine.c: (rb_plugins_engine_load_all):
Make plugin loading work when running uninstalled from the shell/
directory.
2006-03-29 James Livingston <
[email protected]>
* rhythmdb/rhythmdb-property-model.c:
(rhythmdb_property_model_sync),
(rhythmdb_property_model_column_get_type):
* rhythmdb/rhythmdb-property-model.h: make the column enum a GType
* rhythmdb/rhythmdb-private.h:
* rhythmdb/rhythmdb-query-model.c:
(rhythmdb_query_model_class_init):
* rhythmdb/rhythmdb-query-model.h:
* rhythmdb/rhythmdb.c: (rhythmdb_class_init),
(rhythmdb_compute_status_normal), (rhythmdb_get_property_type),
(rhythmdb_entry_get_type):
* rhythmdb/rhythmdb.h: make RhythmDBEntry a GType.
* widgets/rb-query-creator-properties.c:
* widgets/rb-song-display-box.c: #include <gnome-vfs-utils.h>, which
was missing.
* bindings/python/Makefile.am:
* bindings/python/rb.defs:
* bindings/python/rb.override:
* plugins/rb-python-module.c: (rb_python_module_init_python): add
Python bindings for RhythmDB.
2006-03-29 James Livingston <
[email protected]>
* shell/rb-shell.c: (rb_shell_constructor): don't activate DAAP
sharing when using --no-registration
2006-03-29 Jonathan Matthew <
[email protected]>
* rhythmdb/rhythmdb-query-model.c:
(rhythmdb_query_model_reapply_query):
Don't remove entries while iterating, as it breaks the sequence
nodes. Instead, collect a list of removed entries and process it
after iterating the sequence. Fixes #334642.
2006-03-29 James Livingston <
[email protected]>
* plugins/rb-plugin-manager.c: (active_toggled_cb),
(row_activated_cb), (plugin_manager_toggle_all):
* sources/rb-sourcelist.c: (rb_sourcelist_source_to_iter),
(rb_sourcelist_visible_source_to_iter), (row_activated_cb),
(button_press_cb), (source_name_edited_cb):
* widgets/rb-property-view.c: (rb_property_view_set_property),
(rb_property_view_post_row_deleted_cb),
(rb_property_view_row_activated_cb),
(rb_property_view_selection_changed_cb),
(rb_property_view_button_press_cb): fix warnings with GTK HEAD, about
ignoring the return value of gtk_tree_model_get_iter. Fixes bug 335516.
2006-03-29 Jonathan Matthew <
[email protected]>
* rhythmdb/rhythmdb-query-model.c:
(rhythmdb_query_model_drag_data_received):
Increment the reference count for entries added by drag and drop.
Fixes #336045.
2006-03-27 Jonathan Matthew <
[email protected]>
* daapsharing/rb-daap-connection.c: (entry_set_string_prop):
* metadata/rb-metadata-gst.c: (rb_metadata_gst_load_tag):
Ignore invalid UTF-8 strings. Fixes most of #334167.
2006-03-27 James Livingston <
[email protected]>
* shell/rb-shell.c: (rb_shell_constructor),
(rb_shell_sync_window_state): fix a maximise-realise race that would
cause some widgets to be resized after we had explicity set theri
size. Hopefully fixes bug 331927.
2006-03-27 James Livingston <
[email protected]>
* plugins/rb-plugin-manager.c: (active_toggled_cb),
(row_activated_cb), (plugin_manager_set_active),
(plugin_manager_toggle_active), (plugin_manager_toggle_all): update
configure button sensitivity when a plugin is enabled/disabled.
2006-03-27 James Livingston <
[email protected]>
* data/glade/plugins.glade: turn from a GtkDialog to a GtkWindow to
stop warnings, only the vbos is used anyway
* plugins/rb-plugins-engine.c: (garbage_collect_cb),
(rb_plugins_engine_init), (rb_plugins_engine_shutdown): run gabage
collection every now an then.
* plugins/rb-python-plugin.c: (rb_python_object_finalize): don't crash
if we are finalising because the python object couldn't be created.
* plugins/rb-python-module.c: (rb_python_module_new_object): return
NULL if the python-side object couldn't be created. Stops crashes when
the object is later used when it doesn't exist in Python.
(run_gc), (rb_python_garbage_collect), (finalise_collect_cb),
(rb_python_shutdown): do better garbage collection when shutting down.
Fixes the problem where Python was holding a reference to the shell,
causing RB not to exit.
2006-03-27 James Livingston <
[email protected]>
* configure.ac: don't define HAVE_LIBSOUP when we don't. Fixes bug
336131.
2006-03-27 James Livingston <
[email protected]>
* data/iradio-initial.pls: Change the AfterHours DJ stream address.
From bug 334829.
2006-03-26 James Livingston <
[email protected]>
* rhythmdb/rhythmdb.c: (rhythmdb_sync_library_location): set the
library location list to NULL after we free it. Fixes bug 336047.
2006-03-26 James Livingston <
[email protected]>
patch by: Alex Lancaster <
[email protected]>
* sources/rb-audiocd-source.c: use the release-date that MusicBrainz
supplies. Fixes bug 335947.
2006-03-25 James Livingston <
[email protected]>
* data/glade/audioscrobbler-prefs.glade:
* shell/rb-audioscrobbler.c:
(rb_audioscrobbler_enabled_check_changed_cb): move and rename the
"submit songs" checkbox, and make it not disable username/password
entry. This will be needed when we support other last.fm stuff
(profile access, radio, etc).
2006-03-24 Dennis Cranston <
[email protected]>
* widgets/bacon-volume.c: (bacon_volume_scale_value_changed):
Volume should not display stock_volume-0 for volume > 0. Fixes bug
335777.
2006-03-24 James Livingston <
[email protected]>
* shell/rb-shell-player.c: (rb_shell_player_set_property),
(rb_shell_player_sync_play_order),
(rb_shell_player_play_order_update_cb),
(actually_set_playing_source): update the next/previous availablility
in places where it was missing. Fixes bug 335490.
2006-03-24 James Livingston <
[email protected]>
* lib/rb-glade-helpers.c: (rb_glade_boldify_label): don't crash if we
can't find the widget
* lib/rb-util.c: (rb_uri_list_parse):
* lib/rb-util.h: add function for parsing a URI list into strings.
* metadata/Makefile.am: make the metdata helper build when linking
with --as-needed
* podcast/rb-podcast-manager.c: (rb_podcast_manager_copy_post): use
g_mkdir_with_parents instead of coding our own.
* podcast/rb-podcast-parse.c: (rb_set_channel_value): prefer
<itunes:author> over <generator>, instead of using whichever comes
last.
* rhythmdb/rhythmdb-private.h:
* rhythmdb/rhythmdb.c: (rhythmdb_entry_allocate): remove the "magic"
field, as we don't ever check it (to detect corruption). Saves a bit
of memory.
2006-03-24 Jonathan Matthew <
[email protected]>
* lib/rb-file-helpers.c: (escape_extra_gnome_vfs_chars),
(rb_uri_handle_recursively_cb), (rb_canonicalise_uri):
Escape '&' and '=' in the paths we get back from
gnome_vfs_directory_visit. Fixes #333998 a bit more.
2006-03-22 Jonathan Matthew <
[email protected]>
* shell/rb-shell.c: (rb_shell_constructor):
Issue startup notification after creating the main window, so
notification is issued whether the window is visible or not.
Fixes #335086.
2006-03-22 Jonathan Matthew <
[email protected]>
* sources/rb-auto-playlist-source.c: (impl_search),
(rb_auto_playlist_source_query_complete_cb),
(rb_auto_playlist_source_do_query):
* sources/rb-library-source.c: (impl_search),
(rb_library_source_query_complete_cb),
(rb_library_source_do_query):
Defer subset searches (where text is appended to an existing search)
until the original query is complete.
2006-03-21 Ryan P Skadberg <
[email protected]>
patch by: Jonathan Matthew <
[email protected]>
* rhythmdb/rb-refstring.c: (rb_refstring_get_folded),
(rb_refstring_get_sort_key): fixes for strict-aliasing
2006-03-21 James Livingston <
[email protected]>
* shell/rb-shell.c: (rb_shell_load_uri): don't add a new playlist when
importing a single file. Fixes bug 335307.
2006-03-21 James Livingston <
[email protected]>
* shell/Makefile.am: remove the reference to backends/ that I
accidently included.
2006-03-21 James Livingston <
[email protected]>
patch by: Brian Cameron <
[email protected]> to fix comilation
with Forte (on Solaris). Closes bug 335318.
* configure.ac:
* lib/Makefile.am:
* player/rb-recorder-gst.c:
* podcast/rb-podcast-parse.c:
* remote/bonobo/Makefile.am:
* remote/rb-remote-proxy.c: (rb_remote_proxy_set_repeat):
* rhythmdb/rhythmdb-query-model.c: (idle_process_update),
(rhythmdb_query_model_add_entry),
(rhythmdb_query_model_add_results):
* rhythmdb/rhythmdb.c: (rhythmdb_entry_foreach):
* rhythmdb/rhythmdb.h:
* shell/Makefile.am:
* sources/rb-playlist-source-recorder.c: (get_write_speeds),
(update_speed_combobox):
* sources/rb-sourcelist-model.c:
2006-03-21 James Livingston <
[email protected]>
Patch by: Alex Lancaster <
[email protected]>
* player/Makefile.am:
* shell/Makefile.am: work correctly with a separate build root.
2006-03-21 James Livingston <
[email protected]>
* rhythmdb/rhythmdb.c: (rhythmdb_monitor_uri_path): don't crash if we
get handed NULL.
2006-03-21 Jonathan Matthew <
[email protected]>
* rhythmdb/rhythmdb.c: (rhythmdb_add_import_error_entry):
Only create ignore entries when importing into the library.
Ignore entries for files in removable media sources don't help.
2006-03-21 Jonathan Matthew <
[email protected]>
* shell/rb-source-header.c: (rb_source_header_focus_search_box):
* shell/rb-source-header.h:
* widgets/rb-search-entry.c: (rb_search_entry_grab_focus):
* widgets/rb-search-entry.h:
Add functions to make the search box grab focus.
* shell/rb-shell.c: (rb_shell_cmd_view_all):
Focus the search box after handling the 'view all' action.
2006-03-20 Jonathan Matthew <
[email protected]>
* rhythmdb/rhythmdb.h:
* rhythmdb/rhythmdb.c: (rhythmdb_init),
(rhythmdb_execute_multi_stat_info_cb),
(rhythmdb_start_action_thread), (rhythmdb_execute_stat_info_cb),
(rhythmdb_execute_stat), (queue_stat_uri), (rhythmdb_execute_load),
(action_thread_main):
Collect all the get_file_info requests on startup into one gnome-vfs
job to reduce overhead and avoid contention for the rhythmdb lock.
Add a new method to call when all initial query models are set up.
* shell/rb-shell.c: (idle_handle_load_complete):
Call rhythmdb startup complete function when we've loaded all the
playlists. Fixes #334106.
2006-03-20 James Livingston <
[email protected]>
* widgets/rb-entry-view.c: (rb_entry_view_set_property),
(rb_entry_view_selection_changed_cb),
(rb_entry_view_have_complete_selection): make has_complete_selection
not slow. Fixes a performance issue I added a week or so ago.
2006-03-20 James Livingston <
[email protected]>
* shell/rb-shell-player.c: (volume_pre_unmount_cb): check for NULL
before passing to strcmp. From bug 334559.
2006-03-20 Jonathan Matthew <
[email protected]>
* configure.ac:
* lib/Makefile.am:
* lib/rb-proxy-config.c:
* lib/rb-proxy-config.h:
Add a new object to watch the HTTP proxy configuration and emit
signals when it changes.
* shell/rb-audioscrobbler.c:
* shell/rb-audioscrobbler.h:
Use rb-proxy-config to watch HTTP proxy configuration.
* shell/rb-shell.c:
Construct rb-proxy-config object on startup, and remove all
audioscrobbler references.
* shell/Makefile.am:
* plugins/audioscrobbler/Makefile.am:
* plugins/audioscrobbler/rb-audioscrobbler-plugin.c:
Move all audioscrobbler code into the plugin. We should move
rb-audioscrobbler.* from shell/ to plugins/audioscrobbler/ at some
point. Don't use a private data structure in the plugin, since the
class definition isn't in a header file. Fixes #335091.
2006-03-20 James Livingston <
[email protected]>
* shell/rb-shell-player.c: (rb_shell_player_play_order_update_cb):
don't enable Next if the source has an EOS type other than
RB_SOURCE_EOF_NEXT. Fixes bug 315120.
2006-03-20 James Livingston <
[email protected]>
* widgets/rb-song-info.c: (rb_song_info_backward_clicked_cb),
(rb_song_info_forward_clicked_cb): deal with there being no
next/previous entry.
(rb_song_info_query_model_inserted_cb),
(rb_song_info_query_model_deleted_cb),
(rb_song_info_query_model_reordered_cb),
(rb_song_info_query_model_changed_cb): monitor the query for changes,
to update the button status. Fixes bug 333293.
2006-03-20 James Livingston <
[email protected]>
* shell/rb-shell.c: (rb_shell_set_visibility): fix minor sizing issue
caused by my last commit
2006-03-20 James Livingston <
[email protected]>
* bindings/python/Makefile.am:
* bindings/python/rb.defs:
* bindings/python/rb.override: add python bindings of RBRemoteProxy
* shell/rb-shell.c: (rb_shell_constructor),
(rb_shell_set_visibility), (rb_shell_window_delete_cb): change
tray-icon detection slightly
2006-03-19 Steve Frécinaux <
[email protected]>
* data/ui/rhythmbox-ui.xml:
* shell/rb-shell.c:
Add an empty Tool Menu (hidden by default) containing placeholders for
plugins.
* configure.ac:
* plugins/Makefile.am:
* plugins/pythonconsole/Makefile.am:
* plugins/pythonconsole/pythonconsole.py:
* plugins/pythonconsole/pythonconsole.rb-plugin.desktop.in:
Python Console plugin
2006-03-19 Jonathan Matthew <
[email protected]>
* lib/rb-file-helpers.c: (rb_canonicalise_uri):
Extra step to encode '&' and '=' to match what gnome-vfs does
internally.
* rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_start_element),
(rhythmdb_tree_save):
Increment rhythmdb xml version to 1.2, and force another uri
re-canonicalisation when loading v1.1 databases.
Fixes bug #333998.
2006-03-19 Jonathan Matthew <
[email protected]>
* daapsharing/rb-daap-mdns-browser-avahi.c: (client_cb),
(avahi_client_init), (browse_cb):
* daapsharing/rb-daap-mdns-publisher-avahi.c: (client_cb),
(avahi_client_init):
Fix compilation with Avahi 0.5.x (bug #334551).
2006-03-19 James Livingston <
[email protected]>
Add Increase/Decrease Volume menu items and keybindings. From bug
123383.
* data/ui/rhythmbox-ui.xml:
* shell/rb-shell-player.c: (rb_shell_player_constructor),
(rb_shell_player_init), (rb_shell_player_cmd_volume_up),
(rb_shell_player_cmd_volume_down), (rb_shell_player_sync_volume):
2006-03-19 James Livingston <
[email protected]>
patch by: Mikhail Zabaluev <
[email protected]>
* shell/Makefile.am: fix the link order, so that we compile with
"LDFLAGS=-Wl,--as-needed". Fixes bug 334852.
2006-03-19 James Livingston <
[email protected]>
patch by: Adam Petaccia <
[email protected]>
* data/ui/rhythmbox-ui.xml: move preferences below "configure
plugins". Fixes bug 335037.
2006-03-18 James Livingston <
[email protected]>
* rhythmdb/rb-refstring.c: (rb_refstring_get_folded),
(rb_refstring_get_sort_key): fix type-punning warnings. Closes bug
332992.
* widgets/rb-header.c: don't make artist/album info in the header the
small size, since it's hard to read.
2006-03-16 William Jon McCann <
[email protected]>
* rhythmdb/rhythmdb.c (rhythmdb_init): Make deleted_entries a hash.
(rhythmdb_finalize): Don't leak the hash tables.
(rhythmdb_emit_entries_deleted_idle, process_deleted_entries_cb)
(rhythmdb_commit_internal): Make sure to process the deletions.
(rhythmdb_entry_delete): Use a hash.
* podcast/rb-podcast-manager.c: Random analness about char*
(rb_podcast_manager_remove_feed): Add debugging.
(rb_podcast_manager_db_entry_deleted_cb): Ditto. Check
the result of gnome_vfs_unlink. Don't leak a uri.
Fixes #334786
2006-03-18 James Livingston <
[email protected]>
* NEWS: update NEWS file
2006-03-17 Jonathan Matthew <
[email protected]>
* rhythmdb/rhythmdb-property-model.c:
(rhythmdb_property_model_prop_changed_cb):
Remove entries from the hash table after processing visible->hidden
changes.
2006-03-16 William Jon McCann <
[email protected]>
* sources/rb-daap-source.c (connection_connected_cb)
(connection_disconnected_cb): Add debug.
(rb_daap_source_get_headers): Check for NULL connection.
* daapsharing/rb-daap-src.c (rb_daap_src_open):
Check return value of rb_daap_source_get_headers.
Fixes #332089
2006-03-16 Jonathan Matthew <
[email protected]>
* widgets/rb-library-browser.c: (rb_library_browser_set_selection):
Restore the selection after rebuilding the child model, so the
selection is shown correctly after using the 'browse this
album/artist/genre' menu items.
2006-03-15 Jonathan Matthew <
[email protected]>
* widgets/rb-entry-view.c: (rb_entry_view_set_property):
Clear the selection before changing the active model.
Fixes crash reported in bug 334549.
2006-03-15 James Livingston <
[email protected]>
* shell/rb-tray-icon.c: (rb_tray_icon_constructor),
(rb_tray_icon_sync_action):
* widgets/eggtrayicon.c: (egg_tray_icon_send_message),
(egg_tray_icon_cancel_message), (egg_tray_icon_notify): remove support
for non-libnotify notification bubbles. Fixes bug 331721.
2006-03-15 James Livingston <
[email protected]>
Add search-bar options to playlists. Fixes bug 334407.
* sources/rb-auto-playlist-source.c:
(rb_auto_playlist_source_class_init),
(rb_auto_playlist_source_constructor),
(rb_auto_playlist_source_do_query), (impl_get_search_actions),
(search_action_to_prop), (search_action_changed):
* sources/rb-static-playlist-source.c:
(rb_static_playlist_source_class_init),
(rb_static_playlist_source_constructor),
(construct_query_from_selection), (impl_get_search_actions),
(search_action_to_prop), (search_action_changed):
2006-03-14 William Jon McCann <
[email protected]>
* shell/rb-source-header.c (rb_source_header_set_source_internal):
Remove broken attempt at making the search bar buttons not
homogeneous. It wasn't working and was causing some UI sizing weirdness.
2006-03-14 William Jon McCann <
[email protected]>
* sources/rb-static-playlist-source.c (rb_static_playlist_source_dispose):
Chain up to parent's dispose instead of finalize. Fixes #334479.
2006-03-14 William Jon McCann <
[email protected]>
* widgets/rb-header.c (rb_header_sync): Escape album and
artist before adding to markup.
2006-03-14 William Jon McCann <
[email protected]>
* shell/rb-shell-player.c: (rb_shell_player_sync_with_source):
* widgets/rb-header.c: (rb_header_class_init), (rb_header_init),
(rb_header_set_property), (rb_header_get_property),
(rb_header_sync):
Remove the GnomeUrl song links until we can do it properly.
Fixes #334453.
2006-03-14 Jonathan Matthew <
[email protected]>
* shell/rb-source-header.c: (rb_source_header_clear_search):
Remove the stored search text from the hash table, so it doesn't
reappear after switching to another source and back.
* sources/rb-auto-playlist-source.c: (impl_search):
* sources/rb-library-source.c: (impl_search), (impl_reset_filters):
* sources/rb-static-playlist-source.c: (impl_search):
Make sure all sources treat impl_search(NULL) and impl_search("") the
same. Fixes #334525.
2006-03-14 James Livingston <
[email protected]>
Store which thread created new entries, and make rhythmdb_commit only
insert the entries for the thread that calls it. This stops one thread
calling rhythmdb_commit inserting entries that are half-way through
construction by another thread (as happens with audio cds). From bug
330226.
* rhythmdb/rhythmdb.c: (rhythmdb_init),
(rhythmdb_emit_entries_added_idle), (process_added_entries_cb),
(rhythmdb_commit_internal), (timeout_rhythmdb_commit),
(rhythmdb_add_timeout_commit), (rhythmdb_commit),
(rhythmdb_entry_insert), (rhythmdb_add_import_error_entry),
(rhythmdb_process_metadata_load),
(rhythmdb_process_queued_entry_set_event),
(rhythmdb_prop_get_type):
2006-03-14 Jonathan Matthew <
[email protected]>
* rhythmdb/rhythmdb-query-model.c:
(rhythmdb_query_model_class_init), (rhythmdb_query_model_dispose),
(rhythmdb_query_model_finalize):
Move object unrefs from _finalize into _dispose.
* shell/rb-play-order.c: (rb_play_order_query_model_changed):
Remove extra g_object_ref that was causing query model leaks.
* sources/rb-iradio-source.c: (rb_iradio_source_dispose),
(rb_iradio_source_constructor), (impl_search), (genre_selected_cb),
(genre_selection_reset_cb), (rb_iradio_source_do_query):
Remove the cached 'all' query, since it doesn't really help and it
makes the code more complicated. Attach the genre property view to
the query model build from the search text, so only genres for
stations matching the search terms are displayed. Preserve the genre
selection across searches.
* widgets/rb-library-browser.c:
(rb_library_browser_class_init), (rb_library_browser_get_property):
Add properties for the input and output models for the browser, and
remove the 'changed' signal as we can just use notify::output-model.
(ignore_selection_changes),
(selection_restore_data_destroy), (query_complete_cb),
(restore_selection): Helper functions for preserving selections across
query model rebuilds.
(rebuild_output_model): New function for creating a query model to
use as the display model for a source using the browser.
(rebuild_child_model): Add a call to rebuild_output_model, add missing
g_object_unrefs, reuse the parent's query model when there's no
selection, and use ignore_selection_changes and restore_selection.
(rb_library_browser_set_selection): rebuild_child_model emits the
changed signal, so no need to do it here.
(rb_library_browser_set_model): Add missing g_object_unrefs, and use
ignore_selection_changes and restore_selection.
* widgets/rb-library-browser.h: Remove 'changed' signal, and add a
flag to rb_library_browser_set_model indicating whether the query is
asynchronous.
* sources/rb-static-playlist-source.c:
(rb_static_playlist_source_class_init),
(rb_static_playlist_source_dispose):
(rb_static_playlist_source_constructor): Add an extra reference on
the base model, so it doesn't vanish when we set a new display model
based on a search or browser selection.
(impl_search): Ensure the search_text field in the source is NULL if
the search box is empty.
(construct_query_from_selection),
(rb_static_playlist_source_do_query): Use the query model constructed
from the search as the input model for the browser.
(rb_static_playlist_source_browser_changed_cb): Use the browser's
output model as the query model for the source.
* sources/rb-auto-playlist-source.c:
(rb_auto_playlist_source_finalize): Free more stuff.
(rb_auto_playlist_source_constructor),
(rb_auto_playlist_source_browser_changed_cb):
Update for rb-library-browser changes, use the browser's output query
model as the query model for the source.
(impl_reset_filters), (impl_search),
(rb_auto_playlist_source_do_query),
(rb_auto_playlist_source_set_query):
Use the query model constructed from the search text as the input to
the library browser, and when adding text to an existing search, apply
the new query to the existing query model.
* sources/rb-library-source.c: (rb_library_source_dispose):
(rb_library_source_finalize): Chain dispose up to the parent class.
(rb_library_source_constructor): Update for rb-library-browser
changes.
(impl_search): Ensure search_text is NULL if the search box is empty,
and use the subset flag to _do_query if text has been appended to an
existing search.
(search_action_changed), (impl_reset_filters):
(rb_library_source_browser_changed_cb),
(rb_library_source_do_query): Use the browser's output model as the
query model for the source.
Rework library and playlist sources to use a single query chain,
and to limit the entries shown in property views based on the search
terms. Fixes bug #322787.
2006-03-14 Jonathan Matthew <
[email protected]>
* configure.ac: Enable metadata helper by default, and fix a typo.
2006-03-13 James Livingston <
[email protected]>
Make RBRefStrings lazily create the folded and sort-key strings when
they are first used. This will same some memory by not creating ones
that are never used, and delaying some of the others to when the user
resorts or performs a similar action. Fixes bug 332992.
* rhythmdb/rb-refstring.c: (rb_refstring_free),
(rb_refstring_system_init), (rb_refstring_new), (rb_refstring_ref),
(rb_refstring_get), (rb_refstring_get_folded),
(rb_refstring_get_sort_key), (rb_refstring_hash),
(rb_refstring_equal):
* rhythmdb/rb-refstring.h:
* rhythmdb/rhythmdb.c: (rhythmdb_entry_sync_mirrored):
2006-03-12 William Jon McCann <
[email protected]>
* data/ui/rhythmbox-ui.xml:
* lib/rb-stock-icons.c: (rb_stock_icons_init):
* lib/rb-stock-icons.h:
* shell/rb-shell-player.c:
* shell/rb-shell.c: (rb_shell_constructor):
* shell/rb-source-header.c: (force_no_shadow),
(ui_manager_add_widget_cb), (rb_source_header_constructor),
(rb_source_header_class_init), (rb_source_header_init),
(merge_source_ui_cb), (toolbar_set_homogeneous),
(rb_source_header_set_source_internal),
(rb_source_header_set_property), (rb_source_header_get_property),
(rb_source_header_set_source), (rb_source_header_new),
(rb_source_header_filter_changed_cb):
* shell/rb-source-header.h:
* sources/rb-library-source.c: (rb_library_source_class_init),
(rb_library_source_init), (search_action_to_prop),
(search_action_changed), (rb_library_source_constructor),
(impl_search), (impl_reset_filters), (impl_get_search_actions),
(construct_query_from_selection):
* sources/rb-podcast-source.c: (rb_podcast_source_class_init),
(rb_podcast_source_init), (search_action_to_prop),
(search_action_changed), (rb_podcast_source_constructor),
(construct_query_from_selection), (impl_get_ui_actions),
(impl_get_search_actions):
* sources/rb-source.c: (rb_source_class_init),
(rb_source_get_ui_actions), (default_get_search_actions),
(rb_source_get_search_actions):
* sources/rb-source.h:
Add a search bar. Fixes #328618
2006-03-12 James Livingston <
[email protected]>
* rhythmdb/rhythmdb.c: (rhythmdb_commit_internal):
* shell/main.c: (main): make --no-update not stat files checking for
changes, instead of doing nothing. Fixes bug 125177.
2006-03-12 James Livingston <
[email protected]>
* podcast/rb-podcast-manager.c:
(rb_podcast_manager_thread_parse_feed):
* podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed):
* podcast/rb-podcast-parse.h: ask the user before rejecting a feed for
having an invalid mime-type. Fixed bug 329813.
2006-03-12 James Livingston <
[email protected]>
Make ide tag-editing work on 0.10, if id3mux 0.10.2 is present.
Finally lets us close bug 309609.
* metadata/rb-metadata-gst.c: (id3_pad_added_cb),
(rb_add_id3_tagger), (rb_metadata_init): make id3 tag editing work on
0.10
* widgets/rb-song-info.c: (rb_song_info_sync_entries): fix the
inverted logic of the editable check.
2006-03-12 James Livingston <
[email protected]>
Make API doc generation work again. Fixes bug 334276.
* doc/reference/Makefile.am:
* doc/reference/tmpl/rb-debug.sgml:
* doc/reference/tmpl/rb-druid.sgml:
* doc/reference/tmpl/rb-entry-view.sgml:
* doc/reference/tmpl/rb-load-failure-dialog.sgml:
* doc/reference/tmpl/rb-metadata.sgml:
* doc/reference/tmpl/rb-shell.sgml:
* doc/reference/tmpl/rhythmbox-unused.sgml:
* doc/reference/tmpl/rhythmdb.sgml:
2006-03-12 James Livingston <
[email protected]>
* shell/rb-shell-clipboard.c:
(rb_shell_clipboard_set_source_internal),
(rb_shell_clipboard_sync): don't try to use the source's entry view if
it doesn't have one. Fixes bug 331673.
* sources/rb-source.c: (rb_source_class_init): provide a default
have_url implementation that returns FALSE.
2006-03-12 James Livingston <
[email protected]>
* plugins/audioscrobbler/Makefile.am: don't delete as-powered.png when
doing a distclean. Fixes bug 334221.
Patch from Alex Lancaster <
[email protected]>
* data/glade/Makefile.am: add plugins.glade. Fixes bug 334201.
2006-03-11 James Livingston <
[email protected]>
* shell/rb-shell.c: (rb_shell_window_state_cb),
(rb_shell_set_visibility), (rb_shell_window_configure_cb): don't
update the window width/height when iconified. Stops the window
changing size when it is restored from the tray, fixing bug 333824.
2006-03-11 James Livingston <
[email protected]>
Try to get cvs to actually add the necessary files for plugin support
2006-03-11 James Livingston <
[email protected]>
Add a plugin framework, with basic support for Python plugins (based
on gedit's). Closes bug 330523.
* Makefile.am:
* shell/Makefile.am:
* configure.ac: necessary autofoo.
* data/ui/rhythmbox-ui.xml: add Edit->Plugins...
* lib/rb-file-helpers.c: (rb_uri_get_dir_name):
* lib/rb-file-helpers.h:
* data/glade/plugins/glade:
* lib/rb-preferences.h:
* plugins/*:
* bindings/*: plugin framework
* plugins/sample/*:
* plugins/sample-python/*: sample plugins
* plugins/audioscrobbler/*:
* shell/rb-audioscrobbler.c: (rb_audioscrobbler_class_init),
(rb_audioscrobbler_set_property),
(rb_audioscrobbler_gconf_changed_cb): turn audioscrobbler song
submission into a plugin. shell/audioscrobbler.* should really be
moved, but that sucks with cvs.
* shell/rb-shell.h:
* shell/rb-shell.c: (rb_shell_constructor),
(rb_shell_cmd_preferences), (rb_shell_plugins_window_delete_cb),
(rb_shell_plugins_response_cb), (rb_shell_cmd_plugins),
(rb_shell_quit): start and stop plugin framework.
2006-03-11 Jonathan Matthew <
[email protected]>
* rhythmdb/rhythmdb.c: (rhythmdb_commit_internal),
(rhythmdb_entry_delete):
Emit entry-deleted signals when rhythmdb_commit is called, rather than
immediately, so we can't get change notifications afterwards.
Fixes #331732.
(rhythmdb_process_metadata_load): Add a commit after removing an
entry so we can recreate it with a different type without getting
confused.
2006-03-11 James Livingston <
[email protected]>
* sources/rb-audiocd-source.c: (rb_audiocd_source_constructor): don't
use the drive name for audio CDs, use "Unknown CD".
2006-03-09 Jonathan Matthew <
[email protected]>
patch by: James Henstridge <
[email protected]>
* sources/rb-removable-media-source.c:
(rb_removable_media_source_constructor):
Get the device name from the GnomeVFSDrive if possible,
since this is usually a more descriptive name. Fixes #333080.
2006-03-09 Jonathan Matthew <
[email protected]>
patch by: Alex Lancaster <
[email protected]>
* podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed):
Don't automatically download episodes when configured for manual
updating. Fixes #331564.
2006-03-08 Jonathan Matthew <
[email protected]>
* rhythmdb/rhythmdb-property-model.c:
(rhythmdb_property_model_iter_from_string):
Return an iterator for the 'all' property when name == NULL,
and don't write to *iter if iter == NULL.
2006-03-06 Jonathan Matthew <
[email protected]>
* shell/rb-shell-player.c: (rb_shell_player_do_next):
When switching to the play queue, still call _go_next on the normal
play order, so self-emptying auto playlists ("play count = 0" etc.)
don't restart once the queue is empty.
* shell/rb-tray-icon.c:
Change shortcut for 'show notifications' to 'o' so it doesn't clash
with 'next'.
2006-03-05 James Livingston <
[email protected]>
* shell/rb-audioscrobbler.c: (rb_audioscrobbler_song_changed_cb):
don't submit tracks which could not be played. Fixed bug 333013.
* shell/rb-shell-player.c: (eos_cb): Don't update statistics for
tracks which could not be played.
2006-03-05 James Livingston <
[email protected]>
Sync musicbrainz lookup code from Sound-Juicer cvs.
* metadata/sj-metadata-musicbrainz.c:
(sj_metadata_musicbrainz_instance_init), (metadata_interface_init),
(get_offline_track_listing), (artist_and_title_from_title),
(cache_rdf), (get_cached_rdf), (get_rdf), (lookup_cd),
(mb_list_albums), (mb_get_submit_url):
* metadata/sj-metadata.c: (sj_metadata_get_submit_url):
* metadata/sj-metadata.h:
* metadata/sj-structures.c: (track_details_free),
(album_details_free):
* metadata/sj-structures.h:
2006-03-05 Jonathan Matthew <
[email protected]>
* lib/rb-debug.h:
* lib/rb-debug.c: (rb_debug_real), (rb_debug_init),
(rb_debug_init_match), (rb_profiler_new), (rb_profiler_dump),
(rb_profiler_reset), (rb_profiler_free):
Filter debug output by matching the file and function names against a
match string.
* shell/main.c: (main):
Add -D command line option to specify the debug match string.
* shell/rb-removable-media-manager.c:
(rb_removable_media_manager_mount_volume):
Fix some typos in debug output.
2006-03-03 James Livingston <
[email protected]>
* shell/rb-playlist-manager.c: (rb_playlist_manager_parse_file):
* shell/rb-shell.c: (rb_shell_load_uri):
* sources/rb-generic-player-source.c: (visit_playlist_dirs):
* sources/rb-iradio-source.c: (rb_iradio_source_add_from_playlist):
use the new "recurse" property from totem-plparser, if present. Stop
RB hanging for new users who don't have a 'net connection. From bug
331508.
2006-03-02 Bastien Nocera <
[email protected]>
* shell/rb-removable-media-manager.c:
(rb_removable_media_manager_mount_volume):
* sources/Makefile.am:
* sources/rb-nokia770-source.c: (rb_nokia770_is_volume_player):
Fix missing files on make dist (conditional files), only build the
N770 support if there's HAL support, as we have no other ways of
detecting it
2006-03-03 James Livingston <
[email protected]>
* shell/rb-shell-clipboard.c:
(rb_shell_clipboard_set_source_internal): really fix it this time.
hopefully.
2006-03-03 James Livingston <
[email protected]>
* shell/rb-shell-clipboard.c: (rb_shell_clipboard_sync): fix issue
with the idle function not being removed.
2006-03-02 James Livingston <
[email protected]>
* widgets/rb-entry-view.c: (rb_entry_view_have_complete_selection):
* widgets/rb-entry-view.h: add function for determining whether all
entries are selected.
* shell/rb-shell-clipboard.c: (rb_shell_clipboard_init),
(rb_shell_clipboard_set_source_internal),
(rb_shell_clipboard_finalize),
(rb_shell_clipboard_idle_poll_deletions),
(rb_shell_clipboard_entryview_changed_cb),
(rb_shell_clipboard_entries_changed_cb): watch for entry additions and
removals, to update things.
(rb_shell_clipboard_sync): update the Select All and Select None
sensitivity, based on what is selected. Fixed bug 172220.
2006-03-02 James Livingston <
[email protected]>
* widgets/rb-library-browser.c: (rebuild_child_model): save and
restore the selections of later models. This means that selecting the
artist for the selected album does not reset the album selection.
2006-03-02 James Livingston <
[email protected]>
* data/ui/rhythmbox-ui.xml: add the missing UI for generic players.
Stops it emitting critical warnings.
2006-03-02 James Livingston <
[email protected]>
* lib/rb-file-helpers.c: (rb_uri_append_uri):
* lib/rb-file-helpers.h: Add uri concatenation function for when the
second fragment is already escaped.
* sources/rb-generic-player-source.c:
(rb_generic_player_source_class_init),
(rb_generic_player_source_constructor), (impl_show_popup),
(rb_generic_player_source_load_playlists),
(rb_generic_player_source_transform_playlist_uri),
(handle_playlist_entry_cb), (visit_playlist_dirs),
(default_load_playlists), (default_transform_playlist_uri):
* sources/rb-generic-player-source.h: scan for playlists (m3u, pls) on
the device. Allow subclasses to override the playlist loading, and
(playlist uri)->(actual uri) mapping. A lot of devices which have
playlists won't work right now, but people will see them and hopefully
file bugs.
* sources/rb-psp-source.c: (rb_psp_source_class_init),
(rb_psp_source_create_playlists): Adapt the PSP for the above change
* sources/Makefile.am:
+ sources/rb-nokia770-source.{c,h}:
* shell/rb-removable-media-manager.c:
(rb_removable_media_manager_mount_volume): Add support for reading
playlists of Nokia 770s.
2006-03-02 Jonathan Matthew <
[email protected]>
* data/glade/podcast-properties.glade:
* podcast/rb-podcast-properties-dialog.c:
(rb_podcast_properties_dialog_init),
(rb_podcast_properties_dialog_update),
(rb_podcast_properties_dialog_update_location),
(rb_podcast_properties_dialog_update_download_location):
Add 'download location' field showing the path to the downloaded copy.
Fixes #330696.
2006-03-01 Bastien Nocera <
[email protected]>
* configure.ac: simplify HAVE_HAL define
2006-03-01 Bastien Nocera <
[email protected]>
* configure.ac:
* lib/rb-file-helpers.c: (rb_uri_append_path):
* lib/rb-file-helpers.h:
* shell/rb-removable-media-manager.c:
(rb_removable_media_manager_mount_volume):
* sources/Makefile.am:
* sources/rb-ipod-source.c:
* sources/rb-psp-source.*:
Patch from James Livingston <
[email protected]> to add read-only Sony PSP
support, additional HAL < 0.5 support by yours truly (Closes: #332337)
2006-03-02 James Livingston <
[email protected]>
* shell/rb-shell-player.c: (rb_shell_player_set_property),
(rb_shell_player_play), (rb_shell_player_jump_to_current),
(swap_playing_source), (rb_shell_player_playpause),
(rb_shell_player_sync_buttons), (actually_set_playing_source),
(rb_shell_player_set_playing_source_internal): check for the entry
view being NULL before trying to use it. Lets us support sources which
don't have an entry view. From bug 331673.
2006-03-01 Bastien Nocera <
[email protected]>
* shell/rb-audioscrobbler.c: (rb_audioscrobbler_load_queue):
use gnome_vfs_read_entire_file with a URI, not a local filename
2006-03-01 James Livingston <
[email protected]>
* rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element): handle
first-seen and last-seen when merging duplicate entries.
2006-03-01 Jonathan Matthew <
[email protected]>
* widgets/rb-property-view.c: (rb_property_view_set_search_func):
* widgets/rb-property-view.h: New function, allowing custom
interactive search functions for property views.
* sources/rb-podcast-source.c:
(feed_select_change_cb): Only do a new query when the selection
actually changes.
(rb_podcast_source_constructor),
(rb_podcast_source_feed_title_search_func):
Interactive search function for podcast feed titles. Fixes #327451.
2006-03-01 James Livingston <
[email protected]>
* rhythmdb/rhythmdb.c: (rhythmdb_execute_stat_info_cb): don't chaneg
the uri in the callback, since it causes symbols to not be escaped.
Fixes bug 332976.
* data/ui/rhythmbox-ui.xml:
* sources/rb-import-errors-source.c:
(rb_import_errors_source_class_init),
(rb_import_errors_source_constructor), (impl_get_status),
(impl_move_to_trash),
(rb_import_errors_source_songs_show_popup_cb): add move-to-trash for
import errors source
* widgets/rb-entry-view.c: (rb_entry_view_location_cell_data_func),
(rb_entry_view_append_column): unescape the URI for display.
2006-03-01 James Livingston <
[email protected]>
* rhythmdb/rhythmdb.c: (rhythmdb_add_import_error_entry),
(rhythmdb_process_metadata_load): fix crashers when the vfs get info
function fails.
2006-02-28 Dennis Cranston <
[email protected]>
* shell/rb-shell-clipboard.c: Use lowercase "to" in "Move to Trash".
* shell/rb-shell.c: Use "Play Queue" and "Side Pane" terminology.
* sources/rb-play-queue-source.c:
(rb_play_queue_source_constructor), (rb_play_queue_source_new),
(rb_play_queue_source_update_count): Use "Play Queue" instead
of "Queued Songs".
Fixes #331637.
2006-03-01 James Livingston <
[email protected]>
* data/rhythmbox.schemas: change "boolean" to "bool" in the schema.
Fixes bug 332913.
2006-03-01 James Livingston <
[email protected]>
* daapsharing/rb-daap-mdns-browser-howl.c:
(rb_daap_mdns_browser_class_init), (rb_daap_mdns_browser_finalize):
* daapsharing/rb-daap-mdns-publisher-avahi.c:
(rb_daap_mdns_publisher_class_init),
(rb_daap_mdns_publisher_finalize):
* lib/rb-thread.c: (rb_thread_class_init), (rb_thread_finalize):
* player/rb-recorder-gst.c: (rb_recorder_class_init),
(rb_recorder_finalize):
* rhythmdb/rhythmdb-query-model.c:
(rhythmdb_query_model_constructor):
* sources/rb-audiocd-source.c: (rb_audiocd_source_constructor):
* sources/rb-ipod-source.c: (rb_ipod_source_constructor):
* sources/rb-playlist-source-recorder.c:
(rb_playlist_source_recorder_style_set),
(rb_playlist_source_recorder_class_init),
(rb_playlist_source_recorder_finalize):
* widgets/rb-query-creator.c: (rb_query_creator_constructor): fix the
other classes in the same way, so they don't break when derived from.
2006-03-01 James Livingston <
[email protected]>
* sources/rb-generic-player-source.c:
(rb_generic_player_source_constructor): don't get the parent class in
a dumb way, and it breaks when the class is derived from.
2006-02-28 Abel Cheung <
[email protected]>
* configure.ac: Added "zh_HK" to ALL_LINGUAS.
2006-03-01 James Livingston <
[email protected]>
* rhythmdb/gsequence.c: fix a typo in the last commit, that makes it
not work in glib 2.8 systems.
2006-03-01 James Livingston <
[email protected]>
* lib/rb-file-helpers.c: (rb_uri_is_local): just check for the file://
prefix instead of using gnome_vfs_uri_is_local, since the gnomevfs dev
say it is crap.
* podcast/rb-podcast-manager.c: (rb_podcast_manager_copy_post),
(rb_podcast_manager_db_entry_deleted_cb): don't stop people putting
podcasts on ion-local places
* rhythmdb/gsequence.c: (g_sequence_node_new),
(g_sequence_node_free): use gslice if we are building against glib
2.10.
* rhythmdb/rhythmdb.c: (rhythmdb_execute_stat): always async stats for
local files too, so it doesn't block.
2006-02-28 James Livingston <
[email protected]>
* rhythmdb/rhythmdb.c: (rhythmdb_commit_internal): just check for the
file:// prefix, instead of using gnome_vfs_uri_is_local, since that
stats the file. Stops the UI blocking while stats are done.
2006-02-28 James Livingston <
[email protected]>
* sources/rb-static-playlist-source.c:
(rb_static_playlist_source_class_init),
(rb_static_playlist_source_constructor), (impl_reset_filters),
(impl_get_property_views), (impl_browser_toggled),
(rb_static_playlist_source_do_query),
(rb_static_playlist_source_browser_changed_cb): add browsers to static
playlists. From bug 118862.
* sources/rb-play-queue-source.c:
(rb_play_queue_source_class_init): disable them for the play queue.
2006-02-27 Dennis Cranston <
[email protected]>
* data/glade/library-prefs.glade: Add a mnemonic.
* sources/rb-library-source.c:
(rb_library_source_location_button_clicked_cb): Use title
capitalization for window title.
2006-02-28 James Livingston <
[email protected]>
* sources/rb-auto-playlist-source.c:
(construct_query_from_selection): don't create a subquery for only one
criteria, as it's a silly effifiency degredation.
2006-02-28 James Livingston <
[email protected]>
* rhythmdb/rhythmdb.h:
* rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_start_element),
(save_entry), (rhythmdb_tree_save): add a new "Ignore" type, which is
saved to disk
* rhythmdb/rhythmdb.c: (set_props_from_metadata),
(rhythmdb_process_stat_event), (rhythmdb_add_import_error_entry),
(rhythmdb_process_metadata_load), (rhythmdb_entry_song_get_type),
(rhythmdb_entry_ignore_get_type): When loading a file, which is marked
IGNORE (e.g. known video stream) create an entry of the Ignore type.
This will make importing files quicker as we don't need to try files
that we know are not going to be interesting - especially useful when
using the library watching facility.
Fixes bug 323179.
2006-02-28 James Livingston <
[email protected]>
* shell/rb-shell.c: (rb_shell_constructor),
(rb_shell_set_visibility): fix browser and source-list pane
positioning, that I broke with the "remember visibility" patch.
2006-02-27 Jonathan Matthew <
[email protected]>
* metadata/rb-metadata-dbus-service.c: (main):
Change argument handling so you can use --debug with the --load and
--can-save test modes.
* metadata/rb-metadata-dbus-client.c: (start_metadata_service):
Use a separate GMainContext, not the default one. Probably fixes
#332344.
2006-02-27 James Livingston <
[email protected]>
* shell/rb-shell.c: (rb_shell_constructor): focus the entry view when
first starting up. Fixes bug 330342.
2006-02-27 James Livingston <
[email protected]>
* sources/rb-sourcelist-model.c:
(rb_sourcelist_model_set_dnd_targets):
* widgets/rb-entry-view.c: (rb_entry_view_constructor): only use the
COPY action for draging sources and tracks, not MOVE as well. Stops
Nautilus moving file away, and fixes bug 332488.
2006-02-27 James Livingston <
[email protected]>
patch by: Gunnar Steinn Magnusson <
[email protected]>
* sources/rb-ipod-source.c: (load_ipod_db_idle_cb): read the Rating
and Last Played metadata off iPods. Closes bug 324648.
2006-02-26 Jonathan Matthew <
[email protected]>
* shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor):
Disable audioscrobbler when run with the --no-registration flag, since
last.fm doesn't allow multiple concurrent clients per user.
2006-02-26 Jonathan Matthew <
[email protected]>
* sources/rb-sourcelist.c: (rb_sourcelist_init), (key_release_cb):
Rename renamable sources when F2 is pressed when the sourcelist has
focus. Fixes #330700.
2006-02-26 Jonathan Matthew <
[email protected]>
* shell/rb-playlist-manager.c: (cleanup_edit_data),
(edit_auto_playlist_response_cb), (edit_auto_playlist_deleted_cb),
(rb_playlist_manager_cmd_edit_automatic_playlist):
Fix various crashes when deleting auto playlists previously edited
by disconnecting signal handlers when the query editor is closed or
the playlist is deleted.
2006-02-24 Jonathan Matthew <
[email protected]>
* metadata/rb-metadata-gst.c: Correct comment referring to the now
removed load failure dialog, and actually use the friendly file type
name in error messages.
2006-02-24 James Livingston <
[email protected]>
patch by: Baptiste Mille-Mathias <
[email protected]>
* sources/rb-library-source.c:
(rb_library_source_location_button_clicked_cb),
(rb_library_source_preferences_sync),
(rb_library_source_library_location_cb): convert the library URI to
for display, and back again. Fixes bug 332356.
2006-02-23 James Livingston <
[email protected]>
* rhythmdb/rhythmdb.c: (rhythmdb_process_stat_event),
(rhythmdb_process_metadata_load), (monitor_subdirectory),
(rhythmdb_sync_library_location): don't monitor files at all if
watching is turned off. From bug 323096.
2006-02-23 James Livingston <
[email protected]>
* data/rhythmbox.schemas:
* lib/rb-preferences.h:
* shell/rb-shell.c: (rb_shell_constructor),
(rb_shell_set_visibility): remember main window visibility between
sessions. Fixes bug 127320.
2006-02-23 James Livingston <
[email protected]>
* data/glade/library-prefs.glade:
* sources/rb-library-source.c: (impl_get_config_widget),
(rb_library_source_location_button_clicked_cb),
(rb_library_source_preferences_sync),
(rb_library_source_library_location_cb),
(rb_library_source_watch_toggled_cb): change the library-location
widgets from the file-chooser drop menu to a text entry and Browse
button. This is needed to prevent the location from chaning if the
directory cannot be found. Fixes bug 328414.
2006-02-23 James Livingston <
[email protected]>
* sources/rb-podcast-source.c: add icon to the Cancel Download menu
item. Fixes bug 329042.
2006-02-23 James Livingston <
[email protected]>
patch by: Alex Lancaster <
[email protected]>
* podcast/rb-podcast-parse.c: (rb_podcast_parse_date): deal with extra
comma in some podcast feeds. Fixes bug 332194.
2006-02-23 James Livingston <
[email protected]>
* rhythmdb/rhythmdb.c: (rhythmdb_execute_stat): execute the stats at a
lower priority.
* sources/rb-audiocd-source.c: (rb_audiocd_create_track_entry): change
the internal audio cd URIs from "cdda://device:track" to
"cdda://track#device" as it makes processing much easier.
* shell/rb-shell-player.c: (rb_shell_player_open_location):
* player/rb-player-gst.c: don't have the shell close the player
between songs, as doing that should be backend-specific. Make the
gstreamer backend close before starting a new track, unless the old
and new ones are both tracks on the same audio cd. Just seek in that
case.
2006-02-23 Jonathan Matthew <
[email protected]>
* doc/reference/rhythmbox.types: Fix doc build a bit more.
2006-02-23 Jonathan Matthew <
[email protected]>
* configure.ac: Enable more warnings in my stupid setup too.
* shell/rb-shell.c: Fix compile errors from last commit. Fixes
#332210.
2006-02-22 Jonathan Matthew <
[email protected]>
* sources/rb-missing-files-source.h,
* sources/rb-missing-files-source.c,
* sources/rb-import-errors-source.h,
* sources/rb-import-errors-source.c:
Add library meta-sources, showing missing files and import errors.
Fixes #167763, #142322.
* sources/rb-sourcelist-model.c: (rb_sourcelist_model_new):
* sources/rb-sourcelist-model.h:
* sources/rb-sourcelist.c: (rb_sourcelist_append),
(match_source_to_iter), (rb_sourcelist_source_to_iter),
(rb_sourcelist_visible_source_to_iter), (rb_sourcelist_remove),
(visibility_notify_cb):
Store source visibility in the sourcelist model, so we can determine
child source counts correctly and get the sourcelist expander column
right.
* widgets/rb-entry-view.h:
* widgets/rb-entry-view.c: (rb_entry_view_class_init),
(rb_entry_view_append_column), (set_column_visibility):
Allow the creator of the entry view to specify which columns are
always visible.
* sources/rb-source.h:
* sources/rb-source.c: (_autohide_update_visibility),
(_rb_autohide_source_row_deleted_cb),
(_rb_autohide_source_row_inserted_cb),
(_rb_source_hide_when_empty):
Allow sources to automatically hide themselves when empty.
* sources/rb-iradio-source.c: (rb_iradio_source_constructor):
* sources/rb-library-source.c: (rb_library_source_constructor):
* sources/rb-playlist-source.c: (rb_playlist_source_constructor):
* sources/rb-podcast-source.c: (rb_podcast_source_constructor):
Explicitly specify which columns are always visible.
* shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor),
(rb_shell_playing_entry_changed_cb), (add_to_library_response_cb):
Remove load error signal handling and load failure dialog.
Create missing files and import errors sources for the library.
* rhythmdb/rhythmdb.c: (rhythmdb_class_init),
(rhythmdb_add_import_error_entry), (rhythmdb_process_metadata_load):
Create DB entries for import errors rather than emitting the 'load
error' signal; mark loaded entries visible.
(rhythmdb_entry_sync_mirrored), (rhythmdb_prop_get_type),
(rhythmdb_entry_get_string), (rhythmdb_entry_set_visibility),
(rhythmdb_prop_get_type): Store string form of last seen time for
hidden entries, since it's used in the missing files source.
(rhythmdb_entry_import_error_get_type):
Add entry type for import errors.
(rhythmdb_process_file_deleted), (rhythmdb_volume_mounted_cb),
(rhythmdb_volume_unmounted_cb): Add missing rhythmdb_commit calls.
(rhythmdb_entry_move_to_trash_set_error),
(rhythmdb_entry_move_to_trash):
Correct spelling, add missing rhythmdb_commit.
* rhythmdb/rhythmdb.h:
Add import error entry type and last seen string property.
* rhythmdb/rhythmdb-private.h: Add string form of last seen time.
* rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
(save_entry): Ignore string form of 'last seen' property.
* shell/rb-shell-player.c: (rb_shell_player_entry_activated_cb):
Don't try to play hidden entries or import error entries.
* data/ui/rhythmbox-ui.xml: Add popup for missing files source.
* sources/Makefile.am: Add meta-source files
* widgets/Makefile.am: Remove load failure dialog files
2006-02-22 Jonathan Matthew <
[email protected]>
update by: Baptiste Mille-Mathias <
[email protected]>
* help/C/rhythmbox.xml: add a 'getting started' section, and fix a
few bits and pieces.
2006-02-22 Jonathan Matthew <
[email protected]>
* metadata/test-metadata.c: (load_metadata_cb):
Fix compile warning for ignoring return value from getcwd, #332064.
2006-02-21 James Livingston <
[email protected]>
* shell/rb-playlist-manager.c: (edit_auto_playlist_response_cb),
(edit_auto_playlist_deleted_cb),
(rb_playlist_manager_cmd_edit_automatic_playlist): make the auto
playlist editor non-modal. Fixes bug 320030.
2006-02-21 James Livingston <
[email protected]>
* shell/rb-shell.c: (rb_shell_constructor):
* widgets/rb-header.c: (rb_header_init), (rb_header_set_urldata),
(rb_header_set_show_artist_album):
* widgets/rb-song-display-box.c: (rb_song_display_box_init),
(rb_song_display_box_sync): make the queue sidebar and song display
not get affected by gtk_widget_show_all. Fixes bug 332001.
2006-02-21 James Livingston <
[email protected]>
Patch by: Alex Lancaster <
[email protected]>
* podcast/rb-podcast-parse.c: (rb_podcast_parse_date): add support for
feeds which use timezone names instead of offsets. Doesn't actually
parse the timezone name since they are not standardised. Fixes bug
331691.
2006-02-21 James Livingston <
[email protected]>
* help/C/figures/rb-notification-area.png:
* help/C/figures/rb-sidebar.png:
* help/C/quick-reference.xml: remove obsolete files from CVS.
* rhythmdb/rhythmdb-tree.c: (evaluate_conjunctive_subquery):
* rhythmdb/rhythmdb.c: (rhythmdb_query_parse_valist),
(rhythmdb_query_free), (rhythmdb_query_serialize),
(rhythmdb_query_deserialize), (rhythmdb_query_get_type):
* rhythmdb/rhythmdb.h: Add operators for string prefix and suffix.
* widgets/rb-query-creator-properties.c: add prefix and suffix
(escapedStringCriteriaGetWidgetData): use better escaping, so it
doesn't escape the ':' separator in uris.
2006-02-21 James Livingston <
[email protected]>
* shell/rb-shell.c: (rb_shell_constructor): ensure the window is shown
on startup.
2006-02-21 James Livingston <
[email protected]>
* NEWS: update with recent changes
2006-02-21 James Livingston <
[email protected]>
* shell/rb-shell.c: (rb_shell_constructor),
(rb_shell_player_volume_changed_cb), (rb_shell_druid_response_cb):
* widgets/rb-druid.c: (rb_druid_finalize), (rb_druid_init_widgets),
(rb_druid_browse_clicked_cb), (do_response):
* widgets/rb-druid.h: Make running the druid not block RBShell
starting up. This is required so that bonobo registration doesn't time
out. Fixed bug 318766.
2006-02-21 James Livingston <
[email protected]>
* rhythmdb/rhythmdb-property-model.c:
(rhythmdb_property_model_entry_removed_cb): remove the entry from the
hash table after using it, not before. Fixed bug 331922.
2006-02-21 Jonathan Matthew <
[email protected]>
* shell/rb-shell.c: (rb_shell_playing_from_queue_cb),
(rb_shell_view_queue_as_sidebar_changed_cb):
When playing from the queue, only attempt to highlight the queue
source in the source list if it's actually visible there. Otherwise,
leave the preempted source highlighted. Mostly fixes #330819.
2006-02-20 James Livingston <
[email protected]>
* rhythmdb/rhythmdb-property-model.c:
(rhythmdb_property_model_row_inserted_cb),
(rhythmdb_property_model_prop_changed_cb),
(rhythmdb_property_model_insert), (rhythmdb_property_model_delete):
store the roperty value in the entry-mapping table, so that receiving
the remove signal from a query model before we get notified of a
change doesn't cause a crash. Fixes bug 331770.
2006-02-20 James Livingston <
[email protected]>
* data/ui/rhythmbox-ui.xml:
* sources/rb-play-queue-source.c:
(rb_play_queue_source_class_init),
(rb_play_queue_source_cmd_clear), (impl_show_popup): don't display
playlist things in the queue popup source. From 330490.
* widgets/rb-song-info.c: (rb_song_info_sync_entries): fix mistake in
previous commit
2006-02-20 James Livingston <
[email protected]>
* widgets/rb-song-info.c: (rb_song_info_response_cb),
(rb_song_info_sync_entry_single), (rb_song_info_sync_entries): don't
attempt to sync data for non-editable entries when using
next/previous. Don't write our Year if it wasn't changed. Fixes bug
331762.
2006-02-19 Luca Ferretti <
[email protected]>
* .cvsignore:
* Makefile.am:
* autogen.sh:
* configure.ac:
* help/.cvsignore:
* help/Makefile.am: ported to gnome-doc-utils
* help/rhythmbox.omf.in: added, needed by gnome-doc-utils
* help/ChangeLog: added, for translators
* help/C/rhytmbox-C.omf: removed, no longer used
Know issue: figures are installed, but some are not showed; manual
description added, but not showed in Yelp while browsing. I'll
investigate, maybe are needed some little changes to
help/C/rhythmbox.xml.
2006-02-20 James Livingston <
[email protected]>
* data/ui/rhythmbox-ui.xml:
* help/C/figures/rb-adv.png:
* help/C/figures/rb-asst-finish.png:
* help/C/figures/rb-asst-library.png:
* help/C/figures/rb-asst-start.png:
* help/C/figures/rb-basic.png:
* help/C/figures/rb-browser.png:
* help/C/figures/rb-context-menu.png:
* help/C/figures/rb-empty.png:
* help/C/figures/rb-full-play.png:
* help/C/figures/rb-group-auto.png:
* help/C/figures/rb-group-create.png:
* help/C/figures/rb-group.png:
* help/C/figures/rb-imported.png:
* help/C/figures/rb-iradio-add.png:
* help/C/figures/rb-iradio.png:
* help/C/figures/rb-nextprev.png:
* help/C/figures/rb-nobrowse-play.png:
* help/C/figures/rb-notification-area-menu.png:
* help/C/figures/rb-player.png:
* help/C/figures/rb-prefs-general.png:
* help/C/figures/rb-prefs-ipod.png:
* help/C/figures/rb-prefs-library.png:
* help/C/figures/rb-prefs.png:
* help/C/figures/rb-repeat.png:
* help/C/figures/rb-search.png:
* help/C/figures/rb-shuffle.png:
* help/C/figures/rb-stats.png:
* help/C/figures/rb-toolbar-editor.png:
* help/C/figures/rb-volume-mute.png:
* help/C/figures/rhythmbox-group.png:
* help/C/figures/rhythmbox-tray-icon.png:
* help/C/user-guide.xml: remove old stuff from cvs
2006-02-19 Jonathan Matthew <
[email protected]>
* metadata/rb-metadata-dbus-client.c:
* metadata/rb-metadata-dbus-service.c:
* metadata/rb-metadata-dbus.c:
* metadata/rb-metadata-dbus.h:
New files, adding an external service for reading and writing
metadata, and an implementation of the RBMetaData interface that uses
dbus to communicate with it.
* metadata/rb-metadata.h,
* metadata/rb-metadata-common.c: (rb_metadata_get_field_type),
(rb_metadata_get_field_name): Put metadata details in a static array
instead of using a hash table, and add a field for language code (not
used for anything)
* metadata/rb-metadata-gst.c: Updates for changes in
rb-metadata-common.c, fix signal handler closure leak for the typefind
element's have-type signal, and add XML to the list of types we ignore.
* rhythmdb/rhythmdb.c: (extract_gtype_from_enum_entry):
Update for changes to rb_metadata_get_field_type
(rhythmdb_entry_allocate): Don't make songs hidden initially, as
rhythmdb_commit_internal do that for non-local files. Saves us a stat
here and there.
* configure.ac: Add --enable-metadata-helper option (not enabled by
default) to use the external metadata service
* metadata/Makefile.am: Add new files
* metadata/test-metadata.c: Test program for the metadata service
Fixes #329597.
2006-02-19 Jonathan Matthew <
[email protected]>
* shell/rb-shell.c: (rb_shell_cmd_add_file_to_library):
* sources/rb-podcast-source.c: (impl_get_ui_actions),
(rb_podcast_source_cmd_new_podcast):
Move 'new podcast' action to the podcast source, and add it to the
toolbar. Fixes #331562.
2006-02-19 James Livingston <
[email protected]>
* data/ui/rhythmbox-ui.xml: Move add-to-queue to the top of the context
menus, and away from move-to-trash. Fixes bug 331013.
2006-02-19 James Livingston <
[email protected]>
* shell/rb-play-order.c: (default_playing_entry_removed): don't crash
when deleting last entry. Fixes bug 331712.
2006-02-18 Jonathan Matthew <
[email protected]>
* widgets/rb-entry-view.c: (rb_entry_view_class_init),
(rb_entry_view_button_press_cb):
* widgets/rb-entry-view.h: Emit show-popup when right clicked
anywhere, and include a flag indicating whether the click was over an
entry or not.
* sources/rb-playlist-source.c: (default_show_entry_view_popup),
(rb_playlist_source_songs_show_popup_cb):
* sources/rb-playlist-source.h:
Add the 'over entry' flag to the class show popup method, and in the
default handler, ignore right clicks when not over an entry.
* sources/rb-iradio-source.c:
(rb_iradio_source_songs_show_popup_cb):
* sources/rb-library-source.c:
(rb_library_source_songs_show_popup_cb):
* sources/rb-podcast-source.c:
(rb_podcast_source_songs_show_popup_cb):
Show the source list popup menu when right clicked while not over an
entry.
* sources/rb-play-queue-source.c: (impl_show_entry_view_popup):
For the queue sidebar, always display the popup so the 'clear queue'
action is available regardless of where you click. For the queue
source, only display the popup when right clicked over an entry.
Fixes #331392.
2006-02-19 James Livingston <
[email protected]>
* daapsharing/rb-daap-share.c: (add_playlist_to_mlcl):
* shell/rb-shell.c: (rb_shell_select_source): don't get the source's
entry view, when we're not even using it
* rhythmdb/rhythmdb-property-model.c:
(rhythmdb_property_model_row_inserted_cb): use the query-model utility
function, rather than a copy of the code.
* shell/rb-playlist-manager.c:
(rb_playlist_manager_playlist_row_inserted_cb),
(rb_playlist_manager_set_source_internal),
(rb_playlist_manager_playlist_entries_changed): use the query-model
directly, rather than the source's entry view.
* shell/rb-source-header.c: don't use the entry view, just select the
source widget.
2006-02-18 James Livingston <
[email protected]>
update by: Baptiste Mille-Mathias <
[email protected]>
* help/C/figures/rb-iradio-main.png:
* help/C/figures/rb-notification-area-menu.png:
* help/C/figures/rb-notification-window.png:
* help/C/figures/rb-notification-zone.png:
* help/C/figures/rb-podcast-main.png:
* help/C/figures/rb-statusbar.png:
* help/C/figures/rb-toolbar-prevplaynext.png:
* help/C/figures/rb-toolbar-repeat.png:
* help/C/figures/rb-toolbar-shuffle.png:
* help/C/figures/rb-toolbar.png:
* help/C/figures/rb-volume-changer.png:
* help/C/figures/rb-window-small.png:
* help/C/figures/rb-window.png:
* help/C/rhythmbox.xml: Update user guide with some of the changes
that have occurred after 0.8.8. From bug 314001.
2006-02-18 Jonathan Matthew <
[email protected]>
* rhythmdb/rhythmdb-query-results.h,
rhythmdb/rhythmdb-query-results.c:
New interface for objects that accept query results from RhythmDB.
* rhythmdb/rhythmdb-query-model.c:
(rhythmdb_query_model_query_results_init),
(rhythmdb_query_model_set_query),
(rhythmdb_query_model_add_results),
(rhythmdb_query_model_query_complete):
* rhythmdb/rhythmdb-query-model.h:
Make RhythmDBQueryModel implement the RhythmDBQueryResults interface.
* rhythmdb/rhythmdb-tree.c: (handle_entry_match),
(rhythmdb_tree_do_full_query):
* rhythmdb/rhythmdb.c: (rhythmdb_event_free),
(rhythmdb_query_internal), (rhythmdb_do_full_query_async_parsed),
(rhythmdb_do_full_query_async), (rhythmdb_do_full_query_internal),
(rhythmdb_do_full_query_parsed), (rhythmdb_do_full_query):
* rhythmdb/rhythmdb.h:
Pass query results through the RhythmDBQueryResults interface, rather
than directly to a RhythmDBQueryModel.
* podcast/rb-podcast-manager.c: (rb_podcast_manager_update_feeds),
(rb_podcast_manager_db_entry_deleted_cb):
* sources/rb-auto-playlist-source.c:
(rb_auto_playlist_source_do_query),
(rb_auto_playlist_source_set_query):
* sources/rb-iradio-source.c: (rb_iradio_source_do_query):
* sources/rb-library-source.c: (rb_library_source_constructor),
(rb_library_source_do_query):
* sources/rb-podcast-source.c: (rb_podcast_source_constructor),
(rb_podcast_source_do_query):
* rhythmdb/rhythmdb-property-model.c:
(rhythmdb_property_model_drag_data_get):
Cast the query model to RhythmDBQueryResults when passing to one of
the RhythmDB query methods.
* rhythmdb/Makefile.am: Add new files.
2006-02-18 James Livingston <
[email protected]>
* data/ui/rhythmbox-ui.xml:
* shell/rb-playlist-manager.c:
(_queue_track_cb), (rb_playlist_manager_cmd_queue_playlist): Add
"queue playlist" item to source context menu. Fixes bug 330490.
2006-02-18 James Livingston <
[email protected]>
* data/glade/general-prefs.glade:
* shell/rb-shell-preferences.c:
(rb_shell_preferences_column_check_changed_cb),
(rb_shell_preferences_sync):
* sources/rb-library-source.c: (rb_library_source_constructor):
* sources/rb-playlist-source.c: (rb_playlist_source_constructor):
* widgets/rb-entry-view.c: (rb_entry_view_quality_cell_data_func),
(rb_entry_view_append_column): Add a "quality" colume which indicates
the bitrate of media. Part of bug 167659.
2006-02-18 James Livingston <
[email protected]>
* shell/rb-play-order.c: (do_next_idle_cb),
(default_playing_entry_removed): move to next track when playing entry
is deleted. Fixes bug 131150.
* shell/rb-shell-player.h: remove ancient stuff
2006-02-17 William Jon McCann <
[email protected]>
* shell/rb-shell-clipboard.c (rb_shell_clipboard_set_source_internal)
(rb_shell_clipboard_set_property):
* shell/rb-shell.c (rb_shell_sync_party_mode):
Trigger a resync of the clipboard properties when changing party mode.
2006-02-17 William Jon McCann <
[email protected]>
* sources/rb-static-playlist-source.c: Fix includes.
* sources/rb-source.c (rb_source_can_rename)
(rb_source_can_delete, rb_source_can_move_to_trash):
Return FALSE if in party mode.
* shell/rb-shell.[ch] (rb_shell_finalize, rb_shell_constructor):
Replace fullscreen with party mode.
(rb_shell_window_delete_cb): Don't quit if in party mode.
(rb_shell_view_party_mode_changed_cb): Setup party mode.
(window_state_event_cb): Try to deiconify shell when iconified
in party mode.
(rb_shell_sync_party_mode): Sync party mode properties.
Currently, that means [de]sensitizing close, quit, and small-display,
going into fullscreen mode with window stuck and kept above, and
toggling queue-only for the shell player.
(rb_shell_sync_smalldisplay): Sensitive party mode.
(rb_shell_get_party_mode): Get party mode setting.
* shell/rb-shell-player.c (rb_shell_player_class_init)
(rb_shell_player_set_property, rb_shell_player_get_property):
Add queue-only property.
(rb_shell_player_entry_activated_cb): If in party mode
only queue the entry on activation.
* shell/rb-playlist-manager.c (rb_playlist_manager_set_source_internal):
Break out from set_properties. Desensitize some actions when
in party mode.
(rb_playlist_manager_set_property): Break out set_source_internal.
* data/rhythmbox.schemas: Remove fullscreen mode.
* data/ui/rhythmbox-ui.xml: Replace fullscreen
action with party mode.
Partial fix for #323933
2006-02-17 James Livingston <
[email protected]>
* configure.ac:
* shell/rb-removable-media-manager.c:
(get_nautilus_burn_drive_for_path),
(rb_removable_media_manager_playing_uri_changed_cb): only use
nautilus_burn_drive_new_by_path when it exists, fall back to iterating
over the list when it doesn't.
2006-02-17 James Livingston <
[email protected]>
* sources/rb-iradio-source.c: (rb_iradio_source_constructor),
(rb_iradio_source_first_time_changed): Only do the import on the
first change from FALSE to TRUE.
* sources/rb-library-source.c:
(rb_library_source_preferences_sync),
(rb_library_source_library_location_cb): set the first-run done flag
if the user presses close and then sets their watches library
location. Fixes bug 325997.
2006-02-17 James Livingston <
[email protected]>
* shell/rb-shell.c: (rb_shell_class_init): make the shell player and
removable media manager gobject properties
* shell/rb-removable-media-manager.c: (begin_cd_drive_monitor),
(split_drive_from_cdda_uri),
(rb_removable_media_manager_playing_uri_changed_cb),
(rb_removable_media_manager_load_media): stop polling a cd drive
when we are playing from it. Part of bug 330716.
2006-02-17 Jonathan Matthew <
[email protected]>
* rhythmdb/rhythmdb-query-model.c:
(rhythmdb_query_model_set_property),
(rhythmdb_query_model_finalize),
(rhythmdb_query_model_base_entry_removed):
Propagate entry removal from base models out to attached property
models. Fixes the rest of #331165.
2006-02-17 Jonathan Matthew <
[email protected]>
* rhythmdb/rhythmdb-property-model.c:
(rhythmdb_property_model_row_inserted_cb),
(rhythmdb_property_model_prop_changed_cb),
(rhythmdb_property_model_insert):
Don't store NULL as a hash table value if we want to use
g_hash_table_lookup to check if a key exists, and get the checks for
how and whether to handle entry changes the right way around.
Fixes #331211 and half of #331165.
2006-02-16 James Livingston <
[email protected]>
* sources/rb-audiocd-source.c: (rb_audiocd_source_constructor): read
the audio cd's TOC in a separate thread, so it doesn't block the UI.
Fixes bug 329942.
2006-02-16 James Livingston <
[email protected]>
* widgets/rb-library-browser.c: (reset_view_cb): make View All
actually reset the browsers.
2006-02-16 Jonathan Matthew <
[email protected]>
* widgets/eggtrayicon.c: (egg_tray_icon_notify):
Escape the strings we pass into libnotify so we don't get blank
notifications when the song name contains '&' etc. Fixes #330784.
2006-02-16 James Livingston <
[email protected]>
* shell/rb-source-header.c: (rb_source_header_sync_control_state):
enable "View All" when there is only a search box and no browser.
Fixes bug 331395.
2006-02-16 Jonathan Matthew <
[email protected]>
* data/ui/rhythmbox-ui.xml: Add 'clear queue' to the sidebar queue
popup menu, which I forgot to commit with the patch for bug #330014.
2006-02-16 Jonathan Matthew <
[email protected]>
* shell/rb-shell-player.c: (open_location_thread):
Sync button and entry view state once we've started the player, so the
entry view gets into the playing state for iradio.
2006-02-15 Jonathan Matthew <
[email protected]>
* shell/rb-shell-player.c: (open_location_thread):
Take GDK lock before doing anything UI-related.
2006-02-15 Jonathan Matthew <
[email protected]>
* shell/rb-shell.c: Move 'new iradio station' action to
iradio source.
* sources/rb-iradio-source.c: (rb_iradio_source_class_init),
(rb_iradio_source_init), (rb_iradio_source_finalize),
(rb_iradio_source_constructor):
Remove some unused stuff.
(guess_uri_scheme), (rb_iradio_source_add_station),
(rb_iradio_source_add_from_playlist),
(impl_get_ui_actions), (new_station_location_added),
(rb_iradio_source_cmd_new_station): Handle 'new iradio station'
action, include it in the toolbar, and make sure the URI we add has a
scheme. Fixes #327059, more or less.
2006-02-15 Jonathan Matthew <
[email protected]>
* sources/rb-play-queue-source.c:
(rb_play_queue_source_class_init),
(rb_play_queue_source_constructor),
(rb_play_queue_source_update_count),
(rb_play_queue_source_cmd_clear), (impl_get_ui_actions):
Add a toolbar button to clear the play queue, and make it sensitive
only when there are entries in the queue. Fixes #330014.
* sources/rb-source.c: (_rb_source_register_action_group):
* sources/rb-source.h: Add helper function to register an
action group for a source.
* sources/rb-library-source.c: (rb_library_source_constructor):
* sources/rb-podcast-source.c: (rb_podcast_source_constructor),
(register_action_group): Use _rb_source_register_action_group.
2006-02-15 James Livingston <
[email protected]>
* widgets/rb-song-info.c: (rb_song_info_add_completion),
(rb_song_info_constructor), (rb_song_info_set_property): make
tag-editing completion work for albums too.
2006-02-15 Jonathan Matthew <
[email protected]>
* widgets/rb-query-creator.c: (rb_query_creator_load_query):
Check the 'limit' checkbox for time-limited playlists.
2006-02-14 Sven Herzberg <
[email protected]>
* widgets/rb-song-info.c: Prove text-completion when editing title,
artist or album
2006-02-14 James Livingston <
[email protected]>
* data/ui/rhythmbox-ui.xml: add a separator above the Quit item of the
tray icon popup menu. Fixes bug 331026.
2006-02-14 James Livingston <
[email protected]>
* data/iradio-initial.pls: update the Virgin Radio stations to use the
Ogg Vorbis streams, instead of the MP3 ones.
2006-02-14 James Livingston <
[email protected]>
* rhythmdb/rhythmdb-property-model.c:
(rhythmdb_property_model_class_init),
(rhythmdb_property_model_drag_data_get):
* rhythmdb/rhythmdb-query-model.c:
(rhythmdb_query_model_title_sort_func):
* rhythmdb/rhythmdb-query-model.h: fix drag-and-drop when using the
LOCATION as the key. Fixes bug 330601.
2006-02-13 Jonathan Matthew <
[email protected]>
* sources/rb-playlist-source.c: (playlist_iter_func):
Make it compile with older versions of totem-plparser too.
2006-02-13 James Livingston <
[email protected]>
* rhythmdb/rhythmdb.h:
* rhythmdb/rhythmdb-private.h: Make definition of RhythmDBEntry
structure private, since things should use the accessor functions
rather than manipulating it directly - Only RhythmDB and the
implementation classes should access it directly. Part of the RhythmDB
cleanup of bug 330226.
* iradio/rb-station-properties-dialog.c:
(rb_station_properties_dialog_update_title),
(rb_station_properties_dialog_update_title_entry),
(rb_station_properties_dialog_update_genre),
(rb_station_properties_dialog_update_location),
(rb_station_properties_dialog_update_play_count),
(rb_station_properties_dialog_update_bitrate),
(rb_station_properties_dialog_update_last_played),
(rb_station_properties_dialog_update_rating),
(rb_station_properties_dialog_update_playback_error),
(rb_station_properties_dialog_sync_entries):
* podcast/rb-feed-podcast-properties-dialog.c:
(rb_feed_podcast_properties_dialog_update_title),
(rb_feed_podcast_properties_dialog_update_title_label),
(rb_feed_podcast_properties_dialog_update_author),
(rb_feed_podcast_properties_dialog_update_location),
(rb_feed_podcast_properties_dialog_update_copyright),
(rb_feed_podcast_properties_dialog_update_language),
(rb_feed_podcast_properties_dialog_update_summary):
* podcast/rb-podcast-manager.c:
(rb_podcast_manager_entry_downloaded),
(rb_podcast_manager_db_entry_added_cb),
(download_progress_update_cb),
(rb_podcast_manager_db_entry_deleted_cb):
* podcast/rb-podcast-properties-dialog.c:
(rb_podcast_properties_dialog_update_title),
(rb_podcast_properties_dialog_update_title_label),
(rb_podcast_properties_dialog_update_feed),
(rb_podcast_properties_dialog_update_location),
(rb_podcast_properties_dialog_update_play_count),
(rb_podcast_properties_dialog_update_bitrate),
(rb_podcast_properties_dialog_update_last_played),
(rb_podcast_properties_dialog_update_rating),
(rb_podcast_properties_dialog_update_date),
(rb_podcast_properties_dialog_update_description):
* rhythmdb/rhythmdb-query-model.c:
(rhythmdb_query_model_entry_changed_cb),
(rhythmdb_query_model_remove_from_main_list),
(rhythmdb_query_model_update_limited_entries),
(rhythmdb_query_model_drag_data_get),
(rhythmdb_query_model_album_sort_func):
* rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
(save_entry):
* rhythmdb/rhythmdb.c: (rhythmdb_entry_set_internal),
(rhythmdb_prop_get_type), (rhythmdb_entry_dup_string),
(rhythmdb_entry_get_string), (rhythmdb_entry_get_boolean),
(rhythmdb_entry_get_uint64), (rhythmdb_entry_get_ulong),
(rhythmdb_entry_get_double):
* shell/rb-audioscrobbler.c: (rb_audioscrobbler_song_changed_cb):
* shell/rb-play-order-random-by-age-and-rating.c:
(rb_random_by_age_and_rating_get_entry_weight):
* shell/rb-play-order-random-by-age.c:
(rb_random_by_age_get_entry_weight):
* shell/rb-play-order-random-by-rating.c:
(rb_random_by_rating_get_entry_weight):
* shell/rb-playlist-manager.c: (create_name_from_selection_data):
* shell/rb-shell-player.c: (rb_shell_player_open_entry),
(rb_shell_player_set_playing_entry),
(rb_shell_player_sync_replaygain),
(rb_shell_player_sync_with_source),
(rb_shell_player_get_playing_song_duration), (info_available_cb):
* sources/rb-playlist-source.c: (playlist_iter_func),
(burn_playlist_iter_func), (rb_playlist_source_row_deleted),
(rb_playlist_source_entry_added_cb):
* sources/rb-podcast-source.c:
(rb_podcast_source_post_status_cell_data_func):
* sources/rb-source.c: (rb_source_update_play_statistics):
* sources/rb-sourcelist-model.c:
(rb_sourcelist_model_drag_data_get):
* sources/rb-static-playlist-source.c: (impl_save_contents_to_xml),
(rb_static_playlist_source_add_entry),
(rb_static_playlist_source_remove_entry):
* widgets/rb-entry-view.c: (type_ahead_search_func),
(rb_entry_view_playing_cell_data_func),
(rb_entry_view_rating_cell_data_func),
(rb_entry_view_pixbuf_clicked_cb):
* widgets/rb-header.c: (rb_header_get_duration):
* widgets/rb-song-info.c: (rb_song_info_populate_dialog_multiple),
(rb_song_info_populate_dialog),
(rb_song_info_update_playback_error),
(rb_song_info_update_bitrate), (rb_song_info_update_duration),
(rb_song_info_update_location), (rb_song_info_update_play_count),
(rb_song_info_update_last_played), (rb_song_info_update_rating),
(rb_song_info_update_year), (rb_song_info_sync_entries_multiple),
(rb_song_info_sync_entry_single): fix the huge number of times that
the internals got accessed directly.
2006-02-13 Jonathan Matthew <
[email protected]>
* data/ui/rhythmbox-ui.xml: Move separator so 'remove' and 'move to
trash' are grouped together.
* shell/main.c: (main): Pass no-registration flag in to RBShell
constructor, rather than mysteriously always passing TRUE.
* sources/rb-playlist-source.c: (rb_playlist_source_row_deleted):
Set dirty flag when entries are removed from the model, so the play
queue is marked dirty appropriately.
* AUTHORS: update my email address
2006-02-13 Jonathan Matthew <
[email protected]>
Patch by: Baptiste Mille-Mathias <
[email protected]>
* widgets/rb-druid.c: (path_dialog_response_cb):
If the URI is local, don't display the 'file://' prefix.
Fixes #330919.
2006-02-12 Jonathan Matthew <
[email protected]>
* widgets/eggtrayicon.c: (egg_tray_icon_notify):
Attach the notification to the tray icon widget, so libnotify
positions it less badly. Fixes #330876.
2006-02-11 Jonathan Matthew <
[email protected]>
* widgets/rb-entry-view.c: (rb_entry_view_get_selected_entries):
Reverse the selection list before returning it, so we get it in the
right order. Fixes #330283 and some other weirdness.
2006-02-11 James Livingston <
[email protected]>
* shell/rb-shell.c: (rb_shell_constructor),
(rb_shell_sync_fullscreen), (rb_shell_sync_smalldisplay):
* shell/rb-source-header.c: (rb_source_header_sync_control_state):
make small-mode and fullscreen mutually exclusive, since they don't
work together
* data/ui/rhythmbox-ui.xml: move Fullscreen up to the top with Small
Mode.
2006-02-10 James Livingston <
[email protected]>
* player/rb-player-gst.c: turn paranoia of when playing audio cds,
since it can cause it to be slower than real-time. Should fix bug
322270.
2006-02-10 Jonathan Matthew <
[email protected]>
* rhythmdb/rhythmdb-query-model.c:
(rhythmdb_query_model_set_property):
Think just a little bit harder about that last commit.
2006-02-10 Jonathan Matthew <
[email protected]>
* rhythmdb/rhythmdb-query-model.c:
(rhythmdb_query_model_set_property):
Get the check for hidden entries the right way around.
Fixes #330527, #330514.
(rhythmdb_query_model_set_sort_order):
Ignore no-op sort order changes, so we don't get critical
messages when selecting 'all' in auto playlist browsers.
2006-02-10 Jonathan Matthew <
[email protected]>
Patch by: Christophe Fergeau <
[email protected]>
* sources/rb-removable-media-source.c:
(rb_removable_media_source_init),
(rb_removable_media_source_constructor):
Move icon setup code to the constructor, as the volume property
haven't been set yet when _init is called.
2006-02-09 William Jon McCann <
[email protected]>
* sources/rb-sourcelist.c (rb_sourcelist_append, icon_notify_cb):
Make the source pixbuf a dynamic property.
* sources/rb-source.[ch] (rb_source_class_init, rb_source_finalize)
(rb_source_set_pixbuf, rb_source_set_property)
(rb_source_get_property): Add icon property.
* sources/rb-auto-playlist-source.c (rb_auto_playlist_source_class_init)
(rb_auto_playlist_source_init):
* sources/rb-static-playlist-source.c (rb_static_playlist_source_class_init)
(rb_static_playlist_source_init):
* sources/rb-removable-media-source.c (rb_removable_media_source_class_init)
(rb_removable_media_source_init):
* sources/rb-podcast-source.c (rb_podcast_source_class_init)
(rb_podcast_source_init):
* sources/rb-library-source.c (rb_library_source_class_init)
(rb_library_source_set_property, rb_library_source_get_property):
* sources/rb-iradio-source.c (rb_iradio_source_class_init)
(rb_iradio_source_init): Remove impl_get_pixbuf and
set icon property on source base class.
* sources/rb-daap-source.c (rb_daap_get_icon): Get
a different icon for when the share is password protected
and locked.
(rb_daap_source_new): Set icon property.
(composite_icons): Composite an emblem on a pixbuf.
(create_pixbufs): Load global pixbufs.
(destroy_pixbufs): unref global pixbufs.
(rb_daap_sources_init, rb_daap_sources_shutdown): Pixbuf setup.
(connection_auth_cb, connection_connected_cb)
(connection_disconnected_cb): Update icon when connection
status changes.
(rb_daap_source_activate): Connect signals.
* daapsharing/rb-daap-share.c (name_collision_cb): Run
dialog with parent.
* daapsharing/rb-daap-marshal.list: Add new signal.
* daapsharing/rb-daap-dialog.[ch] (rb_daap_password_dialog_new_run)
(rb_daap_collision_dialog_new_run): Set parent of dialog.
* daapsharing/rb-daap-connection.[ch] (rb_daap_connection_class_init):
Add authenticate, connected, and disconnected signals.
(connection_get_password): emit authenticate signal instead
of running dialog directly.
(connection_connected, connection_disconnected): Emit signals.
(handle_login): Emit connected signal.
(handle_logout): Emit disconnected signal.
(rb_daap_connection_do_something): Fix leak.
Fixes #330291
2006-02-09 James Livingston <
[email protected]>
* (rhythmdb_query_model_set_property): don't try to insert HIDDEN
entries from the base model if we don't have show-hidden set. Fixes
bug 330514.
2006-02-08 William Jon McCann <
[email protected]>
* daapsharing/rb-daap-share.c (message_get_session_id):
Ugh. Use strtoul instead of atoi.
(session_id_validate): Add debug statements.
2006-02-08 William Jon McCann <
[email protected]>
* daapsharing/rb-daap-connection.c (http_response_handler):
Report the actual uri from the message in debug statements.
2006-02-08 William Jon McCann <
[email protected]>
* daapsharing/rb-daap-share.c (server_info_cb, content_codes_cb):
Add context argument.
(message_get_session_id): New function to parse session id from
the message.
(message_get_revision_number): Break out function to parse
revision number from the message.
(session_id_validate): New function to validate given session id
is valid for given context (ie. client address).
(session_id_generate): Generate a random session id.
(session_id_create): Create a unique session id and store it.
(session_id_remove): Remove a session id from the store.
(login_cb): Create a session id instead of using a constant one.
(logout_cb): Validate session id.
(update_cb): Use new message_get_revision_number function.
(databases_cb): Validate session id.
(server_cb): Add server context to argument list for callbacks. It
is needed to look up the remote host.
(db_entry_changed_cb): Use braces.
(soup_auth_callback): Remove FIXME.
(rb_daap_share_server_start): Create session id store.
(rb_daap_share_server_stop): Destroy session id store.
* daapsharing/rb-daap-dialog.c (rb_daap_password_dialog_new_run):
Don't base64-encode password here since it needs to be
combined with the username first.
* daapsharing/rb-daap-connection.c (build_message):
Add username to Authorization token.
(handle_login, handle_song_listing)
(rb_daap_connection_do_something): Session id
must be an unsigned int.
Fixes #329814
2006-02-08 Jonathan Matthew <
[email protected]>
* shell/rb-shell-player.c: (rb_shell_player_get_playing):
Don't check if we've got a playing entry, ask the player object (duh).
Might actually fix #329993.
2006-02-08 Jonathan Matthew <
[email protected]>
* sources/rb-static-playlist-source.c:
(rb_static_playlist_source_add_list_uri):
Canonicalise URIs before trying to add them to the playlist, and
don't try to add files to the database for which there is
already an entry.
2006-02-08 Jonathan Matthew <
[email protected]>
* shell/rb-shell-player.c: (rb_shell_player_get_playing):
Don't ask the entry view if we're playing, just check if we've got a
playing entry. Fixes #329993.
2006-02-08 James Livingston <
[email protected]>
* rhythmdb/rhythmdb-query-model.c:
(rhythmdb_query_model_set_property),
(rhythmdb_query_model_finalize),
(rhythmdb_query_model_base_complete): remove
rhythmdb_query_model_base_entry_prop_changed, so that two signals
don't get emitted for entry changes. Fixes bug 330301.
* widgets/rb-library-browser.c: (rb_library_browser_class_init),
(rb_library_browser_init), (rb_library_browser_constructor),
(rb_library_browser_new): do stuff in the constructor, not the init
function, so that the db property gets set on RBPropertyViews
correctly. Fixes a crash when dragging properties to a playlist.
2006-02-07 William Jon McCann <
[email protected]>
* daapsharing/rb-daap-share.c (rb_daap_share_server_stop):
Actually stop soup server. Fixes #329816.
2006-02-07 James Livingston <
[email protected]>
* lib/rb-util.h:
* lib/rb-util.c: (rb_string_list_equal), (list_copy_cb),
(rb_string_list_copy), (rb_list_deep_free), (collate_keys_cb),
(collate_values_cb), (rb_collate_hash_table_keys),
(rb_collate_hash_table_values): add functions to compare, copy and
free string-lists. add functions to collate the keys or values of a
hash table into a list.
* rhythmdb/rhythmdb-property-model.c:
(rhythmdb_property_model_class_init), (entry_from_tree_iter),
(_remove_entry_cb), (_add_entry_cb),
(rhythmdb_property_model_set_property),
(rhythmdb_property_model_get_property),
(rhythmdb_property_model_init), (rhythmdb_property_model_finalize),
(rhythmdb_property_model_row_inserted_cb),
(rhythmdb_property_model_prop_changed_cb),
(rhythmdb_property_model_entry_removed_cb): correctly handle entries
that are hidden, storing those that we have counted in a hash-table.
* shell/Makefile.am: fix build order issue
* shell/rb-shell-player.c: (rb_shell_player_set_property):
* sources/rb-source.h:
* shell/rb-source-header.c: (rb_source_header_sync_control_state):
* sources/rb-playlist-source.c: (rb_playlist_source_constructor):
* sources/rb-podcast-source.c: (feed_select_change_cb): add
browser-toggled method, rename _get_exta_views to _get_property_views,
since several things depend on returning only that.
* sources/rb-source.c: (rb_source_class_init),
(rb_source_browser_toggled), (default_get_property_views),
(rb_source_get_property_views), (rb_source_row_deleted_cb),
(rb_source_gather_hash_keys),
(rb_source_gather_selected_properties): above changes, and move some
utility functions up from RBLibraryView
* widgets/rb-property-view.c:
(rb_property_view_selection_changed_cb): fix leak.
* rhythmdb/rhythmdb-query-model.c:
(rhythmdb_query_model_set_property),
(rhythmdb_query_model_finalize), (apply_updated_entry_sequence),
(rhythmdb_query_model_set_sort_order),
(rhythmdb_query_model_base_rows_reordered): fix handling of the base
query model being resorted.
* rhythmdb/rhythmdb-tree.c: (do_query_recurse): handle being passed a
NULL query.
* rhythmdb/rhythmdb.h:
* rhythmdb/rhythmdb.c: (rhythmdb_query_copy),
(rhythmdb_query_concatenate), (rhythmdb_query_preprocess),
(rhythmdb_query_append_prop_multiple): Add a function to concatenate
two queries. Add a function to append "property={X,Y,Z,...}" to a
query.
* sources/rb-library-source.c: (rb_library_source_class_init),
(rb_library_source_finalize), (rb_library_source_constructor),
(rb_library_source_cmd_choose_genre),
(rb_library_source_cmd_choose_artist),
(rb_library_source_cmd_choose_album), (impl_search),
(impl_get_property_views), (impl_reset_filters),
(rb_library_source_preferences_sync),
(rb_library_source_browser_views_activated_cb),
(rb_library_source_state_prefs_sync),
(construct_query_from_selection), (rb_library_source_do_query),
(rb_library_source_browser_changed_cb):
* widgets/Makefile.am:
* widgets/rb-library-browsers.{c,h}: Add a generalised "library
browser" widgets, which contains several property views, based on the
code from RBLibrarySource. Make RBLibrarySource use it.
* sources/rb-auto-playlist-source.c:
(rb_auto_playlist_source_class_init),
(rb_auto_playlist_source_init), (rb_auto_playlist_source_finalize),
(rb_auto_playlist_source_constructor), (impl_reset_filters),
(impl_get_property_views), (impl_browser_toggled),
(construct_query_from_selection),
(rb_auto_playlist_source_do_query),
(rb_auto_playlist_source_set_query),
(rb_auto_playlist_source_browser_changed_cb): Use the new
library-browser widget to add browsers to automatic playlists.
2006-02-07 James Livingston <
[email protected]>
* player/rb-player-gst.c: (rb_player_bus_cb): check error type
properly.
* shell/rb-shell-player.c: (do_next_idle): use eos_cb, so that the EOF
type of the source is taken into account. Fixes bug 329621.
2006-02-07 James Livingston <
[email protected]>
* rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_start_element),
(rhythmdb_tree_parser_end_element): update the rhythmdb.xml version to
1.1, and perform URI canonicalistion when first upgrading. This should
fix our remaining canonicalisation issues, such as bug 329988.
2006-02-07 Jonathan Matthew <
[email protected]>
* widgets/rb-entry-view.c: (rb_entry_view_playing_song_changed):
Track the playing entry when the entry view isn't in the playing
state, so we don't have to get the state changes exactly right.
Fixes #330135.
2006-02-06 James Livingston <
[email protected]>
* shell/rb-shell-player.c: (open_location_thread),
(rb_shell_player_open_location): fix several iradio issues: having to
press play after double-clicking on a station, not working correctly
without a http:// prefix, and ignoring totem-plparser results other
than success or error (e.g. IGNORE).
2006-02-06 Jonathan Matthew <
[email protected]>
Addition of dbus methods for dealing with static playlists and the
play queue. Fixes #329958.
* shell/Makefile.am:
* shell/rb-playlist-manager.h:
* shell/rb-playlist-manager.xml:
* shell/rb-playlist-manager.c: (save_playlist_response_cb),
(rb_playlist_manager_get_playlists),
(rb_playlist_manager_get_playlist_names), (_get_playlist_by_name),
(rb_playlist_manager_create_static_playlist),
(rb_playlist_manager_delete_playlist),
(rb_playlist_manager_add_to_playlist),
(rb_playlist_manager_remove_from_playlist),
(rb_playlist_manager_export_playlist):
Add org.gnome.Rhythmbox.PlaylistManager dbus interface, with methods
to create, delete, list, modify, export, and import static playlists.
* shell/main.c: (main): Register playlist manager object with dbus.
* shell/rb-shell.h:
* shell/rb-shell.xml:
* shell/rb-shell.c: (rb_shell_get_playlist_manager),
(rb_shell_get_playlist_manager_path), (rb_shell_add_to_queue),
(rb_shell_remove_from_queue): Provide dbus access to the playlist manager
object, and implement the addToQueue and removeFromQueue methods.
* sources/rb-playlist-source.c: (rb_playlist_source_save_playlist):
* sources/rb-playlist-source.h: Add flag to choose between PLS and M3U
formats.
2006-02-05 James Livingston <
[email protected]>
* rhythmdb/rhythmdb-tree.c: (parse_boolean),
(rhythmdb_tree_parser_end_element), (save_entry_boolean),
(save_entry): allow storage of booleans in the on-disk db, and
save/load the HIDDEN property.
* rhythmdb/rhythmdb.c: (rhythmdb_commit_internal),
(rhythmdb_prop_get_type): restore the HIDDEN property of local files
to the state it was when RB shutdown. This makes RB appear to start
faster, as tracks can appear before the stat is done. Remote files
still start hidden. From bug 325215.
2006-02-05 James Livingston <
[email protected]>
* rhythmdb/rhythmdb.c: (rhythmdb_class_init):
* rhythmdb/rhythmdb.h: remove the "entry-restored" signal nothing
really cares about the difference from "entry-added", and it isn't
emitted by the tree backend anyway.
* rhythmdb/rhythmdb-query-model.c:
(rhythmdb_query_model_constructor):
* sources/rb-playlist-source.c: (rb_playlist_source_constructor):
remove the references to the entry-restored signal.
2006-02-05 James Livingston <
[email protected]>
* shell/rb-shell-player.c: (rb_shell_player_error): fix compilation
issue.
2006-02-05 James Livingston <
[email protected]>
* widgets/rb-entry-view.c: (rb_entry_view_finalize): check whether
things are NULL before using g_object_unref. Fixes bug 327452.
* player/rb-recorder-gst.c: (rb_recorder_construct):
* shell/rb-shell-player.c: (rb_shell_player_error): return errors
rather than assertion.
* sources/rb-playlist-source.c: (rb_playlist_source_new_from_xml):
emit a warning, rather than asserting if an unknown playlist type is
encountered.
2006-02-05 James Livingston <
[email protected]>
* widgets/Makefile.am:
* widgets/rb-simple-view.c:
* widgets/rb-simple-view.h: Move the two features that this class
provides into RBPropertyView, and remove this class. Closes bug
327500.
* podcast/rb-feed-podcast-properties-dialog.c:
* podcast/rb-feed-podcast-properties-dialog.h:
* sources/rb-podcast-source.c: (rb_podcast_source_constructor),
(rb_podcast_source_feeds_show_popup_cb):
* sources/rb-podcast-source.h:
* widgets/rb-property-view.c: (rb_property_view_class_init),
(rb_property_view_constructor), (rb_property_view_popup_menu_cb),
(rb_property_view_append_column_custom),
(rb_property_view_button_press_cb):
* widgets/rb-property-view.h: Updated for the above change.
2006-02-04 James Livingston <
[email protected]>
* shell/rb-shell.c: remove the show/hide toolbar shortcut, since it is
too close to Move to Trash and people aren't likely to use it often.
2006-02-04 James Livingston <
[email protected]>
* shell/rb-shell.c: (rb_shell_cmd_about): Fix the FSF's address