1 2006-06-06 James Livingston <doclivingston@gmail.com>
3 * configure.ac: bump version for a prerelease, turn on track transfer
6 * sources/rb-ipod-source.c: (rb_ipod_source_class_init): disable the
7 ipod transfer stuff, since it has big issues and we'll hopefully land
8 real support (bug 310774) after 0.9.5
10 2006-06-06 James Livingston <doclivingston@gmail.com>
12 * metadata/rb-metadata-gst.c: (rb_add_id3_tagger): actually use
13 id3v2mux once we've detected it.
15 2006-06-06 James Livingston <doclivingston@gmail.com>
18 * tests/test-rhythmdb.c: undo accidental commit which caused
19 rb-thread.c to be built (which it isn't normally)
21 2006-06-06 James Livingston <doclivingston@gmail.com>
23 * tests/test-rhythmdb.c: (test_rhythmdb_setup),
24 (test_rhythmdb_shutdown), (START_TEST): add message strings to all
25 fail_{if/unless} calls, as some versions of check need them (they are
26 optional in others). Should fix bug 343718.
28 2006-06-06 James Livingston <doclivingston@gmail.com>
30 * lib/rb-debug.c: (rb_profiler_new): fix if statement, from bug
34 * lib/rb-thread.c: (process_actions):
35 * tests/test-rhythmdb.c: (START_TEST): fix distcheck, and disable
36 tests that don't pass.
38 2006-06-05 James Livingston <doclivingston@gmail.com>
40 * data/glade/Makefile.am:
41 * data/glade/load-failure.glade:
42 * data/rhythmbox.schemas: remove the remainder of the old load-failure
45 2006-06-05 Jonathan Matthew <jonathan@kaolin.wh9.net>
47 * bindings/python/rb.defs: Remove rb_debug stuff I accidentally
50 2006-06-04 Jonathan Matthew <jonathan@kaolin.wh9.net>
52 * bindings/python/rb.defs:
53 * sources/rb-source.h:
54 * sources/rb-source.c: (rb_source_class_init),
55 (rb_source_set_property), (rb_source_get_property),
56 (rb_sourcelist_group_get_type):
57 Add 'sourcelist-group' property on the RBSource class, describing how
58 sources should be grouped in the source list.
60 * sources/rb-sourcelist-model.c: (rb_sourcelist_model_finalize),
61 (rb_sourcelist_model_new), (real_row_is_separator),
62 (rb_sourcelist_model_is_row_visible),
63 (rb_sourcelist_model_row_is_separator), (get_group_for_path),
64 (rb_sourcelist_model_drag_data_received), (path_is_reorderable),
65 (rb_sourcelist_model_row_draggable),
66 (rb_sourcelist_model_row_inserted_cb),
67 (rb_sourcelist_model_row_deleted_cb),
68 (rb_sourcelist_model_get_group_path):
69 * sources/rb-sourcelist-model.h:
70 * sources/rb-sourcelist.c: (rb_sourcelist_init),
71 (rb_sourcelist_append):
72 Add group marker rows for each sourcelist group, and use these to
73 insert sources in the right place. Sort transient sources (DAAP
74 shares) by name. Show the group marker rows as separators when the
75 next visible row is a source. Make persistant sources (playlists) and
76 removable sources reorderable using drag and drop, restricting them
77 within the source groups.
79 * sources/rb-audiocd-source.c: (rb_audiocd_source_new):
80 * sources/rb-auto-playlist-source.c: (rb_auto_playlist_source_new):
81 * sources/rb-daap-source.c: (rb_daap_source_new):
82 * sources/rb-ipod-source.c: (rb_ipod_source_new):
83 * sources/rb-static-playlist-source.c:
84 (rb_static_playlist_source_new):
85 * plugins/generic-player/rb-generic-player-source.c:
86 (rb_generic_player_source_new):
87 * plugins/generic-player/rb-nokia770-source.c:
88 (rb_nokia770_source_new):
89 * plugins/generic-player/rb-psp-source.c: (rb_psp_source_new):
90 Add source list group information to existing source classes.
92 Fixes #318754 and #336492.
94 2006-06-04 James Livingston <doclivingston@gmail.com>
96 * widgets/rb-song-info.c: (rb_song_info_populate_dialog),
97 (rb_song_info_update_year), (rb_song_info_sync_entries_multiple):
100 2006-06-03 Jonathan Matthew <jonathan@kaolin.wh9.net>
102 * rhythmdb/rhythmdb-query-model.c:
103 (rhythmdb_query_model_class_init),
104 (rhythmdb_query_model_remove_from_main_list):
105 * rhythmdb/rhythmdb-query-model.h:
106 Add a new 'post-entry-delete' signal, emitted when the entry has been
107 removed from the model's data structures.
109 * shell/rb-play-order.c: (rb_play_order_finalize),
110 (rb_play_order_query_model_changed),
111 (rb_play_order_post_entry_delete_cb):
112 Use the new signal to update the play order, so the queue play order
113 doesn't try to scroll to entries that don't exist in a way that causes
114 the tree view to crash. Fixes #340216.
116 2006-06-03 Jonathan Matthew <jonathan@kaolin.wh9.net>
118 * backends/gstreamer/rb-encoder-gst.c: (progress_timeout_cb):
119 Fix rb_debug call I missed previously.
121 2006-06-03 Jonathan Matthew <jonathan@kaolin.wh9.net>
123 * metadata/rb-metadata-gst.c:
124 Don't use NULL as the error message for ignored files, as it crashes
125 with some C libraries. Fixes #343713.
127 2006-06-03 Jonathan Matthew <jonathan@kaolin.wh9.net>
129 * widgets/rb-dialog.c: (rb_error_dialog):
130 * widgets/rb-dialog.h:
131 Mark rb_error_dialog as taking printf-like arguments, and use a format
132 string for the primary message rather than passing in the message
135 * lib/eel-gconf-extensions.c: (eel_gconf_handle_error):
136 * shell/rb-shell-player.c: (rb_shell_player_cmd_play),
138 * shell/rb-playlist-manager.c: (load_playlist_response_cb):
139 * shell/rb-removable-media-manager.c:
140 (rb_removable_media_manager_eject_medium_cb):
141 Make sure all calls to rb_error_dialog use string constants for the
142 format string rather than passing the error message directly. Remove
143 an extra %s from the message used when playback fails. Fixes #343562.
146 * sources/rb-audiocd-source.c:
147 * plugins/audioscrobbler/rb-audioscrobbler.c:
148 (rb_audioscrobbler_do_handshake), (rb_audioscrobbler_submit_queue):
149 Mark rb_debug as taking printf-like arguments and fix a few resulting
152 2006-06-02 James Livingston <doclivingston@gmail.com>
155 + macros/check.m4: add support for using check for unit tests, the .m4
156 files is so autogen can run without check being installed
159 + tests/test-rhythmdb.c: update the tests to new rhythmdb API, port
160 some of the old tests, and add some new ones. Currently
161 deserialisation tests 2 and 3 fail, for reasons I haven't figured out
162 yet (the query doesn't return any entries).
164 - tests/deserialization-test1.xml:
165 - tests/deserialization-test2.xml:
166 - tests/deserialization-test3.xml:
167 - tests/test-rhythmdb-indexing.c:
168 - tests/test-rhythmdb-simple.c:
169 - tests/test-rhythmdb-tree-deserialization.c: remove old tests that
173 - tests/test-cmdline.c: remove obsolete tests
175 2006-06-02 James Livingston <doclivingston@gmail.com>
177 * metadata/rb-metadata-gst.c: (rb_gst_plugin_greater),
178 (rb_add_id3_tagger), (rb_metadata_init): add support for using
179 id3v2mux, and check whether we are using a version of id3mux that has
180 the correct merge-mode behaviour.
182 * plugins/sample-python/Makefile.am: fix distcheck.
184 * rhythmdb/rhythmdb-monitor.c: (rhythmdb_finalize_monitoring): check
185 the changed-files source was added before trying to remove it.
187 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_evaluate_query): fix an
188 *old* bug which would crash if a query with top-level disjunctions
189 tried to check later disjunctive parts. Hooray for unit-testing.
191 2006-06-02 William Jon McCann <mccann@jhu.edu>
193 * player/rb-recorder-gst.c (rb_recorder_set_device):
194 Check for a null drive.
196 2006-05-31 Jonathan Matthew <jonathan@kaolin.wh9.net>
199 * lib/rb-stock-icons.c: (rb_stock_icons_init):
200 Register the app icon as a builtin if the icon theme can't find it.
202 2006-05-31 James Livingston <doclivingston@gmail.com>
204 * player/rb-recorder-gst.c: add missing include.
206 2006-05-30 William Jon McCann <mccann@jhu.edu>
208 * metadata/sj-metadata-musicbrainz.c: (lookup_cd):
209 * player/rb-recorder-gst.c: (rb_recorder_get_default_drive),
210 (tick_timeout_cb), (rb_recorder_sync_pipeline),
211 (nautilus_burn_drive_get_device), (rb_recorder_get_device),
212 (rb_recorder_set_device), (rb_recorder_get_default_device):
213 * shell/main.c: (main):
214 * shell/rb-removable-media-manager.c:
215 (rb_removable_media_manager_finalize),
216 (get_nautilus_burn_drive_for_path),
217 (rb_removable_media_manager_playing_uri_changed_cb),
218 (rb_removable_media_manager_load_media),
219 (nautilus_burn_drive_get_device),
220 (rb_removable_media_manager_scan):
221 * sources/rb-playlist-source-recorder.c: (ask_rewrite_disc):
223 Update for libnautilus-burn 2.15.3 API changes.
226 2006-05-30 James Livingston <doclivingston@gmail.com>
228 * daapsharing/rb-daap-connection.c: (handle_login): add a missing
229 "return" to that it asks for the password again if it was wrong.
231 2006-05-30 Jonathan Matthew <jonathan@kaolin.wh9.net>
233 * metadata/rb-metadata-gst.c: Don't leak a reference to decodebin's
236 2006-05-30 James Livingston <doclivingston@gmail.com>
238 * podcast/rb-podcast-manager.c: (rb_podcast_manager_copy_post),
239 (download_progress_cb): don't do wonky things if the transfer
240 "suceeds" without transferring any data.
242 2006-05-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
244 * sources/rb-library-source.c: (layout_example_label_update),
245 (build_filename): Fix crash when no audio profile is selected.
248 2006-05-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
250 * shell/rb-shell.c: (rb_shell_clear_queue):
252 * shell/rb-shell.xml:
253 * sources/rb-play-queue-source.c:
254 (rb_play_queue_source_clear_queue),
255 (rb_play_queue_source_cmd_clear):
256 * sources/rb-play-queue-source.h:
257 Add clearQueue dbus method.
259 2006-05-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
261 * shell/main.c: (main): Implement --quit option.
263 2006-05-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
265 * rhythmdb/rhythmdb-private.h:
266 * rhythmdb/rhythmdb-tree.h:
267 * rhythmdb/rhythmdb.c: (process_added_entries_cb),
268 (rhythmdb_entry_insert), (rhythmdb_entry_set),
269 (rhythmdb_entry_set_nonotify), (rhythmdb_entry_set_uninserted),
270 (rhythmdb_entry_set_internal), (rhythmdb_entry_sync_mirrored),
271 (rhythmdb_entry_get_boolean):
272 Replace 'visibility' and 'inserted' in RhythmDBEntry with a flag
273 bitmask, giving the db backend anything past the first 16 bits for
276 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_start_element),
277 (save_entry), (rhythmdb_tree_entry_new), (rhythmdb_tree_entry_set):
278 Add a 'loading' flag to indicate that an entry is being loaded from
279 disk, and use that to ignore entry_set operations on such entries
280 rather than the 'inserted' flag, which doesn't quite mean the same
281 thing. Fixes #342694.
283 2006-05-28 Jonathan Matthew <jonathan@kaolin.wh9.net>
285 * shell/rb-shell.xml: Remove visibility property, since it causes
286 crashes (dbus bug 7057) and doesn't do much else.
288 2006-05-28 James Livingston <doclivingston@gmail.com>
290 * plugins/audioscrobbler/Makefile.am: fix some distcheck issues.
292 patch by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
293 * po/POTFILES.in: fix some more i18n issues.
295 2006-05-28 Jonathan Matthew <jonathan@kaolin.wh9.net>
297 * bindings/python/rb.defs:
298 * shell/rb-shell-player.c: (rb_shell_player_playpause),
300 * shell/rb-shell-player.h:
301 Deprecate the useless 'ignore_stop' parameter to
302 rb_shell_player_playpause, leaving it in place to avoid breaking dbus
303 API. From bug #334829.
305 2006-05-28 Jonathan Matthew <jonathan@kaolin.wh9.net>
307 * plugins/generic-player/rb-generic-player-source.c:
308 (visit_playlist_dirs), (default_transform_playlist_uri):
309 When playlist parsing fails, unref the playlist, not the parent
310 source. Fix memory leak in playlist uri transform.
311 * plugins/generic-player/rb-nokia770-source.c:
312 (impl_transform_playlist_uri):
313 Fix memory leak in playlist uri transform.
315 2006-05-27 Ryan P Skadberg <skadz@stigmata.org>
317 * doc/reference/Makefile.am: fix grk-doc build
319 2006-05-27 James Livingston <doclivingston@gmail.com>
321 patch by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
323 * plugins/lyrics/lyrics.py:
324 * po/POTFILES.in: Make strings in plugins translatable. From bug
327 2006-05-27 James Livingston <doclivingston@gmail.com>
329 * backends/Makefile.am:
330 * backends/gstreamer/Makefile.am:
332 * plugins/audioscrobbler/Makefile.am:
333 * plugins/generic-player/Makefile.am:
335 * rhythmdb/rhythmdb-monitor.c:
336 * rhythmdb/rhythmdb.c:
337 * sources/Makefile.am:
338 * widgets/Makefile.am: fix compilation after some CVS surgery was
341 2006-05-26 Jonathan Matthew <jonathan@kaolin.wh9.net>
343 * bindings/python/rhythmdb.defs:
344 * rhythmdb/rhythmdb-query.c: (write_encoded_gvalue),
345 (rhythmdb_read_encoded_property), (rhythmdb_query_serialize),
346 (rhythmdb_query_deserialize):
347 * rhythmdb/rhythmdb.c: (rhythmdb_init), (rhythmdb_entry_allocate),
348 (rhythmdb_entry_get_type_data), (rhythmdb_entry_finalize),
349 (rhythmdb_entry_set_internal), (rhythmdb_entry_register_type),
350 (rhythmdb_entry_register_type_alias),
351 (rhythmdb_entry_type_get_by_name), (rhythmdb_entry_song_get_type),
352 (rhythmdb_entry_ignore_get_type), (rhythmdb_entry_iradio_get_type),
353 (_podcast_data_destroy), (rhythmdb_entry_podcast_post_get_type),
354 (rhythmdb_entry_podcast_feed_get_type),
355 (rhythmdb_entry_import_error_get_type),
356 (rhythmdb_entry_get_string), (rhythmdb_entry_get_ulong):
357 * rhythmdb/rhythmdb.h:
358 Allocate a specified amount of extra memory for each db entry, to be
359 used to store fields specific to the entry type. Optionally associate
360 a name with each entry type, to be used when saving entries and
361 auto playlists to disk. Allow entry types to have multiple names
362 to handle older playlist files that used '0' to represent 'song'.
363 Use private data to store podcast fields.
365 * rhythmdb/rhythmdb-private.h:
366 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_start_element),
367 (rhythmdb_tree_parser_end_element), (save_entry),
368 (rhythmdb_tree_entry_set):
369 Simplify property handling by using existing code to convert
370 properties from strings to GValues and to set properties on entries.
371 Other assorted changes due to the above.
373 * sources/rb-audiocd-source.c: (rb_audiocd_source_new):
374 * sources/rb-daap-source.c: (rhythmdb_entry_daap_type_new):
375 * sources/rb-generic-player-source.c:
376 (rb_generic_player_source_new):
377 * sources/rb-ipod-source.c: (rb_ipod_source_new):
378 * sources/rb-nokia770-source.c: (rb_nokia770_source_new):
379 * sources/rb-psp-source.c: (rb_psp_source_new):
380 Update for changes to rhythmdb_entry_register_type. None of these
381 entry types need names or use private data.
385 2006-05-25 Jonathan Matthew <jonathan@kaolin.wh9.net>
387 * rhythmdb/rhythmdb.c: (rhythmdb_add_import_error_entry):
388 Fix creation of ignored-file db entries - need to check for
389 RHYTHMDB_ENTRY_TYPE_INVALID as well as _SONG.
391 2006-05-25 James Livingston <doclivingston@gmail.com>
394 * MAINTAINERS: update my email address
396 2006-05-25 James Livingston <doclivingston@gmail.com>
398 * plugins/lyrics/lyrics.py: strip annotations like "(live ...)" and
399 "(... mix)" when searching for lyrics. Cache the lyrics under
400 ~/.gnome2/rhythmbox/lyrics/. Fixes bug 342319.
402 2006-05-25 Jonathan Matthew <jonathan@kaolin.wh9.net>
404 * sources/rb-import-errors-source.c:
405 (rb_import_errors_source_class_init):
406 * sources/rb-playlist-source.c: (rb_playlist_source_class_init):
407 * sources/rb-browser-source.c: (rb_browser_source_class_init):
408 * sources/rb-source.c: (rb_source_class_init),
409 (default_move_to_trash):
410 Implement the basic move-to-trash operation once in rb-source.c,
411 rather than in each source type that supports it.
413 * plugins/ipod/rb-ipod-plugin.c:
414 * shell/rb-removable-media-manager.c:
415 * shell/rb-shell.c: (rb_shell_constructor):
416 Only scan removable media once after loading plugins. Add a flag
417 plugins can use to check if the initial scan has been done.
419 * data/rhythmbox.schemas:
420 Enable ipod and generic-player plugins by default.
423 * data/ui/Makefile.am:
424 * data/ui/generic-player-ui.xml:
425 * data/ui/rhythmbox-ui.xml:
426 * plugins/Makefile.am:
427 * plugins/generic-player/Makefile.am:
428 * plugins/generic-player/generic-player.rb-plugin.desktop.in:
429 * plugins/generic-player/rb-generic-player-plugin.c:
430 * sources/Makefile.am:
431 * sources/rb-generic-player-source.c:
432 * sources/rb-generic-player-source.h:
433 * sources/rb-nokia770-source.c:
434 * sources/rb-nokia770-source.h:
435 * sources/rb-psp-source.c: (visit_playlist_dirs):
436 * sources/rb-psp-source.h:
437 Pluginise generic player (and nokia770 and PSP) support and add
438 move-to-trash for players not mounted read-only.
441 2006-05-24 William Jon McCann <mccann@jhu.edu>
443 * daapsharing/rb-daap-connection.c (handle_song_listing):
444 Lower bound check for batch commit. Fixes #342848
446 * sources/rb-daap-source.c (rb_daap_source_get_status):
447 Always set output variables if provided.
449 2006-05-25 Jonathan Matthew <jonathan@kaolin.wh9.net>
451 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_entry_new),
452 (rhythmdb_tree_entry_delete), (remove_one_song):
453 * rhythmdb/rhythmdb.c: (process_deleted_entries_cb):
454 Fix two db entry reference counting problems.
455 The initial reference on the entry is held by the db backend, but it
456 was never being dropped. The reference count was incremented when
457 adding an entry to the deleted_entries map and to the
458 deleted_entries_to_emit list, but only decremented for one of those.
460 2006-05-24 William Jon McCann <mccann@jhu.edu>
462 * daapsharing/rb-daap-connection.c (http_response_handler)
463 (rb_daap_connection_dispose):
464 Call soup_session_abort to make sure there are no outstanding
465 requests when we dispose of the connection. Ignore cancelled
466 messages in the callback.
468 2006-05-24 William Jon McCann <mccann@jhu.edu>
470 * sources/rb-daap-source.c (rb_daap_source_connection_cb)
471 (rb_daap_source_disconnect): Set a flag when disconnecting
472 the source. Check this flag in connection callback
473 to see if we should release the connection.
475 2006-05-24 William Jon McCann <mccann@jhu.edu>
477 * daapsharing/Makefile.am:
478 * daapsharing/rb-daap-connection.c: (rb_daap_connection_finalize),
479 (rb_daap_connection_class_init), (connection_connected),
480 (connection_disconnected), (connection_operation_done),
481 (build_message), (connection_set_error_message),
482 (actual_http_response_handler), (http_get),
483 (entry_set_string_prop), (emit_progress_idle),
484 (handle_server_info), (handle_login), (handle_update),
485 (handle_database_info), (handle_song_listing), (handle_playlists),
486 (handle_playlist_entries), (handle_logout),
487 (rb_daap_connection_new), (rb_daap_connection_is_connected),
488 (connection_response_data_free), (connected_cb),
489 (rb_daap_connection_connect), (disconnected_cb),
490 (rb_daap_connection_finish), (rb_daap_connection_disconnect),
491 (rb_daap_connection_state_done), (rb_daap_connection_do_something),
492 (rb_daap_connection_dispose), (rb_daap_connection_set_property),
493 (rb_daap_connection_get_property):
494 * daapsharing/rb-daap-connection.h:
495 * daapsharing/rb-daap-hash.c: (byteReverse), (OpenDaap_MD5Init),
496 (OpenDaap_MD5Update), (OpenDaap_MD5Final), (MD5Transform),
497 (DigestToString), (GenerateStatic_42), (GenerateStatic_45),
498 (rb_daap_hash_generate):
499 * daapsharing/rb-daap-hash.h:
500 * sources/rb-daap-source.c: (rb_daap_source_class_init),
501 (rb_daap_get_icon), (remove_source), (stop_browsing),
502 (create_pixbufs), (destroy_pixbufs), (rb_daap_sources_shutdown),
503 (connection_connecting_cb), (connection_disconnected_cb),
504 (release_connection), (rb_daap_source_connection_cb),
505 (rb_daap_source_activate), (rb_daap_source_disconnect_cb),
506 (rb_daap_source_cmd_disconnect), (rb_daap_source_disconnect):
508 Adds a better async API for connect and disconnect. Doesn't share
509 callback data for every async call. Adds a connect signal. Uses
510 an operation-done signal to trigger the callbacks. Displays an
511 error when connections fail. A few refcounting fixes to fix
512 crashes. Uses a weak pointer to set the connection to NULL so we
513 don't clobber references. Wait for each disconnect when shutting
514 down sources. Split out DAAP hash stuff into its own file. Fix
519 2006-05-24 Jonathan Matthew <jonathan@kaolin.wh9.net>
521 * sources/rb-auto-playlist-source.c:
522 (rb_auto_playlist_source_new_from_xml):
523 Initialize the gvalue used to hold the size limit correctly.
526 2006-05-23 Jonathan Matthew <jonathan@kaolin.wh9.net>
528 * shell/rb-shell.c: (rb_shell_window_delete_cb),
529 (rb_shell_cmd_quit), (rb_shell_quit), (session_die_cb):
531 * shell/rb-shell.xml:
532 Convert rb_shell_quit into a dbus method, and add visibility dbus
535 2006-05-22 James Livingston <doclivingston@gmail.com>
537 * rhythmdb/rhythmdb.h:
538 * rhythmdb/rhythmdb.c: (sync_entry_changed),
539 (rhythmdb_entry_is_editable), (action_thread_main),
540 (song_can_sync_metadata), (default_sync_metadata): Add entry-type
541 vfuncs for can_sync_metadata, and sync_metadata. The default is always
542 false, and syncing into the file.
544 (rhythmdb_entry_register_type), (rhythmdb_entry_song_get_type),
545 (rhythmdb_entry_iradio_get_type),
546 (rhythmdb_entry_import_error_get_type):
547 * sources/rb-audiocd-source.c: (rb_audiocd_source_new): Set the above
548 vfuncs to do the right thing. IRADIO and Audio-cd entry-type just
551 2006-05-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
553 * rhythmdb/Makefile.am:
554 * rhythmdb/rhythmdb-monitor.c:
555 * rhythmdb/rhythmdb-private.h:
556 * rhythmdb/rhythmdb-query.c:
557 * rhythmdb/rhythmdb.c:
558 Split up rhythmdb.c a bit.
560 2006-05-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
562 * data/glade/audioscrobbler-prefs.glade:
563 Add a link to the last.fm server status page.
565 2006-05-20 Dennis Cranston <dennis_cranston@yahoo.com>
567 * plugins/audioscrobbler/audioscrobbler.rb-plugin.desktop.in:
569 * plugins/audioscrobbler/rb-audioscrobbler-plugin.c:
570 (impl_create_configure_dialog): UI layout fixes, remove
571 dialog separator, and capitalization fix for window title.
572 * shell/rb-shell.c: (rb_shell_cmd_plugins): UI layout fixes,
573 and remove dialog separator.
574 * data/glade/plugins.glade: UI layout fixes.
575 * data/glade/audioscrobbler-prefs.glade: UI layout fixes,
576 and capitalization fix. Fixes #342438.
578 2006-05-20 Dennis Cranston <dennis_cranston@yahoo.com>
580 * data/glade/podcast-properties.glade: Fix layout of the download
581 location. Fixes #342431.
583 2006-05-21 Jonathan Matthew <jonathan@kaolin.wh9.net>
585 * data/ui/rhythmbox-ui.xml:
586 We only need one copy of the 'add to queue' action in the edit menu.
588 2006-05-20 James Livingston <doclivingston@gmail.com>
590 * data/ui/rhythmbox-ui.xml:
591 * shell/rb-shell-clipboard.c: (rb_shell_clipboard_class_init),
592 (rb_shell_clipboard_finalize), (rb_shell_clipboard_set_property),
593 (rb_shell_clipboard_get_property), (rb_shell_clipboard_new),
594 (rb_shell_clipboard_sync),
595 (rb_shell_clipboard_cmd_add_to_playlist_new),
596 (rb_shell_clipboard_cmd_queue_song_info),
597 (rb_shell_clipboard_playlist_add_cb), (generate_action_name),
598 (rb_shell_clipboard_playlist_deleted_cb),
599 (rb_shell_clipboard_playlist_renamed_cb),
600 (rb_shell_clipboard_playlist_visible_cb), (add_playlist_to_menu),
601 (rebuild_playlist_menu), (rb_shell_clipboard_playlist_added_cb):
602 * shell/rb-shell-clipboard.h: add an "add to playlist" menu, which is
603 dynamically generated with all the static playlists. Fixes bug 323364.
605 * shell/rb-shell.c: (construct_widgets), (construct_sources): use the
606 right child, so it doesn't go weird when art appears and disappears.
608 2006-05-20 James Livingston <doclivingston@gmail.com>
610 patch by: Jonathan Matthew <jonathan@kaolin.wh9.net>
612 * rhythmdb/rhythmdb-query-model.c:
613 (rhythmdb_query_model_set_property),
614 (rhythmdb_query_model_finalize),
615 (rhythmdb_query_model_reapply_query_cb):
616 * rhythmdb/rhythmdb.c: (rhythmdb_query_preprocess),
617 (rhythmdb_query_append_prop_multiple),
618 (rhythmdb_query_is_time_relative):
619 * rhythmdb/rhythmdb.h: re-run queries every minutes if they have
620 time-based criteria, fixes bug 341131.
622 2006-05-20 James Livingston <doclivingston@gmail.com>
624 * plugins/artdisplay/artdisplay/__init__.py: don't display the art if
625 we have already changed playing entries. Interpolate the art size so
626 it doesn't jump when the old and new images have different aspect
629 2006-05-20 Jonathan Matthew <jonathan@kaolin.wh9.net>
631 * rhythmdb/rhythmdb-private.h:
632 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
634 * rhythmdb/rhythmdb.c: (rhythmdb_entry_finalize),
635 (rhythmdb_entry_set_internal), (rhythmdb_query_preprocess),
636 (rhythmdb_entry_get_ulong):
637 Include the GDate directly in RhythmDBEntry (it's only 8 bytes)
638 and elsewhere, use them on the stack rather than allocating on
639 the heap. From bug #342333.
641 2006-05-19 William Jon McCann <mccann@jhu.edu>
643 * player/rb-recorder-gst.c: (rb_recorder_error_quark),
644 (rb_recorder_get_default_drive), (rb_recorder_gst_free_pipeline),
645 (add_track), (eos_cb), (error_signal_idle),
646 (rb_recorder_gst_signal_error), (rb_recorder_new_pad_cb),
647 (rb_recorder_construct), (recorder_track_free),
648 (rb_recorder_finalize):
649 * sources/rb-playlist-source-recorder.c:
650 Support libnautilus-burn size -> capacity API change. Add
651 some braces to blocks.
653 2006-05-19 William Jon McCann <mccann@jhu.edu>
655 * metadata/sj-metadata-musicbrainz.c:
656 (sj_metadata_musicbrainz_instance_init), (get_rdf), (lookup_cd):
657 Sync with sound-juicer in CVS. Fixes #342177
658 * sources/rb-audiocd-source.c: Don't declare variables
659 in the middle of a block (c99ism). Fix order of #includes.
660 Use gi18n.h. Don't include rhythmdb.h twice. Declare
661 one variable per line. Update copyright date.
663 2006-05-19 James Livingston <doclivingston@gmail.com>
665 patch by: Hendrik Richter <hendi@gnome-de.org>
667 * shell/rb-shell.c: (rb_shell_cmd_about): change the separator in
668 "translator_credits" to a hyphen, so it doesn't cause problems for
669 tools that check access keys. Fixes bug 341832.
671 2006-05-19 James Livingston <doclivingston@gmail.com>
673 * po/POTFILES.in: remove references to files that don't exist any more
674 (fixes make distcheck).
676 2006-05-19 Dennis Cranston <dennis_cranston@yahoo.com>
678 * plugins/lyrics/lyrics.py: Fix layout close button in
679 Song Lyrics dialog. Fixes bug 342322.
681 2006-05-19 James Livingston <doclivingston@gmail.com>
683 patch by: Loïc Minier <lool+gnome@via.ecp.fr>
685 * widgets/eggtrayicon.c: (egg_tray_icon_unrealize),
686 (egg_tray_icon_cancel_message), (egg_tray_icon_notify): Make the
687 version checks not break when libnotify goes to 1.0.0. Fixes bug
690 2006-05-18 James Livingston <doclivingston@gmail.com>
692 * shell/rb-shell-clipboard.c:
694 * sources/rb-podcast-source.c: Fix some conflicting keybindings.
696 2006-05-17 William Jon McCann <mccann@jhu.edu>
698 * sources/rb-playlist-source-recorder.c (get_song_description):
699 Reverse artist and title in song description. This
700 is useful because at least the title will be visible
701 when there is limited space.
703 2006-05-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
705 * daapsharing/rb-daap-connection.c: (connection_get_password):
706 Take gdk lock before emitting authenticate signal.
707 * sources/rb-daap-source.c: (connection_connecting_cb):
708 Get rid of the unnecessary idle handler (it's already called from one)
709 Fixes #342047 once more.
711 2006-05-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
713 * shell/rb-shell.c: (rb_shell_class_init):
715 * widgets/rb-song-info.c: (rb_song_info_class_init),
716 (rb_song_info_construct_single), (rb_song_info_construct_multiple),
717 (rb_song_info_constructor), (rb_song_info_get_property),
718 (rb_song_info_append_page), (rb_song_info_backward_clicked_cb),
719 (rb_song_info_forward_clicked_cb):
720 * widgets/rb-song-info.h:
721 * data/glade/song-info-multiple.glade:
722 * lib/rb-marshal.list:
723 * bindings/python/Makefile.am:
724 * bindings/python/rb.defs:
725 * bindings/python/rb.override:
726 Allow plugins to add pages to the notebooks used in song info windows,
727 and to track the current song displayed in single-entry windows.
730 * plugins/Makefile.am:
731 * plugins/lyrics/Loader.py:
732 * plugins/lyrics/Makefile.am:
733 * plugins/lyrics/lyrics.py:
734 * plugins/lyrics/lyrics.rb-plugin.desktop.in:
735 Add a plugin that retrieves song lyrics from leoslyrics.com, displayed
736 as a separate window (for the playing song) or as a page in the song
737 info window. A few TODO items left, but this fixes #319320.
739 2006-05-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
741 Patch by: Roozbeh Pournader
744 * lib/rb-cut-and-paste-code.c: (eel_strdup_strftime):
745 Update eel_strdup_strftime from eel CVS HEAD. Fixes #341938.
747 2006-05-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
749 * sources/rb-daap-source.c: (update_connection_status):
750 Correct return value. Fixes #342047 again.
752 2006-05-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
754 * sources/rb-daap-source.c: (update_connection_status),
755 (connection_connecting_cb):
756 Update status in an idle handler so we don't rely on the gdk lock
757 being recursive (because it isn't any more). Fixes #342047.
759 2006-05-16 Jonathan Matthew <jonathan@kaolin.wh9.net>
761 * lib/rb-util.c: (rb_make_duration_string),
762 (rb_make_elapsed_time_string):
764 Add a function for formatting an elapsed time string.
766 * shell/rb-shell-player.c: (rb_shell_player_init),
767 (rb_shell_player_sync_with_source),
768 (rb_shell_player_get_playing_time_string), (tick_cb):
769 Store elapsed time in the private data structure, and use the above
772 * widgets/rb-header.c:
773 * widgets/rb-header.h:
774 Make RBHeader use the RBShellPlayer object, rather than the RBPlayer
775 object, so everything has the same idea of the elapsed time.
778 2006-05-16 James Livingston <doclivingston@gmail.com>
780 * bindings/python/rhythmdb.defs:
781 * bindings/python/rhythmdb.override: give rhythmdb.query_model_new
782 some parametre defaults, so you don't have to pass None, False for the
785 2006-05-16 Jonathan Matthew <jonathan@kaolin.wh9.net>
787 * bindings/python/rhythmdb.defs:
788 * rhythmdb/rhythmdb-query-model.c:
789 (rhythmdb_query_model_compute_status_normal):
790 * rhythmdb/rhythmdb-query-model.h:
791 * rhythmdb/rhythmdb.c: (rhythmdb_compute_status_normal):
792 * rhythmdb/rhythmdb.h:
793 Change the various compute_status methods to accept a singular/plural
794 pair to use in the status string.
796 * sources/rb-podcast-source.c: (rb_podcast_source_class_init),
797 (rb_podcast_source_cmd_new_podcast), (impl_get_status):
798 * sources/rb-source.c: (default_get_status):
799 Call entries 'songs' by default, and 'episodes' in the podcast source.
802 2006-05-16 Jonathan Matthew <jonathan@kaolin.wh9.net>
806 * plugins/ipod/Makefile.am: add $(plugin_in_files) to EXTRA_DIST.
809 2006-05-16 Jonathan Matthew <jonathan@kaolin.wh9.net>
811 * rhythmdb/rhythmdb-query-model.c: (apply_updated_entry_sequence):
812 Generate reorder maps correctly.
813 * widgets/rb-entry-view.c: (rb_entry_view_rows_reordered_cb):
814 Scroll to the first entry from the old selection.
817 2006-05-15 William Jon McCann <mccann@jhu.edu>
819 * data/ui/rhythmbox-ui.xml:
820 * lib/rb-preferences.h:
821 * shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor),
822 (rb_shell_playlist_created_cb),
823 (rb_shell_view_sidepane_changed_cb),
824 (rb_shell_sync_sidepane_visibility),
825 (rb_shell_sync_pane_visibility), (rb_shell_sync_smalldisplay),
826 (sidepane_visibility_changed_cb):
827 * sources/rb-podcast-source.c:
828 Convert sourcelist visibility to side-pane visbility.
831 2006-05-15 Jonathan Matthew <jonathan@kaolin.wh9.net>
833 * widgets/rb-header.c:
834 * widgets/rb-header.h: Stop RBHeader from referring to itself as
835 'player', and make it use the private data structure allocated for it.
837 2006-05-15 Jonathan Matthew <jonathan@kaolin.wh9.net>
839 * configure.ac: enable metadata helper with dbus < 0.35.
841 2006-05-15 James Livingston <doclivingston@gmail.com>
843 patch by: Alex Lancaster <alexl@users.sourceforge.net>
845 * data/glade/song-info.glade:
846 * widgets/rb-song-info.c: (rb_song_info_construct_single),
847 (rb_song_info_populate_dialog), (rb_song_info_update_duration),
848 (rb_song_info_update_filesize): Add the file size into the song info
849 window. Fixes bug 340861.
851 2006-05-14 Jonathan Matthew <jonathan@kaolin.wh9.net>
853 * bindings/python/rhythmdb.defs:
854 * rhythmdb/rhythmdb-query-model.c:
855 (rhythmdb_query_model_set_property),
856 (rhythmdb_query_model_new_empty), (rhythmdb_query_model_chain):
857 * rhythmdb/rhythmdb-query-model.h:
858 Add a new method to chain query models without importing entries from
859 the parent into the child. This is useful when the subset of entries
860 in the child can be more easily determined by running a query than by
861 filtering entries from the parent.
863 * bindings/python/rb.defs:
864 * widgets/rb-library-browser.c: (rb_library_browser_class_init),
865 (rb_library_browser_set_property),
866 (rb_library_browser_get_property), (rb_library_browser_new),
867 (rebuild_child_model):
868 * widgets/rb-library-browser.h:
869 * sources/rb-auto-playlist-source.c:
870 (rb_auto_playlist_source_constructor):
871 * sources/rb-static-playlist-source.c:
872 (rb_static_playlist_source_constructor):
873 * sources/rb-browser-source.c: (rb_browser_source_constructor):
874 Use more efficient queries for constructing the browser query model
875 chain. Include the entry type at each level (allowing the rhythmdb-tree
876 backend to optimise the query) and run new queries rather than
877 filtering entries from the parent. Fixes #341402.
879 * configure.ac: remove reference to rhythmbox.pc that I missed earlier.
881 2006-05-14 Jonathan Matthew <jonathan@kaolin.wh9.net>
885 * shell/main.c: (main), (load_uri_args), (send_present_message),
886 (unregister_dbus_handler), (handle_dbus_message),
887 (register_dbus_handler):
888 Add minimal support for dbus 0.31 - 0.35.
890 * doc/reference/Makefile.am:
891 * doc/reference/rhythmbox.types:
893 * data/GNOME_Rhythmbox.server.in:
894 * data/rhythmbox.pc.in:
897 Remove remaining bonobo and generic remote interface files.
899 2006-05-14 James Livingston <doclivingston@gmail.com>
901 * shell/rb-shell.c: (construct_widgets):
902 * sources/rb-browser-source.c: (rb_browser_source_constructor): Never
903 resize the browser and queue-sidebar section of their panes, unless
904 the other section is below the minimum size. Fixes bug 331927.
906 2006-05-13 James Livingston <doclivingston@gmail.com>
908 * rhythmdb/rhythmdb-query-model.c:
909 (rhythmdb_query_model_class_init),
910 (rhythmdb_query_model_set_property),
911 (rhythmdb_query_model_get_property),
912 (rhythmdb_query_model_finalize), (rhythmdb_query_model_new),
913 (rhythmdb_query_model_insert_into_main_list),
914 (rhythmdb_query_model_insert_into_limited_list),
915 (rhythmdb_query_model_do_reorder),
916 (rhythmdb_query_model_set_sort_order), (_reverse_sorting_func),
917 (rhythmdb_query_model_location_sort_func),
918 (rhythmdb_query_model_title_sort_func),
919 (rhythmdb_query_model_album_sort_func),
920 (rhythmdb_query_model_artist_sort_func),
921 (rhythmdb_query_model_genre_sort_func),
922 (rhythmdb_query_model_track_sort_func),
923 (rhythmdb_query_model_double_ceiling_sort_func),
924 (rhythmdb_query_model_ulong_sort_func),
925 (rhythmdb_query_model_date_sort_func),
926 (rhythmdb_query_model_string_sort_func):
927 * rhythmdb/rhythmdb-query-model.h: Make the sorting data be a gpointer
928 instead of a RhythmDBPropType (which can be put in a gpointer). Add a
929 "data destroy" property. Fixed bug 341543.
931 * bindings/python/rhythmdb.defs:
932 * bindings/python/rhythmdb.override: bind rhythmdb_query_model_new and
933 rhythmdb_query_model_set_sorting_order
935 * rhythmdb/rhythmdb-property-model.c:
936 (rhythmdb_property_model_drag_data_get):
937 * sources/rb-import-errors-source.c:
938 (rb_import_errors_source_constructor):
939 * sources/rb-missing-files-source.c:
940 (rb_missing_files_source_constructor):
941 * widgets/rb-entry-view.c: (rb_entry_view_append_column),
942 (rb_entry_view_append_column_custom), (rb_entry_view_resort_model):
943 * widgets/rb-entry-view.h: adapt to the above change.
945 2006-05-13 Jonathan Matthew <jonathan@kaolin.wh9.net>
947 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
948 (rhythmdb_tree_load):
949 Commit loaded entries in batches, rather than individually.
950 More startup time reduction.
952 2006-05-12 Ryan P Skadberg <skadz@stigmata.org>
954 * doc/reference/Makefile.am: fix gtk-doc compilation
956 2006-05-12 William Jon McCann <mccann@jhu.edu>
958 * plugins/artdisplay/artdisplay/AmazonCoverArtSearch.py:
959 * plugins/artdisplay/artdisplay/CoverArtDatabase.py:
960 * plugins/artdisplay/artdisplay/Loader.py:
961 Correct fallback to medium size. Convert & to "and" when doing comparisons.
962 Only call the first artist the best match when album==Unknown.
963 Don't perform each query twice if album doesn't include "Vol N".
964 Fix searching for compilations. Fix blacklisting.
967 2006-05-12 William Jon McCann <mccann@jhu.edu>
970 * bindings/python/Makefile.am:
971 * bindings/python/rb.defs:
972 * bindings/python/rb.override:
974 * doc/reference/Makefile.am:
975 * plugins/Makefile.am:
976 * plugins/audioscrobbler/Makefile.am:
977 * plugins/ipod/Makefile.am:
978 * plugins/lirc/Makefile.am:
979 * plugins/lirc/rb-lirc-plugin.c: (rb_lirc_plugin_read_code),
980 (impl_activate), (impl_deactivate):
981 * plugins/sample/Makefile.am:
982 * remote/Makefile.am:
984 * shell/main.c: (main), (main_shell_weak_ref_cb):
985 * shell/rb-shell.c: (rb_shell_class_init), (rb_shell_set_property),
986 (rb_shell_get_property), (rb_shell_window_state_cb),
987 (idle_hide_mainwindow), (rb_shell_set_visibility),
988 (rb_shell_playing_entry_changed_cb), (tray_destroy_cb),
989 (rb_shell_set_song_property):
991 * shell/rb-tray-icon.c: (rb_tray_icon_class_init),
992 (rb_tray_icon_sync_action), (rb_tray_icon_set_property),
993 (rb_tray_icon_get_property), (rb_tray_icon_new),
994 (rb_tray_icon_button_press_event_cb),
995 (rb_tray_icon_scroll_event_cb), (rb_tray_icon_drop_cb),
996 (rb_tray_icon_show_window_changed_cb):
997 * shell/rb-tray-icon.h:
999 Remove bonobo, require DBUS.
1000 Patch from Jonathan Matthew <jonathan@kaolin.wh9.net>
1003 2006-05-13 James Livingston <doclivingston@gmail.com>
1005 * bindings/python/rb.override: fix some pointer-type warnings
1007 2006-05-12 James Livingston <doclivingston@gmail.com>
1009 * lib/rb-util.c: (rb_value_free):
1010 * lib/rb-util.h: Add function to unset and free a GValue* that was
1011 allocated in the heap.
1013 * metadata/rb-metadata-dbus-client.c: (rb_metadata_load): don't leak
1014 the metadata hastable values
1015 * metadata/rb-metadata-dbus-service.c: (rb_metadata_dbus_save): don't
1016 leak the metadata hashtable structure
1017 * metadata/rb-metadata-dbus.c:
1018 (rb_metadata_dbus_read_from_message):use g_value_set_string instead of
1019 using g_strdup and then _take_string
1021 * rhythmdb/rhythmdb.c: (rhythmdb_start_action_thread),
1022 (rhythmdb_execute_stat): Don't leak the GnomeVFSURIs every time we
1025 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_do_handshake): don't
1026 leak the encoded string
1028 * widgets/rb-property-view.c:
1029 (rb_property_view_selection_changed_cb): set some variables to have
1030 inital values, because some code paths may not set them before we use
1033 * plugins/rb-plugins-engine.c: (rb_plugins_engine_load): turn the "you
1034 don't have python warning into a debug message".
1036 2006-05-10 William Jon McCann <mccann@jhu.edu>
1038 * data/rhythmbox.schemas: Use zero instead of null for
1039 default burn speed. Fixes #341283.
1041 2006-05-10 Jonathan Matthew <jonathan@kaolin.wh9.net>
1043 * bindings/python/rb.defs:
1044 * widgets/rb-library-browser.c:
1045 (rb_library_browser_get_property_view):
1046 * widgets/rb-library-browser.h:
1047 Add a method to get the property view for a given property.
1049 * sources/rb-browser-source.c:
1050 (rb_browser_source_cmd_choose_genre),
1051 (rb_browser_source_cmd_choose_artist),
1052 (rb_browser_source_cmd_choose_album):
1053 Change the browser selection by changing the property view selection.
1054 Makes the selection change visible, fixing #331740.
1056 2006-05-10 Jonathan Matthew <jonathan@kaolin.wh9.net>
1058 * bindings/python/rb.defs:
1059 * bindings/python/rb.override:
1060 * rhythmdb/rhythmdb.c: (rhythmdb_is_busy):
1061 * shell/rb-statusbar.c: (*),
1062 * sources/rb-import-errors-source.c: (impl_get_status):
1063 * sources/rb-iradio-source.c: (impl_get_status):
1064 * sources/rb-missing-files-source.c: (impl_get_status):
1065 * sources/rb-source.c: (default_get_status),
1066 (rb_source_get_status):
1067 * sources/rb-source.h:
1068 Allow sources to provide a progress value for the status bar.
1069 Simplify status bar processing (much less polling).
1070 Consider rhythmdb busy while it's still loading the database.
1072 * daapsharing/rb-daap-connection.c: (*)
1073 * daapsharing/rb-daap-connection.h:
1074 * lib/rb-marshal.list:
1075 * sources/rb-daap-source.c: (rb_daap_source_class_init),
1076 (rb_daap_source_init), (connection_connecting_cb),
1077 (rb_daap_source_activate), (rb_daap_source_get_paned_key),
1078 (rb_daap_source_get_status):
1079 Provide status information for DAAP connections, and move processing
1080 of large responses into a separate thread.
1081 Fixes bugs #322020 and #338978.
1083 2006-05-09 James Livingston <doclivingston@gmail.com>
1085 Split the artdisplay plugin into several files.
1086 Fix loader and amazon-search re-use issues.
1087 Add some better search heuristics.
1090 * plugins/artdisplay/Makefile.am:
1091 * plugins/artdisplay/artdisplay.py:
1092 * plugins/artdisplay/artdisplay/AmazonCoverArtSearch.py:
1093 * plugins/artdisplay/artdisplay/CoverArtDatabase.py:
1094 * plugins/artdisplay/artdisplay/Loader.py:
1095 * plugins/artdisplay/artdisplay/Makefile.am:
1096 * plugins/artdisplay/artdisplay/__init__.py:
1098 2006-05-09 James Livingston <doclivingston@gmail.com>
1100 * sources/rb-browser-source.h: remove the _has_first_added_column
1101 stuff since it isn't actually used anywhere. Sources that want it
1102 should just add it themselves, as the library already does
1104 * bindings/python/rb.defs:
1105 * sources/rb-daap-source.c: (rb_daap_source_class_init):
1106 * sources/rb-library-source.c: (rb_library_source_class_init):
1107 * sources/rb-removable-media-source.c:
1108 (rb_removable_media_source_class_init): Remove the remanants of the
1111 2006-05-09 James Livingston <doclivingston@gmail.com>
1113 * bindings/python/rb.defs:
1114 * sources/rb-browser-source.h: remove a function that was declared in
1115 the header, but not defined anywhere.
1117 2006-05-09 Jonathan Matthew <jonathan@kaolin.wh9.net>
1119 * plugins/artdisplay/.cvsignore:
1120 * plugins/ipod/.cvsignore: Added.
1122 2006-05-09 Jonathan Matthew <jonathan@kaolin.wh9.net>
1124 * sources/rb-auto-playlist-source.c:
1125 (rb_auto_playlist_source_new_from_xml):
1126 Fix reading of older playlist files where all three limits were
1127 specified so we take the first nonzero limit. From #341053.
1129 2006-05-09 James Livingston <doclivingston@gmail.com>
1131 * bindings/python/Makefile.am:
1132 * bindings/python/rb.defs:
1133 * bindings/python/rb.override: bind RBBrowserSource,
1134 RBRemovableMediaSource and RBRemovableMediamanager.
1136 2006-05-09 James Livingston <doclivingston@gmail.com>
1138 patch by: Baptiste Mille-Mathias <bmm80@free.fr>
1140 * data/glade/plugins.glade: make the plugin dialog look a bit better.
1143 2006-05-09 Jonathan Matthew <jonathan@kaolin.wh9.net>
1145 * widgets/rb-query-creator.c: (rb_query_creator_load_query):
1146 Don't explode when trying to edit a query with no limit set.
1148 2006-05-09 Jonathan Matthew <jonathan@kaolin.wh9.net>
1150 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_song_changed_cb):
1151 Clear the should_queue flag when switching to a non-submittable entry,
1152 so we don't submit songs that played for three seconds before
1153 switching to a podcast episode.
1155 * rhythmdb/rhythmdb-query-model.c
1156 (rhythmdb_query_model_drag_data_get): Don't try to include NULL uris
1157 in the drag data list.
1159 2006-05-08 James Livingston <doclivingston@gmail.com>
1161 * lib/rb-util.c: (rb_value_array_append_data):
1162 * lib/rb-util.h: add function which is basically a combination of
1163 G_VALUE_COLLECT and g_value_array_append.
1165 * rhythmdb/rhythmdb-query-model.h:
1166 * rhythmdb/rhythmdb-query-model.c:
1167 (rhythmdb_query_model_class_init),
1168 (rhythmdb_query_model_set_property),
1169 (rhythmdb_query_model_get_property),
1170 (rhythmdb_query_model_finalize),
1171 (rhythmdb_query_model_update_limited_entries),
1172 (rhythmdb_query_model_set_sort_order),
1173 (rhythmdb_query_model_within_limit),
1174 (rhythmdb_query_model_limit_type_get_type): Make query model limits
1175 saner. Rather than having <count=N, time=N, size=N> we now have a
1176 <type, value> pair. This will also make it much easier to add new
1177 limit types in the future.
1179 * shell/rb-playlist-manager.c:
1180 (rb_playlist_manager_set_automatic_playlist),
1181 (rb_playlist_manager_cmd_edit_automatic_playlist):
1182 * sources/rb-auto-playlist-source.c:
1183 (rb_auto_playlist_source_finalize),
1184 (rb_auto_playlist_source_new_from_xml), (impl_receive_drag),
1185 (_save_write_ulong), (_save_write_uint64),
1186 (impl_save_contents_to_xml), (rb_auto_playlist_source_do_query),
1187 (rb_auto_playlist_source_set_query),
1188 (rb_auto_playlist_source_get_query):
1189 * sources/rb-auto-playlist-source.h:
1190 * sources/rb-library-source.c:
1191 (rb_library_source_add_child_source):
1192 * sources/rb-psp-source.c: (visit_playlist_dirs):
1193 * widgets/rb-query-creator.c: (rb_query_creator_load_query),
1194 (rb_query_creator_new_from_query), (rb_query_creator_get_limit):
1195 * widgets/rb-query-creator.h: Adapt to the above change.
1197 2006-05-08 James Livingston <doclivingston@gmail.com>
1199 * shell/rb-playlist-manager.c:
1200 (rb_playlist_manager_cmd_edit_automatic_playlist):
1201 * sources/rb-auto-playlist-source.c: (impl_save_contents_to_xml),
1202 (rb_auto_playlist_source_set_query),
1203 (rb_auto_playlist_source_get_query): copy the query in the _get method
1204 and free it in things calling that. Fixes a crasher.
1206 2006-05-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
1208 * rhythmdb/rhythmdb.c: (entry_volume_mounted_or_unmounted):
1209 Make entries on newly mounted volumes visible immediately, hiding them
1210 later if they turn out to be missing. Fixes #340068.
1212 2006-05-07 Jonathan Matthew <jonathan@kaolin.wh9.net>
1214 * metadata/rb-metadata-gst.c: (rb_metadata_finalize):
1215 Ignore zip files and ignore errors for files we've decided to ignore.
1217 2006-05-07 Jonathan Matthew <jonathan@kaolin.wh9.net>
1219 * sources/rb-ipod-source.c: (hal_udi_is_ipod):
1220 Add missing }, should fix #340844.
1222 2006-05-06 James Livingston <doclivingston@gmail.com>
1224 * plugins/artdisplay/artdisplay.py: fade between covers, and fix a
1227 2006-05-06 James Livingston <doclivingston@gmail.com>
1229 * widgets/eggtrayicon.c: (egg_tray_icon_notify): fix version check so
1230 that we work with libnotify >= 0.4
1232 2006-05-06 James Livingston <doclivingston@gmail.com>
1234 patch by: Joe Barnett <thejoe@gmail.com>
1236 * configure.ac: check if we're using a version of libgpod that
1237 supports the Motorola ROKR
1239 * sources/rb-ipod-source.c: (rb_ipod_get_itunesdb_path): ask libgpod
1240 for the db path, if we using the newer version.
1242 (rb_ipod_volume_has_ipod_db): detect Motorola ROKR phones.
1244 2006-05-05 Jonathan Matthew <jonathan@kaolin.wh9.net>
1246 * rhythmdb/rhythmdb-query-model.c:
1247 (rhythmdb_query_model_drag_data_get):
1248 Use playback URI, not location, for drag data. Fixes #322597.
1250 2006-05-03 Dennis Cranston <dennis_cranston@yahoo.com>
1252 * data/glade/general-prefs.glade: HIG fixes from bug 340588.
1254 2006-05-03 James Livingston <doclivingston@gmail.com>
1256 * metadata/rb-metadata-gst.c: (rb_add_flac_tagger),
1257 (rb_add_id3_tagger), (rb_metadata_save):
1258 Set the tags on the tagging element when it is
1259 created, not during pipeline creation - which is required for
1260 dynamically created elements.
1262 (ogg_pad_added_cb), (rb_add_ogg_tagger), (rb_metadata_init): add
1263 support for using the "vorbistag" element to re-tag ogg vorbis files.
1266 2006-05-03 James Livingston <doclivingston@gmail.com>
1268 patch by: Martin Szulecki <gnomebugzilla@sukimashita.com>
1270 * plugins/artdisplay/artdisplay.py:
1271 - Fix small bug callback of data loader getting overwritten on fast
1273 - Add asynchronous loading with gnomevfs and urllib fallback (thx to
1275 - Fix Rhythmbox UI blocking while loading/searching cover art
1276 - Split logic into CoverArtDatabase, AmazonCoverArtSearch
1277 - Initial approach to allow additional "art search engines"
1278 - Further modularization in a couple of places
1279 - Minor fixes for empty entries (iradio, album, artist etc.)
1281 2006-05-03 James Livingston <doclivingston@gmail.com>
1283 * shell/rb-playlist-manager.c:
1284 (rb_playlist_manager_playlist_entries_changed),
1285 (rb_playlist_manager_set_source): don't show the edit/delete/rename
1286 options for non-local sources, rather than showing disabled ones.
1288 * sources/rb-library-source.c: (add_child_sources_idle),
1289 (rb_library_source_constructor), (rb_library_source_new),
1290 (rb_library_source_library_location_changed),
1291 (rb_library_source_add_child_source),
1292 (rb_library_source_sync_child_sources): Create "child library" sources
1293 when the user has multiple library locations set. Fixes bug 100552.
1295 2006-05-03 Jonathan Matthew <jonathan@kaolin.wh9.net>
1297 * plugins/rb-plugins-engine.c: (rb_plugins_engine_load):
1298 * plugins/sample/sample.rb-plugin.desktop.in:
1299 Finish changing 'Author' to 'Authors'
1301 * rhythmdb/rhythmdb.c: (_get_import_error_playback_uri),
1302 (rhythmdb_entry_import_error_get_type):
1303 Implement get_playback_uri for import errors (returns NULL)
1305 * shell/rb-shell-player.c: (rb_shell_player_entry_activated_cb):
1306 Use rhythmdb_entry_get_playback_uri to figure out if we can play the
1307 entry, rather than doing entry type checks.
1309 2006-05-02 James Livingston <doclivingston@gmail.com>
1311 patch from Alessandro Decina <alessandro@nnva.org>
1313 * backends/gstreamer/rb-encoder-gst.c: (rb_encoder_gst_encode): fix
1314 the signal emission in the case of fatal-on-init errors. From bug
1317 2006-05-02 James Livingston <doclivingston@gmail.com>
1319 * rhythmdb/rhythmdb.h:
1320 * rhythmdb/rhythmdb.c: (rhythmdb_entry_allocate),
1321 (rhythmdb_entry_finalize), (_get_podcast_playback_uri),
1322 (rhythmdb_entry_podcast_post_get_type),
1323 (rhythmdb_entry_get_double), (rhythmdb_entry_get_playback_uri): add a
1324 virtual function to entry-types for getting the playback URI. From bug
1327 * backends/gstreamer/rb-encoder-gst.c:
1328 (create_pipeline_and_source), (extract_track):
1329 * shell/rb-shell-player.c: (rb_shell_player_open_entry): use the above
1332 2006-05-02 James Livingston <doclivingston@gmail.com>
1334 patch by: Brian Cameron <brian.cameron@sun.com>
1336 * sources/rb-nokia770-source.c: more Solaris build fixes, from bug
1339 2006-05-01 William Jon McCann <mccann@jhu.edu>
1341 * plugins/artdisplay/artdisplay.py: Use set_from_pixbuf
1342 instead of clear. Use regex matching to strip "disc N"
1343 from album. Match titles in ProductName. Perform
1344 fallback queries including various artist compilations.
1345 Include "us" locale. Improve queries when artist or album
1346 is unknown. Use medium size image if large is unavailable.
1348 patch by: Alex Lancaster <alexl@users.sourceforge.net>,
1349 William Jon McCann <mccann@jhu.edu>
1351 2006-04-30 Jonathan Matthew <jonathan@kaolin.wh9.net>
1353 * rhythmdb/rhythmdb-tree.c: (get_genres_hash_for_type):
1354 RhythmDBEntryType is a pointer now, so GINT_TO_POINTER is unnecessary.
1355 (conjunctive_query): Sanity check.
1356 (evaluate_conjunctive_subquery):
1357 Don't return TRUE immediately when a relative-time query criterion
1358 matches. Fixes #339972.
1360 2006-04-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
1362 * widgets/eggtrayicon.c: (egg_tray_icon_notify):
1363 Don't crash if primary or secondary are NULL.
1365 2006-04-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
1367 * doc/reference/Makefile.am: fix gtk-doc build yet again
1369 2006-04-28 James Livingston <doclivingston@gmail.com>
1371 * plugins/pythonconsole/pythonconsole.py: import "rhythmdb" into the
1372 python console. Fixes bug 339934.
1374 2006-04-27 Jonathan Matthew <jonathan@kaolin.wh9.net>
1376 * rhythmdb/rhythmdb-property-model.c:
1377 (rhythmdb_property_model_drag_data_get):
1378 When creating uri list drag data, create a new query model based on
1379 the query model the property model is attached to. Makes the
1380 resulting query use the right entry type and include the upstream
1381 query criteria. Fixes half of #327540.
1383 2006-04-27 James Livingston <doclivingston@gmail.com>
1385 * backends/gstreamer/rb-encoder-gst.c: (encoder_match_mime),
1386 (profile_bin_find_encoder), (get_profile_from_mime_type): more gst 0.8
1389 2006-04-27 James Livingston <doclivingston@gmail.com>
1391 * player/rb-player-gst.c: (error_cb): Fix build with GStreamer 0.8
1393 2006-04-27 Jonathan Matthew <jonathan@kaolin.wh9.net>
1395 * shell/rb-playlist-manager.c: (rb_playlist_manager_init),
1396 (rb_playlist_manager_save_data),
1397 (rb_playlist_manager_save_playlists):
1398 * shell/rb-playlist-manager.h:
1399 * shell/rb-shell.c: (rb_shell_sync_state),
1400 (idle_save_playlist_manager):
1401 Remove a bit more threading insanity from the playlist manager.
1403 2006-04-27 Jonathan Matthew <jonathan@kaolin.wh9.net>
1405 * shell/rb-playlist-manager.c:
1406 * shell/rb-playlist-manager.h:
1407 Remove dead code, add gtk-doc, remove threading insanity (mostly).
1409 * shell/rb-shell.c: (rb_shell_sync_state),
1410 (idle_save_playlist_manager), (construct_sources),
1411 (rb_shell_select_source), (rb_shell_sync_party_mode):
1412 Adjustments for above changes.
1414 2006-04-26 William Jon McCann <mccann@jhu.edu>
1416 * sources/rb-browser-source.c (impl_browser_toggled):
1417 Reset browser when hidden. Fixes #339617.
1419 2006-04-26 James Livingston <doclivingston@gmail.com>
1421 * backends/Makefile.am:
1422 * backends/gstreamer/Makefile.am: work again with separated
1425 2006-04-26 James Livingston <doclivingston@gmail.com>
1427 * shell/rb-removable-media-manager.c:
1428 (rb_removable_media_manager_set_uimanager): fix compilation with
1429 -Werror and --enable-track-transfer.
1431 2006-04-26 James Livingston <doclivingston@gmail.com>
1433 Turn RBPlayer into a full gobject interface, with RBPlayerGst as an
1434 implementing class. In theory allows alternate player implementations
1435 to be selected at run-time rather than compile-time. Fixes bug 338667.
1438 * backends/Makefile.am:
1439 * backends/gstreamer/Makefile.am:
1440 * backends/gstreamer/rb-player-gst.h:
1441 * backends/rb-player.c: (rb_player_interface_init),
1442 (rb_player_get_type), (rb_player_open), (rb_player_opened),
1443 (rb_player_close), (rb_player_play), (rb_player_pause),
1444 (rb_player_playing), (rb_player_set_volume),
1445 (rb_player_get_volume), (rb_player_set_replaygain),
1446 (rb_player_seekable), (rb_player_set_time), (rb_player_get_time),
1447 (rb_player_new), (_rb_player_emit_eos), (_rb_player_emit_info),
1448 (_rb_player_emit_buffering), (_rb_player_emit_error),
1449 (_rb_player_emit_tick), (rb_player_error_quark):
1450 * player/Makefile.am:
1451 * player/rb-player-gst.c: (rb_player_gst_class_init),
1452 (rb_player_init), (tick_timeout), (rb_player_gst_init),
1453 (rb_player_gst_finalize), (rb_player_gst_gst_free_playbin),
1454 (destroy_idle_signal), (emit_signal_idle), (eos_cb), (error_cb),
1455 (process_tag), (found_tag_cb), (buffering_cb),
1456 (rb_player_gst_bus_cb), (rb_player_gst_construct),
1457 (rb_player_gst_new):
1458 * player/rb-player.h:
1459 * shell/Makefile.am:
1460 * sources/rb-audiocd-source.c:
1461 * widgets/Makefile.am:
1462 * widgets/rb-header.c: (rb_header_class_init):
1464 2006-04-26 James Livingston <doclivingston@gmail.com>
1466 * podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed):
1467 don't try to download an episode if it couldn't be parsed. Fixes bug
1470 * shell/rb-removable-media-manager.c:
1471 (rb_removable_media_manager_set_uimanager): don't show the "Copy to
1472 Library" option when track transfer is disabled. Fixes bug 339728.
1474 2006-04-26 James Livingston <doclivingston@gmail.com>
1476 * data/ui/Makefile.am:
1477 * data/ui/daap-ui.xml:
1478 * data/ui/rhythmbox-ui.xml:
1479 * sources/rb-daap-source.c: (rb_daap_sources_init),
1480 (rb_daap_sources_shutdown): separate the DAAP ui stuff out in the same
1481 way that the ipod ui is. Fixes bug 339743.
1483 2006-04-26 Jonathan Matthew <jonathan@kaolin.wh9.net>
1485 * rhythmdb/rhythmdb.c: (rhythmdb_emit_entry_signals_idle),
1486 (process_added_entries_cb), (process_deleted_entries_cb),
1487 (rhythmdb_commit_internal):
1488 Combine the idle functions to emit entry-added and entry-deleted,
1489 and combine as many invocations of same as possible. Another
1490 significant reduction in startup time.
1492 (rhythmdb_process_events), (rhythmdb_idle_poll_events):
1493 Delay the next call to rhythmdb_process_events if the queue is
1494 empty or if we can't process any of the events in the queue because
1495 the database is read only.
1497 This patch brought to you by the numbers 3, 2, 5, 2, 1, and 5.
1499 2006-04-25 William Jon McCann <mccann@jhu.edu>
1501 * player/rb-recorder-gst.c (rb_recorder_burn): Add debug.
1503 * sources/rb-playlist-source-recorder.c (burn_cd_idle, burn_cd):
1504 Don't special case errors quite so much.
1506 2006-04-25 William Jon McCann <mccann@jhu.edu>
1508 * data/rhythmbox.schemas: Remove default speed.
1510 * sources/rb-playlist-source-recorder.c (update_speed_combobox):
1511 Add n-c-b 2.15 support. Make the default speed to slowest since
1512 that is all that works reliably.
1514 2006-04-25 William Jon McCann <mccann@jhu.edu>
1516 * backends/gstreamer/rb-encoder-gst.c (profile_bin_find_encoder):
1517 Fix compiler error from last commit.
1519 2006-04-25 James Livingston <doclivingston@gmail.com>
1521 patch by Alessandro Decina <alessandro@nnva.org> to fix some
1522 transcoding-related issues. From bug 322268.
1524 * backends/gstreamer/rb-encoder-gst.c: (rb_encoder_gst_finalize):
1525 don't emit the signal, since the object is being finalised, which os a
1528 (profile_bin_find_encoder), (get_profile_from_mime_type),
1529 (transcode_track): find the encoding element by iterating looking for
1530 element in the class Codec/Encoder/Audio rather than the one named
1533 2006-04-25 Jonathan Matthew <jonathan@kaolin.wh9.net>
1535 * shell/rb-shell-player.xml:
1536 * shell/rb-shell.xml:
1537 Add signal argument information.
1538 Patch by Tim Moloney <t.moloney@verizon.net>
1540 * shell/rb-shell.c: (rb_shell_window_state_cb):
1541 Use the right value for the visibility_changed signal. Most of the
1544 2006-04-25 Jonathan Matthew <jonathan@kaolin.wh9.net>
1546 * plugins/audioscrobbler/audioscrobbler.rb-plugin.desktop.in:
1547 * plugins/audioscrobbler/rb-audioscrobbler-plugin.c:
1548 (impl_create_configure_dialog):
1549 * data/glade/audioscrobbler-prefs.glade:
1550 * shell/rb-audioscrobbler.c (*):
1551 * lib/rb-preferences.h:
1552 * data/rhythmbox.schemas:
1553 Remove 'audioscrobbler' from the UI, replacing it with 'last.fm'.
1554 Add status information (# tracks submitted, # queued, last submit
1555 time, result of last submission) to the plugin config window.
1556 Remove 'enabled' setting, since it's easier to just disable the
1557 plugin. Call the plugin 'last.fm profile', to distinguish it from the
1558 nonexistant (so far) 'last.fm streaming' plugin.
1560 * help/C/rhythmbox.xml: Update documentation for last.fm profile
1563 Fixes some of #325848. We still don't provide a way to view the
1566 2006-04-25 James Livingston <doclivingston@gmail.com>
1568 patch by: Anders Petersson <demitar@worldforge.org>
1570 * podcast/rb-podcast-parse.c: (rb_podcast_parse_date): Parse dates in
1571 the YY-MM-DD format.
1573 2006-04-23 James Livingston <doclivingston@gmail.com>
1575 * bindings/python/override_common.c: (_helper_wrap_pointer_glist),
1576 (_helper_wrap_boxed_gptrarray), (_helper_unwrap_pointer_pylist):
1577 * bindings/python/override_common.h:
1578 * bindings/python/rb.override: python binding fixes
1580 2006-04-23 James Livingston <doclivingston@gmail.com>
1582 * shell/rb-statusbar.c: (rb_statusbar_finalize),
1583 (rb_statusbar_sync_with_source),
1584 (rb_statusbar_source_status_changed_cb): do the sync in an idle
1585 callback, rather than immediately every time. Takes ~5% off my warm-cache
1588 * bindings/python/rhythmdb.defs: fix the types using for
1591 2006-04-22 James Livingston <doclivingston@gmail.com>
1593 * data/ui/rhythmbox-ui.xml:
1595 * sources/rb-daap-source.c: (rb_daap_source_class_init),
1596 (remove_source), (rb_daap_sources_init),
1597 (rb_daap_sources_shutdown), (rb_daap_source_cmd_disconnect),
1598 (rb_daap_source_disconnect):
1599 * sources/rb-source.c: (rb_source_class_init),
1600 (rb_source_deactivate):
1601 * sources/rb-source.h: move the "disconnect" functionality from into
1602 RBSource to RBDaapSource where it belongs. Fixes bug 338464.
1604 2006-04-22 James Livingston <doclivingston@gmail.com>
1606 * widgets/rb-library-browser.c: (rb_library_browser_constructor):
1607 actually get the translated strings for browser headers (they were
1608 already marked as translatable). Fixes bug 339380.
1610 2006-04-22 James Livingston <doclivingston@gmail.com>
1612 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_finalize): remove the
1613 submission timeout when the object is finalised.
1615 * bindings/python/Makefile.am:
1616 * bindings/python/rb.defs:
1617 * bindings/python/rb.override:
1618 * bindings/python/rhythmdb.defs: fix some python binding stuff.
1620 * widgets/rb-library-browser.c:
1621 (rb_library_browser_construct_query), (rebuild_output_model),
1622 (rebuild_child_model):
1623 * widgets/rb-library-browser.h: change from GPtrArray to
1624 RhythmDBQuery (which in C is the same thing).
1626 2006-04-21 Jonathan Matthew <jonathan@kaolin.wh9.net>
1628 * shell/rb-shell.c: (rb_shell_get_song_properties):
1629 Don't try to include entry-type (or anything else not easily
1630 marshallable) in the song properties hash table.
1632 * rhythmdb/rhythmdb.c: (rhythmdb_entry_get): Handle G_TYPE_POINTER
1634 * sources/rb-playlist-source.c: (rb_playlist_source_init),
1635 (rb_playlist_source_constructor): Fix entry-type initialization as
1636 with previous commit.
1638 2006-04-21 Jonathan Matthew <jonathan@kaolin.wh9.net>
1640 * sources/rb-iradio-source.c: (rb_iradio_source_init),
1641 (rb_iradio_source_constructor), (rb_iradio_source_do_query):
1642 * sources/rb-podcast-source.c: (rb_podcast_source_init),
1643 (rb_podcast_source_constructor):
1644 Set default values for entry-type after base class construction,
1645 rather than in _init, because gobject will set the entry-type property
1646 to NULL after _init if no value is provided. Fixes #339206.
1648 2006-04-20 Ryan P Skadberg <skadz@stigmata.org>
1650 patch by: Gunnar Steinn Magnusson
1653 * backends/gstreamer/rb-encoder-gst.c:
1654 * backends/gstreamer/rb-encoder-gst.h:
1655 * backends/rb-encoder.c:
1656 * backends/rb-encoder.h:
1657 * bindings/python/override_common.c:
1658 * bindings/python/override_common.h:
1659 * daapsharing/rb-daap-connection.c:
1660 * daapsharing/rb-daap-connection.h:
1661 * daapsharing/rb-daap-dialog.c:
1662 * daapsharing/rb-daap-dialog.h:
1663 * daapsharing/rb-daap-mdns-browser-avahi.c:
1664 * daapsharing/rb-daap-mdns-browser-howl.c:
1665 * daapsharing/rb-daap-mdns-browser.h:
1666 * daapsharing/rb-daap-mdns-publisher-avahi.c:
1667 * daapsharing/rb-daap-mdns-publisher-howl.c:
1668 * daapsharing/rb-daap-mdns-publisher.h:
1669 * daapsharing/rb-daap-share.c:
1670 * daapsharing/rb-daap-share.h:
1671 * daapsharing/rb-daap-sharing.c:
1672 * daapsharing/rb-daap-sharing.h:
1673 * daapsharing/rb-daap-src.c:
1674 * daapsharing/rb-daap-src.h:
1675 * daapsharing/rb-daap-structure.c:
1676 * daapsharing/rb-daap-structure.h:
1677 * help/C/fdl-appendix.xml:
1679 * help/ja/fdl-appendix.xml:
1680 * iradio/rb-new-station-dialog.c:
1681 * iradio/rb-new-station-dialog.h:
1682 * iradio/rb-station-properties-dialog.c:
1683 * iradio/rb-station-properties-dialog.h:
1686 * lib/rb-cut-and-paste-code.c:
1687 * lib/rb-cut-and-paste-code.h:
1690 * lib/rb-file-helpers.c:
1691 * lib/rb-file-helpers.h:
1692 * lib/rb-glade-helpers.c:
1693 * lib/rb-glade-helpers.h:
1694 * lib/rb-preferences.h:
1695 * lib/rb-proxy-config.c:
1696 * lib/rb-stock-icons.c:
1697 * lib/rb-stock-icons.h:
1700 * lib/rb-tree-dnd.c:
1701 * lib/rb-tree-dnd.h:
1704 * metadata/rb-metadata-common.c:
1705 * metadata/rb-metadata-dbus-client.c:
1706 * metadata/rb-metadata-dbus-service.c:
1707 * metadata/rb-metadata-dbus.c:
1708 * metadata/rb-metadata-dbus.h:
1709 * metadata/rb-metadata-gst.c:
1710 * metadata/rb-metadata.h:
1711 * metadata/sj-error.c:
1712 * metadata/sj-error.h:
1713 * metadata/sj-metadata-musicbrainz.c:
1714 * metadata/sj-metadata-musicbrainz.h:
1715 * metadata/sj-metadata.c:
1716 * metadata/sj-metadata.h:
1717 * metadata/sj-structures.c:
1718 * metadata/sj-structures.h:
1719 * metadata/test-metadata.c:
1720 * player/rb-player-gst.c:
1721 * player/rb-player.h:
1722 * player/rb-recorder-gst.c:
1723 * player/rb-recorder.h:
1724 * plugins/artdisplay/artdisplay.py:
1725 * plugins/audioscrobbler/rb-audioscrobbler-plugin.c:
1726 * plugins/ipod/rb-ipod-plugin.c:
1727 * plugins/lirc/rb-lirc-plugin.c:
1728 * plugins/pythonconsole/pythonconsole.py:
1729 * plugins/rb-module.c:
1730 * plugins/rb-module.h:
1731 * plugins/rb-plugin-manager.c:
1732 * plugins/rb-plugin-manager.h:
1733 * plugins/rb-plugin.c:
1734 * plugins/rb-plugin.h:
1735 * plugins/rb-plugins-engine.c:
1736 * plugins/rb-plugins-engine.h:
1737 * plugins/rb-python-module.c:
1738 * plugins/rb-python-module.h:
1739 * plugins/rb-python-plugin.c:
1740 * plugins/rb-python-plugin.h:
1741 * plugins/sample/rb-sample-plugin.c:
1753 * podcast/rb-feed-podcast-properties-dialog.c:
1754 * podcast/rb-feed-podcast-properties-dialog.h:
1755 * podcast/rb-new-podcast-dialog.c:
1756 * podcast/rb-new-podcast-dialog.h:
1757 * podcast/rb-podcast-manager.c:
1758 * podcast/rb-podcast-manager.h:
1759 * podcast/rb-podcast-parse.c:
1760 * podcast/rb-podcast-parse.h:
1761 * podcast/rb-podcast-properties-dialog.c:
1762 * podcast/rb-podcast-properties-dialog.h:
1763 * remote/bonobo/libmain.c:
1764 * remote/bonobo/rb-nautilus-context-menu.c:
1765 * remote/bonobo/rb-nautilus-context-menu.h:
1766 * remote/bonobo/rb-remote-bonobo.c:
1767 * remote/bonobo/rb-remote-bonobo.h:
1768 * remote/rb-remote-client-proxy.c:
1769 * remote/rb-remote-client-proxy.h:
1770 * remote/rb-remote-common.c:
1771 * remote/rb-remote-common.h:
1772 * remote/rb-remote-proxy.c:
1773 * remote/rb-remote-proxy.h:
1774 * rhythmdb/gsequence.c:
1775 * rhythmdb/gsequence.h:
1776 * rhythmdb/rb-refstring.c:
1777 * rhythmdb/rb-refstring.h:
1778 * rhythmdb/rhythmdb-gda.c:
1779 * rhythmdb/rhythmdb-gda.h:
1780 * rhythmdb/rhythmdb-private.h:
1781 * rhythmdb/rhythmdb-property-model.c:
1782 * rhythmdb/rhythmdb-property-model.h:
1783 * rhythmdb/rhythmdb-query-model.c:
1784 * rhythmdb/rhythmdb-query-model.h:
1785 * rhythmdb/rhythmdb-query-results.c:
1786 * rhythmdb/rhythmdb-query-results.h:
1787 * rhythmdb/rhythmdb-tree.c:
1788 * rhythmdb/rhythmdb-tree.h:
1789 * rhythmdb/rhythmdb.c:
1790 * rhythmdb/rhythmdb.h:
1792 * shell/rb-audioscrobbler.c:
1793 * shell/rb-audioscrobbler.h:
1794 * shell/rb-history.c:
1795 * shell/rb-history.h:
1796 * shell/rb-play-order-linear-loop.c:
1797 * shell/rb-play-order-linear-loop.h:
1798 * shell/rb-play-order-linear.c:
1799 * shell/rb-play-order-linear.h:
1800 * shell/rb-play-order-queue.c:
1801 * shell/rb-play-order-queue.h:
1802 * shell/rb-play-order-random-by-age-and-rating.c:
1803 * shell/rb-play-order-random-by-age-and-rating.h:
1804 * shell/rb-play-order-random-by-age.c:
1805 * shell/rb-play-order-random-by-age.h:
1806 * shell/rb-play-order-random-by-rating.c:
1807 * shell/rb-play-order-random-by-rating.h:
1808 * shell/rb-play-order-random-equal-weights.c:
1809 * shell/rb-play-order-random-equal-weights.h:
1810 * shell/rb-play-order-random.c:
1811 * shell/rb-play-order-random.h:
1812 * shell/rb-play-order-shuffle.c:
1813 * shell/rb-play-order-shuffle.h:
1814 * shell/rb-play-order.c:
1815 * shell/rb-play-order.h:
1816 * shell/rb-playlist-manager.c:
1817 * shell/rb-playlist-manager.h:
1818 * shell/rb-removable-media-manager.c:
1819 * shell/rb-removable-media-manager.h:
1820 * shell/rb-shell-clipboard.c:
1821 * shell/rb-shell-clipboard.h:
1822 * shell/rb-shell-player.c:
1823 * shell/rb-shell-player.h:
1824 * shell/rb-shell-preferences.c:
1825 * shell/rb-shell-preferences.h:
1828 * shell/rb-source-header.c:
1829 * shell/rb-source-header.h:
1830 * shell/rb-statusbar.c:
1831 * shell/rb-statusbar.h:
1832 * shell/rb-tray-icon.c:
1833 * shell/rb-tray-icon.h:
1834 * sources/rb-audiocd-source.c:
1835 * sources/rb-audiocd-source.h:
1836 * sources/rb-auto-playlist-source.c:
1837 * sources/rb-auto-playlist-source.h:
1838 * sources/rb-browser-source.c:
1839 * sources/rb-browser-source.h:
1840 * sources/rb-daap-source.c:
1841 * sources/rb-daap-source.h:
1842 * sources/rb-generic-player-source.c:
1843 * sources/rb-generic-player-source.h:
1844 * sources/rb-import-errors-source.c:
1845 * sources/rb-import-errors-source.h:
1846 * sources/rb-ipod-source.c:
1847 * sources/rb-ipod-source.h:
1848 * sources/rb-iradio-source.c:
1849 * sources/rb-iradio-source.h:
1850 * sources/rb-library-source.c:
1851 * sources/rb-library-source.h:
1852 * sources/rb-missing-files-source.c:
1853 * sources/rb-missing-files-source.h:
1854 * sources/rb-nokia770-source.c:
1855 * sources/rb-nokia770-source.h:
1856 * sources/rb-play-queue-source.c:
1857 * sources/rb-play-queue-source.h:
1858 * sources/rb-playlist-source-recorder.c:
1859 * sources/rb-playlist-source-recorder.h:
1860 * sources/rb-playlist-source.c:
1861 * sources/rb-playlist-source.h:
1862 * sources/rb-playlist-xml.h:
1863 * sources/rb-podcast-source.c:
1864 * sources/rb-podcast-source.h:
1865 * sources/rb-psp-source.c:
1866 * sources/rb-psp-source.h:
1867 * sources/rb-removable-media-source.c:
1868 * sources/rb-removable-media-source.h:
1869 * sources/rb-source.c:
1870 * sources/rb-source.h:
1871 * sources/rb-sourcelist-model.c:
1872 * sources/rb-sourcelist-model.h:
1873 * sources/rb-sourcelist.c:
1874 * sources/rb-sourcelist.h:
1875 * sources/rb-static-playlist-source.c:
1876 * sources/rb-static-playlist-source.h:
1878 * tests/test-cmdline.c:
1879 * tests/test-rhythmdb-indexing.c:
1880 * tests/test-rhythmdb-query.c:
1881 * tests/test-rhythmdb-simple.c:
1882 * tests/test-rhythmdb-tree-deserialization.c:
1883 * tests/test-rhythmdb-tree-serialization.c:
1884 * tests/test-rhythmdb-view.c:
1885 * widgets/bacon-volume.c:
1886 * widgets/bacon-volume.h:
1887 * widgets/disclosure-widget.c:
1888 * widgets/disclosure-widget.h:
1889 * widgets/eel-gconf-extensions.c:
1890 * widgets/eel-gconf-extensions.h:
1891 * widgets/eggtrayicon.c:
1892 * widgets/eggtrayicon.h:
1893 * widgets/libsexy/sexy-icon-entry.c:
1894 * widgets/libsexy/sexy-icon-entry.h:
1895 * widgets/rb-cell-renderer-pixbuf.c:
1896 * widgets/rb-cell-renderer-pixbuf.h:
1897 * widgets/rb-cell-renderer-rating.c:
1898 * widgets/rb-cell-renderer-rating.h:
1899 * widgets/rb-dialog.c:
1900 * widgets/rb-dialog.h:
1901 * widgets/rb-druid.c:
1902 * widgets/rb-druid.h:
1903 * widgets/rb-entry-view.c:
1904 * widgets/rb-entry-view.h:
1905 * widgets/rb-header.c:
1906 * widgets/rb-header.h:
1907 * widgets/rb-library-browser.c:
1908 * widgets/rb-library-browser.h:
1909 * widgets/rb-property-view.c:
1910 * widgets/rb-property-view.h:
1911 * widgets/rb-query-creator-private.h:
1912 * widgets/rb-query-creator-properties.c:
1913 * widgets/rb-query-creator.c:
1914 * widgets/rb-query-creator.h:
1915 * widgets/rb-rating-helper.c:
1916 * widgets/rb-rating-helper.h:
1917 * widgets/rb-rating.c:
1918 * widgets/rb-rating.h:
1919 * widgets/rb-search-entry.c:
1920 * widgets/rb-search-entry.h:
1921 * widgets/rb-song-display-box.c:
1922 * widgets/rb-song-display-box.h:
1923 * widgets/rb-song-info.c:
1924 * widgets/rb-song-info.h: Fix FSF address EVERYWHERE
1926 2006-04-20 Ryan P Skadberg <skadz@stigmata.org>
1928 patch by: Gareth Murphy, James Livingston
1930 * bindings/python/rb.defs:
1932 * plugins/Makefile.am:
1933 * plugins/artdisplay/Makefile.am:
1934 * plugins/artdisplay/artdisplay.py:
1935 * plugins/artdisplay/artdisplay.rb-plugin.desktop.in:
1936 * plugins/rb-python-module.c: (rb_python_module_init_python):
1937 * shell/rb-shell.c: (construct_widgets),
1938 (rb_shell_druid_response_cb), (rb_shell_get_box_for_ui_location),
1939 (rb_shell_add_widget), (rb_shell_remove_widget),
1940 (rb_shell_ui_location_get_type):
1941 * shell/rb-shell.h: Initial Art Display (and Download) Plugin Support
1943 2006-04-21 Jonathan Matthew <jonathan@kaolin.wh9.net>
1945 * rhythmdb/rhythmdb.c: (entry_volume_mounted_or_unmounted):
1946 Fix build failure caused by the combination of the previous two
1949 2006-04-20 James Livingston <doclivingston@gmail.com>
1951 patch by: Christophe Fergeau <teuf@gnome.org> to make
1952 RhythmDBEntryTypes be a structure rather than a uint. Add a vfunc
1953 table to the entry types, which will allow us to get rid of some of
1954 the "if entry type == WHATEVER" code everywhere. From bug
1956 * bindings/python/rb.defs:
1957 * bindings/python/rb.override:
1958 * bindings/python/rhythmdb.defs:
1959 * bindings/python/rhythmdb.override:
1960 * daapsharing/rb-daap-connection.c:
1961 (rb_daap_connection_class_init), (rb_daap_connection_init),
1962 (rb_daap_connection_set_property),
1963 (rb_daap_connection_get_property):
1964 * daapsharing/rb-daap-share.c: (db_entry_added_cb):
1965 * podcast/rb-podcast-manager.c:
1966 (rb_podcast_manager_entry_downloaded),
1967 (rb_podcast_manager_subscribe_feed),
1968 (rb_podcast_manager_db_entry_added_cb),
1969 (rb_podcast_manager_db_entry_deleted_cb),
1970 (rb_podcast_manager_insert_feed):
1971 * rhythmdb/rhythmdb-private.h:
1972 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_start_element),
1973 (conjunctive_query):
1974 * rhythmdb/rhythmdb.c: (sync_entry_changed),
1975 (process_added_entries_cb), (rhythmdb_entry_allocate),
1976 (rhythmdb_entry_finalize), (rhythmdb_entry_unref),
1977 (rhythmdb_process_stat_event), (rhythmdb_add_import_error_entry),
1978 (rhythmdb_process_metadata_load),
1979 (rhythmdb_process_file_created_or_modified), (action_thread_main),
1980 (rhythmdb_add_uri), (entry_type_to_string), (entry_type_from_uint),
1981 (write_encoded_gvalue), (read_encoded_property),
1982 (rhythmdb_prop_type_get_type), (rhythmdb_entry_register_type),
1983 (rhythmdb_entry_song_get_type), (rhythmdb_entry_ignore_get_type),
1984 (rhythmdb_entry_iradio_get_type),
1985 (rhythmdb_entry_podcast_post_get_type),
1986 (rhythmdb_entry_podcast_feed_get_type),
1987 (rhythmdb_entry_import_error_get_type),
1988 (rhythmdb_entry_get_entry_type), (rhythmdb_entry_get_pointer),
1989 (rhythmdb_entry_get_ulong), (rhythmdb_entry_get_type),
1990 (rhythmdb_entry_type_get_type):
1991 * rhythmdb/rhythmdb.h:
1992 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_song_changed_cb):
1993 * shell/rb-playlist-manager.c: (handle_playlist_entry_cb):
1994 * shell/rb-shell-player.c: (rb_shell_player_open_entry),
1995 (rb_shell_player_entry_activated_cb), (info_available_cb):
1996 * shell/rb-shell.c: (rb_shell_get_source_by_entry_type),
1997 (rb_shell_register_entry_type_for_source),
1998 (rb_shell_playing_from_queue_cb),
1999 (rb_shell_playing_entry_changed_cb),
2000 (rb_shell_player_stream_song_changed_cb),
2001 (rb_shell_jump_to_entry_with_source),
2002 (rb_shell_guess_type_for_uri), (rb_shell_add_uri),
2003 (handle_playlist_entry_cb), (rb_shell_load_uri):
2005 * sources/rb-auto-playlist-source.c: (impl_receive_drag):
2006 * sources/rb-browser-source.c: (rb_browser_source_class_init),
2007 (rb_browser_source_init), (rb_browser_source_set_property),
2008 (rb_browser_source_get_property):
2009 * sources/rb-ipod-source.c: (impl_paste):
2010 * sources/rb-iradio-source.c: (rb_iradio_source_class_init),
2011 (rb_iradio_source_init), (rb_iradio_source_set_property),
2012 (rb_iradio_source_get_property):
2013 * sources/rb-library-source.c: (impl_paste):
2014 * sources/rb-missing-files-source.c:
2015 (rb_missing_files_source_class_init),
2016 (rb_missing_files_source_init),
2017 (rb_missing_files_source_set_property),
2018 (rb_missing_files_source_get_property):
2019 * sources/rb-playlist-source.c: (rb_playlist_source_class_init),
2020 (rb_playlist_source_init), (rb_playlist_source_set_property),
2021 (rb_playlist_source_get_property):
2022 * sources/rb-podcast-source.c: (rb_podcast_source_class_init),
2023 (rb_podcast_source_init), (rb_podcast_source_set_property),
2024 (rb_podcast_source_get_property):
2025 * sources/rb-static-playlist-source.c:
2026 (rb_static_playlist_source_add_location_internal):
2028 2006-04-20 Jonathan Matthew <jonathan@kaolin.wh9.net>
2030 * rhythmdb/rhythmdb.c: (rhythmdb_init),
2031 (rhythmdb_add_import_error_entry),
2032 (entry_volume_mounted_or_unmounted),
2033 (rhythmdb_volume_unmounted_cb):
2034 When a volume is unmounted, delete import errors for files stored on
2035 it. When a volume is mounted, stat all tracks stored on it, rather
2036 than assuming they're present. Fixes #339023.
2038 2006-04-20 James Livingston <doclivingston@gmail.com>
2040 patch by: Alex Lancaster <alexl@users.sourceforge.net> to remember
2041 browser visibility for non-gconf-using sources (like playlists). Part
2044 * shell/rb-source-header.c: (sourcestate_free),
2045 (rb_source_header_init), (rb_source_header_finalize),
2046 (rb_source_header_source_weak_destroy_cb): switch from storing the
2047 search string to storing a "source state" structure
2049 (rb_source_header_set_source_internal), (rb_source_state_sync),
2050 (rb_source_header_search_cb), (rb_source_header_clear_search),
2051 (rb_source_header_disclosure_toggled_cb): as well as storing the
2052 string, stop the visibility of the source's browser.
2054 2006-04-20 James Livingston <doclivingston@gmail.com>
2056 * sources/rb-library-source.c: (impl_paste): ignore attempts to paste
2057 library entries back into the library. Fixes bug 339065.
2059 2006-04-20 James Livingston <doclivingston@gmail.com>
2061 * plugins/rb-plugin.h: remove the use of g_intern_static_string as it
2062 only exists in glib 2.10.
2064 2006-04-20 James Livingston <doclivingston@gmail.com>
2066 patch by Brian Cameron <brian.cameron@sun.com> to fix building on
2067 Solaris. From bug 335318.
2069 * rhythmdb/rhythmdb.c: (rhythmdb_query_append_prop_multiple):
2070 * shell/rb-audioscrobbler.c:
2071 * sources/rb-psp-source.c:
2073 2006-04-20 James Livingston <doclivingston@gmail.com>
2075 * data/glade/Makefile.am: remove the use of $(NULL) since it causes
2076 issues for some people.
2078 * shell/rb-playlist-manager.c: (save_playlist_response_cb): fix an
2079 accidental s/suffix/prefix/
2081 * sources/rb-auto-playlist-source.c:
2082 (rb_auto_playlist_source_set_query): fix the invered logic preventing
2083 you from sorting playlists which aren't limited by time.
2085 2006-04-19 James Livingston <doclivingston@gmail.com>
2087 * rhythmdb/rhythmdb.c: (metadata_field_from_prop): don't try to write
2088 duration or bitrate back to the file, since they are properties of the
2089 audio data, not tags we can set.
2091 2006-04-19 James Livingston <doclivingston@gmail.com>
2093 patch by: Götz Waschk <waschk@mandriva.org> to use $(LIBTOOL) instead
2094 of libtool, to fix builds which are using a different version. Fixes
2097 * shell/Makefile.am:
2099 2006-04-19 James Livingston <doclivingston@gmail.com>
2101 * rhythmdb/rhythmdb.c: (sync_entry_changed): emit a warning if we try
2102 to sync data to a file which is uneditable.
2104 2006-04-19 James Livingston <doclivingston@gmail.com>
2106 patch by: Gavin Stewart <gavin@brokentrain.net>
2108 * data/glade/playlist-save.glade:
2109 * data/glade/Makefile.am:
2110 * po/POTFILES.in: add the playlist saving dialog.
2112 * shell/rb-playlist-manager.c: (save_playlist_response_cb),
2113 (export_set_extension_cb), (filter_get_export_filter_label),
2114 (setup_format_menu), (rb_playlist_manager_cmd_save_playlist):
2115 * shell/rb-playlist-manager.h: Allow saving of playlists in alternate
2116 formats (PLS and M3U at the moment). Fixes bug 316295.
2118 2006-04-19 James Livingston <doclivingston@gmail.com>
2120 * shell/rb-playlist-manager.c:
2121 (rb_playlist_manager_set_source_internal): don't let you edit remove
2124 * sources/rb-auto-playlist-source.c:
2125 (rb_auto_playlist_source_set_query): correctly handle time-limited
2128 2006-04-19 Jonathan Matthew <jonathan@kaolin.wh9.net>
2130 Patch by: Mikael Olenfalk <mikael.olenfalk@gmail.com>
2132 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_load_queue):
2133 Don't crash if the queue file contains no newlines.
2136 2006-04-18 Christophe Fergeau <teuf@gnome.org>
2138 * sources/rb-ipod-source.c: (generate_ipod_filename): fixed wrong loop
2141 2006-04-18 Christophe Fergeau <teuf@gnome.org>
2143 * sources/rb-ipod-source.c: ipod music dirs can be lower or upper
2144 case. Moreover, they may not exist yet, so take that into account when
2145 generating the iPod filename.
2147 2006-04-18 Christophe Fergeau <christophe@anevia.com>
2149 * sources/rb-ipod-source.c: added support for drag and drop from the
2150 library to the iPod (only enabled if --enable-track-transfer was
2151 passed to configure)
2153 2006-04-17 Christophe Fergeau <teuf@gnome.org>
2156 * lib/rb-marshal.list:
2159 * plugins/Makefile.am:
2160 * plugins/ipod/Makefile.am:
2161 * plugins/ipod/ipod.rb-plugin.desktop.in:
2162 * plugins/ipod/rb-ipod-plugin.c:
2163 * plugins/rb-plugin.h:
2164 * shell/Makefile.am:
2165 * shell/rb-removable-media-manager.c:
2166 * shell/rb-removable-media-manager.h:
2168 * sources/Makefile.am:
2169 * sources/rb-ipod-source.c:
2170 * sources/rb-ipod-source.h: turn rb-ipod-source.c into a plugin. The
2171 various iPod related files should be moved to plugins/ipod/ now...
2173 2006-04-17 James Livingston <doclivingston@gmail.com>
2175 Updated documentation from Baptiste Mille-Mathias <bmm80@free.fr>
2178 * help/C/figures/rb-iradio-main.png:
2179 * help/C/figures/rb-notification-area-menu.png:
2180 * help/C/figures/rb-notification-window.png:
2181 * help/C/figures/rb-notification-zone.png:
2182 * help/C/figures/rb-podcast-main.png:
2183 * help/C/figures/rb-statusbar.png:
2184 * help/C/figures/rb-volume-changer.png:
2185 * help/C/figures/rb-window-small.png:
2186 * help/C/figures/rb-window.png:
2187 * help/C/rhythmbox.xml:
2189 2006-04-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
2191 * metadata/test-metadata.c: (load_metadata_cb): Report ignored files
2194 * metadata/rb-metadata-gst.c: (rb_metadata_init),
2195 (make_undecodable_error), (rb_metadata_gst_error_cb),
2196 (rb_metadata_gst_new_decoded_pad_cb),
2197 (rb_metadata_gst_unknown_type_cb), (rb_metadata_bus_handler):
2198 Ignore really small files (<4kB) for which typefinding fails.
2199 Always link decoded pads from decodebin to fakesink.
2200 Shut the pipeline down by posting an error on the bus when decodebin
2201 emits unknown-type signals. Fixes bug #338062.
2203 2006-04-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
2205 * shell/rb-shell.c: (rb_shell_load_uri):
2206 Fix glaring mistakes in previous commit: actually pass arguments to
2207 rb_debug, and specify the right entry type when adding a new iradio
2208 station so we don't try to add local playlist files to the library.
2210 2006-04-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
2212 * shell/main.c: (load_uri_args): Don't check that remote URLs exist
2213 before trying to add them, as iradio streams often fail rb_uri_exists().
2215 * shell/rb-shell-player.c: (notify_playing_idle),
2216 (rb_shell_player_open_playlist_url), (playlist_entry_cb),
2217 (open_location_thread), (rb_shell_player_open_location),
2218 (rb_shell_player_play), (rb_shell_player_set_playing_entry),
2219 (eos_cb): When playing an iradio stream using a playlist, keep a list
2220 of all the stream URLs, and try them in turn. If we get through the
2221 whole playlist too quickly, error out. Various other fixes that make
2222 iradio work a lot better.
2224 * shell/rb-shell.c: (add_to_library_response_cb),
2225 (rb_shell_guess_type_for_uri), (rb_shell_add_uri),
2226 (handle_playlist_entry_cb), (rb_shell_load_uri):
2227 Add playlists containing streams as iradio stations. If the playlist
2228 is local, add each stream URL, but if the playlist is remote, just add
2231 * sources/rb-iradio-source.c: (new_station_location_added):
2232 Add new station URLs as-is, rather than parsing the playlist and
2235 * rhythmdb/rhythmdb-query-model.c:
2236 (rhythmdb_query_model_entry_changed_cb),
2237 (rhythmdb_query_model_emit_reorder),
2238 (rhythmdb_query_model_do_reorder):
2239 Emit row-changed notifications when an entry changes but is not
2242 * widgets/rb-entry-view.c: (rb_entry_view_playing_cell_data_func):
2243 Display the playback error icon when the entry has an error and
2244 there's nothing else to display.
2246 Fixes bug #320336 and some of #324402.
2248 2006-04-16 Christophe Fergeau <teuf@gnome.org>
2250 * sources/rb-ipod-source.c: use a GHashTable for the
2251 RhythmDBEntry=>Itdb_Track mapping, this is better imo, and at the same
2252 time, this fixes compilation breakage for people not having libgpod
2255 2006-04-16 Ryan P Skadberg <skadz@stigmata.org>
2257 patch by: Jonathan Matthew <jonathan@kaolin.wh9.net>
2259 * podcast/rb-podcast-manager.c: (rb_podcast_manager_add_post),
2260 (rb_podcast_manager_insert_feed):
2261 * podcast/rb-podcast-manager.h: Actually automatically podcasts,
2264 2006-04-16 James Livingston <doclivingston@gmail.com>
2266 * sources/rb-library-source.c:
2267 (rb_library_source_library_location_cb): return FALSE like we are
2268 supposed to, not void.
2270 patch by: FreeBSD GNOME Project
2271 * configure.ac: fix some bash-isms.
2273 patch by: Pawel Worach <pawel.worach@gmail.com>
2274 * metadata/rb-metadata-dbus-client.c:
2275 * rhythmdb/rhythmdb-query-model.c:
2276 (rhythmdb_query_model_album_sort_func): fix build issues on FreeBSD
2279 2006-04-16 James Livingston <doclivingston@gmail.com>
2281 Patch from: Alessandro Decina <alessandro@nnva.org> to add support
2282 for transcoding to RBEncoderGst.
2284 * backends/gstreamer/rb-encoder-gst.c: (rb_encoder_gst_emit_error),
2285 (rb_encoder_gst_emit_completed), (bus_watch_cb), (gst_error_cb),
2286 (start_pipeline), (add_encoding_pipeline), (new_decoded_pad_cb),
2287 (add_decoding_pipeline), (encoder_match_mime),
2288 (get_profile_from_mime_type), (extract_track), (transcode_track),
2289 (rb_encoder_gst_cancel), (rb_encoder_gst_encode):
2291 2006-04-16 Christophe Fergeau <teuf@gnome.org>
2293 * sources/rb-ipod-source.c: (add_ipod_song_to_db),
2294 (load_ipod_db_idle_cb): moved RhythmDBEntry creation from
2295 load_ipod_db_idle_cb to a new separate function
2297 2006-04-16 Christophe Fergeau <teuf@gnome.org>
2299 * sources/rb-ipod-source.c: added 'move to trash' support to the iPod
2302 2006-04-16 Christophe Fergeau <teuf@gnome.org>
2304 * sources/rb-ipod-source.c: (rb_ipod_is_volume_ipod): removed unused
2307 2006-04-16 Christophe Fergeau <teuf@gnome.org>
2309 * data/ui/Makefile.am:
2310 * data/ui/ipod-ui.xml: added new ui file containing the iPod context
2312 * lib/rb-util.c: check if the widget we got from the UI manager isn't
2313 NULL before using it as a popup menu
2314 * sources/rb-ipod-source.c: added the possibility to 'rename' and
2317 2006-04-16 Christophe Fergeau <teuf@gnome.org>
2319 * sources/rb-ipod-source.c: when hal tells us a partition is on an
2320 iPod, check if it contains an iPod database before using it (in case
2321 the iPod was repartitionned somehow). Should fix bug #325034
2323 2006-04-16 Steve Frécinaux <steve@istique.net>
2325 * configure.ac: bump GTK+ version requirement from 2.5.4 to 2.6.0.
2327 * data/Makefile.am: install application icon into the default theme.
2329 * data/rhythmbox.desktop.in: don't specify icon file extension.
2331 * shell/main.c: (main): set default window icon from theme.
2333 * shell/rb-shell.c: (rb_shell_init, rb_shell_cmd_about): remove legacy
2334 code concerning window icon, and fix leak by unreferencing the about
2335 logo pixbuf once it's not used anymore.
2337 2006-04-16 James Livingston <doclivingston@gmail.com>
2339 * configure.ac: bump version to 0.9.4
2340 * NEWS: update NEWS and 0.9.4 insert translations
2342 2006-04-16 James Livingston <doclivingston@gmail.com>
2344 * plugins/pythonconsole/pythonconsole.py: import the rhythmdb
2345 namespace automatically.
2347 2006-04-16 James Livingston <doclivingston@gmail.com>
2349 * data/rhythmbox.schemas: add the plugin's stuff to the gconf schema
2351 * doc/reference/Makefile.am:
2352 * doc/reference/rhythmbox.types: make distcheck work again
2354 * doc/reference/tmpl/eggnotificationbubble.sgml:
2355 * doc/reference/tmpl/eggtrayicon.sgml:
2356 * doc/reference/tmpl/rb-debug.sgml:
2357 * doc/reference/tmpl/rb-entry-view.sgml:
2358 * doc/reference/tmpl/rb-enums.sgml:
2359 * doc/reference/tmpl/rb-metadata.sgml:
2360 * doc/reference/tmpl/rb-new-station-dialog.sgml:
2361 * doc/reference/tmpl/rb-playlist-manager.sgml:
2362 * doc/reference/tmpl/rb-refstring.sgml:
2363 * doc/reference/tmpl/rb-shell-player.sgml:
2364 * doc/reference/tmpl/rb-shell-preferences.sgml:
2365 * doc/reference/tmpl/rb-shell.sgml:
2366 * doc/reference/tmpl/rb-song-info.sgml:
2367 * doc/reference/tmpl/rb-station-properties-dialog.sgml:
2368 * doc/reference/tmpl/rb-statusbar.sgml:
2369 * doc/reference/tmpl/rhythmbox-unused.sgml:
2370 * doc/reference/tmpl/rhythmdb-query-model.sgml:
2371 * doc/reference/tmpl/rhythmdb.sgml: update generared api doc stuff
2373 2006-04-16 James Livingston <doclivingston@gmail.com>
2375 patch by: Christian Kirbach <Christian.Kirbach@student.uni-siegen.de>
2377 * po/LINGUAS: don't split the variable across two lines, as it breaks
2378 the build. Fixes bug 338625.
2380 2006-04-15 James Livingston <doclivingston@gmail.com>
2382 * shell/rb-shell.c: (rb_shell_class_init), (rb_shell_get_property):
2383 add a "sourcelist-model" gobject property.
2385 2006-04-14 William Jon McCann <mccann@jhu.edu>
2388 * backends/.cvsignore:
2389 * backends/gstreamer/.cvsignore:
2390 * bindings/.cvsignore:
2391 * bindings/python/.cvsignore:
2392 * help/es/.cvsignore:
2393 * metadata/.cvsignore:
2394 * plugins/.cvsignore:
2395 * plugins/audioscrobbler/.cvsignore:
2396 * plugins/lirc/.cvsignore:
2397 * plugins/pythonconsole/.cvsignore:
2398 * plugins/sample-python/.cvsignore:
2399 * plugins/sample/.cvsignore:
2401 * widgets/libsexy/.cvsignore:
2402 Make CVS ignore files.
2404 2006-04-14 James Livingston <doclivingston@gmail.com>
2406 * sources/rb-audiocd-source.c: (rb_audiocd_source_constructor): make
2407 the track-loading thread hold a reference on the source, so it doesn't
2408 explode if the cd is removed before it is done. Fixes bug 337237.
2410 2006-04-14 James Livingston <doclivingston@gmail.com>
2412 * bindings/python/override_common.c:
2413 (_helper_unwrap_pointer_pylist):
2414 * bindings/python/override_common.h:
2415 * bindings/python/rb.override:
2416 * bindings/python/rhythmdb.override: Bind some more functions and
2419 * shell/rb-shell.c: (rb_shell_select_source):
2420 * shell/rb-source-header.c: (rb_source_header_set_source_internal):
2421 * sources/rb-audiocd-source.c:
2422 * sources/rb-auto-playlist-source.c: (impl_get_search_actions):
2423 * sources/rb-browser-source.c: (impl_get_search_actions):
2424 * sources/rb-iradio-source.c: (impl_get_ui_actions):
2425 * sources/rb-play-queue-source.c: (impl_get_ui_actions):
2426 * sources/rb-playlist-source.c: (impl_get_ui_actions):
2427 * sources/rb-podcast-source.c: (impl_get_ui_actions),
2428 (impl_get_search_actions):
2429 * sources/rb-static-playlist-source.c: (impl_get_search_actions): Make
2430 the impl_get_ui_actions and impl_get_search_actions functions return
2431 lists that contain copies of the strings, instead of constant ones.
2434 2006-04-14 James Livingston <doclivingston@gmail.com>
2436 * bindings/python/rhythmdb.defs:
2437 * bindings/python/rhythmdb.override: fix the method argument format
2440 2006-04-14 James Livingston <doclivingston@gmail.com>
2442 * bindings/python/rhythmdb.defs:
2443 * bindings/python/rhythmdb.override:
2444 * rhythmdb/rhythmdb.c: (rhythmdb_entry_get),
2445 (entry_to_rb_metadata), (record_entry_change),
2446 (rhythmdb_entry_set_visibility):
2447 * rhythmdb/rhythmdb.h:
2448 * shell/rb-shell.c: (rb_shell_get_song_properties): change
2449 rhythmdb_entry_get to take the db as the first parameter. Fixes the
2450 python bindings of it. The rhythmdb_entry_get_* ones are left the same
2451 since they are used in too many places, and not in the Python
2454 2006-04-13 William Jon McCann <mccann@jhu.edu>
2456 * lib/rb-debug.c: (_rb_profile_log):
2457 * plugins/rb-plugins-engine.c: (rb_plugins_engine_init):
2458 * rhythmdb/rhythmdb.c: (rhythmdb_load):
2459 * shell/main.c: (main):
2460 * shell/rb-shell.c: (rb_shell_constructor),
2461 (rb_shell_set_visibility), (rb_shell_sync_window_state),
2463 Fix profile output indentation. Add more profiling points.
2464 Fixes part of #338114
2466 2006-04-13 James Livingston <doclivingston@gmail.com>
2468 * shell/rb-shell.c: (rb_shell_source_deleted_cb): deal with the
2469 library source being deleted, by setting the active source to NULL.
2472 2006-04-12 Jonathan Matthew <jonathan@kaolin.wh9.net>
2474 * rhythmdb/rhythmdb.c: (rhythmdb_entry_sync_mirrored):
2475 Update the last-seen string when hiddenness changes.
2477 2006-04-12 James Livingston <doclivingston@gmail.com>
2479 * rhythmdb/rhythmdb.c: (rhythmdb_process_metadata_load): fix an issue
2480 which caused the first-seen time to be reset when a metadata load was
2481 done. Fixes bug 336874.
2483 * shell/rb-shell.h: remove old function declaration.
2485 * bindings/python/rhythmdb.defs:
2486 * bindings/python/rhythmdb.override: Fix some python binding stuff.
2488 2006-04-11 James Livingston <doclivingston@gmail.com>
2490 * shell/rb-shell.c: (rb_shell_sync_toolbar_state),
2491 (rb_shell_sync_smalldisplay): fix toolbar-style/small-mode
2492 interaction. Fixes bug 337999.
2494 2006-04-11 James Livingston <doclivingston@gmail.com>
2496 patch by: Christohpe Fergeau <teuf@gnome.org> to fix building without
2497 track transfer. Fixes bug 338056.
2499 * shell/Makefile.am:
2501 2006-04-11 Jonathan Matthew <jonathan@kaolin.wh9.net>
2503 * widgets/Makefile.am: Fix automake complaints about LIBSEXY_LIBS
2505 2006-04-10 William Jon McCann <mccann@jhu.edu>
2507 * lib/rb-debug.c: (rb_profiler_free), (profile_add_indent),
2510 * shell/rb-shell.c: (construct_db), (construct_widgets),
2511 (construct_sources), (construct_load_ui), (rb_shell_constructor):
2512 Add profiling. Fixes #337387
2514 2006-04-10 William Jon McCann <mccann@jhu.edu>
2516 * sources/rb-play-queue-source.c (rb_play_queue_source_track_info_cell_data_func):
2517 * widgets/rb-header.c:
2518 Use italics for artist and album. Fixes #336748
2520 2006-04-10 James Livingston <doclivingston@gmail.com>
2523 * backends/gstreamer/Makefile.am:
2525 * data/glade/library-prefs.glade:
2526 * shell/Makefile.am:
2527 * shell/rb-removable-media-manager.c:
2528 * shell/rb-removable-media-manager.h:
2529 * sources/Makefile.am:
2530 * sources/rb-audiocd-source.c:
2531 * sources/rb-library-source.c: (rb_library_source_class_init),
2532 (rb_library_source_finalize), (impl_get_config_widget),
2533 (rb_library_source_preferences_sync), (impl_can_paste): add a
2534 --enable-track-transfer configure option, abd make cd ripping disabled
2537 * shell/rb-source-header.c:
2538 * sources/rb-source.c: (rb_source_class_init),
2539 (rb_source_delete_thyself), (default_get_entry_view):
2540 * lib/rb-glade-helpers.c:
2541 * shell/rb-shell.c: (rb_shell_view_queue_as_sidebar_changed_cb): Fix
2542 some compiler warnings, and also bug 337427.
2544 2006-04-10 James Livingston <doclivingston@gmail.com>
2546 * shell/rb-shell-player.c: (rb_shell_player_shuffle_changed_cb),
2547 (rb_shell_player_repeat_changed_cb): don't fail to set the play order
2548 if the gconf key is missing. Fixes bug 337742.
2550 2006-04-10 James Livingston <doclivingston@gmail.com>
2552 patch by: Alex Lancaster <alexl@users.sourceforge.net>
2553 to fix build problems I caused with a commit yesterday. Fixed bug
2556 * daapsharing/rb-daap-mdns-browser-howl.c:
2557 (rb_daap_mdns_browser_class_init):
2558 * podcast/Makefile.am:
2559 * rhythmdb/Makefile.am:
2560 * widgets/eggtrayicon.h:
2562 2006-04-09 Steve Frécinaux <steve@istique.net>
2567 Move ALL_LANGUAGES content to the po/LINGUAS file, to make our
2568 translators' life easier.
2570 2006-04-09 James Livingston <doclivingston@gmail.com>
2572 * bindings/python/rb.defs:
2573 * bindings/python/rb.override: add bindings for most RBSource virtual
2576 * sources/rb-source.h:
2577 * sources/rb-source.c: (rb_source_class_init): make
2578 impl_get_browser_key return a non-consht string, since Python can't
2579 really give us constant strings.
2581 * shell/rb-source-header.c: (rb_source_header_finalize),
2582 (rb_source_header_set_source_internal):
2583 * sources/rb-daap-source.c: (rb_daap_source_get_browser_key):
2584 * sources/rb-iradio-source.c: (impl_get_browser_key):
2585 * sources/rb-library-source.c: (impl_get_browser_key):
2586 * sources/rb-playlist-source.c:
2587 * sources/rb-browser-source.c: (rb_browser_source_constructor),
2588 (rb_browser_source_state_prefs_sync):
2589 * sources/rb-podcast-source.c: (impl_get_browser_key): Adapt to the
2592 * plugins/sample-python/sample-python.py: show how to add a new
2595 2006-04-09 James Livingston <doclivingston@gmail.com>
2597 * daapsharing/Makefile.am:
2598 * daapsharing/rb-daap-connection.c:
2599 (rb_daap_connection_class_init):
2600 * daapsharing/rb-daap-marshal.list:
2601 * daapsharing/rb-daap-mdns-browser-avahi.c:
2602 (rb_daap_mdns_browser_class_init):
2603 * lib/rb-marshal.list:
2604 * player/Makefile.am:
2605 * player/rb-recorder-gst.c: (rb_recorder_class_init):
2606 * player/rb-recorder-marshal.list:
2607 * podcast/Makefile.am:
2608 * podcast/rb-podcast-manager.c: (rb_podcast_manager_class_init):
2609 * podcast/rb-podcast-marshal.list:
2610 * rhythmdb/Makefile.am:
2611 * rhythmdb/rhythmdb-marshal.list:
2612 * rhythmdb/rhythmdb-query-model.c:
2613 (rhythmdb_query_model_class_init):
2614 * rhythmdb/rhythmdb.c: (rhythmdb_class_init): merge all the marshalers
2615 into one file, as there is no point having several of them.
2617 2006-04-09 James Livingston <doclivingston@gmail.com>
2621 * widgets/Makefile.am:
2622 * widgets/eggnotificationbubble.c:
2623 * widgets/eggnotificationbubble.h:
2624 * widgets/rb-song-info.c: remove lib/rb-enums.h and
2625 widgets/eggnotificationbubble.{c,h}, since they aren't used any more
2627 * rhythmdb/rhythmdb-property-model.h:
2628 * rhythmdb/rhythmdb-query-model.h:
2629 * rhythmdb/rhythmdb.h:
2630 * shell/rb-playlist-manager.h:
2631 * widgets/rb-cell-renderer-pixbuf.h:
2632 * widgets/rb-cell-renderer-rating.h:
2633 * widgets/rb-rating.h: fix the prototypes of various class-closures.
2635 2006-04-09 Jonathan Matthew <jonathan@kaolin.wh9.net>
2637 * widgets/libsexy/Makefile.am: Actually use internal libsexy headers,
2638 so we can build without a system-wide installed copy.
2640 2006-04-09 James Livingston <doclivingston@gmail.com>
2642 * data/glade/general-prefs.glade:
2643 * data/rhythmbox.schemas:
2644 * lib/rb-glade-helpers.c: (rb_glade_boldify_label),
2645 (rb_combo_box_hyphen_separator_func):
2646 * lib/rb-glade-helpers.h:
2647 * lib/rb-preferences.h:
2648 * shell/rb-shell-preferences.c: (rb_shell_preferences_init),
2649 (rb_shell_preferences_sync),
2650 (rb_shell_preferences_toolbar_style_cb),
2651 (rb_shell_preferences_browser_views_activated_cb):
2652 * shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor),
2653 (rb_shell_sync_toolbar_state), (toolbar_state_changed_cb): Allow the
2654 overriding of the toolbar style, as the HIG suggests. Fixes bug 336797.
2656 2006-04-09 James Livingston <doclivingston@gmail.com>
2658 * sources/rb-audiocd-source.c: (entry_set_string_prop): validate the
2659 data that MusicBrainz returns to us. Last part of bug 334167.
2661 2006-04-09 James Livingston <doclivingston@gmail.com>
2663 * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed): fix a
2664 crasher if xmlCreateMemoryParserCtxt returns NULL. Fixes bug 336842.
2666 2006-04-09 James Livingston <doclivingston@gmail.com>
2668 * widgets/rb-entry-view.c: (rb_entry_view_rows_reordered_cb): update
2669 the entry view properly when the rows are reordered. Fixes bug 337019.
2671 2006-04-09 James Livingston <doclivingston@gmail.com>
2674 * widgets/Makefile.am:
2675 * widgets/libsexy/Makefile.am:
2676 * widgets/libsexy/sexy-icon-entry.c:
2677 * widgets/libsexy/sexy-icon-entry.h: add an internal copy of part of
2678 libsexy, and allow building against it or a system-wide installed
2682 * widgets/rb-search-entry.c: (rb_search_entry_init),
2683 (rb_search_entry_changed_cb): use libsexy to add a clear button to the
2684 search box. Fixes bug 128109.
2686 2006-04-09 James Livingston <doclivingston@gmail.com>
2688 patch by: Alex Lancaster <alexl@users.sourceforge.net>
2690 * widgets/rb-entry-view.c: (rb_entry_view_init),
2691 (rb_entry_view_finalize), (rb_entry_view_constructor): use the Play
2692 and Pause icons rather than the volume ones in the Now Playing column.
2695 2006-04-08 James Livingston <doclivingston@gmail.com>
2697 * bindings/python/override_common.h:
2698 * bindings/python/rb.override:
2699 * bindings/python/rhythmdb.override: bind some more functions
2701 2006-04-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
2703 * metadata/rb-metadata-dbus-service.c: (_send_error):
2704 Send NULL error messages as empty strings, so _NOT_AUDIO_IGNORE errors
2705 are sent properly and we don't get 'method doesn't exist' messages
2708 2006-04-08 James Livingston <doclivingston@gmail.com>
2710 * bindings/python/override_common.h:
2711 * bindings/python/override_common.c: (_helper_wrap_pointer_glist),
2712 (_helper_wrap_boxed_glist), (_helper_unwrap_string_pylist): add some
2713 more utility functions for C<->Python conversions
2715 * widgets/rb-entry-view.c: (rb_entry_view_column_get_type),
2716 (rb_entry_view_state_get_type):
2717 * widgets/rb-entry-view.h: make the colume type and entry view state
2720 * bindings/python/Makefile.am:
2721 * bindings/python/rb.defs:
2722 * bindings/python/rb.override: bind RBEntryView, RBPropertyView and
2725 2006-04-08 James Livingston <doclivingston@gmail.com>
2727 * backends/gstreamer/rb-encoder-gst.c: (bus_watch_cb): add a missing
2728 initialiser for a GError
2730 * sources/rb-source.c: (rb_source_eof_type_get_type):
2731 * sources/rb-source.h: add a GType for RBSourceEOFType
2733 * bindings/python/Makefile.am:
2734 * bindings/python/rb.defs:
2735 * bindings/python/rb.override: bind RBSource and RBSourceList
2737 2006-04-07 Jonathan Matthew <jonathan@kaolin.wh9.net>
2739 * shell/rb-shell-player.c: (rb_shell_player_class_init),
2740 (rb_shell_player_get_property),
2741 (rb_shell_player_get_active_source),
2742 (rb_shell_player_set_playing_source_internal):
2743 * shell/rb-shell-player.h:
2744 Change 'playing-from-queue' from being a signal to being a property.
2746 * shell/rb-shell.c: (rb_shell_constructor),
2747 (rb_shell_playing_from_queue_cb),
2748 (rb_shell_view_queue_as_sidebar_changed_cb),
2749 (rb_shell_jump_to_entry_with_source):
2750 When the queue side pane is used, make 'jump to current' jump to the
2751 entry in the registered source for its type, rather than in the queue,
2752 and show it as playing in that source.
2754 * sources/rb-sourcelist.c: (rb_sourcelist_set_playing_source):
2755 * sources/rb-sourcelist.h:
2756 Remove the 'preempted source' stuff, since it wasn't doing anything
2759 2006-04-07 Jonathan Matthew <jonathan@kaolin.wh9.net>
2761 * podcast/rb-podcast-manager.c: (rb_podcast_manager_copy_post),
2762 (download_progress_cb): Canonicalise downloaded file location before
2763 setting the mountpoint property of the corresponding entry.
2764 Fixes #337287 and a couple of memory leaks.
2766 2006-04-06 Jonathan Matthew <jonathan@kaolin.wh9.net>
2768 * metadata/rb-metadata-dbus-service.c: (test_can_save),
2769 (test_load), (main): Call g_set_prgname, report errors more
2770 usefully in test mode.
2771 * metadata/rb-metadata-gst.c: (rb_metadata_gst_typefind_cb),
2772 (rb_metadata_load): Don't ignore the have-type signal for non-audio
2773 files. Run the event loop when the state change fails so we get the
2774 error messages from the bus. Fixes #336921.
2776 2006-04-05 William Jon McCann <mccann@jhu.edu>
2778 * data/art/Makefile.am: Install media-eject.
2780 * lib/rb-stock-icons.c (rb_stock_icons_init): Check
2781 return value of rb_file.
2785 2006-04-05 Jonathan Matthew <jonathan@kaolin.wh9.net>
2787 Patch by: William Jon McCann <mccann@jhu.edu>
2789 * metadata/test-metadata.c: (main): Use GOption to parse arguments.
2790 * podcast/rb-podcast-manager.c: (rb_podcast_manager_save_metadata):
2793 2006-04-04 William Jon McCann <mccann@jhu.edu>
2795 * backends/gstreamer/rb-encoder-gst.c (add_tags_from_entry):
2796 Don't try to add a date when we don't have one. Fixes #336741.
2798 Also fix variable declaration in middle of block.
2800 2006-04-04 Jonathan Matthew <jonathan@kaolin.wh9.net>
2802 * shell/rb-shell-player.c: (rb_shell_player_playpause):
2803 Don't crash if source is already NULL. Hackishly fixes bug #336912.
2805 2006-04-02 James Livingston <doclivingston@gmail.com>
2807 * metadata/rb-metadata-gst.c: (rb_metadata_gst_typefind_cb): fix the
2808 inverted logic causing imports to fail.
2810 2006-04-02 Jonathan Matthew <jonathan@kaolin.wh9.net>
2812 * shell/main.c: (main): Fix dbusless build.
2814 2006-04-02 Christophe Fergeau <teuf@gnome.org>
2816 * player/rb-recorder-gst.c: fix packing of the C struct holding a
2817 wav header for non-gcc compilers (not tested much, was only written
2820 2006-04-02 Jonathan Matthew <jonathan@kaolin.wh9.net>
2822 * shell/main.c: (main): Check if we got a dbus connection before
2823 trying to create a proxy for the shell object. Fixes #336634.
2825 2006-04-02 Jonathan Matthew <jonathan@kaolin.wh9.net>
2827 * doc/reference/Makefile.am:
2828 * plugins/lirc/rb-lirc-plugin.c: (rb_lirc_plugin_class_init):
2829 * shell/rb-source-header.c:
2830 * sources/rb-generic-player-source.c:
2831 (default_transform_playlist_uri):
2832 Fix various build issues. Patch approximately 50% by Alex Lancaster
2833 <alexl@users.sourceforge.net>
2835 2006-04-02 Jonathan Matthew <jonathan@kaolin.wh9.net>
2837 * configure.ac: Detect LIRC.
2839 * plugins/Makefile.am:
2840 * plugins/lirc/Makefile.am:
2841 * plugins/lirc/lirc.rb-plugin.desktop.in:
2842 * plugins/lirc/rb-lirc-plugin.c:
2845 * shell/Makefile.am, shell/rb-remote.c, shell/rb-remote.h:
2846 Remove obsolete files.
2848 2006-04-02 James Livingston <doclivingston@gmail.com>
2850 * sources/rb-generic-player-source.c:
2851 (default_transform_playlist_uri): consider playlist paths as relative
2852 to the volume root by default, since that is what most players use.
2854 2006-04-02 James Livingston <doclivingston@gmail.com>
2856 * lib/rb-util.c: (rb_mime_get_friendly_name):
2857 * lib/rb-util.h: add helper function to get the "friendly" name for a
2860 * metadata/rb-metadata-gst.c: (rb_metadata_init),
2861 (rb_metadata_gst_typefind_cb), (rb_metadata_gst_unknown_type_cb): give
2862 the user better error messages about undecodable streams, using the
2863 "friendly" name if possible. Fixes bug 128109.
2865 2006-04-02 James Livingston <doclivingston@gmail.com>
2867 * backends/gstreamer/rb-encoder-gst.c: (progress_timeout_cb),
2868 (start_pipeline): fix building with gstreamer 0.8
2870 2006-04-02 James Livingston <doclivingston@gmail.com>
2872 * sources/rb-podcast-source.c: (impl_delete),
2873 (rb_podcast_source_cmd_delete_feed),
2874 (rb_podcast_source_cmd_update_feed): copy the list before traversing
2875 it, since it may change during traversal. Fixes bug 336204.
2877 2006-04-01 James Livingston <doclivingston@gmail.com>
2879 * data/art/media-eject.png: add the media-eject icon from Banshee
2880 (BSD-licensed), for use when the user's icon theme doesn't have one.
2882 * lib/rb-stock-icons.c: (rb_stock_icons_init): use the above. Fixes
2885 2006-04-01 James Livingston <doclivingston@gmail.com>
2887 * shell/rb-shell-player.h:
2888 * shell/rb-shell-player.c: (rb_shell_player_play),
2889 (rb_shell_player_stop), (rb_shell_player_pause), (filter_mmkeys): add
2890 new rb_shell_player_{play,pause} functions, so everyone doesn't have
2891 to do rb_shell_player_playing followed by rb_shell_player_playpause.
2893 * shell/rb-shell.c: (rb_shell_sync_smalldisplay),
2894 (rb_shell_get_playlist_manager_path), (rb_shell_get_ui_manager):
2895 * shell/rb-shell.h: add rb_shell_get_ui_manager.
2897 * bindings/python/rb.defs: bind the above to Python, and remove some
2898 useless stuff from the bindings.
2900 2006-04-01 James Livingston <doclivingston@gmail.com>
2902 * backends/gstreamer/rb-encoder-gst.c: (add_tags_from_entry): add disc
2906 * shell/rb-shell.h: export rb_shell_get_source_by_entry_type.
2908 * sources/rb-daap-source.c: (rb_daap_source_class_init): set _can_copy
2911 * sources/rb-iradio-source.c: (rb_iradio_source_class_init):
2912 * sources/rb-podcast-source.c: (rb_podcast_source_class_init): reorder
2913 method assigning, so it's understandable
2915 * sources/rb-library-source.c: (rb_library_source_class_init),
2916 (impl_paste): rather than hard-coding the types to ignore, use
2919 2006-03-31 Jonathan Matthew <jonathan@kaolin.wh9.net>
2921 * sources/rb-library-source.c:
2922 (rb_library_source_preferences_sync):
2923 Don't crash if no audio profile is selected and the gconf schemas are
2926 2006-03-31 James Livingston <doclivingston@gmail.com>
2928 * plugins/rb-python-module.c: (rb_python_module_load): add a missing
2929 "*" which caused compilation to fail
2931 2006-03-31 James Livingston <doclivingston@gmail.com>
2935 * backends/Makefile.am:
2936 * backends/gstreamer/Makefile.am:
2937 * backends/gstreamer/rb-encoder-gst.c:
2938 * backends/gstreamer/rb-encoder-gst.h:
2939 * backends/rb-encoder.c:
2940 * backends/rb-encoder.h: add a interface for transcoding, and a
2941 GStreamer implementation of it (based on Sound-Juicer's code).
2943 * shell/Makefile.am:
2944 * shell/rb-removable-media-manager.c:
2945 (rb_removable_media_manager_class_init),
2946 (rb_removable_media_manager_init),
2947 (rb_removable_media_manager_dispose),
2948 (rb_removable_media_manager_finalize),
2949 (rb_removable_media_manager_scan), (emit_progress), (error_cb),
2950 (progress_cb), (completed_cb), (do_transfer),
2951 (rb_removable_media_manager_queue_transfer), (copy_entry),
2952 (rb_removable_media_manager_cmd_copy_tracks):
2953 * shell/rb-removable-media-manager.h: use the encoder interface to
2954 perform transfers of entries to other locations
2956 * shell/rb-shell-player.c: (open_location_thread):
2957 * shell/rb-shell.c: (rb_shell_class_init), (rb_shell_get_property),
2958 (rb_shell_constructor), (rb_shell_transfer_progress_cb),
2960 * shell/rb-statusbar.c: (rb_statusbar_set_progress): display transfer
2961 progress in the status bar.
2963 * shell/rb-shell-preferences.c: (rb_shell_preferences_init),
2964 (rb_shell_preferences_sync),
2965 (rb_shell_preferences_browser_views_activated_cb):
2966 * data/glade/general-prefs.glade: move the browser views setting from
2967 the library tab to the general one.
2969 * data/glade/library-prefs.glade: add settings for the layout of the
2970 user's library, and their preferred encoding format (e.g. for CD
2973 * lib/rb-preferences.h:
2974 * data/rhythmbox.schemas: add keys for the above options (and a few
2977 * rhythmdb/rhythmdb.c: (rhythmdb_entry_example_new):
2978 * rhythmdb/rhythmdb.h: add a new function for creating an "example"
2979 entry, that isn't inserted into the database.
2981 * sources/rb-audiocd-source.c: (rb_audiocd_source_class_init),
2982 (rb_audiocd_create_track_entry):
2983 * data/ui/rhythmbox-ui.xml: add a toolbar button for ripping audio
2984 cds, and set the mime-type of audio cd tracks correctly.
2986 * sources/rb-library-source.c: (rb_library_source_class_init),
2987 (rb_library_source_finalize),
2988 (rb_library_source_edit_profile_clicked_cb),
2989 (impl_get_config_widget), (rb_library_source_preferences_sync),
2990 (impl_receive_drag), (rb_library_source_path_changed_cb),
2991 (rb_library_source_filename_changed_cb),
2992 (rb_library_source_format_changed_cb), (sanitize_path),
2993 (filepath_parse_pattern), (layout_example_label_update),
2994 (rb_library_source_layout_path_changed),
2995 (rb_library_source_layout_filename_changed), (build_filename),
2996 (impl_can_paste), (completed_cb), (impl_paste): allow the copying of
2997 entries to the library. Large chunks of code for determining the
2998 destination file name stolen from Sound-Juicer.
3000 * sources/rb-sourcelist-model.c: (path_is_droppable):
3001 * shell/rb-shell-clipboard.c: (rb_shell_clipboard_sync):
3002 * sources/rb-static-playlist-source.c:
3003 (rb_static_playlist_source_class_init):
3004 * sources/rb-removable-media-source.c:
3005 (rb_removable_media_source_class_init):
3006 * sources/rb-source.c: (rb_source_class_init), (rb_source_can_cut),
3007 (rb_source_can_paste):
3008 * sources/rb-source.h: add a new _can_paste method, and use it (rather
3009 than _can_copy) to determine whether we can paste into the source.
3012 2006-03-31 Steve Frécinaux <steve@istique.net>
3014 * plugins/rb-python-module.c: allow import of python modules with a '.'
3015 (gedit's bug 336403). Patch by Johan Dahlin.
3017 2006-03-31 James Livingston <doclivingston@gmail.com>
3019 * sources/rb-library-source.c:
3020 * sources/rb-library-source.h:
3021 * sources/rb-browser-source.c:
3022 * sources/rb-browser-source.h: Split RBLibrarySource into two.
3023 RBBrowserSource now contains all the stuff for having a source which
3024 views a particular entry type (including browsers and searching).
3025 RBLibrarySource derives from this, and includes the library-specific
3026 stuff, like importing and library watching. Fixes some issues where
3027 library-derived sources were doing things that should be
3028 library-specific. Fixes bug 335185.
3030 * data/ui/rhythmbox-ui.xml:
3031 * sources/Makefile.am: modifications for the above
3033 * sources/rb-daap-source.c: (rb_daap_source_class_init),
3034 (rb_daap_source_get_paned_key):
3035 * sources/rb-daap-source.h:
3036 * sources/rb-ipod-source.c: (rb_ipod_source_constructor):
3037 * sources/rb-removable-media-source.c:
3038 (rb_removable_media_source_class_init):
3039 * sources/rb-removable-media-source.h: derive from RBBrowserSource
3040 instead of RBLibrarySource.
3042 2006-03-31 James Livingston <doclivingston@gmail.com>
3044 * rhythmdb/rhythmdb-query-model.c: use guin64 instead of guint, which
3045 I buggered up when changing from GnomeVFSFileSize.
3047 2006-03-30 James Livingston <doclivingston@gmail.com>
3049 * configure.ac: lower pygtk deps to 2.6, and add a makefile variable
3052 * bindings/python/rb.override:
3053 * bindings/python/Makefile.am: make the RB python bindings depend on
3054 the RhythmDB ones, and use "-Wno-error" since the machine-generated
3055 code sometimes emits warnings.
3057 * shell/rb-shell-player.c: (rb_shell_player_class_init),
3058 (rb_shell_player_error_get_type):
3059 * shell/rb-shell-player.h:
3060 * bindings/python/rb.defs: add bindings for RBShellPlayer
3062 * rhythmdb/rhythmdb.c: (rhythmdb_init),
3063 (rhythmdb_query_type_get_type), (rhythmdb_prop_type_get_type),
3064 (rhythmdb_entry_get_type), (rhythmdb_query_get_type):
3065 * rhythmdb/rhythmdb.h:
3066 * shell/rb-shell.c: (rb_shell_get_song_properties):
3067 * widgets/rb-entry-view.c: (propid_from_name):
3068 * widgets/rb-property-view.c: (rb_property_view_class_init):
3069 * bindings/python/rhythmdb.defs: make RhythmDBQuery a type (rather
3070 than just plain GPtrArray, and add bindings for it.
3072 * bindings/python/rhythmdb.override: wrap some functions that use
3075 2006-03-30 Jonathan Matthew <jonathan@kaolin.wh9.net>
3077 * rhythmdb/rhythmdb.c: (rhythmdb_process_metadata_load):
3078 Only watch directories from which entries of type SONG have been
3081 2006-03-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
3083 * widgets/rb-library-browser.c: (rb_library_browser_set_selection):
3084 No need to restore the selection after rebuilding the child model,
3085 since that can't have changed the selection.
3087 2006-03-29 James Livingston <doclivingston@gmail.com>
3089 * bindings/python/override_common.c:
3090 * bindings/python/override_common.h: add some for missing files to
3093 2006-03-29 James Livingston <doclivingston@gmail.com>
3096 * bindings/python/Makefile.am: remove usage of gtksourceview, it was
3097 copied from gedit's autofoo and we don't need it
3099 * bindings/python/rhythmdb.defs:
3100 * bindings/python/rhythmdb.override: add missing files to cvs
3102 2006-03-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
3104 * data/ui/rhythmbox-ui.xml: Add 'add to queue' menu item.
3105 * metadata/rb-metadata-dbus-service.c: (main): Call rb_debug_init
3106 before running any of the debug/test modes.
3107 * plugins/rb-plugins-engine.c: (rb_plugins_engine_load_all):
3108 Make plugin loading work when running uninstalled from the shell/
3111 2006-03-29 James Livingston <doclivingston@gmail.com>
3113 * rhythmdb/rhythmdb-property-model.c:
3114 (rhythmdb_property_model_sync),
3115 (rhythmdb_property_model_column_get_type):
3116 * rhythmdb/rhythmdb-property-model.h: make the column enum a GType
3118 * rhythmdb/rhythmdb-private.h:
3119 * rhythmdb/rhythmdb-query-model.c:
3120 (rhythmdb_query_model_class_init):
3121 * rhythmdb/rhythmdb-query-model.h:
3122 * rhythmdb/rhythmdb.c: (rhythmdb_class_init),
3123 (rhythmdb_compute_status_normal), (rhythmdb_get_property_type),
3124 (rhythmdb_entry_get_type):
3125 * rhythmdb/rhythmdb.h: make RhythmDBEntry a GType.
3127 * widgets/rb-query-creator-properties.c:
3128 * widgets/rb-song-display-box.c: #include <gnome-vfs-utils.h>, which
3131 * bindings/python/Makefile.am:
3132 * bindings/python/rb.defs:
3133 * bindings/python/rb.override:
3134 * plugins/rb-python-module.c: (rb_python_module_init_python): add
3135 Python bindings for RhythmDB.
3137 2006-03-29 James Livingston <doclivingston@gmail.com>
3139 * shell/rb-shell.c: (rb_shell_constructor): don't activate DAAP
3140 sharing when using --no-registration
3142 2006-03-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
3144 * rhythmdb/rhythmdb-query-model.c:
3145 (rhythmdb_query_model_reapply_query):
3146 Don't remove entries while iterating, as it breaks the sequence
3147 nodes. Instead, collect a list of removed entries and process it
3148 after iterating the sequence. Fixes #334642.
3150 2006-03-29 James Livingston <doclivingston@gmail.com>
3152 * plugins/rb-plugin-manager.c: (active_toggled_cb),
3153 (row_activated_cb), (plugin_manager_toggle_all):
3154 * sources/rb-sourcelist.c: (rb_sourcelist_source_to_iter),
3155 (rb_sourcelist_visible_source_to_iter), (row_activated_cb),
3156 (button_press_cb), (source_name_edited_cb):
3157 * widgets/rb-property-view.c: (rb_property_view_set_property),
3158 (rb_property_view_post_row_deleted_cb),
3159 (rb_property_view_row_activated_cb),
3160 (rb_property_view_selection_changed_cb),
3161 (rb_property_view_button_press_cb): fix warnings with GTK HEAD, about
3162 ignoring the return value of gtk_tree_model_get_iter. Fixes bug 335516.
3164 2006-03-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
3166 * rhythmdb/rhythmdb-query-model.c:
3167 (rhythmdb_query_model_drag_data_received):
3168 Increment the reference count for entries added by drag and drop.
3171 2006-03-27 Jonathan Matthew <jonathan@kaolin.wh9.net>
3173 * daapsharing/rb-daap-connection.c: (entry_set_string_prop):
3174 * metadata/rb-metadata-gst.c: (rb_metadata_gst_load_tag):
3175 Ignore invalid UTF-8 strings. Fixes most of #334167.
3177 2006-03-27 James Livingston <doclivingston@gmail.com>
3179 * shell/rb-shell.c: (rb_shell_constructor),
3180 (rb_shell_sync_window_state): fix a maximise-realise race that would
3181 cause some widgets to be resized after we had explicity set theri
3182 size. Hopefully fixes bug 331927.
3184 2006-03-27 James Livingston <doclivingston@gmail.com>
3186 * plugins/rb-plugin-manager.c: (active_toggled_cb),
3187 (row_activated_cb), (plugin_manager_set_active),
3188 (plugin_manager_toggle_active), (plugin_manager_toggle_all): update
3189 configure button sensitivity when a plugin is enabled/disabled.
3191 2006-03-27 James Livingston <doclivingston@gmail.com>
3193 * data/glade/plugins.glade: turn from a GtkDialog to a GtkWindow to
3194 stop warnings, only the vbos is used anyway
3196 * plugins/rb-plugins-engine.c: (garbage_collect_cb),
3197 (rb_plugins_engine_init), (rb_plugins_engine_shutdown): run gabage
3198 collection every now an then.
3200 * plugins/rb-python-plugin.c: (rb_python_object_finalize): don't crash
3201 if we are finalising because the python object couldn't be created.
3203 * plugins/rb-python-module.c: (rb_python_module_new_object): return
3204 NULL if the python-side object couldn't be created. Stops crashes when
3205 the object is later used when it doesn't exist in Python.
3207 (run_gc), (rb_python_garbage_collect), (finalise_collect_cb),
3208 (rb_python_shutdown): do better garbage collection when shutting down.
3209 Fixes the problem where Python was holding a reference to the shell,
3210 causing RB not to exit.
3212 2006-03-27 James Livingston <doclivingston@gmail.com>
3214 * configure.ac: don't define HAVE_LIBSOUP when we don't. Fixes bug
3217 2006-03-27 James Livingston <doclivingston@gmail.com>
3219 * data/iradio-initial.pls: Change the AfterHours DJ stream address.
3222 2006-03-26 James Livingston <doclivingston@gmail.com>
3224 * rhythmdb/rhythmdb.c: (rhythmdb_sync_library_location): set the
3225 library location list to NULL after we free it. Fixes bug 336047.
3227 2006-03-26 James Livingston <doclivingston@gmail.com>
3229 patch by: Alex Lancaster <alexl@users.sourceforge.net>
3231 * sources/rb-audiocd-source.c: use the release-date that MusicBrainz
3232 supplies. Fixes bug 335947.
3234 2006-03-25 James Livingston <doclivingston@gmail.com>
3236 * data/glade/audioscrobbler-prefs.glade:
3237 * shell/rb-audioscrobbler.c:
3238 (rb_audioscrobbler_enabled_check_changed_cb): move and rename the
3239 "submit songs" checkbox, and make it not disable username/password
3240 entry. This will be needed when we support other last.fm stuff
3241 (profile access, radio, etc).
3243 2006-03-24 Dennis Cranston <dennis_cranston@yahoo.com>
3245 * widgets/bacon-volume.c: (bacon_volume_scale_value_changed):
3246 Volume should not display stock_volume-0 for volume > 0. Fixes bug
3249 2006-03-24 James Livingston <doclivingston@gmail.com>
3251 * shell/rb-shell-player.c: (rb_shell_player_set_property),
3252 (rb_shell_player_sync_play_order),
3253 (rb_shell_player_play_order_update_cb),
3254 (actually_set_playing_source): update the next/previous availablility
3255 in places where it was missing. Fixes bug 335490.
3257 2006-03-24 James Livingston <doclivingston@gmail.com>
3259 * lib/rb-glade-helpers.c: (rb_glade_boldify_label): don't crash if we
3260 can't find the widget
3262 * lib/rb-util.c: (rb_uri_list_parse):
3263 * lib/rb-util.h: add function for parsing a URI list into strings.
3265 * metadata/Makefile.am: make the metdata helper build when linking
3268 * podcast/rb-podcast-manager.c: (rb_podcast_manager_copy_post): use
3269 g_mkdir_with_parents instead of coding our own.
3271 * podcast/rb-podcast-parse.c: (rb_set_channel_value): prefer
3272 <itunes:author> over <generator>, instead of using whichever comes
3275 * rhythmdb/rhythmdb-private.h:
3276 * rhythmdb/rhythmdb.c: (rhythmdb_entry_allocate): remove the "magic"
3277 field, as we don't ever check it (to detect corruption). Saves a bit
3280 2006-03-24 Jonathan Matthew <jonathan@kaolin.wh9.net>
3282 * lib/rb-file-helpers.c: (escape_extra_gnome_vfs_chars),
3283 (rb_uri_handle_recursively_cb), (rb_canonicalise_uri):
3284 Escape '&' and '=' in the paths we get back from
3285 gnome_vfs_directory_visit. Fixes #333998 a bit more.
3287 2006-03-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
3289 * shell/rb-shell.c: (rb_shell_constructor):
3290 Issue startup notification after creating the main window, so
3291 notification is issued whether the window is visible or not.
3294 2006-03-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
3296 * sources/rb-auto-playlist-source.c: (impl_search),
3297 (rb_auto_playlist_source_query_complete_cb),
3298 (rb_auto_playlist_source_do_query):
3299 * sources/rb-library-source.c: (impl_search),
3300 (rb_library_source_query_complete_cb),
3301 (rb_library_source_do_query):
3302 Defer subset searches (where text is appended to an existing search)
3303 until the original query is complete.
3305 2006-03-21 Ryan P Skadberg <skadz@stigmata.org>
3307 patch by: Jonathan Matthew <jonathan@kaolin.wh9.net>
3309 * rhythmdb/rb-refstring.c: (rb_refstring_get_folded),
3310 (rb_refstring_get_sort_key): fixes for strict-aliasing
3312 2006-03-21 James Livingston <jrl@ids.org.au>
3314 * shell/rb-shell.c: (rb_shell_load_uri): don't add a new playlist when
3315 importing a single file. Fixes bug 335307.
3317 2006-03-21 James Livingston <jrl@ids.org.au>
3319 * shell/Makefile.am: remove the reference to backends/ that I
3320 accidently included.
3322 2006-03-21 James Livingston <jrl@ids.org.au>
3324 patch by: Brian Cameron <brian.cameron@sun.com> to fix comilation
3325 with Forte (on Solaris). Closes bug 335318.
3329 * player/rb-recorder-gst.c:
3330 * podcast/rb-podcast-parse.c:
3331 * remote/bonobo/Makefile.am:
3332 * remote/rb-remote-proxy.c: (rb_remote_proxy_set_repeat):
3333 * rhythmdb/rhythmdb-query-model.c: (idle_process_update),
3334 (rhythmdb_query_model_add_entry),
3335 (rhythmdb_query_model_add_results):
3336 * rhythmdb/rhythmdb.c: (rhythmdb_entry_foreach):
3337 * rhythmdb/rhythmdb.h:
3338 * shell/Makefile.am:
3339 * sources/rb-playlist-source-recorder.c: (get_write_speeds),
3340 (update_speed_combobox):
3341 * sources/rb-sourcelist-model.c:
3343 2006-03-21 James Livingston <jrl@ids.org.au>
3345 Patch by: Alex Lancaster <alexl@users.sourceforge.net>
3347 * player/Makefile.am:
3348 * shell/Makefile.am: work correctly with a separate build root.
3350 2006-03-21 James Livingston <jrl@ids.org.au>
3352 * rhythmdb/rhythmdb.c: (rhythmdb_monitor_uri_path): don't crash if we
3355 2006-03-21 Jonathan Matthew <jonathan@kaolin.wh9.net>
3357 * rhythmdb/rhythmdb.c: (rhythmdb_add_import_error_entry):
3358 Only create ignore entries when importing into the library.
3359 Ignore entries for files in removable media sources don't help.
3361 2006-03-21 Jonathan Matthew <jonathan@kaolin.wh9.net>
3363 * shell/rb-source-header.c: (rb_source_header_focus_search_box):
3364 * shell/rb-source-header.h:
3365 * widgets/rb-search-entry.c: (rb_search_entry_grab_focus):
3366 * widgets/rb-search-entry.h:
3367 Add functions to make the search box grab focus.
3369 * shell/rb-shell.c: (rb_shell_cmd_view_all):
3370 Focus the search box after handling the 'view all' action.
3372 2006-03-20 Jonathan Matthew <jonathan@kaolin.wh9.net>
3374 * rhythmdb/rhythmdb.h:
3375 * rhythmdb/rhythmdb.c: (rhythmdb_init),
3376 (rhythmdb_execute_multi_stat_info_cb),
3377 (rhythmdb_start_action_thread), (rhythmdb_execute_stat_info_cb),
3378 (rhythmdb_execute_stat), (queue_stat_uri), (rhythmdb_execute_load),
3379 (action_thread_main):
3380 Collect all the get_file_info requests on startup into one gnome-vfs
3381 job to reduce overhead and avoid contention for the rhythmdb lock.
3382 Add a new method to call when all initial query models are set up.
3384 * shell/rb-shell.c: (idle_handle_load_complete):
3385 Call rhythmdb startup complete function when we've loaded all the
3386 playlists. Fixes #334106.
3388 2006-03-20 James Livingston <jrl@ids.org.au>
3390 * widgets/rb-entry-view.c: (rb_entry_view_set_property),
3391 (rb_entry_view_selection_changed_cb),
3392 (rb_entry_view_have_complete_selection): make has_complete_selection
3393 not slow. Fixes a performance issue I added a week or so ago.
3395 2006-03-20 James Livingston <jrl@ids.org.au>
3397 * shell/rb-shell-player.c: (volume_pre_unmount_cb): check for NULL
3398 before passing to strcmp. From bug 334559.
3400 2006-03-20 Jonathan Matthew <jonathan@kaolin.wh9.net>
3404 * lib/rb-proxy-config.c:
3405 * lib/rb-proxy-config.h:
3406 Add a new object to watch the HTTP proxy configuration and emit
3407 signals when it changes.
3409 * shell/rb-audioscrobbler.c:
3410 * shell/rb-audioscrobbler.h:
3411 Use rb-proxy-config to watch HTTP proxy configuration.
3414 Construct rb-proxy-config object on startup, and remove all
3415 audioscrobbler references.
3417 * shell/Makefile.am:
3418 * plugins/audioscrobbler/Makefile.am:
3419 * plugins/audioscrobbler/rb-audioscrobbler-plugin.c:
3420 Move all audioscrobbler code into the plugin. We should move
3421 rb-audioscrobbler.* from shell/ to plugins/audioscrobbler/ at some
3422 point. Don't use a private data structure in the plugin, since the
3423 class definition isn't in a header file. Fixes #335091.
3425 2006-03-20 James Livingston <jrl@ids.org.au>
3427 * shell/rb-shell-player.c: (rb_shell_player_play_order_update_cb):
3428 don't enable Next if the source has an EOS type other than
3429 RB_SOURCE_EOF_NEXT. Fixes bug 315120.
3431 2006-03-20 James Livingston <jrl@ids.org.au>
3433 * widgets/rb-song-info.c: (rb_song_info_backward_clicked_cb),
3434 (rb_song_info_forward_clicked_cb): deal with there being no
3435 next/previous entry.
3437 (rb_song_info_query_model_inserted_cb),
3438 (rb_song_info_query_model_deleted_cb),
3439 (rb_song_info_query_model_reordered_cb),
3440 (rb_song_info_query_model_changed_cb): monitor the query for changes,
3441 to update the button status. Fixes bug 333293.
3443 2006-03-20 James Livingston <jrl@ids.org.au>
3445 * shell/rb-shell.c: (rb_shell_set_visibility): fix minor sizing issue
3446 caused by my last commit
3448 2006-03-20 James Livingston <jrl@ids.org.au>
3450 * bindings/python/Makefile.am:
3451 * bindings/python/rb.defs:
3452 * bindings/python/rb.override: add python bindings of RBRemoteProxy
3454 * shell/rb-shell.c: (rb_shell_constructor),
3455 (rb_shell_set_visibility), (rb_shell_window_delete_cb): change
3456 tray-icon detection slightly
3458 2006-03-19 Steve Frécinaux <steve@istique.net>
3460 * data/ui/rhythmbox-ui.xml:
3463 Add an empty Tool Menu (hidden by default) containing placeholders for
3467 * plugins/Makefile.am:
3468 * plugins/pythonconsole/Makefile.am:
3469 * plugins/pythonconsole/pythonconsole.py:
3470 * plugins/pythonconsole/pythonconsole.rb-plugin.desktop.in:
3472 Python Console plugin
3474 2006-03-19 Jonathan Matthew <jonathan@kaolin.wh9.net>
3476 * lib/rb-file-helpers.c: (rb_canonicalise_uri):
3477 Extra step to encode '&' and '=' to match what gnome-vfs does
3479 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_start_element),
3480 (rhythmdb_tree_save):
3481 Increment rhythmdb xml version to 1.2, and force another uri
3482 re-canonicalisation when loading v1.1 databases.
3485 2006-03-19 Jonathan Matthew <jonathan@kaolin.wh9.net>
3487 * daapsharing/rb-daap-mdns-browser-avahi.c: (client_cb),
3488 (avahi_client_init), (browse_cb):
3489 * daapsharing/rb-daap-mdns-publisher-avahi.c: (client_cb),
3490 (avahi_client_init):
3491 Fix compilation with Avahi 0.5.x (bug #334551).
3493 2006-03-19 James Livingston <jrl@ids.org.au>
3495 Add Increase/Decrease Volume menu items and keybindings. From bug
3498 * data/ui/rhythmbox-ui.xml:
3499 * shell/rb-shell-player.c: (rb_shell_player_constructor),
3500 (rb_shell_player_init), (rb_shell_player_cmd_volume_up),
3501 (rb_shell_player_cmd_volume_down), (rb_shell_player_sync_volume):
3503 2006-03-19 James Livingston <jrl@ids.org.au>
3505 patch by: Mikhail Zabaluev <mhz@altlinux.org>
3507 * shell/Makefile.am: fix the link order, so that we compile with
3508 "LDFLAGS=-Wl,--as-needed". Fixes bug 334852.
3510 2006-03-19 James Livingston <jrl@ids.org.au>
3512 patch by: Adam Petaccia <adam@tpetaccia.com>
3514 * data/ui/rhythmbox-ui.xml: move preferences below "configure
3515 plugins". Fixes bug 335037.
3517 2006-03-18 James Livingston <jrl@ids.org.au>
3519 * rhythmdb/rb-refstring.c: (rb_refstring_get_folded),
3520 (rb_refstring_get_sort_key): fix type-punning warnings. Closes bug
3523 * widgets/rb-header.c: don't make artist/album info in the header the
3524 small size, since it's hard to read.
3526 2006-03-16 William Jon McCann <mccann@jhu.edu>
3528 * rhythmdb/rhythmdb.c (rhythmdb_init): Make deleted_entries a hash.
3529 (rhythmdb_finalize): Don't leak the hash tables.
3530 (rhythmdb_emit_entries_deleted_idle, process_deleted_entries_cb)
3531 (rhythmdb_commit_internal): Make sure to process the deletions.
3532 (rhythmdb_entry_delete): Use a hash.
3534 * podcast/rb-podcast-manager.c: Random analness about char*
3535 (rb_podcast_manager_remove_feed): Add debugging.
3536 (rb_podcast_manager_db_entry_deleted_cb): Ditto. Check
3537 the result of gnome_vfs_unlink. Don't leak a uri.
3541 2006-03-18 James Livingston <jrl@ids.org.au>
3543 * NEWS: update NEWS file
3545 2006-03-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
3547 * rhythmdb/rhythmdb-property-model.c:
3548 (rhythmdb_property_model_prop_changed_cb):
3549 Remove entries from the hash table after processing visible->hidden
3552 2006-03-16 William Jon McCann <mccann@jhu.edu>
3554 * sources/rb-daap-source.c (connection_connected_cb)
3555 (connection_disconnected_cb): Add debug.
3556 (rb_daap_source_get_headers): Check for NULL connection.
3558 * daapsharing/rb-daap-src.c (rb_daap_src_open):
3559 Check return value of rb_daap_source_get_headers.
3563 2006-03-16 Jonathan Matthew <jonathan@kaolin.wh9.net>
3565 * widgets/rb-library-browser.c: (rb_library_browser_set_selection):
3566 Restore the selection after rebuilding the child model, so the
3567 selection is shown correctly after using the 'browse this
3568 album/artist/genre' menu items.
3570 2006-03-15 Jonathan Matthew <jonathan@kaolin.wh9.net>
3572 * widgets/rb-entry-view.c: (rb_entry_view_set_property):
3573 Clear the selection before changing the active model.
3574 Fixes crash reported in bug 334549.
3576 2006-03-15 James Livingston <jrl@ids.org.au>
3578 * shell/rb-tray-icon.c: (rb_tray_icon_constructor),
3579 (rb_tray_icon_sync_action):
3580 * widgets/eggtrayicon.c: (egg_tray_icon_send_message),
3581 (egg_tray_icon_cancel_message), (egg_tray_icon_notify): remove support
3582 for non-libnotify notification bubbles. Fixes bug 331721.
3584 2006-03-15 James Livingston <jrl@ids.org.au>
3586 Add search-bar options to playlists. Fixes bug 334407.
3588 * sources/rb-auto-playlist-source.c:
3589 (rb_auto_playlist_source_class_init),
3590 (rb_auto_playlist_source_constructor),
3591 (rb_auto_playlist_source_do_query), (impl_get_search_actions),
3592 (search_action_to_prop), (search_action_changed):
3593 * sources/rb-static-playlist-source.c:
3594 (rb_static_playlist_source_class_init),
3595 (rb_static_playlist_source_constructor),
3596 (construct_query_from_selection), (impl_get_search_actions),
3597 (search_action_to_prop), (search_action_changed):
3599 2006-03-14 William Jon McCann <mccann@jhu.edu>
3601 * shell/rb-source-header.c (rb_source_header_set_source_internal):
3602 Remove broken attempt at making the search bar buttons not
3603 homogeneous. It wasn't working and was causing some UI sizing weirdness.
3605 2006-03-14 William Jon McCann <mccann@jhu.edu>
3607 * sources/rb-static-playlist-source.c (rb_static_playlist_source_dispose):
3608 Chain up to parent's dispose instead of finalize. Fixes #334479.
3610 2006-03-14 William Jon McCann <mccann@jhu.edu>
3612 * widgets/rb-header.c (rb_header_sync): Escape album and
3613 artist before adding to markup.
3615 2006-03-14 William Jon McCann <mccann@jhu.edu>
3617 * shell/rb-shell-player.c: (rb_shell_player_sync_with_source):
3618 * widgets/rb-header.c: (rb_header_class_init), (rb_header_init),
3619 (rb_header_set_property), (rb_header_get_property),
3621 Remove the GnomeUrl song links until we can do it properly.
3624 2006-03-14 Jonathan Matthew <jonathan@kaolin.wh9.net>
3626 * shell/rb-source-header.c: (rb_source_header_clear_search):
3627 Remove the stored search text from the hash table, so it doesn't
3628 reappear after switching to another source and back.
3630 * sources/rb-auto-playlist-source.c: (impl_search):
3631 * sources/rb-library-source.c: (impl_search), (impl_reset_filters):
3632 * sources/rb-static-playlist-source.c: (impl_search):
3633 Make sure all sources treat impl_search(NULL) and impl_search("") the
3634 same. Fixes #334525.
3636 2006-03-14 James Livingston <jrl@ids.org.au>
3638 Store which thread created new entries, and make rhythmdb_commit only
3639 insert the entries for the thread that calls it. This stops one thread
3640 calling rhythmdb_commit inserting entries that are half-way through
3641 construction by another thread (as happens with audio cds). From bug
3644 * rhythmdb/rhythmdb.c: (rhythmdb_init),
3645 (rhythmdb_emit_entries_added_idle), (process_added_entries_cb),
3646 (rhythmdb_commit_internal), (timeout_rhythmdb_commit),
3647 (rhythmdb_add_timeout_commit), (rhythmdb_commit),
3648 (rhythmdb_entry_insert), (rhythmdb_add_import_error_entry),
3649 (rhythmdb_process_metadata_load),
3650 (rhythmdb_process_queued_entry_set_event),
3651 (rhythmdb_prop_get_type):
3653 2006-03-14 Jonathan Matthew <jonathan@kaolin.wh9.net>
3655 * rhythmdb/rhythmdb-query-model.c:
3656 (rhythmdb_query_model_class_init), (rhythmdb_query_model_dispose),
3657 (rhythmdb_query_model_finalize):
3658 Move object unrefs from _finalize into _dispose.
3660 * shell/rb-play-order.c: (rb_play_order_query_model_changed):
3661 Remove extra g_object_ref that was causing query model leaks.
3663 * sources/rb-iradio-source.c: (rb_iradio_source_dispose),
3664 (rb_iradio_source_constructor), (impl_search), (genre_selected_cb),
3665 (genre_selection_reset_cb), (rb_iradio_source_do_query):
3666 Remove the cached 'all' query, since it doesn't really help and it
3667 makes the code more complicated. Attach the genre property view to
3668 the query model build from the search text, so only genres for
3669 stations matching the search terms are displayed. Preserve the genre
3670 selection across searches.
3672 * widgets/rb-library-browser.c:
3673 (rb_library_browser_class_init), (rb_library_browser_get_property):
3674 Add properties for the input and output models for the browser, and
3675 remove the 'changed' signal as we can just use notify::output-model.
3676 (ignore_selection_changes),
3677 (selection_restore_data_destroy), (query_complete_cb),
3678 (restore_selection): Helper functions for preserving selections across
3679 query model rebuilds.
3680 (rebuild_output_model): New function for creating a query model to
3681 use as the display model for a source using the browser.
3682 (rebuild_child_model): Add a call to rebuild_output_model, add missing
3683 g_object_unrefs, reuse the parent's query model when there's no
3684 selection, and use ignore_selection_changes and restore_selection.
3685 (rb_library_browser_set_selection): rebuild_child_model emits the
3686 changed signal, so no need to do it here.
3687 (rb_library_browser_set_model): Add missing g_object_unrefs, and use
3688 ignore_selection_changes and restore_selection.
3689 * widgets/rb-library-browser.h: Remove 'changed' signal, and add a
3690 flag to rb_library_browser_set_model indicating whether the query is
3693 * sources/rb-static-playlist-source.c:
3694 (rb_static_playlist_source_class_init),
3695 (rb_static_playlist_source_dispose):
3696 (rb_static_playlist_source_constructor): Add an extra reference on
3697 the base model, so it doesn't vanish when we set a new display model
3698 based on a search or browser selection.
3699 (impl_search): Ensure the search_text field in the source is NULL if
3700 the search box is empty.
3701 (construct_query_from_selection),
3702 (rb_static_playlist_source_do_query): Use the query model constructed
3703 from the search as the input model for the browser.
3704 (rb_static_playlist_source_browser_changed_cb): Use the browser's
3705 output model as the query model for the source.
3707 * sources/rb-auto-playlist-source.c:
3708 (rb_auto_playlist_source_finalize): Free more stuff.
3709 (rb_auto_playlist_source_constructor),
3710 (rb_auto_playlist_source_browser_changed_cb):
3711 Update for rb-library-browser changes, use the browser's output query
3712 model as the query model for the source.
3713 (impl_reset_filters), (impl_search),
3714 (rb_auto_playlist_source_do_query),
3715 (rb_auto_playlist_source_set_query):
3716 Use the query model constructed from the search text as the input to
3717 the library browser, and when adding text to an existing search, apply
3718 the new query to the existing query model.
3720 * sources/rb-library-source.c: (rb_library_source_dispose):
3721 (rb_library_source_finalize): Chain dispose up to the parent class.
3722 (rb_library_source_constructor): Update for rb-library-browser
3724 (impl_search): Ensure search_text is NULL if the search box is empty,
3725 and use the subset flag to _do_query if text has been appended to an
3727 (search_action_changed), (impl_reset_filters):
3728 (rb_library_source_browser_changed_cb),
3729 (rb_library_source_do_query): Use the browser's output model as the
3730 query model for the source.
3732 Rework library and playlist sources to use a single query chain,
3733 and to limit the entries shown in property views based on the search
3734 terms. Fixes bug #322787.
3736 2006-03-14 Jonathan Matthew <jonathan@kaolin.wh9.net>
3738 * configure.ac: Enable metadata helper by default, and fix a typo.
3740 2006-03-13 James Livingston <jrl@ids.org.au>
3742 Make RBRefStrings lazily create the folded and sort-key strings when
3743 they are first used. This will same some memory by not creating ones
3744 that are never used, and delaying some of the others to when the user
3745 resorts or performs a similar action. Fixes bug 332992.
3747 * rhythmdb/rb-refstring.c: (rb_refstring_free),
3748 (rb_refstring_system_init), (rb_refstring_new), (rb_refstring_ref),
3749 (rb_refstring_get), (rb_refstring_get_folded),
3750 (rb_refstring_get_sort_key), (rb_refstring_hash),
3751 (rb_refstring_equal):
3752 * rhythmdb/rb-refstring.h:
3753 * rhythmdb/rhythmdb.c: (rhythmdb_entry_sync_mirrored):
3755 2006-03-12 William Jon McCann <mccann@jhu.edu>
3757 * data/ui/rhythmbox-ui.xml:
3758 * lib/rb-stock-icons.c: (rb_stock_icons_init):
3759 * lib/rb-stock-icons.h:
3760 * shell/rb-shell-player.c:
3761 * shell/rb-shell.c: (rb_shell_constructor):
3762 * shell/rb-source-header.c: (force_no_shadow),
3763 (ui_manager_add_widget_cb), (rb_source_header_constructor),
3764 (rb_source_header_class_init), (rb_source_header_init),
3765 (merge_source_ui_cb), (toolbar_set_homogeneous),
3766 (rb_source_header_set_source_internal),
3767 (rb_source_header_set_property), (rb_source_header_get_property),
3768 (rb_source_header_set_source), (rb_source_header_new),
3769 (rb_source_header_filter_changed_cb):
3770 * shell/rb-source-header.h:
3771 * sources/rb-library-source.c: (rb_library_source_class_init),
3772 (rb_library_source_init), (search_action_to_prop),
3773 (search_action_changed), (rb_library_source_constructor),
3774 (impl_search), (impl_reset_filters), (impl_get_search_actions),
3775 (construct_query_from_selection):
3776 * sources/rb-podcast-source.c: (rb_podcast_source_class_init),
3777 (rb_podcast_source_init), (search_action_to_prop),
3778 (search_action_changed), (rb_podcast_source_constructor),
3779 (construct_query_from_selection), (impl_get_ui_actions),
3780 (impl_get_search_actions):
3781 * sources/rb-source.c: (rb_source_class_init),
3782 (rb_source_get_ui_actions), (default_get_search_actions),
3783 (rb_source_get_search_actions):
3784 * sources/rb-source.h:
3786 Add a search bar. Fixes #328618
3788 2006-03-12 James Livingston <jrl@ids.org.au>
3790 * rhythmdb/rhythmdb.c: (rhythmdb_commit_internal):
3791 * shell/main.c: (main): make --no-update not stat files checking for
3792 changes, instead of doing nothing. Fixes bug 125177.
3794 2006-03-12 James Livingston <jrl@ids.org.au>
3796 * podcast/rb-podcast-manager.c:
3797 (rb_podcast_manager_thread_parse_feed):
3798 * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed):
3799 * podcast/rb-podcast-parse.h: ask the user before rejecting a feed for
3800 having an invalid mime-type. Fixed bug 329813.
3802 2006-03-12 James Livingston <jrl@ids.org.au>
3804 Make ide tag-editing work on 0.10, if id3mux 0.10.2 is present.
3805 Finally lets us close bug 309609.
3807 * metadata/rb-metadata-gst.c: (id3_pad_added_cb),
3808 (rb_add_id3_tagger), (rb_metadata_init): make id3 tag editing work on
3811 * widgets/rb-song-info.c: (rb_song_info_sync_entries): fix the
3812 inverted logic of the editable check.
3814 2006-03-12 James Livingston <jrl@ids.org.au>
3816 Make API doc generation work again. Fixes bug 334276.
3818 * doc/reference/Makefile.am:
3819 * doc/reference/tmpl/rb-debug.sgml:
3820 * doc/reference/tmpl/rb-druid.sgml:
3821 * doc/reference/tmpl/rb-entry-view.sgml:
3822 * doc/reference/tmpl/rb-load-failure-dialog.sgml:
3823 * doc/reference/tmpl/rb-metadata.sgml:
3824 * doc/reference/tmpl/rb-shell.sgml:
3825 * doc/reference/tmpl/rhythmbox-unused.sgml:
3826 * doc/reference/tmpl/rhythmdb.sgml:
3828 2006-03-12 James Livingston <jrl@ids.org.au>
3830 * shell/rb-shell-clipboard.c:
3831 (rb_shell_clipboard_set_source_internal),
3832 (rb_shell_clipboard_sync): don't try to use the source's entry view if
3833 it doesn't have one. Fixes bug 331673.
3835 * sources/rb-source.c: (rb_source_class_init): provide a default
3836 have_url implementation that returns FALSE.
3838 2006-03-12 James Livingston <jrl@ids.org.au>
3840 * plugins/audioscrobbler/Makefile.am: don't delete as-powered.png when
3841 doing a distclean. Fixes bug 334221.
3844 Patch from Alex Lancaster <alexl@users.sourceforge.net>
3846 * data/glade/Makefile.am: add plugins.glade. Fixes bug 334201.
3848 2006-03-11 James Livingston <jrl@ids.org.au>
3850 * shell/rb-shell.c: (rb_shell_window_state_cb),
3851 (rb_shell_set_visibility), (rb_shell_window_configure_cb): don't
3852 update the window width/height when iconified. Stops the window
3853 changing size when it is restored from the tray, fixing bug 333824.
3855 2006-03-11 James Livingston <jrl@ids.org.au>
3857 Try to get cvs to actually add the necessary files for plugin support
3859 2006-03-11 James Livingston <jrl@ids.org.au>
3861 Add a plugin framework, with basic support for Python plugins (based
3862 on gedit's). Closes bug 330523.
3865 * shell/Makefile.am:
3866 * configure.ac: necessary autofoo.
3868 * data/ui/rhythmbox-ui.xml: add Edit->Plugins...
3870 * lib/rb-file-helpers.c: (rb_uri_get_dir_name):
3871 * lib/rb-file-helpers.h:
3873 * data/glade/plugins/glade:
3874 * lib/rb-preferences.h:
3876 * bindings/*: plugin framework
3879 * plugins/sample-python/*: sample plugins
3881 * plugins/audioscrobbler/*:
3882 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_class_init),
3883 (rb_audioscrobbler_set_property),
3884 (rb_audioscrobbler_gconf_changed_cb): turn audioscrobbler song
3885 submission into a plugin. shell/audioscrobbler.* should really be
3886 moved, but that sucks with cvs.
3889 * shell/rb-shell.c: (rb_shell_constructor),
3890 (rb_shell_cmd_preferences), (rb_shell_plugins_window_delete_cb),
3891 (rb_shell_plugins_response_cb), (rb_shell_cmd_plugins),
3892 (rb_shell_quit): start and stop plugin framework.
3894 2006-03-11 Jonathan Matthew <jonathan@kaolin.wh9.net>
3896 * rhythmdb/rhythmdb.c: (rhythmdb_commit_internal),
3897 (rhythmdb_entry_delete):
3898 Emit entry-deleted signals when rhythmdb_commit is called, rather than
3899 immediately, so we can't get change notifications afterwards.
3901 (rhythmdb_process_metadata_load): Add a commit after removing an
3902 entry so we can recreate it with a different type without getting
3905 2006-03-11 James Livingston <jrl@ids.org.au>
3907 * sources/rb-audiocd-source.c: (rb_audiocd_source_constructor): don't
3908 use the drive name for audio CDs, use "Unknown CD".
3910 2006-03-09 Jonathan Matthew <jonathan@kaolin.wh9.net>
3912 patch by: James Henstridge <james@jamesh.id.au>
3914 * sources/rb-removable-media-source.c:
3915 (rb_removable_media_source_constructor):
3916 Get the device name from the GnomeVFSDrive if possible,
3917 since this is usually a more descriptive name. Fixes #333080.
3919 2006-03-09 Jonathan Matthew <jonathan@kaolin.wh9.net>
3921 patch by: Alex Lancaster <alexl@users.sourceforge.net>
3923 * podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed):
3924 Don't automatically download episodes when configured for manual
3925 updating. Fixes #331564.
3927 2006-03-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
3929 * rhythmdb/rhythmdb-property-model.c:
3930 (rhythmdb_property_model_iter_from_string):
3931 Return an iterator for the 'all' property when name == NULL,
3932 and don't write to *iter if iter == NULL.
3934 2006-03-06 Jonathan Matthew <jonathan@kaolin.wh9.net>
3936 * shell/rb-shell-player.c: (rb_shell_player_do_next):
3937 When switching to the play queue, still call _go_next on the normal
3938 play order, so self-emptying auto playlists ("play count = 0" etc.)
3939 don't restart once the queue is empty.
3941 * shell/rb-tray-icon.c:
3942 Change shortcut for 'show notifications' to 'o' so it doesn't clash
3945 2006-03-05 James Livingston <jrl@ids.org.au>
3947 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_song_changed_cb):
3948 don't submit tracks which could not be played. Fixed bug 333013.
3950 * shell/rb-shell-player.c: (eos_cb): Don't update statistics for
3951 tracks which could not be played.
3953 2006-03-05 James Livingston <jrl@ids.org.au>
3955 Sync musicbrainz lookup code from Sound-Juicer cvs.
3957 * metadata/sj-metadata-musicbrainz.c:
3958 (sj_metadata_musicbrainz_instance_init), (metadata_interface_init),
3959 (get_offline_track_listing), (artist_and_title_from_title),
3960 (cache_rdf), (get_cached_rdf), (get_rdf), (lookup_cd),
3961 (mb_list_albums), (mb_get_submit_url):
3962 * metadata/sj-metadata.c: (sj_metadata_get_submit_url):
3963 * metadata/sj-metadata.h:
3964 * metadata/sj-structures.c: (track_details_free),
3965 (album_details_free):
3966 * metadata/sj-structures.h:
3968 2006-03-05 Jonathan Matthew <jonathan@kaolin.wh9.net>
3971 * lib/rb-debug.c: (rb_debug_real), (rb_debug_init),
3972 (rb_debug_init_match), (rb_profiler_new), (rb_profiler_dump),
3973 (rb_profiler_reset), (rb_profiler_free):
3974 Filter debug output by matching the file and function names against a
3977 * shell/main.c: (main):
3978 Add -D command line option to specify the debug match string.
3980 * shell/rb-removable-media-manager.c:
3981 (rb_removable_media_manager_mount_volume):
3982 Fix some typos in debug output.
3984 2006-03-03 James Livingston <jrl@ids.org.au>
3986 * shell/rb-playlist-manager.c: (rb_playlist_manager_parse_file):
3987 * shell/rb-shell.c: (rb_shell_load_uri):
3988 * sources/rb-generic-player-source.c: (visit_playlist_dirs):
3989 * sources/rb-iradio-source.c: (rb_iradio_source_add_from_playlist):
3990 use the new "recurse" property from totem-plparser, if present. Stop
3991 RB hanging for new users who don't have a 'net connection. From bug
3994 2006-03-02 Bastien Nocera <hadess@hadess.net>
3996 * shell/rb-removable-media-manager.c:
3997 (rb_removable_media_manager_mount_volume):
3998 * sources/Makefile.am:
3999 * sources/rb-nokia770-source.c: (rb_nokia770_is_volume_player):
4000 Fix missing files on make dist (conditional files), only build the
4001 N770 support if there's HAL support, as we have no other ways of
4004 2006-03-03 James Livingston <jrl@ids.org.au>
4006 * shell/rb-shell-clipboard.c:
4007 (rb_shell_clipboard_set_source_internal): really fix it this time.
4010 2006-03-03 James Livingston <jrl@ids.org.au>
4012 * shell/rb-shell-clipboard.c: (rb_shell_clipboard_sync): fix issue
4013 with the idle function not being removed.
4015 2006-03-02 James Livingston <jrl@ids.org.au>
4017 * widgets/rb-entry-view.c: (rb_entry_view_have_complete_selection):
4018 * widgets/rb-entry-view.h: add function for determining whether all
4019 entries are selected.
4021 * shell/rb-shell-clipboard.c: (rb_shell_clipboard_init),
4022 (rb_shell_clipboard_set_source_internal),
4023 (rb_shell_clipboard_finalize),
4024 (rb_shell_clipboard_idle_poll_deletions),
4025 (rb_shell_clipboard_entryview_changed_cb),
4026 (rb_shell_clipboard_entries_changed_cb): watch for entry additions and
4027 removals, to update things.
4029 (rb_shell_clipboard_sync): update the Select All and Select None
4030 sensitivity, based on what is selected. Fixed bug 172220.
4032 2006-03-02 James Livingston <jrl@ids.org.au>
4034 * widgets/rb-library-browser.c: (rebuild_child_model): save and
4035 restore the selections of later models. This means that selecting the
4036 artist for the selected album does not reset the album selection.
4038 2006-03-02 James Livingston <jrl@ids.org.au>
4040 * data/ui/rhythmbox-ui.xml: add the missing UI for generic players.
4041 Stops it emitting critical warnings.
4043 2006-03-02 James Livingston <jrl@ids.org.au>
4045 * lib/rb-file-helpers.c: (rb_uri_append_uri):
4046 * lib/rb-file-helpers.h: Add uri concatenation function for when the
4047 second fragment is already escaped.
4049 * sources/rb-generic-player-source.c:
4050 (rb_generic_player_source_class_init),
4051 (rb_generic_player_source_constructor), (impl_show_popup),
4052 (rb_generic_player_source_load_playlists),
4053 (rb_generic_player_source_transform_playlist_uri),
4054 (handle_playlist_entry_cb), (visit_playlist_dirs),
4055 (default_load_playlists), (default_transform_playlist_uri):
4056 * sources/rb-generic-player-source.h: scan for playlists (m3u, pls) on
4057 the device. Allow subclasses to override the playlist loading, and
4058 (playlist uri)->(actual uri) mapping. A lot of devices which have
4059 playlists won't work right now, but people will see them and hopefully
4062 * sources/rb-psp-source.c: (rb_psp_source_class_init),
4063 (rb_psp_source_create_playlists): Adapt the PSP for the above change
4065 * sources/Makefile.am:
4066 + sources/rb-nokia770-source.{c,h}:
4067 * shell/rb-removable-media-manager.c:
4068 (rb_removable_media_manager_mount_volume): Add support for reading
4069 playlists of Nokia 770s.
4071 2006-03-02 Jonathan Matthew <jonathan@kaolin.wh9.net>
4073 * data/glade/podcast-properties.glade:
4074 * podcast/rb-podcast-properties-dialog.c:
4075 (rb_podcast_properties_dialog_init),
4076 (rb_podcast_properties_dialog_update),
4077 (rb_podcast_properties_dialog_update_location),
4078 (rb_podcast_properties_dialog_update_download_location):
4079 Add 'download location' field showing the path to the downloaded copy.
4082 2006-03-01 Bastien Nocera <hadess@hadess.net>
4084 * configure.ac: simplify HAVE_HAL define
4086 2006-03-01 Bastien Nocera <hadess@hadess.net>
4089 * lib/rb-file-helpers.c: (rb_uri_append_path):
4090 * lib/rb-file-helpers.h:
4091 * shell/rb-removable-media-manager.c:
4092 (rb_removable_media_manager_mount_volume):
4093 * sources/Makefile.am:
4094 * sources/rb-ipod-source.c:
4095 * sources/rb-psp-source.*:
4096 Patch from James Livingston <jrl@ids.org.au> to add read-only Sony PSP
4097 support, additional HAL < 0.5 support by yours truly (Closes: #332337)
4099 2006-03-02 James Livingston <jrl@ids.org.au>
4101 * shell/rb-shell-player.c: (rb_shell_player_set_property),
4102 (rb_shell_player_play), (rb_shell_player_jump_to_current),
4103 (swap_playing_source), (rb_shell_player_playpause),
4104 (rb_shell_player_sync_buttons), (actually_set_playing_source),
4105 (rb_shell_player_set_playing_source_internal): check for the entry
4106 view being NULL before trying to use it. Lets us support sources which
4107 don't have an entry view. From bug 331673.
4109 2006-03-01 Bastien Nocera <hadess@hadess.net>
4111 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_load_queue):
4112 use gnome_vfs_read_entire_file with a URI, not a local filename
4114 2006-03-01 James Livingston <jrl@ids.org.au>
4116 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element): handle
4117 first-seen and last-seen when merging duplicate entries.
4119 2006-03-01 Jonathan Matthew <jonathan@kaolin.wh9.net>
4121 * widgets/rb-property-view.c: (rb_property_view_set_search_func):
4122 * widgets/rb-property-view.h: New function, allowing custom
4123 interactive search functions for property views.
4125 * sources/rb-podcast-source.c:
4126 (feed_select_change_cb): Only do a new query when the selection
4128 (rb_podcast_source_constructor),
4129 (rb_podcast_source_feed_title_search_func):
4130 Interactive search function for podcast feed titles. Fixes #327451.
4132 2006-03-01 James Livingston <jrl@ids.org.au>
4134 * rhythmdb/rhythmdb.c: (rhythmdb_execute_stat_info_cb): don't chaneg
4135 the uri in the callback, since it causes symbols to not be escaped.
4138 * data/ui/rhythmbox-ui.xml:
4139 * sources/rb-import-errors-source.c:
4140 (rb_import_errors_source_class_init),
4141 (rb_import_errors_source_constructor), (impl_get_status),
4142 (impl_move_to_trash),
4143 (rb_import_errors_source_songs_show_popup_cb): add move-to-trash for
4144 import errors source
4146 * widgets/rb-entry-view.c: (rb_entry_view_location_cell_data_func),
4147 (rb_entry_view_append_column): unescape the URI for display.
4149 2006-03-01 James Livingston <jrl@ids.org.au>
4151 * rhythmdb/rhythmdb.c: (rhythmdb_add_import_error_entry),
4152 (rhythmdb_process_metadata_load): fix crashers when the vfs get info
4155 2006-02-28 Dennis Cranston <dennis_cranston@yahoo.com>
4157 * shell/rb-shell-clipboard.c: Use lowercase "to" in "Move to Trash".
4158 * shell/rb-shell.c: Use "Play Queue" and "Side Pane" terminology.
4159 * sources/rb-play-queue-source.c:
4160 (rb_play_queue_source_constructor), (rb_play_queue_source_new),
4161 (rb_play_queue_source_update_count): Use "Play Queue" instead
4166 2006-03-01 James Livingston <jrl@ids.org.au>
4168 * data/rhythmbox.schemas: change "boolean" to "bool" in the schema.
4171 2006-03-01 James Livingston <jrl@ids.org.au>
4173 * daapsharing/rb-daap-mdns-browser-howl.c:
4174 (rb_daap_mdns_browser_class_init), (rb_daap_mdns_browser_finalize):
4175 * daapsharing/rb-daap-mdns-publisher-avahi.c:
4176 (rb_daap_mdns_publisher_class_init),
4177 (rb_daap_mdns_publisher_finalize):
4178 * lib/rb-thread.c: (rb_thread_class_init), (rb_thread_finalize):
4179 * player/rb-recorder-gst.c: (rb_recorder_class_init),
4180 (rb_recorder_finalize):
4181 * rhythmdb/rhythmdb-query-model.c:
4182 (rhythmdb_query_model_constructor):
4183 * sources/rb-audiocd-source.c: (rb_audiocd_source_constructor):
4184 * sources/rb-ipod-source.c: (rb_ipod_source_constructor):
4185 * sources/rb-playlist-source-recorder.c:
4186 (rb_playlist_source_recorder_style_set),
4187 (rb_playlist_source_recorder_class_init),
4188 (rb_playlist_source_recorder_finalize):
4189 * widgets/rb-query-creator.c: (rb_query_creator_constructor): fix the
4190 other classes in the same way, so they don't break when derived from.
4192 2006-03-01 James Livingston <jrl@ids.org.au>
4194 * sources/rb-generic-player-source.c:
4195 (rb_generic_player_source_constructor): don't get the parent class in
4196 a dumb way, and it breaks when the class is derived from.
4198 2006-02-28 Abel Cheung <maddog@linuxhall.org>
4200 * configure.ac: Added "zh_HK" to ALL_LINGUAS.
4202 2006-03-01 James Livingston <jrl@ids.org.au>
4204 * rhythmdb/gsequence.c: fix a typo in the last commit, that makes it
4205 not work in glib 2.8 systems.
4207 2006-03-01 James Livingston <jrl@ids.org.au>
4209 * lib/rb-file-helpers.c: (rb_uri_is_local): just check for the file://
4210 prefix instead of using gnome_vfs_uri_is_local, since the gnomevfs dev
4213 * podcast/rb-podcast-manager.c: (rb_podcast_manager_copy_post),
4214 (rb_podcast_manager_db_entry_deleted_cb): don't stop people putting
4215 podcasts on ion-local places
4217 * rhythmdb/gsequence.c: (g_sequence_node_new),
4218 (g_sequence_node_free): use gslice if we are building against glib
4221 * rhythmdb/rhythmdb.c: (rhythmdb_execute_stat): always async stats for
4222 local files too, so it doesn't block.
4224 2006-02-28 James Livingston <jrl@ids.org.au>
4226 * rhythmdb/rhythmdb.c: (rhythmdb_commit_internal): just check for the
4227 file:// prefix, instead of using gnome_vfs_uri_is_local, since that
4228 stats the file. Stops the UI blocking while stats are done.
4230 2006-02-28 James Livingston <jrl@ids.org.au>
4232 * sources/rb-static-playlist-source.c:
4233 (rb_static_playlist_source_class_init),
4234 (rb_static_playlist_source_constructor), (impl_reset_filters),
4235 (impl_get_property_views), (impl_browser_toggled),
4236 (rb_static_playlist_source_do_query),
4237 (rb_static_playlist_source_browser_changed_cb): add browsers to static
4238 playlists. From bug 118862.
4240 * sources/rb-play-queue-source.c:
4241 (rb_play_queue_source_class_init): disable them for the play queue.
4243 2006-02-27 Dennis Cranston <dennis_cranston@yahoo.com>
4245 * data/glade/library-prefs.glade: Add a mnemonic.
4246 * sources/rb-library-source.c:
4247 (rb_library_source_location_button_clicked_cb): Use title
4248 capitalization for window title.
4250 2006-02-28 James Livingston <jrl@ids.org.au>
4252 * sources/rb-auto-playlist-source.c:
4253 (construct_query_from_selection): don't create a subquery for only one
4254 criteria, as it's a silly effifiency degredation.
4256 2006-02-28 James Livingston <jrl@ids.org.au>
4258 * rhythmdb/rhythmdb.h:
4259 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_start_element),
4260 (save_entry), (rhythmdb_tree_save): add a new "Ignore" type, which is
4263 * rhythmdb/rhythmdb.c: (set_props_from_metadata),
4264 (rhythmdb_process_stat_event), (rhythmdb_add_import_error_entry),
4265 (rhythmdb_process_metadata_load), (rhythmdb_entry_song_get_type),
4266 (rhythmdb_entry_ignore_get_type): When loading a file, which is marked
4267 IGNORE (e.g. known video stream) create an entry of the Ignore type.
4268 This will make importing files quicker as we don't need to try files
4269 that we know are not going to be interesting - especially useful when
4270 using the library watching facility.
4274 2006-02-28 James Livingston <jrl@ids.org.au>
4276 * shell/rb-shell.c: (rb_shell_constructor),
4277 (rb_shell_set_visibility): fix browser and source-list pane
4278 positioning, that I broke with the "remember visibility" patch.
4280 2006-02-27 Jonathan Matthew <jonathan@kaolin.wh9.net>
4282 * metadata/rb-metadata-dbus-service.c: (main):
4283 Change argument handling so you can use --debug with the --load and
4284 --can-save test modes.
4285 * metadata/rb-metadata-dbus-client.c: (start_metadata_service):
4286 Use a separate GMainContext, not the default one. Probably fixes
4289 2006-02-27 James Livingston <jrl@ids.org.au>
4291 * shell/rb-shell.c: (rb_shell_constructor): focus the entry view when
4292 first starting up. Fixes bug 330342.
4294 2006-02-27 James Livingston <jrl@ids.org.au>
4296 * sources/rb-sourcelist-model.c:
4297 (rb_sourcelist_model_set_dnd_targets):
4298 * widgets/rb-entry-view.c: (rb_entry_view_constructor): only use the
4299 COPY action for draging sources and tracks, not MOVE as well. Stops
4300 Nautilus moving file away, and fixes bug 332488.
4302 2006-02-27 James Livingston <jrl@ids.org.au>
4304 patch by: Gunnar Steinn Magnusson <gsm@gunnarsteinn.com>
4306 * sources/rb-ipod-source.c: (load_ipod_db_idle_cb): read the Rating
4307 and Last Played metadata off iPods. Closes bug 324648.
4309 2006-02-26 Jonathan Matthew <jonathan@kaolin.wh9.net>
4311 * shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor):
4312 Disable audioscrobbler when run with the --no-registration flag, since
4313 last.fm doesn't allow multiple concurrent clients per user.
4315 2006-02-26 Jonathan Matthew <jonathan@kaolin.wh9.net>
4317 * sources/rb-sourcelist.c: (rb_sourcelist_init), (key_release_cb):
4318 Rename renamable sources when F2 is pressed when the sourcelist has
4319 focus. Fixes #330700.
4321 2006-02-26 Jonathan Matthew <jonathan@kaolin.wh9.net>
4323 * shell/rb-playlist-manager.c: (cleanup_edit_data),
4324 (edit_auto_playlist_response_cb), (edit_auto_playlist_deleted_cb),
4325 (rb_playlist_manager_cmd_edit_automatic_playlist):
4326 Fix various crashes when deleting auto playlists previously edited
4327 by disconnecting signal handlers when the query editor is closed or
4328 the playlist is deleted.
4330 2006-02-24 Jonathan Matthew <jonathan@kaolin.wh9.net>
4332 * metadata/rb-metadata-gst.c: Correct comment referring to the now
4333 removed load failure dialog, and actually use the friendly file type
4334 name in error messages.
4336 2006-02-24 James Livingston <jrl@ids.org.au>
4338 patch by: Baptiste Mille-Mathias <bmm80@free.fr>
4340 * sources/rb-library-source.c:
4341 (rb_library_source_location_button_clicked_cb),
4342 (rb_library_source_preferences_sync),
4343 (rb_library_source_library_location_cb): convert the library URI to
4344 for display, and back again. Fixes bug 332356.
4346 2006-02-23 James Livingston <jrl@ids.org.au>
4348 * rhythmdb/rhythmdb.c: (rhythmdb_process_stat_event),
4349 (rhythmdb_process_metadata_load), (monitor_subdirectory),
4350 (rhythmdb_sync_library_location): don't monitor files at all if
4351 watching is turned off. From bug 323096.
4353 2006-02-23 James Livingston <jrl@ids.org.au>
4355 * data/rhythmbox.schemas:
4356 * lib/rb-preferences.h:
4357 * shell/rb-shell.c: (rb_shell_constructor),
4358 (rb_shell_set_visibility): remember main window visibility between
4359 sessions. Fixes bug 127320.
4361 2006-02-23 James Livingston <jrl@ids.org.au>
4363 * data/glade/library-prefs.glade:
4364 * sources/rb-library-source.c: (impl_get_config_widget),
4365 (rb_library_source_location_button_clicked_cb),
4366 (rb_library_source_preferences_sync),
4367 (rb_library_source_library_location_cb),
4368 (rb_library_source_watch_toggled_cb): change the library-location
4369 widgets from the file-chooser drop menu to a text entry and Browse
4370 button. This is needed to prevent the location from chaning if the
4371 directory cannot be found. Fixes bug 328414.
4373 2006-02-23 James Livingston <jrl@ids.org.au>
4375 * sources/rb-podcast-source.c: add icon to the Cancel Download menu
4376 item. Fixes bug 329042.
4378 2006-02-23 James Livingston <jrl@ids.org.au>
4380 patch by: Alex Lancaster <alexl@users.sourceforge.net>
4382 * podcast/rb-podcast-parse.c: (rb_podcast_parse_date): deal with extra
4383 comma in some podcast feeds. Fixes bug 332194.
4385 2006-02-23 James Livingston <jrl@ids.org.au>
4387 * rhythmdb/rhythmdb.c: (rhythmdb_execute_stat): execute the stats at a
4390 * sources/rb-audiocd-source.c: (rb_audiocd_create_track_entry): change
4391 the internal audio cd URIs from "cdda://device:track" to
4392 "cdda://track#device" as it makes processing much easier.
4394 * shell/rb-shell-player.c: (rb_shell_player_open_location):
4395 * player/rb-player-gst.c: don't have the shell close the player
4396 between songs, as doing that should be backend-specific. Make the
4397 gstreamer backend close before starting a new track, unless the old
4398 and new ones are both tracks on the same audio cd. Just seek in that
4401 2006-02-23 Jonathan Matthew <jonathan@kaolin.wh9.net>
4403 * doc/reference/rhythmbox.types: Fix doc build a bit more.
4405 2006-02-23 Jonathan Matthew <jonathan@kaolin.wh9.net>
4407 * configure.ac: Enable more warnings in my stupid setup too.
4408 * shell/rb-shell.c: Fix compile errors from last commit. Fixes
4411 2006-02-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
4413 * sources/rb-missing-files-source.h,
4414 * sources/rb-missing-files-source.c,
4415 * sources/rb-import-errors-source.h,
4416 * sources/rb-import-errors-source.c:
4417 Add library meta-sources, showing missing files and import errors.
4418 Fixes #167763, #142322.
4420 * sources/rb-sourcelist-model.c: (rb_sourcelist_model_new):
4421 * sources/rb-sourcelist-model.h:
4422 * sources/rb-sourcelist.c: (rb_sourcelist_append),
4423 (match_source_to_iter), (rb_sourcelist_source_to_iter),
4424 (rb_sourcelist_visible_source_to_iter), (rb_sourcelist_remove),
4425 (visibility_notify_cb):
4426 Store source visibility in the sourcelist model, so we can determine
4427 child source counts correctly and get the sourcelist expander column
4430 * widgets/rb-entry-view.h:
4431 * widgets/rb-entry-view.c: (rb_entry_view_class_init),
4432 (rb_entry_view_append_column), (set_column_visibility):
4433 Allow the creator of the entry view to specify which columns are
4436 * sources/rb-source.h:
4437 * sources/rb-source.c: (_autohide_update_visibility),
4438 (_rb_autohide_source_row_deleted_cb),
4439 (_rb_autohide_source_row_inserted_cb),
4440 (_rb_source_hide_when_empty):
4441 Allow sources to automatically hide themselves when empty.
4443 * sources/rb-iradio-source.c: (rb_iradio_source_constructor):
4444 * sources/rb-library-source.c: (rb_library_source_constructor):
4445 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
4446 * sources/rb-podcast-source.c: (rb_podcast_source_constructor):
4447 Explicitly specify which columns are always visible.
4449 * shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor),
4450 (rb_shell_playing_entry_changed_cb), (add_to_library_response_cb):
4451 Remove load error signal handling and load failure dialog.
4452 Create missing files and import errors sources for the library.
4454 * rhythmdb/rhythmdb.c: (rhythmdb_class_init),
4455 (rhythmdb_add_import_error_entry), (rhythmdb_process_metadata_load):
4456 Create DB entries for import errors rather than emitting the 'load
4457 error' signal; mark loaded entries visible.
4458 (rhythmdb_entry_sync_mirrored), (rhythmdb_prop_get_type),
4459 (rhythmdb_entry_get_string), (rhythmdb_entry_set_visibility),
4460 (rhythmdb_prop_get_type): Store string form of last seen time for
4461 hidden entries, since it's used in the missing files source.
4462 (rhythmdb_entry_import_error_get_type):
4463 Add entry type for import errors.
4464 (rhythmdb_process_file_deleted), (rhythmdb_volume_mounted_cb),
4465 (rhythmdb_volume_unmounted_cb): Add missing rhythmdb_commit calls.
4466 (rhythmdb_entry_move_to_trash_set_error),
4467 (rhythmdb_entry_move_to_trash):
4468 Correct spelling, add missing rhythmdb_commit.
4469 * rhythmdb/rhythmdb.h:
4470 Add import error entry type and last seen string property.
4471 * rhythmdb/rhythmdb-private.h: Add string form of last seen time.
4472 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
4473 (save_entry): Ignore string form of 'last seen' property.
4475 * shell/rb-shell-player.c: (rb_shell_player_entry_activated_cb):
4476 Don't try to play hidden entries or import error entries.
4478 * data/ui/rhythmbox-ui.xml: Add popup for missing files source.
4479 * sources/Makefile.am: Add meta-source files
4480 * widgets/Makefile.am: Remove load failure dialog files
4482 2006-02-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
4484 update by: Baptiste Mille-Mathias <bmm80@free.fr>
4485 * help/C/rhythmbox.xml: add a 'getting started' section, and fix a
4486 few bits and pieces.
4488 2006-02-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
4490 * metadata/test-metadata.c: (load_metadata_cb):
4491 Fix compile warning for ignoring return value from getcwd, #332064.
4493 2006-02-21 James Livingston <jrl@ids.org.au>
4495 * shell/rb-playlist-manager.c: (edit_auto_playlist_response_cb),
4496 (edit_auto_playlist_deleted_cb),
4497 (rb_playlist_manager_cmd_edit_automatic_playlist): make the auto
4498 playlist editor non-modal. Fixes bug 320030.
4500 2006-02-21 James Livingston <jrl@ids.org.au>
4502 * shell/rb-shell.c: (rb_shell_constructor):
4503 * widgets/rb-header.c: (rb_header_init), (rb_header_set_urldata),
4504 (rb_header_set_show_artist_album):
4505 * widgets/rb-song-display-box.c: (rb_song_display_box_init),
4506 (rb_song_display_box_sync): make the queue sidebar and song display
4507 not get affected by gtk_widget_show_all. Fixes bug 332001.
4509 2006-02-21 James Livingston <jrl@ids.org.au>
4511 Patch by: Alex Lancaster <alexl@users.sourceforge.net>
4513 * podcast/rb-podcast-parse.c: (rb_podcast_parse_date): add support for
4514 feeds which use timezone names instead of offsets. Doesn't actually
4515 parse the timezone name since they are not standardised. Fixes bug
4518 2006-02-21 James Livingston <jrl@ids.org.au>
4520 * help/C/figures/rb-notification-area.png:
4521 * help/C/figures/rb-sidebar.png:
4522 * help/C/quick-reference.xml: remove obsolete files from CVS.
4524 * rhythmdb/rhythmdb-tree.c: (evaluate_conjunctive_subquery):
4525 * rhythmdb/rhythmdb.c: (rhythmdb_query_parse_valist),
4526 (rhythmdb_query_free), (rhythmdb_query_serialize),
4527 (rhythmdb_query_deserialize), (rhythmdb_query_get_type):
4528 * rhythmdb/rhythmdb.h: Add operators for string prefix and suffix.
4530 * widgets/rb-query-creator-properties.c: add prefix and suffix
4531 (escapedStringCriteriaGetWidgetData): use better escaping, so it
4532 doesn't escape the ':' separator in uris.
4534 2006-02-21 James Livingston <jrl@ids.org.au>
4536 * shell/rb-shell.c: (rb_shell_constructor): ensure the window is shown
4539 2006-02-21 James Livingston <jrl@ids.org.au>
4541 * NEWS: update with recent changes
4543 2006-02-21 James Livingston <jrl@ids.org.au>
4545 * shell/rb-shell.c: (rb_shell_constructor),
4546 (rb_shell_player_volume_changed_cb), (rb_shell_druid_response_cb):
4547 * widgets/rb-druid.c: (rb_druid_finalize), (rb_druid_init_widgets),
4548 (rb_druid_browse_clicked_cb), (do_response):
4549 * widgets/rb-druid.h: Make running the druid not block RBShell
4550 starting up. This is required so that bonobo registration doesn't time
4551 out. Fixed bug 318766.
4553 2006-02-21 James Livingston <jrl@ids.org.au>
4555 * rhythmdb/rhythmdb-property-model.c:
4556 (rhythmdb_property_model_entry_removed_cb): remove the entry from the
4557 hash table after using it, not before. Fixed bug 331922.
4559 2006-02-21 Jonathan Matthew <jonathan@kaolin.wh9.net>
4561 * shell/rb-shell.c: (rb_shell_playing_from_queue_cb),
4562 (rb_shell_view_queue_as_sidebar_changed_cb):
4563 When playing from the queue, only attempt to highlight the queue
4564 source in the source list if it's actually visible there. Otherwise,
4565 leave the preempted source highlighted. Mostly fixes #330819.
4567 2006-02-20 James Livingston <jrl@ids.org.au>
4569 * rhythmdb/rhythmdb-property-model.c:
4570 (rhythmdb_property_model_row_inserted_cb),
4571 (rhythmdb_property_model_prop_changed_cb),
4572 (rhythmdb_property_model_insert), (rhythmdb_property_model_delete):
4573 store the roperty value in the entry-mapping table, so that receiving
4574 the remove signal from a query model before we get notified of a
4575 change doesn't cause a crash. Fixes bug 331770.
4577 2006-02-20 James Livingston <jrl@ids.org.au>
4579 * data/ui/rhythmbox-ui.xml:
4580 * sources/rb-play-queue-source.c:
4581 (rb_play_queue_source_class_init),
4582 (rb_play_queue_source_cmd_clear), (impl_show_popup): don't display
4583 playlist things in the queue popup source. From 330490.
4585 * widgets/rb-song-info.c: (rb_song_info_sync_entries): fix mistake in
4588 2006-02-20 James Livingston <jrl@ids.org.au>
4590 * widgets/rb-song-info.c: (rb_song_info_response_cb),
4591 (rb_song_info_sync_entry_single), (rb_song_info_sync_entries): don't
4592 attempt to sync data for non-editable entries when using
4593 next/previous. Don't write our Year if it wasn't changed. Fixes bug
4596 2006-02-19 Luca Ferretti <elle.uca@libero.it>
4603 * help/Makefile.am: ported to gnome-doc-utils
4604 * help/rhythmbox.omf.in: added, needed by gnome-doc-utils
4605 * help/ChangeLog: added, for translators
4606 * help/C/rhytmbox-C.omf: removed, no longer used
4607 Know issue: figures are installed, but some are not showed; manual
4608 description added, but not showed in Yelp while browsing. I'll
4609 investigate, maybe are needed some little changes to
4610 help/C/rhythmbox.xml.
4612 2006-02-20 James Livingston <jrl@ids.org.au>
4614 * data/ui/rhythmbox-ui.xml:
4615 * help/C/figures/rb-adv.png:
4616 * help/C/figures/rb-asst-finish.png:
4617 * help/C/figures/rb-asst-library.png:
4618 * help/C/figures/rb-asst-start.png:
4619 * help/C/figures/rb-basic.png:
4620 * help/C/figures/rb-browser.png:
4621 * help/C/figures/rb-context-menu.png:
4622 * help/C/figures/rb-empty.png:
4623 * help/C/figures/rb-full-play.png:
4624 * help/C/figures/rb-group-auto.png:
4625 * help/C/figures/rb-group-create.png:
4626 * help/C/figures/rb-group.png:
4627 * help/C/figures/rb-imported.png:
4628 * help/C/figures/rb-iradio-add.png:
4629 * help/C/figures/rb-iradio.png:
4630 * help/C/figures/rb-nextprev.png:
4631 * help/C/figures/rb-nobrowse-play.png:
4632 * help/C/figures/rb-notification-area-menu.png:
4633 * help/C/figures/rb-player.png:
4634 * help/C/figures/rb-prefs-general.png:
4635 * help/C/figures/rb-prefs-ipod.png:
4636 * help/C/figures/rb-prefs-library.png:
4637 * help/C/figures/rb-prefs.png:
4638 * help/C/figures/rb-repeat.png:
4639 * help/C/figures/rb-search.png:
4640 * help/C/figures/rb-shuffle.png:
4641 * help/C/figures/rb-stats.png:
4642 * help/C/figures/rb-toolbar-editor.png:
4643 * help/C/figures/rb-volume-mute.png:
4644 * help/C/figures/rhythmbox-group.png:
4645 * help/C/figures/rhythmbox-tray-icon.png:
4646 * help/C/user-guide.xml: remove old stuff from cvs
4648 2006-02-19 Jonathan Matthew <jonathan@kaolin.wh9.net>
4650 * metadata/rb-metadata-dbus-client.c:
4651 * metadata/rb-metadata-dbus-service.c:
4652 * metadata/rb-metadata-dbus.c:
4653 * metadata/rb-metadata-dbus.h:
4654 New files, adding an external service for reading and writing
4655 metadata, and an implementation of the RBMetaData interface that uses
4656 dbus to communicate with it.
4658 * metadata/rb-metadata.h,
4659 * metadata/rb-metadata-common.c: (rb_metadata_get_field_type),
4660 (rb_metadata_get_field_name): Put metadata details in a static array
4661 instead of using a hash table, and add a field for language code (not
4663 * metadata/rb-metadata-gst.c: Updates for changes in
4664 rb-metadata-common.c, fix signal handler closure leak for the typefind
4665 element's have-type signal, and add XML to the list of types we ignore.
4666 * rhythmdb/rhythmdb.c: (extract_gtype_from_enum_entry):
4667 Update for changes to rb_metadata_get_field_type
4668 (rhythmdb_entry_allocate): Don't make songs hidden initially, as
4669 rhythmdb_commit_internal do that for non-local files. Saves us a stat
4672 * configure.ac: Add --enable-metadata-helper option (not enabled by
4673 default) to use the external metadata service
4674 * metadata/Makefile.am: Add new files
4675 * metadata/test-metadata.c: Test program for the metadata service
4679 2006-02-19 Jonathan Matthew <jonathan@kaolin.wh9.net>
4681 * shell/rb-shell.c: (rb_shell_cmd_add_file_to_library):
4682 * sources/rb-podcast-source.c: (impl_get_ui_actions),
4683 (rb_podcast_source_cmd_new_podcast):
4684 Move 'new podcast' action to the podcast source, and add it to the
4685 toolbar. Fixes #331562.
4687 2006-02-19 James Livingston <jrl@ids.org.au>
4689 * data/ui/rhythmbox-ui.xml: Move add-to-queue to the top of the context
4690 menus, and away from move-to-trash. Fixes bug 331013.
4692 2006-02-19 James Livingston <jrl@ids.org.au>
4694 * shell/rb-play-order.c: (default_playing_entry_removed): don't crash
4695 when deleting last entry. Fixes bug 331712.
4697 2006-02-18 Jonathan Matthew <jonathan@kaolin.wh9.net>
4699 * widgets/rb-entry-view.c: (rb_entry_view_class_init),
4700 (rb_entry_view_button_press_cb):
4701 * widgets/rb-entry-view.h: Emit show-popup when right clicked
4702 anywhere, and include a flag indicating whether the click was over an
4705 * sources/rb-playlist-source.c: (default_show_entry_view_popup),
4706 (rb_playlist_source_songs_show_popup_cb):
4707 * sources/rb-playlist-source.h:
4708 Add the 'over entry' flag to the class show popup method, and in the
4709 default handler, ignore right clicks when not over an entry.
4711 * sources/rb-iradio-source.c:
4712 (rb_iradio_source_songs_show_popup_cb):
4713 * sources/rb-library-source.c:
4714 (rb_library_source_songs_show_popup_cb):
4715 * sources/rb-podcast-source.c:
4716 (rb_podcast_source_songs_show_popup_cb):
4717 Show the source list popup menu when right clicked while not over an
4720 * sources/rb-play-queue-source.c: (impl_show_entry_view_popup):
4721 For the queue sidebar, always display the popup so the 'clear queue'
4722 action is available regardless of where you click. For the queue
4723 source, only display the popup when right clicked over an entry.
4726 2006-02-19 James Livingston <jrl@ids.org.au>
4728 * daapsharing/rb-daap-share.c: (add_playlist_to_mlcl):
4729 * shell/rb-shell.c: (rb_shell_select_source): don't get the source's
4730 entry view, when we're not even using it
4732 * rhythmdb/rhythmdb-property-model.c:
4733 (rhythmdb_property_model_row_inserted_cb): use the query-model utility
4734 function, rather than a copy of the code.
4736 * shell/rb-playlist-manager.c:
4737 (rb_playlist_manager_playlist_row_inserted_cb),
4738 (rb_playlist_manager_set_source_internal),
4739 (rb_playlist_manager_playlist_entries_changed): use the query-model
4740 directly, rather than the source's entry view.
4742 * shell/rb-source-header.c: don't use the entry view, just select the
4745 2006-02-18 James Livingston <jrl@ids.org.au>
4747 update by: Baptiste Mille-Mathias <bmm80@free.fr>
4749 * help/C/figures/rb-iradio-main.png:
4750 * help/C/figures/rb-notification-area-menu.png:
4751 * help/C/figures/rb-notification-window.png:
4752 * help/C/figures/rb-notification-zone.png:
4753 * help/C/figures/rb-podcast-main.png:
4754 * help/C/figures/rb-statusbar.png:
4755 * help/C/figures/rb-toolbar-prevplaynext.png:
4756 * help/C/figures/rb-toolbar-repeat.png:
4757 * help/C/figures/rb-toolbar-shuffle.png:
4758 * help/C/figures/rb-toolbar.png:
4759 * help/C/figures/rb-volume-changer.png:
4760 * help/C/figures/rb-window-small.png:
4761 * help/C/figures/rb-window.png:
4762 * help/C/rhythmbox.xml: Update user guide with some of the changes
4763 that have occurred after 0.8.8. From bug 314001.
4765 2006-02-18 Jonathan Matthew <jonathan@kaolin.wh9.net>
4767 * rhythmdb/rhythmdb-query-results.h,
4768 rhythmdb/rhythmdb-query-results.c:
4769 New interface for objects that accept query results from RhythmDB.
4771 * rhythmdb/rhythmdb-query-model.c:
4772 (rhythmdb_query_model_query_results_init),
4773 (rhythmdb_query_model_set_query),
4774 (rhythmdb_query_model_add_results),
4775 (rhythmdb_query_model_query_complete):
4776 * rhythmdb/rhythmdb-query-model.h:
4777 Make RhythmDBQueryModel implement the RhythmDBQueryResults interface.
4779 * rhythmdb/rhythmdb-tree.c: (handle_entry_match),
4780 (rhythmdb_tree_do_full_query):
4781 * rhythmdb/rhythmdb.c: (rhythmdb_event_free),
4782 (rhythmdb_query_internal), (rhythmdb_do_full_query_async_parsed),
4783 (rhythmdb_do_full_query_async), (rhythmdb_do_full_query_internal),
4784 (rhythmdb_do_full_query_parsed), (rhythmdb_do_full_query):
4785 * rhythmdb/rhythmdb.h:
4786 Pass query results through the RhythmDBQueryResults interface, rather
4787 than directly to a RhythmDBQueryModel.
4789 * podcast/rb-podcast-manager.c: (rb_podcast_manager_update_feeds),
4790 (rb_podcast_manager_db_entry_deleted_cb):
4791 * sources/rb-auto-playlist-source.c:
4792 (rb_auto_playlist_source_do_query),
4793 (rb_auto_playlist_source_set_query):
4794 * sources/rb-iradio-source.c: (rb_iradio_source_do_query):
4795 * sources/rb-library-source.c: (rb_library_source_constructor),
4796 (rb_library_source_do_query):
4797 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
4798 (rb_podcast_source_do_query):
4799 * rhythmdb/rhythmdb-property-model.c:
4800 (rhythmdb_property_model_drag_data_get):
4801 Cast the query model to RhythmDBQueryResults when passing to one of
4802 the RhythmDB query methods.
4804 * rhythmdb/Makefile.am: Add new files.
4806 2006-02-18 James Livingston <jrl@ids.org.au>
4808 * data/ui/rhythmbox-ui.xml:
4809 * shell/rb-playlist-manager.c:
4810 (_queue_track_cb), (rb_playlist_manager_cmd_queue_playlist): Add
4811 "queue playlist" item to source context menu. Fixes bug 330490.
4813 2006-02-18 James Livingston <jrl@ids.org.au>
4815 * data/glade/general-prefs.glade:
4816 * shell/rb-shell-preferences.c:
4817 (rb_shell_preferences_column_check_changed_cb),
4818 (rb_shell_preferences_sync):
4819 * sources/rb-library-source.c: (rb_library_source_constructor):
4820 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
4821 * widgets/rb-entry-view.c: (rb_entry_view_quality_cell_data_func),
4822 (rb_entry_view_append_column): Add a "quality" colume which indicates
4823 the bitrate of media. Part of bug 167659.
4825 2006-02-18 James Livingston <jrl@ids.org.au>
4827 * shell/rb-play-order.c: (do_next_idle_cb),
4828 (default_playing_entry_removed): move to next track when playing entry
4829 is deleted. Fixes bug 131150.
4831 * shell/rb-shell-player.h: remove ancient stuff
4833 2006-02-17 William Jon McCann <mccann@jhu.edu>
4835 * shell/rb-shell-clipboard.c (rb_shell_clipboard_set_source_internal)
4836 (rb_shell_clipboard_set_property):
4837 * shell/rb-shell.c (rb_shell_sync_party_mode):
4838 Trigger a resync of the clipboard properties when changing party mode.
4840 2006-02-17 William Jon McCann <mccann@jhu.edu>
4842 * sources/rb-static-playlist-source.c: Fix includes.
4844 * sources/rb-source.c (rb_source_can_rename)
4845 (rb_source_can_delete, rb_source_can_move_to_trash):
4846 Return FALSE if in party mode.
4848 * shell/rb-shell.[ch] (rb_shell_finalize, rb_shell_constructor):
4849 Replace fullscreen with party mode.
4850 (rb_shell_window_delete_cb): Don't quit if in party mode.
4851 (rb_shell_view_party_mode_changed_cb): Setup party mode.
4852 (window_state_event_cb): Try to deiconify shell when iconified
4854 (rb_shell_sync_party_mode): Sync party mode properties.
4855 Currently, that means [de]sensitizing close, quit, and small-display,
4856 going into fullscreen mode with window stuck and kept above, and
4857 toggling queue-only for the shell player.
4858 (rb_shell_sync_smalldisplay): Sensitive party mode.
4859 (rb_shell_get_party_mode): Get party mode setting.
4861 * shell/rb-shell-player.c (rb_shell_player_class_init)
4862 (rb_shell_player_set_property, rb_shell_player_get_property):
4863 Add queue-only property.
4864 (rb_shell_player_entry_activated_cb): If in party mode
4865 only queue the entry on activation.
4867 * shell/rb-playlist-manager.c (rb_playlist_manager_set_source_internal):
4868 Break out from set_properties. Desensitize some actions when
4870 (rb_playlist_manager_set_property): Break out set_source_internal.
4872 * data/rhythmbox.schemas: Remove fullscreen mode.
4874 * data/ui/rhythmbox-ui.xml: Replace fullscreen
4875 action with party mode.
4877 Partial fix for #323933
4879 2006-02-17 James Livingston <jrl@ids.org.au>
4882 * shell/rb-removable-media-manager.c:
4883 (get_nautilus_burn_drive_for_path),
4884 (rb_removable_media_manager_playing_uri_changed_cb): only use
4885 nautilus_burn_drive_new_by_path when it exists, fall back to iterating
4886 over the list when it doesn't.
4888 2006-02-17 James Livingston <jrl@ids.org.au>
4890 * sources/rb-iradio-source.c: (rb_iradio_source_constructor),
4891 (rb_iradio_source_first_time_changed): Only do the import on the
4892 first change from FALSE to TRUE.
4894 * sources/rb-library-source.c:
4895 (rb_library_source_preferences_sync),
4896 (rb_library_source_library_location_cb): set the first-run done flag
4897 if the user presses close and then sets their watches library
4898 location. Fixes bug 325997.
4900 2006-02-17 James Livingston <jrl@ids.org.au>
4902 * shell/rb-shell.c: (rb_shell_class_init): make the shell player and
4903 removable media manager gobject properties
4905 * shell/rb-removable-media-manager.c: (begin_cd_drive_monitor),
4906 (split_drive_from_cdda_uri),
4907 (rb_removable_media_manager_playing_uri_changed_cb),
4908 (rb_removable_media_manager_load_media): stop polling a cd drive
4909 when we are playing from it. Part of bug 330716.
4911 2006-02-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
4913 * rhythmdb/rhythmdb-query-model.c:
4914 (rhythmdb_query_model_set_property),
4915 (rhythmdb_query_model_finalize),
4916 (rhythmdb_query_model_base_entry_removed):
4917 Propagate entry removal from base models out to attached property
4918 models. Fixes the rest of #331165.
4920 2006-02-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
4922 * rhythmdb/rhythmdb-property-model.c:
4923 (rhythmdb_property_model_row_inserted_cb),
4924 (rhythmdb_property_model_prop_changed_cb),
4925 (rhythmdb_property_model_insert):
4926 Don't store NULL as a hash table value if we want to use
4927 g_hash_table_lookup to check if a key exists, and get the checks for
4928 how and whether to handle entry changes the right way around.
4929 Fixes #331211 and half of #331165.
4931 2006-02-16 James Livingston <jrl@ids.org.au>
4933 * sources/rb-audiocd-source.c: (rb_audiocd_source_constructor): read
4934 the audio cd's TOC in a separate thread, so it doesn't block the UI.
4937 2006-02-16 James Livingston <jrl@ids.org.au>
4939 * widgets/rb-library-browser.c: (reset_view_cb): make View All
4940 actually reset the browsers.
4942 2006-02-16 Jonathan Matthew <jonathan@kaolin.wh9.net>
4944 * widgets/eggtrayicon.c: (egg_tray_icon_notify):
4945 Escape the strings we pass into libnotify so we don't get blank
4946 notifications when the song name contains '&' etc. Fixes #330784.
4948 2006-02-16 James Livingston <jrl@ids.org.au>
4950 * shell/rb-source-header.c: (rb_source_header_sync_control_state):
4951 enable "View All" when there is only a search box and no browser.
4954 2006-02-16 Jonathan Matthew <jonathan@kaolin.wh9.net>
4956 * data/ui/rhythmbox-ui.xml: Add 'clear queue' to the sidebar queue
4957 popup menu, which I forgot to commit with the patch for bug #330014.
4959 2006-02-16 Jonathan Matthew <jonathan@kaolin.wh9.net>
4961 * shell/rb-shell-player.c: (open_location_thread):
4962 Sync button and entry view state once we've started the player, so the
4963 entry view gets into the playing state for iradio.
4965 2006-02-15 Jonathan Matthew <jonathan@kaolin.wh9.net>
4967 * shell/rb-shell-player.c: (open_location_thread):
4968 Take GDK lock before doing anything UI-related.
4970 2006-02-15 Jonathan Matthew <jonathan@kaolin.wh9.net>
4972 * shell/rb-shell.c: Move 'new iradio station' action to
4975 * sources/rb-iradio-source.c: (rb_iradio_source_class_init),
4976 (rb_iradio_source_init), (rb_iradio_source_finalize),
4977 (rb_iradio_source_constructor):
4978 Remove some unused stuff.
4980 (guess_uri_scheme), (rb_iradio_source_add_station),
4981 (rb_iradio_source_add_from_playlist),
4982 (impl_get_ui_actions), (new_station_location_added),
4983 (rb_iradio_source_cmd_new_station): Handle 'new iradio station'
4984 action, include it in the toolbar, and make sure the URI we add has a
4985 scheme. Fixes #327059, more or less.
4987 2006-02-15 Jonathan Matthew <jonathan@kaolin.wh9.net>
4989 * sources/rb-play-queue-source.c:
4990 (rb_play_queue_source_class_init),
4991 (rb_play_queue_source_constructor),
4992 (rb_play_queue_source_update_count),
4993 (rb_play_queue_source_cmd_clear), (impl_get_ui_actions):
4994 Add a toolbar button to clear the play queue, and make it sensitive
4995 only when there are entries in the queue. Fixes #330014.
4997 * sources/rb-source.c: (_rb_source_register_action_group):
4998 * sources/rb-source.h: Add helper function to register an
4999 action group for a source.
5001 * sources/rb-library-source.c: (rb_library_source_constructor):
5002 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
5003 (register_action_group): Use _rb_source_register_action_group.
5005 2006-02-15 James Livingston <jrl@ids.org.au>
5007 * widgets/rb-song-info.c: (rb_song_info_add_completion),
5008 (rb_song_info_constructor), (rb_song_info_set_property): make
5009 tag-editing completion work for albums too.
5011 2006-02-15 Jonathan Matthew <jonathan@kaolin.wh9.net>
5013 * widgets/rb-query-creator.c: (rb_query_creator_load_query):
5014 Check the 'limit' checkbox for time-limited playlists.
5016 2006-02-14 Sven Herzberg <herzi@gnome-de.org>
5018 * widgets/rb-song-info.c: Prove text-completion when editing title,
5021 2006-02-14 James Livingston <jrl@ids.org.au>
5023 * data/ui/rhythmbox-ui.xml: add a separator above the Quit item of the
5024 tray icon popup menu. Fixes bug 331026.
5026 2006-02-14 James Livingston <jrl@ids.org.au>
5028 * data/iradio-initial.pls: update the Virgin Radio stations to use the
5029 Ogg Vorbis streams, instead of the MP3 ones.
5031 2006-02-14 James Livingston <jrl@ids.org.au>
5033 * rhythmdb/rhythmdb-property-model.c:
5034 (rhythmdb_property_model_class_init),
5035 (rhythmdb_property_model_drag_data_get):
5036 * rhythmdb/rhythmdb-query-model.c:
5037 (rhythmdb_query_model_title_sort_func):
5038 * rhythmdb/rhythmdb-query-model.h: fix drag-and-drop when using the
5039 LOCATION as the key. Fixes bug 330601.
5041 2006-02-13 Jonathan Matthew <jonathan@kaolin.wh9.net>
5043 * sources/rb-playlist-source.c: (playlist_iter_func):
5044 Make it compile with older versions of totem-plparser too.
5046 2006-02-13 James Livingston <jrl@ids.org.au>
5048 * rhythmdb/rhythmdb.h:
5049 * rhythmdb/rhythmdb-private.h: Make definition of RhythmDBEntry
5050 structure private, since things should use the accessor functions
5051 rather than manipulating it directly - Only RhythmDB and the
5052 implementation classes should access it directly. Part of the RhythmDB
5053 cleanup of bug 330226.
5055 * iradio/rb-station-properties-dialog.c:
5056 (rb_station_properties_dialog_update_title),
5057 (rb_station_properties_dialog_update_title_entry),
5058 (rb_station_properties_dialog_update_genre),
5059 (rb_station_properties_dialog_update_location),
5060 (rb_station_properties_dialog_update_play_count),
5061 (rb_station_properties_dialog_update_bitrate),
5062 (rb_station_properties_dialog_update_last_played),
5063 (rb_station_properties_dialog_update_rating),
5064 (rb_station_properties_dialog_update_playback_error),
5065 (rb_station_properties_dialog_sync_entries):
5066 * podcast/rb-feed-podcast-properties-dialog.c:
5067 (rb_feed_podcast_properties_dialog_update_title),
5068 (rb_feed_podcast_properties_dialog_update_title_label),
5069 (rb_feed_podcast_properties_dialog_update_author),
5070 (rb_feed_podcast_properties_dialog_update_location),
5071 (rb_feed_podcast_properties_dialog_update_copyright),
5072 (rb_feed_podcast_properties_dialog_update_language),
5073 (rb_feed_podcast_properties_dialog_update_summary):
5074 * podcast/rb-podcast-manager.c:
5075 (rb_podcast_manager_entry_downloaded),
5076 (rb_podcast_manager_db_entry_added_cb),
5077 (download_progress_update_cb),
5078 (rb_podcast_manager_db_entry_deleted_cb):
5079 * podcast/rb-podcast-properties-dialog.c:
5080 (rb_podcast_properties_dialog_update_title),
5081 (rb_podcast_properties_dialog_update_title_label),
5082 (rb_podcast_properties_dialog_update_feed),
5083 (rb_podcast_properties_dialog_update_location),
5084 (rb_podcast_properties_dialog_update_play_count),
5085 (rb_podcast_properties_dialog_update_bitrate),
5086 (rb_podcast_properties_dialog_update_last_played),
5087 (rb_podcast_properties_dialog_update_rating),
5088 (rb_podcast_properties_dialog_update_date),
5089 (rb_podcast_properties_dialog_update_description):
5090 * rhythmdb/rhythmdb-query-model.c:
5091 (rhythmdb_query_model_entry_changed_cb),
5092 (rhythmdb_query_model_remove_from_main_list),
5093 (rhythmdb_query_model_update_limited_entries),
5094 (rhythmdb_query_model_drag_data_get),
5095 (rhythmdb_query_model_album_sort_func):
5096 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
5098 * rhythmdb/rhythmdb.c: (rhythmdb_entry_set_internal),
5099 (rhythmdb_prop_get_type), (rhythmdb_entry_dup_string),
5100 (rhythmdb_entry_get_string), (rhythmdb_entry_get_boolean),
5101 (rhythmdb_entry_get_uint64), (rhythmdb_entry_get_ulong),
5102 (rhythmdb_entry_get_double):
5103 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_song_changed_cb):
5104 * shell/rb-play-order-random-by-age-and-rating.c:
5105 (rb_random_by_age_and_rating_get_entry_weight):
5106 * shell/rb-play-order-random-by-age.c:
5107 (rb_random_by_age_get_entry_weight):
5108 * shell/rb-play-order-random-by-rating.c:
5109 (rb_random_by_rating_get_entry_weight):
5110 * shell/rb-playlist-manager.c: (create_name_from_selection_data):
5111 * shell/rb-shell-player.c: (rb_shell_player_open_entry),
5112 (rb_shell_player_set_playing_entry),
5113 (rb_shell_player_sync_replaygain),
5114 (rb_shell_player_sync_with_source),
5115 (rb_shell_player_get_playing_song_duration), (info_available_cb):
5116 * sources/rb-playlist-source.c: (playlist_iter_func),
5117 (burn_playlist_iter_func), (rb_playlist_source_row_deleted),
5118 (rb_playlist_source_entry_added_cb):
5119 * sources/rb-podcast-source.c:
5120 (rb_podcast_source_post_status_cell_data_func):
5121 * sources/rb-source.c: (rb_source_update_play_statistics):
5122 * sources/rb-sourcelist-model.c:
5123 (rb_sourcelist_model_drag_data_get):
5124 * sources/rb-static-playlist-source.c: (impl_save_contents_to_xml),
5125 (rb_static_playlist_source_add_entry),
5126 (rb_static_playlist_source_remove_entry):
5127 * widgets/rb-entry-view.c: (type_ahead_search_func),
5128 (rb_entry_view_playing_cell_data_func),
5129 (rb_entry_view_rating_cell_data_func),
5130 (rb_entry_view_pixbuf_clicked_cb):
5131 * widgets/rb-header.c: (rb_header_get_duration):
5132 * widgets/rb-song-info.c: (rb_song_info_populate_dialog_multiple),
5133 (rb_song_info_populate_dialog),
5134 (rb_song_info_update_playback_error),
5135 (rb_song_info_update_bitrate), (rb_song_info_update_duration),
5136 (rb_song_info_update_location), (rb_song_info_update_play_count),
5137 (rb_song_info_update_last_played), (rb_song_info_update_rating),
5138 (rb_song_info_update_year), (rb_song_info_sync_entries_multiple),
5139 (rb_song_info_sync_entry_single): fix the huge number of times that
5140 the internals got accessed directly.
5142 2006-02-13 Jonathan Matthew <jonathan@kaolin.wh9.net>
5144 * data/ui/rhythmbox-ui.xml: Move separator so 'remove' and 'move to
5145 trash' are grouped together.
5146 * shell/main.c: (main): Pass no-registration flag in to RBShell
5147 constructor, rather than mysteriously always passing TRUE.
5148 * sources/rb-playlist-source.c: (rb_playlist_source_row_deleted):
5149 Set dirty flag when entries are removed from the model, so the play
5150 queue is marked dirty appropriately.
5151 * AUTHORS: update my email address
5153 2006-02-13 Jonathan Matthew <jonathan@kaolin.wh9.net>
5155 Patch by: Baptiste Mille-Mathias <bmm80@free.fr>
5157 * widgets/rb-druid.c: (path_dialog_response_cb):
5158 If the URI is local, don't display the 'file://' prefix.
5161 2006-02-12 Jonathan Matthew <jonathan@kaolin.wh9.net>
5163 * widgets/eggtrayicon.c: (egg_tray_icon_notify):
5164 Attach the notification to the tray icon widget, so libnotify
5165 positions it less badly. Fixes #330876.
5167 2006-02-11 Jonathan Matthew <jonathan@kaolin.wh9.net>
5169 * widgets/rb-entry-view.c: (rb_entry_view_get_selected_entries):
5170 Reverse the selection list before returning it, so we get it in the
5171 right order. Fixes #330283 and some other weirdness.
5173 2006-02-11 James Livingston <jrl@ids.org.au>
5175 * shell/rb-shell.c: (rb_shell_constructor),
5176 (rb_shell_sync_fullscreen), (rb_shell_sync_smalldisplay):
5177 * shell/rb-source-header.c: (rb_source_header_sync_control_state):
5178 make small-mode and fullscreen mutually exclusive, since they don't
5181 * data/ui/rhythmbox-ui.xml: move Fullscreen up to the top with Small
5184 2006-02-10 James Livingston <jrl@ids.org.au>
5186 * player/rb-player-gst.c: turn paranoia of when playing audio cds,
5187 since it can cause it to be slower than real-time. Should fix bug
5190 2006-02-10 Jonathan Matthew <jonathan@kaolin.wh9.net>
5192 * rhythmdb/rhythmdb-query-model.c:
5193 (rhythmdb_query_model_set_property):
5194 Think just a little bit harder about that last commit.
5196 2006-02-10 Jonathan Matthew <jonathan@kaolin.wh9.net>
5198 * rhythmdb/rhythmdb-query-model.c:
5199 (rhythmdb_query_model_set_property):
5200 Get the check for hidden entries the right way around.
5201 Fixes #330527, #330514.
5203 (rhythmdb_query_model_set_sort_order):
5204 Ignore no-op sort order changes, so we don't get critical
5205 messages when selecting 'all' in auto playlist browsers.
5207 2006-02-10 Jonathan Matthew <jonathan@kaolin.wh9.net>
5209 Patch by: Christophe Fergeau <teuf@gnome.org>
5211 * sources/rb-removable-media-source.c:
5212 (rb_removable_media_source_init),
5213 (rb_removable_media_source_constructor):
5214 Move icon setup code to the constructor, as the volume property
5215 haven't been set yet when _init is called.
5217 2006-02-09 William Jon McCann <mccann@jhu.edu>
5219 * sources/rb-sourcelist.c (rb_sourcelist_append, icon_notify_cb):
5220 Make the source pixbuf a dynamic property.
5222 * sources/rb-source.[ch] (rb_source_class_init, rb_source_finalize)
5223 (rb_source_set_pixbuf, rb_source_set_property)
5224 (rb_source_get_property): Add icon property.
5226 * sources/rb-auto-playlist-source.c (rb_auto_playlist_source_class_init)
5227 (rb_auto_playlist_source_init):
5228 * sources/rb-static-playlist-source.c (rb_static_playlist_source_class_init)
5229 (rb_static_playlist_source_init):
5230 * sources/rb-removable-media-source.c (rb_removable_media_source_class_init)
5231 (rb_removable_media_source_init):
5232 * sources/rb-podcast-source.c (rb_podcast_source_class_init)
5233 (rb_podcast_source_init):
5234 * sources/rb-library-source.c (rb_library_source_class_init)
5235 (rb_library_source_set_property, rb_library_source_get_property):
5236 * sources/rb-iradio-source.c (rb_iradio_source_class_init)
5237 (rb_iradio_source_init): Remove impl_get_pixbuf and
5238 set icon property on source base class.
5240 * sources/rb-daap-source.c (rb_daap_get_icon): Get
5241 a different icon for when the share is password protected
5243 (rb_daap_source_new): Set icon property.
5244 (composite_icons): Composite an emblem on a pixbuf.
5245 (create_pixbufs): Load global pixbufs.
5246 (destroy_pixbufs): unref global pixbufs.
5247 (rb_daap_sources_init, rb_daap_sources_shutdown): Pixbuf setup.
5248 (connection_auth_cb, connection_connected_cb)
5249 (connection_disconnected_cb): Update icon when connection
5251 (rb_daap_source_activate): Connect signals.
5253 * daapsharing/rb-daap-share.c (name_collision_cb): Run
5256 * daapsharing/rb-daap-marshal.list: Add new signal.
5258 * daapsharing/rb-daap-dialog.[ch] (rb_daap_password_dialog_new_run)
5259 (rb_daap_collision_dialog_new_run): Set parent of dialog.
5261 * daapsharing/rb-daap-connection.[ch] (rb_daap_connection_class_init):
5262 Add authenticate, connected, and disconnected signals.
5263 (connection_get_password): emit authenticate signal instead
5264 of running dialog directly.
5265 (connection_connected, connection_disconnected): Emit signals.
5266 (handle_login): Emit connected signal.
5267 (handle_logout): Emit disconnected signal.
5268 (rb_daap_connection_do_something): Fix leak.
5272 2006-02-09 James Livingston <jrl@ids.org.au>
5274 * (rhythmdb_query_model_set_property): don't try to insert HIDDEN
5275 entries from the base model if we don't have show-hidden set. Fixes
5278 2006-02-08 William Jon McCann <mccann@jhu.edu>
5280 * daapsharing/rb-daap-share.c (message_get_session_id):
5281 Ugh. Use strtoul instead of atoi.
5282 (session_id_validate): Add debug statements.
5284 2006-02-08 William Jon McCann <mccann@jhu.edu>
5286 * daapsharing/rb-daap-connection.c (http_response_handler):
5287 Report the actual uri from the message in debug statements.
5289 2006-02-08 William Jon McCann <mccann@jhu.edu>
5291 * daapsharing/rb-daap-share.c (server_info_cb, content_codes_cb):
5292 Add context argument.
5293 (message_get_session_id): New function to parse session id from
5295 (message_get_revision_number): Break out function to parse
5296 revision number from the message.
5297 (session_id_validate): New function to validate given session id
5298 is valid for given context (ie. client address).
5299 (session_id_generate): Generate a random session id.
5300 (session_id_create): Create a unique session id and store it.
5301 (session_id_remove): Remove a session id from the store.
5302 (login_cb): Create a session id instead of using a constant one.
5303 (logout_cb): Validate session id.
5304 (update_cb): Use new message_get_revision_number function.
5305 (databases_cb): Validate session id.
5306 (server_cb): Add server context to argument list for callbacks. It
5307 is needed to look up the remote host.
5308 (db_entry_changed_cb): Use braces.
5309 (soup_auth_callback): Remove FIXME.
5310 (rb_daap_share_server_start): Create session id store.
5311 (rb_daap_share_server_stop): Destroy session id store.
5313 * daapsharing/rb-daap-dialog.c (rb_daap_password_dialog_new_run):
5314 Don't base64-encode password here since it needs to be
5315 combined with the username first.
5317 * daapsharing/rb-daap-connection.c (build_message):
5318 Add username to Authorization token.
5319 (handle_login, handle_song_listing)
5320 (rb_daap_connection_do_something): Session id
5321 must be an unsigned int.
5325 2006-02-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
5327 * shell/rb-shell-player.c: (rb_shell_player_get_playing):
5328 Don't check if we've got a playing entry, ask the player object (duh).
5329 Might actually fix #329993.
5331 2006-02-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
5333 * sources/rb-static-playlist-source.c:
5334 (rb_static_playlist_source_add_list_uri):
5335 Canonicalise URIs before trying to add them to the playlist, and
5336 don't try to add files to the database for which there is
5339 2006-02-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
5341 * shell/rb-shell-player.c: (rb_shell_player_get_playing):
5342 Don't ask the entry view if we're playing, just check if we've got a
5343 playing entry. Fixes #329993.
5345 2006-02-08 James Livingston <jrl@ids.org.au>
5347 * rhythmdb/rhythmdb-query-model.c:
5348 (rhythmdb_query_model_set_property),
5349 (rhythmdb_query_model_finalize),
5350 (rhythmdb_query_model_base_complete): remove
5351 rhythmdb_query_model_base_entry_prop_changed, so that two signals
5352 don't get emitted for entry changes. Fixes bug 330301.
5354 * widgets/rb-library-browser.c: (rb_library_browser_class_init),
5355 (rb_library_browser_init), (rb_library_browser_constructor),
5356 (rb_library_browser_new): do stuff in the constructor, not the init
5357 function, so that the db property gets set on RBPropertyViews
5358 correctly. Fixes a crash when dragging properties to a playlist.
5360 2006-02-07 William Jon McCann <mccann@jhu.edu>
5362 * daapsharing/rb-daap-share.c (rb_daap_share_server_stop):
5363 Actually stop soup server. Fixes #329816.
5365 2006-02-07 James Livingston <jrl@ids.org.au>
5368 * lib/rb-util.c: (rb_string_list_equal), (list_copy_cb),
5369 (rb_string_list_copy), (rb_list_deep_free), (collate_keys_cb),
5370 (collate_values_cb), (rb_collate_hash_table_keys),
5371 (rb_collate_hash_table_values): add functions to compare, copy and
5372 free string-lists. add functions to collate the keys or values of a
5373 hash table into a list.
5375 * rhythmdb/rhythmdb-property-model.c:
5376 (rhythmdb_property_model_class_init), (entry_from_tree_iter),
5377 (_remove_entry_cb), (_add_entry_cb),
5378 (rhythmdb_property_model_set_property),
5379 (rhythmdb_property_model_get_property),
5380 (rhythmdb_property_model_init), (rhythmdb_property_model_finalize),
5381 (rhythmdb_property_model_row_inserted_cb),
5382 (rhythmdb_property_model_prop_changed_cb),
5383 (rhythmdb_property_model_entry_removed_cb): correctly handle entries
5384 that are hidden, storing those that we have counted in a hash-table.
5386 * shell/Makefile.am: fix build order issue
5388 * shell/rb-shell-player.c: (rb_shell_player_set_property):
5389 * sources/rb-source.h:
5390 * shell/rb-source-header.c: (rb_source_header_sync_control_state):
5391 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
5392 * sources/rb-podcast-source.c: (feed_select_change_cb): add
5393 browser-toggled method, rename _get_exta_views to _get_property_views,
5394 since several things depend on returning only that.
5396 * sources/rb-source.c: (rb_source_class_init),
5397 (rb_source_browser_toggled), (default_get_property_views),
5398 (rb_source_get_property_views), (rb_source_row_deleted_cb),
5399 (rb_source_gather_hash_keys),
5400 (rb_source_gather_selected_properties): above changes, and move some
5401 utility functions up from RBLibraryView
5403 * widgets/rb-property-view.c:
5404 (rb_property_view_selection_changed_cb): fix leak.
5406 * rhythmdb/rhythmdb-query-model.c:
5407 (rhythmdb_query_model_set_property),
5408 (rhythmdb_query_model_finalize), (apply_updated_entry_sequence),
5409 (rhythmdb_query_model_set_sort_order),
5410 (rhythmdb_query_model_base_rows_reordered): fix handling of the base
5411 query model being resorted.
5413 * rhythmdb/rhythmdb-tree.c: (do_query_recurse): handle being passed a
5416 * rhythmdb/rhythmdb.h:
5417 * rhythmdb/rhythmdb.c: (rhythmdb_query_copy),
5418 (rhythmdb_query_concatenate), (rhythmdb_query_preprocess),
5419 (rhythmdb_query_append_prop_multiple): Add a function to concatenate
5420 two queries. Add a function to append "property={X,Y,Z,...}" to a
5423 * sources/rb-library-source.c: (rb_library_source_class_init),
5424 (rb_library_source_finalize), (rb_library_source_constructor),
5425 (rb_library_source_cmd_choose_genre),
5426 (rb_library_source_cmd_choose_artist),
5427 (rb_library_source_cmd_choose_album), (impl_search),
5428 (impl_get_property_views), (impl_reset_filters),
5429 (rb_library_source_preferences_sync),
5430 (rb_library_source_browser_views_activated_cb),
5431 (rb_library_source_state_prefs_sync),
5432 (construct_query_from_selection), (rb_library_source_do_query),
5433 (rb_library_source_browser_changed_cb):
5434 * widgets/Makefile.am:
5435 * widgets/rb-library-browsers.{c,h}: Add a generalised "library
5436 browser" widgets, which contains several property views, based on the
5437 code from RBLibrarySource. Make RBLibrarySource use it.
5439 * sources/rb-auto-playlist-source.c:
5440 (rb_auto_playlist_source_class_init),
5441 (rb_auto_playlist_source_init), (rb_auto_playlist_source_finalize),
5442 (rb_auto_playlist_source_constructor), (impl_reset_filters),
5443 (impl_get_property_views), (impl_browser_toggled),
5444 (construct_query_from_selection),
5445 (rb_auto_playlist_source_do_query),
5446 (rb_auto_playlist_source_set_query),
5447 (rb_auto_playlist_source_browser_changed_cb): Use the new
5448 library-browser widget to add browsers to automatic playlists.
5450 2006-02-07 James Livingston <jrl@ids.org.au>
5452 * player/rb-player-gst.c: (rb_player_bus_cb): check error type
5454 * shell/rb-shell-player.c: (do_next_idle): use eos_cb, so that the EOF
5455 type of the source is taken into account. Fixes bug 329621.
5457 2006-02-07 James Livingston <jrl@ids.org.au>
5459 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_start_element),
5460 (rhythmdb_tree_parser_end_element): update the rhythmdb.xml version to
5461 1.1, and perform URI canonicalistion when first upgrading. This should
5462 fix our remaining canonicalisation issues, such as bug 329988.
5464 2006-02-07 Jonathan Matthew <jonathan@kaolin.hn.org>
5466 * widgets/rb-entry-view.c: (rb_entry_view_playing_song_changed):
5467 Track the playing entry when the entry view isn't in the playing
5468 state, so we don't have to get the state changes exactly right.
5471 2006-02-06 James Livingston <jrl@ids.org.au>
5473 * shell/rb-shell-player.c: (open_location_thread),
5474 (rb_shell_player_open_location): fix several iradio issues: having to
5475 press play after double-clicking on a station, not working correctly
5476 without a http:// prefix, and ignoring totem-plparser results other
5477 than success or error (e.g. IGNORE).
5479 2006-02-06 Jonathan Matthew <jonathan@kaolin.hn.org>
5481 Addition of dbus methods for dealing with static playlists and the
5482 play queue. Fixes #329958.
5484 * shell/Makefile.am:
5485 * shell/rb-playlist-manager.h:
5486 * shell/rb-playlist-manager.xml:
5487 * shell/rb-playlist-manager.c: (save_playlist_response_cb),
5488 (rb_playlist_manager_get_playlists),
5489 (rb_playlist_manager_get_playlist_names), (_get_playlist_by_name),
5490 (rb_playlist_manager_create_static_playlist),
5491 (rb_playlist_manager_delete_playlist),
5492 (rb_playlist_manager_add_to_playlist),
5493 (rb_playlist_manager_remove_from_playlist),
5494 (rb_playlist_manager_export_playlist):
5495 Add org.gnome.Rhythmbox.PlaylistManager dbus interface, with methods
5496 to create, delete, list, modify, export, and import static playlists.
5498 * shell/main.c: (main): Register playlist manager object with dbus.
5501 * shell/rb-shell.xml:
5502 * shell/rb-shell.c: (rb_shell_get_playlist_manager),
5503 (rb_shell_get_playlist_manager_path), (rb_shell_add_to_queue),
5504 (rb_shell_remove_from_queue): Provide dbus access to the playlist manager
5505 object, and implement the addToQueue and removeFromQueue methods.
5507 * sources/rb-playlist-source.c: (rb_playlist_source_save_playlist):
5508 * sources/rb-playlist-source.h: Add flag to choose between PLS and M3U
5511 2006-02-05 James Livingston <jrl@ids.org.au>
5513 * rhythmdb/rhythmdb-tree.c: (parse_boolean),
5514 (rhythmdb_tree_parser_end_element), (save_entry_boolean),
5515 (save_entry): allow storage of booleans in the on-disk db, and
5516 save/load the HIDDEN property.
5518 * rhythmdb/rhythmdb.c: (rhythmdb_commit_internal),
5519 (rhythmdb_prop_get_type): restore the HIDDEN property of local files
5520 to the state it was when RB shutdown. This makes RB appear to start
5521 faster, as tracks can appear before the stat is done. Remote files
5522 still start hidden. From bug 325215.
5524 2006-02-05 James Livingston <jrl@ids.org.au>
5526 * rhythmdb/rhythmdb.c: (rhythmdb_class_init):
5527 * rhythmdb/rhythmdb.h: remove the "entry-restored" signal nothing
5528 really cares about the difference from "entry-added", and it isn't
5529 emitted by the tree backend anyway.
5531 * rhythmdb/rhythmdb-query-model.c:
5532 (rhythmdb_query_model_constructor):
5533 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
5534 remove the references to the entry-restored signal.
5536 2006-02-05 James Livingston <jrl@ids.org.au>
5538 * shell/rb-shell-player.c: (rb_shell_player_error): fix compilation
5541 2006-02-05 James Livingston <jrl@ids.org.au>
5543 * widgets/rb-entry-view.c: (rb_entry_view_finalize): check whether
5544 things are NULL before using g_object_unref. Fixes bug 327452.
5546 * player/rb-recorder-gst.c: (rb_recorder_construct):
5547 * shell/rb-shell-player.c: (rb_shell_player_error): return errors
5548 rather than assertion.
5550 * sources/rb-playlist-source.c: (rb_playlist_source_new_from_xml):
5551 emit a warning, rather than asserting if an unknown playlist type is
5554 2006-02-05 James Livingston <jrl@ids.org.au>
5556 * widgets/Makefile.am:
5557 * widgets/rb-simple-view.c:
5558 * widgets/rb-simple-view.h: Move the two features that this class
5559 provides into RBPropertyView, and remove this class. Closes bug
5562 * podcast/rb-feed-podcast-properties-dialog.c:
5563 * podcast/rb-feed-podcast-properties-dialog.h:
5564 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
5565 (rb_podcast_source_feeds_show_popup_cb):
5566 * sources/rb-podcast-source.h:
5567 * widgets/rb-property-view.c: (rb_property_view_class_init),
5568 (rb_property_view_constructor), (rb_property_view_popup_menu_cb),
5569 (rb_property_view_append_column_custom),
5570 (rb_property_view_button_press_cb):
5571 * widgets/rb-property-view.h: Updated for the above change.
5573 2006-02-04 James Livingston <jrl@ids.org.au>
5575 * shell/rb-shell.c: remove the show/hide toolbar shortcut, since it is
5576 too close to Move to Trash and people aren't likely to use it often.
5578 2006-02-04 James Livingston <jrl@ids.org.au>
5580 * shell/rb-shell.c: (rb_shell_cmd_about): Fix the FSF's address
5582 2006-02-04 James Livingston <jrl@ids.org.au>
5584 * rhythmdb/rhythmdb.c: (rhythmdb_add_uri_with_type): handle being
5585 passed a path instead of a URI.
5587 * sources/rb-generic-player-source.c: (default_get_mount_path):
5588 * widgets/rb-druid.c: (path_dialog_response_cb): pass URIs instead of
5589 the path. This fixes bug 329723.
5591 2006-02-04 Jonathan Matthew <jonathan@kaolin.hn.org>
5593 * daapsharing/rb-daap-structure.c:
5594 (rb_daap_content_code_string_as_int32):
5595 Use network byte order.
5597 2006-02-03 William Jon McCann <mccann@jhu.edu>
5599 * sources/rb-daap-source.c: Use RBDaapMdnsBrowser object.
5600 Use a hash for source lookup.
5601 (mdns_service_added, mdns_service_removed): Handle
5602 service-added and service-removed signals from RBDaapMdnsBrowser.
5603 (remove_source): GDestroyNotify function for when sources
5604 are removed from the hash.
5605 (start_browsing): Create RBDaapMdnsBrowser and source lookup.
5606 (stop_browsing): Unref RBDaapMdnsBrowser and destroy source lookup.
5607 (rb_daap_sources_shutdown): Update.
5608 (source_host_find): GHRFunc for finding a source by ip.
5609 (rb_daap_source_find_for_uri): Use the hash source lookup.
5611 * shell/rb-shell-preferences.c (share_check_button_toggled_cb):
5613 (password_check_button_toggled_cb): Handle password enabled.
5614 (share_name_entry_focus_out_event_cb): Namespace keys.
5615 Handle changes more robustly.
5616 (share_password_entry_focus_out_event_cb): Handle password entry.
5617 (add_daap_preferences): Connect to password signals.
5619 * lib/rb-preferences.h: Add DAAP keys.
5621 * data/glade/daap-prefs.glade: Add password UI.
5623 * data/rhythmbox.schemas: Add password keys.
5625 * daapsharing/rb-daap-src.c (rb_daap_src_open): Replace
5626 assert with warning.
5628 * daapsharing/rb-daap-sharing.c: Fix includes. Move
5629 gconf keys to lib/rb-preferences.h. Namespace
5631 (create_share): Add password support.
5632 (enable_sharing_changed_cb): Namespaced keys.
5633 (require_password_changed_cb): Handle key change.
5634 (share_name_changed_cb): Namespaced keys.
5635 (share_password_changed_cb): Handle key change.
5636 (rb_daap_sharing_init): Namespaced keys.
5637 (rb_daap_sharing_shutdown): Ditto.
5639 * daapsharing/rb-daap-share.[ch] (rb_daap_share_class_init):
5640 Add password property.
5641 (rb_daap_share_set_name): Break out prop set function.
5642 (published_cb): New RBDaapMdnsPublisher signal handler.
5643 (name_collision_cb): Ditto.
5644 (rb_daap_share_init): Create publisher object and
5646 (rb_daap_share_set_password, rb_daap_share_set_playlist_manager)
5647 (rb_daap_share_set_property): Break out prop set functions.
5648 (rb_daap_share_dispose): Stop publishing. Stop DAAP server.
5650 (rb_daap_share_new): Add password argument. Start
5651 publishing and DAAP server.
5652 (message_set_from_rb_daap_structure): Change print to debug.
5653 (server_info_cb): Set auth method to publish.
5654 (logout_cb): Handle DAAP client logout.
5655 (update_cb): Remove C++ comments.
5656 (databases_cb): Ditto. Make message a warning. Make print a debug.
5657 (server_cb): Add debug.
5658 (soup_auth_callback): Handle auth requests.
5659 (rb_daap_share_server_start): Split up functions for starting
5660 server and publishing. Add auth handling to server.
5661 (rb_daap_share_server_stop): Split stop server and publish.
5663 (rb_daap_share_publish_start, rb_daap_share_publish_stop):
5664 Start and stop publishing.
5665 (rb_daap_share_restart): Restart server and publishing.
5666 (rb_daap_share_maybe_restart): Conditionally restart.
5668 * daapsharing/rb-daap-dialog.c (rb_daap_password_dialog_new_run)
5669 (rb_daap_collision_dialog_new_run): Don't use
5670 separators in dialogs.
5672 * daapsharing/rb-daap-connection.h: Add private
5673 data to class structure.
5675 * daapsharing/rb-daap-connection.c: Move
5676 some includes to top of file. Make private
5677 data struct name consistent with others.
5678 (rb_daap_connection_class_init): Rename
5680 (rb_daap_connection_init): Get and store the pointer
5681 to the private data once instead of in every
5682 function. Create a username value "Rhythmbox_VERSION".
5683 (connection_get_password): Don't get private.
5684 (build_message): Ditto.
5685 (http_response_handler): Don't init variables in
5686 declaration. Add debug. Spacing.
5687 (http_get, entry_set_string_prop, handle_server_info)
5688 (handle_login, handle_update, handle_database_info)
5689 (handle_song_listing, handle_playlists, handle_playlist_entries)
5690 (rb_daap_connection_constructor, rb_daap_connection_logout)
5691 (rb_daap_connection_state_done): Don't get private.
5692 (rb_daap_connection_get_headers): Ditto. gchar yuck.
5693 spacing. Correctly base64 encode the Authentication token.
5694 Add username to auth token.
5695 (rb_daap_connection_get_playlists): Don't get private.
5696 (rb_daap_connection_dispose): Ditto. Free username.
5697 (rb_daap_connection_set_property)
5698 (rb_daap_connection_get_property): Don't get private.
5700 * daapsharing/Makefile.am: Conditionally
5701 compile MDNS backends. Add marshall stuff.
5703 * daapsharing/.cvsignore: Update.
5705 * configure.ac: Add conditional to see which
5706 MDNS backend we should use.
5708 * daapsharing/rb-daap-mdns.[ch]: Removed files.
5710 * daapsharing/rb-daap-marshal.list:
5711 * daapsharing/rb-daap-mdns-browser-avahi.c:
5712 * daapsharing/rb-daap-mdns-browser-howl.c:
5713 * daapsharing/rb-daap-mdns-browser.h:
5714 * daapsharing/rb-daap-mdns-publisher-avahi.c:
5715 * daapsharing/rb-daap-mdns-publisher-howl.c:
5716 * daapsharing/rb-daap-mdns-publisher.h:
5717 Split rb-daap-mdns.c into two classes. One for
5718 publishing and one for browsing. Split out
5719 the avahi and howl backends into different files.
5723 2006-02-04 James Livingston <jrl@ids.org.au>
5725 patch by: Jan Schmidt <thaytan@mad.scientist.com>
5727 * rhythmdb/rhythmdb.c: (set_metadata_string_default_unknown): fix
5728 crash if metadata reader gives us NULL for strings.
5730 2006-02-03 James Livingston <jrl@ids.org.au>
5732 * shell/rb-shell-player.c: (open_location_thread),
5733 (rb_shell_player_open_location):
5734 retrieve iradio playlists files in a thread, so that with GStreamer
5735 0.10 the UI doesn't block while connecting to stations. The streamer
5736 connection is synchronous with 0.8, so that will still block (a bit).
5739 (rb_shell_player_set_playing_entry): don't call rb_shell_player_play,
5740 because _open_entry does that automatically when it is ready to.
5742 2006-02-03 Jonathan Matthew <jonathan@kaolin.hn.org>
5744 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
5745 (rb_podcast_source_post_status_cell_data_func):
5746 Leave the podcast status column blank for episodes that have not been
5749 2006-02-03 James Livingston <jrl@ids.org.au>
5751 Add support for source-specific toolbar items, and make the Burn
5752 Playlist item only available for playlists. Also add Update All
5753 (podcast), Eject and Rip (audio cds). Fixes bug 329041.
5755 * data/ui/rhythmbox-ui.xml:
5756 * sources/rb-playlist-source.c: (rb_playlist_source_class_init),
5757 (impl_get_ui_actions): make the Burn CD toolbar item only for
5760 * lib/rb-stock-icons.c: (rb_stock_icons_init):
5761 * lib/rb-stock-icons.h: load the Eject icon as stock.
5763 * shell/rb-removable-media-manager.c: use the eject icon for the eject
5766 * shell/rb-shell.c: (rb_shell_constructor), (merge_source_ui_cb),
5767 (rb_shell_select_source):
5768 * sources/rb-source.c: (rb_source_class_init),
5769 (rb_source_disconnect), (default_get_ui_actions),
5770 (rb_source_get_ui_actions):
5771 * sources/rb-source.h: add support for source-specific toolbar items
5773 * sources/rb-audiocd-source.c: (rb_audiocd_source_class_init): add
5774 Eject and Rip toolbar items
5776 * sources/rb-podcast-source.c: (rb_podcast_source_class_init),
5777 (impl_add_to_queue), (impl_get_ui_actions): add Update All toolbar
5780 2006-02-03 Jonathan Matthew <jonathan@kaolin.hn.org>
5782 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_save):
5783 * shell/main.c: (main):
5784 * shell/rb-shell-player.c: (rb_shell_player_sync_play_order):
5785 Replace all g_critical calls with g_warning, since none of them are
5786 the sort of thing the process should die over. Fixes #329398.
5788 2006-02-03 James Livingston <jrl@ids.org.au>
5790 * configure.ac: mention gst-plugins-base in the error message for not
5791 finding GStreamer 0.10, since not having that will cause it to fail.
5793 2006-02-03 James Livingston <jrl@ids.org.au>
5795 * configure.ac: fix typo that means you get the wrong error message if
5796 you explicity request a particular playback engine, and it can't be
5799 2006-02-03 James Livingston <jrl@ids.org.au>
5801 * data/glade/library-prefs.glade: allow the watched library location
5802 to be a non-local place.
5804 ============ Version 0.9.3
5807 2006-02-02 James Livingston <jrl@ids.org.au>
5810 * configure.ac: bump version to 0.9.3
5812 * data/Makefile.am: pass make distcheck. patch from Christopher Aillon
5813 <caillon@redhat.com>, fixed bug 329517.
5815 2006-02-02 Jonathan Matthew <jonathan@kaolin.hn.org>
5817 Patch from Alex Lancaster <alexl@users.sourceforge.net>
5819 * widgets/rb-song-info.c: (rb_song_info_constructor):
5820 Make year and disc number fields non-editable if tag editing
5821 is disabled. Fixes #329463.
5823 2006-02-01 James Livingston <jrl@ids.org.au>
5825 * rhythmdb/rhythmdb-property-model.c:
5826 (rhythmdb_property_model_row_inserted_cb),
5827 (rhythmdb_property_model_prop_changed_cb),
5828 (rhythmdb_property_model_entry_removed_cb): handle hidden entries
5829 correctly. Fixes bug 327061.
5831 * rhythmdb/rhythmdb-query-model.c:
5832 (rhythmdb_query_model_entry_changed_cb): emit change notification of
5833 the HIDDEN property when an entry is removed for being hidden.
5835 * rhythmdb/rhythmdb-query-model.h:
5836 * sources/rb-iradio-source.c: (rb_iradio_source_do_query):
5837 * widgets/rb-entry-view.c: (rb_entry_view_set_property): remove query
5838 models's "connected" property. Whatever it was needed for seems to
5841 2006-02-01 James Livingston <jrl@ids.org.au>
5843 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
5845 * shell/rb-shell-player.c: (_idle_unblock_signal_cb),
5846 (rb_shell_player_playing_changed_cb): block the signal to prevent
5847 re-entrancy. Fixes bug 329329 and fixes the first click of the play
5850 2006-02-01 James Livingston <jrl@ids.org.au>
5852 * metadata/rb-metadata-gst.c: a few gstreamer 0.10 fixes. Tag editing
5853 /should/ now work, if the neccessary plugins get ported.
5855 2006-01-30 James Livingston <jrl@ids.org.au>
5857 * daapsharing/rb-daap-connection.c: (entry_set_string_prop): Set
5858 string properties to "Unknown" is the string is empty. Kind of fixes
5861 * rhythmdb/rhythmdb.c: (rhythmdb_entry_sync_mirrored): only do the
5862 gettext calls once, rather than once per time the function is used.
5863 This stops us making tens of thousands of gettext calls on startup,
5864 which reduces the cpu-time of startup by 10-20%
5866 2006-01-29 James Livingston <jrl@ids.org.au>
5868 * rhythmdb/rhythmdb.c: (rhythmdb_process_metadata_load):
5870 * metadata/rb-metadata-gst.c: emit RB_METADATA_ERROR_NOT_AUDIO_IGNORE
5871 for files containing known video streams.
5874 2006-01-29 Jonathan Matthew <jonathan@kaolin.hn.org>
5876 * INSTALL.quick: Random unupdates; gst-plugins-good isn't actually
5879 2006-01-29 Jonathan Matthew <jonathan@kaolin.hn.org>
5881 * INSTALL.quick: More random updates
5883 * rhythmdb/rhythmdb-query-model.c:
5884 (rhythmdb_query_model_class_init),
5885 (rhythmdb_query_model_set_property),
5886 (rhythmdb_query_model_get_property),
5887 (rhythmdb_query_model_finalize), (rhythmdb_query_model_new):
5888 Remove user sort data handling, take a property ID and a reverse
5890 (rhythmdb_query_model_insert_into_main_list),
5891 (rhythmdb_query_model_insert_into_limited_list),
5892 (rhythmdb_query_model_do_reorder),
5893 (_reverse_sorting_func):
5894 Handle reverse sorting by calling _reverse_sorting_func, which
5895 calls the real sort function and reverses the result.
5896 (rhythmdb_query_model_set_sort_order):
5897 Allow this to be called to set the initial sort order for limited
5898 queries, and handle reverse sorting when reordering.
5899 (rhythmdb_query_model_location_sort_func),
5900 (rhythmdb_query_model_album_sort_func),
5901 (rhythmdb_query_model_artist_sort_func),
5902 (rhythmdb_query_model_genre_sort_func),
5903 (rhythmdb_query_model_track_sort_func),
5904 (rhythmdb_query_model_double_ceiling_sort_func),
5905 (rhythmdb_query_model_ulong_sort_func),
5906 (rhythmdb_query_model_date_sort_func),
5907 (rhythmdb_query_model_string_sort_func):
5908 Sort functions moved from rb-entry-view.c.
5909 * rhythmdb/rhythmdb-query-model.h:
5910 Add the sort functions, and update the changed functions.
5912 * widgets/rb-entry-view.c: (rb_entry_view_set_property):
5913 Just call _resort_model when the query model is set, since it
5914 does all the same things.
5915 (rb_entry_view_append_column):
5916 Rework bits so the rating column doesn't have to be so much of a
5918 (rb_entry_view_append_column_custom):
5919 Take a property ID to sort on, rather than arbitrary custom data.
5920 (rb_entry_view_resort_model):
5921 Query model does all the reverse sort handling now.
5922 * widgets/rb-entry-view.h: Update _append_column_custom.
5924 * sources/rb-play-queue-source.c:
5925 (rb_play_queue_source_constructor):
5926 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
5927 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
5928 (rb_podcast_source_post_date_cell_sort_func),
5929 (rb_podcast_source_post_status_cell_sort_func),
5930 (rb_podcast_source_post_feed_cell_sort_func):
5931 Updates required by all the other changes.
5933 * rhythmdb/rhythmdb-property-model.c:
5934 (rhythmdb_property_model_drag_data_get):
5935 Sort the query results on the selected property,
5936 so they arrive in the expected order. All the other changes were made
5937 to make this possible. Fixes bug #327494.
5939 2006-01-29 Jonathan Matthew <jonathan@kaolin.hn.org>
5941 * shell/rb-shell-clipboard.c:
5942 Use GTK_STOCK_REMOVE icon for the remove action in
5945 2006-01-29 Jonathan Matthew <jonathan@kaolin.hn.org>
5947 * sources/rb-play-queue-source.c:
5948 (rb_play_queue_source_constructor),
5949 (rb_play_queue_source_update_count):
5950 Don't make the 'queued songs' column clickable,
5951 and add the queued song count to the column title.
5953 2006-01-29 James Livingston <jrl@ids.org.au>
5955 * configure.ac: remove "experimental" marking from DAAP, and enable by
5956 default if the dependencies are found.
5958 2006-01-29 James Livingston <jrl@ids.org.au>
5962 2006-01-29 James Livingston <jrl@ids.org.au>
5964 patch by: William Jon McCann <mccann@jhu.edu>
5966 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
5967 (rb_podcast_source_feed_title_cell_data_func): Revert the change of
5968 property used for the feed list. Fixes problem with feeds with no
5969 episodes not showing up.
5971 2006-01-29 Jonathan Matthew <jonathan@kaolin.hn.org>
5973 * shell/rb-play-order-random-by-age-and-rating.c:
5974 (rb_random_by_age_and_rating_get_entry_weight):
5975 Fix compile errors, bug #328978.
5977 2006-01-28 Jonathan Matthew <jonathan@kaolin.hn.org>
5979 * INSTALL.quick, README: Random updates
5980 * README.lirc: Add notes on controlling Rhythmbox with LIRC
5982 2006-01-28 James Livingston <jrl@ids.org.au>
5984 * rhythmdb/rhythmdb.c: (rhythmdb_process_metadata_load): change the
5985 default rating back to 0 (from 2.5, which was needed for autorating).
5987 * shell/rb-play-order-random-by-age-and-rating.c:
5988 (rb_random_by_age_and_rating_get_entry_weight):
5989 * shell/rb-play-order-random-by-rating.c:
5990 (rb_random_by_rating_get_entry_weight): Treat ratings of 0 the same as
5991 2.5 for the purposes of weighting entries.
5993 2006-01-28 James Livingston <jrl@ids.org.au>
5995 * lib/rb-cut-and-paste-code.c: (rb_utf_friendly_time): Add some
5996 translator comments, to make it clearer what the "friendly time"
5997 formatting strings mean.
5999 2006-01-27 Jonathan Matthew <jonathan@kaolin.hn.org>
6001 * daapsharing/rb-daap-connection.c: (http_response_handler):
6002 Fix the sense of the overflow check so it'll accept valid input.
6004 2006-01-27 James Livingston <jrl@ids.org.au>
6006 Patch from Alex Lancaster <alexl@users.sourceforge.net>
6008 * lib/rb-file-helpers.c: (rb_uri_handle_recursively_cb): correctly
6009 escape paths when using rb_uri_handle_recursively. Closes bug 139646.
6011 2006-01-27 Jonathan Matthew <jonathan@kaolin.hn.org>
6013 Patch by: Alex Lancaster <alexl@users.sourceforge.net>
6015 * shell/rb-shell-player.c: (rb_shell_player_sync_with_source):
6016 Don't include the artist field in the window title if it's blank.
6019 2006-01-26 William Jon McCann <mccann@jhu.edu>
6021 * shell/rb-shell-clipboard.c (rb_shell_clipboard_actions):
6022 Use stock delete icon for move to trash and stock remove
6023 for remove menu item.
6025 2006-01-26 Jonathan Matthew <jonathan@kaolin.hn.org>
6027 * shell/rb-shell.c: (rb_shell_constructor),
6028 (idle_handle_load_complete): Don't start the playlist save
6029 timeout until we've loaded the playlists, otherwise we'll
6030 write an empty playlist file if startup takes too long.
6032 2006-01-25 William Jon McCann <mccann@jhu.edu>
6034 * shell/rb-shell.c: Make view toolbar toggle use
6035 shift+ctrl+t. Fixes #327585.
6037 2006-01-25 James Livingston <jrl@ids.org.au>
6039 patch by: Christope Fergeau <teuf@gnome.org>
6041 * daapsharing/rb-daap-connection.c: (g_zalloc_wrapper),
6042 (http_response_handler): fix a potential buffer overflow issue.
6044 2006-01-25 James Livingston <jrl@ids.org.au>
6046 * widgets/rb-entry-view.c: (rb_entry_view_append_column): make the
6047 Year column wide enough to display "Unknown"
6049 2006-01-25 James Livingston <jrl@ids.org.au>
6051 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
6052 (rb_podcast_source_post_status_cell_data_func): make the episode
6053 status wording better. Part of bug 321607.
6055 2006-01-25 James Livingston <jrl@ids.org.au>
6057 * data/ui/rhythmbox-ui.xml: separate the Move to Trash menu item from
6058 others with a separator.
6060 * shell/rb-shell-clipboard.c: Rename "Delete" to "Remove" and use the
6063 2006-01-24 Jonathan Matthew <jonathan@kaolin.hn.org>
6065 * data/rhythmbox.desktop.in: Add GTK to categories. Fixes #328047.
6067 2006-01-23 James Livingston <jrl@ids.org.au>
6069 * widgets/eggtrayicon.c: (egg_tray_icon_notify): support libnotify
6070 0.3.2. Fixed bug 328158.
6072 2006-01-23 James Livingston <jrl@ids.org.au>
6074 * metadata/rb-metadata-gst.c: (gst_date_gulong_transform),
6075 (gulong_gst_date_transform), (rb_metadata_class_init):
6076 * metadata/rb-metadata.h: fix support for Year metadata in gst 0.10.
6078 2006-01-23 Jonathan Matthew <jonathan@kaolin.hn.org>
6080 * rhythmdb/rhythmdb.c: (rhythmdb_init), (rhythmdb_finalize),
6081 (rhythmdb_commit_internal), (rhythmdb_entry_insert),
6082 (record_entry_change): Protect added_entries and changed_entries with
6083 a mutex, so it doesn't crash on startup on SMT/SMP machines.
6085 2006-01-23 James Livingston <jrl@ids.org.au>
6087 * sources/rb-audiocd-source.c: (rb_audiocd_source_class_init): disable
6088 the browser for audio CDs.
6090 2006-01-22 James Livingston <jrl@ids.org.au>
6092 * daapsharing/rb-daap-mdns.c: (get_avahi_client): don't pass
6093 NEVER_FAIL as it causes the daemon-not-running error to never be
6094 reported, resulting in bug 319438 re-occurring.
6096 2006-01-22 Jonathan Matthew <jonathan@kaolin.hn.org>
6098 * sources/rb-podcast-source.c: (rb_podcast_source_cmd_update_all):
6099 Just call the podcast manager's update method. Unbreaks the 'update
6102 2006-01-22 Jonathan Matthew <jonathan@kaolin.hn.org>
6104 * sources/Makefile.am: Fix typo. Fixes bug #327970.
6106 2006-01-21 Jonathan Matthew <jonathan@kaolin.hn.org>
6108 * configure.ac: Don't disable DAAP with gstreamer 0.10
6110 * daapsharing/rb-daap-src.c: (_do_init), (rb_daap_src_base_init),
6111 (rb_daap_src_class_init), (rb_daap_src_init),
6112 (rb_daap_src_finalize), (rb_daap_src_set_property),
6113 (rb_daap_src_get_property), (rb_daap_src_write),
6114 (rb_daap_src_read), (_expect_char), (rb_daap_src_read_chunk_size),
6115 (_split_uri), (rb_daap_src_open):
6116 * daapsharing/rb-daap-src.h:
6117 Mostly fix seeking, handle chunked transfer encoding, and port to
6120 * player/rb-player-gst.c:
6121 * sources/rb-daap-source.c: (start_browsing), (stop_browsing):
6122 Remove rb_daap_src_initialize and rb_daap_src_shutdown.
6124 Fixes bugs #326738 and #318852, and brings #309609 one step closer to
6127 2006-01-21 James Livingston <jrl@ids.org.au>
6129 patch by: Alex Lancaster <alexl@users.sourceforge.net> to add support
6130 for Year metadata in DAAP sources. Fixes bug 327700.
6132 * daapsharing/rb-daap-connection.c: (handle_song_listing):
6134 2006-01-20 William Jon McCann <mccann@jhu.edu>
6136 * widgets/rb-simple-view.c (rb_simple_view_button_press_cb): Use
6137 enum values instead of magic numbers.
6139 * widgets/rb-property-view.c (rb_property_view_cell_data_func):
6140 Add number of songs that match each property title into
6141 the cell. Also show the number of properties that match
6143 (rb_property_view_constructor): Use enum values instead of
6146 * sources/rb-podcast-source.c (rb_podcast_source_constructor):
6147 Query podcast posts instead of feeds for browser. Use
6148 post SUBTITLE which is the location for the property view.
6149 (rb_podcast_source_feeds_show_popup_cb): Remove unused code.
6150 (construct_query_from_selection)
6151 (rb_podcast_source_cmd_delete_feed)
6152 (rb_podcast_source_cmd_properties_feed)
6153 (rb_podcast_source_cmd_update_feed): Use variable to make
6154 it clear what the selection data represents.
6155 (rb_podcast_source_feed_title_cell_data_func): Add number
6156 of posts that belong to each feed in the browser.
6158 * rhythmdb/rhythmdb-property-model.c (rhythmdb_property_model_set_property): Allow using SUBTITLE property.
6159 (rhythmdb_property_model_delete_prop): Decrement the refcount
6161 (rhythmdb_property_model_get_column_type): Use column enum
6162 values instead of magic numbers. Add NUMBER column.
6163 (rhythmdb_property_model_get_value): Use enum.
6164 Add NUMBER column that represents the refcount for
6165 the title of that property.
6166 (rhythmdb_property_model_perform_sync): Don't fake up
6167 a title for All here.
6171 2006-01-21 James Livingston <jrl@ids.org.au>
6173 Make Rhythmbox start faster by not blocking the UI while database
6174 initialisation and loading occurs. Closes bug 323348.
6176 * rhythmdb/rhythmdb.c: (rhythmdb_init): make the library monitoring
6177 start 10 seconds later instead of immediately.
6179 (rhythmdb_commit_internal), (rhythmdb_commit): make rhythmdb_commit
6180 safe to call from any thread.
6182 (rhythmdb_process_metadata_load), (rhythmdb_process_events),
6183 (rhythmdb_load_thread_main), (rhythmdb_load): load the db in a thread,
6184 so the UI doesn't block.
6186 2006-01-18 James Livingston <jrl@ids.org.au>
6188 * sources/rb-static-playlist-source.c:
6189 (rb_static_playlist_source_do_query): fix dumb mistake I made that would
6190 cause crashes. Oops. fixes bug 327477.
6192 2006-01-17 William Jon McCann <mccann@jhu.edu>
6194 * player/rb-recorder-gst.c (rb_recorder_gst_free_pipeline):
6195 Set GST element state to NULL before unreffing.
6198 2006-01-18 James Livingston <jrl@ids.org.au>
6200 * sources/rb-static-playlist-source.c:
6201 (rb_static_playlist_source_do_query): don't filter on the SONG entry
6202 type, since the playlists can contain non-song entries. Fixes bug
6205 * sources/rb-play-queue-source.c:
6206 (rb_play_queue_source_class_init): disable the search box for the
6209 2006-01-18 James Livingston <jrl@ids.org.au>
6211 * sources/rb-podcast-source.c: (rb_podcast_source_constructor): allow
6212 dragging of podcast episodes. Fixed bug 327450.
6214 2006-01-18 James Livingston <jrl@ids.org.au>
6216 * rhythmdb/rhythmdb-query-model.c:
6217 (rhythmdb_query_model_drag_data_received): fix possible assertion when
6218 dragging to an emoty playlist.
6220 2006-01-18 Jonathan Matthew <jonathan@kaolin.hn.org>
6222 * sources/rb-playlist-source-recorder.c:
6223 Make the fake NAUTILUS_BURN_CHECK_VERSION macro work properly.
6225 2006-01-17 James Livingston <jrl@ids.org.au>
6227 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
6229 * sources/rb-audiocd-source.c: don't assert if MusicBrainz returns a
6230 different number of tracks than exist on the cd, since that happens
6231 with audio+data hybrid CDs. Part of bug 325046.
6233 2006-01-17 Jonathan Matthew <jonathan@kaolin.hn.org>
6235 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
6236 Remove useless call to gtk_tree_view_column_set_clickable().
6238 * widgets/rb-entry-view.c: (rb_entry_view_append_column_custom):
6239 Don't store sort data for columns if the sort function is NULL,
6240 so only sortable columns will be in the column sort data map.
6241 (rb_entry_view_set_columns_clickable): Only make columns we can sort
6243 (rb_entry_view_constructor): The 'playing icon' column is never
6244 clickable, so don't connect a signal handler for it.
6248 2006-01-17 James Livingston <jrl@ids.org.au>
6250 * metadata/rb-metadata-gst.c: don't set properties with gst 0.10 which
6251 are 0.8 only. Fix element detection.
6253 * rhythmdb/rhythmdb.c: (action_thread_main): reload old metadata is
6254 saving the new metadata failed
6256 2006-01-17 James Livingston <jrl@ids.org.au>
6258 * shell/rb-shell-player.c: (do_next_idle),
6259 (rb_shell_player_cmd_previous), (rb_shell_player_cmd_next),
6260 (eos_cb): release audio device when a playlist finishes. Fixes bug
6263 2006-01-17 James Livingston <jrl@ids.org.au>
6265 * rhythmdb/rhythmdb.c: (set_props_from_metadata), (queue_stat_uri):
6266 canonicalise the URIs when things are added via library watching.
6268 2006-01-16 William Jon McCann <mccann@jhu.edu>
6270 * sources/rb-playlist-source-recorder.c (update_speed_combobox):
6271 Off by one error in default speed index.
6273 2006-01-16 William Jon McCann <mccann@jhu.edu>
6275 * sources/rb-playlist-source-recorder.c (get_write_speeds)
6276 (update_speed_combobox, update_speed_combobox):
6277 Get a list of the actually supported write speeds from
6278 n-c-b >= 2.13.90. Otherwise use fallback list.
6280 2006-01-17 James Livingston <jrl@ids.org.au>
6282 * lib/rb-file-helpers.c: (rb_uri_handle_recursively_cb),
6283 (rb_uri_handle_recursively): use gnome_vfs_directory_visit, so we
6284 don't get stuck on recursive symlinks. Fixed bug 125452.
6286 2006-01-17 James Livingston <jrl@ids.org.au>
6288 Add support for mass-storage audio players. Players are detected via
6289 either the HAL "audio_player" capability, or a ".is_audio_player" file
6290 in the root of the volume. Closes bug 325602.
6292 * configure.ac: separate using HAL from ipod support.
6294 * lib/rb-file-helpers.c: (rb_uri_is_local):
6295 * lib/rb-file-helpers.h: add function to determine whether a URI is
6298 * rhythmdb/rhythmdb.c: (rhythmdb_commit_internal),
6299 (rhythmdb_process_stat_event), (rhythmdb_process_metadata_load),
6300 (rhythmdb_process_file_created_or_modified), (queue_stat_uri),
6301 (queue_stat_uri_tad), (add_thread_main), (action_thread_main),
6302 (rhythmdb_add_uri), (rhythmdb_add_uri_with_type):
6303 * rhythmdb/rhythmdb.h: add rhythmdb_add_uri_with_type, so that
6304 directories can be scanned for files to add as non-SONG entries.
6306 * shell/rb-removable-media-manager.c:
6307 (rb_removable_media_manager_mount_volume): add checking for
6308 mass-storage players.
6310 * sources/rb-audiocd-source.c: (rb_audiocd_source_new):
6311 * sources/rb-ipod-source.c: (rb_ipod_source_new),
6313 * sources/rb-removable-media-source.c:
6314 (rb_removable_media_source_class_init),
6315 (rb_removable_media_source_constructor): move some things up to the
6316 RBRemovableMediaSource, rather than making subclasses do it.
6318 * sources/Makefile.am:
6319 * sources/rb-generic-player-source.c:
6320 * sources/rb-generic-player-source.h: add mass-storage player source.
6322 2006-01-16 James Livingston <jrl@ids.org.au>
6324 patch by: William Jon McCann <mccann@jhu.edu>
6326 * rhythmdb/rhythmdb-query-model.c:
6327 (rhythmdb_query_model_base_row_deleted): fix build issue from last
6330 2006-01-16 James Livingston <jrl@ids.org.au>
6332 Patch to add support for "chained queries" and putting hidden tracks
6333 in query models. Use chained queries to add search box support to
6334 normal playlists, and to make hidden entries not get lost. Fixes bug
6337 * rhythmdb/rhythmdb-query-model.h:
6338 * rhythmdb/rhythmdb-query-model.c:
6339 (rhythmdb_query_model_class_init),
6340 (rhythmdb_query_model_set_property),
6341 (rhythmdb_query_model_get_property):
6342 (rhythmdb_query_model_finalize): add "show-hidden" and
6343 "base-model" properties.
6345 (rhythmdb_query_model_set_connected),
6346 (rhythmdb_query_model_has_pending_changes),
6347 (rhythmdb_query_model_entry_added_cb),
6348 (rhythmdb_query_model_entry_changed_cb), (idle_process_update),
6349 (rhythmdb_query_model_add_entry), (rhythmdb_query_model_do_insert),
6350 (rhythmdb_query_model_remove_entry),
6351 (rhythmdb_query_model_drag_data_received),
6352 (rhythmdb_query_model_base_row_inserted),
6353 (rhythmdb_query_model_base_row_deleted),
6354 (rhythmdb_query_model_base_non_entry_dropped),
6355 (rhythmdb_query_model_base_complete),
6356 (rhythmdb_query_model_base_entry_prop_changed),
6357 (rhythmdb_query_model_base_rows_reordered),
6358 (rhythmdb_query_model_row_drop_possible): handle base-model by
6359 chaining events and operations where necessary. Make hidden entries
6360 not get added only if "show-hidden" is false.
6362 (rhythmdb_query_model_child_index_to_base_index),
6363 (rhythmdb_query_model_base_index_to_child_index),
6364 (rhythmdb_query_model_get_entry_index): utility functions for handling
6367 (rhythmdb_query_model_reapply_query): apply the current query, and
6368 remove entries that don't match it.
6370 * rhythmdb/rhythmdb-tree.c: (do_query_recurse): small optimisation for
6373 * sources/rb-source.c: (rb_source_set_property): move the unref later
6374 to fix problem if it is the last reference.
6376 * sources/rb-static-playlist-source.c:
6377 (rb_static_playlist_source_class_init),
6378 (rb_static_playlist_source_init),
6379 (rb_static_playlist_source_finalize),
6380 (rb_static_playlist_source_constructor), (impl_reset_filters),
6381 (impl_search), (rb_static_playlist_source_do_query),
6382 (impl_save_contents_to_xml),
6383 (rb_static_playlist_source_add_location_internal): use a chained query
6384 model to filter out hidden entries and implement the search box.
6386 2006-01-15 James Livingston <jrl@ids.org.au>
6388 * sources/rb-playlist-source.c: (rb_playlist_source_new_from_xml): fix
6389 the default playlist loading, which I broke earlier.
6391 2006-01-15 James Livingston <jrl@ids.org.au>
6393 patch by: William Jon McCann <mccann@jhu.edu>
6395 * sources/rb-playlist-source.c: (playlist_iter_func): use
6396 totem-plparser's new API version macros to check for API changes.
6397 Handle the recent API change.
6399 2006-01-15 Jonathan Matthew <jonathan@kaolin.hn.org>
6401 * sources/rb-library-source.c: (impl_get_config_widget):
6402 Ref the preferences object to match the unref in the
6403 finalizer. Fixes some portion of #323505.
6405 2006-01-15 Jonathan Matthew <jonathan@kaolin.hn.org>
6407 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_parse_response):
6408 * shell/rb-removable-media-manager.c: (begin_cd_drive_monitor):
6409 Fix valgrind warnings about accessing uninitialised values.
6411 2006-01-14 William Jon McCann <mccann@jhu.edu>
6413 * sources/rb-playlist-source-recorder.c: Make build on 2.12 again.
6415 2006-01-14 Jonathan Matthew <jonathan@kaolin.hn.org>
6417 * shell/rb-shell-player.c: (rb_shell_player_sync_buttons):
6418 Use RB_ENTRY_VIEW_NOT_PLAYING state when there's no playing entry.
6419 Stops the 'now playing' icon from being displayed after the play
6422 2006-01-14 Jonathan Matthew <jonathan@kaolin.hn.org>
6424 * podcast/rb-podcast-manager.c:
6425 (rb_podcast_manager_db_entry_deleted_cb):
6426 Don't try to delete files we never downloaded, and cancel downloads
6427 for deleted episodes. Fixes bug #326862.
6428 * sources/rb-podcast-source.c: (rb_podcast_source_cmd_delete_feed):
6429 Don't complain about NULL data items in the selection list.
6431 2006-01-14 James Livingston <jrl@ids.org.au>
6433 * shell/rb-playlist-manager.c: (rb_playlist_manager_set_property):
6434 Make the name ofthe queue non editable. Fixes bug 326918.
6436 2006-01-13 William Jon McCann <mccann@jhu.edu>
6438 * sources/rb-playlist-source-recorder.c (burn_cd)
6439 (ask_rewrite_disc): Don't use our locally copied functions
6440 if we have at least 2.13.
6442 2006-01-13 William Jon McCann <mccann@jhu.edu>
6444 * podcast/rb-podcast-manager.c (rb_podcast_manager_class_init):
6445 Correct the argument type for the process_error signal.
6446 May fix bug #323154.
6448 2006-01-13 James Livingston <jrl@ids.org.au>
6450 save the queue to disk when exiting, and reload on startup. Fixed bug
6453 * shell/rb-playlist-manager.c:
6454 (rb_playlist_manager_load_playlists),
6455 (rb_playlist_manager_save_playlists_async): don't disable saving of
6458 * shell/rb-shell.c: (rb_shell_class_init), (rb_shell_get_property):
6459 add the queue source as a gobject property.
6461 * sources/rb-play-queue-source.c:
6462 (rb_play_queue_source_class_init), (impl_save_contents_to_xml): add
6463 code to save the queue to xml
6465 * sources/rb-playlist-source.c: (rb_playlist_source_new_from_xml):
6466 load the queue from xml.
6467 * sources/rb-playlist-xml.h:
6469 * sources/rb-static-playlist-source.c:
6470 (rb_static_playlist_source_load_from_xml),
6471 (rb_static_playlist_source_new_from_xml):
6472 * sources/rb-static-playlist-source.h: split the playlist xml loading
6473 from the static playlist creation function, so the queue can use it.
6475 2006-01-13 James Livingston <jrl@ids.org.au>
6477 * rhythmdb/rhythmdb.c: (rhythmdb_entry_set_visibility): remove
6478 assertion that should be there. Fixes bug 325923.
6480 * rhythmdb/rhythmdb.c: (rhythmdb_entry_new): make rhythmdb_entry_new
6481 return NULL if the entry already exists (e.g. as another type).
6482 * daapsharing/rb-daap-connection.c: (handle_song_listing):
6483 * podcast/rb-podcast-manager.c: (rb_podcast_manager_add_post),
6484 (rb_podcast_manager_insert_feed):
6485 * sources/rb-audiocd-source.c: (rb_audiocd_create_track_entry):
6486 * sources/rb-ipod-source.c: (load_ipod_db_idle_cb):
6487 * sources/rb-iradio-source.c: (rb_iradio_source_add_station): check
6488 for the above function returning NULL.
6490 2006-01-12 James Livingston <jrl@ids.org.au>
6492 * doc/reference/Makefile.am: make gtk-docs build again when libnotify
6493 is enabled. Fixes bug 326673.
6495 * doc/reference/tmpl/eggtrayicon.sgml:
6496 * doc/reference/tmpl/rb-daap-src.sgml:
6497 * doc/reference/tmpl/rb-source.sgml:
6498 * doc/reference/tmpl/rb-statusbar.sgml:
6499 * doc/reference/tmpl/rb-tree-model-sort.sgml:
6500 * doc/reference/tmpl/rhythmbox-unused.sgml:
6501 * doc/reference/tmpl/rhythmdb.sgml: updated gtk-docs
6503 2006-01-11 James Livingston <jrl@ids.org.au>
6505 * widgets/rb-song-info.c: (rb_song_info_constructor),
6506 (rb_song_info_new), (rb_song_info_populate_dialog_multiple),
6507 (rb_song_info_populate_dialog): fill in the fields if all tracks have
6508 the same value for properties. From bug 326054.
6510 2006-01-11 James Livingston <jrl@ids.org.au>
6512 * sources/rb-source.h:
6513 * shell/rb-shell-player.c: (rb_shell_player_set_playing_entry),
6514 (rb_shell_player_set_playing_source_internal), (eos_cb):
6515 add support for RB_SOURCE_EOF_STOP, so that playback will stop after
6518 * sources/rb-podcast-source.c: (impl_handle_eos): make the podcast
6519 source use this. Closes bug 322077.
6521 2006-01-10 William Jon McCann <mccann@jhu.edu>
6523 * widgets/eggtrayicon.c (egg_tray_icon_notify):
6524 In order for set_icon_data_from_pixbuf() to be
6525 effective, one must not set an icon in _new().
6527 2006-01-10 William Jon McCann <mccann@jhu.edu>
6529 * widgets/eggtrayicon.c (egg_tray_icon_init)
6530 (egg_tray_icon_unrealize, egg_tray_icon_cancel_message)
6531 (egg_tray_icon_notify): Add support for libnotify 0.3.
6532 * widgets/Makefile.am: Add missing NOTIFY_CLAGS.
6533 * configure.ac: Determine the version of libnotify.
6536 2006-01-08 James Livingston <jrl@ids.org.au>
6538 * daapsharing/rb-daap-share.c: (add_entry_to_mlcl): fix crasher when
6539 trying to share a track with unknown length.
6541 2006-01-08 Jonathan Matthew <jonathan@kaolin.hn.org>
6543 * shell/rb-shell-player.c: (rb_shell_player_init):
6544 Sync volume on startup so it doesn't default to 0.
6546 2006-01-08 Jonathan Matthew <jonathan@kaolin.hn.org>
6548 * shell/rb-shell-player.c: (rb_shell_player_class_init),
6549 (rb_shell_player_get_property), (rb_shell_player_open_location),
6550 (info_available_cb): Add the iradio streamed song title as a
6551 property, and emit a signal when it changes.
6553 * shell/rb-shell.c: (rb_shell_constructor),
6554 (rb_shell_player_elapsed_changed_cb),
6555 (rb_shell_player_stream_song_changed_cb):
6556 Issue a notification when the iradio song title changes.
6559 2006-01-08 Jonathan Matthew <jonathan@kaolin.hn.org>
6561 * shell/rb-shell-player.c: (rb_shell_player_init),
6562 (rb_shell_player_finalize), (rb_shell_player_set_property),
6563 (rb_shell_player_get_property), (rb_shell_player_sync_volume),
6564 (rb_shell_player_toggle_mute), (rb_shell_player_set_volume),
6565 (rb_shell_player_set_volume_relative),
6566 (rb_shell_player_get_volume), (rb_shell_player_set_mute),
6567 (rb_shell_player_get_mute):
6568 * shell/rb-shell-player.h:
6569 * shell/rb-shell-player.xml:
6570 Store volume as a property on RBShellPlayer, rather than in gconf.
6571 Add some methods to control volume via dbus.
6573 * shell/rb-shell.c: (rb_shell_constructor),
6574 (rb_shell_volume_widget_changed_cb),
6575 (rb_shell_player_volume_changed_cb):
6576 * shell/rb-tray-icon.c: (rb_tray_icon_scroll_event_cb):
6577 Update volume using player properties rather than gconf, and sync the
6578 volume with the volume control button when something else changes it.
6581 2006-01-07 William Jon McCann <mccann@jhu.edu>
6583 * shell/rb-tray-icon.c (tray_popup_position_menu):
6584 Make tray menu align with edge of panel.
6586 patch from Jaap A. Haitsma <jaap@haitsma.org>
6589 2006-01-07 William Jon McCann <mccann@jhu.edu>
6590 * shell/rb-shell.c (sourcelist_drag_received_cb):
6591 * shell/rb-playlist-manager.[ch] (create_name_from_selection_data)
6592 (rb_playlist_manager_new_playlist_from_selection_data):
6593 Make a reasonable default name for playlists created from
6594 dropped data. Fixes #326116.
6596 2006-01-07 William Jon McCann <mccann@jhu.edu>
6598 * sources/rb-playlist-source-recorder.c (update_speed_combobox):
6600 (burn_cd): Always eject CD after burning. Too many drives
6601 get confused if we don't. Save the speed used if the burn
6602 was completed successfully.
6604 * data/rhythmbox.schemas: Use our own speed instead of from
6605 n-c-b. The situation is that the default_speed for n-c-b is most
6606 likely the maximum write speed. This is fine for n-c-b because it
6607 has burn-proof turned on. We can't turn it on for audio CDs
6608 because the results are poor in quality. So we'll just pick a
6609 default that should work for everyone (4).
6611 2006-01-07 Jonathan Matthew <jonathan@kaolin.hn.org>
6613 * shell/rb-playlist-manager.c: (reap_dead_playlist_threads),
6614 (rb_playlist_manager_shutdown): Fix more compile errors with GCC 4.1.
6616 2006-01-07 Jonathan Matthew <jonathan@kaolin.hn.org>
6618 * shell/rb-shell.c: (rb_shell_add_uri): Fix compile error introduced
6619 in my previous commit. Fixes #326037.
6621 2006-01-06 Ryan P Skadberg <skadz@stigmata.org>
6623 patch by: Jonathan Matthew
6625 * rhythmdb/rhythmdb.c: (rhythmdb_event_free): Fixed compile
6626 error on Fedora Rawhide.
6628 2006-01-07 Jonathan Matthew <jonathan@kaolin.hn.org>
6630 * shell/rb-shell.c: (rb_shell_guess_type_for_uri):
6631 Assume HTTP URLs ending with .xml or .rss are podcasts.
6632 (rb_shell_add_uri): Handle adding podcast feeds.
6634 * sources/rb-podcast-source.c: (rb_podcast_source_new):
6635 Register as the source for podcast feeds.
6637 2006-01-07 Jonathan Matthew <jonathan@kaolin.hn.org>
6639 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_set_property):
6640 * shell/rb-shell-preferences.c: (rb_shell_preferences_append_page),
6641 (rb_shell_preferences_append_view_page):
6642 * shell/rb-shell-preferences.h:
6643 Fix typo in function name. Fixes #325992.
6645 2006-01-07 Jonathan Matthew <jonathan@kaolin.hn.org>
6647 * shell/rb-audioscrobbler.c:
6648 Add '+' to the list of characters to URI-encode, so it doesn't get
6649 interpreted as a space.
6651 2006-01-06 Jonathan Matthew <jonathan@kaolin.hn.org>
6653 * daapsharing/rb-daap-connection.c: (rb_daap_connection_logout),
6654 (rb_daap_connection_do_something): Don't crash if the DAAP server
6655 goes away while we're still trying to log in.
6657 2006-01-06 James Livingston <jrl@ids.org.au>
6659 * rhythmdb/rhythmdb.c: (rhythmdb_query_preprocess): fix Year criteria.
6661 2006-01-06 James Livingston <jrl@ids.org.au>
6663 Patch from: Alex Lancaster <alexl@users.sourceforge.net> to add
6664 support for Year to automatic playlists. Closes bug 321341.
6666 * rhythmdb/rhythmdb-query-model.c:
6667 (rhythmdb_query_model_set_property):
6668 * rhythmdb/rhythmdb-tree.c: (evaluate_conjunctive_subquery):
6669 * rhythmdb/rhythmdb.c: (rhythmdb_query_parse_valist),
6670 (rhythmdb_query_free), (rhythmdb_query_serialize),
6671 (rhythmdb_query_deserialize), (rhythmdb_query_internal),
6672 (rhythmdb_query_get_type), (rhythmdb_query_preprocess):
6673 * rhythmdb/rhythmdb.h: Support special
6674 RHYTHMDB_QUERY_PROP_YEAR_{EQUALS,GREATER,LESS} database search for
6677 * widgets/rb-query-creator-properties.c:
6678 (yearCriteriaCreateWidget), (yearCriteriaSetWidgetData),
6679 (yearCriteriaGetWidgetData): add Year to the list of criteria options.
6681 2006-01-06 James Livingston <jrl@ids.org.au>
6683 * configure.ac: make the playback backend selection work correctly
6685 * daapsharing/rb-daap-src.c: (rb_daap_src_get_type),
6686 (rb_daap_src_class_init), (rb_daap_src_dispose),
6687 (rb_daap_src_change_state), (rb_daap_src_initialize):
6688 * daapsharing/rb-daap-src.h: revent the G_DEFINE_TYPE change, since it
6689 doesn't work for this class. Fixes bug 325934
6691 2006-01-06 Jonathan Matthew <jonathan@kaolin.hn.org>
6693 * configure.ac: Fix check for libnotify.
6695 2006-01-05 William Jon McCann <mccann@jhu.edu>
6697 * sources/rb-playlist-source.c (xml_get_and_trim_names):
6698 Get name element for current lang and remove all name nodes
6700 (get_playlist_name_from_xml): Try to get name element or
6701 fall back to name attribute.
6702 (rb_playlist_source_new_from_xml): Get name before turning over
6703 to sub-types for parsing so that we can remove name elements
6704 from the tree if necessary.
6706 * shell/rb-playlist-manager.c (rb_playlist_manager_load_playlists):
6707 Load default playlists file if per user playlists are not found.
6709 * data/playlists.xml.in:
6711 * data/.cvsignore: Add default set of playlists.
6714 2006-01-05 Jonathan Matthew <jonathan@kaolin.hn.org>
6716 * shell/main.c: (main): Don't use the dbus interface to show the
6717 window if we're also going to use the bonobo interface.
6719 2006-01-05 Jonathan Matthew <jonathan@kaolin.hn.org>
6721 * shell/rb-history.c: (rb_history_set_playing):
6722 Allow setting the playing song to NULL.
6723 (rb_history_append), (rb_history_delete_link):
6724 Don't randomly change position when entries are added and removed,
6725 it confuses play orders.
6727 * shell/rb-play-order-random.c: (rb_random_play_order_class_init):
6728 Random orders always have a next entry if the model is not empty.
6729 (rb_random_play_order_get_next), (rb_random_play_order_go_next):
6730 Go back to the start of the history if we're past its end.
6732 * shell/rb-play-order-shuffle.c: (rb_shuffle_play_order_get_next),
6733 (rb_shuffle_play_order_go_next): Go back to the start of the history
6734 if we're past its end.
6735 (rb_shuffle_sync_history_with_query_model): Go back to the start of
6736 the history if the current entry is removed.
6738 * shell/rb-play-order.c: (rb_play_order_entry_added_cb),
6739 (rb_play_order_entry_deleted_cb): Only update have next/previous for
6740 the play order when the query has finished. This wasted about 10% CPU
6741 while the query was running.
6743 Fixes #324641: assertion failures when the query model was changed
6744 such that the playing song was no longer present.
6746 2006-01-05 James Livingston <jrl@ids.org.au>
6748 * daapsharing/rb-daap-src.c: (rb_daap_src_class_init),
6749 (rb_daap_src_dispose), (rb_daap_src_change_state):
6750 * rhythmdb/rhythmdb-gda.c: (rhythmdb_gda_class_init),
6751 (rhythmdb_gda_finalize):
6752 * widgets/rb-cell-renderer-pixbuf.c:
6753 * widgets/rb-cell-renderer-rating.c:
6754 (rb_cell_renderer_rating_class_init),
6755 (rb_cell_renderer_rating_finalize):
6756 * widgets/rb-druid.c: (rb_druid_class_init), (rb_druid_finalize):
6757 * widgets/rb-load-failure-dialog.c:
6758 (rb_load_failure_dialog_class_init),
6759 (rb_load_failure_dialog_finalize):
6760 * widgets/rb-rating.c: (rb_rating_class_init),
6761 (rb_rating_finalize):
6762 * widgets/rb-search-entry.c: (rb_search_entry_class_init),
6763 (rb_search_entry_finalize): use G_DEFINE_TYPE
6765 * widgets/rb-tree-model-sort.{c.h}: remove obsolete files from cvs.
6767 2006-01-05 James Livingston <jrl@ids.org.au>
6769 patch by: Lubomir Marinov <lubomir.marinov@gmail.com>
6771 * shell/rb-commander.{c,h}: remove obsolete files, that weren't put in
6774 * shell/rb-history.c: (rb_history_class_init),
6775 (rb_history_finalize):
6776 * shell/rb-playlist-manager.c: (rb_playlist_manager_class_init),
6777 (rb_playlist_manager_finalize):
6778 * shell/rb-remote.c: (rb_remote_finalize), (rb_remote_class_init),
6779 (rb_remote_init): use G_DEFINE_TYPE.
6781 2006-01-05 James Livingston <jrl@ids.org.au>
6783 * configure.ac: don't try to use libnotify >= 0.3.0 because of API
6786 2006-01-04 William Jon McCann <mccann@jhu.edu>
6788 * shell/rb-playlist-manager.c (rb_playlist_manager_set_property):
6789 Disable burn action when source is not a playlist.
6792 2006-01-04 Jonathan Matthew <jonathan@kaolin.hn.org>
6794 Optionally use libnotify to display song change and other
6795 notifications, and provide an option to disable notifications.
6796 Fixes #320355 and innumerable informal complaints.
6798 * widgets/eggtrayicon.c: (egg_tray_icon_init),
6799 (egg_tray_icon_unrealize), (egg_tray_icon_send_message),
6800 (egg_tray_icon_cancel_message), (egg_tray_icon_hide_notify_cb),
6801 (egg_tray_icon_notify):
6802 * widgets/eggtrayicon.h:
6804 * shell/Makefile.am:
6805 Optionally use libnotify instead of eggnotificationbubble.
6807 * shell/rb-tray-icon.c: (rb_tray_icon_class_init),
6808 (rb_tray_icon_constructor),
6809 (rb_tray_icon_show_notifications_changed_cb),
6810 (rb_tray_icon_hide_notify_cb)
6811 (rb_tray_icon_cancel_notify), (rb_tray_icon_notify):
6812 Add 'show notifications' action handling, use G_DEFINE_TYPE, move
6813 EggNotificationBubble pointer to eggtrayicon.
6815 * data/ui/rhythmbox-ui.xml: Add 'show notifications' menu item
6816 * lib/rb-preferences.h: Add #define for /ui/show_notifications key
6817 * data/rhythmbox.schemas: Add schema for /ui/show_notification key
6819 2006-01-04 William Jon McCann <mccann@jhu.edu>
6821 * sources/rb-playlist-source-recorder.c (rb_playlist_source_recorder_init):
6822 Request a minimum size for the progress bar so that
6823 the window doesn't shrink too small.
6825 2006-01-03 Jonathan Matthew <jonathan@kaolin.hn.org>
6827 * daapsharing/rb-daap-share.c: (databases_cb): (db_entry_added_cb),
6828 (add_db_entry), (db_entry_deleted_cb):
6829 Don't track the number of songs currently present, track the next ID
6830 to assign. Fixes potential ID conflict problems.
6832 (db_entry_changed_cb), (rb_daap_share_start_publish),
6833 (rb_daap_share_stop_publish):
6834 Watch for db entry changes, and when songs become non-hidden after
6835 a successful stat, add them to the mapping tables. Fixes #325178,
6836 making the DAAP server usable again.
6838 2006-01-03 Jonathan Matthew <jonathan@kaolin.hn.org>
6840 * shell/rb-statusbar.c: (rb_statusbar_class_init),
6841 (rb_statusbar_construct), (rb_statusbar_init),
6842 (rb_statusbar_finalize), (rb_statusbar_set_property),
6843 (rb_statusbar_get_property), (rb_statusbar_new),
6844 (rb_statusbar_sync_with_source):
6845 * shell/rb-statusbar.h:
6846 Remove visibility management code, stop watching for play order
6847 changes (status bar doesn't show play order any more), remove unused
6848 'player' property, and some other minor cleanup.
6850 * shell/rb-shell.c: (rb_shell_constructor),
6851 (rb_shell_view_statusbar_changed_cb), (rb_shell_sync_smalldisplay),
6852 (rb_shell_sync_statusbar_visibility):
6853 Manage status bar visibility here rather than in the status bar
6854 itself, so we can take small mode into account. Fixes #323589.
6856 2006-01-03 Jonathan Matthew <jonathan@kaolin.hn.org>
6858 * widgets/eggnotificationbubble.c: (draw_bubble):
6859 Move the bubble off the visible screen while setting up bevels.
6862 2006-01-01 Jonathan Matthew <jonathan@kaolin.hn.org>
6864 * shell/rb-shell-player.c: (rb_shell_player_init),
6865 (rb_shell_player_finalize):
6866 Remove unused structure members.
6868 (do_next_idle), (rb_shell_player_error):
6869 Only queue one call to do_next_idle, so we don't skip tracks if we get
6870 two errors for the same song. Fixes #325216.
6872 2006-01-01 Jonathan Matthew <jonathan@kaolin.hn.org>
6874 * data/glade/podcast-feed-properties.glade,
6875 podcast/rb-feed-podcast-properties-dialog.c:
6876 (rb_feed_podcast_properties_dialog_init),
6877 (rb_feed_podcast_properties_dialog_update):
6878 Add 'last episode' field to the podcast feed properties dialog.
6880 * podcast/rb-feed-podcast-properties-dialog.c:
6881 (rb_feed_podcast_properties_dialog_update_last_update),
6882 (rb_feed_podcast_properties_dialog_update_last_episode),
6883 podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed):
6884 Use last-seen property for the time at which we last updated the feed,
6885 and post-time for the time the last episode was published.
6887 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element):
6888 Handle upgrades from 0.9.2; if no post-time was found for a podcast
6889 feed, use last-seen (which in 0.9.2 was the last post time).
6893 2006-01-01 James Livingston <jrl@ids.org.au>
6895 patch by: Gunnar Steinn Magnusson <gsm@gunnarsteinn.com>
6897 * sources/rb-ipod-source.c: (load_ipod_db_idle_cb): read playcount and
6898 year from the ipod database.
6900 2006-01-01 Jonathan Matthew <jonathan@kaolin.hn.org>
6902 * metadata/rb-metadata-gst.c: (rb_metadata_gst_new_decoded_pad_cb):
6903 Only set the pipeline back to NULL state for really uninteresting
6904 files. This was causing deadlocks with various video files.
6907 2006-01-01 Jonathan Matthew <jonathan@kaolin.hn.org>
6909 * data/glade/song-info-multiple.glade:
6910 Add disc number label and field.
6911 * widgets/rb-song-info.c: (rb_song_info_construct_single),
6912 (rb_song_info_constructor):
6913 Handle widgets for disc number.
6914 (rb_song_info_sync_entries_multiple):
6915 Set disc number property on selected entries.
6918 2006-01-01 Jonathan Matthew <jonathan@kaolin.hn.org>
6920 * iradio/rb-new-station-dialog.c: (rb_new_station_dialog_init):
6921 * podcast/rb-new-podcast-dialog.c: (rb_new_podcast_dialog_init):
6922 Activate the default widget when enter is pressed in these dialogs.
6925 2006-01-01 Jonathan Matthew <jonathan@kaolin.hn.org>
6927 * shell/rb-shell-player.c: (rb_shell_player_get_playing_path):
6928 Use rb_shell_player_get_playing_entry, so we get the right entry
6929 when playing from the queue. Fixes #325379.
6931 2005-12-31 Jonathan Matthew <jonathan@kaolin.hn.org>
6933 * podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed):
6934 Include podcast posts with no publication date. Typically
6935 seen in static collections rather than feeds.
6937 2005-12-31 Jonathan Matthew <jonathan@kaolin.hn.org>
6939 * shell/main.c: (main): Don't attempt to handle
6940 bonobo-only arguments if we couldn't get a bonobo
6943 2005-12-31 Jonathan Matthew <jonathan@kaolin.hn.org>
6945 * daapsharing/rb-daap-mdns.c: (rb_daap_mdns_publish),
6946 (rb_daap_mdns_publish_cancel): Clear our_service_name so we don't
6947 abort if daap sharing is disabled and then re-enabled.
6949 2005-12-29 William Jon McCann <mccann@jhu.edu>
6951 * podcast/rb-podcast-parse.c (rb_insert_item):
6953 (rb_podcast_parser_start_element): Support itunes:image.
6954 Add debugging. Don't abuse the break statement. Warn
6955 if state is unknown.
6956 (rb_podcast_parser_end_element): Add debugging. Warn
6957 if state is unknown.
6958 (rb_podcast_parser_characters): Warn if state is unknown.
6960 Fixes parsing of feeds that use the itunes:image element.
6963 2005-12-28 Jonathan Matthew <jonathan@kaolin.hn.org>
6965 * sources/rb-iradio-source.c: (handle_playlist_entry_cb),
6966 (stations_view_drag_data_received_cb):
6967 Remove calls to rhythmdb_entry_lookup_by_location, as
6968 rb_iradio_source_add_station does that anyway.
6970 (rb_iradio_source_add_from_playlist):
6971 If the URL doesn't point to a playlist, add it as the stream
6974 2005-12-27 Jonathan Matthew <jonathan@kaolin.hn.org>
6976 * rhythmdb/rhythmdb.h: (rhythmdb_entry_get_string):
6977 just return NULL for RHYTHMDB_PROP_SEARCH_MATCH,
6978 so we don't get an assertion failure.
6981 2005-12-24 Jonathan Matthew <jonathan@kaolin.hn.org>
6983 * shell/main.c: (load_uri_args): don't compile this in if
6984 neither bonobo nor dbus are enabled. Fixes #324890.
6986 2005-12-22 Jonathan Matthew <jonathan@kaolin.hn.org>
6988 * sources/rb-audiocd-source.c:
6989 (rb_audiocd_scan_songs): Always return the pipeline to NULL state,
6990 so it closes the device.
6992 2005-12-20 James Livingston <jrl@ids.org.au>
6994 * metadata/rb-metadata-gst.c: make the state changes time-out again,
6995 so that it doesn't spend forever getting stuck on the one file. Don't
6996 report errors for failing to change state on known non-audio files.
6998 * player/rb-player-gst.c: (rb_player_construct): let playbin deal with
6999 audio sink creation if we can't create the gconfaudiosink. This lets
7000 it work with only gst-plugins-base on 0.10.
7002 2005-12-20 Jonathan Matthew <jonathan@kaolin.hn.org>
7004 * rhythmdb/rhythmdb-query-model.c:
7005 (rhythmdb_query_model_set_sort_order):
7006 Fix a tiny memory leak in the previous commit.
7008 2005-12-20 Jonathan Matthew <jonathan@kaolin.hn.org>
7010 * rhythmdb/rhythmdb-query-model.c:
7011 (rhythmdb_query_model_set_sort_order):
7012 Don't try to emit reorders for empty query models, since it doesn't
7013 achieve anything and it results in a few warnings.
7015 2005-12-19 William Jon McCann <mccann@jhu.edu>
7017 * sources/rb-playlist-source-recorder.c (rb_playlist_source_recorder_init):
7018 Make burn dialog non-resizable so that the expander can shrink.
7021 2005-12-19 Jonathan Matthew <jonathan@kaolin.hn.org>
7023 * rhythmdb/rhythmdb.c: (rhythmdb_entry_insert): really refuse to
7024 add entries without a location, rather than those with one.
7026 2005-12-19 James Livingston <jrl@ids.org.au>
7028 * shell/rb-shell-player.c: (rb_shell_player_cmd_play): don't crash if
7029 the error isn't set.
7031 2005-12-19 James Livingston <jrl@ids.org.au>
7032 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element): don't
7033 add entries without a location. Fixes bug 324290.
7035 * rhythmdb/rhythmdb.c: (rhythmdb_entry_insert): refuse to add entries
7038 * shell/main.c: (main): don't crash if dbus initialisation fails
7039 without setting an error
7041 2005-12-19 Jonathan Matthew <jonathan@kaolin.hn.org>
7043 * sources/rb-library-source.c: Remove unused structure members
7044 (rb_library_source_do_query): Actually use the cached 'all' query.
7047 2005-12-16 Jonathan Matthew <jonathan@kaolin.hn.org>
7049 * sources/rb-audiocd-source.c
7050 (rb_audiocd_get_cd_info): tab
7051 (rb_audiocd_scan_songs): Return boolean success/failure,
7052 fix error messages a bit.
7053 (metadata_cb): Don't crash if we have no tracks
7054 (rb_audiocd_load_songs): Don't try to read metadata if we can't read
7058 2005-12-15 William Jon McCann <mccann@jhu.edu>
7060 * shell/rb-shell.c (rb_shell_sync_fullscreen)
7061 (rb_shell_view_fullscreen_changed_cb): Fix sense of fullscreen gconf
7064 Patch from Jonathan Matthew <jonathan@kaolin.hn.org>
7067 2005-12-14 William Jon McCann <mccann@jhu.edu>
7069 * shell/rb-shell.c (rb_shell_constructor, rb_shell_finalize)
7070 (rb_shell_view_fullscreen_changed_cb, rb_shell_sync_fullscreen)
7071 (fullscreen_changed_cb):
7072 * lib/rb-preferences.h:
7073 * data/ui/rhythmbox-ui.xml:
7074 * data/rhythmbox.schemas:
7075 Add fullscreen mode.
7079 2005-12-14 Ryan P Skadberg <skadz@stigmata.org>
7081 * configure.ac: Removed DBUS_SERVICES_DIR from top-level
7082 configure. It was not working with RPM.
7083 * data/Makefile.am: Switched dbus directory location to use
7084 datadir instead of variable that was not working.
7086 2005-12-13 James Livingston <jrl@ids.org.au>
7088 patch by: Alex Lancaster <alexl@users.sourceforge.net>
7090 * sources/rb-podcast-source.c: (rb_podcast_source_class_init): make
7091 the podcast browser work again. Closes bug 323856.
7093 2005-12-12 William Jon McCann <mccann@jhu.edu>
7095 * sources/rb-podcast-source.c (rb_podcast_source_cmd_properties_feed):
7098 * lib/rb-cut-and-paste-code.c: (eel_strdup_strftime),
7099 (rb_utf_friendly_time):
7100 * lib/rb-cut-and-paste-code.h:
7102 * podcast/rb-feed-podcast-properties-dialog.c:
7103 (rb_feed_podcast_properties_dialog_parse_time):
7104 * podcast/rb-podcast-properties-dialog.c:
7105 (rb_podcast_properties_dialog_parse_time): use rb_utf8_friendly_time
7106 to display the date in a more user friendly way.
7107 For example, if the feed was updated yesterday it will say:
7108 Last updated: Yesterday 10:00 AM
7109 instead of printing the date.
7111 2005-12-12 William Jon McCann <mccann@jhu.edu>
7113 * podcast/rb-podcast-parse.c (rb_set_channel_value)
7114 (rb_set_item_value, rb_insert_item, rb_validate_channel_propert)
7115 (rb_validate_item_propert, rb_podcast_parser_start_element)
7116 (rb_podcast_parser_end_element, rb_podcast_parser_characters):
7117 Use RB style. Check for NULL before strcmp. No C++ comments.
7118 (rb_podcast_parse_load_feed): Fix double free of xmlSAXHandler.
7119 Don't set invalid mime type when mime type is NULL. Fix leaks.
7120 (rb_podcast_parse_date): Add support for some real world
7122 (rb_podcast_parse_time, rb_podcast_parse_channel_free)
7123 (rb_podcast_parse_item_free): Style and no need to check
7124 for NULL before g_free.
7128 2005-12-12 James Livingston <jrl@ids.org.au>
7130 * player/rb-recorder-gst.c: (rb_recorder_construct): use audioresample
7131 with gstreamer 0.10, which replaced audioscale.
7133 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_finalize): use correct
7134 function to free the SoupSession
7136 * shell/rb-source-header.c: (rb_source_header_set_property),
7137 (rb_source_header_disclosure_toggled_cb),
7138 (rb_source_header_view_browser_changed_cb),
7139 (rb_source_header_sync_control_state):
7140 * sources/rb-iradio-source.c: (rb_iradio_source_class_init):
7141 * sources/rb-library-source.c: (rb_library_source_class_init):
7142 * sources/rb-source.c: (rb_source_class_init),
7143 (rb_source_get_status), (default_get_browser_key),
7144 (rb_source_get_browser_key), (rb_source_can_browse),
7145 (rb_source_notify_status_changed),
7146 (rb_source_notify_filter_changed):
7147 * sources/rb-source.h: seperate the enabling of browsers from the use
7150 2005-12-11 William Jon McCann <mccann@jhu.edu>
7152 * data/glade/podcast-feed-properties.glade:
7153 * data/glade/podcast-properties.glade: Use scrolled viewports
7154 for description text. Fix regression of #320509.
7156 2005-12-11 James Livingston <jrl@ids.org.au>
7158 * sources/rb-auto-playlist-source.c:
7159 (rb_auto_playlist_source_class_init), (impl_reset_filters),
7160 (impl_search), (rb_auto_playlist_source_do_query),
7161 (rb_auto_playlist_source_set_query),
7162 (rb_auto_playlist_source_get_query): add support for the search box
7163 to automatic playlists.
7165 * sources/rb-library-source.c: (rb_library_source_dispose): fix minor
7168 2005-12-11 James Livingston <jrl@ids.org.au>
7172 2005-12-11 James Livingston <jrl@ids.org.au>
7174 * rhythmdb/rhythmdb.c: (rhythmdb_sync_library_idle),
7175 (rhythmdb_load), (monitor_subdirectory),
7176 (rhythmdb_sync_library_location): start the library sync and
7177 monitoring in an idle callback.
7179 2005-12-10 William Jon McCann <mccann@jhu.edu>
7181 * sources/rb-podcast-source.c (rb_podcast_source_class_init)
7182 (rb_podcast_source_constructor): Remove unused pixbuf column.
7183 (rb_podcast_source_set_property, rb_podcast_source_get_property):
7184 Use consistent style.
7188 2005-12-11 James Livingston <jrl@ids.org.au>
7190 * rhythmdb/rhythmdb-property-model.c:
7191 (rhythmdb_property_model_init), (rhythmdb_property_model_finalize),
7192 (rhythmdb_property_model_insert),
7193 (rhythmdb_property_model_delete_prop):
7194 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_init),
7195 (rhythmdb_tree_finalize), (rhythmdb_tree_property_new),
7196 (destroy_tree_property):
7197 * rhythmdb/rhythmdb.c: (rhythmdb_init), (rhythmdb_finalize),
7198 (rhythmdb_entry_allocate), (rhythmdb_entry_destroy): remove the use of
7199 GMemChunks, they are crap and deprecated. Improves startup-time and
7200 memory usage slightly.
7202 2005-12-10 William Jon McCann <mccann@jhu.edu>
7204 * shell/rb-shell.c (rb_shell_cmd_about): Updated copyright.
7205 Added license and website info.
7207 * MAINTAINERS.old: Add Colin.
7208 * MAINTAINERS: Add James.
7209 * AUTHORS: Put back in order. Add extra space between name and email
7210 to make it easier to read. Add James and jonathan.
7212 * widgets/rb-song-info.c (rb_song_info_init)
7213 (rb_song_info_constructor): Make sure close button is primary/rightmost.
7215 2005-12-10 Jonathan Matthew <jonathan@kaolin.hn.org>
7217 Play queue implementation. Closes bug 107787.
7219 * data/rhythmbox.schemas: add items for whether the queue should be
7220 displayed as a sidebar, and the height of the sourcelist if it is.
7222 * data/ui/rhythmbox-ui.xml: add 'add to queue' actions for library,
7223 playlist, and podcast popups; add 'view queue as sidebar' menu item,
7224 add popups for queue as source and as sidebar. We need a separate
7225 popup for the sidebar view because otherwise it's hard to tell which
7226 of the visible entry views the action came from.
7228 * lib/rb-preferences.h: Add constant for queue-as-sidebar preference
7230 * po/POTFILES.in: Add new file
7232 * podcast/rb-podcast-manager.{c,h} (rb_podcast_manager_entry_downloaded):
7233 Add helper function for deciding if a podcast episode is available for
7236 * rhythmdb/rhythmdb-query-model.{c,h}: Add ability to programmatically
7237 reorder entries in the query model.
7238 (idle_process_update): Handle new update type used to insert entries
7239 at a particular position in the query model.
7240 (rhythmdb_query_model_add_entry): Use new update type, take an 'index'
7241 parameter to specify the position (-1 meaning 'at the end').
7242 (rhythmdb_query_model_insert_into_main_list): Handle the 'index'
7244 (rhythmdb_query_model_remove_from_main_list): Abort if we're getting
7245 bad entry removal updates for entries that aren't in the model.
7246 (rhythmdb_query_model_emit_reorder): Add helper function for
7248 (rhythmdb_query_model_move_entry): New method for moving entries
7250 (rhythmdb_query_model_entry_added_cb),
7251 (rhythmdb_query_model_update_limited_entries),
7252 (rhythmdb_query_model_do_reorder),
7253 (rhythmdb_query_model_do_insert): Pass through the index parameter,
7254 use rhythmdb_query_model_emit_reorder where appropriate.
7256 * shell/rb-playlist-manager.c (rb_playlist_manager_set_property):
7257 Don't allow the queue to be deleted.
7258 (handle_playlist_entry_cb): Update for method signature change
7259 (rb_playlist_manager_save_playlists_async),
7260 (rb_playlist_manager_get_playlists): Don't save the play queue,
7261 don't report it as a playlist.
7263 * shell/rb-play-order.c: Include queue play order in the list of
7267 (rb_shell_class_init), (rb_shell_get_property): Add new property
7268 for access to the clipboard object.
7269 (rb_shell_constructor): Handle playing-from-queue signal to update the
7270 sourcelist display; add queue sidebar in to UI, listen for queue
7271 sidebar pane changes, and read initial settings from gconf.
7272 (rb_shell_playing_source_changed_cb), (rb_shell_playing_from_queue_cb):
7273 Only tell the sourcelist the source has changed if the new source is
7274 not the queue, as we update the sourcelist differently in that case.
7275 (rb_shell_set_window_title): Only use the cached window title if the
7276 playing state was the same when it was created.
7277 (rb_shell_view_queue_as_sidebar_changed_cb): Mangle UI on request.
7278 (rb_shell_sync_pane_visibility): Only hide the side pane if the
7279 sourcelist is hidden and the queue is shown as a source.
7280 (rb_shell_sync_smalldisplay): Disable 'view queue as sidebar' in small
7281 mode, since it doesn't make any sense.
7282 (sourcelist_visibility_changed_cb): Update the visibility of the pane
7284 (rb_shell_sync_paned): Update the queue sidebar pane separator too.
7285 (sidebar_paned_size_allocate_cb): Update sourcelist height in gconf.
7286 (rb_shell_jump_to_entry_with_source): Handle jump to entry when
7287 playing from queue shown as sidebar.
7289 * shell/rb-shell-clipboard.c: Use G_DEFINE_TYPE, move the
7290 MusicProperties action here from rb-shell-player.c, since it acts like
7292 (rb_shell_clipboard_class_init), (rb_shell_clipboard_set_property),
7293 (rb_shell_clipboard_get_property): new property for queue source.
7294 Watch for selection changes in the sidebar entry view as well as the
7296 (rb_shell_clipboard_sync): Rearrange code slightly, include sidebar
7297 actions and MusicProperties.
7298 (rb_shell_clipboard_cmd_queue_delete),
7299 (rb_shell_clipboard_cmd_add_song_to_queue),
7300 (rb_shell_clipboard_cmd_song_info),
7301 (rb_shell_clipboard_cmd_queue_song_info): New action handlers.
7303 * shell/rb-shell-player.{c,h}: Track the source the current playing entry
7304 actually came from (could be the playing source, or the queue), add a
7305 new play order object for the queue, add a property for the queue
7306 source, add a signal for when we switch between playing from the
7307 source and from the queue.
7308 (rb_shell_player_set_property): Handle playing directly from the
7309 queue so we stop once the queue is empty. Create queue play order
7310 when we get the queue source.
7311 (rb_shell_player_get_playing_source): Return the source we're actually
7313 (rb_shell_player_get_playing_entry): Get playing entry from queue if
7315 (rb_shell_player_set_playing_entry): Update the queue play order if
7316 that's where we're playing from.
7317 (rb_shell_player_play_order_update_cb): Take has next/previous for the
7318 queue into consideration too.
7319 (swap_playing_source): Helper function for switching the playing
7321 (rb_shell_player_do_previous): Check the queue, even though there's
7322 never a previous entry in it (yet), swap playing source if it changed.
7323 (rb_shell_player_do_next): Check the queue for entries to play before
7324 the normal play order, and swap playing source if it changed.
7325 (rb_shell_player_do_previous_or_seek): Check the queue for previous
7326 entries to go to as well.
7327 (rb_shell_player_playpause): Check the queue before the selection and
7328 the play order, and swap playing source if it changed.
7329 (rb_shell_player_cmd_song_info): Move to rb-shell-clipboard.c
7330 (rb_shell_player_entry_activated_cb): Use
7331 rb_podcast_manager_entry_downloaded, do some tapdancing to make
7332 activating queue entries work properly (move the activated entry to
7333 the start of the queue and then play it); if we were playing from the
7334 queue, clear its playing entry so it'll start again from the start
7335 after the activated entry.
7336 (rb_shell_player_sync_buttons): MusicProperties action handler moved
7337 to rb-shell-clipboard.c
7338 (actually_set_playing_source): Add helper for updating the playing
7340 (rb_shell_player_set_playing_source_internal): Emit playing-from-queue
7341 signal if we stop or start doing so; use actually_set_playing_source;
7342 emit playing-source-changed if we actually did change source.
7344 * sources/rb-ipod-source.c (add_rb_playlist): Add extra parameter for
7345 rb_static_playlist_source_add_location.
7347 * sources/rb-library-source.c (rb_library_source_class_init): Allow
7348 enqueueing of songs from the library.
7350 * sources/rb-playlist-source.c (rb_playlist_source_class_init): Allow
7351 enqueueing of sonsg from playlists.
7352 (rb_playlist_source_entry_added_cb): Add extra parameter for
7353 rhythmdb_query_model_add_entry.
7355 * sources/rb-podcast-source.c (rb_podcast_source_class_init):
7356 Implement (can_)add_to_queue for this class.
7357 (rb_podcast_source_entry_activated): Use
7358 rb_podcast_manager_entry_downloaded.
7359 (impl_can_add_to_queue): Return TRUE if at least one entry that has
7360 been downloaded is selected.
7361 (impl_add_to_queue): Only add downloaded entries to the queue.
7363 * sources/rb-source.{c,h}:
7364 (rb_source_can_add_to_queue), (rb_source_add_to_queue): New virtual
7366 (rb_source_class_init): Don't allow enqueueing by default; implement
7367 add_to_queue though.
7368 (default_add_to_queue): Add all selected entries to the queue.
7370 * sources/rb-sourcelist.{c,h}: Add concept of 'preempted' source (what
7371 would be playing if there wasn't anything in the queue).
7372 (set_source_playing): Helper function for manipulating tree store.
7373 (rb_sourcelist_set_playing_source): Use set_source_playing
7374 (rb_sourcelist_preempt_playing_source): Update preempted source
7375 pointer, manipulate source states.
7377 * sources/rb-static-playlist-source.{c,h}:
7378 (rb_static_playlist_source_add_location_internal),
7379 (rb_static_playlist_source_add_location),
7380 (rb_static_playlist_source_add_entry): Add index parameter for
7381 specifying where in the playlist the new entry goes.
7382 (rb_static_playlist_source_new_from_xml), (impl_paste),
7383 (rb_static_playlist_source_add_list_uri),
7384 (rb_static_playlist_source_add_location_swapped),
7385 (rb_static_playlist_source_add_locations),
7386 (rb_static_playlist_source_non_entry_dropped),
7387 (rb_static_playlist_source_row_inserted):
7388 Handle new index parameter everywhere it appears
7389 (rb_static_playlist_source_move_entry): New method for moving entries
7390 around in the playlist.
7392 * widgets/rb-entry-view.c (rb_entry_view_scroll_to_iter): Silence gtk
7393 warnings when trying to scroll entry views that have never been
7396 * shell/rb-play-order-queue.{c,h}: New files, implementing a linear
7397 play order that removes the old entry when switching to a new one.
7399 * sources/rb-play-queue-source.{c,h}: New files, implementing a
7400 static playlist subclass that has a second entry view for the sidebar
7401 view using alternate formatting, and that displays the number of
7402 entries it contains in its source list entry.
7404 2005-12-10 James Livingston <jrl@ids.org.au>
7406 * rhythmdb/rhythmdb-query-model.c:
7407 (rhythmdb_query_model_add_entry),
7408 (rhythmdb_query_model_drag_data_received):
7409 * sources/rb-static-playlist-source.c:
7410 (rb_static_playlist_source_non_entry_dropped): when things are
7411 dropped, ignore any blank lines in the list of uris. Make the source
7412 responsible for adding new items to the db.
7414 * rhythmdb/rhythmdb.c: (queue_stat_uri): make sure we aren't passed an
7417 2005-12-10 James Livingston <jrl@ids.org.au>
7419 * shell/rb-shell-player.c: (rb_shell_player_set_property),
7420 (rb_shell_player_sync_buttons),
7421 (rb_shell_player_selection_changed_cb): watch for the
7422 "selection-changed" signal, so that the Song Properties get enabled.
7425 2005-12-10 James Livingston <jrl@ids.org.au>
7427 * data/rhythmbox.schemas: fix the gconf schema
7429 2005-12-10 James Livingston <jrl@ids.org.au>
7431 * metadata/rb-metadata-gst.c: don't set the state to NULL when inside
7432 the decoded-pad callback with gstreamer 0.8, it causes problems.
7434 2005-12-10 Jonathan Matthew <jonathan@kaolin.hn.org>
7436 Remove more junk from RBEntryView. Closes bug 323640.
7438 * widgets/rb-entry-view.{c,h}:
7439 Remove unused private structure members, replace 'playing' boolean
7440 with an enum (so we know if we're paused too), and store a pointer to
7441 the RBShellPlayer too.
7442 (rb_entry_view_class_init), (rb_entry_view_set_property),
7443 (rb_entry_view_get_property):
7444 Remove 'entry-selected' and 'changed' signals and
7445 'playing-entry' property, add 'selection-changed' signal and
7446 'shell-player' and 'playing-state' properties.
7447 (rb_entry_view_new): Take the shell player object reference
7448 (rb_entry_view_playing_cell_data_func): Get pixbuf based on state.
7449 (rb_entry_view_set_playing_entry), (rb_entry_view_get_playing_entry):
7450 No longer needed, shell player is the place to get this information.
7451 (rb_entry_view_busy), (rb_entry_view_get_duration),
7452 (rb_entry_view_get_total_size), (rb_entry_view_get_first_entry),
7453 (rb_entry_view_get_next_from_entry),
7454 (rb_entry_view_get_previous_from_entry),
7455 (rb_entry_view_get_next_entry), (rb_entry_view_get_random_entry),
7456 (rb_entry_view_get_num_entries):
7457 Removed, callers should go to the query model directly.
7458 (rb_entry_view_playing_song_changed): Update active query model, emit
7459 row changed signals to update pixbufs, and scroll to the playing song
7460 when the playing song changes, based on a signal from the shell
7462 (queue_changed_sig), (rb_entry_view_row_changed_cb),
7463 (emit_entry_changed): Evil, removed.
7464 (rb_entry_view_selection_changed_cb): Remove old signals, add new
7465 selection-changed signal.
7466 (rb_entry_view_select_none), (rb_entry_view_select_entry):
7467 Remove selection lock. It didn't work anyway.
7468 (rb_entry_view_set_playing): Replaced with rb_entry_view_set_state.
7469 (rb_entry_view_emit_row_changed): Simple helper function to emit
7470 row-changed signals.
7472 * widgets/Makefile.am: Entry view needs headers from the shell/
7474 * widgets/rb-song-info.{c,h}: Use the query model for everything except
7476 scrolling the entry view to show the entry being displayed.
7477 (rb_song_info_class_init), (rb_song_info_get_property): Add new
7478 'source' property so we can watch for query model changes.
7479 (rb_song_info_finalize): Unref objects, disconnect signal handlers
7480 (rb_song_info_set_property): Watch for query model changes, don't
7481 watch for entry view changes.
7482 (rb_song_info_new): Take source as a parameter, use the source's entry
7483 view unless one was specifically supplied.
7484 (rb_song_info_backward_clicked_cb), (rb_song_info_forward_clicked_cb):
7485 Use query model rather than entry view to move between songs.
7486 (rb_song_info_update_buttons): Use query model.
7487 (rb_song_info_query_model_changed_cb): Handle query model changes.
7489 * shell/rb-playlist-manager.c (rb_playlist_manager_set_property):
7490 Only one copy of the code to enable/disable the CD burning action
7491 (rb_playlist_manager_playlist_entries_changed):
7492 Use the query model to get the number of entries, not the entry view.
7494 * shell/rb-play-order-random-by-age-and-rating.c,
7495 shell/rb-play-order-random-by-age.c,
7496 shell/rb-play-order-random-by-rating.c,
7497 shell/rb-play-order-random-equal-weights.c:
7500 * shell/rb-shell-player.{c,h}:
7501 Remove a few unused entries from the structure.
7502 (rb_shell_player_set_property):
7503 Don't use the 'changed' signal on the entry view (it's evil)
7504 (rb_shell_player_have_first): No longer needed
7505 (rb_shell_player_play): Just tell the entry view it's playing
7506 (rb_shell_player_playpause): Tell the entry view it's paused
7508 (rb_shell_player_entry_view_changed_cb): No longer used, removed.
7509 (rb_shell_player_property_row_activated_cb):
7510 Get the entry to play using the query model, not the entry view.
7511 (rb_shell_player_sync_buttons): Update entry view state while we're
7513 (rb_shell_player_set_playing_source_internal): Update entry view state
7514 (rb_shell_player_get_playing): Ask the entry view, not the player.
7515 This now returns TRUE when paused. This makes rb_shell_set_elapsed
7516 and rb_shell_set_window_title work properly, so you get "(Paused)" in
7517 the window title and tray icon tooltip.
7518 (rb_shell_player_get_mm_player): Not used anywhere, so removed.
7520 * sources/rb-iradio-source.c, sources/rb-library-source.c,
7521 sources/rb-podcast-source.c, sources/rb-playlist-source.c:
7522 (rb_iradio_source_constructor): Pass the RBShellPlayer in to the entry
7523 view constructor, pass the source in to the song info widget
7526 * shell/rb-shell-clipboard.c (rb_shell_clipboard_set_property):
7527 Use 'selection-changed' instead of 'changed', since that's what the
7528 clipboard cares about.
7529 (rb_shell_clipboard_set_source): Don't die if source == NULL
7531 2005-12-10 James Livingston <jrl@ids.org.au>
7533 * player/rb-recorder-gst.c: (rb_recorder_get_default_drive):
7534 * sources/rb-playlist-source-recorder.c:
7535 (_nautilus_burn_drive_new_from_path): make more of the libnautilusburn
7536 stuff not use the deprecated API when compiled against 2.13
7538 2005-12-10 James Livingston <jrl@ids.org.au>
7540 patch by: Alex Lancaster <alexl@users.sourceforge.net>
7542 * widgets/rb-song-info.c: (rb_song_info_sync_entry_single): fix
7543 problem where the genre tag was getting set to the artist. Closes bug
7546 2005-12-09 William Jon McCann <mccann@jhu.edu>
7548 * rhythmdb/rhythmdb-query-model.c (rhythmdb_query_model_get_next_from_entry):
7549 Return NULL if can't get first iter.
7553 2005-12-09 William Jon McCann <mccann@jhu.edu>
7555 * sources/rb-iradio-source.[ch] (impl_song_properties): Use
7556 updated rb_station_properties_dialog_new API.
7557 (rb_iradio_source_add_from_playlist): New public function.
7558 (rb_iradio_source_first_time_changed): Use add_from_playlist.
7560 * shell/rb-shell.c (new_station_location_added): Handle
7561 iradio location added signal.
7562 (rb_shell_cmd_new_station): Use new iradio station dialog.
7564 * iradio/rb-station-properties-dialog.c (rb_station_properties_dialog_init): Use close button. Fix typo.
7565 (rb_station_properties_dialog_new): Don't squeeze new
7566 station functionality into this class.
7567 (rb_station_properties_dialog_response_cb): ditto.
7568 (rb_station_properties_dialog_update_title): Make
7569 consistent with other properties dialogs.
7570 (rb_station_properties_dialog_location_changed_cb): Do nothing.
7572 * iradio/rb-new-station-dialog.[ch]:
7573 * iradio/Makefile.am: Add new station dialog.
7575 * data/glade/station-new.glade: New file based on
7576 new podcast feed dialog.
7577 * data/glade/station-properties.glade: Updated to
7578 be consistent with song properties dialog.
7582 2005-12-10 James Livingston <jrl@ids.org.au>
7584 patch by: Ståle Lyngaas <staale@lyngaas.com>
7586 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_song_changed_cb):
7587 submit songs longer than 30 minutes. Fixes bug 323639.
7589 2005-12-09 William Jon McCann <mccann@jhu.edu>
7591 * shell/rb-shell.c (idle_save_playlist_manager): Use new
7592 async save function.
7593 (rb_shell_finalize): Remove save timeout sources. Reorder
7594 steps a bit to make saving db and playlists a bit more
7595 failsafe in case something goes wrong later.
7596 (rb_shell_constructor): Keep track of save timeout source.
7597 (add_to_library_response_cb): Keep track of db save timeout source.
7599 * shell/rb-playlist-manager.c (reap_dead_playlist_threads): Use
7601 (rb_playlist_manager_shutdown): New function to shutdown
7602 threads etc. before exit.
7603 (rb_playlist_manager_finalize): Moved handling outstanding
7604 threads stuff to shutdown since if there are outstanding threads
7605 they hold a ref and finalize is never called.
7606 (rb_playlist_manager_save_thread_main): Use cond broadcast instead
7607 of signal which may be required for sync save.
7608 (rb_playlist_manager_save_playlists_async): Renamed old
7609 save_playlists to save_playlists_async. Use g_atomic.
7610 (rb_playlist_manager_save_playlists): New function to
7611 perform sync saves (symmetric with RhythmDB API).
7612 (rb_playlist_manager_cmd_new_automatic_playlist): Style consistency.
7614 * rhythmdb/rhythmdb.c (rhythmdb_action_free, rhythmdb_shutdown):
7615 Style consistency anality.
7616 (rhythmdb_finalize): Remove save timeout source.
7617 (rhythmdb_set_property, rhythmdb_get_property)
7618 (rhythmdb_process_events): More anality and keep track of
7619 save timeout source.
7620 (action_thread_main): No need to call g_thread_exit.
7621 (rhythmdb_entry_set_internal, rhythmdb_entry_sync_mirrored)
7622 (rhythmdb_query_parse_valist, rhythmdb_query_free)
7623 (write_encoded_gvalue, read_encoded_property): La la la.
7627 2005-12-10 James Livingston <jrl@ids.org.au>
7629 * metadata/rb-metadata-gst.c: fix 5 second pauses when encountering
7632 2005-12-10 James Livingston <jrl@ids.org.au>
7635 * configure.ac: remove the rpm spec files, so that automake works.
7638 * rhythmdb/rhythmdb.c: (rhythmdb_save_thread_main): fix a trivial
7641 2005-12-09 James Livingston <jrl@ids.org.au>
7643 * debian/: try to get cvs to actually remove the files
7645 2005-12-09 James Livingston <jrl@ids.org.au>
7647 * rhythmbox.spec.in:
7648 * debian/: remove the distro package stuff, they are *really* old, and
7649 downstream manage it anyway.
7651 2005-12-09 Jonathan Matthew <jonathan@kaolin.hn.org>
7653 Rework play orders to work off query models rather than
7654 entry views, and track the playing entry themselves rather
7655 than relying on the entry view to do it. This makes the entry
7656 view mostly just a widget. Closes bug 323612.
7658 * daapsharing/rb-daap-share.c (add_playlist_to_mlcl), (databases_cb):
7659 Use query model rather than entry view to get the number
7660 of entries in playlists.
7662 * rhythmdb/rhythmdb-query-model.{c.h}
7663 (rhythmdb_query_model_tree_path_to_entry),
7664 (rhythmdb_query_model_iter_to_entry),
7665 (rhythmdb_query_model_get_next_from_entry),
7666 (rhythmdb_query_model_get_previous_from_entry):
7667 New utility functions for iterating through query models.
7668 (rhythmdb_query_model_compute_status_normal):
7669 Have one copy of this code, not four.
7671 * shell/rb-play-order.{c,h}:
7672 Add signals for when next/previous availability changes, and
7673 when the playing entry is removed, and add a property for
7674 the current playing entry. Add gtkdoc comments too.
7675 (rb_play_order_class_init): Add new property and signals.
7676 (rb_play_order_finalize), (rb_play_order_playing_source_changed),
7677 (rb_play_orer_query_model_changed_cb),
7678 (rb_play_order_query_model_changed):
7679 Use query model rather than entry view.
7680 (rb_play_order_set_property), (rb_play_order_get_property):
7681 Handle new playing-entry property. Call playing_entry_changed virtual
7682 method so subclasses can do any processing required.
7683 (rb_play_order_is_playing), (rb_play_order_get_playing_entry),
7684 (rb_play_order_set_playing_entry):
7685 Just use the playing-entry property.
7686 (rb_play_order_get_query_model), (rb_play_order_model_not_empty):
7687 Utility methods for subclasses.
7688 (rb_play_order_entry_added_cb), (rb_play_order_entry_removed_cb):
7689 Update next/previous availability, check if the playing entry
7691 (default_playing_entry_removed):
7692 Keep the current behaviour of just stopping playback when the
7693 playing entry is deleted.
7694 (rb_play_order_go_next), (rb_play_order_go_previous): Implement
7695 these for subclasses that don't have go_next/go_previous, but do
7696 have get_next/get_previous.
7697 (rb_play_order_update_have_next_previous): Emit signal if the
7698 availability of next/previous entries has changed.
7700 * shell/rb-play-order-linear.c, shell/rb-play-order-linear-loop.c,
7701 shell/rb-play-order-shuffle.c, shell/rb-play-order-random.c:
7702 Use G_DEFINE_TYPE, replace entry view iterator with query model
7704 (rb_shuffle_playing_entry_changed): If new_entry is NULL and we're
7705 on the last song in the shuffled order, go back to the start. This
7706 means if you press 'play' again you'll get the whole order again, not
7709 * shell/rb-shell-player.c:
7710 (rb_shell_player_get_playing_entry), (info_available_cb): Ask the
7711 play order rather than the entry view.
7712 (rb_shell_player_set_property): Update the play order when the
7713 selected source changes and we aren't playing anything.
7714 (rb_shell_player_sync_play_order): Copy the playing entry across to
7715 the new play order so playback continues from the same song, and watch
7716 for updates to have_next/have_previous.
7717 (rb_shell_player_play_order_update_cb): Enable/disable the
7718 next/previous actions when next/previous entry availability changes.
7719 (rb_shell_player_jump_to_current): Just use the play order's idea of
7720 what's playing, not the entry view's; if not playing anything, clear
7721 the selection, so when a playlist ends and you hit play again, it'll
7722 start at the start rather than the end.
7723 (rb_shell_player_do_previous): restructure a bit.
7724 (rb_shell_player_do_next): restructure, jump to new playing entry in
7725 an idle handler instead of directly.
7726 (rb_shell_player_do_previous_or_seek): Only try to go to the previous
7727 song if there is one.
7728 (rb_shell_player_playpause): Jump to playing song, don't update the
7729 play order if we got the song from the selection.
7730 (rb_shell_player_playing_entry_deleted_cb): Not needed.
7731 (rb_shell_player_sync_buttons): rb_shell_player_play_order_update_cb
7732 looks after next/previous actions now. Don't break if called while
7733 there is no selected source.
7734 (rb_shell_player_finalize), (rb_shell_player_set_playing_entry),
7735 (rb_shell_player_set_playing_source_internal),
7736 (rb_shell_player_error): No need to track the attempted playing entry
7737 any more, since the play order does that.
7740 (rb_shell_jump_to_current), (rb_shell_set_rating_impl): Use
7741 rb_shell_player_get_playing_entry rather than going through the entry
7744 * shell/rb-statusbar.c (rb_statusbar_set_property),
7745 (rb_statusbar_source_status_changed_cb): Listen to the source rather
7746 than the entry view for status bar text changes.
7747 (rb_statusbar_sync_status): Ask the query model directly
7749 * sources/rb-source.{c}: Add query model property.
7750 (default_get_status): Get status text from query model, should be
7751 suitable for most sources.
7752 (rb_source_set_property): Listen for changes to the query model
7753 to update the status text.
7754 (rb_source_row_inserted_cb), (rb_source_row_deleted_cb),
7755 (idle_emit_status_changed): Emit status-changed signals when query
7758 * sources/rb-library-source.c, sources/rb-podcast-source.c:
7759 (impl_get_status): Not needed, RBSource does this now
7760 (rb_library_source_do_query) (rb_podcast_source_do_query):
7761 Update RBSource's query model reference.
7763 * sources/rb-playlist-source.c:
7764 Remove query-model property, since RBSource has one now
7765 (impl_get_status): Not needed, RBSource does this now
7766 (rb_playlist_source_row_deleted): Use query model iterator helper
7768 (rb_playlist_source_set_query_model): Update RBSource's query model
7771 * sources/rb-iradio-source.c:
7772 (impl_get_status): Ask the query model directly.
7773 (rb_iradio_source_do_query): Update RBSource's query model reference
7774 when we create a new query.
7776 * sources/rb-sourcelist-model.c (rb_sourcelist_model_drag_data_get):
7777 Use query model rather than entry view.
7779 * widgets/rb-entry-view.{c,h}:
7780 Remove playing_entry_deleted signal (now in play order).
7781 (entry_from_tree_path), (entry_from_tree_iter): Not needed
7782 as RhythmDBQueryModel has equivalent helper functions.
7783 (rb_entry_view_*): Use query model helpers instead of the above two
7786 2005-12-09 James Livingston <jrl@ids.org.au>
7789 * player/rb-recorder-gst.c: (rb_recorder_get_default_drive),
7790 (rb_recorder_enabled):
7791 * shell/rb-removable-media-manager.c: (poll_tray_opened):
7792 * sources/rb-playlist-source-recorder.c:
7793 (_nautilus_burn_drive_new_from_path), (ask_rewrite_disc): check
7794 whether libnautilusburn has the _drive_unref function, and if so use
7795 it. Stops it complaining about deprecated API.
7797 2005-12-09 James Livingston <jrl@ids.org.au>
7799 * configure.ac: drop the minimum gstreamer version back down, it
7800 accidently got pushed up in the gst 0.10 patch. Closes bug 323561.
7802 2005-12-09 James Livingston <jrl@ids.org.au>
7804 * widgets/rb-song-info.c: (rb_song_info_class_init),
7805 (rb_song_info_show), (rb_song_info_constructor),
7806 (rb_song_info_finalize), (rb_song_info_backward_clicked_cb),
7807 (rb_song_info_forward_clicked_cb): save metadata changes when the
7808 Next/Previous buttons are pressed (closes bug 320952). use
7811 2005-12-09 James Livingston <jrl@ids.org.au>
7813 Patch by: <jonathan@kaolin.hn.org>
7815 * sources/rb-iradio-source.c:
7816 (stations_view_drag_data_received_cb):
7817 * sources/rb-podcast-source.c: (impl_receive_drag): fix drag and drop
7818 of urls. Fixes bug 323610.
7820 2005-12-09 James Livingston <jrl@ids.org.au>
7822 patch by Jan Schmidt <thaytan@mad.scientist.com> to add support for
7823 GStreamer 0.10. DAAP support for 0.10 isn't done yet.
7826 * metadata/rb-metadata-gst.c:
7827 * player/rb-player-gst.c: (rb_player_finalize), (rb_player_bus_cb),
7828 (rb_player_construct), (rb_player_new):
7829 * player/rb-recorder-gst.c: (rb_recorder_gst_free_pipeline),
7830 (rb_recorder_gst_signal_error), (pipe_message),
7831 (rb_recorder_new_pad_cb), (rb_recorder_construct),
7833 * shell/main.c: (main):
7834 * sources/rb-audiocd-source.c: (rb_audiocd_create_track_entry),
7835 (rb_audiocd_get_cd_info): port gstreamer-using code to 0.10.
7837 2005-12-07 Jonathan Matthew <jonathan@kaolin.hn.org>
7839 * data/rhythmbox-ui.xml: replace 'smart' with 'auto' for consistency
7841 * shell/rb-playlist-manager.c:
7842 (rb_playlist_manager_set_property), (handle_playlist_entry_cb),
7843 (playlist_load_start_cb), (rb_playlist_manager_new_playlist)
7844 (rb_playlist_manager_set_automatic_playlist),
7845 (rb_playlist_manager_cmd_new_automatic_playlist),
7846 (rb_playlist_manager_cmd_edit_automatic_playlist):
7847 Use new playlist subclasses.
7848 (rb_playlist_manager_save_playlists): Only read the dirty flag
7849 for local playlists, minor pointless reformatting
7851 * sources/Makefile.am: add new files
7853 * sources/rb-playlist-source.c, sources/rb-playlist-source.h:
7854 split lots of stuff out into two
7855 new classes, RBStaticPlaylistSource and RBAutoPlaylistSource,
7856 make RBPlaylistSource abstract, add virtual methods for showing a
7857 popup for the entry view and saving the playlist to XML.
7858 Other stuff is subclass-specific, or already virtual in RBSource.
7860 * sources/rb-playlist-xml: Define playlist XML tags and attributes
7861 in one place, since they're used across three source files now
7863 * sources/rb-daap-source.c: (rb_daap_source_connection_cb):
7864 Use new static playlist class
7866 * sources/rb-ipod-source.c: (add_rb_playlist):
7867 Use new static playlist class
7869 * sources/rb-static-playlist-source.{c,h},
7870 source/rb-auto-playlist-source.{c,h}, sources/rb-playlist-xml.h: new
7873 * po/POTFILES.in: add new files
7875 2005-12-07 James Livingston <jrl@ids.org.au>
7877 * rhythmdb/rhythmdb.c: (emit_entry_changed), (sync_entry_changed),
7878 (rhythmdb_commit_internal), (rhythmdb_process_metadata_load): make
7879 metadata loads not attempt to write changes to disk.
7881 2005-12-07 James Livingston <jrl@ids.org.au>
7883 patch by: Alex Lancaster <alexl@users.sourceforge.net>
7885 * data/glade/song-info-multiple.glade:
7886 * widgets/rb-song-info.c: (rb_song_info_constructor),
7887 (rb_song_info_sync_entries_multiple): allow the year to be changed on
7888 multiple songs at once.
7890 2005-12-06 James Livingston <jrl@ids.org.au>
7892 * rhythmdb/rhythmdb.c: (rhythmdb_process_metadata_load),
7893 (rhythmdb_entry_set_visibility): emit signal when visibility changes.
7895 2005-12-06 James Livingston <jrl@ids.org.au>
7897 * sources/rb-sourcelist.c: (rb_sourcelist_init): ellipsise source
7898 names rather than adding a horizontal scroll bar.
7900 2005-12-06 James Livingston <jrl@ids.org.au>
7902 * rhythmdb/rhythmdb-query-model.c:
7903 (rhythmdb_query_model_update_limited_entries),
7904 (rhythmdb_query_model_drag_data_received): remove some pointless debug
7907 * rhythmdb/rhythmdb.c: (rhythmdb_process_stat_event),
7908 (rhythmdb_process_file_deleted), (rhythmdb_entry_move_to_trash):
7909 always hide rather than remove DB entries, which will make RB not lose
7910 information when tag editing happens or people move files to trash and
7911 then change their mind. Also fix some races where the monitoring code
7912 would notice the temporary files generated by saving metadata.
7914 2005-12-05 William Jon McCann <mccann@jhu.edu>
7916 * widgets/rb-song-display-box.[ch] (rb_song_display_box_init):
7917 Hide internals and add tooltips.
7918 (rb_song_display_box_size_allocate): Hide internals.
7919 (sanitize_string, info_url): Copied from rb-header.
7920 (rb_song_display_box_sync): New public function.
7922 * widgets/rb-header.[ch]: Use G_DEFINE_TYPE.
7923 (rb_header_init): Use a separate row for the seek bar.
7924 (rb_header_finalize): Don't unref widgets.
7925 (rb_header_sync): Use rb_song_display_box_sync.
7926 (rb_header_set_urldata)
7927 (rb_header_set_show_artist_album): Hide instead of remove widgets.
7928 (rb_header_set_show_position_slider): Set visibility of seek bar.
7929 (rb_header_set_show_timeline): Set sensitivity of seek bar.
7930 (rb_header_get_elapsed_string): Don't shift when you first start playback.
7932 * shell/rb-statusbar.c (rb_statusbar_init)
7933 (rb_statusbar_sync_state): Remove shuffle and repeat controls.
7935 * shell/rb-shell.c (rb_shell_finalize): Destroy tooltips.
7936 (rb_shell_constructor): Remove hseparator. Monitor
7937 toolbar visibility settings. Add toolbar. Add
7938 volume button to toolbar. Add tooltips for volume button.
7939 (rb_shell_view_toolbar_changed_cb)
7940 (rb_shell_sync_toolbar_visibility)
7941 (toolbar_visibility_changed_cb): Set visibility of
7943 (rb_shell_sync_smalldisplay): Set the toolbar style to
7944 icons only when in small display mode.
7945 (rb_shell_volume_widget_changed_cb): Save volume setting.
7947 * shell/rb-shell-player.c (rb_shell_player_constructor):
7948 Remove pause and stop actions. Make play action "important"
7949 so that text is visible in horizontal toolbar position.
7950 Remove control buttons.
7951 (rb_shell_player_init)
7952 (rb_shell_player_sync_song_position_slider_visibility):
7953 Set visbibility of seek bar.
7954 (rb_shell_player_cmd_play, rb_shell_player_playpause):
7955 Make play action a toggle.
7956 (rb_shell_player_sync_volume): Volume control moved
7958 (gconf_song_position_slider_visibility_changed):
7959 Set visbibility of seek bar.
7960 (rb_shell_player_sync_buttons):
7961 Set sensitivity of actions instead of buttons.
7962 (rb_shell_player_playing_changed_cb): Add callback
7963 for player notify::playing changes.
7965 * lib/rb-preferences.h: Add hide toolbar and seek
7968 * data/ui/rhythmbox-ui.xml: Add hide toolbar and
7969 seek bar menu items. Remove pause and stop actions
7970 from the control menu. Add a toolbar.
7972 * data/rhythmbox.schemas: Add toolbar_hidden
7973 song_position_slider_hidden keys.
7975 Patch by: James Livingston <jrl@ids.org.au>
7976 William Jon McCann <mccann@jhu.edu>
7979 2005-12-05 James Livingston <jrl@ids.org.au>
7981 * data/glade/library-prefs.glade:
7982 * data/rhythmbox.schemas:
7983 * lib/rb-preferences.h:
7984 * rhythmdb/rhythmdb.c: (rhythmdb_directory_change_cb),
7985 (rhythmdb_sync_library_location):
7986 * sources/rb-library-source.c: (rb_library_source_class_init),
7987 (rb_library_source_finalize), (rb_library_source_constructor),
7988 (impl_get_config_widget), (rb_library_source_preferences_sync),
7989 (rb_library_source_watch_toggled_cb): allow people to disable library
7990 monitoring, because with nothing set the file chooser button selects
7991 the Home folder (and hence that will get monitored).
7993 2005-12-04 Ryan P Skadberg <skadz@stigmata.org>
7995 * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed): Another
7996 attempt to fix problem with RSS parsing showing invalid feed types.
7999 2005-12-04 James Livingston <jrl@ids.org.au>
8001 * rhythmdb/rhythmdb.c: (rhythmdb_process_metadata_load),
8002 (rhythmdb_execute_stat_info_cb), (rhythmdb_execute_stat): make
8003 importing a remote directory not block the UI.
8005 2005-12-03 Dennis Cranston <dennis_cranston@yahoo.com>
8007 * data/glade/podcast-feed-properties.glade:
8008 * data/glade/podcast-properties.glade: HIG fix, closes bug 323131.
8010 2005-12-04 James Livingston <jrl@ids.org.au>
8012 patch by: Dennis Cranston <dennis_cranston@yahoo.com>
8014 * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed): change ||
8015 to && to fix a mistake in the earlier podcast patch.
8017 2005-12-03 James Livingston <jrl@ids.org.au>
8019 * data/glade/podcast-new.glade:
8020 * podcast/rb-new-podcast-dialog.c: (rb_new_podcast_dialog_init),
8021 (rb_new_podcast_dialog_text_changed): remove some unused stuff.
8023 * player/rb-player-gst.c: (rb_player_set_replaygain): initialise the
8024 GValue, which stops occasional errors.
8026 * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed): fix a
8029 2005-12-03 James Livingston <jrl@ids.org.au>
8031 patch by: Dennis Cranston <dennis_cranston@yahoo.com>
8033 * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed): fix a
8034 crasher with some podcasts feeds.
8036 2005-12-03 James Livingston <jrl@ids.org.au>
8038 * data/rhythmbox.schemas: fix the gconf schema
8040 2005-12-03 James Livingston <jrl@ids.org.au>
8042 patch by: Thomas de Grenier de Latour <degrenier@easyconnect.fr> to
8043 add a selection timeout to the sourcelist. This lets you hold a track
8044 over the playlist source, and then have the view switch so you can
8045 insert the track in the middle of the playlist. Closes bug 323044.
8047 * lib/rb-tree-dnd.c: (init_rb_tree_dnd_data), (scroll_row_timeout),
8048 (select_on_drag_timeout), (remove_select_on_drag_timeout),
8049 (rb_tree_dnd_drag_motion_cb), (rb_tree_dnd_drag_leave_cb),
8050 (rb_tree_dnd_add_drag_dest_support):
8051 * lib/rb-tree-dnd.h: Add an option for tree views to have a selection
8054 * sources/rb-sourcelist-model.c:
8055 (rb_sourcelist_model_set_dnd_targets): Use the selection timeout for
8058 2005-12-02 Bastien Nocera <hadess@hadess.net>
8060 * data/glade/audioscrobbler-prefs.glade: add a space before the web
8061 links, so that the text doesn't touch the button
8063 2005-12-02 James Livingston <jrl@ids.org.au>
8065 Add full support for gnome-vfs remote files. Closes bug 140355.
8067 * rhythmdb/rhythmdb.c: (rhythmdb_execute_stat_info_cb),
8068 (rhythmdb_execute_stat): perform stats asynchronously, so that waiting
8069 for authentication information from the user doesn't block the UI.
8071 (rhythmdb_entry_set_visibility): don't emit the signal twice.
8073 * rhythmdb/rhythmdb.c: (rhythmdb_action_free),
8074 (rhythmdb_event_free), (rhythmdb_shutdown), (emit_entry_changed),
8075 (rhythmdb_entry_allocate), (rhythmdb_directory_change_cb),
8076 (rhythmdb_process_stat_event), (emit_load_error_idle),
8077 (rhythmdb_process_metadata_load),
8078 (rhythmdb_process_queued_entry_set_event),
8079 (rhythmdb_process_file_created_or_modified),
8080 (rhythmdb_process_file_deleted), (rhythmdb_process_events),
8081 (queue_stat_uri), (add_thread_main),
8082 (emit_save_error_idle), (action_thread_main), (rhythmdb_add_uri),
8083 (rhythmdb_load), (rhythmdb_save_thread_main),
8084 (threadsafe_entry_set), (rhythmdb_query_internal),
8085 (query_thread_main), (rhythmdb_do_full_query_async_parsed),
8086 (rhythmdb_do_full_query_internal),
8087 (entry_volume_mounted_or_unmounted), (rhythmdb_volume_mounted_cb),
8088 (rhythmdb_volume_unmounted_cb),
8089 (rhythmdb_check_changed_file): trivial changes to support the
8092 * shell/main.c: (main): activate the authentication manager.
8094 * shell/rb-playlist-manager.c:
8095 (rb_playlist_manager_cmd_load_playlist),
8096 (rb_playlist_manager_cmd_save_playlist):
8097 * shell/rb-shell.c: (rb_shell_cmd_add_folder_to_library),
8098 (rb_shell_cmd_add_file_to_library):
8099 * sources/rb-playlist-source.c: (rb_playlist_source_add_location):
8100 * widgets/rb-druid.c: (rb_druid_browse_clicked_cb): Let people select
8103 2005-12-02 James Livingston <jrl@ids.org.au>
8105 * shell/rb-playlist-manager.c: makes playlist menu items use the
8106 elipses correctly. Fixes bug 322283.
8108 2005-12-02 James Livingston <jrl@ids.org.au>
8110 * shell/rb-playlist-manager.c:
8111 (rb_playlist_manager_load_playlists): fix silly mistake
8113 2005-12-02 James Livingston <jrl@ids.org.au>
8115 * metadata/rb-metadata-gst.c: (rb_metadata_gst_add_tag_data): don't
8116 print out metadata-write unless --debug was passed.
8118 * rhythmdb/rhythmdb.c: (rhythmdb_load):
8119 * shell/rb-playlist-manager.c:
8120 (rb_playlist_manager_load_playlists): block writes to disk if they are
8123 2005-12-02 James Livingston <jrl@ids.org.au>
8125 * shell/rb-shell-clipboard.c: change the move-to-trash shortcut, to
8126 ctrl-T, because Ctrl-D is used by "small mode"
8128 2005-12-02 James Livingston <jrl@ids.org.au>
8130 * shell/rb-shell-preferences.c:
8131 (rb_shell_preferences_append_view_page):
8132 * sources/rb-library-source.c: (impl_get_config_widget):
8133 * sources/rb-podcast-source.c: (impl_get_config_widget):
8134 * sources/rb-source.c: (rb_source_get_config_widget):
8135 * sources/rb-source.h: Make the preference actually work.
8137 * shell/rb-shell.c: (rb_shell_constructor): set up monitoring correctly
8138 if Rhythmbox is being run for the first time.
8140 2005-12-02 James Livingston <jrl@ids.org.au>
8142 Add support for Rhythmbox to watch your library, and automatically add
8143 new tracks. Fixes bug 160159.
8145 * data/glade/library-prefs.glade: add "library location" preference
8146 * data/rhythmbox.schemas: add gconf key for the library location
8148 * rhythmdb/rhythmdb.c: (rhythmdb_init), (rhythmdb_event_free),
8149 (rhythmdb_unmonitor_directories), (rhythmdb_shutdown),
8150 (rhythmdb_finalize), (rhythmdb_directory_change_cb),
8151 (rhythmdb_monitor_uri_path), (rhythmdb_process_stat_event),
8152 (rhythmdb_process_metadata_load), (rhythmdb_process_events),
8153 (rhythmdb_load_thread_main), (rhythmdb_load),
8154 (monitor_subdirectory), (monitor_library_directory),
8155 (monitor_entry_file), (rhythmdb_sync_library_location),
8156 (library_location_changed_cb), (rhythmdb_check_changed_file),
8157 (rhythmdb_process_changed_files): Let Rhythmbox watch the directories
8158 specifiec in the gconf key for new additions. Also fix monitoring code
8159 so that it works properly, and notices deletions.
8161 * lib/rb-preferences.h:
8162 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_class_init),
8163 (rb_audioscrobbler_init), (rb_audioscrobbler_set_property):
8164 * shell/rb-audioscrobbler.h:
8165 * shell/rb-shell-preferences.c: (rb_shell_references_append_page),
8166 (rb_shell_preferences_append_view_page),
8167 (rb_shell_preferences_new):
8168 * shell/rb-shell-preferences.h: rework the way audioscrobbler adds
8169 it's preferences pane, so that we don't need #ifdef's through
8170 rb-shell-preferences.
8172 * shell/rb-shell.c: (rb_shell_class_init), (rb_shell_get_property),
8173 (rb_shell_select_source), (rb_shell_cmd_preferences): give the shell a
8174 "preferences" property, so that sources can acccess it. This is needed
8175 because the library location pref needs to take effect when the window
8178 * sources/rb-library-source.c:
8179 (rb_library_source_library_location_changed),
8180 (rb_library_source_dispose), (rb_library_source_finalize),
8181 (rb_library_source_constructor), (impl_get_config_widget),
8182 (rb_library_source_preferences_sync),
8183 (rb_library_source_process_library_location_change),
8184 (rb_library_source_prefs_update),
8185 (rb_library_source_process_library_handle_selection),
8186 (rb_library_source_library_location_cb): set up and control the
8187 "library location" preference.
8189 * sources/rb-audiocd-source.c:(rb_source_class_init):
8190 * sources/rb-source.c: (rb_source_class_init): remove some pointless
8193 2005-12-01 William Jon McCann <mccann@jhu.edu>
8195 * podcast/rb-feed-podcast-properties-dialog.c (rb_feed_podcast_properties_dialog_init)
8196 (rb_feed_podcast_properties_dialog_update_title):
8197 * data/glade/podcast-feed-properties.glade:
8198 Make the feed properties dialog consistent with the podcast
8201 2005-12-01 William Jon McCann <mccann@jhu.edu>
8203 * metadata/.cvsignore:
8205 * podcast/.cvsignore: Updated.
8207 * shell/main.c (main): Support DBus 0.6 flags.
8209 2005-11-30 Bastien Nocera <hadess@hadess.net>
8211 * data/ui/rhythmbox-ui.xml:
8212 * rhythmdb/rhythmdb.c: (rhythmdb_entry_move_to_trash_cb),
8213 (rhythmbd_entry_move_to_trash_set_error),
8214 (rhythmdb_entry_move_to_trash):
8215 * rhythmdb/rhythmdb.h:
8216 * shell/rb-shell-clipboard.c: (rb_shell_clipboard_sync),
8217 (rb_shell_clipboard_cmd_delete),
8218 (rb_shell_clipboard_cmd_move_to_trash):
8219 * sources/rb-library-source.c: (rb_library_source_class_init),
8220 (impl_delete), (impl_move_to_trash):
8221 * sources/rb-playlist-source.c: (rb_playlist_source_class_init),
8222 (impl_delete), (impl_move_to_trash):
8223 * sources/rb-removable-media-source.c:
8224 (rb_removable_media_source_class_init):
8225 * sources/rb-source.c: (rb_source_class_init),
8226 (rb_source_can_move_to_trash), (rb_source_delete),
8227 (rb_source_move_to_trash):
8228 * sources/rb-source.h:
8229 Add move_to_trash member for the sources, implement move to trash for
8230 the library and playlists
8231 Add a "Move to Trash" context menu item, and menu item (Ctrl+D) to move
8232 local files to the trash, and deleting them from the database
8235 2005-11-30 William Jon McCann <mccann@jhu.edu>
8237 * shell/rb-tray-icon.c (rb_tray_icon_class_init)
8238 (rb_tray_icon_init, rb_tray_icon_finalize):
8239 * shell/rb-statusbar.c (rb_statusbar_class_init)
8240 (rb_statusbar_init, rb_statusbar_finalize):
8241 * shell/rb-source-header.c (rb_source_header_class_init)
8242 (rb_source_header_init, rb_source_header_finalize):
8243 * shell/rb-shell.c (rb_shell_class_init, rb_shell_init)
8244 (rb_shell_finalize):
8245 * shell/rb-shell-preferences.c (rb_shell_preferences_class_init)
8246 (rb_shell_preferences_init, rb_shell_preferences_finalize):
8247 * shell/rb-shell-player.c (rb_shell_player_class_init)
8248 (rb_shell_player_init, rb_shell_player_finalize):
8249 * shell/rb-shell-clipboard.c (rb_shell_clipboard_class_init)
8250 (rb_shell_clipboard_init, rb_shell_clipboard_finalize):
8251 * shell/rb-playlist-manager.c (rb_playlist_manager_class_init)
8252 (rb_playlist_manager_init, rb_playlist_manager_finalize):
8253 * shell/rb-play-order.c (rb_play_order_class_init)
8254 (rb_play_order_init, rb_play_order_finalize):
8255 * shell/rb-play-order-shuffle.c (rb_shuffle_play_order_class_init)
8256 (rb_shuffle_play_order_init, rb_shuffle_play_order_finalize):
8257 * shell/rb-play-order-random.c (rb_random_play_order_class_init)
8258 (rb_random_play_order_init, rb_random_play_order_finalize):
8259 * shell/rb-history.c (rb_history_class_init, rb_history_init)
8260 (rb_history_finalize):
8261 * shell/rb-commander.c (rb_commander_class_init)
8262 (rb_commander_init, rb_commander_finalize):
8263 * shell/rb-audioscrobbler.c (rb_audioscrobbler_class_init)
8264 (rb_audioscrobbler_init, rb_audioscrobbler_finalize):
8265 * remote/bonobo/rb-remote-bonobo.c (rb_remote_bonobo_class_init)
8266 (rb_remote_bonobo_init, rb_remote_bonobo_finalize):
8267 * podcast/rb-podcast-properties-dialog.c (rb_podcast_properties_dialog_class_init)
8268 (rb_podcast_properties_dialog_init)
8269 (rb_podcast_properties_dialog_finalize):
8270 * podcast/rb-podcast-manager.c (rb_podcast_manager_class_init)
8271 (rb_podcast_manager_init, rb_podcast_manager_finalize):
8272 * podcast/rb-new-podcast-dialog.c (rb_new_podcast_dialog_class_init)
8273 (rb_new_podcast_dialog_init, rb_new_podcast_dialog_finalize):
8274 * podcast/rb-feed-podcast-properties-dialog.c (rb_feed_podcast_properties_dialog_class_init)
8275 (rb_feed_podcast_properties_dialog_init)
8276 (rb_feed_podcast_properties_dialog_finalize):
8277 * metadata/rb-metadata-gst.c (rb_metadata_class_init)
8278 (rb_metadata_init, rb_metadata_finalize):
8279 * iradio/rb-station-properties-dialog.c (rb_station_properties_dialog_class_init)
8280 (rb_station_properties_dialog_init)
8281 (rb_station_properties_dialog_finalize):
8282 * daapsharing/rb-daap-share.c (rb_daap_share_class_init)
8283 (rb_daap_share_init, rb_daap_share_dispose):
8285 Use g_type_class_add_private in all classes. Closes bug 313688.
8287 2005-11-30 James Livingston <jrl@ids.org.au>
8289 patch by: William Jon McCann <mccann@jhu.edu> to use
8290 g_type_class_add_private in all classes. Closes bug 313688.
8292 * lib/rb-thread.c: (rb_thread_class_init), (rb_thread_init),
8293 (rb_thread_finalize):
8294 * player/rb-player-gst.c: (rb_player_class_init), (rb_player_init),
8295 (rb_player_finalize):
8296 * rhythmdb/rhythmdb-property-model.c:
8297 (rhythmdb_property_model_class_init),
8298 (rhythmdb_property_model_init), (rhythmdb_property_model_finalize):
8299 * rhythmdb/rhythmdb-query-model.c:
8300 (rhythmdb_query_model_class_init), (rhythmdb_query_model_init),
8301 (rhythmdb_query_model_finalize):
8302 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_class_init),
8303 (rhythmdb_tree_init), (rhythmdb_tree_finalize):
8304 * rhythmdb/rhythmdb.c: (rhythmdb_class_init), (rhythmdb_init),
8305 (rhythmdb_finalize):
8306 * sources/rb-daap-source.c: (rb_daap_source_class_init),
8307 (rb_daap_source_init), (rb_daap_source_dispose):
8308 * sources/rb-iradio-source.c: (rb_iradio_source_class_init),
8309 (rb_iradio_source_init), (rb_iradio_source_finalize):
8310 * sources/rb-library-source.c: (rb_library_source_class_init),
8311 (rb_library_source_init), (rb_library_source_finalize):
8312 * sources/rb-playlist-source.c: (rb_playlist_source_class_init),
8313 (rb_playlist_source_init), (rb_playlist_source_dispose):
8314 * sources/rb-podcast-source.c: (rb_podcast_source_class_init),
8315 (rb_podcast_source_init), (rb_podcast_source_finalize):
8316 * sources/rb-sourcelist-model.c: (rb_sourcelist_model_class_init),
8317 (rb_sourcelist_model_init), (rb_sourcelist_model_finalize):
8318 * sources/rb-sourcelist-model.h:
8319 * sources/rb-sourcelist.c: (rb_sourcelist_class_init),
8320 (rb_sourcelist_init), (rb_sourcelist_finalize):
8321 * sources/rb-sourcelist.h:
8322 * widgets/disclosure-widget.c: (finalize), (class_init), (init):
8323 * widgets/rb-cell-renderer-rating.c:
8324 (rb_cell_renderer_rating_init),
8325 (rb_cell_renderer_rating_class_init),
8326 (rb_cell_renderer_rating_finalize):
8327 * widgets/rb-druid.c: (rb_druid_class_init), (rb_druid_init),
8328 (rb_druid_finalize):
8329 * widgets/rb-entry-view.c: (rb_entry_view_class_init),
8330 (rb_entry_view_init), (rb_entry_view_finalize):
8331 * widgets/rb-header.c: (rb_header_class_init), (rb_header_init),
8332 (rb_header_finalize):
8333 * widgets/rb-load-failure-dialog.c:
8334 (rb_load_failure_dialog_class_init), (rb_load_failure_dialog_init),
8335 (rb_load_failure_dialog_finalize):
8336 * widgets/rb-property-view.c: (rb_property_view_class_init),
8337 (rb_property_view_init), (rb_property_view_finalize):
8338 * widgets/rb-rating.c: (rb_rating_class_init), (rb_rating_init),
8339 (rb_rating_finalize):
8340 * widgets/rb-search-entry.c: (rb_search_entry_class_init),
8341 (rb_search_entry_init), (rb_search_entry_finalize):
8342 * widgets/rb-simple-view.c: (rb_simple_view_class_init),
8343 (rb_simple_view_init), (rb_simple_view_finalize):
8344 * widgets/rb-song-display-box.c: (rb_song_display_box_class_init),
8345 (rb_song_display_box_init), (rb_song_display_box_finalize):
8346 * widgets/rb-song-info.c: (rb_song_info_class_init),
8347 (rb_song_info_init), (rb_song_info_finalize):
8348 * widgets/rb-tree-model-sort.c: (rb_tree_model_sort_class_init),
8349 (rb_tree_model_sort_init), (rb_tree_model_sort_finalize):
8351 2005-11-30 James Livingston <jrl@ids.org.au>
8353 * iradio/rb-station-properties-dialog.c:
8354 (rb_station_properties_dialog_init),
8355 (rb_station_properties_dialog_new):
8356 * lib/rb-glade-helpers.c: (rb_glade_boldify_label):
8357 * lib/rb-glade-helpers.h:
8358 * podcast/rb-feed-podcast-properties-dialog.c:
8359 (rb_feed_podcast_properties_dialog_init),
8360 (rb_feed_podcast_properties_dialog_new):
8361 * podcast/rb-podcast-properties-dialog.c:
8362 (rb_podcast_properties_dialog_init),
8363 (rb_podcast_properties_dialog_new):
8364 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_get_config_widget):
8365 * shell/rb-shell-preferences.c: (rb_shell_preferences_init):
8366 * sources/rb-library-source.c: (impl_get_config_widget):
8367 * sources/rb-playlist-source-recorder.c:
8368 (rb_playlist_source_recorder_init):
8369 * widgets/rb-song-info.c: (rb_song_info_construct_single),
8370 (rb_song_info_constructor): create a single rb_glade_boldify_label()
8371 in rb-glade-helpers, rather than having eight implementation
8372 throughout the code.
8374 2005-11-30 James Livingston <jrl@ids.org.au>
8376 * lib/rb-util.c: (rb_search_fold), (rb_make_duration_string):
8378 * widgets/rb-entry-view.c: (rb_entry_view_duration_cell_data_func):
8379 move the duration->string function into rb-utils, as it gets used in a
8382 patch by: William Jon McCann <mccann@jhu.edu>
8384 * data/glade/podcast-properties.glade:
8385 * podcast/rb-podcast-properties-dialog.c:
8386 (rb_podcast_properties_dialog_init),
8387 (rb_podcast_properties_dialog_update),
8388 (rb_podcast_properties_dialog_update_title),
8389 (rb_podcast_properties_dialog_update_feed),
8390 (rb_podcast_properties_dialog_update_duration),
8391 (rb_podcast_properties_dialog_update_bitrate): Make the podcast
8392 info dialog look more like the song info dialog. Use the same "Feed"
8393 value that is displayed in the treeview (ie. the album field), displays
8394 the duration, uses units in the bitrate field, and sort the fields in
8397 2005-11-29 James Livingston <jrl@ids.org.au>
8399 * rhythmdb/rhythmdb-marshal.list:
8400 * rhythmdb/rhythmdb.h:
8401 * rhythmdb/rhythmdb.c: (rhythmdb_class_init),
8402 (emit_load_error_idle), (rhythmdb_process_metadata_load),
8403 (entry_to_rb_metadata), (emit_save_error_idle),
8404 (action_thread_main): emit error signal when metadata write fails.
8406 * shell/rb-shell.c: (rb_shell_constructor),
8407 (rb_shell_db_load_error_cb), (rb_shell_db_save_error_cb): process the
8408 "metadata save" error and display it to the user.
8410 2005-11-29 James Livingston <jrl@ids.org.au>
8412 * data/ui/rhythmbox-ui.xml:
8413 * sources/rb-podcast-source.c:
8414 (rb_podcast_source_songs_show_popup_cb),
8415 (rb_podcast_source_cmd_download_post),
8416 (rb_podcast_source_cmd_cancel_download): split download and cancel
8417 download commands. Replace usage of "Post" with "Esisode". Fixes bug
8420 2005-11-18 William Jon McCann <mccann@jhu.edu>
8422 * widgets/rb-dialog.c (rb_error_dialog): Don't use a
8423 title on alert dialogs per the HIG.
8425 * sources/rb-playlist-source-recorder.c (burn_cd): Don't use
8427 (free_song_list): Routine to free song list.
8428 (rb_playlist_source_recorder_finalize): Use free_song_list.
8429 (rb_playlist_source_recorder_add_from_model): Return FALSE
8430 if unable to add all songs. Check that duration of all
8431 songs doesn't exceed MAX_PLAYLIST_DURATION which is set to 100 min.
8434 * sources/rb-playlist-source-recorder.c (check_media_length)
8435 (rb_playlist_source_recorder_start): Only check the duration
8436 and current media if the playlist length is longer than a
8437 standard CD (74 min). Otherwise, just let the Recorder do the
8439 * player/rb-recorder-gst.c (rb_recorder_init): Get a default
8441 (rb_recorder_set_device): Don't leak drives.
8442 (rb_recorder_get_media_length): Use drive that was already set.
8443 (rb_recorder_burn): Let the recorder handle checking media type/size.
8446 2005-11-29 James Livingston <jrl@ids.org.au>
8448 * rhythmdb/rhythmdb-query-model.c:
8449 (rhythmdb_query_model_set_sort_order):
8450 * rhythmdb/rhythmdb-query-model.h: add a function to resort the query,
8451 emitting the tree-model "resorted" signal.
8453 * widgets/rb-entry-view.c: (rb_entry_view_class_init),
8454 (rb_entry_view_finalize), (rb_entry_view_set_property),
8455 (rb_entry_view_constructor), (rb_entry_view_resort_model):
8456 * widgets/rb-entry-view.h: add a function to resort the entry view,
8457 using the above function.
8459 * sources/rb-iradio-source.c:
8460 (rb_iradio_source_songs_view_sort_order_changed_cb):
8461 * sources/rb-library-source.c: (rb_library_source_finalize),
8462 (songs_view_sort_order_changed_cb), (rb_library_source_do_query):
8463 * sources/rb-playlist-source.c:
8464 (rb_playlist_source_songs_sort_order_changed_cb):
8465 * sources/rb-podcast-source.c:
8466 (rb_podcast_source_posts_view_sort_order_changed_cb),
8467 (rb_podcast_source_do_query): use the above function instead of
8468 re-creating the query model. This makes changing the sorting an order
8469 of magnitude faster, as it uses a single resorted signal rather than
8470 deleting and re-adding everything (which emits 2N signals). Closes bug
8473 2005-11-29 James Livingston <jrl@ids.org.au>
8475 patch by: Jonathan Matthew <jonathan@kaolin.hn.org> to disable column
8476 autosizing, which results in large speedups. Closes bug 312122.
8478 * po/ja.po: change the date format, so that it is a constant width
8480 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
8481 * sources/rb-podcast-source.c: (rb_podcast_source_constructor):
8482 * widgets/rb-entry-view.c: (rb_entry_view_append_column),
8483 (rb_entry_view_constructor): make columns use fixed widths,
8484 disable column autosizing, and enable fixed-height mode.
8486 * widgets/rb-entry-view.c: (rb_entry_view_set_fixed_column_width),
8487 (rb_entry_view_get_time_date_column_sample):
8488 * widgets/rb-entry-view.h: functions to set a column to a fixed width,
8489 and get the canonical date format for the locale.
8491 ============ Version 0.9.2
8493 2005-11-28 James Livingston <jrl@ids.org.au>
8495 * configure.ac: bump version to 0.9.2
8496 * NEWS: update with changes for 0.9.2
8498 2005-11-28 James Livingston <jrl@ids.org.au>
8500 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
8502 * shell/rb-playlist-manager.c: (rb_playlist_manager_set_property):
8503 Disable saving, renaming and delting for DAAP playlists.
8506 2005-11-28 James Livingston <jrl@ids.org.au>
8508 * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed): check if
8509 gnome_vfs_get_file_info is returning NULL for the mime-type. Should
8512 * sources/rb-audiocd-source.c: (rb_audiocd_source_class_init):
8513 * sources/rb-removable-media-source.c:
8514 (rb_removable_media_source_class_init): fix ipod browser visibility
8517 2005-11-28 James Livingston <jrl@ids.org.au>
8519 * daapsharing/rb-daap-mdns.c: (browse_cb), (rb_daap_mdns_browse): make
8520 Avahi 0.6 support actually work. Fixes bug 322519.
8522 2005-11-26 Ryan P Skadberg <skadz@stigmata.org>
8524 * configure.ac: Fix configure check for Avahi 0.6/0.5 when
8525 avahi is specified in --with-mdns
8527 2005-11-27 James Livingston <jrl@ids.org.au>
8529 patch by: Bastien Nocera <hadess@hadess.net>
8531 * podcast/rb-podcast-parse.c: use the #define we are supposed to use,
8532 not the private one. Fixes bug 322485.
8534 2005-11-26 James Livingston <jrl@ids.org.au>
8536 patch by Daniel S. Haischt <e@daniel.stefan.haischt.name> to support
8537 Avahi 0.6, as well as 0.5.
8540 * daapsharing/rb-daap-mdns.c: (get_avahi_client), (browse_cb),
8541 (rb_daap_mdns_browse), (resolve_cb), (rb_daap_mdns_resolve),
8544 2005-11-25 James Livingston <jrl@ids.org.au>
8546 * configure.ac: Make --enable-ipod not confuse configure. Closes bug
8549 2005-11-25 James Livingston <jrl@ids.org.au>
8551 * metadata/rb-metadata-gst.c: (rb_metadata_gst_add_tag_data): use
8552 correct type for checking the date against 0. Stops a warning when
8555 2005-11-25 James Livingston <jrl@ids.org.au>
8557 * player/rb-player-gst.c: (rb_player_set_replaygain): limit the volume
8558 adjustment to be inside the element's limits. Without this songs that
8559 have large ReplayGain values will recieve no increase because they are
8560 outside the acceptable range, causing them to remain quiet.
8562 2005-11-25 James Livingston <jrl@ids.org.au>
8564 * sources/rb-audiocd-source.c: (rb_audiocd_source_class_init):
8565 * sources/rb-daap-source.c: (rb_daap_source_class_init):
8566 * sources/rb-ipod-source.c:
8567 * sources/rb-source.h:
8568 * sources/rb-library-source.h:
8569 * sources/rb-library-source.c: (rb_library_source_class_init),
8570 (rb_library_source_constructor),
8571 (rb_library_source_has_first_added_column),
8572 (rb_library_source_has_drop_support):
8573 * sources/rb-removable-media-source.c:
8574 (rb_removable_media_source_class_init): Make library-derived sources
8575 not show the Date Added column, as it doesn't make sense. Fixes bug
8577 Move some of the feature funcs from the ipod and audio cd sources up to
8578 the removable media source.
8580 2005-11-24 James Livingston <jrl@ids.org.au>
8582 * sources/rb-iradio-source.c: (rb_iradio_source_dispose): fix compile
8585 2005-11-24 James Livingston <jrl@ids.org.au>
8587 * sources/rb-iradio-source.c: (rb_iradio_source_class_init),
8588 (rb_iradio_source_dispose), (rb_iradio_source_finalize),
8589 (rb_iradio_source_constructor): Chain up dispose method and use
8592 2005-11-24 James Livingston <jrl@ids.org.au>
8594 * shell/rb-shell-player.c: (rb_shell_player_error): fix a silly
8595 mistake in the last commit that can cause crashes.
8597 2005-11-24 James Livingston <jrl@ids.org.au>
8599 * shell/rb-shell-player.c: (rb_shell_player_error): use rb_debug,
8600 instead of g_printerr.
8602 * widgets/rb-entry-view.c: (rb_entry_view_set_sorting_type): use
8603 rb_debug instead of g_warning. The message happens every time for
8604 removable media/daap shares, so it's not unusual.
8606 2005-11-24 James Livingston <jrl@ids.org.au>
8608 patch by: Tom Parker <palfrey@tevp.net>
8610 * configure.ac: fix libsoup test for enabling daap
8612 2005-11-23 James Livingston <jrl@ids.org.au>
8614 * widgets/rb-query-creator.c: (rb_query_creator_class_init),
8615 (rb_query_creator_init), (rb_query_creator_constructor),
8616 (rb_query_creator_dispose), (rb_query_creator_load_query): don't add
8617 empty row to queries with no criteria. Fixes bug 322078. use
8620 2005-11-23 James Livingston <jrl@ids.org.au>
8622 patch by: <baptiste.millemathias@gmail.com>
8624 * help/C/quick-reference.xml: update the quick reference to have the
8625 correct key bindings.
8627 2005-11-22 James Livingston <jrl@ids.org.au>
8629 * sources/rb-library-source.c: (genres_selection_reset_cb),
8630 (artists_selection_reset_cb), (albums_selection_reset_cb): Properly
8631 reset the query when all browser selections are removed.
8633 2005-11-22 Jonathan Matthew <jonathan@kaolin.hn.org>
8635 * podcast/rb-podcast-manager.c:
8636 (rb_podcast_manager_db_entry_deleted_cb):
8637 Use a custom loop to remove podcast posts, rather than
8638 gtk_tree_model_foreach(), as deleting the entries within
8639 that loop causes the iterator to return the first entry
8640 twice. Instead, we need to find the next entry before
8641 removing the current one. Fixes bug 321956.
8642 (rb_podcast_manager_entry_remove_cb): No longer needed.
8644 2005-11-22 James Livingston <jrl@ids.org.au>
8646 * sources/rb-playlist-source.c: (rb_playlist_source_class_init),
8647 (rb_playlist_source_constructor), (rb_playlist_source_dispose): chain
8648 up dispose method, and use G_DEFINE_TYPE. Fixes bug 321715.
8650 2005-11-22 James Livingston <jrl@ids.org.au>
8652 * sources/rb-podcast-source.c:
8653 (rb_podcast_source_post_date_cell_sort_func),
8654 (rb_podcast_source_post_status_cell_sort_func),
8655 (rb_podcast_source_post_feed_cell_sort_func):
8656 * widgets/rb-entry-view.c: (rb_entry_view_location_sort_func),
8657 (rb_entry_view_album_sort_func),
8658 (rb_entry_view_double_ceiling_sort_func),
8659 (rb_entry_view_ulong_sort_func), (rb_entry_view_string_sort_func): use
8660 the entry's location as a last resort when sorting, so the sort order
8661 is stable. This will stop entries moving around when two entries have
8662 the same sorting, and one of them gets played.
8664 2005-11-22 James Livingston <jrl@ids.org.au>
8666 * daapsharing/rb-daap-connection.c:
8667 (rb_daap_connection_class_init), (rb_daap_connection_init),
8668 (connection_get_password), (build_message),
8669 (http_response_handler), (http_get), (handle_server_info),
8670 (handle_login), (handle_update), (handle_database_info),
8671 (handle_song_listing), (handle_playlists),
8672 (handle_playlist_entries), (rb_daap_connection_new),
8673 (rb_daap_connection_constructor), (rb_daap_connection_logout),
8674 (rb_daap_connection_state_done), (rb_daap_connection_do_something),
8675 (rb_daap_connection_get_headers),
8676 (rb_daap_connection_get_playlists), (rb_daap_connection_dispose),
8677 (rb_daap_connection_set_property),
8678 (rb_daap_connection_get_property):
8679 * daapsharing/rb-daap-connection.h:
8680 * sources/rb-daap-source.c: (rb_daap_source_dispose),
8681 (rb_daap_source_connection_cb), (rb_daap_source_disconnect_cb),
8682 (rb_daap_source_disconnect): GObject-ify RBDaapConnection, fix problem
8683 of destroying the object when it is going to be used by a callback and
8684 fixes a double-free. Fixes bugs 321930 and 322007.
8686 2005-11-22 James Livingston <jrl@ids.org.au>
8688 * podcast/rb-podcast-manager.c: (rb_podcast_manager_head_query_cb),
8689 (rb_podcast_manager_insert_feed): Don't show the "new episodes"
8690 notification if there aren't any. Fixes bug 321968.
8692 2005-11-22 James Livingston <jrl@ids.org.au>
8694 * rhythmdb/rhythmdb-property-model.c:
8695 (rhythmdb_property_model_set_property),
8696 (rhythmdb_property_model_finalize),
8697 (rhythmdb_property_model_compare),
8698 (rhythmdb_property_model_insert),
8699 (rhythmdb_property_model_delete_prop): Fix property model sorting
8700 where the display and sort keys are different. Fixes bug 321980.
8702 2005-11-22 James Livingston <jrl@ids.org.au>
8704 * shell/rb-shell.c: (add_to_library_response_cb): detect playlists
8705 when import as a file or passed on the command line, and load them as
8708 2005-11-22 James Livingston <jrl@ids.org.au>
8710 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
8712 * daapsharing/rb-daap-src.c: (gst_tcp_socket_read),
8713 (gst_tcp_socket_write), (rb_daap_src_open_file): don't hang when using
8714 a broken daap server. Fixes bug 321919.
8716 2005-11-22 James Livingston <jrl@ids.org.au>
8718 * sources/rb-podcast-source.c: (rb_podcast_source_constructor): set up
8719 drag-and-drop for both the episodes and feeds list.
8721 (posts_view_drag_data_received_cb), (impl_receive_drag): handle drops
8722 consistantly and steal a trick from Totem for _NETSCAPE_URL drops.
8723 From Jonathan Matthew <jonathan@kaolin.hn.org>.
8725 * widgets/rb-property-view.c: (rb_property_view_class_init),
8726 (rb_property_view_set_property), (rb_property_view_get_property),
8727 (rb_property_view_new), (rb_property_view_constructor):
8728 * widgets/rb-simple-view.c: (rb_simple_view_class_init),
8729 (rb_simple_view_new), (rb_simple_view_constructor):
8730 * widgets/rb-simple-view.h: add a "draggable" property to property
8731 views and set it to false for the feed list. Fixes bug 321284.
8733 2005-11-22 James Livingston <jrl@ids.org.au>
8735 Patch from Jonathan Matthew <jonathan@kaolin.hn.org>
8737 * shell/rb-playlist-manager.c: (rb_playlist_manager_new_playlist):
8738 * sources/rb-daap-source.c: (rb_daap_source_connection_cb):
8739 * sources/rb-ipod-source.c: (add_rb_playlist):
8740 * sources/rb-playlist-source.c: (rb_playlist_source_class_init),
8741 (rb_playlist_source_set_property),
8742 (rb_playlist_source_get_property), (rb_playlist_source_new),
8743 (impl_receive_drag), (rb_playlist_source_add_location),
8744 (rb_playlist_source_new_from_xml):
8745 * sources/rb-playlist-source.h: give playlists and (optional)
8746 entry-type, and reject entries that don't match. Fixes bug 322006.
8748 2005-11-21 James Livingston <jrl@ids.org.au>
8750 * shell/rb-source-header.c: (rb_source_header_source_weak_unref),
8751 (rb_source_header_finalize): remove the weak references when the
8752 source header is finalised. Stops the callbacks being called after the
8753 object is destroyed.
8755 2005-11-21 James Livingston <jrl@ids.org.au>
8757 * shell/main.c: (main): don't try to acquite bonobo/dbus when
8758 --no-registration was passed. It causes warnings that make it
8759 impossible to run with --no-registration --g-fatal-warnings
8761 2005-11-21 James Livingston <jrl@ids.org.au>
8763 * daapsharing/rb-daap-connection.c: (handle_song_listing): fix freeing
8764 of strings when they are still in use. Fixes bug 321547.
8766 (rb_daap_connection_destroy): fix memory leak
8768 2005-11-21 James Livingston <jrl@ids.org.au>
8770 * daapsharing/rb-daap-mdns.c: (browse_cb), (rb_daap_mdns_browse),
8771 (rb_daap_mdns_browse_cancel), (resolve_cb), (rb_daap_mdns_resolve),
8772 (rb_daap_mdns_resolve_cancel), (publish_cb),
8773 (rb_daap_mdns_publish), (rb_daap_mdns_publish_cancel): fix Howl
8776 2005-11-21 James Livingston <jrl@ids.org.au>
8778 * widgets/rb-entry-view.c: (rb_entry_view_genre_sort_func): fix
8781 2005-11-20 James Livingston <jrl@ids.org.au>
8783 * podcast/rb-podcast-manager.c:
8784 (rb_podcast_manager_subscribe_feed): make threads non-joinable, so
8785 that we don't leak thread structures. Fixes bug 321636, and probably
8788 2005-11-20 James Livingston <jrl@ids.org.au>
8790 * metadata/sj-metadata-musicbrainz.c: (get_offline_track_listing),
8792 * podcast/rb-podcast-manager.c: (start_job),
8793 (rb_podcast_manager_db_entry_deleted_cb),
8794 (rb_podcast_manager_entry_remove_cb):
8795 * podcast/rb-podcast-parse.c: (rb_insert_item),
8796 (rb_podcast_parse_load_feed):
8797 * rhythmdb/rhythmdb.c: (rhythmdb_entry_insert):
8798 * shell/rb-removable-media-manager.c:
8799 (rb_removable_media_manager_append_media_source):
8800 * shell/rb-shell.c: (add_to_library_response_cb):
8801 * shell/rb-tray-icon.c: (rb_tray_icon_drop_cb):
8802 * sources/rb-audiocd-source.c: (rb_audiocd_scan_songs):
8803 * sources/rb-iradio-source.c:
8804 (stations_view_drag_data_received_cb):
8805 * sources/rb-library-source.c: (string_list_equal),
8806 (impl_get_extra_views), (impl_receive_drag):
8807 * sources/rb-playlist-source.c: (rb_playlist_source_add_list_uri):
8808 * sources/rb-podcast-source.c: (posts_view_drag_data_received_cb),
8809 (impl_receive_drag):
8810 * widgets/rb-entry-view.c: (rb_entry_view_finalize),
8811 (rb_entry_view_append_column_custom), (harvest_entries):
8812 * widgets/rb-property-view.c:
8813 (rb_property_view_selection_changed_cb):
8814 * widgets/rb-simple-view.c: (rb_simple_view_button_press_cb):
8815 switch from using g_list_append to g_list_prepend. This changes
8816 operations from O(n^2) to O(n), which in cases like deleting a lot of
8817 tracks can give huge improvements in speed. Closes bug 321696.
8819 2005-11-20 James Livingston <jrl@ids.org.au>
8821 * sources/rb-sourcelist.c: (rb_sourcelist_init),
8822 (rb_sourcelist_update_expander_visibility): fix indenting of child
8825 2005-11-20 James Livingston <jrl@ids.org.au>
8827 * daapsharing/rb-daap-mdns.c: (browse_cb), (rb_daap_mdns_browse),
8828 (resolve_cb), (rb_daap_mdns_resolve), (publish_cb),
8829 (rb_daap_mdns_publish), (rb_daap_mdns_publish_cancel),
8830 (rb_daap_mdns_browse_cancel), (rb_daap_mdns_resolve_cancel),
8831 (add_service), (entry_group_cb): dynamically allocate memory, rather
8832 than using static variables.
8834 * daapsharing/rb-daap-share.c: (rb_daap_share_set_property): don't
8835 re-enable the daap share if the name hasn't changed.
8836 * shell/rb-shell-preferences.c:
8837 (share_name_entry_focus_out_event_cb): don't ask the daap share to
8838 change it's name when the checkbox is disabled. Fixed bug 321748.
8840 2005-11-18 James Livingston <jrl@ids.org.au>
8842 * shell/rb-shell.c: (rb_shell_get_visibility): don't count the window
8843 as hidden if it is on the current workspace.
8845 2005-11-17 William Jon McCann <mccann@jhu.edu>
8847 * sources/rb-podcast-source.c (rb_podcast_source_post_date_cell_data_func):
8848 * podcast/rb-podcast-properties-dialog.c (rb_podcast_properties_dialog_update_date)
8849 (rb_podcast_properties_dialog_parse_time):
8850 * podcast/rb-feed-podcast-properties-dialog.c (rb_feed_podcast_properties_dialog_update_last_update)
8851 (rb_feed_podcast_properties_dialog_parse_time):
8852 Rework the way the last mod time strings are created. It was using
8853 thread unsafe functions, not creating value UTF, and not not checking
8854 the value of the result before modifying it. This new method fixes
8857 2005-11-18 James Livingston <jrl@ids.org.au>
8859 Don't reset the search box when viewing a different source, because it
8860 will change what is being played. Closes 321593.
8862 * shell/rb-shell.c: (rb_shell_jump_to_entry_with_source): don't reset
8865 * shell/rb-source-header.c: (rb_source_header_class_init),
8866 (rb_source_header_init), (rb_source_header_finalize): use
8869 (rb_source_header_set_property),
8870 (rb_source_header_source_weak_destroy_cb),
8871 (rb_source_header_search_cb): store the search text when leaving a
8872 source and put it in the search box when viewing it again.
8874 2005-11-18 James Livingston <jrl@ids.org.au>
8876 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
8878 * rhythmdb/rhythmdb.c: (rhythmdb_entry_finalize),
8879 (rhythmdb_entry_set_internal), (rhythmdb_prop_get_type):
8880 * rhythmdb/rhythmdb.h: Remove LAST_POST property, use LAST_SEEN as a
8883 * podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed): use
8884 last-seen as the timestamp of the last update of the feed. Don't
8885 re-add episodes that have been deleted. Closes 319759.
8887 2005-11-18 James Livingston <jrl@ids.org.au>
8889 * podcast/rb-podcast-parse.c: (rb_podcast_parse_date): parse dates
8890 that don't have the day name at the start. Closes 321645.
8892 2005-11-18 James Livingston <jrl@ids.org.au>
8894 * podcast/rb-podcast-manager.c: (rb_podcast_manager_start_sync),
8895 (rb_podcast_manager_copy_post),
8896 (rb_podcast_manager_get_podcast_dir):
8897 * podcast/rb-podcast-manager.h:
8898 * sources/rb-podcast-source.c: (impl_get_config_widget),
8899 (rb_podcast_source_btn_file_change_cb): fix problem of podcast
8900 download location switching to / if the prefs were opened before
8901 downloading an episode. Closes 321611.
8903 2005-11-18 James Livingston <jrl@ids.org.au>
8905 * data/glade/podcast-new.glade:
8906 * podcast/rb-new-podcast-dialog.c: (rb_new_podcast_dialog_init),
8907 (rb_new_podcast_dialog_set_property),
8908 (rb_new_podcast_dialog_get_property),
8909 (rb_new_podcast_dialog_response_cb),
8910 (rb_new_podcast_dialog_text_changed): use a GtkEntry not a GtkTextView
8911 for entering new podcast urls in. Closes bug 321610.
8913 2005-11-18 James Livingston <jrl@ids.org.au>
8915 * sources/rb-podcast-source.c: (construct_query_from_selection),
8916 (rb_podcast_source_do_query): allow podcast list to be re-sorted
8917 without restarting RB. Closes bug 321612.
8919 2005-11-18 James Livingston <jrl@ids.org.au>
8921 * widgets/rb-entry-view.c: (set_column_visibility),
8922 (rb_entry_view_sync_columns_visible): when changing visibility of one
8923 column, don't hide and re-show all the others. Makes a show/hide
8924 column operation a lot faster.
8926 2005-11-17 Jonathan Matthew <jonathan@kaolin.hn.org>
8930 * iradio/rb-station-properties-dialog.c
8931 (rb_station_properties_dialog_update_bitrate):
8932 Mark the bitrate value as being kbps, using the same
8933 translatable format string as rb-song-info.c
8935 * player/rb-player-gst.c (process_tag): Handle GST_TAG_BITRATE
8936 as a ulong, translating it to RB_METADATA_FIELD_BITRATE.
8938 * shell/rb-shell-player.c (info_available_cb):
8939 Use RB_METADATA_FIELD_BITRATE to update the iradio
8940 station's bitrate value.
8942 2005-11-17 James Livingston <jrl@ids.org.au>
8944 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>. Closes bug 321699
8946 * rhythmdb/rhythmdb.c: (rhythmdb_entry_finalize): don't attempt to
8949 2005-11-17 James Livingston <jrl@ids.org.au>
8951 Patch by: Jonathan Matthew <jonathan@kaolin.hn.org>. Closes bug 321698
8953 * lib/rb-stock-icons.c: emit a single warning rather than multiple
8954 assertions. Lookup the icon size correctly.
8956 2005-11-16 William Jon McCann <mccann@jhu.edu>
8958 * daapsharing/rb-daap-mdns.c (get_sw_discovery)
8959 (rb_daap_mdns_browse_cancel, rb_daap_mdns_resolve_cancel):
8962 2005-11-16 James Livingston <jrl@ids.org.au>
8964 * shell/rb-shell-preferences.c: (rb_shell_preferences_class_init),
8965 (rb_shell_preferences_finalize), (rb_shell_preferences_sync),
8966 (rb_shell_preferences_sync_column_button): block the toggle signal of
8967 the column checkboxes while setting their initial state. This stops
8968 the visibility being re-set, which causes a lot of time being spent
8969 measuring the columns aagin when opening the prefs window.
8973 2005-11-16 James Livingston <jrl@ids.org.au>
8975 * sources/rb-sourcelist.c: (rb_sourcelist_init),
8976 (rb_sourcelist_edit_source_name): don't assume that the editable
8977 source name is in the first column, because it isn't. Fixes bug
8980 2005-11-16 James Livingston <jrl@ids.org.au>
8982 * daapsharing/rb-daap-mdns.h:
8983 * daapsharing/rb-daap-mdns.c: (rb_daap_mdns_error_quark),
8984 (get_sw_discovery), (get_avahi_client): use GErrors, so that other
8985 parts can know why operations failed. Avahi can report that the daemon
8986 was not running. Howl doesn't do this (yet).
8988 (rb_daap_mdns_browse), (rb_daap_mdns_resolve),
8989 (rb_daap_mdns_publish), (rb_daap_mdns_publish_cancel),
8990 (browse_cb): don't display mdns errors to the user, if it wa because
8991 the daemon was not running.
8993 2005-11-16 James Livingston <jrl@ids.org.au>
8995 * rhythmdb/rhythmdb-property-model.c:
8996 (rhythmdb_property_model_init), (rhythmdb_property_model_finalize),
8997 (rhythmdb_property_model_compare),
8998 (rhythmdb_property_model_insert),
8999 (rhythmdb_property_model_insert_prop),
9000 (rhythmdb_property_model_delete),
9001 (rhythmdb_property_model_delete_prop),
9002 (rhythmdb_property_model_get_value): use RBRefStrings rather than
9003 copying the string and re-creating the sort key. Saves a little bit of
9006 (rhythmdb_property_model_perform_sync),
9007 (rhythmdb_property_model_sync): perform the count sync in an idle
9008 callback, so that it doesn't have to be re-run once per value when
9011 2005-11-16 James Livingston <jrl@ids.org.au>
9013 * rhythmdb/rhythmdb-query-model.c:
9014 (rhythmdb_query_model_entry_deleted_cb),
9015 (rhythmdb_query_model_remove_entry): remove deleted entries from the
9016 limited list. Stops problems if they are deleted, and then things on
9019 2005-11-16 James Livingston <jrl@ids.org.au>
9023 * shell/rb-shell.c: (rb_shell_window_delete_cb): disable close
9024 button's minimise-to-tray action
9026 2005-11-16 James Livingston <jrl@ids.org.au>
9028 * rhythmdb/rhythmdb.c: (rhythmdb_directory_change_cb): fix a memory
9029 leak. Disable adding newly created files for now, because it doesn't
9032 * sources/rb-sourcelist-model.c: (rb_sourcelist_model_class_init),
9033 (rb_sourcelist_model_finalize):
9034 * sources/rb-sourcelist.c: (rb_sourcelist_class_init),
9035 (rb_sourcelist_finalize): use G_DEFINE_TYPE,
9037 2005-11-16 James Livingston <jrl@ids.org.au>
9039 * sources/rb-audiocd-source.c: (rb_audiocd_is_volume_audiocd): fix
9040 problem where a GError* wasn't being set to NULL. Actually check the
9043 2005-11-16 James Livingston <jrl@ids.org.au>
9045 * doc/reference/tmpl/rb-entry-view.sgml:
9046 * doc/reference/tmpl/rhythmbox-unused.sgml:
9047 * doc/reference/tmpl/rhythmdb-query-model.sgml:
9048 * doc/reference/tmpl/rhythmdb.sgml:
9049 * rhythmdb/rhythmdb.c: (rhythmdb_entry_unref): add some RhythmDB API
9050 docs, including the patch that was on bug
9052 * rhythmdb/rhythmdb.h: remove rhythmdb_entry_destroy from the public
9053 API, because it should only be used by RhythmDB itself.
9055 2005-11-16 James Livingston <jrl@ids.org.au>
9057 * shell/rb-tray-icon.c: (rb_tray_icon_button_press_event_cb): allow
9058 pausing by middle clicking on the tray icon.
9060 2005-11-15 James Livingston <jrl@ids.org.au>
9062 * configure.ac: enable audioscrobbler support by default, if libsoup
9065 2005-11-15 James Livingston <jrl@ids.org.au>
9067 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
9071 * daapsharing/rb-daap-connection.c: (build_message),
9072 (g_zalloc_wrapper), (g_zfree_wrapper), (http_response_handler):
9073 support gzip encoded daap connections.
9075 (handle_song_listing): fix leak
9077 2005-11-15 James Livingston <jrl@ids.org.au>
9079 * rhythmdb/rhythmdb.c: (rhythmdb_entry_sync_mirrored):
9080 * sources/rb-podcast-source.c:
9081 (rb_podcast_source_post_date_cell_data_func): make the date format
9082 translatable again, so that translators can choose the best format for
9083 their locale (%x is huge in some locales)
9085 2005-11-15 James Livingston <jrl@ids.org.au>
9087 * podcast/rb-podcast-manager.c: (rb_podcast_manager_save_metadata),
9088 (end_job): mark podcast episodes as failed, if the metadata load
9089 fails. This will prevent people playing non-audio enclosures, helping
9092 2005-11-14 James Livingston <jrl@ids.org.au>
9094 * player/rb-player-gst.c: (rb_player_construct): Explicitly set the
9095 video sink to fakesink. This will stop problems (potentially crashers)
9096 that will occur if the file contains a video stream.
9098 * rhythmdb/rhythmdb.h: define the podcast status number in an enum,
9099 rather than using magic numbers everywhere.
9101 * shell/rb-shell-player.c: (rb_shell_player_entry_activated_cb):
9102 * sources/rb-podcast-source.c:
9103 (rb_podcast_source_songs_show_popup_cb),
9104 (rb_podcast_source_cmd_download_post),
9105 (rb_podcast_source_post_status_cell_data_func),
9106 (rb_podcast_source_entry_activated_cb): use the above constants.
9108 * podcast/rb-podcast-manager.c: (rb_podcast_manager_init),
9109 (rb_podcast_manager_finalize), (rb_podcast_manager_download_entry),
9110 (rb_podcast_manager_next_file), (rb_podcast_manager_copy_post),
9111 (write_job_data), (rb_podcast_manager_cancel_all), (end_job),
9112 (cancel_job), (download_progress_cb),
9113 (rb_podcast_manager_cancel_download),
9114 (rb_podcast_manager_insert_feed): use the constants, and fix a
9115 trhead-safety issue.
9117 2005-11-14 Bastien Nocera <hadess@hadess.net>
9119 * rhythmdb/rhythmdb.c: (rhythmdb_process_stat_event): Patch from
9120 Jonathan Matthew <jonathan@kaolin.hn.org> to avoid lingering
9121 entry-changed events after stats on startup, fixes entry deleted from
9122 filtered views not disappearing
9124 2005-11-14 Jonathan Matthew <jonathan@kaolin.hn.org>
9126 Fix rhythmdb query model refcount and polling problems. Closes bug
9129 * rhythmdb/rhythmdb-property-model.c:
9130 (rhythmdb_property_model_finalize):
9131 Unref the query model if we have one.
9133 * rhythmdb/rhythmdb-query-model.h:
9134 Remove poll and cancel methods. Query cancellation
9135 never did anything anyway.
9137 * rhythmdb/rhythmdb-query-model.c:
9138 (rhythmdb_query_model_init): Remove GAsyncQueues.
9139 Replace the GAsyncQueue-based update processing
9140 with a simpler g_idle_add approach; still has the
9141 same queueing properties, but now we don't poll the
9142 model forever and updates are processed immediately.
9144 (_unref_entry), (rhythmdb_query_model_finalize):
9145 Unref DB entries when finalized
9147 (rhythmdb_query_model_has_pending_changes):
9148 Use our own counter to decide if there are updates pending
9150 (rhythmdb_query_model_process_update), (idle_process_update):
9151 Process updates using g_idle_add, or directly if possible
9153 (rhythmdb_query_model_signal_complete),
9154 (rhythmdb_query_model_add_entries):
9155 Change to new update processing method
9157 (idle_poll_model), (rhythmdb_query_model_poll):
9158 Remove GAsyncQueue-based update processing.
9160 * rhythmdb/rhythmdb.c: (rhythmdb_do_full_query_internal):
9161 No need to poll the model any more - updates are processed
9162 directly for synchronous queries.
9164 * sources/rb-iradio-source.c: (rb_iradio_source_do_query):
9165 Property model needs to be unref'd here
9167 * sources/rb-library-source.c: (rb_library_source_do_query):
9168 Don't try to cancel the active query (it never worked anyway),
9169 remove obsolete poll call, unref property models as required,
9170 and don't unref the cached 'all' query, since hold on to it.
9171 We unref it when the sort order changes, which forces the query
9174 * sources/rb-podcast-source.c: (rb_podcast_source_constructor):
9175 Unref the property model as required
9177 (rb_podcast_source_do_query):
9178 Treat any query with no selected feeds and no search text as
9179 an 'all' query. Unref query models except for the cached
9180 'all' query, since we hold on to that.
9182 (rb_podcast_source_cmd_update_all):
9183 Unref the property model as required.
9185 * widgets/rb-entry-view.c: (rb_entry_view_set_property):
9186 Don't try to cancel the query (it never worked anyway)
9188 (rb_entry_view_poll_model):
9189 No need for this any more.
9191 * widgets/rb-entry-view.h:
9192 Remove obsolete function rb_entry_view_poll_model
9194 * widgets/rb-property-view.c: (rb_property_view_set_property):
9195 Ref and unref the property model as required.
9197 2005-11-14 James Livingston <jrl@ids.org.au>
9199 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
9201 * shell/rb-shell-player.c: (rb_shell_player_open_location): fix checks
9202 for error. Closes bug 321416.
9204 2005-11-14 James Livingston <jrl@ids.org.au>
9206 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
9208 * podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed): fix
9209 a crasher if a feed's last-post value isn't set. Closes bug 321353.
9211 2005-11-14 James Livingston <jrl@ids.org.au>
9213 * shell/rb-playlist-manager.c: (rb_playlist_manager_set_uimanager):
9214 * shell/rb-removable-media-manager.c:
9215 (rb_removable_media_manager_set_uimanager):
9216 * shell/rb-tray-icon.c: (rb_tray_icon_constructor): set the
9217 translation domain for GTK action groups.
9219 2005-11-12 James Livingston <jrl@ids.org.au>
9221 * po/POTFILES.in: remove the old station-new files
9223 2005-11-12 James Livingston <jrl@ids.org.au>
9225 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_start_element),
9226 (rhythmdb_tree_parser_end_element), (save_entry_ulong),
9227 (save_entry): cause Rhythmbox to re-read the metadata from a file,
9228 when upgrading from a pre-Date-supporting version to a version that
9229 supports Date metadata. Closes bug 320760.
9231 2005-11-12 James Livingston <jrl@ids.org.au>
9233 Add "update all podcast feeds" command. Closes bug 319954.
9235 * data/ui/rhythmbox-ui.xml: add to source context menu.
9237 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
9238 (register_action_group), (rb_podcast_source_cmd_download_post),
9239 (rb_podcast_source_cmd_delete_feed),
9240 (rb_podcast_source_cmd_properties_feed),
9241 (rb_podcast_source_cmd_update_feed): pass the source to the actions,
9242 rather than the shell.
9244 (rb_podcast_source_update_feed_func),
9245 (rb_podcast_source_cmd_update_all): update every feed.
9247 2005-11-11 James Livingston <jrl@ids.org.au>
9249 * shell/rb-shell-player.c: (rb_shell_player_class_init),
9250 (rb_shell_player_constructor), (rb_shell_player_finalize):
9251 * shell/rb-shell.c: fix some conflicting keybindings, and mak some
9252 others follow the HIG recommentations.
9254 2005-11-11 James Livingston <jrl@ids.org.au>
9256 * podcast/rb-podcast-manager.c:
9257 (rb_podcast_manager_subscribe_feed): check that the url is valid,
9258 before trying to use it.
9260 2005-11-11 James Livingston <jrl@ids.org.au>
9262 * widgets/rb-entry-view.c: (rb_entry_view_date_sort_func),
9263 (rb_entry_view_append_column): When sorting by year, sort by album
9264 within a particular year.
9266 2005-11-11 James Livingston <jrl@ids.org.au>
9270 2005-11-10 Charles Schmidt <cschmidt2@emich.edu>
9271 * daapsharing/rb-daap-connection.c: (build_message): Fixed the
9272 spelling of "Language."
9274 2005-11-11 James Livingston <jrl@ids.org.au>
9276 * rhythmdb/rhythmdb-property-model.c:
9277 (rhythmdb_property_model_row_inserted_cb),
9278 (rhythmdb_property_model_prop_changed_cb),
9279 (rhythmdb_property_model_entry_removed_cb),
9280 (rhythmdb_property_model_insert_prop),
9281 (rhythmdb_property_model_sync): display the count after the "All"
9282 entry of a property model.
9284 * widgets/rb-property-view.c: (rb_property_view_class_init),
9285 (rb_property_view_finalize), (rb_property_view_constructor): use
9288 2005-11-10 James Livingston <jrl@ids.org.au>
9290 * rhythmdb/rhythmdb-query-model.c:
9291 (rhythmdb_query_model_remove_entry):
9292 * rhythmdb/rhythmdb-query-model.h: make
9293 rhythmdb_query_model_remove_entry return whether the entry was in the
9296 * sources/rb-playlist-source.c: (rb_playlist_source_add_location):
9297 don't add non-SONG entries, as it doesn't really work and can cause
9300 (rb_playlist_source_remove_location): assert if the playlist and model
9301 differ on whether the entry is in the playlist
9303 2005-11-10 James Livingston <jrl@ids.org.au>
9305 * podcast/rb-podcast-manager.c: (rb_podcast_manager_init),
9306 (rb_podcast_manager_finalize), (rb_podcast_manager_subscribe_feed),
9307 (rb_podcast_manager_thread_parse_feed),
9308 (rb_podcast_manager_insert_feed), (rb_podcast_manager_event_loop),
9309 (rb_podcast_manager_abort_subscribe): use a GAsyncQueue rather than
9310 emulating one with a list and mutex. Fixes a couple of threading
9313 (rb_podcast_manager_insert_feed): fix some problems with ignoring
9316 (rb_podcast_manager_download_entry), (rb_podcast_manager_next_file),
9317 (rb_podcast_manager_copy_post), (end_job), (cancel_job),
9318 (download_progress_cb), (rb_podcast_manager_db_entry_deleted_cb),
9319 * podcast/rb-podcast-parse.c: (rb_insert_item),
9320 (rb_podcast_parse_channel_free):
9321 * podcast/rb-podcast-parse.h: Convert C++-style comments to C-style,
9322 fix some typos, and make a bit of code clearer.
9324 2005-11-10 Dennis Cranston <dennis_cranston@yahoo.com>
9326 Make the "delete podcast" dialog better. Closes bug 320899.
9328 * shell/rb-shell.c: (rb_shell_class_init), (rb_shell_get_property):
9329 Add PROP_WINDOW for rb_shell_get_property so we can access the
9330 GtkWindow widget of the main window.
9331 * sources/rb-podcast-source.c: (impl_delete): Set parent window &
9332 fix mnemonic conflict; (rb_podcast_source_cmd_delete_feed): Make the
9333 podcast feed delete dialog less confusing as well.
9335 2005-11-09 James Livingston <jrl@ids.org.au>
9337 * shell/rb-removable-media-manager.c:
9338 (rb_removable_media_manager_mount_volume),
9339 (rb_removable_media_manager_scan): Fix a crasher where we were getting
9340 NULL for a cd volume.
9342 2005-11-08 Jonathan Matthew <jonathan@kaolin.hn.org>
9344 * rhythmdb/rhythmdb.h: make RhythmDB's impl_entry_set
9345 method return a gboolean indicating whether the changes
9346 to the entry have already been applied.
9348 * rhythmdb/rhythmdb.c: (rhythmdb_entry_set_internal):
9349 only modify the entry if impl_entry_set returns FALSE.
9351 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_entry_set):
9352 When setting the location of an entry, update the
9353 hash table mapping locations to entries.
9355 2005-11-08 Jonathan Matthew <jonathan@kaolin.hn.org>
9357 * data/glade/Makefile.am:
9358 * iradio/Makefile.am:
9359 Remove 'new station' dialog.
9361 * iradio/rb-station-properties-dialog.h:
9362 * sources/rb-iradio-source.c: (impl_song_properties):
9363 * shell/rb-shell.c: (rb_shell_cmd_new_station):
9364 Add 'new station' mode parameter to
9365 rb_station_properties_dialog_new.
9367 * (rb_station_properties_dialog_response_cb),
9368 (rb_station_properties_dialog_create_station):
9369 When in 'new station' mode, create the station
9370 when OK button is pressed.
9372 * iradio/rb-station-properties-dialog.c:
9373 (rb_station_properties_dialog_location_changed_cb):
9374 Only enable OK button if a location is specified
9375 (rb_station_properties_dialog_init),
9376 (rb_station_properties_dialog_new),
9377 (rb_station_properties_dialog_update),
9378 (rb_station_properties_dialog_update_title),
9379 (rb_station_properties_dialog_rated_cb),
9380 (rb_station_properties_dialog_update_play_count),
9381 (rb_station_properties_dialog_update_bitrate),
9382 (rb_station_properties_dialog_update_last_played),
9383 (rb_station_properties_dialog_update_rating),
9384 (rb_station_properties_dialog_update_playback_error),
9385 (rb_station_properties_dialog_show):
9386 Handle 'new station' mode, where there's no current
9389 2005-11-08 James Livingston <jrl@ids.org.au>
9391 * sources/rb-playlist-source.c: (rb_playlist_source_constructor): make
9392 keybinding for track columns consistent between library and playlist
9395 2005-11-07 James Livingston <jrl@ids.org.au>
9397 * data/ui/rhythmbox-ui.xml:
9398 * shell/rb-playlist-manager.c: (rb_playlist_manager_set_property): add
9399 "Edit" item to playlist menu. Closes bug 311470.
9401 2005-11-07 James Livingston <jrl@ids.org.au>
9403 patch by: Jaap A. Haitsma <jaap@haitsma.org>
9405 * widgets/rb-dialog.c: (rb_file_chooser_new): add overwrite
9406 confirmation to save dialogs, with gtk 2.8 or higher.
9408 2005-11-07 James Livingston <jrl@ids.org.au>
9409 * configure.ac: move gnome-vfs 2.7.4 from being an ipod-only
9410 requirement to a general on, because people are going to have it for
9411 the other dependencies.
9413 2005-11-06 Dennis Cranston <dennis_cranston@yahoo.com>
9415 * sources/rb-podcast-source.c: (impl_delete): Make the podcast
9416 delete dialog less confusing. Use HIG recommended button order.
9419 2005-11-06 James Livingston <jrl@ids.org.au>
9421 * sources/rb-audiocd-source.c: (rb_audiocd_source_class_init): remove
9422 drag-and-drop error.
9424 * sources/rb-library-source.c: (rb_library_source_constructor): only
9425 add drag-and-drop for the Library itself, subclasses can add support
9426 themselves if they want it.
9428 * sources/rb-removable-media-source.c:
9429 (rb_removable_media_source_class_init): by default removable media
9430 sources do not support dnd
9432 2005-11-05 Jonathan Matthew <jonathan@kaolin.hn.org>
9434 * data/glade/station-properties.glade:
9435 Add box containing error icon and error message label
9436 * iradio/rb-station-properties-dialog.c:
9437 (rb_station_properties_dialog_class_init),
9438 (rb_station_properties_dialog_finalize):
9439 Change this class to use G_DEFINE_TYPE
9440 (rb_station_properties_dialog_init),
9441 (rb_station_properties_dialog_update),
9442 (rb_station_properties_dialog_update_playback_error):
9443 Display error icon and message when there is one, and hide the error
9445 (rb_station_properties_dialog_show): Hack widget show
9446 method to update the visibility of the error info box when showing
9447 the widget. Otherwise the icon is displayed all the time (same thing
9448 is done in rb-song-info). Closes bug 320749.
9450 2005-11-04 Dennis Cranston <dennis_cranston@yahoo.com>
9452 * podcast/rb-podcast-parse.c: (rb_podcast_parse_time): Fix the
9453 parsing of the duration of podcast episodes from the feed. Closes bug
9456 2005-11-05 James Livingston <jrl@ids.org.au>
9458 patch by Christophe Fergeau <teuf@gnome.org> to add support for the
9459 release date metadata ("Year"). Closes bug 166093.
9461 * metadata/rb-metadata-common.c: (rb_metadata_get_field_type):
9462 * metadata/rb-metadata-gst.c: (rb_metadata_gst_load_tag),
9463 (rb_metadata_gst_add_tag_data):
9464 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
9466 * rhythmdb/rhythmdb.c: (metadata_field_from_prop),
9467 (extract_gtype_from_enum_entry), (rhythmdb_entry_finalize),
9468 (set_props_from_metadata), (rhythmdb_entry_set_internal),
9469 (rhythmdb_prop_get_type):
9470 * rhythmdb/rhythmdb.h: add support for "date" property
9472 * data/glade/general-prefs.glade:
9473 * shell/rb-shell-preferences.c: (rb_shell_preferences_init):
9474 * widgets/rb-entry-view.c: (rb_entry_view_year_cell_data_func),
9475 (rb_entry_view_append_column):
9476 * widgets/rb-entry-view.h:
9477 * sources/rb-library-source.c: (rb_library_source_constructor):
9478 * sources/rb-playlist-source.c: (rb_playlist_source_constructor): Add
9481 * data/glade/song-info.glade:
9482 * widgets/rb-song-info.c: (rb_song_info_boldify_label),
9483 (rb_song_info_construct_single), (rb_song_info_constructor),
9484 (rb_song_info_populate_dialog), (rb_song_info_update_year),
9485 (rb_song_info_sync_entry_single): Add "Year" to song info window
9487 * widgets/rb-query-creator-properties.c: Allow auto playlists to be
9490 2005-11-05 James Livingston <jrl@ids.org.au>
9492 * data/glade/podcast-properties.glade: Add a scrollbar to the podcast
9493 description if it's very long.
9495 2005-11-05 James Livingston <jrl@ids.org.au>
9497 pathc by: Artem Baguinski <femistofel@gmail.com>
9499 * help/C/Makefile.am:
9500 * help/ja/Makefile.am: allow Anjuta to import the RB source tree.
9503 2005-11-05 James Livingston <jrl@ids.org.au>
9505 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
9507 * daapsharing/rb-daap-share.c: (write_next_chunk),
9508 (message_finished), (databases_cb): Use chunked file loading and
9509 sending in the DAAP server. This should reduce the amount of memory
9510 required to send files to the client.
9512 2005-11-05 James Livingston <jrl@ids.org.au>
9514 * configure.ac: make the nautilus_burn_drive_door_is_open detection
9515 work better on some systems. Closes 320622.
9517 2005-11-05 James Livingston <jrl@ids.org.au>
9519 * data/glade/audioscrobbler-prefs.glade: add a link to the last.fm
9520 homepage, so that users can find out what AudioScrobbler is. Add
9523 * data/glade/daap-prefs.glade:
9524 * data/glade/general-prefs.glade:
9525 * data/glade/library-prefs.glade: make the indent be more consistent
9527 * data/glade/podcast-prefs.glade:
9528 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
9529 (impl_get_config_widget): move thing out of code into glade, where
9532 2005-11-05 James Livingston <jrl@ids.org.au>
9534 * shell/rb-shell.c: (rb_shell_constructor): really remove bit of code
9535 related to WITH_CD_BURNER_SUPPORT that I missed in the other commit
9537 2005-11-04 James Livingston <jrl@ids.org.au>
9539 * configure.ac: don't print DAAP configure info twice
9541 2005-11-04 James Livingston <jrl@ids.org.au>
9543 * shell/rb-playlist-manager.c: (rb_playlist_manager_set_property):
9544 * sources/rb-playlist-source.c: (burn_playlist_iter_func),
9545 (rb_playlist_source_burn_playlist): remove the WITH_CD_BURNER_SUPPORT
9546 #ifdefs, since we removed the symbol. Oops
9548 2005-11-04 James Livingston <jrl@ids.org.au>
9550 * sources/rb-ipod-source.c: (hal_udi_is_ipod): put the libhal_ctx_init
9551 after the connect line, not before. Oops.
9553 2005-11-04 James Livingston <jrl@ids.org.au>
9555 * sources/rb-podcast-source.c: (rb_podcast_source_cmd_update_feed):
9558 2005-11-03 James Livingston <jrl@ids.org.au>
9560 * NEWS: update the news file
9562 * data/glade/general-prefs.glade: make the prefs refer to "time" not
9565 * data/ui/rhythmbox-ui.xml:
9566 * shell/rb-playlist-manager.c:
9567 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
9568 (rb_podcast_source_feeds_show_popup_cb): don't have both "unsubscribe"
9569 and "delete" for feeds.
9571 2005-11-03 James Livingston <jrl@ids.org.au>
9573 * sources/rb-podcast-source.c: (impl_delete),
9574 (rb_podcast_source_cmd_delete_feed): Allow users to cancel deleting a
9575 feed. Closes 319760.
9577 2005-11-03 James Livingston <jrl@ids.org.au>
9579 Don't start playing from the remote site when a un-downloaded podcast
9580 is activated. Closes 319983.
9583 * podcast/rb-podcast-manager.c: (rb_podcast_manager_add_post),
9584 (write_job_data), (download_progress_cb): write the local location as
9585 soon as any data is recieved
9587 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element): set
9588 the mountpoint to NULL for podcast episodes that haven't yet been
9591 * shell/rb-shell-player.c: (rb_shell_player_entry_activated_cb): don't
9592 start playing a podcast if it hasn't been downloaded.
9594 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
9595 (rb_podcast_source_entry_activated_cb): begin downloading when the
9596 podcast is activated.
9598 2005-11-03 Dennis Cranston <dennis_cranston@yahoo.com>
9600 * data/glade/general-prefs.glade: Fix capitalization.
9601 * shell/rb-removable-media-manager.c: Add a mnemonic.
9602 * sources/rb-podcast-source.c:
9603 (rb_podcast_source_songs_show_popup_cb),
9604 (rb_podcast_source_feeds_show_popup_cb): Add mnemonics.
9606 2005-11-03 James Livingston <jrl@ids.org.au>
9608 patch by: Shun-ichi Tahara <jado@flowernet.gr.jp>
9610 * shell/rb-removable-media-manager.c:
9611 (rb_removable_media_manager_mount_volume): don't check network or
9612 autofs mounts, as they're not going to be removable media. Stops
9613 sending lots of warnings to syslog. Closes 320571.
9615 * sources/rb-ipod-source.c: (hal_udi_is_ipod): actually initialise the
9616 DBus connection, so that it doesn't wedge gnome-vfs-daemon. Closes
9619 2005-11-03 James Livingston <jrl@ids.org.au>
9621 Add support for playing audio CDs. Metadata lookup is done using
9622 SoundJuicer's MusicBrainz lookup code, which can be switched to using
9623 the library when it gets broken out of S-J.
9625 Add a "rescan media" menu item, and commands for ejecting removable
9628 Move nautilus-cd-burner from optional to required depenency.
9631 * data/ui/rhythmbox-ui.xml:
9632 * metadata/Makefile.am:
9633 + metadata/sj-error.c:
9634 + metadata/sj-error.h:
9635 + metadata/sj-metadata-marshal.list:
9636 + metadata/sj-metadata-musicbrainz.c:
9637 + metadata/sj-metadata-musicbrainz.h:
9638 + metadata/sj-metadata.c:
9639 + metadata/sj-metadata.h:
9640 + metadata/sj-structures.c:
9641 + metadata/sj-structures.h:
9642 * player/Makefile.am:
9643 * player/rb-player-gst.c: (cdda_got_source_cb), (rb_player_open):
9645 * shell/Makefile.am:
9646 * shell/rb-removable-media-manager.c:
9647 (rb_removable_media_manager_dispose), (poll_tray_opened),
9648 (end_cd_drive_monitor), (begin_cd_drive_monitor),
9649 (rb_removable_media_manager_load_media),
9650 (rb_removable_media_manager_mount_volume),
9651 (rb_removable_media_manager_cmd_eject_medium),
9652 (rb_removable_media_manager_cmd_scan_media),
9653 (rb_removable_media_manager_check_volume),
9654 (rb_removable_media_manager_unmount_volume_swap),
9655 (rb_removable_media_manager_scan):
9656 * sources/Makefile.am:
9657 + sources/rb-audiocd-source.c:
9658 + sources/rb-audiocd-source.h:
9659 * tests/Makefile.am:
9661 2005-11-02 James Livingston <jrl@ids.org.au>
9663 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
9665 * sources/rb-iradio-source.c:
9666 (stations_view_drag_data_received_cb):
9667 * sources/rb-podcast-source.c: (posts_view_drag_data_received_cb):
9668 don't crash when the second uri is missing frm the drop, which
9669 browsers sometimes do.
9671 2005-11-01 James Livingston <jrl@ids.org.au>
9673 * podcast/rb-podcast-manager.c: (rb_podcast_manager_add_post),
9674 (rb_podcast_manager_insert_feed):
9675 * podcast/rb-podcast-manager.h:
9676 * podcast/rb-podcast-parse.c: (rb_podcast_initializa_item),
9677 (rb_set_item_value), (rb_validate_item_propert),
9678 (rb_podcast_parse_date), (rb_podcast_parse_time):
9679 * podcast/rb-podcast-parse.h: get the duration of podcast episodes
9682 2005-10-31 James Livingston <jrl@ids.org.au>
9685 * ChangeLog0.8: break off the older Changelog entries, so it isn't so
9688 2005-10-31 James Livingston <jrl@ids.org.au>
9690 * sources/rb-podcast-source.c:
9691 (rb_podcast_source_post_date_cell_data_func): generate the date string
9692 in a way that is correct in all locales.
9694 * rhythmdb/rhythmdb.c: (rhythmdb_entry_allocate),
9695 (rhythmdb_entry_sync_mirrored): make the last played/date added
9696 columns use the same format.
9698 2005-10-30 James Livingston <jrl@ids.org.au>
9701 * podcast/rb-podcast-manager.c:
9702 (rb_podcast_manager_subscribe_feed): fix feed updating, which I broke
9704 * shell/rb-shell-player.c: (rb_shell_player_open_location): report
9705 iradio errors better.
9707 2005-10-30 James Livingston <jrl@ids.org.au>
9709 patch by: Artem Baguinski <femistofel@gmail.com>
9711 * metadata/rb-metadata-gst.c: (rb_metadata_init):
9713 2005-10-30 James Livingston <jrl@ids.org.au>
9715 * podcast/rb-podcast-manager.c:
9716 (rb_podcast_manager_subscribe_feed),
9717 (rb_podcast_manager_insert_feed): Don't crash if the podcast feed has
9718 already been added, usually as a radio station. Closes 319434.
9720 2005-10-29 Dennis Cranston <dennis_cranston@yahoo.com>
9722 * data/glade/podcast-new.glade: HIG fixes (spacing, capitalization,
9723 mnemonics & resize issues)
9724 * data/glade/podcast-prefs.glade: HIG fixes (spacing, capitalization
9726 * sources/rb-podcast-source.c: (impl_get_config_widget): Set mnemonic
9727 widget for the "download location" label.
9731 2005-10-29 James Livingston <jrl@ids.org.au>
9733 Allow the search box to match words from multiple properties. Closes
9734 bug 139196. Thanks to the person from IRC who did a lot of the initial
9738 * lib/rb-util.c: (rb_string_split_words), (rb_search_fold):
9739 * lib/rb-util.h: Add functions to split a string into words, and one
9740 to perform "search folding" which is currently like casefolding but
9741 also strips punctuation
9743 * rhythmdb/rhythmdb.c: (rhythmdb_prop_get_type),
9744 (rhythmdb_query_preprocess):
9745 * rhythmdb/rhythmdb.h: add a SEARCH_MATCH property which will match
9746 against title, artist, album and genre (for the search box)
9748 * rhythmdb/rb-refstring.c: (rb_refstring_new_full):
9749 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
9750 (save_entry), (search_match_properties),
9751 (evaluate_conjunctive_subquery): process the SEARCH_MATCH property by
9752 splitting into words and matching across multiple properties.
9754 * sources/rb-library-source.c: (construct_query_from_selection): use
9755 the new SEARCH_MATCH property for the search box
9757 * widgets/rb-entry-view.c: (type_ahead_search_func):
9759 2005-10-29 James Livingston <jrl@ids.org.au>
9761 * lib/rb-stock-icons.c: (rb_stock_icons_init):
9762 * lib/rb-stock-icons.h: bind gnome-icon-theme icons to stock ids.
9764 * shell/rb-playlist-manager.c:
9765 * shell/rb-shell.c: use the above stock ids, so that the icons get set
9768 * shell/rb-shell-player.c: (rb_shell_player_constructor): set the
9769 initial state of the shuffle/repeat menu items correctly. Patch from
9770 Dennis Cranston <dennis_cranston@yahoo.com>, closes 313158.
9772 2005-10-29 James Livingston <jrl@ids.org.au>
9774 * podcast/rb-podcast-manager.c: (rb_podcast_manager_copy_post): fix
9777 * widgets/rb-cell-renderer-pixbuf.c:
9778 (rb_cell_renderer_pixbuf_render): don't colour these, as it makes the
9779 icon go black when row is not selected
9781 * doc/reference/tmpl/rb-daap-connection.sgml:
9782 * doc/reference/tmpl/rhythmdb.sgml: doc updates
9784 2005-10-29 James Livingston <jrl@ids.org.au>
9786 * podcast/rb-podcast-manager.c: (rb_podcast_manager_copy_post): fix a
9787 silly mistake, where it could think partial downloads has been
9790 2005-10-29 James Livingston <jrl@ids.org.au>
9792 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
9794 * data/glade/song-info.glade:
9795 * widgets/rb-song-info.c: (rb_song_info_construct_single),
9796 (rb_song_info_populate_num_field), (rb_song_info_populate_dialog),
9797 (rb_song_info_sync_entry_single): show the disc number in the song
9798 info window. From bug 311199.
9800 2005-10-29 James Livingston <jrl@ids.org.au>
9802 * rhythmdb/rhythmdb.c: (rhythmdb_process_events),
9803 (rhythmdb_query_preprocess), (rhythmdb_idle_save): Save database
9804 regularly. Closes 155306.
9806 2005-10-29 James Livingston <jrl@ids.org.au>
9808 * podcast/rb-podcast-manager.c:
9809 (rb_podcast_manager_download_entry),
9810 (rb_podcast_manager_copy_post), (rb_podcast_manager_add_post),
9811 (rb_podcast_manager_insert_feed):
9812 * podcast/rb-podcast-manager.h:
9813 * podcast/rb-podcast-parse.c: (rb_set_item_value),
9814 (rb_podcast_parser_start_element):
9815 * podcast/rb-podcast-parse.h: Detect already-downloaded podcasts, and
9816 don't download them again. However, it can't resume
9817 partially-downloaded ones.
9819 2005-10-28 James Livingston <jrl@ids.org.au>
9821 * metadata/rb-metadata-gst.c: (rb_add_id3_tagger),
9822 (rb_metadata_gst_add_tag_data), (rb_metadata_save): Make ID3 tagging
9823 work. Don't attempt to write duration as a tag.
9825 Thanks to Artem Baguinski <femistofel@gmail.com>
9827 2005-10-28 James Livingston <jrl@ids.org.au>
9829 * shell/rb-source-header.c: (rb_source_header_sync_control_state):
9830 don't disable the status-bar menu item when the current source doesn't
9833 2005-10-28 James Livingston <jrl@ids.org.au>
9835 * podcast/rb-podcast-manager.c: (download_progress_update_cb): don't
9836 crash if the file has unknown length
9838 2005-10-27 James Livingston <jrl@ids.org.au>
9840 * daapsharing/rb-daap-connection.c:
9841 (rb_daap_connection_state_done): don't assert when a daap server
9842 doesn't have any playlists
9844 2005-10-27 James Livingston <jrl@ids.org.au>
9846 * sources/rb-sourcelist-model.c:
9847 (rb_sourcelist_model_set_dnd_targets): Add the COPY action to the drag
9848 source for the sourcelist. Closes bug 319817.
9850 2005-10-26 Ryan P Skadberg <skadz@stigmata.org>
9852 Patch by: Renato Araujo <renatox@gmail.com>
9854 * podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed):
9855 Fix for a crasher caused by previous patch.
9857 2005-10-26 James Livingston <jrl@ids.org.au>
9859 * data/glade/podcast-prefs.glade:
9860 * podcast/rb-new-podcast-dialog.c: (rb_new_podcast_dialog_init):
9861 * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed):
9862 * sources/rb-podcast-source.c: (rb_podcast_source_new):
9863 * podcast/rb-podcast-manager.c:
9864 (rb_podcast_manager_copy_post), (rb_podcast_manager_add_post),
9865 (rb_podcast_manager_insert_feed), (rb_podcast_manager_event_loop):
9866 * shell/rb-shell.c: Change some strings to make them more consistent.
9867 "Podcast" is now replaces by "Podcast Feed" or "Podcast Episode" which
9868 makes it clearer which is which. "Episode" may not be the best term,
9869 but it seems to be widely used.
9871 Also fix some strings that weren't marked as translatable.
9873 * podcast/rb-feed-podcast-properties-dialog.c:
9874 (rb_feed_podcast_properties_dialog_class_init),
9875 (rb_feed_podcast_properties_dialog_finalize):
9876 * podcast/rb-new-podcast-dialog.c:
9877 (rb_new_podcast_dialog_class_init), (rb_new_podcast_dialog_finalize):
9878 * widgets/rb-simple-view.c: (rb_simple_view_class_init),
9879 (rb_simple_view_finalize), (rb_simple_view_constructor):
9880 * podcast/rb-podcast-properties-dialog.c:
9881 (rb_podcast_properties_dialog_class_init),
9882 (rb_podcast_properties_dialog_finalize):
9883 * podcast/rb-podcast-manager.c: (rb_podcast_manager_class_init),
9884 (rb_podcast_manager_constructor), (rb_podcast_manager_finalize),
9885 * sources/rb-podcast-source.c: (rb_podcast_source_class_init),
9886 (rb_podcast_source_finalize), (rb_podcast_source_constructor):
9887 use G_DEFINE_TYPE, instead of doing it manually.
9889 2005-10-26 James Livingston <jrl@ids.org.au>
9891 Patch by Artem Baguinski <femistofel@gmail.com> and James Livingston
9894 * metadata/rb-metadata-gst.c: (rb_add_id3_tagger),
9895 (rb_metadata_init): Check that the necessary plugins are present to do
9897 (rb_metadata_file_valid), (rb_metadata_save): Ensure the file isn't
9898 corrupted before replacing the original.
9900 2005-10-25 Jonathan Matthew <jonathan@kaolin.hn.org>
9902 reviewed by: James Livingston <jrl@ids.org.au>
9904 Assign sequential IDs to playlists for DAAP rather than using the
9905 address of the playlist object. Less flaky, and should work on 64bit
9906 platforms. Closes bug 319304.
9908 * daapsharing/rb-daap-share.c:
9909 (rb_daap_share_set_property): watch for playlist creation
9910 (_find_by_id), (_find_by_source): playlist list search functions
9911 (rb_daap_share_playlist_created),
9912 (rb_daap_share_process_playlist),
9913 (rb_daap_share_playlist_destroyed):
9914 update playlist list as it changes, use weak refs on
9915 playlists to get notified on destroy.
9916 (rb_daap_share_forget_playlist), (rb_daap_share_dispose):
9917 destroy playlist list on shutdown
9918 (add_playlist_to_mlcl): use playlist ID rather than pointer in
9920 (databases_cb): search for playlist ID in list rather than just
9921 converting it to a pointer; return HTTP 404 if playlist not
9923 (rb_daap_share_start_publish): playlist IDs start at 2, since 1
9924 is already used for the main library
9926 2005-10-26 James Livingston <jrl@ids.org.au>
9928 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
9930 * daapsharing/rb-daap-connection.c: (build_message),
9931 (http_response_handler), (http_get), (handle_server_info),
9932 (handle_login), (handle_update), (handle_database_info),
9933 (handle_song_listing), (handle_playlists),
9934 (handle_playlist_entries), (handle_logout),
9935 (rb_daap_connection_new), (rb_daap_connection_logout),
9936 (rb_daap_connection_state_done), (rb_daap_connection_do_something),
9937 (rb_daap_connection_get_headers), (rb_daap_connection_destroy):
9938 * daapsharing/rb-daap-connection.h:
9939 * sources/rb-daap-source.c: (rb_daap_source_activate),
9940 (rb_daap_source_connection_cb), (rb_daap_source_disconnect_cb),
9941 (rb_daap_source_disconnect): Make connecting to DAAP sources
9942 asynchronous, so that non-responsive servers don't hang the UI. Closes
9945 2005-10-26 James Livingston <jrl@ids.org.au>
9947 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
9949 * rhythmdb/rhythmdb-query-model.c:
9950 (rhythmdb_query_model_do_reorder): generate the row re-order map
9953 * widgets/rb-entry-view.c: (rb_entry_view_set_property),
9954 (rb_entry_view_row_changed_cb), (rb_entry_view_rows_reordered_cb):
9955 Update selection when rows get re-ordered. Closes 319718.
9957 2005-10-26 James Livingston <jrl@ids.org.au>
9959 patch from Jonathan Matthew <jonathan@kaolin.hn.org>
9961 * shell/rb-play-order.c: (rb_play_order_playing_source_changed):
9962 actually set the db pointer in play orders. Closes 319818.
9964 2005-10-25 Ryan P Skadberg <skadz@stigmata.org>
9966 Patch by: Renato Araujo <renatox@gmail.com>
9968 * podcast/rb-podcast-manager.c: (rb_podcast_manager_start_sync),
9969 (rb_podcast_manager_sync_head_cb), (rb_podcast_manager_add_post),
9970 (rb_podcast_manager_update_synctime),
9971 (rb_podcast_manager_config_changed),
9972 (rb_podcast_manager_insert_feed):
9973 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
9975 * rhythmdb/rhythmdb.c: (rhythmdb_entry_finalize),
9976 (rhythmdb_entry_set_internal), (rhythmdb_prop_get_type):
9977 * rhythmdb/rhythmdb.h: Fixes for #319759 and #319755.
9979 2005-10-25 James Livingston <jrl@ids.org.au>
9981 * daapsharing/rb-daap-share.c: (db_entry_added_cb),
9982 (db_entry_deleted_cb): don't share tracks that are hidden because the
9985 2005-10-22 James Livingston <jrl@ids.org.au>
9987 * shell/rb-shell-player.c: (rb_shell_player_set_playing_entry): don't
9988 crash if an entry couldn't be playerd, without streamer setting an
9992 Patch from Jonathan Matthew <jonathan@kaolin.hn.org>
9994 * podcast/rb-new-podcast-dialog.c: (rb_new_podcast_dialog_init),
9995 (rb_new_podcast_dialog_text_changed): enable the add button when a url
9996 is pasted into the dialog.
9998 * podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed):
9999 * podcast/rb-podcast-parse.c: (rb_set_channel_value),
10000 (rb_set_item_value), (rb_insert_item), (rb_validate_item_propert),
10001 (rb_podcast_parse_channel_free):
10002 * podcast/rb-podcast-parse.h: handle per-entry author names in podcast
10005 2005-10-22 James Livingston <jrl@ids.org.au>
10007 * sources/rb-iradio-source.c:
10008 (rb_iradio_source_first_time_changed): Make merging the default
10009 stations actually work.
10011 * sources/rb-podcast-source.c:
10012 (rb_podcast_source_post_status_cell_data_func): fix problem where some
10013 people weren't seing the percentages in the stats column.
10015 2005-10-21 James Livingston <jrl@ids.org.au>
10017 Patch from Caio Marcelo <cmarcelo@gmail.com>
10019 * shell/rb-shell.c: (rb_shell_window_state_cb),
10020 (rb_shell_get_visibility), (idle_hide_mainwindow),
10021 (rb_shell_set_visibility): Make the "show window" item in the tray
10022 icon menu show the toggle state correctly. Use a better policy on
10023 deciding whether the window is "visible" or not. Closes bug 308053.
10025 2005-10-21 James Livingston <jrl@ids.org.au>
10027 * doc/reference/tmpl/rb-shell-preferences.sgml:
10028 * shell/Makefile.am: fix building with gtk-doc
10030 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_song_changed_cb):
10031 don't submit podcasts to audioscrobbler
10034 Patch from Jonathan Matthew <jonathan@kaolin.hn.org>
10036 * podcast/rb-podcast-parse.c: (rb_set_channel_value),
10037 (rb_set_item_value): strip spaces surrounding podcast urls
10040 Patch from Paul Kuliniewicz <kuliniew@purdue.edu>
10042 * rhythmdb/rhythmdb.h: fix crasher caused by dbus-podcast interaction
10044 2005-10-20 Ryan P Skadberg <skadz@stigmata.org>
10046 Patch from Ruben Vermeersch <ruben@lambda1.be> to add
10047 Audioscrobbler/Last.fm support
10050 * data/glade/Makefile.am:
10051 * data/glade/audioscrobbler-prefs.glade:
10052 * data/rhythmbox.schemas:
10054 * lib/md5.c: (md5_process), (md5_init), (md5_append), (md5_finish):
10056 * lib/rb-preferences.h:
10058 * shell/Makefile.am:
10059 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_class_init),
10060 (rb_audioscrobbler_init), (rb_audioscrobbler_finalize),
10061 (rb_audioscrobbler_new), (rb_audioscrobbler_set_property),
10062 (rb_audioscrobbler_get_property), (rb_audioscrobbler_add_timeout),
10063 (rb_audioscrobbler_timeout_cb), (mkmd5),
10064 (rb_audioscrobbler_parse_response), (rb_audioscrobbler_perform),
10065 (rb_audioscrobbler_do_handshake),
10066 (rb_audioscrobbler_do_handshake_cb),
10067 (rb_audioscrobbler_submit_queue),
10068 (rb_audioscrobbler_submit_queue_cb),
10069 (rb_audioscrobbler_import_settings),
10070 (rb_audioscrobbler_preferences_sync),
10071 (rb_audioscrobbler_get_config_widget), (get_proxy_uri),
10072 (rb_audioscrobbler_gconf_changed_cb),
10073 (rb_audioscrobbler_song_changed_cb),
10074 (rb_audioscrobbler_username_entry_changed_cb),
10075 (rb_audioscrobbler_username_entry_activate_cb),
10076 (rb_audioscrobbler_password_entry_changed_cb),
10077 (rb_audioscrobbler_password_entry_activate_cb),
10078 (rb_audioscrobbler_enabled_check_changed_cb),
10079 (audioscrobbler_entry_init), (audioscrobbler_entry_free),
10080 (rb_audioscrobbler_load_entry_from_string),
10081 (rb_audioscrobbler_load_queue), (rb_audioscrobbler_save_queue),
10082 (rb_audioscrobbler_print_queue),
10083 (rb_audioscrobbler_free_queue_entries):
10084 * shell/rb-audioscrobbler.h:
10085 * shell/rb-shell-preferences.c:
10086 (rb_shell_preferences_append_audioscrobbler_config):
10087 * shell/rb-shell-preferences.h:
10088 * shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor),
10089 (rb_shell_select_source), (rb_shell_cmd_preferences):
10090 * sources/Makefile.am:
10092 2005-10-21 James Livingston <jrl@ids.org.au>
10094 Patch from Renato Araujo <renatox@gmail.com> to add Podcast support
10099 * data/art/Makefile.am:
10100 * data/glade/Makefile.am:
10101 * data/rhythmbox.schemas:
10102 * data/ui/rhythmbox-ui.xml:
10103 * doc/reference/Makefile.am:
10104 * doc/reference/tmpl/rhythmdb.sgml:
10105 * lib/rb-stock-icons.c: (rb_stock_icons_init):
10106 * lib/rb-stock-icons.h:
10108 * podcast/Makefile.am:
10109 + podcast/rb-feed-podcast-properties-dialog.c:
10110 + podcast/rb-feed-podcast-properties-dialog.h:
10111 + podcast/rb-new-podcast-dialog.c:
10112 + podcast/rb-new-podcast-dialog.h:
10113 + podcast/rb-podcast-manager.c:
10114 + podcast/rb-podcast-manager.h:
10115 + podcast/rb-podcast-marshal.list:
10116 + podcast/rb-podcast-parse.c:
10117 + podcast/rb-podcast-parse.h:
10118 + podcast/rb-podcast-properties-dialog.c:
10119 + podcast/rb-podcast-properties-dialog.h:
10120 * rhythmdb/rhythmdb-property-model.c:
10121 (rhythmdb_property_model_set_property),
10122 (rhythmdb_property_model_enable_drag):
10123 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_start_element),
10124 (rhythmdb_tree_parser_end_element), (save_entry),
10125 (rhythmdb_tree_save):
10126 * rhythmdb/rhythmdb.c: (rhythmdb_entry_allocate),
10127 (rhythmdb_entry_finalize), (rhythmdb_entry_set_internal),
10128 (rhythmdb_prop_get_type), (rhythmdb_entry_podcast_post_get_type),
10129 (rhythmdb_entry_podcast_feed_get_type):
10130 * rhythmdb/rhythmdb.h:
10131 * shell/Makefile.am:
10132 * shell/rb-shell-player.c: (rb_shell_player_open_entry):
10133 * shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor),
10134 (add_to_library_response_cb), (rb_shell_cmd_new_podcast),
10136 * sources/Makefile.am:
10137 + sources/rb-podcast-source.c:
10138 + sources/rb-podcast-source.h:
10139 * widgets/Makefile.am:
10140 * widgets/rb-property-view.c: (rb_property_view_class_init),
10141 (rb_property_view_constructor),
10142 (rb_property_view_selection_changed_cb),
10143 (rb_property_view_get_treeview):
10144 * widgets/rb-property-view.h:
10145 + widgets/rb-simple-view.c:
10146 + widgets/rb-simple-view.h:
10148 2005-10-20 James Livingston <jrl@ids.org.au>
10150 * NEWS: update with changes since 0.9.1
10152 * configure.ac: check whether collate_key_for_filename is available
10153 * lib/rb-cut-and-paste-code.c: (rb_utf8_collate_key_for_filename):
10154 * lib/rb-cut-and-paste-code.h: add function copied from glib 2.8, use
10155 it if it isn't available in glib (i.e. building against 2.6)
10156 * rhythmdb/rb-refstring.c: (rb_refstring_new_full): use the filename
10157 collation to get "natural sorting". Closes bug 158599.
10159 2005-10-20 James Livingston <jrl@ids.org.au>
10161 Patch from Paul Kuliniewicz <kuliniew@purdue.edu>
10163 * doc/reference/tmpl/rb-shell-player.sgml:
10164 * shell/rb-shell-player.c: (rb_shell_player_class_init),
10165 (volume_pre_unmount_cb), (rb_shell_player_sync_with_source),
10166 (rb_shell_player_get_playing),
10167 (rb_shell_player_get_playing_time_string),
10168 (rb_shell_player_get_playing_time),
10169 (rb_shell_player_set_playing_time), (tick_cb),
10170 (rb_shell_player_get_playing_path), (filter_mmkeys):
10171 * shell/rb-shell-player.h:
10172 * shell/rb-shell-player.xml:
10173 * shell/rb-shell.c: (rb_shell_constructor),
10174 (rb_shell_player_elapsed_changed_cb), (rb_shell_set_elapsed),
10175 (rb_shell_set_window_title), (rb_shell_playing_impl),
10176 (rb_shell_get_playing_time_impl), (rb_shell_set_playing_time_impl):
10177 Merge the duration_changed and elapsed_changed DBUS signals into one
10178 elapsed_changed signal. Check that the output argument isn't NULL
10179 before trying to put things in it.
10181 2005-10-20 James Livingston <jrl@ids.org.au>
10183 * rhythmdb/rhythmdb-query-model.c:
10184 (rhythmdb_query_model_entry_added_cb),
10185 (rhythmdb_query_model_do_insert), (rhythmdb_query_model_poll): fix
10186 problem where hidden entries could be shown in playlists.
10188 * shell/rb-shell.c: (rb_shell_window_state_cb): fix a window-sizing
10189 issues when switching in and out of small mode.
10191 2005-10-19 James Livingston <jrl@ids.org.au>
10193 * shell/rb-shell.c: (rb_shell_class_init), (rb_shell_finalize),
10194 (rb_shell_constructor), (rb_shell_window_state_cb),
10195 (rb_shell_set_visibility), (rb_shell_window_configure_cb),
10196 (rb_shell_sync_window_state), (rb_shell_playlist_created_cb),
10197 (rb_shell_view_smalldisplay_changed_cb),
10198 (rb_shell_sync_smalldisplay), (smalldisplay_changed_cb),
10199 (rb_shell_sync_paned): remove gconf window-state races, prevent
10200 changing small mode too often, fix window event races. Closes 122806.
10203 Patch from Caio Marcelo <cmarcelo@gmail.com>
10205 * data/rhythmbox.schemas:
10206 * shell/rb-shell.c: (rb_shell_window_state_cb),
10207 (rb_shell_window_configure_cb), (rb_shell_sync_window_state):
10208 Remember the position of the window. Closes 315289.
10210 2005-10-19 James Livingston <jrl@ids.org.au>
10212 Patch from Christophe Fergeau <teuf@gnome.org>
10214 * configure.ac: determine whether libgpod is present when neither
10215 --with-ipod nor --without-ipod is passed
10217 2005-10-19 James Livingston <jrl@ids.org.au>
10219 Patch from Caio Marcelo <cmarcelo@gmail.com>
10221 * shell/rb-shell-player.c: (do_next_idle),
10222 (rb_shell_player_do_previous), (rb_shell_player_do_next),
10223 (rb_shell_player_do_previous_or_seek),
10224 (rb_shell_player_previous_button_cb),
10225 (rb_shell_player_next_button_cb), (rb_shell_player_cmd_previous),
10226 (rb_shell_player_cmd_next), (eos_cb):
10227 * widgets/rb-header.c: (rb_header_sync): Stop playback when the
10228 end of the playlist is reached.
10230 2005-10-19 Christopher Aillon <caillon@redhat.com>
10232 * lib/rb-thread.c: fix a few GSource leaks
10234 2005-10-19 James Livingston <jrl@ids.org.au>
10236 * doc/reference/tmpl/bacon-volume.sgml:
10237 * doc/reference/tmpl/disclosure-widget.sgml:
10238 * doc/reference/tmpl/eel-gconf-extensions.sgml:
10239 * doc/reference/tmpl/eggnotificationbubble.sgml:
10240 * doc/reference/tmpl/eggtrayicon.sgml:
10241 * doc/reference/tmpl/gsequence.sgml:
10242 * doc/reference/tmpl/rb-cell-renderer-pixbuf.sgml:
10243 * doc/reference/tmpl/rb-cell-renderer-rating.sgml:
10244 * doc/reference/tmpl/rb-daap-connection.sgml:
10245 * doc/reference/tmpl/rb-daap-dialog.sgml:
10246 * doc/reference/tmpl/rb-daap-mdns.sgml:
10247 * doc/reference/tmpl/rb-daap-share.sgml:
10248 * doc/reference/tmpl/rb-daap-sharing.sgml:
10249 * doc/reference/tmpl/rb-daap-source.sgml:
10250 * doc/reference/tmpl/rb-daap-src.sgml:
10251 * doc/reference/tmpl/rb-daap-structure.sgml:
10252 * doc/reference/tmpl/rb-debug.sgml:
10253 * doc/reference/tmpl/rb-dialog.sgml:
10254 * doc/reference/tmpl/rb-druid.sgml:
10255 * doc/reference/tmpl/rb-entry-view.sgml:
10256 * doc/reference/tmpl/rb-enums.sgml:
10257 * doc/reference/tmpl/rb-file-helpers.sgml:
10258 * doc/reference/tmpl/rb-glade-helpers.sgml:
10259 * doc/reference/tmpl/rb-header.sgml:
10260 * doc/reference/tmpl/rb-history.sgml:
10261 * doc/reference/tmpl/rb-ipod-source.sgml:
10262 * doc/reference/tmpl/rb-iradio-source.sgml:
10263 * doc/reference/tmpl/rb-library-source.sgml:
10264 * doc/reference/tmpl/rb-load-failure-dialog.sgml:
10265 * doc/reference/tmpl/rb-metadata.sgml:
10266 * doc/reference/tmpl/rb-new-station-dialog.sgml:
10267 * doc/reference/tmpl/rb-play-order-linear-loop.sgml:
10268 * doc/reference/tmpl/rb-play-order-linear.sgml:
10269 * doc/reference/tmpl/rb-play-order-random-by-age-and-rating.sgml:
10270 * doc/reference/tmpl/rb-play-order-random-by-age.sgml:
10271 * doc/reference/tmpl/rb-play-order-random-by-rating.sgml:
10272 * doc/reference/tmpl/rb-play-order-random-equal-weights.sgml:
10273 * doc/reference/tmpl/rb-play-order-random.sgml:
10274 * doc/reference/tmpl/rb-play-order-shuffle.sgml:
10275 * doc/reference/tmpl/rb-play-order.sgml:
10276 * doc/reference/tmpl/rb-player.sgml:
10277 * doc/reference/tmpl/rb-playlist-manager.sgml:
10278 * doc/reference/tmpl/rb-playlist-source-recorder.sgml:
10279 * doc/reference/tmpl/rb-playlist-source.sgml:
10280 * doc/reference/tmpl/rb-preferences.sgml:
10281 * doc/reference/tmpl/rb-property-view.sgml:
10282 * doc/reference/tmpl/rb-query-creator-private.sgml:
10283 * doc/reference/tmpl/rb-query-creator.sgml:
10284 * doc/reference/tmpl/rb-rating-helper.sgml:
10285 * doc/reference/tmpl/rb-rating.sgml:
10286 * doc/reference/tmpl/rb-recorder.sgml:
10287 * doc/reference/tmpl/rb-refstring.sgml:
10288 * doc/reference/tmpl/rb-removable-media-manager.sgml:
10289 * doc/reference/tmpl/rb-removable-media-source.sgml:
10290 * doc/reference/tmpl/rb-search-entry.sgml:
10291 * doc/reference/tmpl/rb-shell-clipboard.sgml:
10292 * doc/reference/tmpl/rb-shell-glue.sgml:
10293 * doc/reference/tmpl/rb-shell-player-glue.sgml:
10294 * doc/reference/tmpl/rb-shell-player.sgml:
10295 * doc/reference/tmpl/rb-shell-preferences.sgml:
10296 * doc/reference/tmpl/rb-shell.sgml:
10297 * doc/reference/tmpl/rb-song-display-box.sgml:
10298 * doc/reference/tmpl/rb-song-info.sgml:
10299 * doc/reference/tmpl/rb-source-header.sgml:
10300 * doc/reference/tmpl/rb-source.sgml:
10301 * doc/reference/tmpl/rb-sourcelist-model.sgml:
10302 * doc/reference/tmpl/rb-sourcelist.sgml:
10303 * doc/reference/tmpl/rb-station-properties-dialog.sgml:
10304 * doc/reference/tmpl/rb-statusbar.sgml:
10305 * doc/reference/tmpl/rb-stock-icons.sgml:
10306 * doc/reference/tmpl/rb-string-helpers.sgml:
10307 * doc/reference/tmpl/rb-thread.sgml:
10308 * doc/reference/tmpl/rb-tray-icon.sgml:
10309 * doc/reference/tmpl/rb-tree-dnd.sgml:
10310 * doc/reference/tmpl/rb-tree-model-sort.sgml:
10311 * doc/reference/tmpl/rb-util.sgml:
10312 * doc/reference/tmpl/rhythmbox-unused.sgml:
10313 * doc/reference/tmpl/rhythmdb-property-model.sgml:
10314 * doc/reference/tmpl/rhythmdb-query-model.sgml:
10315 * doc/reference/tmpl/rhythmdb-tree.sgml:
10316 * doc/reference/tmpl/rhythmdb.sgml: update for changes
10318 * doc/reference/Makefile.am: make docs build with changed ipod support
10320 * po/POTFILES.in: remove sources/itunesdb
10322 2005-10-18 Christophe Fergeau <teuf@gnome.org>
10324 * sources/itunesdb.c:
10325 * sources/itunesdb.h: removed now useless files
10327 2005-10-03 Christophe Fergeau <teuf@gnome.org>
10330 * shell/Makefile.am:
10331 * sources/Makefile.am:
10332 * sources/rb-ipod-source.c: use libgpod [1] instead of our own parsing
10334 [1]: http://www.gtkpod.org/libgpod.html
10337 2005-10-18 James Livingston <jrl@ids.org.au>
10339 patch from Funda Wang <fundawang@linux.net.cn>
10341 * shell/rb-shell.c: (rb_shell_playing_entry_changed_cb): make one of
10342 the notification bubble string translatable.
10344 ============ Version 0.9.1
10346 2005-10-16 James Livingston <jrl@ids.org.au>
10348 * configure.ac: bump version to 0.9.1
10349 * NEWS: update translation credits
10351 2005-10-16 James Livingston <jrl@ids.org.au>
10353 * rhythmdb/rhythmdb-query-model.c:
10354 (rhythmdb_query_model_class_init),
10355 (rhythmdb_query_model_drag_data_received):
10356 * rhythmdb/rhythmdb-query-model.h: Allow sources to be
10357 notified when things are dropped into the entry view.
10359 * sources/rb-playlist-source.c: (rb_playlist_source_constructor),
10360 (rb_playlist_source_add_location_swapped),
10361 (rb_playlist_source_add_location), (rb_playlist_source_do_query),
10362 (rb_playlist_source_non_entry_dropped),
10363 (rb_playlist_source_row_inserted): Use the new signal so that dropping
10364 things onto a playlist's entry view work correctly, and doesn't cause
10365 crashes. Allow folders to be dropped as well. (Closes 318308)
10367 2005-10-16 James Livingston <jrl@ids.org.au>
10369 * NEWS: Update some more
10371 * shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor),
10372 (rb_shell_sync_paned), (paned_size_allocate_cb): Don't do funky things
10373 with the paned size, so that it doesn't move when the window is
10374 maximised/restored. Closes bug 315852.
10376 * sources/rb-iradio-source.c: (rb_iradio_source_constructor): Don't
10377 display the playcount column, as it's useless (it never get changed).
10379 2005-10-14 James Livingston <jrl@ids.org.au>
10382 * data/Makefile.am:
10383 * doc/reference/Makefile.am: get "make distcheck" to pass again
10385 2005-10-11 James Livingston <jrl@ids.org.au>
10387 * daapsharing/rb-daap-connection.c: (rb_daap_connection_new): Don't
10388 destroy the connection when retrieving the playlists fails, because
10389 tracks have already been added. Closes 318380.
10391 2005-10-11 James Livingston <jrl@ids.org.au>
10393 * sources/rb-sourcelist.c: (rb_sourcelist_append),
10394 (rb_sourcelist_remove), (name_notify_cb), (visibility_notify_cb),
10395 (source_name_edited_cb): Ask for the columns to be resized when a
10396 source is added, deleted or changes name.
10398 2005-10-11 James Livingston <jrl@ids.org.au>
10400 * rhythmdb/rhythmdb.c: (add_thread_main), (rhythmdb_add_uri): only
10401 create a thread when processing a directory. This stops up created one
10402 thread for each file in a playlist we're trying to load. Closes
10405 * widgets/rb-entry-view.c: (rb_entry_view_artist_sort_func): fix a
10406 typo that made sort-by-artist not work correctly.
10408 2005-10-11 James Livingston <jrl@ids.org.au>
10410 * doc/reference/Makefile.am: Make gtk-doc generation work when daap
10413 2005-10-11 James Livingston <jrl@ids.org.au>
10415 * lib/rb-file-helpers.c: (rb_canonicalise_uri):
10416 * lib/rb-file-helpers.h: add a function to turn uris into our
10417 canonical path-escaped form
10418 * shell/rb-playlist-manager.c: (handle_playlist_entry_cb): use the
10419 above function when import playlists. This will fix the problem of
10420 duplicate entries due to different representations of the uri (bug
10423 2005-10-11 James Livingston <jrl@ids.org.au>
10425 * shell/rb-shell.c: (rb_shell_get_visibility),
10426 (rb_shell_set_visibility), (rb_shell_window_delete_cb),
10427 (rb_shell_toggle_visibility), (rb_shell_set_visibility_impl): Fix
10428 window hiding so that Alt-F4 works again.
10430 * widgets/rb-entry-view.c: (rb_entry_view_album_sort_func),
10431 (rb_entry_view_artist_sort_func), (rb_entry_view_genre_sort_func),
10432 (rb_entry_view_string_sort_func): Stop some crashes where a string
10433 property was set to NULL.
10435 2005-10-10 James Livingston <jrl@ids.org.au>
10437 * doc/reference/rhythmbox.types: fix gtk-doc generation
10439 2005-10-09 James Livingston <jrl@ids.org.au>
10441 * sources/rb-sourcelist.c: (rb_sourcelist_init):
10442 * widgets/rb-entry-view.c: (rb_entry_view_append_column): Change a few
10443 accelerators, so that we don't have as many conflicting keys.
10445 2005-10-08 James Livingston <jrl@ids.org.au>
10447 * data/iradio-initial.pls: Update the list of radio stations. Thanks
10448 to Ali Akcaagac <aliakc@web.de> for collating a list to add. Closes
10451 2005-10-07 James Livingston <jrl@ids.org.au>
10453 * shell/rb-playlist-manager.c: (handle_playlist_entry_cb): escape
10454 local path names in the same way as every other URI. This should stop
10455 duplicates occurring due to different escapings. Closes bug 158211.
10457 2005-10-06 James Livingston <jrl@ids.org.au>
10459 * NEWS: more updates
10461 patch from Jaap Haitsma <jaap@haitsma.org>:
10464 * data/Makefile.am:
10465 * data/art/Makefile.am:
10466 - data/art/rhythmbox-paused.png:
10467 - data/art/rhythmbox-playback-error.png:
10468 - data/art/rhythmbox-playing.png:
10469 - data/art-clearlooks/:
10470 * lib/rb-file-helpers.c: (rb_file):
10471 * lib/rb-stock-icons.c: (rb_stock_icons_init):
10472 * lib/rb-stock-icons.h:
10473 * shell/rb-shell-player.c: (rb_shell_player_sync_buttons):
10474 * widgets/rb-cell-renderer-pixbuf.c:
10475 (rb_cell_renderer_pixbuf_render):
10476 * widgets/rb-entry-view.c: (rb_entry_view_init),
10477 (rb_entry_view_set_playing):
10478 * widgets/rb-rating-helper.c: (rb_rating_render_stars): use more
10479 stock icons instead of custom art. Drop remanents of art-clearlooks.
10481 2005-10-04 Pawan Chitrakar <pchitrakar@gmail.com>
10483 * configure.ac: Added ne in ALL_LINGUAS
10485 2005-10-02 James Livingston <jrl@ids.org.au>
10487 * data/glade/Makefile.am: actually install the daap prefs glade file
10489 2005-09-30 James Livingston <jrl@ids.org.au>
10491 * po/POTFILES.in: mremove rb-string-helper.c from the list of
10492 translatable files, so that make check works and we don't annoy the
10495 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_entry_new): do a bit of
10496 sanity checking, in case a db entry is missing some properties.
10498 2005-09-29 James Livingston <jrl@ids.org.au>
10500 - lib/rb-string-helpers.c:
10501 - lib/rb-string-helpers.h:
10503 * rhythmdb/rhythmdb-tree.c:
10504 * rhythmdb/rhythmdb.c:
10505 * shell/main.c: (main):
10506 * shell/rb-shell.c:
10507 * widgets/rb-entry-view.c:
10508 * widgets/rb-property-view.c: remove rb-string-helpers, as they
10509 utility functions haven't been used in a while.
10511 2005-09-27 James Livingston <jrl@ids.org.au>
10513 * data/art-clearlooks/Makefile.am:
10514 - data/art-clearlooks/rhythmbox-album.png:
10515 - data/art-clearlooks/rhythmbox-audiocd.png:
10516 - data/art-clearlooks/rhythmbox-automatic-playlist.png:
10517 - data/art-clearlooks/rhythmbox-dnd.png:
10518 - data/art-clearlooks/rhythmbox-ipod.png:
10519 - data/art-clearlooks/rhythmbox-iradio.png:
10520 - data/art-clearlooks/rhythmbox-library.png:
10521 - data/art-clearlooks/rhythmbox-next.png:
10522 - data/art-clearlooks/rhythmbox-pause.png:
10523 - data/art-clearlooks/rhythmbox-play.png:
10524 - data/art-clearlooks/rhythmbox-playlist-menu.png:
10525 - data/art-clearlooks/rhythmbox-playlist.png:
10526 - data/art-clearlooks/rhythmbox-previous.png:
10527 - data/art-clearlooks/rhythmbox-repeat.png:
10528 - data/art-clearlooks/rhythmbox-rewind.png:
10529 - data/art-clearlooks/rhythmbox-shuffle.png:
10530 - data/art-clearlooks/rhythmbox-stop.png:
10531 - data/art-clearlooks/rhythmbox-visuals.png:
10532 - data/art-clearlooks/rhythmbox-volume-max.png:
10533 - data/art-clearlooks/rhythmbox-volume-medium.png:
10534 - data/art-clearlooks/rhythmbox-volume-min.png:
10535 - data/art-clearlooks/rhythmbox-volume-mute.png:
10536 - data/art-clearlooks/rhythmbox-volume-zero.png:
10537 * data/art/Makefile.am:
10538 - data/art/rhythmbox-album.png:
10539 - data/art/rhythmbox-audiocd.png:
10540 - data/art/rhythmbox-automatic-playlist.png:
10541 - data/art/rhythmbox-dnd.png:
10542 - data/art/rhythmbox-ipod.png:
10543 - data/art/rhythmbox-iradio.png:
10544 - data/art/rhythmbox-library.png:
10545 - data/art/rhythmbox-next.png:
10546 - data/art/rhythmbox-pause.png:
10547 - data/art/rhythmbox-play.png:
10548 - data/art/rhythmbox-playlist-menu.png:
10549 - data/art/rhythmbox-playlist.png:
10550 - data/art/rhythmbox-previous.png:
10551 - data/art/rhythmbox-repeat.png:
10552 - data/art/rhythmbox-rewind.png:
10553 - data/art/rhythmbox-shuffle.png:
10554 - data/art/rhythmbox-stop.png:
10555 - data/art/rhythmbox-visuals.png:
10556 - data/art/rhythmbox-volume-max.png:
10557 - data/art/rhythmbox-volume-medium.png:
10558 - data/art/rhythmbox-volume-min.png:
10559 - data/art/rhythmbox-volume-mute.png:
10560 - data/art/rhythmbox-volume-zero.png:
10561 * lib/rb-stock-icons.c: (rb_stock_icons_init):
10562 * lib/rb-stock-icons.h:
10563 * shell/rb-playlist-manager.c:
10564 * shell/rb-shell-player.c:
10565 * sources/rb-daap-source.c: (rb_daap_get_icon):
10566 * sources/rb-ipod-source.c:
10567 * sources/rb-iradio-source.c: (rb_iradio_source_init):
10568 * sources/rb-library-source.c: (rb_library_source_new):
10569 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
10570 * sources/rb-removable-media-source.c: (impl_get_pixbuf): Remove art
10571 that hasn't been used in a LONG time, and also remove art that are
10574 2005-09-27 James Livingston <jrl@ids.org.au>
10576 * README: point to the gnome.org web sites, and update the example
10577 gstreamer pipeline to a plybin/decodebin based one. Closes bug 317108
10579 * rhythmdb/rhythmdb-query-model.c:
10580 (rhythmdb_query_model_set_property),
10581 (rhythmdb_query_model_get_property),
10582 (rhythmdb_query_model_finalize):
10583 * rhythmdb/rhythmdb.c: (rhythmdb_query_internal),
10584 (rhythmdb_entry_set_visibility), (rhythmdb_query_preprocess):
10585 * rhythmdb/rhythmdb.h:
10586 * sources/rb-iradio-source.c: (impl_search):
10587 * sources/rb-library-source.c: (impl_search): Add query
10588 "preprocessing", which performs operations such as casefolding any
10589 strings that will be compared to any of the *_FOLDED properties.
10592 2005-09-27 James Livingston <jrl@ids.org.au>
10594 * data/glade/daap-prefs.glade:
10595 * shell/rb-shell-preferences.c: (add_daap_preferences): use a glade
10596 file for the daap preferences pane
10598 * sources/rb-sourcelist.c: (rb_sourcelist_init),
10599 (rb_sourcelist_append), (rb_sourcelist_remove),
10600 (visibility_notify_cb), (rb_sourcelist_update_expander_visibility):
10601 don't display the column for source expanders unless there is an
10604 2005-09-24 Raphael Slinckx <rslinckx@cvs.gnome.org>
10611 * doc/reference/.cvsignore:
10612 * doc/reference/Makefile.am:
10613 * doc/reference/rhythmbox-docs.sgml:
10614 * doc/reference/rhythmbox-sections.txt:
10615 * doc/reference/rhythmbox.types:
10616 * doc/reference/tmpl/bacon-volume.sgml:
10617 * doc/reference/tmpl/disclosure-widget.sgml:
10618 * doc/reference/tmpl/eel-gconf-extensions.sgml:
10619 * doc/reference/tmpl/eggnotificationbubble.sgml:
10620 * doc/reference/tmpl/eggtrayicon.sgml:
10621 * doc/reference/tmpl/gsequence.sgml:
10622 * doc/reference/tmpl/rb-cell-renderer-pixbuf.sgml:
10623 * doc/reference/tmpl/rb-cell-renderer-rating.sgml:
10624 * doc/reference/tmpl/rb-daap-connection.sgml:
10625 * doc/reference/tmpl/rb-daap-dialog.sgml:
10626 * doc/reference/tmpl/rb-daap-mdns.sgml:
10627 * doc/reference/tmpl/rb-daap-share.sgml:
10628 * doc/reference/tmpl/rb-daap-sharing.sgml:
10629 * doc/reference/tmpl/rb-daap-source.sgml:
10630 * doc/reference/tmpl/rb-daap-src.sgml:
10631 * doc/reference/tmpl/rb-daap-structure.sgml:
10632 * doc/reference/tmpl/rb-debug.sgml:
10633 * doc/reference/tmpl/rb-dialog.sgml:
10634 * doc/reference/tmpl/rb-druid.sgml:
10635 * doc/reference/tmpl/rb-entry-view.sgml:
10636 * doc/reference/tmpl/rb-enums.sgml:
10637 * doc/reference/tmpl/rb-file-helpers.sgml:
10638 * doc/reference/tmpl/rb-glade-helpers.sgml:
10639 * doc/reference/tmpl/rb-header.sgml:
10640 * doc/reference/tmpl/rb-history.sgml:
10641 * doc/reference/tmpl/rb-ipod-source.sgml:
10642 * doc/reference/tmpl/rb-iradio-source.sgml:
10643 * doc/reference/tmpl/rb-library-source.sgml:
10644 * doc/reference/tmpl/rb-load-failure-dialog.sgml:
10645 * doc/reference/tmpl/rb-metadata.sgml:
10646 * doc/reference/tmpl/rb-new-station-dialog.sgml:
10647 * doc/reference/tmpl/rb-play-order-linear-loop.sgml:
10648 * doc/reference/tmpl/rb-play-order-linear.sgml:
10649 * doc/reference/tmpl/rb-play-order-random-by-age-and-rating.sgml:
10650 * doc/reference/tmpl/rb-play-order-random-by-age.sgml:
10651 * doc/reference/tmpl/rb-play-order-random-by-rating.sgml:
10652 * doc/reference/tmpl/rb-play-order-random-equal-weights.sgml:
10653 * doc/reference/tmpl/rb-play-order-random.sgml:
10654 * doc/reference/tmpl/rb-play-order-shuffle.sgml:
10655 * doc/reference/tmpl/rb-play-order.sgml:
10656 * doc/reference/tmpl/rb-player.sgml:
10657 * doc/reference/tmpl/rb-playlist-manager.sgml:
10658 * doc/reference/tmpl/rb-playlist-source-recorder.sgml:
10659 * doc/reference/tmpl/rb-playlist-source.sgml:
10660 * doc/reference/tmpl/rb-preferences.sgml:
10661 * doc/reference/tmpl/rb-property-view.sgml:
10662 * doc/reference/tmpl/rb-query-creator-private.sgml:
10663 * doc/reference/tmpl/rb-query-creator.sgml:
10664 * doc/reference/tmpl/rb-rating-helper.sgml:
10665 * doc/reference/tmpl/rb-rating.sgml:
10666 * doc/reference/tmpl/rb-recorder.sgml:
10667 * doc/reference/tmpl/rb-refstring.sgml:
10668 * doc/reference/tmpl/rb-removable-media-manager.sgml:
10669 * doc/reference/tmpl/rb-removable-media-source.sgml:
10670 * doc/reference/tmpl/rb-search-entry.sgml:
10671 * doc/reference/tmpl/rb-shell-clipboard.sgml:
10672 * doc/reference/tmpl/rb-shell-glue.sgml:
10673 * doc/reference/tmpl/rb-shell-player-glue.sgml:
10674 * doc/reference/tmpl/rb-shell-player.sgml:
10675 * doc/reference/tmpl/rb-shell-preferences.sgml:
10676 * doc/reference/tmpl/rb-shell.sgml:
10677 * doc/reference/tmpl/rb-song-display-box.sgml:
10678 * doc/reference/tmpl/rb-song-info.sgml:
10679 * doc/reference/tmpl/rb-source-header.sgml:
10680 * doc/reference/tmpl/rb-source.sgml:
10681 * doc/reference/tmpl/rb-sourcelist-model.sgml:
10682 * doc/reference/tmpl/rb-sourcelist.sgml:
10683 * doc/reference/tmpl/rb-station-properties-dialog.sgml:
10684 * doc/reference/tmpl/rb-statusbar.sgml:
10685 * doc/reference/tmpl/rb-stock-icons.sgml:
10686 * doc/reference/tmpl/rb-string-helpers.sgml:
10687 * doc/reference/tmpl/rb-thread.sgml:
10688 * doc/reference/tmpl/rb-tray-icon.sgml:
10689 * doc/reference/tmpl/rb-tree-dnd.sgml:
10690 * doc/reference/tmpl/rb-tree-model-sort.sgml:
10691 * doc/reference/tmpl/rb-util.sgml:
10692 * doc/reference/tmpl/rhythmdb-property-model.sgml:
10693 * doc/reference/tmpl/rhythmdb-query-model.sgml:
10694 * doc/reference/tmpl/rhythmdb-tree.sgml:
10695 * doc/reference/tmpl/rhythmdb.sgml:
10696 * macros/.cvsignore:
10697 * shell/Makefile.am:
10698 * sources/rb-source.c: (rb_source_class_init), (rb_source_init),
10699 (rb_source_finalize), (rb_source_set_property),
10700 (rb_source_get_property), (default_get_pixbuf),
10701 (_rb_source_show_popup):
10702 * sources/rb-source.h:
10703 Add support for gtk-doc in rhythmbox.
10704 Convert RBSource to use newer glib functions, such as add_private.
10705 Gives RBSource a default get_pixbuf implementation.
10707 2005-09-25 James Livingston <jrl@ids.org.au>
10709 * NEWS: Update with about a months worth of changes
10711 * data/glade/song-info-multiple.glade:
10712 * data/glade/song-info.glade:
10713 * data/rhythmbox.schemas:
10714 * lib/rb-preferences.h:
10715 * rhythmdb/rhythmdb.h:
10716 * shell/rb-shell-player.c:
10717 * widgets/rb-song-info.c: (rb_song_info_constructor): remove the last
10718 few remaining parts of autorating.
10720 2005-09-24 James Livingston <jrl@ids.org.au>
10722 * shell/rb-shell.c: (rb_shell_constructor),
10723 (rb_shell_window_state_cb), (rb_shell_set_visibility),
10724 (rb_shell_window_configure_cb): store window state in the gconf keys,
10725 so that it gets used. Closes bugs 313893 and 137068.
10727 2005-09-20 James Livingston <jrl@ids.org.au>
10729 * rhythmdb/rhythmdb-tree.c: (evaluate_conjunctive_subquery): don't
10730 crash if the entry has a NULL string in a property
10732 * shell/rb-removable-media-manager.c:
10733 (rb_removable_media_manager_load_media): fix some memory leaks
10735 (rb_removable_media_manager_mount_volume),
10736 (rb_removable_media_manager_eject_medium_cb),
10737 (rb_removable_media_manager_cmd_eject_medium): use
10738 gnome_vfs_volume_ref/unref instead of g_object_ref/unref
10740 * sources/rb-removable-media-source.c:
10741 (rb_removable_media_source_set_property),
10742 (rb_removable_media_source_get_property): use
10743 gnome_vfs_volume_ref/unref instead of g_object_ref/unref
10745 2005-09-18 James Livingston <jrl@ids.org.au>
10747 Patch from Ernst Persson <ernstp@gmail.com> to add a "date added"
10750 * data/glade/general-prefs.glade:
10751 * shell/rb-shell-preferences.c: (rb_shell_preferences_init),
10752 (rb_shell_preferences_column_check_changed_cb),
10753 (rb_shell_preferences_sync): add checkbox to control visibility
10757 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
10759 * rhythmdb/rhythmdb.c: (rhythmdb_entry_sync_mirrored),
10760 (rhythmdb_prop_get_type):
10761 * rhythmdb/rhythmdb.h: add string version of "first seen", in the same
10762 was as "last played" is handled
10764 * sources/rb-library-source.c: (rb_library_source_constructor):
10765 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
10766 Make the column show in the library and playlists
10768 * widgets/rb-entry-view.c: (rb_entry_view_append_column):
10769 * widgets/rb-entry-view.h: add the column
10771 * widgets/rb-query-creator-properties.c: allow automatic playlists to
10772 be sorted by the column
10774 2005-09-16 James Livingston <jrl@ids.org.au>
10776 * shell/rb-shell-player.c: (rb_shell_player_init),
10777 (rb_shell_player_do_previous_or_seek),
10778 (rb_shell_player_previous_button_cb),
10779 (rb_shell_player_next_button_cb), (rb_shell_player_cmd_previous),
10780 (rb_shell_player_playpause_button_cb): Make the previous button act
10781 the same as the menu item. Fix an inversion of the "previous track or
10784 Patch from Jonathan Matthew <jonathan@kaolin.hn.org>
10786 (rb_shell_player_playpause): make --play-pause stop source that can't
10789 2005-09-15 James Livingston <jrl@ids.org.au>
10791 * configure.ac: increase totem-plparser requirements to 1.1.5
10793 * shell/rb-playlist-manager.c: (playlist_load_start_cb),
10794 (playlist_load_end_cb), (rb_playlist_manager_parse_file):
10795 * sources/rb-playlist-source.c: (rb_playlist_source_save_playlist):
10796 use the newer playlist APIs to save the name of the playlist, and use
10797 the name of a loaded playlist.
10801 2005-09-15 James Livingston <jrl@ids.org.au>
10803 Patch from Jonathan Matthew <jonathan@kaolin.hn.org>
10805 * shell/Makefile.am: stop some linker warnings
10807 * shell/main.c: (main): make --no-registration work with dbus
10809 2005-09-15 James Livingston <jrl@ids.org.au>
10811 * daapsharing/rb-daap-sharing.c: (create_share):
10812 * widgets/rb-entry-view.c: (rb_entry_view_constructor): Fix some
10813 reference sinking and counting issues that I caused.
10815 2005-09-15 James Livingston <jrl@ids.org.au>
10817 * widgets/rb-entry-view.c: (rb_entry_view_constructor): Put the "now
10818 playing" icon in the "now playing" column header.
10820 2005-09-14 James Livingston <jrl@ids.org.au>
10822 * daapsharing/rb-daap-mdns.c: (browse_cb): fix crasher if browsering
10823 daap shares, when sharing is turned off.
10825 2005-09-12 Bastien Nocera <hadess@hadess.net>
10827 * sources/rb-daap-source.c: (rb_daap_sources_init): Check
10828 the GConf value's default, especially for badly installed schema
10831 2005-09-12 James Livingston <jrl@ids.org.au>
10833 * daapsharing/rb-daap-mdns.c: (resolve_cb): fix compilation with Howl
10835 Patch from Paolo Borelli <pborelli@katamail.com>
10837 * shell/rb-shell.c: (rb_shell_window_state_cb): hide the statusbar
10838 grip when maximised. Closes bug 316055.
10840 2005-09-11 James Livingston <jrl@ids.org.au>
10842 Patch from William Jon McCann <mccann@jhu.edu>
10844 * shell/rb-statusbar.[ch]: Use G_DEFINE_TYPE. Make a
10845 subclass of GtkStatusbar instead of GtkHBox.
10846 (rb_statusbar_construct): Don't set border width.
10847 (rb_statusbar_init): Use resize grip. Don't use
10849 (set_statusbar_tooltip, unset_statusbar_tooltip)
10850 (rb_statusbar_connect_action_group, rb_statusbar_set_property):
10851 Connect tooltips for actions.
10852 (rb_statusbar_sync_status): Push new message to statusbar.
10853 (rb_statusbar_set_progress): Don't use markup.
10854 (rb_statusbar_entry_view_changed_cb): Don't set syncing_state
10855 flag here since it prevents actually showing or hiding.
10856 (rb_statusbar_sync_with_source): Push new message to statusbar.
10858 2005-09-11 Charles Schmidt <cschmidt2@emich.edu>
10860 * daapsharing/rb-daap-structure.c:
10861 (rb_daap_structure_parse_container_buffer: Forgot to remove comments
10862 around debugging definition.
10864 2005-09-11 Charles Schmidt <cschmidt2@emich.edu>
10866 * daapsharing/rb-daap-structure.c:
10867 (rb_daap_structure_parse_container_buffer): Read the patch from daap
10870 * daapsharing/rb-daap-mdns.c/h:
10871 (resolve_cb): Updated mDNS resolve callback to send service-name &
10872 name (read from Machine Name in the TXT data or equal to service-name
10875 * daapsharing/rb-daap-source.c:
10876 (rb_daap_source_class_init), (rb_daap_source_set_property),
10877 (rb_daap_source_get_property), (rb_daap_source_new),
10878 (find_source_by_service_name), (resolve_cb), (browse_cb),
10879 (stop_resolver), (start_browsing), (stop_browsing),
10880 (enable_browsing_changed_cb): Switched 'real-name' for 'service-name'
10881 and added 'host' and 'port' gobject properties. Updated to use new
10882 mDNS resolve callback sending service-name & name arguments.
10884 2005-09-11 Charles Schmidt <cschmidt2@emich.edu>
10886 * daapsharing/rb-daap-mdns.c:
10887 (howl_strerror): New function to report errors from Howl
10888 (rb_daap_mdns_browse), (rb_daap_mdns_resolve),(rb_daap_mdns_publish),
10889 (get_sw_discovery), (get_avahi_client): Better error reporting from
10892 * sources/rb-daap-source.:
10893 (start_browsing), (stop_browsing): Fixed a bug where browsing would
10894 not get started or stopped in some situations.
10896 2005-09-12 James Livingston <jrl@ids.org.au>
10898 * shell/rb-removable-media-manager.c: add a missing include, that
10899 would stop compilation if ipod support wasn't turned on
10901 2005-09-11 James Livingston <jrl@ids.org.au>
10903 * daapsharing/rb-daap-dialog.c: (encode_base64),
10904 (rb_daap_password_dialog_new_run),
10905 (rb_daap_collision_dialog_new_run): fix a translatable string, so that
10906 it is no broken in to two pieces, and remove a use of a goto
10908 * daapsharing/rb-daap-mdns.c: (mdns_error_dialog),
10909 (setup_sw_discovery), (rb_daap_mdns_resolve_cancel), (publish_cb),
10910 (rb_daap_mdns_publish), (rb_daap_mdns_publish_cancel), (client_cb),
10911 (get_avahi_client), (browse_cb), (rb_daap_mdns_browse),
10912 (rb_daap_mdns_browse_cancel), (resolve_cb), (entry_group_cb): fix a
10913 memory leaks, and some code style things.
10915 * daapsharing/rb-daap-share.c: (rb_daap_share_class_init),
10916 (rb_daap_share_init), (rb_daap_share_set_property),
10917 (rb_daap_share_dispose), (rb_daap_share_new),
10918 (rb_daap_share_get_property): make the DB and the playlist manager
10919 gobject properties.
10921 (message_add_standard_headers),
10922 (message_set_from_rb_daap_structure), (server_info_cb),
10923 (content_codes_cb), (login_cb), (update_cb), (databases_cb),
10924 (server_cb), (add_db_entry), (db_entry_added_cb),
10925 (db_entry_deleted_cb), (publish_cb), (rb_daap_share_start_publish),
10926 (rb_daap_share_stop_publish): Fix a couple of memory leaks, some code
10927 style and use CONF_PREFIX in the gconf keys
10929 * daapsharing/rb-daap-sharing.c: (create_share),
10930 (enable_sharing_changed_cb), (share_name_changed_cb),
10931 (rb_daap_sharing_init), (rb_daap_sharing_shutdown):
10932 * daapsharing/rb-daap-src.c: (rb_daap_src_class_init),
10933 (rb_daap_src_instance_init), (rb_daap_src_dispose),
10934 (rb_daap_src_uri_handler_init), (rb_daap_src_set_property),
10935 (rb_daap_src_get_property), (rb_daap_src_getcaps),
10936 (rb_daap_src_close_file), (rb_daap_src_srcpad_event),
10937 (rb_daap_src_init), (rb_daap_src_shutdown), (rb_daap_src_set_time),
10938 (rb_daap_src_get_time): Deal with gconf callbacks where the key
10939 hasn't actually changed, fix some memory leaks, code style and release
10940 gconf notifications when the object is destroyed.
10942 * sources/rb-daap-source.c: (rhythmdb_entry_daap_type_new),
10943 (rb_daap_source_class_init), (rb_daap_source_init),
10944 (rb_daap_source_dispose), (rb_daap_source_set_property),
10945 (rb_daap_source_get_property), (rb_daap_source_new),
10946 (find_source_by_name), (resolve_cb), (browse_cb), (stop_resolver),
10947 (start_browsing), (stop_browsing), (enable_browsing_changed_cb),
10948 (rb_daap_sources_init), (rb_daap_sources_shutdown),
10949 (rb_daap_source_activate), (rb_daap_source_disconnect),
10950 (rb_daap_source_show_popup), (rb_daap_source_find_for_uri),
10951 (rb_daap_source_get_headers): use CONF_PREFIX in the gconf keys,
10952 release gconf notifications, handle gconf callbacks where the key
10953 hasn't changed, make "real name" and "password protected" gobject
10954 properties, fix some code style and fix a memory leak.
10956 2005-09-11 James Livingston <jrl@ids.org.au>
10958 Patch from Jonathan Matthew <jonathan@kaolin.hn.org>
10960 * shell/rb-playlist-manager.c:
10961 (rb_playlist_manager_save_playlists),
10962 (rb_playlist_manager_get_playlists): don't unref the sourcelist model
10963 when we aren't supposed to. (Closes bug 315886)
10965 2005-09-11 James Livingston <jrl@ids.org.au>
10967 * shell/rb-removable-media-manager.c:
10968 (rb_removable_media_manager_class_init),
10969 (rb_removable_media_manager_init),
10970 (rb_removable_media_manager_dispose),
10971 (rb_removable_media_manager_set_property),
10972 (rb_removable_media_manager_get_property),
10973 (rb_removable_media_manager_new),
10974 (rb_removable_media_manager_load_media),
10975 (rb_removable_media_manager_volume_mounted_cb),
10976 (rb_removable_media_manager_volume_unmounted_cb),
10977 (rb_removable_media_manager_mount_volume),
10978 (rb_removable_media_manager_unmount_volume),
10979 (rb_removable_media_manager_source_deleted_cb),
10980 (rb_removable_media_manager_append_media_source),
10981 (rb_removable_media_manager_set_uimanager),
10982 (rb_removable_media_manager_eject_medium_cb),
10983 (rb_removable_media_manager_cmd_eject_medium):
10984 * shell/rb-removable-media-manager.h:
10985 * sources/rb-removable-media-source.c:
10986 (rb_removable_media_source_class_init),
10987 (rb_removable_media_source_init),
10988 (rb_removable_media_source_dispose),
10989 (rb_removable_media_source_set_property),
10990 (rb_removable_media_source_get_property), (impl_get_pixbuf),
10991 (impl_delete_thyself):
10992 * sources/rb-removable-media-source.h: Add the four files that I
10993 somehow managed not to add to cvs in the last commit. Oops.
10995 2005-09-11 James Livingston <jrl@ids.org.au>
10997 * shell/Makefile.am: Add rb-removable-media-manager.{c,h}
10998 * sources/Makefile.am: Add rb-removable-media-source.{c,h}
11000 * shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor),
11001 (rb_shell_medium_added_cb), (rb_shell_select_source): create the
11002 removable-media-manager on startup, and handle creation of sources.
11004 * sources/rb-ipod-source.h:
11005 * sources/rb-ipod-source.c: (rb_ipod_source_class_init),
11006 (rb_ipod_source_init), (rb_ipod_source_constructor),
11007 (rb_ipod_source_dispose), (rb_ipod_source_new),
11008 (load_ipod_db_idle_cb), (rb_ipod_load_songs), (impl_show_popup): Port
11009 the iPod source over to the removable media framework.
11011 * sources/rb-library-source.c: (paned_size_allocate_cb),
11012 (rb_library_source_get_paned_key): fix a potential bug is a
11013 library-derived source doesn't have a paned-key
11015 2005-09-11 Bastien Nocera <hadess@hadess.net>
11017 * daapsharing/rb-daap-share.c: (add_entry_to_mlcl): default to
11018 mp3 when we can't get the suffix of a file (Closes: #315941)
11020 2005-09-10 James Livingston <jrl@ids.org.au>
11022 * configure.ac: fix the mdns tests, so that it doesn't complain about
11023 not finding one, if daap support isn't being compiled in
11025 2005-09-10 Charles Schmidt <cschmidt2@emich.edu>
11027 * configure.ac: Updated to require avahi >= 0.5. Small fixes.
11029 * daapsharing/rb-daap-dialog.c:
11030 (rb_daap_password_dialog_new_run), (rb_daap_collision_dialog_new_run):
11031 HIG compliancy & images.
11033 * daapsharing/rb-daap-mdns.c:
11034 (browse_cb), (resolve_cb): Better detection of local services.
11035 Requries avahi 0.5. Still doesn't work quite right with Howl, due to
11036 Howl's limitations. Fix the way collision handling is done under
11039 * daapsharing/rb-daap-share.c:
11040 (publish_cb): Better name collision handling (at least for Avahi).
11042 2005-09-10 James Livingston <jrl@ids.org.au>
11044 * shell/rb-shell-preferences.c: (add_daap_preferences): Patch from
11045 Dennis Cranston <dennis_cranston@yahoo.com> to make the DAAP
11046 preferences more HIG compliant (Closes #315889)
11048 * po/POTFILES.in: add widgets/rb-query-creator-properties.c to the
11049 list of files to be translated
11051 2005-09-10 James Livingston <jrl@ids.org.au>
11053 * configure.ac: fix it so that --enable-daap=no works
11054 * lib/rb-file-helpers.c: (rb_file): allow use of new art when running
11057 2005-09-10 James Livingston <jrl@ids.org.au>
11059 Patch from Christophe Fergeau <teuf@gnome.org>
11061 * sources/rb-ipod-source.c: (rb_ipod_unload_songs): fix a crasher in
11064 2005-09-09 Charles Schmidt <cschmidt2@emich.edu>
11065 * README.daap: Updating documentation
11067 2005-09-09 Charles Schmidt <cschmidt2@emich.edu>
11068 * AUTHORS: Added myself.
11070 * daapsharing/rb-daap-connection.c:
11071 (connection_login), (rb_connection_new): Reorganized password
11074 * po/POTFILES.in: Added daapsharing/rb-daap-dialog.c
11076 * shell/rb-shell.c:
11077 (rb_shell_cmd_disconnect_source): Fixed disconnecting from sources.
11079 * sources/rb-daap-source.c:
11080 (rb_daap_source_activate): Better error handling when we are unable to
11083 2005-09-09 Charles Schmidt <cschmidt2@emich.edu>
11084 * README.daap: Fixed some terminology.
11086 * configure.ac: Better automatic detection of mDNS/DNS-SD library.
11087 New --with-mdns=auto|howl|avahi flag to specify.
11089 * daapsharing/rb-daap-dialog.c/h: New files to handle password &
11090 name collision dialogs.
11092 * daapsharing/rb-daap-connection.c:
11093 (connection_get_password), (build_message), (http_get)
11094 (connection_login): Ask for & use a password if the share demands it.
11096 * daapsharing/rb-daap-connection.h: Changed prototype of
11097 rb_daap_connection_new.
11099 * daapsharing/rb-daap-mdns.c:
11100 (resolve_cb): Better detection of your own music share so it doesn't
11101 appear in the sourcelist.
11103 * daapsharing/rb-daap-share.c:
11104 (rb_daap_share_start_publish): Attempt to start on port 3689, failing
11105 that start on any available port.
11107 * daapsharing/rhythmbox.schemas: Schemas for music shares' UI state.
11109 * sources/rb-daap-source.c:
11110 (find_source_by_name), (rb_daap_source_new), (resolve_cb),
11111 (browse_cb): Handle passworded shares. Resolve the host immediately
11112 instead of when activated.
11113 (rb_daap_source_get_browser_key), (rb_daap_source_get_paned_key),
11114 (rb_daap_source_new): New GConf keys for UI state.
11115 (rb_daap_source_activate): Use RBPlaylistSource instead of
11116 RBDAAPPlaylistSource
11118 * sources/rb-daap-playlist-source.c/h: Removed
11120 * sources/rb-playlist-source.c/h: Added 'is-local' property, TRUE
11121 if the playlist is local (i.e. not DAAP or iPod).
11123 * shell/rb-playlist-manager.c:
11124 (rb_playlist_manager_save_playlists): Fixed a bug where the playlists
11125 wouldn't get saved if the last playlist hadn't changed. Only save
11128 2005-09-09 James Livingston <jrl@ids.org.au>
11130 * sources/rb-ipod-source.c: (rb_ipod_source_class_init): remove the
11131 iPod preferences pane, as it already uses the browser views as the
11134 2005-09-09 James Livingston <jrl@ids.org.au>
11136 * sources/rb-library-source.c: (rb_library_source_finalize),
11137 (rb_library_source_constructor): fix gconf monitoring of library
11139 * sources/rb-library-source.h: remove declaration of function that
11142 2005-09-08 Charles Schmidt <cschmidt2@emich.edu>
11144 * player/rb-player-gst.c:
11145 (rb_player_set_time): Fix seeking in daap streams.
11147 2005-09-08 Charles Schmidt <cschmidt2@emich.edu>
11149 * data/rhythmbox.schemas: Turn music share browsing on by default.
11151 2005-09-07 James Livingston <jrl@ids.org.au>
11153 * configure.ac: include daapsharing/Makefile in AC_OUTPUT
11155 2005-09-06 Charles Schmidt <cschmidt2@emich.edu>
11156 * player/rb-player-gst.c:
11157 (rb_player_get_time): Fix for extra << & == that accidentally made
11160 * player/Makefile.am: -Idaapsharing so we can include rb-daap-src.h
11162 2005-09-06 Charles Schmidt <cschmidt2@emich.edu>
11163 * configure.ac: Fix for extra <<<<<<< & ======= that accidentally made
11164 it in last time. Sorry.
11166 2005-09-06 Charles Schmidt <cschmidt2@emich.edu>
11168 * player/rb-player-gst.c:
11169 (rb_player_get_time): Fix a small crash appearing when
11170 the uri isn't set in the player, but rb_player_get_time() is
11173 * configure.ac: Also check for libsoup 2.4, which is what ships with
11176 * po/POTFILES.in: Added music sharing files that have translatable
11179 * README.daap: New file explaining "How Music Sharing Works"
11181 2005-09-06 Bastien Nocera <hadess@hadess.net>
11183 * daapsharing/.cvsignore: added
11185 2005-09-06 Charles Schmidt <cschmidt2@emich.edu>
11187 * daapsharing/*: Music sharing library.
11189 * sources/rb-daap-source.c/h: Music share RBSource.
11190 * sources/rb-daap-playlist-source.c/h: Music share playlist RBSource.
11192 * configure.ac: --enable-daap flag to turn on music sharing. Requires
11193 libsoup and a mutlicast DNS implementation (howl or avahi).
11195 * data/rhythmbox.schemas: New GConf keys for music sharing.
11197 * data/ui/rhythmbox-ui.xml: New popup menu ui definition for daap
11198 source right click menu.
11200 * player/rb-player-gst.c: Changes to properly play & seek in remote
11203 * shell/rb-playlist-manager.c/h:
11204 (rb_playlist_manager_get_playlists): New function to get a GList * of
11206 (rb_playlist_manager_save_playlists): Don't save music share playlists
11207 and fixed a GObject reference leak.
11209 * shell/rb-shell.c/h:
11210 (rb_shell_append_source): No longer a local function. Now takes a
11211 parent RBSource * argument, NULL to append a toplevel source.
11212 (rb_shell_cmd_source_disconnect): New function to 'disconnect' a
11213 source (useful for disconnecting from remote music share,
11215 (rb_shell_quit): Stop music sharing/browsing.
11216 (rb_shell_playlist_added_cb): Work with tree source structure.
11217 (rb_shell_get_property): "playlist-manager" property accessor.
11218 (rb_shell_class_init): New "playlist-manager" property.
11219 (rb_shell_construor): Append sources as toplevel sources. Initialize
11220 daap sharing/browsing.
11221 (rb_shell_select_source): Notify source of activation/deactivation.
11223 * shell/rb-shell-prefernces.c: Music sharing preferences.
11225 * sources/rb-source.c/h: New activate, deactivate and disconnect
11226 class functions. Activate & deactivate are notification style
11227 functions that will tell a source when it is selected/unselected.
11228 Disconnect can be hooked up to a UI object to disconnect the source.
11230 * sources/rb-sourcelist-model.c:
11231 * sources/rb-sourcelist.c/h: Sourcelist is now a tree structure.
11232 (rb_sourcelist_append): Takes a RBSource * parent arguement, NULL to
11233 append a toplevel source.
11235 2005-09-05 James Livingston <jrl@ids.org.au>
11237 * rhythmdb/rhythmdb-query-model.c:
11238 (rhythmdb_query_model_entry_changed_cb),
11239 (rhythmdb_query_model_do_reorder): Update the query model's totals if
11240 the duration of filesize of an entry changes. Emit the row-changed
11241 signals that I forgot to put back in, when I was doing query sorting.
11243 * rhythmdb/rhythmdb.c: (rhythmdb_compute_status_normal): Don't print
11244 out "0 minutes" or "0 bytes".
11246 2005-09-04 James Livingston <jrl@ids.org.au>
11248 * shell/rb-playlist-manager.c: (rb_playlist_manager_new_playlist):
11249 remove a leftover bit of the "internal-name" property of sources.
11251 2005-09-03 James Livingston <jrl@ids.org.au>
11253 * rhythmdb/rhythmdb-tree.c: (evaluate_conjunctive_subquery): remove
11254 extraneous debug message
11255 * sources/rb-library-source.c: (rb_library_source_do_query): fix a
11256 crasher would affect any library-derived sources (which was also a
11259 2005-09-02 Colin Walters <walters@verbum.org>
11261 * configure.ac: Fix sytnax error.
11263 * shell/rb-shell.c (tray_embedded_cb): Add some nonfunctional
11264 code to disable minimization icons - need to figure out
11265 why it doesn't work...
11267 2005-09-01 Dennis Cranston <dennis_cranston@yahoo.com>
11269 * data/glade/song-info-multiple.glade:
11270 * data/glade/song-info.glade:
11271 * widgets/rb-song-info.c: (rb_song_info_constructor):
11272 Add a mnemonic to the newly added "Automatically rate" label
11273 in the properties dialog and use a bold typeface like all the
11274 other labels in the dialog. (Closes bug 315089)
11276 2005-09-03 James Livingston <jrl@ids.org.au>
11278 * sources/rb-library-source.c: (rb_library_source_class_init),
11279 (rb_library_source_finalize), (rb_library_source_constructor),
11280 (rb_library_source_set_property), (rb_library_source_get_property),
11281 (impl_get_paned_key), (paned_size_allocate_cb),
11282 (rb_library_source_state_prefs_sync), (impl_show_popup),
11283 (rb_library_source_get_paned_key):
11284 * sources/rb-library-source.h: Allow sources derived from
11285 RBLibrarySource to use different gconf keys for sort order, browser
11286 visibility and browser pane position. Fix a crasher if a derived
11287 source overrides _get_pixbuf.
11289 2005-09-02 Colin Walters <walters@verbum.org>
11291 * shell/rb-shell.c (rb_shell_set_visibility): Move
11292 hint setting which seems to avoid races more.
11294 2005-09-03 James Livingston <jrl@ids.org.au>
11296 * shell/rb-shell.c: fix compilation with iPod support enabled
11298 2005-09-02 Colin Walters <walters@verbum.org>
11300 * shell/rb-shell.c (struct RBShellPrivate): Add
11301 idle_hide_mainwindow_id.
11302 (rb_shell_constructor): Move taskbar skipping hint into
11303 rb_shell_set_visibility.
11304 (idle_hide_mainwindow): New function.
11305 (rb_shell_set_visibility): Taskbar hinting moved here; add evil
11306 racy hack to avoid rb appearing in taskbar when minimized.
11308 2005-09-01 Colin Walters <walters@verbum.org>
11310 * widgets/eggtrayicon.h: Prototype egg_tray_icon_have_manager.
11312 * widgets/eggtrayicon.c (egg_tray_icon_have_manager): Steal
11313 from gtkstatusicion.c.
11315 * shell/rb-tray-icon.h: Prototype rb_tray_icon_get_geom.
11317 * shell/rb-tray-icon.c (rb_tray_icon_toggle_entries): Retitle
11318 TrayShowWindow entry.
11319 (rb_tray_icon_class_init): Make GtkActionGroup readable only.
11320 (rb_tray_icon_constructor): Create action group here.
11321 (rb_tray_icon_finalize): Destroy action group.
11322 (rb_tray_icon_set_property): Don't take an action group.
11323 (rb_tray_icon_new): Ditto.
11324 (tray_popup_position_menu): Some mostly boilerplate code
11326 (rb_tray_icon_button_press_event_cb): Position menu.
11327 (rb_tray_icon_get_geom): New function used for the shell
11328 to set minimization hints.
11330 * shell/rb-shell.h: Prototype rb_shell_toggle_visibility.
11332 * shell/rb-shell.c (rb_shell_actions): Add MusicClose.
11333 (struct RBShellPrivate): Change visible to iconified.
11334 (set_icon_geometry): New function from Søren Sandmann to
11335 tell Metacity where to draw the minimization animiation.
11336 (rb_shell_window_state_cb): Update iconified.
11337 (rb_shell_get_visibility): New function to say whether
11338 or not we're currently visible.
11339 (rb_shell_set_visibility): Update to minimize to
11340 tray or present as appropriate.
11341 (rb_shell_window_delete_cb): On window close, just
11342 minimize to tray if we're deleted.
11343 (rb_shell_set_window_title): Kill old notification code.
11344 (rb_shell_toggle_visibility): Nwe function.
11345 (rb_shell_cmd_toggle_visibility): Call it.
11346 (rb_shell_constructor): Skip the taskbar.
11347 (tray_destroy_cb): Better debugging.
11349 2005-09-01 Colin Walters <walters@verbum.org>
11351 * data/ui/rhythmbox-ui.xml: Add MusicClose.
11353 * configure.ac: Enable bonobo by default.
11355 2005-09-01 Colin Walters <walters@verbum.org>
11357 * configure.ac: Default to old art. Add macros subdir.
11359 * Makefile.am (SUBDIRS): Add macros.
11361 * macros/Makefile.am: New.
11363 2005-09-01 Colin Walters <walters@verbum.org>
11365 * shell/Makefile.am (EXTRA_DIST): Dist rb-shell.xml and
11366 rb-shell-player.xml.
11368 * remote/dbus/rb-remote-dbus.h: Deleted.
11370 * remote/dbus/Makefile.am: Delete all the junk, just dist
11371 rb-print-playing.py and rb-set-rating.py.
11373 * remote/Makefile.am (SUBDIRS): Always dist dbus and bonobo.
11375 * data/Makefile.am (EXTRA_DIST): Add service_in_files.
11377 2005-09-02 James Livingston <jrl@ids.org.au>
11379 - data/ui/rhythmbox-audiocd-view.xml.in: remove extremely obsolete
11382 * shell/rb-shell.c: (rb_shell_get_property), (rb_shell_finalize),
11383 (rb_shell_constructor): Patches from Jonathan Matthew
11384 <jonathan@kaolin.hn.org> to fix compilation without ipod support, and
11385 a crash when using "browse this artist".
11387 2005-08-31 Colin Walters <walters@verbum.org>
11389 * configure.ac: Add --with-old-art configure switch. Also
11390 add AC_CONFIG_MACRO_DIR in the hope to avoid autotools bustage,
11391 but it doesn't work.
11393 * widgets/rb-cell-renderer-pixbuf.c (rb_cell_renderer_pixbuf_render):
11394 Don't use eel_create_colorized_pixbuf for new art.
11395 * widgets/rb-rating-helper.c (rb_rating_render_stars): Ditto.
11397 * data/art-clearlooks: New artwork.
11399 2005-08-31 Colin Walters <walters@verbum.org>
11401 * shell/main.c (main): Fix Bastien's commit to continue to focus
11402 the window with GTK+ 2.8 at least.
11404 2005-08-31 Colin Walters <walters@verbum.org>
11406 * shell/rb-shell.c (rb_shell_load_uri): Handle the case where entry
11409 * shell/main.c (load_uri_args): Use gnome_vfs_make_uri_from_shell_arg.
11411 2005-08-31 Bastien Nocera <hadess@hadess.net>
11413 * README: remove mentions of the xine-lib backend
11414 * shell/main.c: (main): make it compilable with gtk+ < 2.8
11416 2005-08-30 Colin Walters <walters@verbum.org>
11418 * shell/rb-shell-preferences.c (rb_shell_preferences_append_view_page):
11419 Make non-visible sources insensitive.
11421 2005-08-30 Colin Walters <walters@verbum.org>
11423 * shell/rb-shell.c: Don't use GConf for selected source; it's
11424 confusing to have the selected source change after startup,
11425 and since we don't save other things it's not worth saving this.
11427 * sources/rb-playlist-source.c:
11428 * sources/rb-library-source.c:
11429 * sources/rb-iradio-source.c:
11430 * sources/rb-ipod-source.c: Delete internal-name property usage.
11431 * sources/rb-source.c: Delete internal-name property.
11433 * data/rhythmbox.schemas: Delete selected_source.
11435 2005-08-30 Colin Walters <walters@verbum.org>
11437 * sources/rb-sourcelist.c: Make playing source bold instead of
11438 displaying a pixbuf; it's much less ugly.
11440 2005-08-30 Colin Walters <walters@verbum.org>
11442 * sources/rb-source.c:
11443 * sources/rb-source.h: New virtual method try_playlist.
11445 * sources/rb-iradio-source.c (rb_iradio_source_class_init): Implement
11447 (rb_iradio_source_add_station): Remove validation; we do that elsewhere.
11448 (impl_handle_eos): Return RB_SOURCE_EOF_RETRY.
11449 (handle_playlist_entry_cb): Don't check for iradio uris, we don't
11451 (stations_view_drag_data_received_cb): Don't check for iradio uris;
11452 in theory we should though...
11454 * shell/rb-shell.c (known_sources): Delete; we just hardcode the
11455 list in rb_shell_construct now.
11456 (struct RBShellPrivate): Add RBLibrarySource, RBIRadioSource,
11458 (rb_shell_constructor): Create library, iradio, ipod here.
11459 (rb_shell_source_deleted_cb): Use source directly instead of
11460 indirecting through type.
11461 (rb_shell_sync_selected_source): Ditto.
11462 (rb_shell_jump_to_entry_with_source): Just use the source reutrned
11463 from the type instead of special-casing.
11464 (rb_shell_guess_type_for_uri)
11466 (handle_one_uri_with_possible_metadata): New functions.
11467 (rb_shell_load_uri): Refactor to allow loading playlists again,
11468 also use other URI infrastructure.
11470 * shell/rb-shell-player.c (eos_cb): Handle RB_SOURCE_EOF_RETRY.
11471 (rb_shell_player_error): Always set entry error on error, instead
11472 of depending on EOF behavior.
11474 * shell/rb-playlist-manager.c (handle_playlist_entry_cb): Refactor
11475 to just invoke rb_shell_add_uri.
11476 (rb_playlist_manager_parse_file): Return error instead of tossing
11477 up dialog box directly.
11478 (load_playlist_response_cb): Display error here.
11479 (add_uri_to_playlist): Delete.
11480 (handle_playlist_entry_into_playlist_cb): Renamed to
11481 handle_playlist_entry_cb.
11483 * shell/rb-playlist-manager.h: Add error, update prototype.
11485 * lib/rb-file-helpers.c:
11486 * lib/rb-file-helpers.h: Delete rb_uri_is_iradio.
11488 2005-08-29 Colin Walters <walters@verbum.org>
11490 * sources/rb-iradio-source.c (rb_iradio_source_add_station): Return
11491 if entry already exists. Use rhythmdb_entry_set_uninserted.
11493 * sources/rb-ipod-source.c (entry_set_string_prop): Avoid
11494 needlessly duping string, and use rhythmdb_entry_set_uninserted.
11495 (load_ipod_db_idle_cb): Use rhythmdb_entry_set_uninserted.
11497 * shell/rb-shell.h (enum RBShellError): Add some more errors.
11498 Prototype rb_shell_set_song_property.
11500 * shell/rb-shell.xml: Export setSongProperty.
11502 * shell/rb-shell.c (rb_shell_set_song_property): New function.
11503 (rb_shell_set_rating_impl): Call rhythmdb_entry_set instead of
11504 rhythmdb_entry_set_nonotify, and call rhythmdb_commit.
11506 * shell/rb-shell-player.c (rb_shell_player_set_entry_playback_error): Call
11507 rhythmdb_entry_set instead of rhythmdb_entry_set_nonotify, since we do
11508 want to notify of the change.
11509 (rb_shell_player_entry_changed_cb): Cast to RhythmDBEntryChange.
11511 * rhythmdb/rhythmdb.c (rhythmdb_process_queued_entry_set_event): Fix
11512 logic error; idle functions would be enqueued for each set.
11513 (rhythmdb_entry_set): Fix assertion logic error.
11515 * iradio/rb-new-station-dialog.c (rb_new_station_dialog_response_cb):
11516 Avoid needlessly duping strings, and use rhythmdb_entry_set_uninserted.
11517 Return if the entry already exists.
11519 2005-08-29 Colin Walters <walters@verbum.org>
11521 * rhythmdb/rhythmdb.h (struct RhythmDBEntry): Add
11522 "inserted" member which we use to keep track of
11523 whether or not an entry is in the DB. Prototype
11524 rhythmdb_entry_set_uninserted.
11526 * rhythmdb/rhythmdb.c (rhythmdb_commit_internal): Set inserted
11528 (rhythmdb_entry_insert): Assert entry is not already inserted.
11529 (rhythmdb_process_metadata_load): Update to call _set_uninserted
11530 just after creating entry.
11531 (rhythmdb_entry_set): Document, and fail on uninserted entries.
11532 (rhythmdb_entry_set_nonotify): Ditto.
11533 (rhythmdb_entry_set_uninserted): Document, and fail on inserted
11535 (rhythmdb_entry_set_internal): Change notify flag to
11536 notify_if_inserted. Also move notification after assertions.
11538 Update all existing callers of rhythmdb_entry_set_internal
11539 to give TRUE for notify_if_inserted; this should be what
11540 we want but may be an efficiency hit.
11542 2005-08-30 Raphael Slinckx <rslinckx@cvs.gnome.org>
11544 * shell/rb-shell-player.c: (rb_shell_player_init),
11545 (rb_shell_player_set_property), (rb_shell_player_entry_changed_cb),
11546 (rb_shell_player_set_playing_source_internal),
11547 (rb_shell_player_sync_with_selected_source): Notify the player when an
11548 entry has updated the title, album or artist field, and resync the big
11551 * sources/rb-iradio-source.c: (rb_iradio_source_class_init):
11552 * sources/rb-library-source.c: (rb_library_source_class_init),
11553 (impl_get_config_widget):
11554 * sources/rb-playlist-source.c: (rb_playlist_source_class_init):
11555 * sources/rb-source.c:
11556 * sources/rb-source.h: Removed unused have_artist_album, get_artist, and
11557 get_album functions in rb-source and adapted other sources accordingly.
11559 2005-08-29 Colin Walters <walters@verbum.org>
11561 * rhythmdb/rhythmdb.c (struct RhythmDBEvent): Add
11562 signal_change member.
11563 (threadsafe_entry_set): New function.
11564 (rhythmdb_entry_set): Just call threadsafe_entry_set with TRUE.
11565 (rhythmdb_entry_set_nonotify): New function; just call
11566 threadsafe_entry_set with FALSE.
11567 (rhythmdb_entry_set_internal): Take a notify flag; if true
11568 add the change to our pending set.
11570 Also update all internal callers of rhythmdb_entry_set_internal
11571 to pass FALSE. Some of these may be bugs however and need to
11574 * rhythmdb/rhythmdb.h: Rename rhythmdb_entry_sync to
11575 rhythmdb_entry_set, and rename rhythmdb_entry_set to
11576 rhythmdb_entry_set_nonotify.
11578 * rhythmdb/rhythmdb.h (enum RhythmDBProp)
11579 (rhythmdb_entry_get_boolean): Kill off RHYTHMDB_PROP_AUTO_RATE.
11581 * widgets/rb-song-info.c: Kill off vestiges of auto rating.
11583 * widgets/rb-entry-view.c (rb_entry_view_rated_cb):
11584 * sources/rb-source.c (rb_source_update_play_statistics):
11585 * sources/rb-iradio-source.c (rb_iradio_source_add_station):
11586 * sources/rb-ipod-source.c (entry_set_string_prop)
11587 (load_ipod_db_idle_cb):
11588 * shell/rb-shell.c (rb_shell_set_rating_impl):
11589 * shell/rb-shell-player.c (rb_shell_player_set_entry_playback_error)
11590 (info_available_cb):
11591 * iradio/rb-station-properties-dialog.c (rb_station_properties_dialog_rated_cb)
11592 (rb_station_properties_dialog_sync_entries):
11593 * iradio/rb-new-station-dialog.c (rb_new_station_dialog_response_cb):
11595 Update callers of rhythmdb_entry_set to rhythmdb_entry_set_nonotify,
11596 and callers of rhythmdb_entry_sync to rhythmdb_entry_set.
11598 2005-08-29 Colin Walters <walters@verbum.org>
11600 * sources/Makefile.am (INCLUDES): Add HAL_CFLAGS unconditionally.
11602 * shell/Makefile.am (rhythmbox_LDADD): Add HAL_LIBS to avoid
11605 * widgets/rb-header.c (sanitize_string): New function, extracted
11606 from old info_url. Be sure to always strip the string.
11607 (info_url): Rewrite to take artist/album, and generate a sane
11608 URL for them from last.fm, which is better than allmusic.com in
11609 that they support Rhythmbox, and have a *SANE* URL scheme.
11610 (artist_info_url, album_info_url): Delete.
11611 (rb_header_sync): Use info_url.
11613 2005-08-29 James Livingston <jrl@ids.org.au>
11615 * sources/rb-source.c: (rb_source_search): Check to ensure that this
11616 is implemented before calling it. Many sources don't implement the
11619 2005-08-28 Dennis Cranston <dennis_cranston@yahoo.com>
11621 * data/glade/create-playlist.glade: Cleanup the layout,
11622 and add a few more mnemonics.
11623 * shell/rb-playlist-manager.c:
11624 (rb_playlist_manager_cmd_load_playlist),
11625 (rb_playlist_manager_cmd_save_playlist): HIG fix, use title
11626 capitalization for window titles.
11627 * widgets/rb-query-creator-properties.c: Add mnemonics
11628 to checkbutton labels.
11629 * widgets/rb-query-creator.c: (rb_query_creator_constructor),
11630 (limit_toggled_cb): Toggle the sortLabel sensitivity.
11632 2005-08-28 Colin Walters <walters@verbum.org>
11634 * data/rhythmbox.schemas: Delete search_text for library
11635 and iradio; this isn't a persistent value anymore.
11638 * sources/rb-source.h:
11639 * sources/rb-source.c: Delete impl_can_search.
11641 * sources/rb-iradio-source.c: Delete search_text usage.
11642 * sources/rb-library-source.c: Ditto.
11644 * shell/rb-source-header.c: Don't use GConf for search key. Reset
11645 search when source is set, and just do rb_source_search in
11646 rb_source_header_search_cb.
11648 * shell/rb-shell.c (rb_shell_append_source): Don't
11651 * shell/Makefile.am: Don't dist dashboard.c.
11653 2005-08-28 Colin Walters <walters@verbum.org>
11655 * shell/main.c: Remove include of dead file rb-remote-dbus.h.
11657 2005-08-28 Colin Walters <walters@verbum.org>
11659 * data/org.gnome.Rhythmbox.service.in: New.
11661 * data/Makefile.am: Install service file.
11663 * configure.ac: Define DBUS_SERVICES_DIR.
11665 * autogen.sh: Set ACLOCAL_FLAGS.
11667 * macros/acinclude.m4: New.
11669 2005-08-28 Colin Walters <walters@verbum.org>
11671 Initial patch from Jonathan Matthew; closes 313684.
11673 * rhythmdb/rhythmdb-tree.c:
11674 (RHYTHMDB_FWRITE, RHYTHMDB_FPUTC): Handle errors.
11675 (save_entry): Return on error.
11676 (rhythmdb_tree_save): Handle error when saving the
11677 db; additionally, handle errors from fclose and unlink,
11678 and print error too.
11680 2005-08-28 Colin Walters <walters@verbum.org>
11682 * sources/Makefile.am (libsourcesimpl_la_LIBADD): Fix
11685 2005-08-28 Colin Walters <walters@verbum.org>
11687 * configure.ac: Change iPod support to --with-ipod;
11688 automatically enable it if we have HAL. Try to
11689 support both HAL 0.5 and HAL 0.2. Break out
11690 totem-plparser into its own check so later we
11691 can do version tests there too.
11692 Kill dashboard support.
11694 * sources/rb-ipod-source.c: Merge in changes from Ronald Bultje
11695 to support HAL > 0.5, but preserve the old code for HAL < 0.5
11698 * shell/Makefile.am (rhythmbox_LDADD): Add TOTEM_PLPARSER_LIBS.
11699 (INCLUDES): Add TOTEM_PLPARSER_CFLAGS.
11701 * sources/Makefile.am: Also handle
11702 TOTEM_PLPARSER_LIBS/TOTEM_PLPARSER_CFLAGS.
11704 * shell/dashboard.c: Delete; someone should just write a little
11705 python shim which lists on the D-BUS interface and writes the
11706 stuff to Dashboard. Even better Dashboard should be ported
11707 to D-BUS and do the listening itself, perhaps on an abstract
11708 "org.gnome.MusicPlayer" interface or something.
11710 * shell/rb-shell.c: Kill dashboard support.
11712 2005-08-28 Colin Walters <walters@verbum.org>
11714 * remote/dbus/rb-print-playing.py: New file.
11716 2005-08-28 Colin Walters <walters@verbum.org>
11718 * rhythmdb/rhythmdb.c (rhythmdb_entry_get):
11719 * rhythmdb/rhythmdb.h: Make rhythmdb_entry_get public.
11721 * shell/rb-shell-player.h:
11722 * shell/rb-shell-player.c: Add playing-uri-changed signal.
11723 * shell/rb-shell-player.xml: Export it.
11725 * shell/rb-shell.c (rb_shell_get_song_properties): New function.
11726 (rb_shell_error_quark): New.
11728 * shell/rb-shell.h: Prototype. Also add RBShellError.
11729 * shell/rb-shell.xml: Export rb_shell_get_song_properties.
11731 2005-08-28 Colin Walters <walters@verbum.org>
11733 * remote/bonobo/rb-remote-bonobo.c (rb_bonobo_workaround_lock)
11734 (rb_bonobo_workaround_unlock): Renamed from bonobo_lock and
11736 (rb_remote_bonobo_preinit): Lock setting moved here.
11737 (rb_remote_bonobo_init): From here.
11739 * shell/main.c (main): Call rb_remote_bonobo_preinit very early.
11740 Also invoke handle_cmdline in the right place.
11741 (handle_cmdline): Remove some unused vars. Cast bonobo_load_uri to
11744 2005-08-28 James Livingston <jrl@ids.org.au>
11746 * NEWS: keep the NEWS file up to date, so we don't have to do it all
11747 when 0.9.1 comes around.
11749 2005-08-28 James Livingston <jrl@ids.org.au>
11751 * iradio/rb-new-station-dialog.c:
11752 (rb_new_station_dialog_response_cb): Trim whitespace from uris. Closes
11755 2005-08-28 James Livingston <jrl@ids.org.au>
11757 Patch from Jonathan Mattnew <jonathan@kaolin.hn.org>
11759 * widgets/rb-entry-view.c: (rb_entry_view_duration_cell_data_func):
11760 * widgets/rb-header.c: (rb_header_get_elapsed_string): Display hours
11761 is a song is longer than 60 minutes. Closes bug 313311.
11763 2005-08-27 James Livingston <jrl@ids.org.au>
11765 * data/glade/create-playlist.glade:
11766 * widgets/rb-query-creator.c: (rb_query_creator_load_query),
11767 (rb_query_creator_new_from_query), (rb_query_creator_get_limit): Add
11768 "minutes" as an option in the playlist limit menu.
11770 * rhythmdb/rhythmdb-query-model.c:
11771 (rhythmdb_query_model_class_init),
11772 (rhythmdb_query_model_set_property),
11773 (rhythmdb_query_model_get_property),
11774 (rhythmdb_query_model_update_limited_entries): Allow query models to
11777 * shell/rb-playlist-manager.c:
11778 (rb_playlist_manager_set_automatic_playlist),
11779 (rb_playlist_manager_cmd_edit_automatic_playlist):
11780 * sources/rb-playlist-source.c: (rb_playlist_source_set_query),
11781 (rb_playlist_source_get_query), (impl_receive_drag),
11782 (rb_playlist_source_new_from_xml),
11783 (rb_playlist_source_save_to_xml),
11784 (rb_playlist_source_songs_sort_order_changed_cb),
11785 (rb_playlist_source_do_query):
11786 * sources/rb-playlist-source.h:
11787 * widgets/rb-query-creator.h: Allow playlists to be limited by time
11789 2005-08-27 James Livingston <jrl@ids.org.au>
11791 Patch from Jonathan Mattnew <jonathan@kaolin.hn.org>.
11794 * shell/Makefile.am: work correctly if dbus-binding-tool is in a
11795 non-standard location. Closes bug 314640.
11797 2005-08-26 Colin Walters <walters@verbum.org>
11799 Patch from Olivier Blin <oblin@mandriva.com>
11801 * widgets/eggnotificationbubble.c (draw_bubble):
11802 Handle extreme-left case as well.
11804 2005-08-26 Colin Walters <walters@verbum.org>
11806 * shell/rb-shell.c (idle_save_state): Don't do this.
11807 (rb_shell_construct): Remove idle calls to idle_save_state.
11808 We should save the playlists automatically when they're
11810 (rb_shell_load_uri): Don't try to re-stat entry if it already
11813 * shell/rb-shell-player.c: Keep track of entry we are attempting
11815 (rb_shell_player_set_playing_entry): Set playing_attempt_entry.
11816 Don't double-free error.
11817 (rb_shell_player_play_entry): Signal errors.
11818 (rb_shell_player_entry_activated_cb): Ditto.
11819 (rb_shell_player_property_row_activated_cb): Ditto.
11820 (rb_shell_player_set_playing_source_internal): Unset attempted
11822 (rb_shell_player_error): Refactor to be usable both sync and
11823 async. Handle case where displayed entry differs from entry.
11824 (error_cb): Move GDK locking here.
11826 * shell/main.c (main): Drop most commandline arguments for D-BUS;
11827 people can just use dbus-send or python. We only support focusing
11829 (load_uri_args): New function, extracted from handle_cmdline.
11830 (dbus_load_uri, bonobo_load_uri): New functions.
11832 * shell/Makefile.am (rhythmbox_LDADD): Add D-BUS libs as
11835 * remote/Makefile.am: Don't compile dbus subdir, it's not used.
11836 * remote/dbus/rb-remote-dbus.c: Deleted.
11838 * player/rb-player-gst.c: Clear any pending idle handlers when we
11839 close the player. Signal errors generated during open/play etc
11840 as synchronous errors.
11842 * configure.ac: Enable Bonobo by default if D-BUS isn't enabled.
11844 2005-08-26 Colin Walters <walters@verbum.org>
11846 * shell/rb-shell.c (rb_shell_present): Try harder.
11848 2005-08-26 Colin Walters <walters@verbum.org>
11850 * shell/rb-shell.c (rb_shell_present): Try to handle
11851 GTK_MINOR_VERSION < 8.
11853 2005-08-26 James Livingston <jrl@ids.org.au>
11855 * shell/main.c: (main): compilation fixes. Patch from Peter Robinson
11856 <pbrobinson@gmail.com>
11858 2005-08-26 Colin Walters <walters@verbum.org>
11860 * remote/dbus/rb-remote-dbus.c: Various compilation fixes.
11862 2005-08-25 Colin Walters <walters@verbum.org>
11864 * shell/rb-shell-player.c (rb_shell_player_auto_adjust_rating):
11866 (rb_shell_player_do_next_with_rating): Move back into
11867 rb_shell_player_do_next.
11868 (rb_shell_player_entry_activated_cb): Remove call to
11869 rb_shell_player_auto_adjust_rating.
11870 (do_next_idle): Just call rb_shell_player_do_next.
11872 * shell/rb-shell.c (rb_shell_present): Cast to GTK_WIDGET.
11874 2005-08-25 Colin Walters <walters@verbum.org>
11876 * shell/rb-shell.c (rb_shell_present): Be sure to gtk_widget_show
11877 before gtk_window_present_with_time.
11879 2005-08-25 Colin Walters <walters@verbum.org>
11881 * configure.ac: Require D-BUS 0.35. Bonobo is disabled by
11884 * shell/rb-shell.c (rb_shell_constructor): Adapted from
11885 rb_shell_construct. This is so we only have to do g_object_new.
11886 (rb_shell_get_player): New function.
11887 (rb_shell_get_player_path): Ditto.
11888 (rb_shell_load_uri): New function, adapted from rb_shell_load_uri_impl.
11890 * shell/rb-shell.h: Prototype them.
11892 * shell/rb-shell-player.c: Add new PLAYING_CHANGED signal which we
11894 (reemit_playing_signal): New function.
11895 (rb_shell_player_open_playlist_location): Use return values from
11896 rb_player_open, rb_player_close, etc. instead of checking "error".
11897 Return a gboolean on failure.
11898 (rb_shell_player_open_entry): Just open entry location, don't
11900 (rb_shell_player_play): Handle retval from rb_player_play. Return
11902 (do_next_idle): Move logic for handling of end of playlist here.
11903 (rb_shell_player_set_playing_entry): Take a GError, return a
11904 gboolean. Update to use gboolean return values.
11905 (rb_shell_player_do_previous): Delete lots of crazy duplicate
11906 logic. Signal an error on end of playlist. Also signal error if
11907 we're not playing. Move heuristic for replaying the song into
11908 rb_shell_player_cmd_previous.
11909 (rb_shell_player_do_next_with_rating): Signal error on end of
11911 (rb_shell_player_do_next): Return errors.
11912 (rb_shell_player_cmd_previous): Heuristic for restarting song
11913 moved here; the idea is you generally only want that from the GUI.
11914 (rb_shell_player_cmd_play): Handle error.
11915 (rb_shell_player_playpause): Signal errors.
11916 (filter_mmkeys): Use rb_shell_player_cmd_previous and
11917 rb_shell_player_cmd_next in favor of the internal _do functions.
11919 * shell/rb-shell-player.h (enum RBShellPlayerError): Add some
11920 errors. Update prototypes for above changes.
11922 * shell/main.c: More tightly integrate D-BUS; register various
11923 major singleton objects here. Fix handle_cmdline so we only
11924 process extra arguments, not every argument.
11926 * shell/Makefile.am: Generate D-BUS glue headers.
11928 * remote/dbus/rb-remote-dbus.c: Move all the D-BUS service stuff
11929 into shell/main.c. Now this file just acts as a client library.
11930 Not heavily tested.
11932 * remote/bonobo/rb-remote-bonobo.c (bonobo_lock, bonobo_unlock):
11934 (rb_remote_bonobo_init): Move long CORBA rant here along with
11935 setting of lock functions.
11937 * player/rb-player-gst.c (rb_player_construct)
11938 (rb_player_play, rb_player_open, rb_player_close): Return gboolean
11941 * player/rb-player.h: Update prototypes.
11943 * lib/rb-util.c (_rb_threads_lock, _rb_threads_unlock): Moved to
11944 rb-remote-bonobo.c.
11945 (rb_threads_init): Don't set gdk lock functions here.
11947 2005-08-25 James Livingston <jrl@ids.org.au>
11949 Patch from Jonathan Mattnew <jonathan@kaolin.hn.org>
11951 * lib/rb-tree-dnd.c: (rb_tree_dnd_drag_drop_cb):
11952 * lib/rb-tree-dnd.h:
11953 * rhythmdb/rhythmdb-property-model.c:
11954 (rhythmdb_property_model_class_init),
11955 (rhythmdb_property_model_drag_source_init),
11956 (rhythmdb_property_model_iter_parent),
11957 (rhythmdb_property_model_row_draggable),
11958 (rhythmdb_property_model_drag_data_delete), (query_model_cb),
11959 (rhythmdb_property_model_drag_data_get),
11960 (rhythmdb_property_model_enable_drag):
11961 * rhythmdb/rhythmdb-property-model.h:
11962 * shell/rb-playlist-manager.c: (rb_playlist_manager_finalize),
11963 (rb_playlist_manager_set_property), (append_new_playlist_source),
11964 (rb_playlist_manager_save_playlists):
11965 * shell/rb-shell.c: (rb_shell_construct),
11966 (sourcelist_drag_received_cb):
11967 * sources/rb-iradio-source.c: (rb_iradio_source_class_init):
11968 * sources/rb-playlist-source.c: (impl_receive_drag):
11969 * sources/rb-sourcelist-model.c: (rb_sourcelist_model_class_init),
11970 (rb_sourcelist_model_drag_dest_init),
11971 (rb_sourcelist_model_set_dnd_targets),
11972 (rb_sourcelist_model_drag_data_received), (path_is_reorderable),
11973 (rb_sourcelist_model_row_drop_position),
11974 (rb_sourcelist_model_get_drag_target),
11975 (rb_sourcelist_model_drag_data_get):
11976 * sources/rb-sourcelist-model.h:
11977 * sources/rb-sourcelist.c: (rb_sourcelist_class_init),
11978 (rb_sourcelist_init), (rb_sourcelist_get_property),
11979 (rb_sourcelist_selection_changed_cb):
11980 * sources/rb-sourcelist.h:
11981 * widgets/rb-property-view.c: (rb_property_view_constructor): Greatly
11982 improve drag-n-drop support. Allow dragging of item from property
11983 views to the source list, to create new automatic playlists. Allow
11984 playlist re-ordering. Fix dragging from Rhythmbox to other
11985 applications. (Closes bug 147337)
11987 2005-08-24 Colin Walters <walters@verbum.org>
11989 Patch from Olivier Blin <oblin@mandriva.com>
11991 * widgets/eggnotificationbubble.c (draw_bubble): Draw triangle
11992 correctly in the case where the window is next to monitor edge.
11994 2005-08-24 James Livingston <jrl@ids.org.au>
11996 * sources/rb-playlist-source.c: (rb_playlist_source_class_init),
11997 (rb_playlist_source_get_property), (rb_playlist_source_do_query): add
11998 a gobject property to get the query model that backs the playlist.
12000 2005-08-24 James Livingston <jrl@ids.org.au>
12002 * shell/rb-playlist-manager.c: (rb_playlist_manager_set_property),
12003 (handle_playlist_entry_into_playlist_cb),
12004 (rb_playlist_manager_playlist_entries_changed): Disable the "create
12005 audio cd" menu item when a non-playlist source is selected, or the
12006 playlist is empty. (Closes Bug 313253)
12008 2005-08-24 James Livingston <jrl@ids.org.au>
12010 * sources/rb-playlist-source.c: (rb_playlist_source_burn_playlist):
12011 Fix the playlist length checkso it doesn't report 0 for automatic
12012 playlists. This was stopping automati playlists being burnt to cd.
12014 2005-08-24 James Livingston <jrl@ids.org.au>
12017 * sources/rb-playlist-source-recorder.c: (burn_cd):
12018 * sources/rb-playlist-source.c:
12019 (rb_playlist_source_songs_sort_order_changed_cb):
12020 * widgets/rb-query-creator.c: (rb_query_creator_dispose): Fix some
12021 more warnings that occur when compiling RPMs on Fedora.
12023 2005-08-24 James Livingston <jrl@ids.org.au>
12025 * rhythmdb/rhythmdb.c: (set_props_from_metadata): Fix a warning that
12026 was stopping some distros gcc version compiling.
12028 2005-08-24 James Livingston <jrl@ids.org.au>
12031 * data/glade/create-playlist.glade:
12032 * rhythmdb/rhythmdb-tree.c: (evaluate_conjunctive_subquery):
12033 * rhythmdb/rhythmdb.c: (rhythmdb_query_parse_valist),
12034 (rhythmdb_query_free), (rhythmdb_query_serialize),
12035 (rhythmdb_query_deserialize), (rhythmdb_query_get_type):
12036 * rhythmdb/rhythmdb.h:
12037 * shell/rb-playlist-manager.c:
12038 (rb_playlist_manager_set_automatic_playlist),
12039 (rb_playlist_manager_cmd_edit_automatic_playlist):
12040 * sources/rb-playlist-source.c: (rb_playlist_source_constructor),
12041 (rb_playlist_source_set_query), (rb_playlist_source_get_query),
12042 (impl_receive_drag), (rb_playlist_source_new_from_xml),
12043 (rb_playlist_source_save_to_xml),
12044 (rb_playlist_source_songs_sort_order_changed_cb),
12045 (rb_playlist_source_do_query):
12046 * sources/rb-playlist-source.h:
12047 * widgets/Makefile.am:
12048 * widgets/rb-entry-view.c: (rb_entry_view_get_sorting_order),
12049 (rb_entry_view_set_sorting_order):
12050 * widgets/rb-query-creator-private.h:
12051 * widgets/rb-query-creator-properties.c:
12052 (stringCriteriaCreateWidget), (stringCriteriaSetWidgetData),
12053 (stringCriteriaGetWidgetData),
12054 (escapedStringCriteriaSetWidgetData),
12055 (escapedStringCriteriaGetWidgetData), (set_rating_score),
12056 (ratingCriteriaCreateWidget), (ratingCriteriaSetWidgetData),
12057 (ratingCriteriaGetWidgetData), (integerCriteriaCreateWidget),
12058 (integerCriteriaSetWidgetData), (integerCriteriaGetWidgetData),
12059 (durationCriteriaCreateWidget), (durationCriteriaSetWidgetData),
12060 (durationCriteriaGetWidgetData), (create_time_unit_option_menu),
12061 (relativeTimeCriteriaCreateWidget),
12062 (relativeTimeCriteriaSetWidgetData),
12063 (relativeTimeCriteriaGetWidgetData):
12064 * widgets/rb-query-creator.c: (rb_query_creator_get_type),
12065 (rb_query_creator_class_init), (rb_query_creator_constructor),
12066 (rb_query_creator_dispose), (rb_query_creator_set_property),
12067 (rb_query_creator_get_property), (rb_query_creator_load_query),
12068 (rb_query_creator_set_sorting), (rb_query_creator_new_from_query),
12069 (get_entry_for_property), (rb_query_creator_get_query),
12070 (rb_query_creator_get_limit), (rb_query_creator_get_sort_order),
12071 (limit_toggled_cb), (lookup_row_by_widget),
12072 (remove_button_click_cb), (append_row),
12073 (get_property_index_from_proptype), (select_criteria_from_value),
12074 (property_option_menu_changed), (create_property_option_menu),
12075 (create_criteria_option_menu), (sort_option_menu_changed),
12076 (setup_sort_option_menu):
12077 * widgets/rb-query-creator.h: A fairly huge patch to improve automatic
12078 playlists. The two most notable improvements are 1) adding more
12079 properties to the query creator, making it much easier to add more in
12080 the future, and 2) allow playlists to be sorted, from the query editor
12081 if they gave limits, and by clicking on column headers if they don't.
12083 Files added: widgets/rb-query-creator-private.h,
12084 sources/rb-query-creator-properties.c
12086 2005-08-21 James Livingston <jrl@ids.org.au>
12088 * player/rb-player-gst.c: (error_cb): ignore any playbin errors, where
12089 error=NULL. This stops some crashes.
12091 2005-08-19 Colin Walters <walters@verbum.org>
12093 Patch from Olivier Blin <oblin@mandriva.com>
12095 * widgets/eggnotificationbubble.c (force_window): Support top
12097 * widgets/eggnotificationbubble.h: Remove
12098 egg_notification_bubble_force_window from header.
12100 2005-08-18 James Livingston <jrl@ids.org.au>
12102 * NEWS: Give a bit of detail on the major changes in 0.9.0, and update
12103 with the changes since then.
12105 2005-08-17 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
12107 * shell/rb-shell-player.c: (rb_shell_player_init),
12108 (rb_shell_player_sync_volume), (rb_shell_player_volume_changed_cb),
12109 (rb_shell_player_volume_widget_changed_cb):
12110 * sources/rb-iradio-source.c:
12111 * sources/rb-library-source.c:
12112 * sources/rb-playlist-source.c:
12113 * widgets/Makefile.am:
12114 * widgets/bacon-volume.c: (bacon_volume_button_get_type),
12115 (bacon_volume_button_class_init), (bacon_volume_button_init),
12116 (bacon_volume_button_dispose), (bacon_volume_button_new),
12117 (bacon_volume_button_get_value), (bacon_volume_button_set_value),
12118 (bacon_volume_button_scroll), (bacon_volume_button_press),
12119 (cb_button_timeout), (cb_button_press), (cb_button_release),
12120 (bacon_volume_release_grab), (cb_dock_press),
12121 (bacon_volume_scale_get_type), (bacon_volume_scale_class_init),
12122 (bacon_volume_scale_new), (bacon_volume_scale_press),
12123 (bacon_volume_scale_release), (bacon_volume_scale_value_changed):
12124 * widgets/bacon-volume.h:
12125 * widgets/rb-volume.c:
12126 * widgets/rb-volume.h:
12127 Use BaconVolumeButton (#300867).
12129 2005-08-17 James Livingston <jrl@ids.org.au>
12131 * rhythmdb/rhythmdb.c: (set_props_from_metadata),
12132 (rhythmdb_process_metadata_load): don't reset the First Seen time
12133 whenever we recheck the metadata.
12135 2005-08-17 James Livingston <jrl@ids.org.au>
12137 * sources/rb-playlist-source.c: (rb_playlist_source_burn_playlist):
12138 temporary workaround to stop crashes when trying to burn an empty
12139 playlist. Doesn't disable the menu item which is the better solution
12142 2005-08-15 James Livingston <jrl@ids.org.au>
12144 * shell/rb-source-header.c: (rb_source_header_init),
12145 (rb_source_header_sync_control_state),
12146 (rb_source_header_search_activate_cb):
12147 * widgets/rb-entry-view.c: (rb_entry_view_class_init),
12148 (rb_entry_view_poll_model), (rb_entry_view_grab_focus):
12149 * widgets/rb-search-entry.c: (rb_search_entry_class_init),
12150 (rb_search_entry_init), (rb_search_entry_searching),
12151 (rb_search_entry_activate_cb):
12152 * widgets/rb-search-entry.h: Move focus to the entry view when user
12153 presses enter in the search box. Patch from Paolo Borelli
12154 <pborelli@katamail.com> (Closes bug 128110)
12156 2005-08-15 James Livingston <jrl@ids.org.au>
12158 * shell/rb-playlist-manager.c: (rb_playlist_manager_class_init),
12159 (rb_playlist_manager_new_playlist):
12160 * shell/rb-playlist-manager.h:
12161 * shell/rb-shell.c: (rb_shell_construct),
12162 (rb_shell_playlist_added_cb), (rb_shell_playlist_created_cb): Force
12163 the source list to be shown when a new playlist is created. (Closes
12166 2005-08-15 James Livingston <jrl@ids.org.au>
12168 * widgets/rb-header.c: (rb_header_init),
12169 (rb_header_set_show_timeline): disable the seek slider, rather than
12170 hiding it, which more closely follows the HIG. (Closes bug 139102)
12172 2005-08-13 Colin Walters <walters@verbum.org>
12174 * shell/rb-shell.c (rb_shell_playing_entry_changed_cb): Use
12175 rb_shell_hidden_notify.
12176 (rb_shell_hidden_notify): Notify if the shell is hidden.
12177 (rb_shell_set_visibility_impl): Debug goo.
12179 * shell/rb-shell.h: Export rb_shell_hidden_notify.
12181 * shell/rb-tray-icon.c (rb_tray_icon_hide_notify_cb): Show Rhythmbox
12182 when the user clicks on notification.
12184 * sources/rb-playlist-source-recorder.c (burn_cd): Notify when
12185 CD burn is complete.
12186 (rb_playlist_source_recorder_finalize): Unref shell.
12187 (rb_playlist_source_recorder_new): Take shell.
12189 * sources/rb-playlist-source.c (rb_playlist_source_burn_playlist):
12190 Pass shell to RBPlaylistSourceRecorder.
12192 2005-08-13 Colin Walters <walters@verbum.org>
12195 * lib/rb-thread.h: Not used yet, but put in CVS in case we get
12198 2005-08-13 Colin Walters <walters@verbum.org>
12200 * widgets/eggnotificationbubble.h:
12201 * widgets/eggnotificationbubble.c: New files, will likely go in libegg.
12202 * widgets/eggtrayicon.c:
12203 * widgets/eggtrayicon.h: Add notification API.
12204 * shell/rb-tray-icon.c:
12205 * shell/rb-tray-icon.h: Add notification API.
12206 * shell/rb-shell.c: Notify on song change.
12208 2005-08-12 Raphael Slinckx <rslinckx@cvs.gnome.org>
12210 * sources/rb-ipod-source.c: (rb_ipod_unplugged):
12211 Correct an inversion of two lines causing NULL to be unreffed
12213 ============ Version 0.9.0
12215 2005-08-10 Bastien Nocera <hadess@hadess.net>
12217 * configure.ac: 0.9.0, whee!
12218 * NEWS: badly updated
12219 * remote/bonobo/Makefile.am:
12220 * remote/bonobo/rb-remote-bonobo.h:
12221 * shell/Makefile.am:
12222 * shell/main.c: make distcheck fixes