1 2006-05-16 James Livingston <doclivingston@gmail.com>
3 * bindings/python/rhythmdb.defs:
4 * bindings/python/rhythmdb.override: give rhythmdb.query_model_new
5 some parametre defaults, so you don't have to pass None, False for the
8 2006-05-16 Jonathan Matthew <jonathan@kaolin.wh9.net>
10 * bindings/python/rhythmdb.defs:
11 * rhythmdb/rhythmdb-query-model.c:
12 (rhythmdb_query_model_compute_status_normal):
13 * rhythmdb/rhythmdb-query-model.h:
14 * rhythmdb/rhythmdb.c: (rhythmdb_compute_status_normal):
15 * rhythmdb/rhythmdb.h:
16 Change the various compute_status methods to accept a singular/plural
17 pair to use in the status string.
19 * sources/rb-podcast-source.c: (rb_podcast_source_class_init),
20 (rb_podcast_source_cmd_new_podcast), (impl_get_status):
21 * sources/rb-source.c: (default_get_status):
22 Call entries 'songs' by default, and 'episodes' in the podcast source.
25 2006-05-16 Jonathan Matthew <jonathan@kaolin.wh9.net>
29 * plugins/ipod/Makefile.am: add $(plugin_in_files) to EXTRA_DIST.
32 2006-05-16 Jonathan Matthew <jonathan@kaolin.wh9.net>
34 * rhythmdb/rhythmdb-query-model.c: (apply_updated_entry_sequence):
35 Generate reorder maps correctly.
36 * widgets/rb-entry-view.c: (rb_entry_view_rows_reordered_cb):
37 Scroll to the first entry from the old selection.
40 2006-05-15 William Jon McCann <mccann@jhu.edu>
42 * data/ui/rhythmbox-ui.xml:
43 * lib/rb-preferences.h:
44 * shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor),
45 (rb_shell_playlist_created_cb),
46 (rb_shell_view_sidepane_changed_cb),
47 (rb_shell_sync_sidepane_visibility),
48 (rb_shell_sync_pane_visibility), (rb_shell_sync_smalldisplay),
49 (sidepane_visibility_changed_cb):
50 * sources/rb-podcast-source.c:
51 Convert sourcelist visibility to side-pane visbility.
54 2006-05-15 Jonathan Matthew <jonathan@kaolin.wh9.net>
56 * widgets/rb-header.c:
57 * widgets/rb-header.h: Stop RBHeader from referring to itself as
58 'player', and make it use the private data structure allocated for it.
60 2006-05-15 Jonathan Matthew <jonathan@kaolin.wh9.net>
62 * configure.ac: enable metadata helper with dbus < 0.35.
64 2006-05-15 James Livingston <doclivingston@gmail.com>
66 patch by: Alex Lancaster <alexl@users.sourceforge.net>
68 * data/glade/song-info.glade:
69 * widgets/rb-song-info.c: (rb_song_info_construct_single),
70 (rb_song_info_populate_dialog), (rb_song_info_update_duration),
71 (rb_song_info_update_filesize): Add the file size into the song info
72 window. Fixes bug 340861.
74 2006-05-14 Jonathan Matthew <jonathan@kaolin.wh9.net>
76 * bindings/python/rhythmdb.defs:
77 * rhythmdb/rhythmdb-query-model.c:
78 (rhythmdb_query_model_set_property),
79 (rhythmdb_query_model_new_empty), (rhythmdb_query_model_chain):
80 * rhythmdb/rhythmdb-query-model.h:
81 Add a new method to chain query models without importing entries from
82 the parent into the child. This is useful when the subset of entries
83 in the child can be more easily determined by running a query than by
84 filtering entries from the parent.
86 * bindings/python/rb.defs:
87 * widgets/rb-library-browser.c: (rb_library_browser_class_init),
88 (rb_library_browser_set_property),
89 (rb_library_browser_get_property), (rb_library_browser_new),
90 (rebuild_child_model):
91 * widgets/rb-library-browser.h:
92 * sources/rb-auto-playlist-source.c:
93 (rb_auto_playlist_source_constructor):
94 * sources/rb-static-playlist-source.c:
95 (rb_static_playlist_source_constructor):
96 * sources/rb-browser-source.c: (rb_browser_source_constructor):
97 Use more efficient queries for constructing the browser query model
98 chain. Include the entry type at each level (allowing the rhythmdb-tree
99 backend to optimise the query) and run new queries rather than
100 filtering entries from the parent. Fixes #341402.
102 * configure.ac: remove reference to rhythmbox.pc that I missed earlier.
104 2006-05-14 Jonathan Matthew <jonathan@kaolin.wh9.net>
108 * shell/main.c: (main), (load_uri_args), (send_present_message),
109 (unregister_dbus_handler), (handle_dbus_message),
110 (register_dbus_handler):
111 Add minimal support for dbus 0.31 - 0.35.
113 * doc/reference/Makefile.am:
114 * doc/reference/rhythmbox.types:
116 * data/GNOME_Rhythmbox.server.in:
117 * data/rhythmbox.pc.in:
120 Remove remaining bonobo and generic remote interface files.
122 2006-05-14 James Livingston <doclivingston@gmail.com>
124 * shell/rb-shell.c: (construct_widgets):
125 * sources/rb-browser-source.c: (rb_browser_source_constructor): Never
126 resize the browser and queue-sidebar section of their panes, unless
127 the other section is below the minimum size. Fixes bug 331927.
129 2006-05-13 James Livingston <doclivingston@gmail.com>
131 * rhythmdb/rhythmdb-query-model.c:
132 (rhythmdb_query_model_class_init),
133 (rhythmdb_query_model_set_property),
134 (rhythmdb_query_model_get_property),
135 (rhythmdb_query_model_finalize), (rhythmdb_query_model_new),
136 (rhythmdb_query_model_insert_into_main_list),
137 (rhythmdb_query_model_insert_into_limited_list),
138 (rhythmdb_query_model_do_reorder),
139 (rhythmdb_query_model_set_sort_order), (_reverse_sorting_func),
140 (rhythmdb_query_model_location_sort_func),
141 (rhythmdb_query_model_title_sort_func),
142 (rhythmdb_query_model_album_sort_func),
143 (rhythmdb_query_model_artist_sort_func),
144 (rhythmdb_query_model_genre_sort_func),
145 (rhythmdb_query_model_track_sort_func),
146 (rhythmdb_query_model_double_ceiling_sort_func),
147 (rhythmdb_query_model_ulong_sort_func),
148 (rhythmdb_query_model_date_sort_func),
149 (rhythmdb_query_model_string_sort_func):
150 * rhythmdb/rhythmdb-query-model.h: Make the sorting data be a gpointer
151 instead of a RhythmDBPropType (which can be put in a gpointer). Add a
152 "data destroy" property. Fixed bug 341543.
154 * bindings/python/rhythmdb.defs:
155 * bindings/python/rhythmdb.override: bind rhythmdb_query_model_new and
156 rhythmdb_query_model_set_sorting_order
158 * rhythmdb/rhythmdb-property-model.c:
159 (rhythmdb_property_model_drag_data_get):
160 * sources/rb-import-errors-source.c:
161 (rb_import_errors_source_constructor):
162 * sources/rb-missing-files-source.c:
163 (rb_missing_files_source_constructor):
164 * widgets/rb-entry-view.c: (rb_entry_view_append_column),
165 (rb_entry_view_append_column_custom), (rb_entry_view_resort_model):
166 * widgets/rb-entry-view.h: adapt to the above change.
168 2006-05-13 Jonathan Matthew <jonathan@kaolin.wh9.net>
170 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
171 (rhythmdb_tree_load):
172 Commit loaded entries in batches, rather than individually.
173 More startup time reduction.
175 2006-05-12 Ryan P Skadberg <skadz@stigmata.org>
177 * doc/reference/Makefile.am: fix gtk-doc compilation
179 2006-05-12 William Jon McCann <mccann@jhu.edu>
181 * plugins/artdisplay/artdisplay/AmazonCoverArtSearch.py:
182 * plugins/artdisplay/artdisplay/CoverArtDatabase.py:
183 * plugins/artdisplay/artdisplay/Loader.py:
184 Correct fallback to medium size. Convert & to "and" when doing comparisons.
185 Only call the first artist the best match when album==Unknown.
186 Don't perform each query twice if album doesn't include "Vol N".
187 Fix searching for compilations. Fix blacklisting.
190 2006-05-12 William Jon McCann <mccann@jhu.edu>
193 * bindings/python/Makefile.am:
194 * bindings/python/rb.defs:
195 * bindings/python/rb.override:
197 * doc/reference/Makefile.am:
198 * plugins/Makefile.am:
199 * plugins/audioscrobbler/Makefile.am:
200 * plugins/ipod/Makefile.am:
201 * plugins/lirc/Makefile.am:
202 * plugins/lirc/rb-lirc-plugin.c: (rb_lirc_plugin_read_code),
203 (impl_activate), (impl_deactivate):
204 * plugins/sample/Makefile.am:
205 * remote/Makefile.am:
207 * shell/main.c: (main), (main_shell_weak_ref_cb):
208 * shell/rb-shell.c: (rb_shell_class_init), (rb_shell_set_property),
209 (rb_shell_get_property), (rb_shell_window_state_cb),
210 (idle_hide_mainwindow), (rb_shell_set_visibility),
211 (rb_shell_playing_entry_changed_cb), (tray_destroy_cb),
212 (rb_shell_set_song_property):
214 * shell/rb-tray-icon.c: (rb_tray_icon_class_init),
215 (rb_tray_icon_sync_action), (rb_tray_icon_set_property),
216 (rb_tray_icon_get_property), (rb_tray_icon_new),
217 (rb_tray_icon_button_press_event_cb),
218 (rb_tray_icon_scroll_event_cb), (rb_tray_icon_drop_cb),
219 (rb_tray_icon_show_window_changed_cb):
220 * shell/rb-tray-icon.h:
222 Remove bonobo, require DBUS.
223 Patch from Jonathan Matthew <jonathan@kaolin.wh9.net>
226 2006-05-13 James Livingston <doclivingston@gmail.com>
228 * bindings/python/rb.override: fix some pointer-type warnings
230 2006-05-12 James Livingston <doclivingston@gmail.com>
232 * lib/rb-util.c: (rb_value_free):
233 * lib/rb-util.h: Add function to unset and free a GValue* that was
234 allocated in the heap.
236 * metadata/rb-metadata-dbus-client.c: (rb_metadata_load): don't leak
237 the metadata hastable values
238 * metadata/rb-metadata-dbus-service.c: (rb_metadata_dbus_save): don't
239 leak the metadata hashtable structure
240 * metadata/rb-metadata-dbus.c:
241 (rb_metadata_dbus_read_from_message):use g_value_set_string instead of
242 using g_strdup and then _take_string
244 * rhythmdb/rhythmdb.c: (rhythmdb_start_action_thread),
245 (rhythmdb_execute_stat): Don't leak the GnomeVFSURIs every time we
248 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_do_handshake): don't
249 leak the encoded string
251 * widgets/rb-property-view.c:
252 (rb_property_view_selection_changed_cb): set some variables to have
253 inital values, because some code paths may not set them before we use
256 * plugins/rb-plugins-engine.c: (rb_plugins_engine_load): turn the "you
257 don't have python warning into a debug message".
259 2006-05-10 William Jon McCann <mccann@jhu.edu>
261 * data/rhythmbox.schemas: Use zero instead of null for
262 default burn speed. Fixes #341283.
264 2006-05-10 Jonathan Matthew <jonathan@kaolin.wh9.net>
266 * bindings/python/rb.defs:
267 * widgets/rb-library-browser.c:
268 (rb_library_browser_get_property_view):
269 * widgets/rb-library-browser.h:
270 Add a method to get the property view for a given property.
272 * sources/rb-browser-source.c:
273 (rb_browser_source_cmd_choose_genre),
274 (rb_browser_source_cmd_choose_artist),
275 (rb_browser_source_cmd_choose_album):
276 Change the browser selection by changing the property view selection.
277 Makes the selection change visible, fixing #331740.
279 2006-05-10 Jonathan Matthew <jonathan@kaolin.wh9.net>
281 * bindings/python/rb.defs:
282 * bindings/python/rb.override:
283 * rhythmdb/rhythmdb.c: (rhythmdb_is_busy):
284 * shell/rb-statusbar.c: (*),
285 * sources/rb-import-errors-source.c: (impl_get_status):
286 * sources/rb-iradio-source.c: (impl_get_status):
287 * sources/rb-missing-files-source.c: (impl_get_status):
288 * sources/rb-source.c: (default_get_status),
289 (rb_source_get_status):
290 * sources/rb-source.h:
291 Allow sources to provide a progress value for the status bar.
292 Simplify status bar processing (much less polling).
293 Consider rhythmdb busy while it's still loading the database.
295 * daapsharing/rb-daap-connection.c: (*)
296 * daapsharing/rb-daap-connection.h:
297 * lib/rb-marshal.list:
298 * sources/rb-daap-source.c: (rb_daap_source_class_init),
299 (rb_daap_source_init), (connection_connecting_cb),
300 (rb_daap_source_activate), (rb_daap_source_get_paned_key),
301 (rb_daap_source_get_status):
302 Provide status information for DAAP connections, and move processing
303 of large responses into a separate thread.
304 Fixes bugs #322020 and #338978.
306 2006-05-09 James Livingston <doclivingston@gmail.com>
308 Split the artdisplay plugin into several files.
309 Fix loader and amazon-search re-use issues.
310 Add some better search heuristics.
313 * plugins/artdisplay/Makefile.am:
314 * plugins/artdisplay/artdisplay.py:
315 * plugins/artdisplay/artdisplay/AmazonCoverArtSearch.py:
316 * plugins/artdisplay/artdisplay/CoverArtDatabase.py:
317 * plugins/artdisplay/artdisplay/Loader.py:
318 * plugins/artdisplay/artdisplay/Makefile.am:
319 * plugins/artdisplay/artdisplay/__init__.py:
321 2006-05-09 James Livingston <doclivingston@gmail.com>
323 * sources/rb-browser-source.h: remove the _has_first_added_column
324 stuff since it isn't actually used anywhere. Sources that want it
325 should just add it themselves, as the library already does
327 * bindings/python/rb.defs:
328 * sources/rb-daap-source.c: (rb_daap_source_class_init):
329 * sources/rb-library-source.c: (rb_library_source_class_init):
330 * sources/rb-removable-media-source.c:
331 (rb_removable_media_source_class_init): Remove the remanants of the
334 2006-05-09 James Livingston <doclivingston@gmail.com>
336 * bindings/python/rb.defs:
337 * sources/rb-browser-source.h: remove a function that was declared in
338 the header, but not defined anywhere.
340 2006-05-09 Jonathan Matthew <jonathan@kaolin.wh9.net>
342 * plugins/artdisplay/.cvsignore:
343 * plugins/ipod/.cvsignore: Added.
345 2006-05-09 Jonathan Matthew <jonathan@kaolin.wh9.net>
347 * sources/rb-auto-playlist-source.c:
348 (rb_auto_playlist_source_new_from_xml):
349 Fix reading of older playlist files where all three limits were
350 specified so we take the first nonzero limit. From #341053.
352 2006-05-09 James Livingston <doclivingston@gmail.com>
354 * bindings/python/Makefile.am:
355 * bindings/python/rb.defs:
356 * bindings/python/rb.override: bind RBBrowserSource,
357 RBRemovableMediaSource and RBRemovableMediamanager.
359 2006-05-09 James Livingston <doclivingston@gmail.com>
361 patch by: Baptiste Mille-Mathias <bmm80@free.fr>
363 * data/glade/plugins.glade: make the plugin dialog look a bit better.
366 2006-05-09 Jonathan Matthew <jonathan@kaolin.wh9.net>
368 * widgets/rb-query-creator.c: (rb_query_creator_load_query):
369 Don't explode when trying to edit a query with no limit set.
371 2006-05-09 Jonathan Matthew <jonathan@kaolin.wh9.net>
373 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_song_changed_cb):
374 Clear the should_queue flag when switching to a non-submittable entry,
375 so we don't submit songs that played for three seconds before
376 switching to a podcast episode.
378 * rhythmdb/rhythmdb-query-model.c
379 (rhythmdb_query_model_drag_data_get): Don't try to include NULL uris
380 in the drag data list.
382 2006-05-08 James Livingston <doclivingston@gmail.com>
384 * lib/rb-util.c: (rb_value_array_append_data):
385 * lib/rb-util.h: add function which is basically a combination of
386 G_VALUE_COLLECT and g_value_array_append.
388 * rhythmdb/rhythmdb-query-model.h:
389 * rhythmdb/rhythmdb-query-model.c:
390 (rhythmdb_query_model_class_init),
391 (rhythmdb_query_model_set_property),
392 (rhythmdb_query_model_get_property),
393 (rhythmdb_query_model_finalize),
394 (rhythmdb_query_model_update_limited_entries),
395 (rhythmdb_query_model_set_sort_order),
396 (rhythmdb_query_model_within_limit),
397 (rhythmdb_query_model_limit_type_get_type): Make query model limits
398 saner. Rather than having <count=N, time=N, size=N> we now have a
399 <type, value> pair. This will also make it much easier to add new
400 limit types in the future.
402 * shell/rb-playlist-manager.c:
403 (rb_playlist_manager_set_automatic_playlist),
404 (rb_playlist_manager_cmd_edit_automatic_playlist):
405 * sources/rb-auto-playlist-source.c:
406 (rb_auto_playlist_source_finalize),
407 (rb_auto_playlist_source_new_from_xml), (impl_receive_drag),
408 (_save_write_ulong), (_save_write_uint64),
409 (impl_save_contents_to_xml), (rb_auto_playlist_source_do_query),
410 (rb_auto_playlist_source_set_query),
411 (rb_auto_playlist_source_get_query):
412 * sources/rb-auto-playlist-source.h:
413 * sources/rb-library-source.c:
414 (rb_library_source_add_child_source):
415 * sources/rb-psp-source.c: (visit_playlist_dirs):
416 * widgets/rb-query-creator.c: (rb_query_creator_load_query),
417 (rb_query_creator_new_from_query), (rb_query_creator_get_limit):
418 * widgets/rb-query-creator.h: Adapt to the above change.
420 2006-05-08 James Livingston <doclivingston@gmail.com>
422 * shell/rb-playlist-manager.c:
423 (rb_playlist_manager_cmd_edit_automatic_playlist):
424 * sources/rb-auto-playlist-source.c: (impl_save_contents_to_xml),
425 (rb_auto_playlist_source_set_query),
426 (rb_auto_playlist_source_get_query): copy the query in the _get method
427 and free it in things calling that. Fixes a crasher.
429 2006-05-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
431 * rhythmdb/rhythmdb.c: (entry_volume_mounted_or_unmounted):
432 Make entries on newly mounted volumes visible immediately, hiding them
433 later if they turn out to be missing. Fixes #340068.
435 2006-05-07 Jonathan Matthew <jonathan@kaolin.wh9.net>
437 * metadata/rb-metadata-gst.c: (rb_metadata_finalize):
438 Ignore zip files and ignore errors for files we've decided to ignore.
440 2006-05-07 Jonathan Matthew <jonathan@kaolin.wh9.net>
442 * sources/rb-ipod-source.c: (hal_udi_is_ipod):
443 Add missing }, should fix #340844.
445 2006-05-06 James Livingston <doclivingston@gmail.com>
447 * plugins/artdisplay/artdisplay.py: fade between covers, and fix a
450 2006-05-06 James Livingston <doclivingston@gmail.com>
452 * widgets/eggtrayicon.c: (egg_tray_icon_notify): fix version check so
453 that we work with libnotify >= 0.4
455 2006-05-06 James Livingston <doclivingston@gmail.com>
457 patch by: Joe Barnett <thejoe@gmail.com>
459 * configure.ac: check if we're using a version of libgpod that
460 supports the Motorola ROKR
462 * sources/rb-ipod-source.c: (rb_ipod_get_itunesdb_path): ask libgpod
463 for the db path, if we using the newer version.
465 (rb_ipod_volume_has_ipod_db): detect Motorola ROKR phones.
467 2006-05-05 Jonathan Matthew <jonathan@kaolin.wh9.net>
469 * rhythmdb/rhythmdb-query-model.c:
470 (rhythmdb_query_model_drag_data_get):
471 Use playback URI, not location, for drag data. Fixes #322597.
473 2006-05-03 Dennis Cranston <dennis_cranston@yahoo.com>
475 * data/glade/general-prefs.glade: HIG fixes from bug 340588.
477 2006-05-03 James Livingston <doclivingston@gmail.com>
479 * metadata/rb-metadata-gst.c: (rb_add_flac_tagger),
480 (rb_add_id3_tagger), (rb_metadata_save):
481 Set the tags on the tagging element when it is
482 created, not during pipeline creation - which is required for
483 dynamically created elements.
485 (ogg_pad_added_cb), (rb_add_ogg_tagger), (rb_metadata_init): add
486 support for using the "vorbistag" element to re-tag ogg vorbis files.
489 2006-05-03 James Livingston <doclivingston@gmail.com>
491 patch by: Martin Szulecki <gnomebugzilla@sukimashita.com>
493 * plugins/artdisplay/artdisplay.py:
494 - Fix small bug callback of data loader getting overwritten on fast
496 - Add asynchronous loading with gnomevfs and urllib fallback (thx to
498 - Fix Rhythmbox UI blocking while loading/searching cover art
499 - Split logic into CoverArtDatabase, AmazonCoverArtSearch
500 - Initial approach to allow additional "art search engines"
501 - Further modularization in a couple of places
502 - Minor fixes for empty entries (iradio, album, artist etc.)
504 2006-05-03 James Livingston <doclivingston@gmail.com>
506 * shell/rb-playlist-manager.c:
507 (rb_playlist_manager_playlist_entries_changed),
508 (rb_playlist_manager_set_source): don't show the edit/delete/rename
509 options for non-local sources, rather than showing disabled ones.
511 * sources/rb-library-source.c: (add_child_sources_idle),
512 (rb_library_source_constructor), (rb_library_source_new),
513 (rb_library_source_library_location_changed),
514 (rb_library_source_add_child_source),
515 (rb_library_source_sync_child_sources): Create "child library" sources
516 when the user has multiple library locations set. Fixes bug 100552.
518 2006-05-03 Jonathan Matthew <jonathan@kaolin.wh9.net>
520 * plugins/rb-plugins-engine.c: (rb_plugins_engine_load):
521 * plugins/sample/sample.rb-plugin.desktop.in:
522 Finish changing 'Author' to 'Authors'
524 * rhythmdb/rhythmdb.c: (_get_import_error_playback_uri),
525 (rhythmdb_entry_import_error_get_type):
526 Implement get_playback_uri for import errors (returns NULL)
528 * shell/rb-shell-player.c: (rb_shell_player_entry_activated_cb):
529 Use rhythmdb_entry_get_playback_uri to figure out if we can play the
530 entry, rather than doing entry type checks.
532 2006-05-02 James Livingston <doclivingston@gmail.com>
534 patch from Alessandro Decina <alessandro@nnva.org>
536 * backends/gstreamer/rb-encoder-gst.c: (rb_encoder_gst_encode): fix
537 the signal emission in the case of fatal-on-init errors. From bug
540 2006-05-02 James Livingston <doclivingston@gmail.com>
542 * rhythmdb/rhythmdb.h:
543 * rhythmdb/rhythmdb.c: (rhythmdb_entry_allocate),
544 (rhythmdb_entry_finalize), (_get_podcast_playback_uri),
545 (rhythmdb_entry_podcast_post_get_type),
546 (rhythmdb_entry_get_double), (rhythmdb_entry_get_playback_uri): add a
547 virtual function to entry-types for getting the playback URI. From bug
550 * backends/gstreamer/rb-encoder-gst.c:
551 (create_pipeline_and_source), (extract_track):
552 * shell/rb-shell-player.c: (rb_shell_player_open_entry): use the above
555 2006-05-02 James Livingston <doclivingston@gmail.com>
557 patch by: Brian Cameron <brian.cameron@sun.com>
559 * sources/rb-nokia770-source.c: more Solaris build fixes, from bug
562 2006-05-01 William Jon McCann <mccann@jhu.edu>
564 * plugins/artdisplay/artdisplay.py: Use set_from_pixbuf
565 instead of clear. Use regex matching to strip "disc N"
566 from album. Match titles in ProductName. Perform
567 fallback queries including various artist compilations.
568 Include "us" locale. Improve queries when artist or album
569 is unknown. Use medium size image if large is unavailable.
571 patch by: Alex Lancaster <alexl@users.sourceforge.net>,
572 William Jon McCann <mccann@jhu.edu>
574 2006-04-30 Jonathan Matthew <jonathan@kaolin.wh9.net>
576 * rhythmdb/rhythmdb-tree.c: (get_genres_hash_for_type):
577 RhythmDBEntryType is a pointer now, so GINT_TO_POINTER is unnecessary.
578 (conjunctive_query): Sanity check.
579 (evaluate_conjunctive_subquery):
580 Don't return TRUE immediately when a relative-time query criterion
581 matches. Fixes #339972.
583 2006-04-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
585 * widgets/eggtrayicon.c: (egg_tray_icon_notify):
586 Don't crash if primary or secondary are NULL.
588 2006-04-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
590 * doc/reference/Makefile.am: fix gtk-doc build yet again
592 2006-04-28 James Livingston <doclivingston@gmail.com>
594 * plugins/pythonconsole/pythonconsole.py: import "rhythmdb" into the
595 python console. Fixes bug 339934.
597 2006-04-27 Jonathan Matthew <jonathan@kaolin.wh9.net>
599 * rhythmdb/rhythmdb-property-model.c:
600 (rhythmdb_property_model_drag_data_get):
601 When creating uri list drag data, create a new query model based on
602 the query model the property model is attached to. Makes the
603 resulting query use the right entry type and include the upstream
604 query criteria. Fixes half of #327540.
606 2006-04-27 James Livingston <doclivingston@gmail.com>
608 * backends/gstreamer/rb-encoder-gst.c: (encoder_match_mime),
609 (profile_bin_find_encoder), (get_profile_from_mime_type): more gst 0.8
612 2006-04-27 James Livingston <doclivingston@gmail.com>
614 * player/rb-player-gst.c: (error_cb): Fix build with GStreamer 0.8
616 2006-04-27 Jonathan Matthew <jonathan@kaolin.wh9.net>
618 * shell/rb-playlist-manager.c: (rb_playlist_manager_init),
619 (rb_playlist_manager_save_data),
620 (rb_playlist_manager_save_playlists):
621 * shell/rb-playlist-manager.h:
622 * shell/rb-shell.c: (rb_shell_sync_state),
623 (idle_save_playlist_manager):
624 Remove a bit more threading insanity from the playlist manager.
626 2006-04-27 Jonathan Matthew <jonathan@kaolin.wh9.net>
628 * shell/rb-playlist-manager.c:
629 * shell/rb-playlist-manager.h:
630 Remove dead code, add gtk-doc, remove threading insanity (mostly).
632 * shell/rb-shell.c: (rb_shell_sync_state),
633 (idle_save_playlist_manager), (construct_sources),
634 (rb_shell_select_source), (rb_shell_sync_party_mode):
635 Adjustments for above changes.
637 2006-04-26 William Jon McCann <mccann@jhu.edu>
639 * sources/rb-browser-source.c (impl_browser_toggled):
640 Reset browser when hidden. Fixes #339617.
642 2006-04-26 James Livingston <doclivingston@gmail.com>
644 * backends/Makefile.am:
645 * backends/gstreamer/Makefile.am: work again with separated
648 2006-04-26 James Livingston <doclivingston@gmail.com>
650 * shell/rb-removable-media-manager.c:
651 (rb_removable_media_manager_set_uimanager): fix compilation with
652 -Werror and --enable-track-transfer.
654 2006-04-26 James Livingston <doclivingston@gmail.com>
656 Turn RBPlayer into a full gobject interface, with RBPlayerGst as an
657 implementing class. In theory allows alternate player implementations
658 to be selected at run-time rather than compile-time. Fixes bug 338667.
661 * backends/Makefile.am:
662 * backends/gstreamer/Makefile.am:
663 * backends/gstreamer/rb-player-gst.h:
664 * backends/rb-player.c: (rb_player_interface_init),
665 (rb_player_get_type), (rb_player_open), (rb_player_opened),
666 (rb_player_close), (rb_player_play), (rb_player_pause),
667 (rb_player_playing), (rb_player_set_volume),
668 (rb_player_get_volume), (rb_player_set_replaygain),
669 (rb_player_seekable), (rb_player_set_time), (rb_player_get_time),
670 (rb_player_new), (_rb_player_emit_eos), (_rb_player_emit_info),
671 (_rb_player_emit_buffering), (_rb_player_emit_error),
672 (_rb_player_emit_tick), (rb_player_error_quark):
673 * player/Makefile.am:
674 * player/rb-player-gst.c: (rb_player_gst_class_init),
675 (rb_player_init), (tick_timeout), (rb_player_gst_init),
676 (rb_player_gst_finalize), (rb_player_gst_gst_free_playbin),
677 (destroy_idle_signal), (emit_signal_idle), (eos_cb), (error_cb),
678 (process_tag), (found_tag_cb), (buffering_cb),
679 (rb_player_gst_bus_cb), (rb_player_gst_construct),
681 * player/rb-player.h:
683 * sources/rb-audiocd-source.c:
684 * widgets/Makefile.am:
685 * widgets/rb-header.c: (rb_header_class_init):
687 2006-04-26 James Livingston <doclivingston@gmail.com>
689 * podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed):
690 don't try to download an episode if it couldn't be parsed. Fixes bug
693 * shell/rb-removable-media-manager.c:
694 (rb_removable_media_manager_set_uimanager): don't show the "Copy to
695 Library" option when track transfer is disabled. Fixes bug 339728.
697 2006-04-26 James Livingston <doclivingston@gmail.com>
699 * data/ui/Makefile.am:
700 * data/ui/daap-ui.xml:
701 * data/ui/rhythmbox-ui.xml:
702 * sources/rb-daap-source.c: (rb_daap_sources_init),
703 (rb_daap_sources_shutdown): separate the DAAP ui stuff out in the same
704 way that the ipod ui is. Fixes bug 339743.
706 2006-04-26 Jonathan Matthew <jonathan@kaolin.wh9.net>
708 * rhythmdb/rhythmdb.c: (rhythmdb_emit_entry_signals_idle),
709 (process_added_entries_cb), (process_deleted_entries_cb),
710 (rhythmdb_commit_internal):
711 Combine the idle functions to emit entry-added and entry-deleted,
712 and combine as many invocations of same as possible. Another
713 significant reduction in startup time.
715 (rhythmdb_process_events), (rhythmdb_idle_poll_events):
716 Delay the next call to rhythmdb_process_events if the queue is
717 empty or if we can't process any of the events in the queue because
718 the database is read only.
720 This patch brought to you by the numbers 3, 2, 5, 2, 1, and 5.
722 2006-04-25 William Jon McCann <mccann@jhu.edu>
724 * player/rb-recorder-gst.c (rb_recorder_burn): Add debug.
726 * sources/rb-playlist-source-recorder.c (burn_cd_idle, burn_cd):
727 Don't special case errors quite so much.
729 2006-04-25 William Jon McCann <mccann@jhu.edu>
731 * data/rhythmbox.schemas: Remove default speed.
733 * sources/rb-playlist-source-recorder.c (update_speed_combobox):
734 Add n-c-b 2.15 support. Make the default speed to slowest since
735 that is all that works reliably.
737 2006-04-25 William Jon McCann <mccann@jhu.edu>
739 * backends/gstreamer/rb-encoder-gst.c (profile_bin_find_encoder):
740 Fix compiler error from last commit.
742 2006-04-25 James Livingston <doclivingston@gmail.com>
744 patch by Alessandro Decina <alessandro@nnva.org> to fix some
745 transcoding-related issues. From bug 322268.
747 * backends/gstreamer/rb-encoder-gst.c: (rb_encoder_gst_finalize):
748 don't emit the signal, since the object is being finalised, which os a
751 (profile_bin_find_encoder), (get_profile_from_mime_type),
752 (transcode_track): find the encoding element by iterating looking for
753 element in the class Codec/Encoder/Audio rather than the one named
756 2006-04-25 Jonathan Matthew <jonathan@kaolin.wh9.net>
758 * shell/rb-shell-player.xml:
759 * shell/rb-shell.xml:
760 Add signal argument information.
761 Patch by Tim Moloney <t.moloney@verizon.net>
763 * shell/rb-shell.c: (rb_shell_window_state_cb):
764 Use the right value for the visibility_changed signal. Most of the
767 2006-04-25 Jonathan Matthew <jonathan@kaolin.wh9.net>
769 * plugins/audioscrobbler/audioscrobbler.rb-plugin.desktop.in:
770 * plugins/audioscrobbler/rb-audioscrobbler-plugin.c:
771 (impl_create_configure_dialog):
772 * data/glade/audioscrobbler-prefs.glade:
773 * shell/rb-audioscrobbler.c (*):
774 * lib/rb-preferences.h:
775 * data/rhythmbox.schemas:
776 Remove 'audioscrobbler' from the UI, replacing it with 'last.fm'.
777 Add status information (# tracks submitted, # queued, last submit
778 time, result of last submission) to the plugin config window.
779 Remove 'enabled' setting, since it's easier to just disable the
780 plugin. Call the plugin 'last.fm profile', to distinguish it from the
781 nonexistant (so far) 'last.fm streaming' plugin.
783 * help/C/rhythmbox.xml: Update documentation for last.fm profile
786 Fixes some of #325848. We still don't provide a way to view the
789 2006-04-25 James Livingston <doclivingston@gmail.com>
791 patch by: Anders Petersson <demitar@worldforge.org>
793 * podcast/rb-podcast-parse.c: (rb_podcast_parse_date): Parse dates in
796 2006-04-23 James Livingston <doclivingston@gmail.com>
798 * bindings/python/override_common.c: (_helper_wrap_pointer_glist),
799 (_helper_wrap_boxed_gptrarray), (_helper_unwrap_pointer_pylist):
800 * bindings/python/override_common.h:
801 * bindings/python/rb.override: python binding fixes
803 2006-04-23 James Livingston <doclivingston@gmail.com>
805 * shell/rb-statusbar.c: (rb_statusbar_finalize),
806 (rb_statusbar_sync_with_source),
807 (rb_statusbar_source_status_changed_cb): do the sync in an idle
808 callback, rather than immediately every time. Takes ~5% off my warm-cache
811 * bindings/python/rhythmdb.defs: fix the types using for
814 2006-04-22 James Livingston <doclivingston@gmail.com>
816 * data/ui/rhythmbox-ui.xml:
818 * sources/rb-daap-source.c: (rb_daap_source_class_init),
819 (remove_source), (rb_daap_sources_init),
820 (rb_daap_sources_shutdown), (rb_daap_source_cmd_disconnect),
821 (rb_daap_source_disconnect):
822 * sources/rb-source.c: (rb_source_class_init),
823 (rb_source_deactivate):
824 * sources/rb-source.h: move the "disconnect" functionality from into
825 RBSource to RBDaapSource where it belongs. Fixes bug 338464.
827 2006-04-22 James Livingston <doclivingston@gmail.com>
829 * widgets/rb-library-browser.c: (rb_library_browser_constructor):
830 actually get the translated strings for browser headers (they were
831 already marked as translatable). Fixes bug 339380.
833 2006-04-22 James Livingston <doclivingston@gmail.com>
835 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_finalize): remove the
836 submission timeout when the object is finalised.
838 * bindings/python/Makefile.am:
839 * bindings/python/rb.defs:
840 * bindings/python/rb.override:
841 * bindings/python/rhythmdb.defs: fix some python binding stuff.
843 * widgets/rb-library-browser.c:
844 (rb_library_browser_construct_query), (rebuild_output_model),
845 (rebuild_child_model):
846 * widgets/rb-library-browser.h: change from GPtrArray to
847 RhythmDBQuery (which in C is the same thing).
849 2006-04-21 Jonathan Matthew <jonathan@kaolin.wh9.net>
851 * shell/rb-shell.c: (rb_shell_get_song_properties):
852 Don't try to include entry-type (or anything else not easily
853 marshallable) in the song properties hash table.
855 * rhythmdb/rhythmdb.c: (rhythmdb_entry_get): Handle G_TYPE_POINTER
857 * sources/rb-playlist-source.c: (rb_playlist_source_init),
858 (rb_playlist_source_constructor): Fix entry-type initialization as
859 with previous commit.
861 2006-04-21 Jonathan Matthew <jonathan@kaolin.wh9.net>
863 * sources/rb-iradio-source.c: (rb_iradio_source_init),
864 (rb_iradio_source_constructor), (rb_iradio_source_do_query):
865 * sources/rb-podcast-source.c: (rb_podcast_source_init),
866 (rb_podcast_source_constructor):
867 Set default values for entry-type after base class construction,
868 rather than in _init, because gobject will set the entry-type property
869 to NULL after _init if no value is provided. Fixes #339206.
871 2006-04-20 Ryan P Skadberg <skadz@stigmata.org>
873 patch by: Gunnar Steinn Magnusson
876 * backends/gstreamer/rb-encoder-gst.c:
877 * backends/gstreamer/rb-encoder-gst.h:
878 * backends/rb-encoder.c:
879 * backends/rb-encoder.h:
880 * bindings/python/override_common.c:
881 * bindings/python/override_common.h:
882 * daapsharing/rb-daap-connection.c:
883 * daapsharing/rb-daap-connection.h:
884 * daapsharing/rb-daap-dialog.c:
885 * daapsharing/rb-daap-dialog.h:
886 * daapsharing/rb-daap-mdns-browser-avahi.c:
887 * daapsharing/rb-daap-mdns-browser-howl.c:
888 * daapsharing/rb-daap-mdns-browser.h:
889 * daapsharing/rb-daap-mdns-publisher-avahi.c:
890 * daapsharing/rb-daap-mdns-publisher-howl.c:
891 * daapsharing/rb-daap-mdns-publisher.h:
892 * daapsharing/rb-daap-share.c:
893 * daapsharing/rb-daap-share.h:
894 * daapsharing/rb-daap-sharing.c:
895 * daapsharing/rb-daap-sharing.h:
896 * daapsharing/rb-daap-src.c:
897 * daapsharing/rb-daap-src.h:
898 * daapsharing/rb-daap-structure.c:
899 * daapsharing/rb-daap-structure.h:
900 * help/C/fdl-appendix.xml:
902 * help/ja/fdl-appendix.xml:
903 * iradio/rb-new-station-dialog.c:
904 * iradio/rb-new-station-dialog.h:
905 * iradio/rb-station-properties-dialog.c:
906 * iradio/rb-station-properties-dialog.h:
909 * lib/rb-cut-and-paste-code.c:
910 * lib/rb-cut-and-paste-code.h:
913 * lib/rb-file-helpers.c:
914 * lib/rb-file-helpers.h:
915 * lib/rb-glade-helpers.c:
916 * lib/rb-glade-helpers.h:
917 * lib/rb-preferences.h:
918 * lib/rb-proxy-config.c:
919 * lib/rb-stock-icons.c:
920 * lib/rb-stock-icons.h:
927 * metadata/rb-metadata-common.c:
928 * metadata/rb-metadata-dbus-client.c:
929 * metadata/rb-metadata-dbus-service.c:
930 * metadata/rb-metadata-dbus.c:
931 * metadata/rb-metadata-dbus.h:
932 * metadata/rb-metadata-gst.c:
933 * metadata/rb-metadata.h:
934 * metadata/sj-error.c:
935 * metadata/sj-error.h:
936 * metadata/sj-metadata-musicbrainz.c:
937 * metadata/sj-metadata-musicbrainz.h:
938 * metadata/sj-metadata.c:
939 * metadata/sj-metadata.h:
940 * metadata/sj-structures.c:
941 * metadata/sj-structures.h:
942 * metadata/test-metadata.c:
943 * player/rb-player-gst.c:
944 * player/rb-player.h:
945 * player/rb-recorder-gst.c:
946 * player/rb-recorder.h:
947 * plugins/artdisplay/artdisplay.py:
948 * plugins/audioscrobbler/rb-audioscrobbler-plugin.c:
949 * plugins/ipod/rb-ipod-plugin.c:
950 * plugins/lirc/rb-lirc-plugin.c:
951 * plugins/pythonconsole/pythonconsole.py:
952 * plugins/rb-module.c:
953 * plugins/rb-module.h:
954 * plugins/rb-plugin-manager.c:
955 * plugins/rb-plugin-manager.h:
956 * plugins/rb-plugin.c:
957 * plugins/rb-plugin.h:
958 * plugins/rb-plugins-engine.c:
959 * plugins/rb-plugins-engine.h:
960 * plugins/rb-python-module.c:
961 * plugins/rb-python-module.h:
962 * plugins/rb-python-plugin.c:
963 * plugins/rb-python-plugin.h:
964 * plugins/sample/rb-sample-plugin.c:
976 * podcast/rb-feed-podcast-properties-dialog.c:
977 * podcast/rb-feed-podcast-properties-dialog.h:
978 * podcast/rb-new-podcast-dialog.c:
979 * podcast/rb-new-podcast-dialog.h:
980 * podcast/rb-podcast-manager.c:
981 * podcast/rb-podcast-manager.h:
982 * podcast/rb-podcast-parse.c:
983 * podcast/rb-podcast-parse.h:
984 * podcast/rb-podcast-properties-dialog.c:
985 * podcast/rb-podcast-properties-dialog.h:
986 * remote/bonobo/libmain.c:
987 * remote/bonobo/rb-nautilus-context-menu.c:
988 * remote/bonobo/rb-nautilus-context-menu.h:
989 * remote/bonobo/rb-remote-bonobo.c:
990 * remote/bonobo/rb-remote-bonobo.h:
991 * remote/rb-remote-client-proxy.c:
992 * remote/rb-remote-client-proxy.h:
993 * remote/rb-remote-common.c:
994 * remote/rb-remote-common.h:
995 * remote/rb-remote-proxy.c:
996 * remote/rb-remote-proxy.h:
997 * rhythmdb/gsequence.c:
998 * rhythmdb/gsequence.h:
999 * rhythmdb/rb-refstring.c:
1000 * rhythmdb/rb-refstring.h:
1001 * rhythmdb/rhythmdb-gda.c:
1002 * rhythmdb/rhythmdb-gda.h:
1003 * rhythmdb/rhythmdb-private.h:
1004 * rhythmdb/rhythmdb-property-model.c:
1005 * rhythmdb/rhythmdb-property-model.h:
1006 * rhythmdb/rhythmdb-query-model.c:
1007 * rhythmdb/rhythmdb-query-model.h:
1008 * rhythmdb/rhythmdb-query-results.c:
1009 * rhythmdb/rhythmdb-query-results.h:
1010 * rhythmdb/rhythmdb-tree.c:
1011 * rhythmdb/rhythmdb-tree.h:
1012 * rhythmdb/rhythmdb.c:
1013 * rhythmdb/rhythmdb.h:
1015 * shell/rb-audioscrobbler.c:
1016 * shell/rb-audioscrobbler.h:
1017 * shell/rb-history.c:
1018 * shell/rb-history.h:
1019 * shell/rb-play-order-linear-loop.c:
1020 * shell/rb-play-order-linear-loop.h:
1021 * shell/rb-play-order-linear.c:
1022 * shell/rb-play-order-linear.h:
1023 * shell/rb-play-order-queue.c:
1024 * shell/rb-play-order-queue.h:
1025 * shell/rb-play-order-random-by-age-and-rating.c:
1026 * shell/rb-play-order-random-by-age-and-rating.h:
1027 * shell/rb-play-order-random-by-age.c:
1028 * shell/rb-play-order-random-by-age.h:
1029 * shell/rb-play-order-random-by-rating.c:
1030 * shell/rb-play-order-random-by-rating.h:
1031 * shell/rb-play-order-random-equal-weights.c:
1032 * shell/rb-play-order-random-equal-weights.h:
1033 * shell/rb-play-order-random.c:
1034 * shell/rb-play-order-random.h:
1035 * shell/rb-play-order-shuffle.c:
1036 * shell/rb-play-order-shuffle.h:
1037 * shell/rb-play-order.c:
1038 * shell/rb-play-order.h:
1039 * shell/rb-playlist-manager.c:
1040 * shell/rb-playlist-manager.h:
1041 * shell/rb-removable-media-manager.c:
1042 * shell/rb-removable-media-manager.h:
1043 * shell/rb-shell-clipboard.c:
1044 * shell/rb-shell-clipboard.h:
1045 * shell/rb-shell-player.c:
1046 * shell/rb-shell-player.h:
1047 * shell/rb-shell-preferences.c:
1048 * shell/rb-shell-preferences.h:
1051 * shell/rb-source-header.c:
1052 * shell/rb-source-header.h:
1053 * shell/rb-statusbar.c:
1054 * shell/rb-statusbar.h:
1055 * shell/rb-tray-icon.c:
1056 * shell/rb-tray-icon.h:
1057 * sources/rb-audiocd-source.c:
1058 * sources/rb-audiocd-source.h:
1059 * sources/rb-auto-playlist-source.c:
1060 * sources/rb-auto-playlist-source.h:
1061 * sources/rb-browser-source.c:
1062 * sources/rb-browser-source.h:
1063 * sources/rb-daap-source.c:
1064 * sources/rb-daap-source.h:
1065 * sources/rb-generic-player-source.c:
1066 * sources/rb-generic-player-source.h:
1067 * sources/rb-import-errors-source.c:
1068 * sources/rb-import-errors-source.h:
1069 * sources/rb-ipod-source.c:
1070 * sources/rb-ipod-source.h:
1071 * sources/rb-iradio-source.c:
1072 * sources/rb-iradio-source.h:
1073 * sources/rb-library-source.c:
1074 * sources/rb-library-source.h:
1075 * sources/rb-missing-files-source.c:
1076 * sources/rb-missing-files-source.h:
1077 * sources/rb-nokia770-source.c:
1078 * sources/rb-nokia770-source.h:
1079 * sources/rb-play-queue-source.c:
1080 * sources/rb-play-queue-source.h:
1081 * sources/rb-playlist-source-recorder.c:
1082 * sources/rb-playlist-source-recorder.h:
1083 * sources/rb-playlist-source.c:
1084 * sources/rb-playlist-source.h:
1085 * sources/rb-playlist-xml.h:
1086 * sources/rb-podcast-source.c:
1087 * sources/rb-podcast-source.h:
1088 * sources/rb-psp-source.c:
1089 * sources/rb-psp-source.h:
1090 * sources/rb-removable-media-source.c:
1091 * sources/rb-removable-media-source.h:
1092 * sources/rb-source.c:
1093 * sources/rb-source.h:
1094 * sources/rb-sourcelist-model.c:
1095 * sources/rb-sourcelist-model.h:
1096 * sources/rb-sourcelist.c:
1097 * sources/rb-sourcelist.h:
1098 * sources/rb-static-playlist-source.c:
1099 * sources/rb-static-playlist-source.h:
1101 * tests/test-cmdline.c:
1102 * tests/test-rhythmdb-indexing.c:
1103 * tests/test-rhythmdb-query.c:
1104 * tests/test-rhythmdb-simple.c:
1105 * tests/test-rhythmdb-tree-deserialization.c:
1106 * tests/test-rhythmdb-tree-serialization.c:
1107 * tests/test-rhythmdb-view.c:
1108 * widgets/bacon-volume.c:
1109 * widgets/bacon-volume.h:
1110 * widgets/disclosure-widget.c:
1111 * widgets/disclosure-widget.h:
1112 * widgets/eel-gconf-extensions.c:
1113 * widgets/eel-gconf-extensions.h:
1114 * widgets/eggtrayicon.c:
1115 * widgets/eggtrayicon.h:
1116 * widgets/libsexy/sexy-icon-entry.c:
1117 * widgets/libsexy/sexy-icon-entry.h:
1118 * widgets/rb-cell-renderer-pixbuf.c:
1119 * widgets/rb-cell-renderer-pixbuf.h:
1120 * widgets/rb-cell-renderer-rating.c:
1121 * widgets/rb-cell-renderer-rating.h:
1122 * widgets/rb-dialog.c:
1123 * widgets/rb-dialog.h:
1124 * widgets/rb-druid.c:
1125 * widgets/rb-druid.h:
1126 * widgets/rb-entry-view.c:
1127 * widgets/rb-entry-view.h:
1128 * widgets/rb-header.c:
1129 * widgets/rb-header.h:
1130 * widgets/rb-library-browser.c:
1131 * widgets/rb-library-browser.h:
1132 * widgets/rb-property-view.c:
1133 * widgets/rb-property-view.h:
1134 * widgets/rb-query-creator-private.h:
1135 * widgets/rb-query-creator-properties.c:
1136 * widgets/rb-query-creator.c:
1137 * widgets/rb-query-creator.h:
1138 * widgets/rb-rating-helper.c:
1139 * widgets/rb-rating-helper.h:
1140 * widgets/rb-rating.c:
1141 * widgets/rb-rating.h:
1142 * widgets/rb-search-entry.c:
1143 * widgets/rb-search-entry.h:
1144 * widgets/rb-song-display-box.c:
1145 * widgets/rb-song-display-box.h:
1146 * widgets/rb-song-info.c:
1147 * widgets/rb-song-info.h: Fix FSF address EVERYWHERE
1149 2006-04-20 Ryan P Skadberg <skadz@stigmata.org>
1151 patch by: Gareth Murphy, James Livingston
1153 * bindings/python/rb.defs:
1155 * plugins/Makefile.am:
1156 * plugins/artdisplay/Makefile.am:
1157 * plugins/artdisplay/artdisplay.py:
1158 * plugins/artdisplay/artdisplay.rb-plugin.desktop.in:
1159 * plugins/rb-python-module.c: (rb_python_module_init_python):
1160 * shell/rb-shell.c: (construct_widgets),
1161 (rb_shell_druid_response_cb), (rb_shell_get_box_for_ui_location),
1162 (rb_shell_add_widget), (rb_shell_remove_widget),
1163 (rb_shell_ui_location_get_type):
1164 * shell/rb-shell.h: Initial Art Display (and Download) Plugin Support
1166 2006-04-21 Jonathan Matthew <jonathan@kaolin.wh9.net>
1168 * rhythmdb/rhythmdb.c: (entry_volume_mounted_or_unmounted):
1169 Fix build failure caused by the combination of the previous two
1172 2006-04-20 James Livingston <doclivingston@gmail.com>
1174 patch by: Christophe Fergeau <teuf@gnome.org> to make
1175 RhythmDBEntryTypes be a structure rather than a uint. Add a vfunc
1176 table to the entry types, which will allow us to get rid of some of
1177 the "if entry type == WHATEVER" code everywhere. From bug
1179 * bindings/python/rb.defs:
1180 * bindings/python/rb.override:
1181 * bindings/python/rhythmdb.defs:
1182 * bindings/python/rhythmdb.override:
1183 * daapsharing/rb-daap-connection.c:
1184 (rb_daap_connection_class_init), (rb_daap_connection_init),
1185 (rb_daap_connection_set_property),
1186 (rb_daap_connection_get_property):
1187 * daapsharing/rb-daap-share.c: (db_entry_added_cb):
1188 * podcast/rb-podcast-manager.c:
1189 (rb_podcast_manager_entry_downloaded),
1190 (rb_podcast_manager_subscribe_feed),
1191 (rb_podcast_manager_db_entry_added_cb),
1192 (rb_podcast_manager_db_entry_deleted_cb),
1193 (rb_podcast_manager_insert_feed):
1194 * rhythmdb/rhythmdb-private.h:
1195 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_start_element),
1196 (conjunctive_query):
1197 * rhythmdb/rhythmdb.c: (sync_entry_changed),
1198 (process_added_entries_cb), (rhythmdb_entry_allocate),
1199 (rhythmdb_entry_finalize), (rhythmdb_entry_unref),
1200 (rhythmdb_process_stat_event), (rhythmdb_add_import_error_entry),
1201 (rhythmdb_process_metadata_load),
1202 (rhythmdb_process_file_created_or_modified), (action_thread_main),
1203 (rhythmdb_add_uri), (entry_type_to_string), (entry_type_from_uint),
1204 (write_encoded_gvalue), (read_encoded_property),
1205 (rhythmdb_prop_type_get_type), (rhythmdb_entry_register_type),
1206 (rhythmdb_entry_song_get_type), (rhythmdb_entry_ignore_get_type),
1207 (rhythmdb_entry_iradio_get_type),
1208 (rhythmdb_entry_podcast_post_get_type),
1209 (rhythmdb_entry_podcast_feed_get_type),
1210 (rhythmdb_entry_import_error_get_type),
1211 (rhythmdb_entry_get_entry_type), (rhythmdb_entry_get_pointer),
1212 (rhythmdb_entry_get_ulong), (rhythmdb_entry_get_type),
1213 (rhythmdb_entry_type_get_type):
1214 * rhythmdb/rhythmdb.h:
1215 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_song_changed_cb):
1216 * shell/rb-playlist-manager.c: (handle_playlist_entry_cb):
1217 * shell/rb-shell-player.c: (rb_shell_player_open_entry),
1218 (rb_shell_player_entry_activated_cb), (info_available_cb):
1219 * shell/rb-shell.c: (rb_shell_get_source_by_entry_type),
1220 (rb_shell_register_entry_type_for_source),
1221 (rb_shell_playing_from_queue_cb),
1222 (rb_shell_playing_entry_changed_cb),
1223 (rb_shell_player_stream_song_changed_cb),
1224 (rb_shell_jump_to_entry_with_source),
1225 (rb_shell_guess_type_for_uri), (rb_shell_add_uri),
1226 (handle_playlist_entry_cb), (rb_shell_load_uri):
1228 * sources/rb-auto-playlist-source.c: (impl_receive_drag):
1229 * sources/rb-browser-source.c: (rb_browser_source_class_init),
1230 (rb_browser_source_init), (rb_browser_source_set_property),
1231 (rb_browser_source_get_property):
1232 * sources/rb-ipod-source.c: (impl_paste):
1233 * sources/rb-iradio-source.c: (rb_iradio_source_class_init),
1234 (rb_iradio_source_init), (rb_iradio_source_set_property),
1235 (rb_iradio_source_get_property):
1236 * sources/rb-library-source.c: (impl_paste):
1237 * sources/rb-missing-files-source.c:
1238 (rb_missing_files_source_class_init),
1239 (rb_missing_files_source_init),
1240 (rb_missing_files_source_set_property),
1241 (rb_missing_files_source_get_property):
1242 * sources/rb-playlist-source.c: (rb_playlist_source_class_init),
1243 (rb_playlist_source_init), (rb_playlist_source_set_property),
1244 (rb_playlist_source_get_property):
1245 * sources/rb-podcast-source.c: (rb_podcast_source_class_init),
1246 (rb_podcast_source_init), (rb_podcast_source_set_property),
1247 (rb_podcast_source_get_property):
1248 * sources/rb-static-playlist-source.c:
1249 (rb_static_playlist_source_add_location_internal):
1251 2006-04-20 Jonathan Matthew <jonathan@kaolin.wh9.net>
1253 * rhythmdb/rhythmdb.c: (rhythmdb_init),
1254 (rhythmdb_add_import_error_entry),
1255 (entry_volume_mounted_or_unmounted),
1256 (rhythmdb_volume_unmounted_cb):
1257 When a volume is unmounted, delete import errors for files stored on
1258 it. When a volume is mounted, stat all tracks stored on it, rather
1259 than assuming they're present. Fixes #339023.
1261 2006-04-20 James Livingston <doclivingston@gmail.com>
1263 patch by: Alex Lancaster <alexl@users.sourceforge.net> to remember
1264 browser visibility for non-gconf-using sources (like playlists). Part
1267 * shell/rb-source-header.c: (sourcestate_free),
1268 (rb_source_header_init), (rb_source_header_finalize),
1269 (rb_source_header_source_weak_destroy_cb): switch from storing the
1270 search string to storing a "source state" structure
1272 (rb_source_header_set_source_internal), (rb_source_state_sync),
1273 (rb_source_header_search_cb), (rb_source_header_clear_search),
1274 (rb_source_header_disclosure_toggled_cb): as well as storing the
1275 string, stop the visibility of the source's browser.
1277 2006-04-20 James Livingston <doclivingston@gmail.com>
1279 * sources/rb-library-source.c: (impl_paste): ignore attempts to paste
1280 library entries back into the library. Fixes bug 339065.
1282 2006-04-20 James Livingston <doclivingston@gmail.com>
1284 * plugins/rb-plugin.h: remove the use of g_intern_static_string as it
1285 only exists in glib 2.10.
1287 2006-04-20 James Livingston <doclivingston@gmail.com>
1289 patch by Brian Cameron <brian.cameron@sun.com> to fix building on
1290 Solaris. From bug 335318.
1292 * rhythmdb/rhythmdb.c: (rhythmdb_query_append_prop_multiple):
1293 * shell/rb-audioscrobbler.c:
1294 * sources/rb-psp-source.c:
1296 2006-04-20 James Livingston <doclivingston@gmail.com>
1298 * data/glade/Makefile.am: remove the use of $(NULL) since it causes
1299 issues for some people.
1301 * shell/rb-playlist-manager.c: (save_playlist_response_cb): fix an
1302 accidental s/suffix/prefix/
1304 * sources/rb-auto-playlist-source.c:
1305 (rb_auto_playlist_source_set_query): fix the invered logic preventing
1306 you from sorting playlists which aren't limited by time.
1308 2006-04-19 James Livingston <doclivingston@gmail.com>
1310 * rhythmdb/rhythmdb.c: (metadata_field_from_prop): don't try to write
1311 duration or bitrate back to the file, since they are properties of the
1312 audio data, not tags we can set.
1314 2006-04-19 James Livingston <doclivingston@gmail.com>
1316 patch by: Götz Waschk <waschk@mandriva.org> to use $(LIBTOOL) instead
1317 of libtool, to fix builds which are using a different version. Fixes
1320 * shell/Makefile.am:
1322 2006-04-19 James Livingston <doclivingston@gmail.com>
1324 * rhythmdb/rhythmdb.c: (sync_entry_changed): emit a warning if we try
1325 to sync data to a file which is uneditable.
1327 2006-04-19 James Livingston <doclivingston@gmail.com>
1329 patch by: Gavin Stewart <gavin@brokentrain.net>
1331 * data/glade/playlist-save.glade:
1332 * data/glade/Makefile.am:
1333 * po/POTFILES.in: add the playlist saving dialog.
1335 * shell/rb-playlist-manager.c: (save_playlist_response_cb),
1336 (export_set_extension_cb), (filter_get_export_filter_label),
1337 (setup_format_menu), (rb_playlist_manager_cmd_save_playlist):
1338 * shell/rb-playlist-manager.h: Allow saving of playlists in alternate
1339 formats (PLS and M3U at the moment). Fixes bug 316295.
1341 2006-04-19 James Livingston <doclivingston@gmail.com>
1343 * shell/rb-playlist-manager.c:
1344 (rb_playlist_manager_set_source_internal): don't let you edit remove
1347 * sources/rb-auto-playlist-source.c:
1348 (rb_auto_playlist_source_set_query): correctly handle time-limited
1351 2006-04-19 Jonathan Matthew <jonathan@kaolin.wh9.net>
1353 Patch by: Mikael Olenfalk <mikael.olenfalk@gmail.com>
1355 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_load_queue):
1356 Don't crash if the queue file contains no newlines.
1359 2006-04-18 Christophe Fergeau <teuf@gnome.org>
1361 * sources/rb-ipod-source.c: (generate_ipod_filename): fixed wrong loop
1364 2006-04-18 Christophe Fergeau <teuf@gnome.org>
1366 * sources/rb-ipod-source.c: ipod music dirs can be lower or upper
1367 case. Moreover, they may not exist yet, so take that into account when
1368 generating the iPod filename.
1370 2006-04-18 Christophe Fergeau <christophe@anevia.com>
1372 * sources/rb-ipod-source.c: added support for drag and drop from the
1373 library to the iPod (only enabled if --enable-track-transfer was
1374 passed to configure)
1376 2006-04-17 Christophe Fergeau <teuf@gnome.org>
1379 * lib/rb-marshal.list:
1382 * plugins/Makefile.am:
1383 * plugins/ipod/Makefile.am:
1384 * plugins/ipod/ipod.rb-plugin.desktop.in:
1385 * plugins/ipod/rb-ipod-plugin.c:
1386 * plugins/rb-plugin.h:
1387 * shell/Makefile.am:
1388 * shell/rb-removable-media-manager.c:
1389 * shell/rb-removable-media-manager.h:
1391 * sources/Makefile.am:
1392 * sources/rb-ipod-source.c:
1393 * sources/rb-ipod-source.h: turn rb-ipod-source.c into a plugin. The
1394 various iPod related files should be moved to plugins/ipod/ now...
1396 2006-04-17 James Livingston <doclivingston@gmail.com>
1398 Updated documentation from Baptiste Mille-Mathias <bmm80@free.fr>
1401 * help/C/figures/rb-iradio-main.png:
1402 * help/C/figures/rb-notification-area-menu.png:
1403 * help/C/figures/rb-notification-window.png:
1404 * help/C/figures/rb-notification-zone.png:
1405 * help/C/figures/rb-podcast-main.png:
1406 * help/C/figures/rb-statusbar.png:
1407 * help/C/figures/rb-volume-changer.png:
1408 * help/C/figures/rb-window-small.png:
1409 * help/C/figures/rb-window.png:
1410 * help/C/rhythmbox.xml:
1412 2006-04-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
1414 * metadata/test-metadata.c: (load_metadata_cb): Report ignored files
1417 * metadata/rb-metadata-gst.c: (rb_metadata_init),
1418 (make_undecodable_error), (rb_metadata_gst_error_cb),
1419 (rb_metadata_gst_new_decoded_pad_cb),
1420 (rb_metadata_gst_unknown_type_cb), (rb_metadata_bus_handler):
1421 Ignore really small files (<4kB) for which typefinding fails.
1422 Always link decoded pads from decodebin to fakesink.
1423 Shut the pipeline down by posting an error on the bus when decodebin
1424 emits unknown-type signals. Fixes bug #338062.
1426 2006-04-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
1428 * shell/rb-shell.c: (rb_shell_load_uri):
1429 Fix glaring mistakes in previous commit: actually pass arguments to
1430 rb_debug, and specify the right entry type when adding a new iradio
1431 station so we don't try to add local playlist files to the library.
1433 2006-04-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
1435 * shell/main.c: (load_uri_args): Don't check that remote URLs exist
1436 before trying to add them, as iradio streams often fail rb_uri_exists().
1438 * shell/rb-shell-player.c: (notify_playing_idle),
1439 (rb_shell_player_open_playlist_url), (playlist_entry_cb),
1440 (open_location_thread), (rb_shell_player_open_location),
1441 (rb_shell_player_play), (rb_shell_player_set_playing_entry),
1442 (eos_cb): When playing an iradio stream using a playlist, keep a list
1443 of all the stream URLs, and try them in turn. If we get through the
1444 whole playlist too quickly, error out. Various other fixes that make
1445 iradio work a lot better.
1447 * shell/rb-shell.c: (add_to_library_response_cb),
1448 (rb_shell_guess_type_for_uri), (rb_shell_add_uri),
1449 (handle_playlist_entry_cb), (rb_shell_load_uri):
1450 Add playlists containing streams as iradio stations. If the playlist
1451 is local, add each stream URL, but if the playlist is remote, just add
1454 * sources/rb-iradio-source.c: (new_station_location_added):
1455 Add new station URLs as-is, rather than parsing the playlist and
1458 * rhythmdb/rhythmdb-query-model.c:
1459 (rhythmdb_query_model_entry_changed_cb),
1460 (rhythmdb_query_model_emit_reorder),
1461 (rhythmdb_query_model_do_reorder):
1462 Emit row-changed notifications when an entry changes but is not
1465 * widgets/rb-entry-view.c: (rb_entry_view_playing_cell_data_func):
1466 Display the playback error icon when the entry has an error and
1467 there's nothing else to display.
1469 Fixes bug #320336 and some of #324402.
1471 2006-04-16 Christophe Fergeau <teuf@gnome.org>
1473 * sources/rb-ipod-source.c: use a GHashTable for the
1474 RhythmDBEntry=>Itdb_Track mapping, this is better imo, and at the same
1475 time, this fixes compilation breakage for people not having libgpod
1478 2006-04-16 Ryan P Skadberg <skadz@stigmata.org>
1480 patch by: Jonathan Matthew <jonathan@kaolin.wh9.net>
1482 * podcast/rb-podcast-manager.c: (rb_podcast_manager_add_post),
1483 (rb_podcast_manager_insert_feed):
1484 * podcast/rb-podcast-manager.h: Actually automatically podcasts,
1487 2006-04-16 James Livingston <doclivingston@gmail.com>
1489 * sources/rb-library-source.c:
1490 (rb_library_source_library_location_cb): return FALSE like we are
1491 supposed to, not void.
1493 patch by: FreeBSD GNOME Project
1494 * configure.ac: fix some bash-isms.
1496 patch by: Pawel Worach <pawel.worach@gmail.com>
1497 * metadata/rb-metadata-dbus-client.c:
1498 * rhythmdb/rhythmdb-query-model.c:
1499 (rhythmdb_query_model_album_sort_func): fix build issues on FreeBSD
1502 2006-04-16 James Livingston <doclivingston@gmail.com>
1504 Patch from: Alessandro Decina <alessandro@nnva.org> to add support
1505 for transcoding to RBEncoderGst.
1507 * backends/gstreamer/rb-encoder-gst.c: (rb_encoder_gst_emit_error),
1508 (rb_encoder_gst_emit_completed), (bus_watch_cb), (gst_error_cb),
1509 (start_pipeline), (add_encoding_pipeline), (new_decoded_pad_cb),
1510 (add_decoding_pipeline), (encoder_match_mime),
1511 (get_profile_from_mime_type), (extract_track), (transcode_track),
1512 (rb_encoder_gst_cancel), (rb_encoder_gst_encode):
1514 2006-04-16 Christophe Fergeau <teuf@gnome.org>
1516 * sources/rb-ipod-source.c: (add_ipod_song_to_db),
1517 (load_ipod_db_idle_cb): moved RhythmDBEntry creation from
1518 load_ipod_db_idle_cb to a new separate function
1520 2006-04-16 Christophe Fergeau <teuf@gnome.org>
1522 * sources/rb-ipod-source.c: added 'move to trash' support to the iPod
1525 2006-04-16 Christophe Fergeau <teuf@gnome.org>
1527 * sources/rb-ipod-source.c: (rb_ipod_is_volume_ipod): removed unused
1530 2006-04-16 Christophe Fergeau <teuf@gnome.org>
1532 * data/ui/Makefile.am:
1533 * data/ui/ipod-ui.xml: added new ui file containing the iPod context
1535 * lib/rb-util.c: check if the widget we got from the UI manager isn't
1536 NULL before using it as a popup menu
1537 * sources/rb-ipod-source.c: added the possibility to 'rename' and
1540 2006-04-16 Christophe Fergeau <teuf@gnome.org>
1542 * sources/rb-ipod-source.c: when hal tells us a partition is on an
1543 iPod, check if it contains an iPod database before using it (in case
1544 the iPod was repartitionned somehow). Should fix bug #325034
1546 2006-04-16 Steve Frécinaux <steve@istique.net>
1548 * configure.ac: bump GTK+ version requirement from 2.5.4 to 2.6.0.
1550 * data/Makefile.am: install application icon into the default theme.
1552 * data/rhythmbox.desktop.in: don't specify icon file extension.
1554 * shell/main.c: (main): set default window icon from theme.
1556 * shell/rb-shell.c: (rb_shell_init, rb_shell_cmd_about): remove legacy
1557 code concerning window icon, and fix leak by unreferencing the about
1558 logo pixbuf once it's not used anymore.
1560 2006-04-16 James Livingston <doclivingston@gmail.com>
1562 * configure.ac: bump version to 0.9.4
1563 * NEWS: update NEWS and 0.9.4 insert translations
1565 2006-04-16 James Livingston <doclivingston@gmail.com>
1567 * plugins/pythonconsole/pythonconsole.py: import the rhythmdb
1568 namespace automatically.
1570 2006-04-16 James Livingston <doclivingston@gmail.com>
1572 * data/rhythmbox.schemas: add the plugin's stuff to the gconf schema
1574 * doc/reference/Makefile.am:
1575 * doc/reference/rhythmbox.types: make distcheck work again
1577 * doc/reference/tmpl/eggnotificationbubble.sgml:
1578 * doc/reference/tmpl/eggtrayicon.sgml:
1579 * doc/reference/tmpl/rb-debug.sgml:
1580 * doc/reference/tmpl/rb-entry-view.sgml:
1581 * doc/reference/tmpl/rb-enums.sgml:
1582 * doc/reference/tmpl/rb-metadata.sgml:
1583 * doc/reference/tmpl/rb-new-station-dialog.sgml:
1584 * doc/reference/tmpl/rb-playlist-manager.sgml:
1585 * doc/reference/tmpl/rb-refstring.sgml:
1586 * doc/reference/tmpl/rb-shell-player.sgml:
1587 * doc/reference/tmpl/rb-shell-preferences.sgml:
1588 * doc/reference/tmpl/rb-shell.sgml:
1589 * doc/reference/tmpl/rb-song-info.sgml:
1590 * doc/reference/tmpl/rb-station-properties-dialog.sgml:
1591 * doc/reference/tmpl/rb-statusbar.sgml:
1592 * doc/reference/tmpl/rhythmbox-unused.sgml:
1593 * doc/reference/tmpl/rhythmdb-query-model.sgml:
1594 * doc/reference/tmpl/rhythmdb.sgml: update generared api doc stuff
1596 2006-04-16 James Livingston <doclivingston@gmail.com>
1598 patch by: Christian Kirbach <Christian.Kirbach@student.uni-siegen.de>
1600 * po/LINGUAS: don't split the variable across two lines, as it breaks
1601 the build. Fixes bug 338625.
1603 2006-04-15 James Livingston <doclivingston@gmail.com>
1605 * shell/rb-shell.c: (rb_shell_class_init), (rb_shell_get_property):
1606 add a "sourcelist-model" gobject property.
1608 2006-04-14 William Jon McCann <mccann@jhu.edu>
1611 * backends/.cvsignore:
1612 * backends/gstreamer/.cvsignore:
1613 * bindings/.cvsignore:
1614 * bindings/python/.cvsignore:
1615 * help/es/.cvsignore:
1616 * metadata/.cvsignore:
1617 * plugins/.cvsignore:
1618 * plugins/audioscrobbler/.cvsignore:
1619 * plugins/lirc/.cvsignore:
1620 * plugins/pythonconsole/.cvsignore:
1621 * plugins/sample-python/.cvsignore:
1622 * plugins/sample/.cvsignore:
1624 * widgets/libsexy/.cvsignore:
1625 Make CVS ignore files.
1627 2006-04-14 James Livingston <doclivingston@gmail.com>
1629 * sources/rb-audiocd-source.c: (rb_audiocd_source_constructor): make
1630 the track-loading thread hold a reference on the source, so it doesn't
1631 explode if the cd is removed before it is done. Fixes bug 337237.
1633 2006-04-14 James Livingston <doclivingston@gmail.com>
1635 * bindings/python/override_common.c:
1636 (_helper_unwrap_pointer_pylist):
1637 * bindings/python/override_common.h:
1638 * bindings/python/rb.override:
1639 * bindings/python/rhythmdb.override: Bind some more functions and
1642 * shell/rb-shell.c: (rb_shell_select_source):
1643 * shell/rb-source-header.c: (rb_source_header_set_source_internal):
1644 * sources/rb-audiocd-source.c:
1645 * sources/rb-auto-playlist-source.c: (impl_get_search_actions):
1646 * sources/rb-browser-source.c: (impl_get_search_actions):
1647 * sources/rb-iradio-source.c: (impl_get_ui_actions):
1648 * sources/rb-play-queue-source.c: (impl_get_ui_actions):
1649 * sources/rb-playlist-source.c: (impl_get_ui_actions):
1650 * sources/rb-podcast-source.c: (impl_get_ui_actions),
1651 (impl_get_search_actions):
1652 * sources/rb-static-playlist-source.c: (impl_get_search_actions): Make
1653 the impl_get_ui_actions and impl_get_search_actions functions return
1654 lists that contain copies of the strings, instead of constant ones.
1657 2006-04-14 James Livingston <doclivingston@gmail.com>
1659 * bindings/python/rhythmdb.defs:
1660 * bindings/python/rhythmdb.override: fix the method argument format
1663 2006-04-14 James Livingston <doclivingston@gmail.com>
1665 * bindings/python/rhythmdb.defs:
1666 * bindings/python/rhythmdb.override:
1667 * rhythmdb/rhythmdb.c: (rhythmdb_entry_get),
1668 (entry_to_rb_metadata), (record_entry_change),
1669 (rhythmdb_entry_set_visibility):
1670 * rhythmdb/rhythmdb.h:
1671 * shell/rb-shell.c: (rb_shell_get_song_properties): change
1672 rhythmdb_entry_get to take the db as the first parameter. Fixes the
1673 python bindings of it. The rhythmdb_entry_get_* ones are left the same
1674 since they are used in too many places, and not in the Python
1677 2006-04-13 William Jon McCann <mccann@jhu.edu>
1679 * lib/rb-debug.c: (_rb_profile_log):
1680 * plugins/rb-plugins-engine.c: (rb_plugins_engine_init):
1681 * rhythmdb/rhythmdb.c: (rhythmdb_load):
1682 * shell/main.c: (main):
1683 * shell/rb-shell.c: (rb_shell_constructor),
1684 (rb_shell_set_visibility), (rb_shell_sync_window_state),
1686 Fix profile output indentation. Add more profiling points.
1687 Fixes part of #338114
1689 2006-04-13 James Livingston <doclivingston@gmail.com>
1691 * shell/rb-shell.c: (rb_shell_source_deleted_cb): deal with the
1692 library source being deleted, by setting the active source to NULL.
1695 2006-04-12 Jonathan Matthew <jonathan@kaolin.wh9.net>
1697 * rhythmdb/rhythmdb.c: (rhythmdb_entry_sync_mirrored):
1698 Update the last-seen string when hiddenness changes.
1700 2006-04-12 James Livingston <doclivingston@gmail.com>
1702 * rhythmdb/rhythmdb.c: (rhythmdb_process_metadata_load): fix an issue
1703 which caused the first-seen time to be reset when a metadata load was
1704 done. Fixes bug 336874.
1706 * shell/rb-shell.h: remove old function declaration.
1708 * bindings/python/rhythmdb.defs:
1709 * bindings/python/rhythmdb.override: Fix some python binding stuff.
1711 2006-04-11 James Livingston <doclivingston@gmail.com>
1713 * shell/rb-shell.c: (rb_shell_sync_toolbar_state),
1714 (rb_shell_sync_smalldisplay): fix toolbar-style/small-mode
1715 interaction. Fixes bug 337999.
1717 2006-04-11 James Livingston <doclivingston@gmail.com>
1719 patch by: Christohpe Fergeau <teuf@gnome.org> to fix building without
1720 track transfer. Fixes bug 338056.
1722 * shell/Makefile.am:
1724 2006-04-11 Jonathan Matthew <jonathan@kaolin.wh9.net>
1726 * widgets/Makefile.am: Fix automake complaints about LIBSEXY_LIBS
1728 2006-04-10 William Jon McCann <mccann@jhu.edu>
1730 * lib/rb-debug.c: (rb_profiler_free), (profile_add_indent),
1733 * shell/rb-shell.c: (construct_db), (construct_widgets),
1734 (construct_sources), (construct_load_ui), (rb_shell_constructor):
1735 Add profiling. Fixes #337387
1737 2006-04-10 William Jon McCann <mccann@jhu.edu>
1739 * sources/rb-play-queue-source.c (rb_play_queue_source_track_info_cell_data_func):
1740 * widgets/rb-header.c:
1741 Use italics for artist and album. Fixes #336748
1743 2006-04-10 James Livingston <doclivingston@gmail.com>
1746 * backends/gstreamer/Makefile.am:
1748 * data/glade/library-prefs.glade:
1749 * shell/Makefile.am:
1750 * shell/rb-removable-media-manager.c:
1751 * shell/rb-removable-media-manager.h:
1752 * sources/Makefile.am:
1753 * sources/rb-audiocd-source.c:
1754 * sources/rb-library-source.c: (rb_library_source_class_init),
1755 (rb_library_source_finalize), (impl_get_config_widget),
1756 (rb_library_source_preferences_sync), (impl_can_paste): add a
1757 --enable-track-transfer configure option, abd make cd ripping disabled
1760 * shell/rb-source-header.c:
1761 * sources/rb-source.c: (rb_source_class_init),
1762 (rb_source_delete_thyself), (default_get_entry_view):
1763 * lib/rb-glade-helpers.c:
1764 * shell/rb-shell.c: (rb_shell_view_queue_as_sidebar_changed_cb): Fix
1765 some compiler warnings, and also bug 337427.
1767 2006-04-10 James Livingston <doclivingston@gmail.com>
1769 * shell/rb-shell-player.c: (rb_shell_player_shuffle_changed_cb),
1770 (rb_shell_player_repeat_changed_cb): don't fail to set the play order
1771 if the gconf key is missing. Fixes bug 337742.
1773 2006-04-10 James Livingston <doclivingston@gmail.com>
1775 patch by: Alex Lancaster <alexl@users.sourceforge.net>
1776 to fix build problems I caused with a commit yesterday. Fixed bug
1779 * daapsharing/rb-daap-mdns-browser-howl.c:
1780 (rb_daap_mdns_browser_class_init):
1781 * podcast/Makefile.am:
1782 * rhythmdb/Makefile.am:
1783 * widgets/eggtrayicon.h:
1785 2006-04-09 Steve Frécinaux <steve@istique.net>
1790 Move ALL_LANGUAGES content to the po/LINGUAS file, to make our
1791 translators' life easier.
1793 2006-04-09 James Livingston <doclivingston@gmail.com>
1795 * bindings/python/rb.defs:
1796 * bindings/python/rb.override: add bindings for most RBSource virtual
1799 * sources/rb-source.h:
1800 * sources/rb-source.c: (rb_source_class_init): make
1801 impl_get_browser_key return a non-consht string, since Python can't
1802 really give us constant strings.
1804 * shell/rb-source-header.c: (rb_source_header_finalize),
1805 (rb_source_header_set_source_internal):
1806 * sources/rb-daap-source.c: (rb_daap_source_get_browser_key):
1807 * sources/rb-iradio-source.c: (impl_get_browser_key):
1808 * sources/rb-library-source.c: (impl_get_browser_key):
1809 * sources/rb-playlist-source.c:
1810 * sources/rb-browser-source.c: (rb_browser_source_constructor),
1811 (rb_browser_source_state_prefs_sync):
1812 * sources/rb-podcast-source.c: (impl_get_browser_key): Adapt to the
1815 * plugins/sample-python/sample-python.py: show how to add a new
1818 2006-04-09 James Livingston <doclivingston@gmail.com>
1820 * daapsharing/Makefile.am:
1821 * daapsharing/rb-daap-connection.c:
1822 (rb_daap_connection_class_init):
1823 * daapsharing/rb-daap-marshal.list:
1824 * daapsharing/rb-daap-mdns-browser-avahi.c:
1825 (rb_daap_mdns_browser_class_init):
1826 * lib/rb-marshal.list:
1827 * player/Makefile.am:
1828 * player/rb-recorder-gst.c: (rb_recorder_class_init):
1829 * player/rb-recorder-marshal.list:
1830 * podcast/Makefile.am:
1831 * podcast/rb-podcast-manager.c: (rb_podcast_manager_class_init):
1832 * podcast/rb-podcast-marshal.list:
1833 * rhythmdb/Makefile.am:
1834 * rhythmdb/rhythmdb-marshal.list:
1835 * rhythmdb/rhythmdb-query-model.c:
1836 (rhythmdb_query_model_class_init):
1837 * rhythmdb/rhythmdb.c: (rhythmdb_class_init): merge all the marshalers
1838 into one file, as there is no point having several of them.
1840 2006-04-09 James Livingston <doclivingston@gmail.com>
1844 * widgets/Makefile.am:
1845 * widgets/eggnotificationbubble.c:
1846 * widgets/eggnotificationbubble.h:
1847 * widgets/rb-song-info.c: remove lib/rb-enums.h and
1848 widgets/eggnotificationbubble.{c,h}, since they aren't used any more
1850 * rhythmdb/rhythmdb-property-model.h:
1851 * rhythmdb/rhythmdb-query-model.h:
1852 * rhythmdb/rhythmdb.h:
1853 * shell/rb-playlist-manager.h:
1854 * widgets/rb-cell-renderer-pixbuf.h:
1855 * widgets/rb-cell-renderer-rating.h:
1856 * widgets/rb-rating.h: fix the prototypes of various class-closures.
1858 2006-04-09 Jonathan Matthew <jonathan@kaolin.wh9.net>
1860 * widgets/libsexy/Makefile.am: Actually use internal libsexy headers,
1861 so we can build without a system-wide installed copy.
1863 2006-04-09 James Livingston <doclivingston@gmail.com>
1865 * data/glade/general-prefs.glade:
1866 * data/rhythmbox.schemas:
1867 * lib/rb-glade-helpers.c: (rb_glade_boldify_label),
1868 (rb_combo_box_hyphen_separator_func):
1869 * lib/rb-glade-helpers.h:
1870 * lib/rb-preferences.h:
1871 * shell/rb-shell-preferences.c: (rb_shell_preferences_init),
1872 (rb_shell_preferences_sync),
1873 (rb_shell_preferences_toolbar_style_cb),
1874 (rb_shell_preferences_browser_views_activated_cb):
1875 * shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor),
1876 (rb_shell_sync_toolbar_state), (toolbar_state_changed_cb): Allow the
1877 overriding of the toolbar style, as the HIG suggests. Fixes bug 336797.
1879 2006-04-09 James Livingston <doclivingston@gmail.com>
1881 * sources/rb-audiocd-source.c: (entry_set_string_prop): validate the
1882 data that MusicBrainz returns to us. Last part of bug 334167.
1884 2006-04-09 James Livingston <doclivingston@gmail.com>
1886 * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed): fix a
1887 crasher if xmlCreateMemoryParserCtxt returns NULL. Fixes bug 336842.
1889 2006-04-09 James Livingston <doclivingston@gmail.com>
1891 * widgets/rb-entry-view.c: (rb_entry_view_rows_reordered_cb): update
1892 the entry view properly when the rows are reordered. Fixes bug 337019.
1894 2006-04-09 James Livingston <doclivingston@gmail.com>
1897 * widgets/Makefile.am:
1898 * widgets/libsexy/Makefile.am:
1899 * widgets/libsexy/sexy-icon-entry.c:
1900 * widgets/libsexy/sexy-icon-entry.h: add an internal copy of part of
1901 libsexy, and allow building against it or a system-wide installed
1905 * widgets/rb-search-entry.c: (rb_search_entry_init),
1906 (rb_search_entry_changed_cb): use libsexy to add a clear button to the
1907 search box. Fixes bug 128109.
1909 2006-04-09 James Livingston <doclivingston@gmail.com>
1911 patch by: Alex Lancaster <alexl@users.sourceforge.net>
1913 * widgets/rb-entry-view.c: (rb_entry_view_init),
1914 (rb_entry_view_finalize), (rb_entry_view_constructor): use the Play
1915 and Pause icons rather than the volume ones in the Now Playing column.
1918 2006-04-08 James Livingston <doclivingston@gmail.com>
1920 * bindings/python/override_common.h:
1921 * bindings/python/rb.override:
1922 * bindings/python/rhythmdb.override: bind some more functions
1924 2006-04-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
1926 * metadata/rb-metadata-dbus-service.c: (_send_error):
1927 Send NULL error messages as empty strings, so _NOT_AUDIO_IGNORE errors
1928 are sent properly and we don't get 'method doesn't exist' messages
1931 2006-04-08 James Livingston <doclivingston@gmail.com>
1933 * bindings/python/override_common.h:
1934 * bindings/python/override_common.c: (_helper_wrap_pointer_glist),
1935 (_helper_wrap_boxed_glist), (_helper_unwrap_string_pylist): add some
1936 more utility functions for C<->Python conversions
1938 * widgets/rb-entry-view.c: (rb_entry_view_column_get_type),
1939 (rb_entry_view_state_get_type):
1940 * widgets/rb-entry-view.h: make the colume type and entry view state
1943 * bindings/python/Makefile.am:
1944 * bindings/python/rb.defs:
1945 * bindings/python/rb.override: bind RBEntryView, RBPropertyView and
1948 2006-04-08 James Livingston <doclivingston@gmail.com>
1950 * backends/gstreamer/rb-encoder-gst.c: (bus_watch_cb): add a missing
1951 initialiser for a GError
1953 * sources/rb-source.c: (rb_source_eof_type_get_type):
1954 * sources/rb-source.h: add a GType for RBSourceEOFType
1956 * bindings/python/Makefile.am:
1957 * bindings/python/rb.defs:
1958 * bindings/python/rb.override: bind RBSource and RBSourceList
1960 2006-04-07 Jonathan Matthew <jonathan@kaolin.wh9.net>
1962 * shell/rb-shell-player.c: (rb_shell_player_class_init),
1963 (rb_shell_player_get_property),
1964 (rb_shell_player_get_active_source),
1965 (rb_shell_player_set_playing_source_internal):
1966 * shell/rb-shell-player.h:
1967 Change 'playing-from-queue' from being a signal to being a property.
1969 * shell/rb-shell.c: (rb_shell_constructor),
1970 (rb_shell_playing_from_queue_cb),
1971 (rb_shell_view_queue_as_sidebar_changed_cb),
1972 (rb_shell_jump_to_entry_with_source):
1973 When the queue side pane is used, make 'jump to current' jump to the
1974 entry in the registered source for its type, rather than in the queue,
1975 and show it as playing in that source.
1977 * sources/rb-sourcelist.c: (rb_sourcelist_set_playing_source):
1978 * sources/rb-sourcelist.h:
1979 Remove the 'preempted source' stuff, since it wasn't doing anything
1982 2006-04-07 Jonathan Matthew <jonathan@kaolin.wh9.net>
1984 * podcast/rb-podcast-manager.c: (rb_podcast_manager_copy_post),
1985 (download_progress_cb): Canonicalise downloaded file location before
1986 setting the mountpoint property of the corresponding entry.
1987 Fixes #337287 and a couple of memory leaks.
1989 2006-04-06 Jonathan Matthew <jonathan@kaolin.wh9.net>
1991 * metadata/rb-metadata-dbus-service.c: (test_can_save),
1992 (test_load), (main): Call g_set_prgname, report errors more
1993 usefully in test mode.
1994 * metadata/rb-metadata-gst.c: (rb_metadata_gst_typefind_cb),
1995 (rb_metadata_load): Don't ignore the have-type signal for non-audio
1996 files. Run the event loop when the state change fails so we get the
1997 error messages from the bus. Fixes #336921.
1999 2006-04-05 William Jon McCann <mccann@jhu.edu>
2001 * data/art/Makefile.am: Install media-eject.
2003 * lib/rb-stock-icons.c (rb_stock_icons_init): Check
2004 return value of rb_file.
2008 2006-04-05 Jonathan Matthew <jonathan@kaolin.wh9.net>
2010 Patch by: William Jon McCann <mccann@jhu.edu>
2012 * metadata/test-metadata.c: (main): Use GOption to parse arguments.
2013 * podcast/rb-podcast-manager.c: (rb_podcast_manager_save_metadata):
2016 2006-04-04 William Jon McCann <mccann@jhu.edu>
2018 * backends/gstreamer/rb-encoder-gst.c (add_tags_from_entry):
2019 Don't try to add a date when we don't have one. Fixes #336741.
2021 Also fix variable declaration in middle of block.
2023 2006-04-04 Jonathan Matthew <jonathan@kaolin.wh9.net>
2025 * shell/rb-shell-player.c: (rb_shell_player_playpause):
2026 Don't crash if source is already NULL. Hackishly fixes bug #336912.
2028 2006-04-02 James Livingston <doclivingston@gmail.com>
2030 * metadata/rb-metadata-gst.c: (rb_metadata_gst_typefind_cb): fix the
2031 inverted logic causing imports to fail.
2033 2006-04-02 Jonathan Matthew <jonathan@kaolin.wh9.net>
2035 * shell/main.c: (main): Fix dbusless build.
2037 2006-04-02 Christophe Fergeau <teuf@gnome.org>
2039 * player/rb-recorder-gst.c: fix packing of the C struct holding a
2040 wav header for non-gcc compilers (not tested much, was only written
2043 2006-04-02 Jonathan Matthew <jonathan@kaolin.wh9.net>
2045 * shell/main.c: (main): Check if we got a dbus connection before
2046 trying to create a proxy for the shell object. Fixes #336634.
2048 2006-04-02 Jonathan Matthew <jonathan@kaolin.wh9.net>
2050 * doc/reference/Makefile.am:
2051 * plugins/lirc/rb-lirc-plugin.c: (rb_lirc_plugin_class_init):
2052 * shell/rb-source-header.c:
2053 * sources/rb-generic-player-source.c:
2054 (default_transform_playlist_uri):
2055 Fix various build issues. Patch approximately 50% by Alex Lancaster
2056 <alexl@users.sourceforge.net>
2058 2006-04-02 Jonathan Matthew <jonathan@kaolin.wh9.net>
2060 * configure.ac: Detect LIRC.
2062 * plugins/Makefile.am:
2063 * plugins/lirc/Makefile.am:
2064 * plugins/lirc/lirc.rb-plugin.desktop.in:
2065 * plugins/lirc/rb-lirc-plugin.c:
2068 * shell/Makefile.am, shell/rb-remote.c, shell/rb-remote.h:
2069 Remove obsolete files.
2071 2006-04-02 James Livingston <doclivingston@gmail.com>
2073 * sources/rb-generic-player-source.c:
2074 (default_transform_playlist_uri): consider playlist paths as relative
2075 to the volume root by default, since that is what most players use.
2077 2006-04-02 James Livingston <doclivingston@gmail.com>
2079 * lib/rb-util.c: (rb_mime_get_friendly_name):
2080 * lib/rb-util.h: add helper function to get the "friendly" name for a
2083 * metadata/rb-metadata-gst.c: (rb_metadata_init),
2084 (rb_metadata_gst_typefind_cb), (rb_metadata_gst_unknown_type_cb): give
2085 the user better error messages about undecodable streams, using the
2086 "friendly" name if possible. Fixes bug 128109.
2088 2006-04-02 James Livingston <doclivingston@gmail.com>
2090 * backends/gstreamer/rb-encoder-gst.c: (progress_timeout_cb),
2091 (start_pipeline): fix building with gstreamer 0.8
2093 2006-04-02 James Livingston <doclivingston@gmail.com>
2095 * sources/rb-podcast-source.c: (impl_delete),
2096 (rb_podcast_source_cmd_delete_feed),
2097 (rb_podcast_source_cmd_update_feed): copy the list before traversing
2098 it, since it may change during traversal. Fixes bug 336204.
2100 2006-04-01 James Livingston <doclivingston@gmail.com>
2102 * data/art/media-eject.png: add the media-eject icon from Banshee
2103 (BSD-licensed), for use when the user's icon theme doesn't have one.
2105 * lib/rb-stock-icons.c: (rb_stock_icons_init): use the above. Fixes
2108 2006-04-01 James Livingston <doclivingston@gmail.com>
2110 * shell/rb-shell-player.h:
2111 * shell/rb-shell-player.c: (rb_shell_player_play),
2112 (rb_shell_player_stop), (rb_shell_player_pause), (filter_mmkeys): add
2113 new rb_shell_player_{play,pause} functions, so everyone doesn't have
2114 to do rb_shell_player_playing followed by rb_shell_player_playpause.
2116 * shell/rb-shell.c: (rb_shell_sync_smalldisplay),
2117 (rb_shell_get_playlist_manager_path), (rb_shell_get_ui_manager):
2118 * shell/rb-shell.h: add rb_shell_get_ui_manager.
2120 * bindings/python/rb.defs: bind the above to Python, and remove some
2121 useless stuff from the bindings.
2123 2006-04-01 James Livingston <doclivingston@gmail.com>
2125 * backends/gstreamer/rb-encoder-gst.c: (add_tags_from_entry): add disc
2129 * shell/rb-shell.h: export rb_shell_get_source_by_entry_type.
2131 * sources/rb-daap-source.c: (rb_daap_source_class_init): set _can_copy
2134 * sources/rb-iradio-source.c: (rb_iradio_source_class_init):
2135 * sources/rb-podcast-source.c: (rb_podcast_source_class_init): reorder
2136 method assigning, so it's understandable
2138 * sources/rb-library-source.c: (rb_library_source_class_init),
2139 (impl_paste): rather than hard-coding the types to ignore, use
2142 2006-03-31 Jonathan Matthew <jonathan@kaolin.wh9.net>
2144 * sources/rb-library-source.c:
2145 (rb_library_source_preferences_sync):
2146 Don't crash if no audio profile is selected and the gconf schemas are
2149 2006-03-31 James Livingston <doclivingston@gmail.com>
2151 * plugins/rb-python-module.c: (rb_python_module_load): add a missing
2152 "*" which caused compilation to fail
2154 2006-03-31 James Livingston <doclivingston@gmail.com>
2158 * backends/Makefile.am:
2159 * backends/gstreamer/Makefile.am:
2160 * backends/gstreamer/rb-encoder-gst.c:
2161 * backends/gstreamer/rb-encoder-gst.h:
2162 * backends/rb-encoder.c:
2163 * backends/rb-encoder.h: add a interface for transcoding, and a
2164 GStreamer implementation of it (based on Sound-Juicer's code).
2166 * shell/Makefile.am:
2167 * shell/rb-removable-media-manager.c:
2168 (rb_removable_media_manager_class_init),
2169 (rb_removable_media_manager_init),
2170 (rb_removable_media_manager_dispose),
2171 (rb_removable_media_manager_finalize),
2172 (rb_removable_media_manager_scan), (emit_progress), (error_cb),
2173 (progress_cb), (completed_cb), (do_transfer),
2174 (rb_removable_media_manager_queue_transfer), (copy_entry),
2175 (rb_removable_media_manager_cmd_copy_tracks):
2176 * shell/rb-removable-media-manager.h: use the encoder interface to
2177 perform transfers of entries to other locations
2179 * shell/rb-shell-player.c: (open_location_thread):
2180 * shell/rb-shell.c: (rb_shell_class_init), (rb_shell_get_property),
2181 (rb_shell_constructor), (rb_shell_transfer_progress_cb),
2183 * shell/rb-statusbar.c: (rb_statusbar_set_progress): display transfer
2184 progress in the status bar.
2186 * shell/rb-shell-preferences.c: (rb_shell_preferences_init),
2187 (rb_shell_preferences_sync),
2188 (rb_shell_preferences_browser_views_activated_cb):
2189 * data/glade/general-prefs.glade: move the browser views setting from
2190 the library tab to the general one.
2192 * data/glade/library-prefs.glade: add settings for the layout of the
2193 user's library, and their preferred encoding format (e.g. for CD
2196 * lib/rb-preferences.h:
2197 * data/rhythmbox.schemas: add keys for the above options (and a few
2200 * rhythmdb/rhythmdb.c: (rhythmdb_entry_example_new):
2201 * rhythmdb/rhythmdb.h: add a new function for creating an "example"
2202 entry, that isn't inserted into the database.
2204 * sources/rb-audiocd-source.c: (rb_audiocd_source_class_init),
2205 (rb_audiocd_create_track_entry):
2206 * data/ui/rhythmbox-ui.xml: add a toolbar button for ripping audio
2207 cds, and set the mime-type of audio cd tracks correctly.
2209 * sources/rb-library-source.c: (rb_library_source_class_init),
2210 (rb_library_source_finalize),
2211 (rb_library_source_edit_profile_clicked_cb),
2212 (impl_get_config_widget), (rb_library_source_preferences_sync),
2213 (impl_receive_drag), (rb_library_source_path_changed_cb),
2214 (rb_library_source_filename_changed_cb),
2215 (rb_library_source_format_changed_cb), (sanitize_path),
2216 (filepath_parse_pattern), (layout_example_label_update),
2217 (rb_library_source_layout_path_changed),
2218 (rb_library_source_layout_filename_changed), (build_filename),
2219 (impl_can_paste), (completed_cb), (impl_paste): allow the copying of
2220 entries to the library. Large chunks of code for determining the
2221 destination file name stolen from Sound-Juicer.
2223 * sources/rb-sourcelist-model.c: (path_is_droppable):
2224 * shell/rb-shell-clipboard.c: (rb_shell_clipboard_sync):
2225 * sources/rb-static-playlist-source.c:
2226 (rb_static_playlist_source_class_init):
2227 * sources/rb-removable-media-source.c:
2228 (rb_removable_media_source_class_init):
2229 * sources/rb-source.c: (rb_source_class_init), (rb_source_can_cut),
2230 (rb_source_can_paste):
2231 * sources/rb-source.h: add a new _can_paste method, and use it (rather
2232 than _can_copy) to determine whether we can paste into the source.
2235 2006-03-31 Steve Frécinaux <steve@istique.net>
2237 * plugins/rb-python-module.c: allow import of python modules with a '.'
2238 (gedit's bug 336403). Patch by Johan Dahlin.
2240 2006-03-31 James Livingston <doclivingston@gmail.com>
2242 * sources/rb-library-source.c:
2243 * sources/rb-library-source.h:
2244 * sources/rb-browser-source.c:
2245 * sources/rb-browser-source.h: Split RBLibrarySource into two.
2246 RBBrowserSource now contains all the stuff for having a source which
2247 views a particular entry type (including browsers and searching).
2248 RBLibrarySource derives from this, and includes the library-specific
2249 stuff, like importing and library watching. Fixes some issues where
2250 library-derived sources were doing things that should be
2251 library-specific. Fixes bug 335185.
2253 * data/ui/rhythmbox-ui.xml:
2254 * sources/Makefile.am: modifications for the above
2256 * sources/rb-daap-source.c: (rb_daap_source_class_init),
2257 (rb_daap_source_get_paned_key):
2258 * sources/rb-daap-source.h:
2259 * sources/rb-ipod-source.c: (rb_ipod_source_constructor):
2260 * sources/rb-removable-media-source.c:
2261 (rb_removable_media_source_class_init):
2262 * sources/rb-removable-media-source.h: derive from RBBrowserSource
2263 instead of RBLibrarySource.
2265 2006-03-31 James Livingston <doclivingston@gmail.com>
2267 * rhythmdb/rhythmdb-query-model.c: use guin64 instead of guint, which
2268 I buggered up when changing from GnomeVFSFileSize.
2270 2006-03-30 James Livingston <doclivingston@gmail.com>
2272 * configure.ac: lower pygtk deps to 2.6, and add a makefile variable
2275 * bindings/python/rb.override:
2276 * bindings/python/Makefile.am: make the RB python bindings depend on
2277 the RhythmDB ones, and use "-Wno-error" since the machine-generated
2278 code sometimes emits warnings.
2280 * shell/rb-shell-player.c: (rb_shell_player_class_init),
2281 (rb_shell_player_error_get_type):
2282 * shell/rb-shell-player.h:
2283 * bindings/python/rb.defs: add bindings for RBShellPlayer
2285 * rhythmdb/rhythmdb.c: (rhythmdb_init),
2286 (rhythmdb_query_type_get_type), (rhythmdb_prop_type_get_type),
2287 (rhythmdb_entry_get_type), (rhythmdb_query_get_type):
2288 * rhythmdb/rhythmdb.h:
2289 * shell/rb-shell.c: (rb_shell_get_song_properties):
2290 * widgets/rb-entry-view.c: (propid_from_name):
2291 * widgets/rb-property-view.c: (rb_property_view_class_init):
2292 * bindings/python/rhythmdb.defs: make RhythmDBQuery a type (rather
2293 than just plain GPtrArray, and add bindings for it.
2295 * bindings/python/rhythmdb.override: wrap some functions that use
2298 2006-03-30 Jonathan Matthew <jonathan@kaolin.wh9.net>
2300 * rhythmdb/rhythmdb.c: (rhythmdb_process_metadata_load):
2301 Only watch directories from which entries of type SONG have been
2304 2006-03-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
2306 * widgets/rb-library-browser.c: (rb_library_browser_set_selection):
2307 No need to restore the selection after rebuilding the child model,
2308 since that can't have changed the selection.
2310 2006-03-29 James Livingston <doclivingston@gmail.com>
2312 * bindings/python/override_common.c:
2313 * bindings/python/override_common.h: add some for missing files to
2316 2006-03-29 James Livingston <doclivingston@gmail.com>
2319 * bindings/python/Makefile.am: remove usage of gtksourceview, it was
2320 copied from gedit's autofoo and we don't need it
2322 * bindings/python/rhythmdb.defs:
2323 * bindings/python/rhythmdb.override: add missing files to cvs
2325 2006-03-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
2327 * data/ui/rhythmbox-ui.xml: Add 'add to queue' menu item.
2328 * metadata/rb-metadata-dbus-service.c: (main): Call rb_debug_init
2329 before running any of the debug/test modes.
2330 * plugins/rb-plugins-engine.c: (rb_plugins_engine_load_all):
2331 Make plugin loading work when running uninstalled from the shell/
2334 2006-03-29 James Livingston <doclivingston@gmail.com>
2336 * rhythmdb/rhythmdb-property-model.c:
2337 (rhythmdb_property_model_sync),
2338 (rhythmdb_property_model_column_get_type):
2339 * rhythmdb/rhythmdb-property-model.h: make the column enum a GType
2341 * rhythmdb/rhythmdb-private.h:
2342 * rhythmdb/rhythmdb-query-model.c:
2343 (rhythmdb_query_model_class_init):
2344 * rhythmdb/rhythmdb-query-model.h:
2345 * rhythmdb/rhythmdb.c: (rhythmdb_class_init),
2346 (rhythmdb_compute_status_normal), (rhythmdb_get_property_type),
2347 (rhythmdb_entry_get_type):
2348 * rhythmdb/rhythmdb.h: make RhythmDBEntry a GType.
2350 * widgets/rb-query-creator-properties.c:
2351 * widgets/rb-song-display-box.c: #include <gnome-vfs-utils.h>, which
2354 * bindings/python/Makefile.am:
2355 * bindings/python/rb.defs:
2356 * bindings/python/rb.override:
2357 * plugins/rb-python-module.c: (rb_python_module_init_python): add
2358 Python bindings for RhythmDB.
2360 2006-03-29 James Livingston <doclivingston@gmail.com>
2362 * shell/rb-shell.c: (rb_shell_constructor): don't activate DAAP
2363 sharing when using --no-registration
2365 2006-03-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
2367 * rhythmdb/rhythmdb-query-model.c:
2368 (rhythmdb_query_model_reapply_query):
2369 Don't remove entries while iterating, as it breaks the sequence
2370 nodes. Instead, collect a list of removed entries and process it
2371 after iterating the sequence. Fixes #334642.
2373 2006-03-29 James Livingston <doclivingston@gmail.com>
2375 * plugins/rb-plugin-manager.c: (active_toggled_cb),
2376 (row_activated_cb), (plugin_manager_toggle_all):
2377 * sources/rb-sourcelist.c: (rb_sourcelist_source_to_iter),
2378 (rb_sourcelist_visible_source_to_iter), (row_activated_cb),
2379 (button_press_cb), (source_name_edited_cb):
2380 * widgets/rb-property-view.c: (rb_property_view_set_property),
2381 (rb_property_view_post_row_deleted_cb),
2382 (rb_property_view_row_activated_cb),
2383 (rb_property_view_selection_changed_cb),
2384 (rb_property_view_button_press_cb): fix warnings with GTK HEAD, about
2385 ignoring the return value of gtk_tree_model_get_iter. Fixes bug 335516.
2387 2006-03-29 Jonathan Matthew <jonathan@kaolin.wh9.net>
2389 * rhythmdb/rhythmdb-query-model.c:
2390 (rhythmdb_query_model_drag_data_received):
2391 Increment the reference count for entries added by drag and drop.
2394 2006-03-27 Jonathan Matthew <jonathan@kaolin.wh9.net>
2396 * daapsharing/rb-daap-connection.c: (entry_set_string_prop):
2397 * metadata/rb-metadata-gst.c: (rb_metadata_gst_load_tag):
2398 Ignore invalid UTF-8 strings. Fixes most of #334167.
2400 2006-03-27 James Livingston <doclivingston@gmail.com>
2402 * shell/rb-shell.c: (rb_shell_constructor),
2403 (rb_shell_sync_window_state): fix a maximise-realise race that would
2404 cause some widgets to be resized after we had explicity set theri
2405 size. Hopefully fixes bug 331927.
2407 2006-03-27 James Livingston <doclivingston@gmail.com>
2409 * plugins/rb-plugin-manager.c: (active_toggled_cb),
2410 (row_activated_cb), (plugin_manager_set_active),
2411 (plugin_manager_toggle_active), (plugin_manager_toggle_all): update
2412 configure button sensitivity when a plugin is enabled/disabled.
2414 2006-03-27 James Livingston <doclivingston@gmail.com>
2416 * data/glade/plugins.glade: turn from a GtkDialog to a GtkWindow to
2417 stop warnings, only the vbos is used anyway
2419 * plugins/rb-plugins-engine.c: (garbage_collect_cb),
2420 (rb_plugins_engine_init), (rb_plugins_engine_shutdown): run gabage
2421 collection every now an then.
2423 * plugins/rb-python-plugin.c: (rb_python_object_finalize): don't crash
2424 if we are finalising because the python object couldn't be created.
2426 * plugins/rb-python-module.c: (rb_python_module_new_object): return
2427 NULL if the python-side object couldn't be created. Stops crashes when
2428 the object is later used when it doesn't exist in Python.
2430 (run_gc), (rb_python_garbage_collect), (finalise_collect_cb),
2431 (rb_python_shutdown): do better garbage collection when shutting down.
2432 Fixes the problem where Python was holding a reference to the shell,
2433 causing RB not to exit.
2435 2006-03-27 James Livingston <doclivingston@gmail.com>
2437 * configure.ac: don't define HAVE_LIBSOUP when we don't. Fixes bug
2440 2006-03-27 James Livingston <doclivingston@gmail.com>
2442 * data/iradio-initial.pls: Change the AfterHours DJ stream address.
2445 2006-03-26 James Livingston <doclivingston@gmail.com>
2447 * rhythmdb/rhythmdb.c: (rhythmdb_sync_library_location): set the
2448 library location list to NULL after we free it. Fixes bug 336047.
2450 2006-03-26 James Livingston <doclivingston@gmail.com>
2452 patch by: Alex Lancaster <alexl@users.sourceforge.net>
2454 * sources/rb-audiocd-source.c: use the release-date that MusicBrainz
2455 supplies. Fixes bug 335947.
2457 2006-03-25 James Livingston <doclivingston@gmail.com>
2459 * data/glade/audioscrobbler-prefs.glade:
2460 * shell/rb-audioscrobbler.c:
2461 (rb_audioscrobbler_enabled_check_changed_cb): move and rename the
2462 "submit songs" checkbox, and make it not disable username/password
2463 entry. This will be needed when we support other last.fm stuff
2464 (profile access, radio, etc).
2466 2006-03-24 Dennis Cranston <dennis_cranston@yahoo.com>
2468 * widgets/bacon-volume.c: (bacon_volume_scale_value_changed):
2469 Volume should not display stock_volume-0 for volume > 0. Fixes bug
2472 2006-03-24 James Livingston <doclivingston@gmail.com>
2474 * shell/rb-shell-player.c: (rb_shell_player_set_property),
2475 (rb_shell_player_sync_play_order),
2476 (rb_shell_player_play_order_update_cb),
2477 (actually_set_playing_source): update the next/previous availablility
2478 in places where it was missing. Fixes bug 335490.
2480 2006-03-24 James Livingston <doclivingston@gmail.com>
2482 * lib/rb-glade-helpers.c: (rb_glade_boldify_label): don't crash if we
2483 can't find the widget
2485 * lib/rb-util.c: (rb_uri_list_parse):
2486 * lib/rb-util.h: add function for parsing a URI list into strings.
2488 * metadata/Makefile.am: make the metdata helper build when linking
2491 * podcast/rb-podcast-manager.c: (rb_podcast_manager_copy_post): use
2492 g_mkdir_with_parents instead of coding our own.
2494 * podcast/rb-podcast-parse.c: (rb_set_channel_value): prefer
2495 <itunes:author> over <generator>, instead of using whichever comes
2498 * rhythmdb/rhythmdb-private.h:
2499 * rhythmdb/rhythmdb.c: (rhythmdb_entry_allocate): remove the "magic"
2500 field, as we don't ever check it (to detect corruption). Saves a bit
2503 2006-03-24 Jonathan Matthew <jonathan@kaolin.wh9.net>
2505 * lib/rb-file-helpers.c: (escape_extra_gnome_vfs_chars),
2506 (rb_uri_handle_recursively_cb), (rb_canonicalise_uri):
2507 Escape '&' and '=' in the paths we get back from
2508 gnome_vfs_directory_visit. Fixes #333998 a bit more.
2510 2006-03-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
2512 * shell/rb-shell.c: (rb_shell_constructor):
2513 Issue startup notification after creating the main window, so
2514 notification is issued whether the window is visible or not.
2517 2006-03-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
2519 * sources/rb-auto-playlist-source.c: (impl_search),
2520 (rb_auto_playlist_source_query_complete_cb),
2521 (rb_auto_playlist_source_do_query):
2522 * sources/rb-library-source.c: (impl_search),
2523 (rb_library_source_query_complete_cb),
2524 (rb_library_source_do_query):
2525 Defer subset searches (where text is appended to an existing search)
2526 until the original query is complete.
2528 2006-03-21 Ryan P Skadberg <skadz@stigmata.org>
2530 patch by: Jonathan Matthew <jonathan@kaolin.wh9.net>
2532 * rhythmdb/rb-refstring.c: (rb_refstring_get_folded),
2533 (rb_refstring_get_sort_key): fixes for strict-aliasing
2535 2006-03-21 James Livingston <jrl@ids.org.au>
2537 * shell/rb-shell.c: (rb_shell_load_uri): don't add a new playlist when
2538 importing a single file. Fixes bug 335307.
2540 2006-03-21 James Livingston <jrl@ids.org.au>
2542 * shell/Makefile.am: remove the reference to backends/ that I
2543 accidently included.
2545 2006-03-21 James Livingston <jrl@ids.org.au>
2547 patch by: Brian Cameron <brian.cameron@sun.com> to fix comilation
2548 with Forte (on Solaris). Closes bug 335318.
2552 * player/rb-recorder-gst.c:
2553 * podcast/rb-podcast-parse.c:
2554 * remote/bonobo/Makefile.am:
2555 * remote/rb-remote-proxy.c: (rb_remote_proxy_set_repeat):
2556 * rhythmdb/rhythmdb-query-model.c: (idle_process_update),
2557 (rhythmdb_query_model_add_entry),
2558 (rhythmdb_query_model_add_results):
2559 * rhythmdb/rhythmdb.c: (rhythmdb_entry_foreach):
2560 * rhythmdb/rhythmdb.h:
2561 * shell/Makefile.am:
2562 * sources/rb-playlist-source-recorder.c: (get_write_speeds),
2563 (update_speed_combobox):
2564 * sources/rb-sourcelist-model.c:
2566 2006-03-21 James Livingston <jrl@ids.org.au>
2568 Patch by: Alex Lancaster <alexl@users.sourceforge.net>
2570 * player/Makefile.am:
2571 * shell/Makefile.am: work correctly with a separate build root.
2573 2006-03-21 James Livingston <jrl@ids.org.au>
2575 * rhythmdb/rhythmdb.c: (rhythmdb_monitor_uri_path): don't crash if we
2578 2006-03-21 Jonathan Matthew <jonathan@kaolin.wh9.net>
2580 * rhythmdb/rhythmdb.c: (rhythmdb_add_import_error_entry):
2581 Only create ignore entries when importing into the library.
2582 Ignore entries for files in removable media sources don't help.
2584 2006-03-21 Jonathan Matthew <jonathan@kaolin.wh9.net>
2586 * shell/rb-source-header.c: (rb_source_header_focus_search_box):
2587 * shell/rb-source-header.h:
2588 * widgets/rb-search-entry.c: (rb_search_entry_grab_focus):
2589 * widgets/rb-search-entry.h:
2590 Add functions to make the search box grab focus.
2592 * shell/rb-shell.c: (rb_shell_cmd_view_all):
2593 Focus the search box after handling the 'view all' action.
2595 2006-03-20 Jonathan Matthew <jonathan@kaolin.wh9.net>
2597 * rhythmdb/rhythmdb.h:
2598 * rhythmdb/rhythmdb.c: (rhythmdb_init),
2599 (rhythmdb_execute_multi_stat_info_cb),
2600 (rhythmdb_start_action_thread), (rhythmdb_execute_stat_info_cb),
2601 (rhythmdb_execute_stat), (queue_stat_uri), (rhythmdb_execute_load),
2602 (action_thread_main):
2603 Collect all the get_file_info requests on startup into one gnome-vfs
2604 job to reduce overhead and avoid contention for the rhythmdb lock.
2605 Add a new method to call when all initial query models are set up.
2607 * shell/rb-shell.c: (idle_handle_load_complete):
2608 Call rhythmdb startup complete function when we've loaded all the
2609 playlists. Fixes #334106.
2611 2006-03-20 James Livingston <jrl@ids.org.au>
2613 * widgets/rb-entry-view.c: (rb_entry_view_set_property),
2614 (rb_entry_view_selection_changed_cb),
2615 (rb_entry_view_have_complete_selection): make has_complete_selection
2616 not slow. Fixes a performance issue I added a week or so ago.
2618 2006-03-20 James Livingston <jrl@ids.org.au>
2620 * shell/rb-shell-player.c: (volume_pre_unmount_cb): check for NULL
2621 before passing to strcmp. From bug 334559.
2623 2006-03-20 Jonathan Matthew <jonathan@kaolin.wh9.net>
2627 * lib/rb-proxy-config.c:
2628 * lib/rb-proxy-config.h:
2629 Add a new object to watch the HTTP proxy configuration and emit
2630 signals when it changes.
2632 * shell/rb-audioscrobbler.c:
2633 * shell/rb-audioscrobbler.h:
2634 Use rb-proxy-config to watch HTTP proxy configuration.
2637 Construct rb-proxy-config object on startup, and remove all
2638 audioscrobbler references.
2640 * shell/Makefile.am:
2641 * plugins/audioscrobbler/Makefile.am:
2642 * plugins/audioscrobbler/rb-audioscrobbler-plugin.c:
2643 Move all audioscrobbler code into the plugin. We should move
2644 rb-audioscrobbler.* from shell/ to plugins/audioscrobbler/ at some
2645 point. Don't use a private data structure in the plugin, since the
2646 class definition isn't in a header file. Fixes #335091.
2648 2006-03-20 James Livingston <jrl@ids.org.au>
2650 * shell/rb-shell-player.c: (rb_shell_player_play_order_update_cb):
2651 don't enable Next if the source has an EOS type other than
2652 RB_SOURCE_EOF_NEXT. Fixes bug 315120.
2654 2006-03-20 James Livingston <jrl@ids.org.au>
2656 * widgets/rb-song-info.c: (rb_song_info_backward_clicked_cb),
2657 (rb_song_info_forward_clicked_cb): deal with there being no
2658 next/previous entry.
2660 (rb_song_info_query_model_inserted_cb),
2661 (rb_song_info_query_model_deleted_cb),
2662 (rb_song_info_query_model_reordered_cb),
2663 (rb_song_info_query_model_changed_cb): monitor the query for changes,
2664 to update the button status. Fixes bug 333293.
2666 2006-03-20 James Livingston <jrl@ids.org.au>
2668 * shell/rb-shell.c: (rb_shell_set_visibility): fix minor sizing issue
2669 caused by my last commit
2671 2006-03-20 James Livingston <jrl@ids.org.au>
2673 * bindings/python/Makefile.am:
2674 * bindings/python/rb.defs:
2675 * bindings/python/rb.override: add python bindings of RBRemoteProxy
2677 * shell/rb-shell.c: (rb_shell_constructor),
2678 (rb_shell_set_visibility), (rb_shell_window_delete_cb): change
2679 tray-icon detection slightly
2681 2006-03-19 Steve Frécinaux <steve@istique.net>
2683 * data/ui/rhythmbox-ui.xml:
2686 Add an empty Tool Menu (hidden by default) containing placeholders for
2690 * plugins/Makefile.am:
2691 * plugins/pythonconsole/Makefile.am:
2692 * plugins/pythonconsole/pythonconsole.py:
2693 * plugins/pythonconsole/pythonconsole.rb-plugin.desktop.in:
2695 Python Console plugin
2697 2006-03-19 Jonathan Matthew <jonathan@kaolin.wh9.net>
2699 * lib/rb-file-helpers.c: (rb_canonicalise_uri):
2700 Extra step to encode '&' and '=' to match what gnome-vfs does
2702 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_start_element),
2703 (rhythmdb_tree_save):
2704 Increment rhythmdb xml version to 1.2, and force another uri
2705 re-canonicalisation when loading v1.1 databases.
2708 2006-03-19 Jonathan Matthew <jonathan@kaolin.wh9.net>
2710 * daapsharing/rb-daap-mdns-browser-avahi.c: (client_cb),
2711 (avahi_client_init), (browse_cb):
2712 * daapsharing/rb-daap-mdns-publisher-avahi.c: (client_cb),
2713 (avahi_client_init):
2714 Fix compilation with Avahi 0.5.x (bug #334551).
2716 2006-03-19 James Livingston <jrl@ids.org.au>
2718 Add Increase/Decrease Volume menu items and keybindings. From bug
2721 * data/ui/rhythmbox-ui.xml:
2722 * shell/rb-shell-player.c: (rb_shell_player_constructor),
2723 (rb_shell_player_init), (rb_shell_player_cmd_volume_up),
2724 (rb_shell_player_cmd_volume_down), (rb_shell_player_sync_volume):
2726 2006-03-19 James Livingston <jrl@ids.org.au>
2728 patch by: Mikhail Zabaluev <mhz@altlinux.org>
2730 * shell/Makefile.am: fix the link order, so that we compile with
2731 "LDFLAGS=-Wl,--as-needed". Fixes bug 334852.
2733 2006-03-19 James Livingston <jrl@ids.org.au>
2735 patch by: Adam Petaccia <adam@tpetaccia.com>
2737 * data/ui/rhythmbox-ui.xml: move preferences below "configure
2738 plugins". Fixes bug 335037.
2740 2006-03-18 James Livingston <jrl@ids.org.au>
2742 * rhythmdb/rb-refstring.c: (rb_refstring_get_folded),
2743 (rb_refstring_get_sort_key): fix type-punning warnings. Closes bug
2746 * widgets/rb-header.c: don't make artist/album info in the header the
2747 small size, since it's hard to read.
2749 2006-03-16 William Jon McCann <mccann@jhu.edu>
2751 * rhythmdb/rhythmdb.c (rhythmdb_init): Make deleted_entries a hash.
2752 (rhythmdb_finalize): Don't leak the hash tables.
2753 (rhythmdb_emit_entries_deleted_idle, process_deleted_entries_cb)
2754 (rhythmdb_commit_internal): Make sure to process the deletions.
2755 (rhythmdb_entry_delete): Use a hash.
2757 * podcast/rb-podcast-manager.c: Random analness about char*
2758 (rb_podcast_manager_remove_feed): Add debugging.
2759 (rb_podcast_manager_db_entry_deleted_cb): Ditto. Check
2760 the result of gnome_vfs_unlink. Don't leak a uri.
2764 2006-03-18 James Livingston <jrl@ids.org.au>
2766 * NEWS: update NEWS file
2768 2006-03-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
2770 * rhythmdb/rhythmdb-property-model.c:
2771 (rhythmdb_property_model_prop_changed_cb):
2772 Remove entries from the hash table after processing visible->hidden
2775 2006-03-16 William Jon McCann <mccann@jhu.edu>
2777 * sources/rb-daap-source.c (connection_connected_cb)
2778 (connection_disconnected_cb): Add debug.
2779 (rb_daap_source_get_headers): Check for NULL connection.
2781 * daapsharing/rb-daap-src.c (rb_daap_src_open):
2782 Check return value of rb_daap_source_get_headers.
2786 2006-03-16 Jonathan Matthew <jonathan@kaolin.wh9.net>
2788 * widgets/rb-library-browser.c: (rb_library_browser_set_selection):
2789 Restore the selection after rebuilding the child model, so the
2790 selection is shown correctly after using the 'browse this
2791 album/artist/genre' menu items.
2793 2006-03-15 Jonathan Matthew <jonathan@kaolin.wh9.net>
2795 * widgets/rb-entry-view.c: (rb_entry_view_set_property):
2796 Clear the selection before changing the active model.
2797 Fixes crash reported in bug 334549.
2799 2006-03-15 James Livingston <jrl@ids.org.au>
2801 * shell/rb-tray-icon.c: (rb_tray_icon_constructor),
2802 (rb_tray_icon_sync_action):
2803 * widgets/eggtrayicon.c: (egg_tray_icon_send_message),
2804 (egg_tray_icon_cancel_message), (egg_tray_icon_notify): remove support
2805 for non-libnotify notification bubbles. Fixes bug 331721.
2807 2006-03-15 James Livingston <jrl@ids.org.au>
2809 Add search-bar options to playlists. Fixes bug 334407.
2811 * sources/rb-auto-playlist-source.c:
2812 (rb_auto_playlist_source_class_init),
2813 (rb_auto_playlist_source_constructor),
2814 (rb_auto_playlist_source_do_query), (impl_get_search_actions),
2815 (search_action_to_prop), (search_action_changed):
2816 * sources/rb-static-playlist-source.c:
2817 (rb_static_playlist_source_class_init),
2818 (rb_static_playlist_source_constructor),
2819 (construct_query_from_selection), (impl_get_search_actions),
2820 (search_action_to_prop), (search_action_changed):
2822 2006-03-14 William Jon McCann <mccann@jhu.edu>
2824 * shell/rb-source-header.c (rb_source_header_set_source_internal):
2825 Remove broken attempt at making the search bar buttons not
2826 homogeneous. It wasn't working and was causing some UI sizing weirdness.
2828 2006-03-14 William Jon McCann <mccann@jhu.edu>
2830 * sources/rb-static-playlist-source.c (rb_static_playlist_source_dispose):
2831 Chain up to parent's dispose instead of finalize. Fixes #334479.
2833 2006-03-14 William Jon McCann <mccann@jhu.edu>
2835 * widgets/rb-header.c (rb_header_sync): Escape album and
2836 artist before adding to markup.
2838 2006-03-14 William Jon McCann <mccann@jhu.edu>
2840 * shell/rb-shell-player.c: (rb_shell_player_sync_with_source):
2841 * widgets/rb-header.c: (rb_header_class_init), (rb_header_init),
2842 (rb_header_set_property), (rb_header_get_property),
2844 Remove the GnomeUrl song links until we can do it properly.
2847 2006-03-14 Jonathan Matthew <jonathan@kaolin.wh9.net>
2849 * shell/rb-source-header.c: (rb_source_header_clear_search):
2850 Remove the stored search text from the hash table, so it doesn't
2851 reappear after switching to another source and back.
2853 * sources/rb-auto-playlist-source.c: (impl_search):
2854 * sources/rb-library-source.c: (impl_search), (impl_reset_filters):
2855 * sources/rb-static-playlist-source.c: (impl_search):
2856 Make sure all sources treat impl_search(NULL) and impl_search("") the
2857 same. Fixes #334525.
2859 2006-03-14 James Livingston <jrl@ids.org.au>
2861 Store which thread created new entries, and make rhythmdb_commit only
2862 insert the entries for the thread that calls it. This stops one thread
2863 calling rhythmdb_commit inserting entries that are half-way through
2864 construction by another thread (as happens with audio cds). From bug
2867 * rhythmdb/rhythmdb.c: (rhythmdb_init),
2868 (rhythmdb_emit_entries_added_idle), (process_added_entries_cb),
2869 (rhythmdb_commit_internal), (timeout_rhythmdb_commit),
2870 (rhythmdb_add_timeout_commit), (rhythmdb_commit),
2871 (rhythmdb_entry_insert), (rhythmdb_add_import_error_entry),
2872 (rhythmdb_process_metadata_load),
2873 (rhythmdb_process_queued_entry_set_event),
2874 (rhythmdb_prop_get_type):
2876 2006-03-14 Jonathan Matthew <jonathan@kaolin.wh9.net>
2878 * rhythmdb/rhythmdb-query-model.c:
2879 (rhythmdb_query_model_class_init), (rhythmdb_query_model_dispose),
2880 (rhythmdb_query_model_finalize):
2881 Move object unrefs from _finalize into _dispose.
2883 * shell/rb-play-order.c: (rb_play_order_query_model_changed):
2884 Remove extra g_object_ref that was causing query model leaks.
2886 * sources/rb-iradio-source.c: (rb_iradio_source_dispose),
2887 (rb_iradio_source_constructor), (impl_search), (genre_selected_cb),
2888 (genre_selection_reset_cb), (rb_iradio_source_do_query):
2889 Remove the cached 'all' query, since it doesn't really help and it
2890 makes the code more complicated. Attach the genre property view to
2891 the query model build from the search text, so only genres for
2892 stations matching the search terms are displayed. Preserve the genre
2893 selection across searches.
2895 * widgets/rb-library-browser.c:
2896 (rb_library_browser_class_init), (rb_library_browser_get_property):
2897 Add properties for the input and output models for the browser, and
2898 remove the 'changed' signal as we can just use notify::output-model.
2899 (ignore_selection_changes),
2900 (selection_restore_data_destroy), (query_complete_cb),
2901 (restore_selection): Helper functions for preserving selections across
2902 query model rebuilds.
2903 (rebuild_output_model): New function for creating a query model to
2904 use as the display model for a source using the browser.
2905 (rebuild_child_model): Add a call to rebuild_output_model, add missing
2906 g_object_unrefs, reuse the parent's query model when there's no
2907 selection, and use ignore_selection_changes and restore_selection.
2908 (rb_library_browser_set_selection): rebuild_child_model emits the
2909 changed signal, so no need to do it here.
2910 (rb_library_browser_set_model): Add missing g_object_unrefs, and use
2911 ignore_selection_changes and restore_selection.
2912 * widgets/rb-library-browser.h: Remove 'changed' signal, and add a
2913 flag to rb_library_browser_set_model indicating whether the query is
2916 * sources/rb-static-playlist-source.c:
2917 (rb_static_playlist_source_class_init),
2918 (rb_static_playlist_source_dispose):
2919 (rb_static_playlist_source_constructor): Add an extra reference on
2920 the base model, so it doesn't vanish when we set a new display model
2921 based on a search or browser selection.
2922 (impl_search): Ensure the search_text field in the source is NULL if
2923 the search box is empty.
2924 (construct_query_from_selection),
2925 (rb_static_playlist_source_do_query): Use the query model constructed
2926 from the search as the input model for the browser.
2927 (rb_static_playlist_source_browser_changed_cb): Use the browser's
2928 output model as the query model for the source.
2930 * sources/rb-auto-playlist-source.c:
2931 (rb_auto_playlist_source_finalize): Free more stuff.
2932 (rb_auto_playlist_source_constructor),
2933 (rb_auto_playlist_source_browser_changed_cb):
2934 Update for rb-library-browser changes, use the browser's output query
2935 model as the query model for the source.
2936 (impl_reset_filters), (impl_search),
2937 (rb_auto_playlist_source_do_query),
2938 (rb_auto_playlist_source_set_query):
2939 Use the query model constructed from the search text as the input to
2940 the library browser, and when adding text to an existing search, apply
2941 the new query to the existing query model.
2943 * sources/rb-library-source.c: (rb_library_source_dispose):
2944 (rb_library_source_finalize): Chain dispose up to the parent class.
2945 (rb_library_source_constructor): Update for rb-library-browser
2947 (impl_search): Ensure search_text is NULL if the search box is empty,
2948 and use the subset flag to _do_query if text has been appended to an
2950 (search_action_changed), (impl_reset_filters):
2951 (rb_library_source_browser_changed_cb),
2952 (rb_library_source_do_query): Use the browser's output model as the
2953 query model for the source.
2955 Rework library and playlist sources to use a single query chain,
2956 and to limit the entries shown in property views based on the search
2957 terms. Fixes bug #322787.
2959 2006-03-14 Jonathan Matthew <jonathan@kaolin.wh9.net>
2961 * configure.ac: Enable metadata helper by default, and fix a typo.
2963 2006-03-13 James Livingston <jrl@ids.org.au>
2965 Make RBRefStrings lazily create the folded and sort-key strings when
2966 they are first used. This will same some memory by not creating ones
2967 that are never used, and delaying some of the others to when the user
2968 resorts or performs a similar action. Fixes bug 332992.
2970 * rhythmdb/rb-refstring.c: (rb_refstring_free),
2971 (rb_refstring_system_init), (rb_refstring_new), (rb_refstring_ref),
2972 (rb_refstring_get), (rb_refstring_get_folded),
2973 (rb_refstring_get_sort_key), (rb_refstring_hash),
2974 (rb_refstring_equal):
2975 * rhythmdb/rb-refstring.h:
2976 * rhythmdb/rhythmdb.c: (rhythmdb_entry_sync_mirrored):
2978 2006-03-12 William Jon McCann <mccann@jhu.edu>
2980 * data/ui/rhythmbox-ui.xml:
2981 * lib/rb-stock-icons.c: (rb_stock_icons_init):
2982 * lib/rb-stock-icons.h:
2983 * shell/rb-shell-player.c:
2984 * shell/rb-shell.c: (rb_shell_constructor):
2985 * shell/rb-source-header.c: (force_no_shadow),
2986 (ui_manager_add_widget_cb), (rb_source_header_constructor),
2987 (rb_source_header_class_init), (rb_source_header_init),
2988 (merge_source_ui_cb), (toolbar_set_homogeneous),
2989 (rb_source_header_set_source_internal),
2990 (rb_source_header_set_property), (rb_source_header_get_property),
2991 (rb_source_header_set_source), (rb_source_header_new),
2992 (rb_source_header_filter_changed_cb):
2993 * shell/rb-source-header.h:
2994 * sources/rb-library-source.c: (rb_library_source_class_init),
2995 (rb_library_source_init), (search_action_to_prop),
2996 (search_action_changed), (rb_library_source_constructor),
2997 (impl_search), (impl_reset_filters), (impl_get_search_actions),
2998 (construct_query_from_selection):
2999 * sources/rb-podcast-source.c: (rb_podcast_source_class_init),
3000 (rb_podcast_source_init), (search_action_to_prop),
3001 (search_action_changed), (rb_podcast_source_constructor),
3002 (construct_query_from_selection), (impl_get_ui_actions),
3003 (impl_get_search_actions):
3004 * sources/rb-source.c: (rb_source_class_init),
3005 (rb_source_get_ui_actions), (default_get_search_actions),
3006 (rb_source_get_search_actions):
3007 * sources/rb-source.h:
3009 Add a search bar. Fixes #328618
3011 2006-03-12 James Livingston <jrl@ids.org.au>
3013 * rhythmdb/rhythmdb.c: (rhythmdb_commit_internal):
3014 * shell/main.c: (main): make --no-update not stat files checking for
3015 changes, instead of doing nothing. Fixes bug 125177.
3017 2006-03-12 James Livingston <jrl@ids.org.au>
3019 * podcast/rb-podcast-manager.c:
3020 (rb_podcast_manager_thread_parse_feed):
3021 * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed):
3022 * podcast/rb-podcast-parse.h: ask the user before rejecting a feed for
3023 having an invalid mime-type. Fixed bug 329813.
3025 2006-03-12 James Livingston <jrl@ids.org.au>
3027 Make ide tag-editing work on 0.10, if id3mux 0.10.2 is present.
3028 Finally lets us close bug 309609.
3030 * metadata/rb-metadata-gst.c: (id3_pad_added_cb),
3031 (rb_add_id3_tagger), (rb_metadata_init): make id3 tag editing work on
3034 * widgets/rb-song-info.c: (rb_song_info_sync_entries): fix the
3035 inverted logic of the editable check.
3037 2006-03-12 James Livingston <jrl@ids.org.au>
3039 Make API doc generation work again. Fixes bug 334276.
3041 * doc/reference/Makefile.am:
3042 * doc/reference/tmpl/rb-debug.sgml:
3043 * doc/reference/tmpl/rb-druid.sgml:
3044 * doc/reference/tmpl/rb-entry-view.sgml:
3045 * doc/reference/tmpl/rb-load-failure-dialog.sgml:
3046 * doc/reference/tmpl/rb-metadata.sgml:
3047 * doc/reference/tmpl/rb-shell.sgml:
3048 * doc/reference/tmpl/rhythmbox-unused.sgml:
3049 * doc/reference/tmpl/rhythmdb.sgml:
3051 2006-03-12 James Livingston <jrl@ids.org.au>
3053 * shell/rb-shell-clipboard.c:
3054 (rb_shell_clipboard_set_source_internal),
3055 (rb_shell_clipboard_sync): don't try to use the source's entry view if
3056 it doesn't have one. Fixes bug 331673.
3058 * sources/rb-source.c: (rb_source_class_init): provide a default
3059 have_url implementation that returns FALSE.
3061 2006-03-12 James Livingston <jrl@ids.org.au>
3063 * plugins/audioscrobbler/Makefile.am: don't delete as-powered.png when
3064 doing a distclean. Fixes bug 334221.
3067 Patch from Alex Lancaster <alexl@users.sourceforge.net>
3069 * data/glade/Makefile.am: add plugins.glade. Fixes bug 334201.
3071 2006-03-11 James Livingston <jrl@ids.org.au>
3073 * shell/rb-shell.c: (rb_shell_window_state_cb),
3074 (rb_shell_set_visibility), (rb_shell_window_configure_cb): don't
3075 update the window width/height when iconified. Stops the window
3076 changing size when it is restored from the tray, fixing bug 333824.
3078 2006-03-11 James Livingston <jrl@ids.org.au>
3080 Try to get cvs to actually add the necessary files for plugin support
3082 2006-03-11 James Livingston <jrl@ids.org.au>
3084 Add a plugin framework, with basic support for Python plugins (based
3085 on gedit's). Closes bug 330523.
3088 * shell/Makefile.am:
3089 * configure.ac: necessary autofoo.
3091 * data/ui/rhythmbox-ui.xml: add Edit->Plugins...
3093 * lib/rb-file-helpers.c: (rb_uri_get_dir_name):
3094 * lib/rb-file-helpers.h:
3096 * data/glade/plugins/glade:
3097 * lib/rb-preferences.h:
3099 * bindings/*: plugin framework
3102 * plugins/sample-python/*: sample plugins
3104 * plugins/audioscrobbler/*:
3105 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_class_init),
3106 (rb_audioscrobbler_set_property),
3107 (rb_audioscrobbler_gconf_changed_cb): turn audioscrobbler song
3108 submission into a plugin. shell/audioscrobbler.* should really be
3109 moved, but that sucks with cvs.
3112 * shell/rb-shell.c: (rb_shell_constructor),
3113 (rb_shell_cmd_preferences), (rb_shell_plugins_window_delete_cb),
3114 (rb_shell_plugins_response_cb), (rb_shell_cmd_plugins),
3115 (rb_shell_quit): start and stop plugin framework.
3117 2006-03-11 Jonathan Matthew <jonathan@kaolin.wh9.net>
3119 * rhythmdb/rhythmdb.c: (rhythmdb_commit_internal),
3120 (rhythmdb_entry_delete):
3121 Emit entry-deleted signals when rhythmdb_commit is called, rather than
3122 immediately, so we can't get change notifications afterwards.
3124 (rhythmdb_process_metadata_load): Add a commit after removing an
3125 entry so we can recreate it with a different type without getting
3128 2006-03-11 James Livingston <jrl@ids.org.au>
3130 * sources/rb-audiocd-source.c: (rb_audiocd_source_constructor): don't
3131 use the drive name for audio CDs, use "Unknown CD".
3133 2006-03-09 Jonathan Matthew <jonathan@kaolin.wh9.net>
3135 patch by: James Henstridge <james@jamesh.id.au>
3137 * sources/rb-removable-media-source.c:
3138 (rb_removable_media_source_constructor):
3139 Get the device name from the GnomeVFSDrive if possible,
3140 since this is usually a more descriptive name. Fixes #333080.
3142 2006-03-09 Jonathan Matthew <jonathan@kaolin.wh9.net>
3144 patch by: Alex Lancaster <alexl@users.sourceforge.net>
3146 * podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed):
3147 Don't automatically download episodes when configured for manual
3148 updating. Fixes #331564.
3150 2006-03-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
3152 * rhythmdb/rhythmdb-property-model.c:
3153 (rhythmdb_property_model_iter_from_string):
3154 Return an iterator for the 'all' property when name == NULL,
3155 and don't write to *iter if iter == NULL.
3157 2006-03-06 Jonathan Matthew <jonathan@kaolin.wh9.net>
3159 * shell/rb-shell-player.c: (rb_shell_player_do_next):
3160 When switching to the play queue, still call _go_next on the normal
3161 play order, so self-emptying auto playlists ("play count = 0" etc.)
3162 don't restart once the queue is empty.
3164 * shell/rb-tray-icon.c:
3165 Change shortcut for 'show notifications' to 'o' so it doesn't clash
3168 2006-03-05 James Livingston <jrl@ids.org.au>
3170 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_song_changed_cb):
3171 don't submit tracks which could not be played. Fixed bug 333013.
3173 * shell/rb-shell-player.c: (eos_cb): Don't update statistics for
3174 tracks which could not be played.
3176 2006-03-05 James Livingston <jrl@ids.org.au>
3178 Sync musicbrainz lookup code from Sound-Juicer cvs.
3180 * metadata/sj-metadata-musicbrainz.c:
3181 (sj_metadata_musicbrainz_instance_init), (metadata_interface_init),
3182 (get_offline_track_listing), (artist_and_title_from_title),
3183 (cache_rdf), (get_cached_rdf), (get_rdf), (lookup_cd),
3184 (mb_list_albums), (mb_get_submit_url):
3185 * metadata/sj-metadata.c: (sj_metadata_get_submit_url):
3186 * metadata/sj-metadata.h:
3187 * metadata/sj-structures.c: (track_details_free),
3188 (album_details_free):
3189 * metadata/sj-structures.h:
3191 2006-03-05 Jonathan Matthew <jonathan@kaolin.wh9.net>
3194 * lib/rb-debug.c: (rb_debug_real), (rb_debug_init),
3195 (rb_debug_init_match), (rb_profiler_new), (rb_profiler_dump),
3196 (rb_profiler_reset), (rb_profiler_free):
3197 Filter debug output by matching the file and function names against a
3200 * shell/main.c: (main):
3201 Add -D command line option to specify the debug match string.
3203 * shell/rb-removable-media-manager.c:
3204 (rb_removable_media_manager_mount_volume):
3205 Fix some typos in debug output.
3207 2006-03-03 James Livingston <jrl@ids.org.au>
3209 * shell/rb-playlist-manager.c: (rb_playlist_manager_parse_file):
3210 * shell/rb-shell.c: (rb_shell_load_uri):
3211 * sources/rb-generic-player-source.c: (visit_playlist_dirs):
3212 * sources/rb-iradio-source.c: (rb_iradio_source_add_from_playlist):
3213 use the new "recurse" property from totem-plparser, if present. Stop
3214 RB hanging for new users who don't have a 'net connection. From bug
3217 2006-03-02 Bastien Nocera <hadess@hadess.net>
3219 * shell/rb-removable-media-manager.c:
3220 (rb_removable_media_manager_mount_volume):
3221 * sources/Makefile.am:
3222 * sources/rb-nokia770-source.c: (rb_nokia770_is_volume_player):
3223 Fix missing files on make dist (conditional files), only build the
3224 N770 support if there's HAL support, as we have no other ways of
3227 2006-03-03 James Livingston <jrl@ids.org.au>
3229 * shell/rb-shell-clipboard.c:
3230 (rb_shell_clipboard_set_source_internal): really fix it this time.
3233 2006-03-03 James Livingston <jrl@ids.org.au>
3235 * shell/rb-shell-clipboard.c: (rb_shell_clipboard_sync): fix issue
3236 with the idle function not being removed.
3238 2006-03-02 James Livingston <jrl@ids.org.au>
3240 * widgets/rb-entry-view.c: (rb_entry_view_have_complete_selection):
3241 * widgets/rb-entry-view.h: add function for determining whether all
3242 entries are selected.
3244 * shell/rb-shell-clipboard.c: (rb_shell_clipboard_init),
3245 (rb_shell_clipboard_set_source_internal),
3246 (rb_shell_clipboard_finalize),
3247 (rb_shell_clipboard_idle_poll_deletions),
3248 (rb_shell_clipboard_entryview_changed_cb),
3249 (rb_shell_clipboard_entries_changed_cb): watch for entry additions and
3250 removals, to update things.
3252 (rb_shell_clipboard_sync): update the Select All and Select None
3253 sensitivity, based on what is selected. Fixed bug 172220.
3255 2006-03-02 James Livingston <jrl@ids.org.au>
3257 * widgets/rb-library-browser.c: (rebuild_child_model): save and
3258 restore the selections of later models. This means that selecting the
3259 artist for the selected album does not reset the album selection.
3261 2006-03-02 James Livingston <jrl@ids.org.au>
3263 * data/ui/rhythmbox-ui.xml: add the missing UI for generic players.
3264 Stops it emitting critical warnings.
3266 2006-03-02 James Livingston <jrl@ids.org.au>
3268 * lib/rb-file-helpers.c: (rb_uri_append_uri):
3269 * lib/rb-file-helpers.h: Add uri concatenation function for when the
3270 second fragment is already escaped.
3272 * sources/rb-generic-player-source.c:
3273 (rb_generic_player_source_class_init),
3274 (rb_generic_player_source_constructor), (impl_show_popup),
3275 (rb_generic_player_source_load_playlists),
3276 (rb_generic_player_source_transform_playlist_uri),
3277 (handle_playlist_entry_cb), (visit_playlist_dirs),
3278 (default_load_playlists), (default_transform_playlist_uri):
3279 * sources/rb-generic-player-source.h: scan for playlists (m3u, pls) on
3280 the device. Allow subclasses to override the playlist loading, and
3281 (playlist uri)->(actual uri) mapping. A lot of devices which have
3282 playlists won't work right now, but people will see them and hopefully
3285 * sources/rb-psp-source.c: (rb_psp_source_class_init),
3286 (rb_psp_source_create_playlists): Adapt the PSP for the above change
3288 * sources/Makefile.am:
3289 + sources/rb-nokia770-source.{c,h}:
3290 * shell/rb-removable-media-manager.c:
3291 (rb_removable_media_manager_mount_volume): Add support for reading
3292 playlists of Nokia 770s.
3294 2006-03-02 Jonathan Matthew <jonathan@kaolin.wh9.net>
3296 * data/glade/podcast-properties.glade:
3297 * podcast/rb-podcast-properties-dialog.c:
3298 (rb_podcast_properties_dialog_init),
3299 (rb_podcast_properties_dialog_update),
3300 (rb_podcast_properties_dialog_update_location),
3301 (rb_podcast_properties_dialog_update_download_location):
3302 Add 'download location' field showing the path to the downloaded copy.
3305 2006-03-01 Bastien Nocera <hadess@hadess.net>
3307 * configure.ac: simplify HAVE_HAL define
3309 2006-03-01 Bastien Nocera <hadess@hadess.net>
3312 * lib/rb-file-helpers.c: (rb_uri_append_path):
3313 * lib/rb-file-helpers.h:
3314 * shell/rb-removable-media-manager.c:
3315 (rb_removable_media_manager_mount_volume):
3316 * sources/Makefile.am:
3317 * sources/rb-ipod-source.c:
3318 * sources/rb-psp-source.*:
3319 Patch from James Livingston <jrl@ids.org.au> to add read-only Sony PSP
3320 support, additional HAL < 0.5 support by yours truly (Closes: #332337)
3322 2006-03-02 James Livingston <jrl@ids.org.au>
3324 * shell/rb-shell-player.c: (rb_shell_player_set_property),
3325 (rb_shell_player_play), (rb_shell_player_jump_to_current),
3326 (swap_playing_source), (rb_shell_player_playpause),
3327 (rb_shell_player_sync_buttons), (actually_set_playing_source),
3328 (rb_shell_player_set_playing_source_internal): check for the entry
3329 view being NULL before trying to use it. Lets us support sources which
3330 don't have an entry view. From bug 331673.
3332 2006-03-01 Bastien Nocera <hadess@hadess.net>
3334 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_load_queue):
3335 use gnome_vfs_read_entire_file with a URI, not a local filename
3337 2006-03-01 James Livingston <jrl@ids.org.au>
3339 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element): handle
3340 first-seen and last-seen when merging duplicate entries.
3342 2006-03-01 Jonathan Matthew <jonathan@kaolin.wh9.net>
3344 * widgets/rb-property-view.c: (rb_property_view_set_search_func):
3345 * widgets/rb-property-view.h: New function, allowing custom
3346 interactive search functions for property views.
3348 * sources/rb-podcast-source.c:
3349 (feed_select_change_cb): Only do a new query when the selection
3351 (rb_podcast_source_constructor),
3352 (rb_podcast_source_feed_title_search_func):
3353 Interactive search function for podcast feed titles. Fixes #327451.
3355 2006-03-01 James Livingston <jrl@ids.org.au>
3357 * rhythmdb/rhythmdb.c: (rhythmdb_execute_stat_info_cb): don't chaneg
3358 the uri in the callback, since it causes symbols to not be escaped.
3361 * data/ui/rhythmbox-ui.xml:
3362 * sources/rb-import-errors-source.c:
3363 (rb_import_errors_source_class_init),
3364 (rb_import_errors_source_constructor), (impl_get_status),
3365 (impl_move_to_trash),
3366 (rb_import_errors_source_songs_show_popup_cb): add move-to-trash for
3367 import errors source
3369 * widgets/rb-entry-view.c: (rb_entry_view_location_cell_data_func),
3370 (rb_entry_view_append_column): unescape the URI for display.
3372 2006-03-01 James Livingston <jrl@ids.org.au>
3374 * rhythmdb/rhythmdb.c: (rhythmdb_add_import_error_entry),
3375 (rhythmdb_process_metadata_load): fix crashers when the vfs get info
3378 2006-02-28 Dennis Cranston <dennis_cranston@yahoo.com>
3380 * shell/rb-shell-clipboard.c: Use lowercase "to" in "Move to Trash".
3381 * shell/rb-shell.c: Use "Play Queue" and "Side Pane" terminology.
3382 * sources/rb-play-queue-source.c:
3383 (rb_play_queue_source_constructor), (rb_play_queue_source_new),
3384 (rb_play_queue_source_update_count): Use "Play Queue" instead
3389 2006-03-01 James Livingston <jrl@ids.org.au>
3391 * data/rhythmbox.schemas: change "boolean" to "bool" in the schema.
3394 2006-03-01 James Livingston <jrl@ids.org.au>
3396 * daapsharing/rb-daap-mdns-browser-howl.c:
3397 (rb_daap_mdns_browser_class_init), (rb_daap_mdns_browser_finalize):
3398 * daapsharing/rb-daap-mdns-publisher-avahi.c:
3399 (rb_daap_mdns_publisher_class_init),
3400 (rb_daap_mdns_publisher_finalize):
3401 * lib/rb-thread.c: (rb_thread_class_init), (rb_thread_finalize):
3402 * player/rb-recorder-gst.c: (rb_recorder_class_init),
3403 (rb_recorder_finalize):
3404 * rhythmdb/rhythmdb-query-model.c:
3405 (rhythmdb_query_model_constructor):
3406 * sources/rb-audiocd-source.c: (rb_audiocd_source_constructor):
3407 * sources/rb-ipod-source.c: (rb_ipod_source_constructor):
3408 * sources/rb-playlist-source-recorder.c:
3409 (rb_playlist_source_recorder_style_set),
3410 (rb_playlist_source_recorder_class_init),
3411 (rb_playlist_source_recorder_finalize):
3412 * widgets/rb-query-creator.c: (rb_query_creator_constructor): fix the
3413 other classes in the same way, so they don't break when derived from.
3415 2006-03-01 James Livingston <jrl@ids.org.au>
3417 * sources/rb-generic-player-source.c:
3418 (rb_generic_player_source_constructor): don't get the parent class in
3419 a dumb way, and it breaks when the class is derived from.
3421 2006-02-28 Abel Cheung <maddog@linuxhall.org>
3423 * configure.ac: Added "zh_HK" to ALL_LINGUAS.
3425 2006-03-01 James Livingston <jrl@ids.org.au>
3427 * rhythmdb/gsequence.c: fix a typo in the last commit, that makes it
3428 not work in glib 2.8 systems.
3430 2006-03-01 James Livingston <jrl@ids.org.au>
3432 * lib/rb-file-helpers.c: (rb_uri_is_local): just check for the file://
3433 prefix instead of using gnome_vfs_uri_is_local, since the gnomevfs dev
3436 * podcast/rb-podcast-manager.c: (rb_podcast_manager_copy_post),
3437 (rb_podcast_manager_db_entry_deleted_cb): don't stop people putting
3438 podcasts on ion-local places
3440 * rhythmdb/gsequence.c: (g_sequence_node_new),
3441 (g_sequence_node_free): use gslice if we are building against glib
3444 * rhythmdb/rhythmdb.c: (rhythmdb_execute_stat): always async stats for
3445 local files too, so it doesn't block.
3447 2006-02-28 James Livingston <jrl@ids.org.au>
3449 * rhythmdb/rhythmdb.c: (rhythmdb_commit_internal): just check for the
3450 file:// prefix, instead of using gnome_vfs_uri_is_local, since that
3451 stats the file. Stops the UI blocking while stats are done.
3453 2006-02-28 James Livingston <jrl@ids.org.au>
3455 * sources/rb-static-playlist-source.c:
3456 (rb_static_playlist_source_class_init),
3457 (rb_static_playlist_source_constructor), (impl_reset_filters),
3458 (impl_get_property_views), (impl_browser_toggled),
3459 (rb_static_playlist_source_do_query),
3460 (rb_static_playlist_source_browser_changed_cb): add browsers to static
3461 playlists. From bug 118862.
3463 * sources/rb-play-queue-source.c:
3464 (rb_play_queue_source_class_init): disable them for the play queue.
3466 2006-02-27 Dennis Cranston <dennis_cranston@yahoo.com>
3468 * data/glade/library-prefs.glade: Add a mnemonic.
3469 * sources/rb-library-source.c:
3470 (rb_library_source_location_button_clicked_cb): Use title
3471 capitalization for window title.
3473 2006-02-28 James Livingston <jrl@ids.org.au>
3475 * sources/rb-auto-playlist-source.c:
3476 (construct_query_from_selection): don't create a subquery for only one
3477 criteria, as it's a silly effifiency degredation.
3479 2006-02-28 James Livingston <jrl@ids.org.au>
3481 * rhythmdb/rhythmdb.h:
3482 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_start_element),
3483 (save_entry), (rhythmdb_tree_save): add a new "Ignore" type, which is
3486 * rhythmdb/rhythmdb.c: (set_props_from_metadata),
3487 (rhythmdb_process_stat_event), (rhythmdb_add_import_error_entry),
3488 (rhythmdb_process_metadata_load), (rhythmdb_entry_song_get_type),
3489 (rhythmdb_entry_ignore_get_type): When loading a file, which is marked
3490 IGNORE (e.g. known video stream) create an entry of the Ignore type.
3491 This will make importing files quicker as we don't need to try files
3492 that we know are not going to be interesting - especially useful when
3493 using the library watching facility.
3497 2006-02-28 James Livingston <jrl@ids.org.au>
3499 * shell/rb-shell.c: (rb_shell_constructor),
3500 (rb_shell_set_visibility): fix browser and source-list pane
3501 positioning, that I broke with the "remember visibility" patch.
3503 2006-02-27 Jonathan Matthew <jonathan@kaolin.wh9.net>
3505 * metadata/rb-metadata-dbus-service.c: (main):
3506 Change argument handling so you can use --debug with the --load and
3507 --can-save test modes.
3508 * metadata/rb-metadata-dbus-client.c: (start_metadata_service):
3509 Use a separate GMainContext, not the default one. Probably fixes
3512 2006-02-27 James Livingston <jrl@ids.org.au>
3514 * shell/rb-shell.c: (rb_shell_constructor): focus the entry view when
3515 first starting up. Fixes bug 330342.
3517 2006-02-27 James Livingston <jrl@ids.org.au>
3519 * sources/rb-sourcelist-model.c:
3520 (rb_sourcelist_model_set_dnd_targets):
3521 * widgets/rb-entry-view.c: (rb_entry_view_constructor): only use the
3522 COPY action for draging sources and tracks, not MOVE as well. Stops
3523 Nautilus moving file away, and fixes bug 332488.
3525 2006-02-27 James Livingston <jrl@ids.org.au>
3527 patch by: Gunnar Steinn Magnusson <gsm@gunnarsteinn.com>
3529 * sources/rb-ipod-source.c: (load_ipod_db_idle_cb): read the Rating
3530 and Last Played metadata off iPods. Closes bug 324648.
3532 2006-02-26 Jonathan Matthew <jonathan@kaolin.wh9.net>
3534 * shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor):
3535 Disable audioscrobbler when run with the --no-registration flag, since
3536 last.fm doesn't allow multiple concurrent clients per user.
3538 2006-02-26 Jonathan Matthew <jonathan@kaolin.wh9.net>
3540 * sources/rb-sourcelist.c: (rb_sourcelist_init), (key_release_cb):
3541 Rename renamable sources when F2 is pressed when the sourcelist has
3542 focus. Fixes #330700.
3544 2006-02-26 Jonathan Matthew <jonathan@kaolin.wh9.net>
3546 * shell/rb-playlist-manager.c: (cleanup_edit_data),
3547 (edit_auto_playlist_response_cb), (edit_auto_playlist_deleted_cb),
3548 (rb_playlist_manager_cmd_edit_automatic_playlist):
3549 Fix various crashes when deleting auto playlists previously edited
3550 by disconnecting signal handlers when the query editor is closed or
3551 the playlist is deleted.
3553 2006-02-24 Jonathan Matthew <jonathan@kaolin.wh9.net>
3555 * metadata/rb-metadata-gst.c: Correct comment referring to the now
3556 removed load failure dialog, and actually use the friendly file type
3557 name in error messages.
3559 2006-02-24 James Livingston <jrl@ids.org.au>
3561 patch by: Baptiste Mille-Mathias <bmm80@free.fr>
3563 * sources/rb-library-source.c:
3564 (rb_library_source_location_button_clicked_cb),
3565 (rb_library_source_preferences_sync),
3566 (rb_library_source_library_location_cb): convert the library URI to
3567 for display, and back again. Fixes bug 332356.
3569 2006-02-23 James Livingston <jrl@ids.org.au>
3571 * rhythmdb/rhythmdb.c: (rhythmdb_process_stat_event),
3572 (rhythmdb_process_metadata_load), (monitor_subdirectory),
3573 (rhythmdb_sync_library_location): don't monitor files at all if
3574 watching is turned off. From bug 323096.
3576 2006-02-23 James Livingston <jrl@ids.org.au>
3578 * data/rhythmbox.schemas:
3579 * lib/rb-preferences.h:
3580 * shell/rb-shell.c: (rb_shell_constructor),
3581 (rb_shell_set_visibility): remember main window visibility between
3582 sessions. Fixes bug 127320.
3584 2006-02-23 James Livingston <jrl@ids.org.au>
3586 * data/glade/library-prefs.glade:
3587 * sources/rb-library-source.c: (impl_get_config_widget),
3588 (rb_library_source_location_button_clicked_cb),
3589 (rb_library_source_preferences_sync),
3590 (rb_library_source_library_location_cb),
3591 (rb_library_source_watch_toggled_cb): change the library-location
3592 widgets from the file-chooser drop menu to a text entry and Browse
3593 button. This is needed to prevent the location from chaning if the
3594 directory cannot be found. Fixes bug 328414.
3596 2006-02-23 James Livingston <jrl@ids.org.au>
3598 * sources/rb-podcast-source.c: add icon to the Cancel Download menu
3599 item. Fixes bug 329042.
3601 2006-02-23 James Livingston <jrl@ids.org.au>
3603 patch by: Alex Lancaster <alexl@users.sourceforge.net>
3605 * podcast/rb-podcast-parse.c: (rb_podcast_parse_date): deal with extra
3606 comma in some podcast feeds. Fixes bug 332194.
3608 2006-02-23 James Livingston <jrl@ids.org.au>
3610 * rhythmdb/rhythmdb.c: (rhythmdb_execute_stat): execute the stats at a
3613 * sources/rb-audiocd-source.c: (rb_audiocd_create_track_entry): change
3614 the internal audio cd URIs from "cdda://device:track" to
3615 "cdda://track#device" as it makes processing much easier.
3617 * shell/rb-shell-player.c: (rb_shell_player_open_location):
3618 * player/rb-player-gst.c: don't have the shell close the player
3619 between songs, as doing that should be backend-specific. Make the
3620 gstreamer backend close before starting a new track, unless the old
3621 and new ones are both tracks on the same audio cd. Just seek in that
3624 2006-02-23 Jonathan Matthew <jonathan@kaolin.wh9.net>
3626 * doc/reference/rhythmbox.types: Fix doc build a bit more.
3628 2006-02-23 Jonathan Matthew <jonathan@kaolin.wh9.net>
3630 * configure.ac: Enable more warnings in my stupid setup too.
3631 * shell/rb-shell.c: Fix compile errors from last commit. Fixes
3634 2006-02-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
3636 * sources/rb-missing-files-source.h,
3637 * sources/rb-missing-files-source.c,
3638 * sources/rb-import-errors-source.h,
3639 * sources/rb-import-errors-source.c:
3640 Add library meta-sources, showing missing files and import errors.
3641 Fixes #167763, #142322.
3643 * sources/rb-sourcelist-model.c: (rb_sourcelist_model_new):
3644 * sources/rb-sourcelist-model.h:
3645 * sources/rb-sourcelist.c: (rb_sourcelist_append),
3646 (match_source_to_iter), (rb_sourcelist_source_to_iter),
3647 (rb_sourcelist_visible_source_to_iter), (rb_sourcelist_remove),
3648 (visibility_notify_cb):
3649 Store source visibility in the sourcelist model, so we can determine
3650 child source counts correctly and get the sourcelist expander column
3653 * widgets/rb-entry-view.h:
3654 * widgets/rb-entry-view.c: (rb_entry_view_class_init),
3655 (rb_entry_view_append_column), (set_column_visibility):
3656 Allow the creator of the entry view to specify which columns are
3659 * sources/rb-source.h:
3660 * sources/rb-source.c: (_autohide_update_visibility),
3661 (_rb_autohide_source_row_deleted_cb),
3662 (_rb_autohide_source_row_inserted_cb),
3663 (_rb_source_hide_when_empty):
3664 Allow sources to automatically hide themselves when empty.
3666 * sources/rb-iradio-source.c: (rb_iradio_source_constructor):
3667 * sources/rb-library-source.c: (rb_library_source_constructor):
3668 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
3669 * sources/rb-podcast-source.c: (rb_podcast_source_constructor):
3670 Explicitly specify which columns are always visible.
3672 * shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor),
3673 (rb_shell_playing_entry_changed_cb), (add_to_library_response_cb):
3674 Remove load error signal handling and load failure dialog.
3675 Create missing files and import errors sources for the library.
3677 * rhythmdb/rhythmdb.c: (rhythmdb_class_init),
3678 (rhythmdb_add_import_error_entry), (rhythmdb_process_metadata_load):
3679 Create DB entries for import errors rather than emitting the 'load
3680 error' signal; mark loaded entries visible.
3681 (rhythmdb_entry_sync_mirrored), (rhythmdb_prop_get_type),
3682 (rhythmdb_entry_get_string), (rhythmdb_entry_set_visibility),
3683 (rhythmdb_prop_get_type): Store string form of last seen time for
3684 hidden entries, since it's used in the missing files source.
3685 (rhythmdb_entry_import_error_get_type):
3686 Add entry type for import errors.
3687 (rhythmdb_process_file_deleted), (rhythmdb_volume_mounted_cb),
3688 (rhythmdb_volume_unmounted_cb): Add missing rhythmdb_commit calls.
3689 (rhythmdb_entry_move_to_trash_set_error),
3690 (rhythmdb_entry_move_to_trash):
3691 Correct spelling, add missing rhythmdb_commit.
3692 * rhythmdb/rhythmdb.h:
3693 Add import error entry type and last seen string property.
3694 * rhythmdb/rhythmdb-private.h: Add string form of last seen time.
3695 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
3696 (save_entry): Ignore string form of 'last seen' property.
3698 * shell/rb-shell-player.c: (rb_shell_player_entry_activated_cb):
3699 Don't try to play hidden entries or import error entries.
3701 * data/ui/rhythmbox-ui.xml: Add popup for missing files source.
3702 * sources/Makefile.am: Add meta-source files
3703 * widgets/Makefile.am: Remove load failure dialog files
3705 2006-02-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
3707 update by: Baptiste Mille-Mathias <bmm80@free.fr>
3708 * help/C/rhythmbox.xml: add a 'getting started' section, and fix a
3709 few bits and pieces.
3711 2006-02-22 Jonathan Matthew <jonathan@kaolin.wh9.net>
3713 * metadata/test-metadata.c: (load_metadata_cb):
3714 Fix compile warning for ignoring return value from getcwd, #332064.
3716 2006-02-21 James Livingston <jrl@ids.org.au>
3718 * shell/rb-playlist-manager.c: (edit_auto_playlist_response_cb),
3719 (edit_auto_playlist_deleted_cb),
3720 (rb_playlist_manager_cmd_edit_automatic_playlist): make the auto
3721 playlist editor non-modal. Fixes bug 320030.
3723 2006-02-21 James Livingston <jrl@ids.org.au>
3725 * shell/rb-shell.c: (rb_shell_constructor):
3726 * widgets/rb-header.c: (rb_header_init), (rb_header_set_urldata),
3727 (rb_header_set_show_artist_album):
3728 * widgets/rb-song-display-box.c: (rb_song_display_box_init),
3729 (rb_song_display_box_sync): make the queue sidebar and song display
3730 not get affected by gtk_widget_show_all. Fixes bug 332001.
3732 2006-02-21 James Livingston <jrl@ids.org.au>
3734 Patch by: Alex Lancaster <alexl@users.sourceforge.net>
3736 * podcast/rb-podcast-parse.c: (rb_podcast_parse_date): add support for
3737 feeds which use timezone names instead of offsets. Doesn't actually
3738 parse the timezone name since they are not standardised. Fixes bug
3741 2006-02-21 James Livingston <jrl@ids.org.au>
3743 * help/C/figures/rb-notification-area.png:
3744 * help/C/figures/rb-sidebar.png:
3745 * help/C/quick-reference.xml: remove obsolete files from CVS.
3747 * rhythmdb/rhythmdb-tree.c: (evaluate_conjunctive_subquery):
3748 * rhythmdb/rhythmdb.c: (rhythmdb_query_parse_valist),
3749 (rhythmdb_query_free), (rhythmdb_query_serialize),
3750 (rhythmdb_query_deserialize), (rhythmdb_query_get_type):
3751 * rhythmdb/rhythmdb.h: Add operators for string prefix and suffix.
3753 * widgets/rb-query-creator-properties.c: add prefix and suffix
3754 (escapedStringCriteriaGetWidgetData): use better escaping, so it
3755 doesn't escape the ':' separator in uris.
3757 2006-02-21 James Livingston <jrl@ids.org.au>
3759 * shell/rb-shell.c: (rb_shell_constructor): ensure the window is shown
3762 2006-02-21 James Livingston <jrl@ids.org.au>
3764 * NEWS: update with recent changes
3766 2006-02-21 James Livingston <jrl@ids.org.au>
3768 * shell/rb-shell.c: (rb_shell_constructor),
3769 (rb_shell_player_volume_changed_cb), (rb_shell_druid_response_cb):
3770 * widgets/rb-druid.c: (rb_druid_finalize), (rb_druid_init_widgets),
3771 (rb_druid_browse_clicked_cb), (do_response):
3772 * widgets/rb-druid.h: Make running the druid not block RBShell
3773 starting up. This is required so that bonobo registration doesn't time
3774 out. Fixed bug 318766.
3776 2006-02-21 James Livingston <jrl@ids.org.au>
3778 * rhythmdb/rhythmdb-property-model.c:
3779 (rhythmdb_property_model_entry_removed_cb): remove the entry from the
3780 hash table after using it, not before. Fixed bug 331922.
3782 2006-02-21 Jonathan Matthew <jonathan@kaolin.wh9.net>
3784 * shell/rb-shell.c: (rb_shell_playing_from_queue_cb),
3785 (rb_shell_view_queue_as_sidebar_changed_cb):
3786 When playing from the queue, only attempt to highlight the queue
3787 source in the source list if it's actually visible there. Otherwise,
3788 leave the preempted source highlighted. Mostly fixes #330819.
3790 2006-02-20 James Livingston <jrl@ids.org.au>
3792 * rhythmdb/rhythmdb-property-model.c:
3793 (rhythmdb_property_model_row_inserted_cb),
3794 (rhythmdb_property_model_prop_changed_cb),
3795 (rhythmdb_property_model_insert), (rhythmdb_property_model_delete):
3796 store the roperty value in the entry-mapping table, so that receiving
3797 the remove signal from a query model before we get notified of a
3798 change doesn't cause a crash. Fixes bug 331770.
3800 2006-02-20 James Livingston <jrl@ids.org.au>
3802 * data/ui/rhythmbox-ui.xml:
3803 * sources/rb-play-queue-source.c:
3804 (rb_play_queue_source_class_init),
3805 (rb_play_queue_source_cmd_clear), (impl_show_popup): don't display
3806 playlist things in the queue popup source. From 330490.
3808 * widgets/rb-song-info.c: (rb_song_info_sync_entries): fix mistake in
3811 2006-02-20 James Livingston <jrl@ids.org.au>
3813 * widgets/rb-song-info.c: (rb_song_info_response_cb),
3814 (rb_song_info_sync_entry_single), (rb_song_info_sync_entries): don't
3815 attempt to sync data for non-editable entries when using
3816 next/previous. Don't write our Year if it wasn't changed. Fixes bug
3819 2006-02-19 Luca Ferretti <elle.uca@libero.it>
3826 * help/Makefile.am: ported to gnome-doc-utils
3827 * help/rhythmbox.omf.in: added, needed by gnome-doc-utils
3828 * help/ChangeLog: added, for translators
3829 * help/C/rhytmbox-C.omf: removed, no longer used
3830 Know issue: figures are installed, but some are not showed; manual
3831 description added, but not showed in Yelp while browsing. I'll
3832 investigate, maybe are needed some little changes to
3833 help/C/rhythmbox.xml.
3835 2006-02-20 James Livingston <jrl@ids.org.au>
3837 * data/ui/rhythmbox-ui.xml:
3838 * help/C/figures/rb-adv.png:
3839 * help/C/figures/rb-asst-finish.png:
3840 * help/C/figures/rb-asst-library.png:
3841 * help/C/figures/rb-asst-start.png:
3842 * help/C/figures/rb-basic.png:
3843 * help/C/figures/rb-browser.png:
3844 * help/C/figures/rb-context-menu.png:
3845 * help/C/figures/rb-empty.png:
3846 * help/C/figures/rb-full-play.png:
3847 * help/C/figures/rb-group-auto.png:
3848 * help/C/figures/rb-group-create.png:
3849 * help/C/figures/rb-group.png:
3850 * help/C/figures/rb-imported.png:
3851 * help/C/figures/rb-iradio-add.png:
3852 * help/C/figures/rb-iradio.png:
3853 * help/C/figures/rb-nextprev.png:
3854 * help/C/figures/rb-nobrowse-play.png:
3855 * help/C/figures/rb-notification-area-menu.png:
3856 * help/C/figures/rb-player.png:
3857 * help/C/figures/rb-prefs-general.png:
3858 * help/C/figures/rb-prefs-ipod.png:
3859 * help/C/figures/rb-prefs-library.png:
3860 * help/C/figures/rb-prefs.png:
3861 * help/C/figures/rb-repeat.png:
3862 * help/C/figures/rb-search.png:
3863 * help/C/figures/rb-shuffle.png:
3864 * help/C/figures/rb-stats.png:
3865 * help/C/figures/rb-toolbar-editor.png:
3866 * help/C/figures/rb-volume-mute.png:
3867 * help/C/figures/rhythmbox-group.png:
3868 * help/C/figures/rhythmbox-tray-icon.png:
3869 * help/C/user-guide.xml: remove old stuff from cvs
3871 2006-02-19 Jonathan Matthew <jonathan@kaolin.wh9.net>
3873 * metadata/rb-metadata-dbus-client.c:
3874 * metadata/rb-metadata-dbus-service.c:
3875 * metadata/rb-metadata-dbus.c:
3876 * metadata/rb-metadata-dbus.h:
3877 New files, adding an external service for reading and writing
3878 metadata, and an implementation of the RBMetaData interface that uses
3879 dbus to communicate with it.
3881 * metadata/rb-metadata.h,
3882 * metadata/rb-metadata-common.c: (rb_metadata_get_field_type),
3883 (rb_metadata_get_field_name): Put metadata details in a static array
3884 instead of using a hash table, and add a field for language code (not
3886 * metadata/rb-metadata-gst.c: Updates for changes in
3887 rb-metadata-common.c, fix signal handler closure leak for the typefind
3888 element's have-type signal, and add XML to the list of types we ignore.
3889 * rhythmdb/rhythmdb.c: (extract_gtype_from_enum_entry):
3890 Update for changes to rb_metadata_get_field_type
3891 (rhythmdb_entry_allocate): Don't make songs hidden initially, as
3892 rhythmdb_commit_internal do that for non-local files. Saves us a stat
3895 * configure.ac: Add --enable-metadata-helper option (not enabled by
3896 default) to use the external metadata service
3897 * metadata/Makefile.am: Add new files
3898 * metadata/test-metadata.c: Test program for the metadata service
3902 2006-02-19 Jonathan Matthew <jonathan@kaolin.wh9.net>
3904 * shell/rb-shell.c: (rb_shell_cmd_add_file_to_library):
3905 * sources/rb-podcast-source.c: (impl_get_ui_actions),
3906 (rb_podcast_source_cmd_new_podcast):
3907 Move 'new podcast' action to the podcast source, and add it to the
3908 toolbar. Fixes #331562.
3910 2006-02-19 James Livingston <jrl@ids.org.au>
3912 * data/ui/rhythmbox-ui.xml: Move add-to-queue to the top of the context
3913 menus, and away from move-to-trash. Fixes bug 331013.
3915 2006-02-19 James Livingston <jrl@ids.org.au>
3917 * shell/rb-play-order.c: (default_playing_entry_removed): don't crash
3918 when deleting last entry. Fixes bug 331712.
3920 2006-02-18 Jonathan Matthew <jonathan@kaolin.wh9.net>
3922 * widgets/rb-entry-view.c: (rb_entry_view_class_init),
3923 (rb_entry_view_button_press_cb):
3924 * widgets/rb-entry-view.h: Emit show-popup when right clicked
3925 anywhere, and include a flag indicating whether the click was over an
3928 * sources/rb-playlist-source.c: (default_show_entry_view_popup),
3929 (rb_playlist_source_songs_show_popup_cb):
3930 * sources/rb-playlist-source.h:
3931 Add the 'over entry' flag to the class show popup method, and in the
3932 default handler, ignore right clicks when not over an entry.
3934 * sources/rb-iradio-source.c:
3935 (rb_iradio_source_songs_show_popup_cb):
3936 * sources/rb-library-source.c:
3937 (rb_library_source_songs_show_popup_cb):
3938 * sources/rb-podcast-source.c:
3939 (rb_podcast_source_songs_show_popup_cb):
3940 Show the source list popup menu when right clicked while not over an
3943 * sources/rb-play-queue-source.c: (impl_show_entry_view_popup):
3944 For the queue sidebar, always display the popup so the 'clear queue'
3945 action is available regardless of where you click. For the queue
3946 source, only display the popup when right clicked over an entry.
3949 2006-02-19 James Livingston <jrl@ids.org.au>
3951 * daapsharing/rb-daap-share.c: (add_playlist_to_mlcl):
3952 * shell/rb-shell.c: (rb_shell_select_source): don't get the source's
3953 entry view, when we're not even using it
3955 * rhythmdb/rhythmdb-property-model.c:
3956 (rhythmdb_property_model_row_inserted_cb): use the query-model utility
3957 function, rather than a copy of the code.
3959 * shell/rb-playlist-manager.c:
3960 (rb_playlist_manager_playlist_row_inserted_cb),
3961 (rb_playlist_manager_set_source_internal),
3962 (rb_playlist_manager_playlist_entries_changed): use the query-model
3963 directly, rather than the source's entry view.
3965 * shell/rb-source-header.c: don't use the entry view, just select the
3968 2006-02-18 James Livingston <jrl@ids.org.au>
3970 update by: Baptiste Mille-Mathias <bmm80@free.fr>
3972 * help/C/figures/rb-iradio-main.png:
3973 * help/C/figures/rb-notification-area-menu.png:
3974 * help/C/figures/rb-notification-window.png:
3975 * help/C/figures/rb-notification-zone.png:
3976 * help/C/figures/rb-podcast-main.png:
3977 * help/C/figures/rb-statusbar.png:
3978 * help/C/figures/rb-toolbar-prevplaynext.png:
3979 * help/C/figures/rb-toolbar-repeat.png:
3980 * help/C/figures/rb-toolbar-shuffle.png:
3981 * help/C/figures/rb-toolbar.png:
3982 * help/C/figures/rb-volume-changer.png:
3983 * help/C/figures/rb-window-small.png:
3984 * help/C/figures/rb-window.png:
3985 * help/C/rhythmbox.xml: Update user guide with some of the changes
3986 that have occurred after 0.8.8. From bug 314001.
3988 2006-02-18 Jonathan Matthew <jonathan@kaolin.wh9.net>
3990 * rhythmdb/rhythmdb-query-results.h,
3991 rhythmdb/rhythmdb-query-results.c:
3992 New interface for objects that accept query results from RhythmDB.
3994 * rhythmdb/rhythmdb-query-model.c:
3995 (rhythmdb_query_model_query_results_init),
3996 (rhythmdb_query_model_set_query),
3997 (rhythmdb_query_model_add_results),
3998 (rhythmdb_query_model_query_complete):
3999 * rhythmdb/rhythmdb-query-model.h:
4000 Make RhythmDBQueryModel implement the RhythmDBQueryResults interface.
4002 * rhythmdb/rhythmdb-tree.c: (handle_entry_match),
4003 (rhythmdb_tree_do_full_query):
4004 * rhythmdb/rhythmdb.c: (rhythmdb_event_free),
4005 (rhythmdb_query_internal), (rhythmdb_do_full_query_async_parsed),
4006 (rhythmdb_do_full_query_async), (rhythmdb_do_full_query_internal),
4007 (rhythmdb_do_full_query_parsed), (rhythmdb_do_full_query):
4008 * rhythmdb/rhythmdb.h:
4009 Pass query results through the RhythmDBQueryResults interface, rather
4010 than directly to a RhythmDBQueryModel.
4012 * podcast/rb-podcast-manager.c: (rb_podcast_manager_update_feeds),
4013 (rb_podcast_manager_db_entry_deleted_cb):
4014 * sources/rb-auto-playlist-source.c:
4015 (rb_auto_playlist_source_do_query),
4016 (rb_auto_playlist_source_set_query):
4017 * sources/rb-iradio-source.c: (rb_iradio_source_do_query):
4018 * sources/rb-library-source.c: (rb_library_source_constructor),
4019 (rb_library_source_do_query):
4020 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
4021 (rb_podcast_source_do_query):
4022 * rhythmdb/rhythmdb-property-model.c:
4023 (rhythmdb_property_model_drag_data_get):
4024 Cast the query model to RhythmDBQueryResults when passing to one of
4025 the RhythmDB query methods.
4027 * rhythmdb/Makefile.am: Add new files.
4029 2006-02-18 James Livingston <jrl@ids.org.au>
4031 * data/ui/rhythmbox-ui.xml:
4032 * shell/rb-playlist-manager.c:
4033 (_queue_track_cb), (rb_playlist_manager_cmd_queue_playlist): Add
4034 "queue playlist" item to source context menu. Fixes bug 330490.
4036 2006-02-18 James Livingston <jrl@ids.org.au>
4038 * data/glade/general-prefs.glade:
4039 * shell/rb-shell-preferences.c:
4040 (rb_shell_preferences_column_check_changed_cb),
4041 (rb_shell_preferences_sync):
4042 * sources/rb-library-source.c: (rb_library_source_constructor):
4043 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
4044 * widgets/rb-entry-view.c: (rb_entry_view_quality_cell_data_func),
4045 (rb_entry_view_append_column): Add a "quality" colume which indicates
4046 the bitrate of media. Part of bug 167659.
4048 2006-02-18 James Livingston <jrl@ids.org.au>
4050 * shell/rb-play-order.c: (do_next_idle_cb),
4051 (default_playing_entry_removed): move to next track when playing entry
4052 is deleted. Fixes bug 131150.
4054 * shell/rb-shell-player.h: remove ancient stuff
4056 2006-02-17 William Jon McCann <mccann@jhu.edu>
4058 * shell/rb-shell-clipboard.c (rb_shell_clipboard_set_source_internal)
4059 (rb_shell_clipboard_set_property):
4060 * shell/rb-shell.c (rb_shell_sync_party_mode):
4061 Trigger a resync of the clipboard properties when changing party mode.
4063 2006-02-17 William Jon McCann <mccann@jhu.edu>
4065 * sources/rb-static-playlist-source.c: Fix includes.
4067 * sources/rb-source.c (rb_source_can_rename)
4068 (rb_source_can_delete, rb_source_can_move_to_trash):
4069 Return FALSE if in party mode.
4071 * shell/rb-shell.[ch] (rb_shell_finalize, rb_shell_constructor):
4072 Replace fullscreen with party mode.
4073 (rb_shell_window_delete_cb): Don't quit if in party mode.
4074 (rb_shell_view_party_mode_changed_cb): Setup party mode.
4075 (window_state_event_cb): Try to deiconify shell when iconified
4077 (rb_shell_sync_party_mode): Sync party mode properties.
4078 Currently, that means [de]sensitizing close, quit, and small-display,
4079 going into fullscreen mode with window stuck and kept above, and
4080 toggling queue-only for the shell player.
4081 (rb_shell_sync_smalldisplay): Sensitive party mode.
4082 (rb_shell_get_party_mode): Get party mode setting.
4084 * shell/rb-shell-player.c (rb_shell_player_class_init)
4085 (rb_shell_player_set_property, rb_shell_player_get_property):
4086 Add queue-only property.
4087 (rb_shell_player_entry_activated_cb): If in party mode
4088 only queue the entry on activation.
4090 * shell/rb-playlist-manager.c (rb_playlist_manager_set_source_internal):
4091 Break out from set_properties. Desensitize some actions when
4093 (rb_playlist_manager_set_property): Break out set_source_internal.
4095 * data/rhythmbox.schemas: Remove fullscreen mode.
4097 * data/ui/rhythmbox-ui.xml: Replace fullscreen
4098 action with party mode.
4100 Partial fix for #323933
4102 2006-02-17 James Livingston <jrl@ids.org.au>
4105 * shell/rb-removable-media-manager.c:
4106 (get_nautilus_burn_drive_for_path),
4107 (rb_removable_media_manager_playing_uri_changed_cb): only use
4108 nautilus_burn_drive_new_by_path when it exists, fall back to iterating
4109 over the list when it doesn't.
4111 2006-02-17 James Livingston <jrl@ids.org.au>
4113 * sources/rb-iradio-source.c: (rb_iradio_source_constructor),
4114 (rb_iradio_source_first_time_changed): Only do the import on the
4115 first change from FALSE to TRUE.
4117 * sources/rb-library-source.c:
4118 (rb_library_source_preferences_sync),
4119 (rb_library_source_library_location_cb): set the first-run done flag
4120 if the user presses close and then sets their watches library
4121 location. Fixes bug 325997.
4123 2006-02-17 James Livingston <jrl@ids.org.au>
4125 * shell/rb-shell.c: (rb_shell_class_init): make the shell player and
4126 removable media manager gobject properties
4128 * shell/rb-removable-media-manager.c: (begin_cd_drive_monitor),
4129 (split_drive_from_cdda_uri),
4130 (rb_removable_media_manager_playing_uri_changed_cb),
4131 (rb_removable_media_manager_load_media): stop polling a cd drive
4132 when we are playing from it. Part of bug 330716.
4134 2006-02-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
4136 * rhythmdb/rhythmdb-query-model.c:
4137 (rhythmdb_query_model_set_property),
4138 (rhythmdb_query_model_finalize),
4139 (rhythmdb_query_model_base_entry_removed):
4140 Propagate entry removal from base models out to attached property
4141 models. Fixes the rest of #331165.
4143 2006-02-17 Jonathan Matthew <jonathan@kaolin.wh9.net>
4145 * rhythmdb/rhythmdb-property-model.c:
4146 (rhythmdb_property_model_row_inserted_cb),
4147 (rhythmdb_property_model_prop_changed_cb),
4148 (rhythmdb_property_model_insert):
4149 Don't store NULL as a hash table value if we want to use
4150 g_hash_table_lookup to check if a key exists, and get the checks for
4151 how and whether to handle entry changes the right way around.
4152 Fixes #331211 and half of #331165.
4154 2006-02-16 James Livingston <jrl@ids.org.au>
4156 * sources/rb-audiocd-source.c: (rb_audiocd_source_constructor): read
4157 the audio cd's TOC in a separate thread, so it doesn't block the UI.
4160 2006-02-16 James Livingston <jrl@ids.org.au>
4162 * widgets/rb-library-browser.c: (reset_view_cb): make View All
4163 actually reset the browsers.
4165 2006-02-16 Jonathan Matthew <jonathan@kaolin.wh9.net>
4167 * widgets/eggtrayicon.c: (egg_tray_icon_notify):
4168 Escape the strings we pass into libnotify so we don't get blank
4169 notifications when the song name contains '&' etc. Fixes #330784.
4171 2006-02-16 James Livingston <jrl@ids.org.au>
4173 * shell/rb-source-header.c: (rb_source_header_sync_control_state):
4174 enable "View All" when there is only a search box and no browser.
4177 2006-02-16 Jonathan Matthew <jonathan@kaolin.wh9.net>
4179 * data/ui/rhythmbox-ui.xml: Add 'clear queue' to the sidebar queue
4180 popup menu, which I forgot to commit with the patch for bug #330014.
4182 2006-02-16 Jonathan Matthew <jonathan@kaolin.wh9.net>
4184 * shell/rb-shell-player.c: (open_location_thread):
4185 Sync button and entry view state once we've started the player, so the
4186 entry view gets into the playing state for iradio.
4188 2006-02-15 Jonathan Matthew <jonathan@kaolin.wh9.net>
4190 * shell/rb-shell-player.c: (open_location_thread):
4191 Take GDK lock before doing anything UI-related.
4193 2006-02-15 Jonathan Matthew <jonathan@kaolin.wh9.net>
4195 * shell/rb-shell.c: Move 'new iradio station' action to
4198 * sources/rb-iradio-source.c: (rb_iradio_source_class_init),
4199 (rb_iradio_source_init), (rb_iradio_source_finalize),
4200 (rb_iradio_source_constructor):
4201 Remove some unused stuff.
4203 (guess_uri_scheme), (rb_iradio_source_add_station),
4204 (rb_iradio_source_add_from_playlist),
4205 (impl_get_ui_actions), (new_station_location_added),
4206 (rb_iradio_source_cmd_new_station): Handle 'new iradio station'
4207 action, include it in the toolbar, and make sure the URI we add has a
4208 scheme. Fixes #327059, more or less.
4210 2006-02-15 Jonathan Matthew <jonathan@kaolin.wh9.net>
4212 * sources/rb-play-queue-source.c:
4213 (rb_play_queue_source_class_init),
4214 (rb_play_queue_source_constructor),
4215 (rb_play_queue_source_update_count),
4216 (rb_play_queue_source_cmd_clear), (impl_get_ui_actions):
4217 Add a toolbar button to clear the play queue, and make it sensitive
4218 only when there are entries in the queue. Fixes #330014.
4220 * sources/rb-source.c: (_rb_source_register_action_group):
4221 * sources/rb-source.h: Add helper function to register an
4222 action group for a source.
4224 * sources/rb-library-source.c: (rb_library_source_constructor):
4225 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
4226 (register_action_group): Use _rb_source_register_action_group.
4228 2006-02-15 James Livingston <jrl@ids.org.au>
4230 * widgets/rb-song-info.c: (rb_song_info_add_completion),
4231 (rb_song_info_constructor), (rb_song_info_set_property): make
4232 tag-editing completion work for albums too.
4234 2006-02-15 Jonathan Matthew <jonathan@kaolin.wh9.net>
4236 * widgets/rb-query-creator.c: (rb_query_creator_load_query):
4237 Check the 'limit' checkbox for time-limited playlists.
4239 2006-02-14 Sven Herzberg <herzi@gnome-de.org>
4241 * widgets/rb-song-info.c: Prove text-completion when editing title,
4244 2006-02-14 James Livingston <jrl@ids.org.au>
4246 * data/ui/rhythmbox-ui.xml: add a separator above the Quit item of the
4247 tray icon popup menu. Fixes bug 331026.
4249 2006-02-14 James Livingston <jrl@ids.org.au>
4251 * data/iradio-initial.pls: update the Virgin Radio stations to use the
4252 Ogg Vorbis streams, instead of the MP3 ones.
4254 2006-02-14 James Livingston <jrl@ids.org.au>
4256 * rhythmdb/rhythmdb-property-model.c:
4257 (rhythmdb_property_model_class_init),
4258 (rhythmdb_property_model_drag_data_get):
4259 * rhythmdb/rhythmdb-query-model.c:
4260 (rhythmdb_query_model_title_sort_func):
4261 * rhythmdb/rhythmdb-query-model.h: fix drag-and-drop when using the
4262 LOCATION as the key. Fixes bug 330601.
4264 2006-02-13 Jonathan Matthew <jonathan@kaolin.wh9.net>
4266 * sources/rb-playlist-source.c: (playlist_iter_func):
4267 Make it compile with older versions of totem-plparser too.
4269 2006-02-13 James Livingston <jrl@ids.org.au>
4271 * rhythmdb/rhythmdb.h:
4272 * rhythmdb/rhythmdb-private.h: Make definition of RhythmDBEntry
4273 structure private, since things should use the accessor functions
4274 rather than manipulating it directly - Only RhythmDB and the
4275 implementation classes should access it directly. Part of the RhythmDB
4276 cleanup of bug 330226.
4278 * iradio/rb-station-properties-dialog.c:
4279 (rb_station_properties_dialog_update_title),
4280 (rb_station_properties_dialog_update_title_entry),
4281 (rb_station_properties_dialog_update_genre),
4282 (rb_station_properties_dialog_update_location),
4283 (rb_station_properties_dialog_update_play_count),
4284 (rb_station_properties_dialog_update_bitrate),
4285 (rb_station_properties_dialog_update_last_played),
4286 (rb_station_properties_dialog_update_rating),
4287 (rb_station_properties_dialog_update_playback_error),
4288 (rb_station_properties_dialog_sync_entries):
4289 * podcast/rb-feed-podcast-properties-dialog.c:
4290 (rb_feed_podcast_properties_dialog_update_title),
4291 (rb_feed_podcast_properties_dialog_update_title_label),
4292 (rb_feed_podcast_properties_dialog_update_author),
4293 (rb_feed_podcast_properties_dialog_update_location),
4294 (rb_feed_podcast_properties_dialog_update_copyright),
4295 (rb_feed_podcast_properties_dialog_update_language),
4296 (rb_feed_podcast_properties_dialog_update_summary):
4297 * podcast/rb-podcast-manager.c:
4298 (rb_podcast_manager_entry_downloaded),
4299 (rb_podcast_manager_db_entry_added_cb),
4300 (download_progress_update_cb),
4301 (rb_podcast_manager_db_entry_deleted_cb):
4302 * podcast/rb-podcast-properties-dialog.c:
4303 (rb_podcast_properties_dialog_update_title),
4304 (rb_podcast_properties_dialog_update_title_label),
4305 (rb_podcast_properties_dialog_update_feed),
4306 (rb_podcast_properties_dialog_update_location),
4307 (rb_podcast_properties_dialog_update_play_count),
4308 (rb_podcast_properties_dialog_update_bitrate),
4309 (rb_podcast_properties_dialog_update_last_played),
4310 (rb_podcast_properties_dialog_update_rating),
4311 (rb_podcast_properties_dialog_update_date),
4312 (rb_podcast_properties_dialog_update_description):
4313 * rhythmdb/rhythmdb-query-model.c:
4314 (rhythmdb_query_model_entry_changed_cb),
4315 (rhythmdb_query_model_remove_from_main_list),
4316 (rhythmdb_query_model_update_limited_entries),
4317 (rhythmdb_query_model_drag_data_get),
4318 (rhythmdb_query_model_album_sort_func):
4319 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
4321 * rhythmdb/rhythmdb.c: (rhythmdb_entry_set_internal),
4322 (rhythmdb_prop_get_type), (rhythmdb_entry_dup_string),
4323 (rhythmdb_entry_get_string), (rhythmdb_entry_get_boolean),
4324 (rhythmdb_entry_get_uint64), (rhythmdb_entry_get_ulong),
4325 (rhythmdb_entry_get_double):
4326 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_song_changed_cb):
4327 * shell/rb-play-order-random-by-age-and-rating.c:
4328 (rb_random_by_age_and_rating_get_entry_weight):
4329 * shell/rb-play-order-random-by-age.c:
4330 (rb_random_by_age_get_entry_weight):
4331 * shell/rb-play-order-random-by-rating.c:
4332 (rb_random_by_rating_get_entry_weight):
4333 * shell/rb-playlist-manager.c: (create_name_from_selection_data):
4334 * shell/rb-shell-player.c: (rb_shell_player_open_entry),
4335 (rb_shell_player_set_playing_entry),
4336 (rb_shell_player_sync_replaygain),
4337 (rb_shell_player_sync_with_source),
4338 (rb_shell_player_get_playing_song_duration), (info_available_cb):
4339 * sources/rb-playlist-source.c: (playlist_iter_func),
4340 (burn_playlist_iter_func), (rb_playlist_source_row_deleted),
4341 (rb_playlist_source_entry_added_cb):
4342 * sources/rb-podcast-source.c:
4343 (rb_podcast_source_post_status_cell_data_func):
4344 * sources/rb-source.c: (rb_source_update_play_statistics):
4345 * sources/rb-sourcelist-model.c:
4346 (rb_sourcelist_model_drag_data_get):
4347 * sources/rb-static-playlist-source.c: (impl_save_contents_to_xml),
4348 (rb_static_playlist_source_add_entry),
4349 (rb_static_playlist_source_remove_entry):
4350 * widgets/rb-entry-view.c: (type_ahead_search_func),
4351 (rb_entry_view_playing_cell_data_func),
4352 (rb_entry_view_rating_cell_data_func),
4353 (rb_entry_view_pixbuf_clicked_cb):
4354 * widgets/rb-header.c: (rb_header_get_duration):
4355 * widgets/rb-song-info.c: (rb_song_info_populate_dialog_multiple),
4356 (rb_song_info_populate_dialog),
4357 (rb_song_info_update_playback_error),
4358 (rb_song_info_update_bitrate), (rb_song_info_update_duration),
4359 (rb_song_info_update_location), (rb_song_info_update_play_count),
4360 (rb_song_info_update_last_played), (rb_song_info_update_rating),
4361 (rb_song_info_update_year), (rb_song_info_sync_entries_multiple),
4362 (rb_song_info_sync_entry_single): fix the huge number of times that
4363 the internals got accessed directly.
4365 2006-02-13 Jonathan Matthew <jonathan@kaolin.wh9.net>
4367 * data/ui/rhythmbox-ui.xml: Move separator so 'remove' and 'move to
4368 trash' are grouped together.
4369 * shell/main.c: (main): Pass no-registration flag in to RBShell
4370 constructor, rather than mysteriously always passing TRUE.
4371 * sources/rb-playlist-source.c: (rb_playlist_source_row_deleted):
4372 Set dirty flag when entries are removed from the model, so the play
4373 queue is marked dirty appropriately.
4374 * AUTHORS: update my email address
4376 2006-02-13 Jonathan Matthew <jonathan@kaolin.wh9.net>
4378 Patch by: Baptiste Mille-Mathias <bmm80@free.fr>
4380 * widgets/rb-druid.c: (path_dialog_response_cb):
4381 If the URI is local, don't display the 'file://' prefix.
4384 2006-02-12 Jonathan Matthew <jonathan@kaolin.wh9.net>
4386 * widgets/eggtrayicon.c: (egg_tray_icon_notify):
4387 Attach the notification to the tray icon widget, so libnotify
4388 positions it less badly. Fixes #330876.
4390 2006-02-11 Jonathan Matthew <jonathan@kaolin.wh9.net>
4392 * widgets/rb-entry-view.c: (rb_entry_view_get_selected_entries):
4393 Reverse the selection list before returning it, so we get it in the
4394 right order. Fixes #330283 and some other weirdness.
4396 2006-02-11 James Livingston <jrl@ids.org.au>
4398 * shell/rb-shell.c: (rb_shell_constructor),
4399 (rb_shell_sync_fullscreen), (rb_shell_sync_smalldisplay):
4400 * shell/rb-source-header.c: (rb_source_header_sync_control_state):
4401 make small-mode and fullscreen mutually exclusive, since they don't
4404 * data/ui/rhythmbox-ui.xml: move Fullscreen up to the top with Small
4407 2006-02-10 James Livingston <jrl@ids.org.au>
4409 * player/rb-player-gst.c: turn paranoia of when playing audio cds,
4410 since it can cause it to be slower than real-time. Should fix bug
4413 2006-02-10 Jonathan Matthew <jonathan@kaolin.wh9.net>
4415 * rhythmdb/rhythmdb-query-model.c:
4416 (rhythmdb_query_model_set_property):
4417 Think just a little bit harder about that last commit.
4419 2006-02-10 Jonathan Matthew <jonathan@kaolin.wh9.net>
4421 * rhythmdb/rhythmdb-query-model.c:
4422 (rhythmdb_query_model_set_property):
4423 Get the check for hidden entries the right way around.
4424 Fixes #330527, #330514.
4426 (rhythmdb_query_model_set_sort_order):
4427 Ignore no-op sort order changes, so we don't get critical
4428 messages when selecting 'all' in auto playlist browsers.
4430 2006-02-10 Jonathan Matthew <jonathan@kaolin.wh9.net>
4432 Patch by: Christophe Fergeau <teuf@gnome.org>
4434 * sources/rb-removable-media-source.c:
4435 (rb_removable_media_source_init),
4436 (rb_removable_media_source_constructor):
4437 Move icon setup code to the constructor, as the volume property
4438 haven't been set yet when _init is called.
4440 2006-02-09 William Jon McCann <mccann@jhu.edu>
4442 * sources/rb-sourcelist.c (rb_sourcelist_append, icon_notify_cb):
4443 Make the source pixbuf a dynamic property.
4445 * sources/rb-source.[ch] (rb_source_class_init, rb_source_finalize)
4446 (rb_source_set_pixbuf, rb_source_set_property)
4447 (rb_source_get_property): Add icon property.
4449 * sources/rb-auto-playlist-source.c (rb_auto_playlist_source_class_init)
4450 (rb_auto_playlist_source_init):
4451 * sources/rb-static-playlist-source.c (rb_static_playlist_source_class_init)
4452 (rb_static_playlist_source_init):
4453 * sources/rb-removable-media-source.c (rb_removable_media_source_class_init)
4454 (rb_removable_media_source_init):
4455 * sources/rb-podcast-source.c (rb_podcast_source_class_init)
4456 (rb_podcast_source_init):
4457 * sources/rb-library-source.c (rb_library_source_class_init)
4458 (rb_library_source_set_property, rb_library_source_get_property):
4459 * sources/rb-iradio-source.c (rb_iradio_source_class_init)
4460 (rb_iradio_source_init): Remove impl_get_pixbuf and
4461 set icon property on source base class.
4463 * sources/rb-daap-source.c (rb_daap_get_icon): Get
4464 a different icon for when the share is password protected
4466 (rb_daap_source_new): Set icon property.
4467 (composite_icons): Composite an emblem on a pixbuf.
4468 (create_pixbufs): Load global pixbufs.
4469 (destroy_pixbufs): unref global pixbufs.
4470 (rb_daap_sources_init, rb_daap_sources_shutdown): Pixbuf setup.
4471 (connection_auth_cb, connection_connected_cb)
4472 (connection_disconnected_cb): Update icon when connection
4474 (rb_daap_source_activate): Connect signals.
4476 * daapsharing/rb-daap-share.c (name_collision_cb): Run
4479 * daapsharing/rb-daap-marshal.list: Add new signal.
4481 * daapsharing/rb-daap-dialog.[ch] (rb_daap_password_dialog_new_run)
4482 (rb_daap_collision_dialog_new_run): Set parent of dialog.
4484 * daapsharing/rb-daap-connection.[ch] (rb_daap_connection_class_init):
4485 Add authenticate, connected, and disconnected signals.
4486 (connection_get_password): emit authenticate signal instead
4487 of running dialog directly.
4488 (connection_connected, connection_disconnected): Emit signals.
4489 (handle_login): Emit connected signal.
4490 (handle_logout): Emit disconnected signal.
4491 (rb_daap_connection_do_something): Fix leak.
4495 2006-02-09 James Livingston <jrl@ids.org.au>
4497 * (rhythmdb_query_model_set_property): don't try to insert HIDDEN
4498 entries from the base model if we don't have show-hidden set. Fixes
4501 2006-02-08 William Jon McCann <mccann@jhu.edu>
4503 * daapsharing/rb-daap-share.c (message_get_session_id):
4504 Ugh. Use strtoul instead of atoi.
4505 (session_id_validate): Add debug statements.
4507 2006-02-08 William Jon McCann <mccann@jhu.edu>
4509 * daapsharing/rb-daap-connection.c (http_response_handler):
4510 Report the actual uri from the message in debug statements.
4512 2006-02-08 William Jon McCann <mccann@jhu.edu>
4514 * daapsharing/rb-daap-share.c (server_info_cb, content_codes_cb):
4515 Add context argument.
4516 (message_get_session_id): New function to parse session id from
4518 (message_get_revision_number): Break out function to parse
4519 revision number from the message.
4520 (session_id_validate): New function to validate given session id
4521 is valid for given context (ie. client address).
4522 (session_id_generate): Generate a random session id.
4523 (session_id_create): Create a unique session id and store it.
4524 (session_id_remove): Remove a session id from the store.
4525 (login_cb): Create a session id instead of using a constant one.
4526 (logout_cb): Validate session id.
4527 (update_cb): Use new message_get_revision_number function.
4528 (databases_cb): Validate session id.
4529 (server_cb): Add server context to argument list for callbacks. It
4530 is needed to look up the remote host.
4531 (db_entry_changed_cb): Use braces.
4532 (soup_auth_callback): Remove FIXME.
4533 (rb_daap_share_server_start): Create session id store.
4534 (rb_daap_share_server_stop): Destroy session id store.
4536 * daapsharing/rb-daap-dialog.c (rb_daap_password_dialog_new_run):
4537 Don't base64-encode password here since it needs to be
4538 combined with the username first.
4540 * daapsharing/rb-daap-connection.c (build_message):
4541 Add username to Authorization token.
4542 (handle_login, handle_song_listing)
4543 (rb_daap_connection_do_something): Session id
4544 must be an unsigned int.
4548 2006-02-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
4550 * shell/rb-shell-player.c: (rb_shell_player_get_playing):
4551 Don't check if we've got a playing entry, ask the player object (duh).
4552 Might actually fix #329993.
4554 2006-02-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
4556 * sources/rb-static-playlist-source.c:
4557 (rb_static_playlist_source_add_list_uri):
4558 Canonicalise URIs before trying to add them to the playlist, and
4559 don't try to add files to the database for which there is
4562 2006-02-08 Jonathan Matthew <jonathan@kaolin.wh9.net>
4564 * shell/rb-shell-player.c: (rb_shell_player_get_playing):
4565 Don't ask the entry view if we're playing, just check if we've got a
4566 playing entry. Fixes #329993.
4568 2006-02-08 James Livingston <jrl@ids.org.au>
4570 * rhythmdb/rhythmdb-query-model.c:
4571 (rhythmdb_query_model_set_property),
4572 (rhythmdb_query_model_finalize),
4573 (rhythmdb_query_model_base_complete): remove
4574 rhythmdb_query_model_base_entry_prop_changed, so that two signals
4575 don't get emitted for entry changes. Fixes bug 330301.
4577 * widgets/rb-library-browser.c: (rb_library_browser_class_init),
4578 (rb_library_browser_init), (rb_library_browser_constructor),
4579 (rb_library_browser_new): do stuff in the constructor, not the init
4580 function, so that the db property gets set on RBPropertyViews
4581 correctly. Fixes a crash when dragging properties to a playlist.
4583 2006-02-07 William Jon McCann <mccann@jhu.edu>
4585 * daapsharing/rb-daap-share.c (rb_daap_share_server_stop):
4586 Actually stop soup server. Fixes #329816.
4588 2006-02-07 James Livingston <jrl@ids.org.au>
4591 * lib/rb-util.c: (rb_string_list_equal), (list_copy_cb),
4592 (rb_string_list_copy), (rb_list_deep_free), (collate_keys_cb),
4593 (collate_values_cb), (rb_collate_hash_table_keys),
4594 (rb_collate_hash_table_values): add functions to compare, copy and
4595 free string-lists. add functions to collate the keys or values of a
4596 hash table into a list.
4598 * rhythmdb/rhythmdb-property-model.c:
4599 (rhythmdb_property_model_class_init), (entry_from_tree_iter),
4600 (_remove_entry_cb), (_add_entry_cb),
4601 (rhythmdb_property_model_set_property),
4602 (rhythmdb_property_model_get_property),
4603 (rhythmdb_property_model_init), (rhythmdb_property_model_finalize),
4604 (rhythmdb_property_model_row_inserted_cb),
4605 (rhythmdb_property_model_prop_changed_cb),
4606 (rhythmdb_property_model_entry_removed_cb): correctly handle entries
4607 that are hidden, storing those that we have counted in a hash-table.
4609 * shell/Makefile.am: fix build order issue
4611 * shell/rb-shell-player.c: (rb_shell_player_set_property):
4612 * sources/rb-source.h:
4613 * shell/rb-source-header.c: (rb_source_header_sync_control_state):
4614 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
4615 * sources/rb-podcast-source.c: (feed_select_change_cb): add
4616 browser-toggled method, rename _get_exta_views to _get_property_views,
4617 since several things depend on returning only that.
4619 * sources/rb-source.c: (rb_source_class_init),
4620 (rb_source_browser_toggled), (default_get_property_views),
4621 (rb_source_get_property_views), (rb_source_row_deleted_cb),
4622 (rb_source_gather_hash_keys),
4623 (rb_source_gather_selected_properties): above changes, and move some
4624 utility functions up from RBLibraryView
4626 * widgets/rb-property-view.c:
4627 (rb_property_view_selection_changed_cb): fix leak.
4629 * rhythmdb/rhythmdb-query-model.c:
4630 (rhythmdb_query_model_set_property),
4631 (rhythmdb_query_model_finalize), (apply_updated_entry_sequence),
4632 (rhythmdb_query_model_set_sort_order),
4633 (rhythmdb_query_model_base_rows_reordered): fix handling of the base
4634 query model being resorted.
4636 * rhythmdb/rhythmdb-tree.c: (do_query_recurse): handle being passed a
4639 * rhythmdb/rhythmdb.h:
4640 * rhythmdb/rhythmdb.c: (rhythmdb_query_copy),
4641 (rhythmdb_query_concatenate), (rhythmdb_query_preprocess),
4642 (rhythmdb_query_append_prop_multiple): Add a function to concatenate
4643 two queries. Add a function to append "property={X,Y,Z,...}" to a
4646 * sources/rb-library-source.c: (rb_library_source_class_init),
4647 (rb_library_source_finalize), (rb_library_source_constructor),
4648 (rb_library_source_cmd_choose_genre),
4649 (rb_library_source_cmd_choose_artist),
4650 (rb_library_source_cmd_choose_album), (impl_search),
4651 (impl_get_property_views), (impl_reset_filters),
4652 (rb_library_source_preferences_sync),
4653 (rb_library_source_browser_views_activated_cb),
4654 (rb_library_source_state_prefs_sync),
4655 (construct_query_from_selection), (rb_library_source_do_query),
4656 (rb_library_source_browser_changed_cb):
4657 * widgets/Makefile.am:
4658 * widgets/rb-library-browsers.{c,h}: Add a generalised "library
4659 browser" widgets, which contains several property views, based on the
4660 code from RBLibrarySource. Make RBLibrarySource use it.
4662 * sources/rb-auto-playlist-source.c:
4663 (rb_auto_playlist_source_class_init),
4664 (rb_auto_playlist_source_init), (rb_auto_playlist_source_finalize),
4665 (rb_auto_playlist_source_constructor), (impl_reset_filters),
4666 (impl_get_property_views), (impl_browser_toggled),
4667 (construct_query_from_selection),
4668 (rb_auto_playlist_source_do_query),
4669 (rb_auto_playlist_source_set_query),
4670 (rb_auto_playlist_source_browser_changed_cb): Use the new
4671 library-browser widget to add browsers to automatic playlists.
4673 2006-02-07 James Livingston <jrl@ids.org.au>
4675 * player/rb-player-gst.c: (rb_player_bus_cb): check error type
4677 * shell/rb-shell-player.c: (do_next_idle): use eos_cb, so that the EOF
4678 type of the source is taken into account. Fixes bug 329621.
4680 2006-02-07 James Livingston <jrl@ids.org.au>
4682 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_start_element),
4683 (rhythmdb_tree_parser_end_element): update the rhythmdb.xml version to
4684 1.1, and perform URI canonicalistion when first upgrading. This should
4685 fix our remaining canonicalisation issues, such as bug 329988.
4687 2006-02-07 Jonathan Matthew <jonathan@kaolin.hn.org>
4689 * widgets/rb-entry-view.c: (rb_entry_view_playing_song_changed):
4690 Track the playing entry when the entry view isn't in the playing
4691 state, so we don't have to get the state changes exactly right.
4694 2006-02-06 James Livingston <jrl@ids.org.au>
4696 * shell/rb-shell-player.c: (open_location_thread),
4697 (rb_shell_player_open_location): fix several iradio issues: having to
4698 press play after double-clicking on a station, not working correctly
4699 without a http:// prefix, and ignoring totem-plparser results other
4700 than success or error (e.g. IGNORE).
4702 2006-02-06 Jonathan Matthew <jonathan@kaolin.hn.org>
4704 Addition of dbus methods for dealing with static playlists and the
4705 play queue. Fixes #329958.
4707 * shell/Makefile.am:
4708 * shell/rb-playlist-manager.h:
4709 * shell/rb-playlist-manager.xml:
4710 * shell/rb-playlist-manager.c: (save_playlist_response_cb),
4711 (rb_playlist_manager_get_playlists),
4712 (rb_playlist_manager_get_playlist_names), (_get_playlist_by_name),
4713 (rb_playlist_manager_create_static_playlist),
4714 (rb_playlist_manager_delete_playlist),
4715 (rb_playlist_manager_add_to_playlist),
4716 (rb_playlist_manager_remove_from_playlist),
4717 (rb_playlist_manager_export_playlist):
4718 Add org.gnome.Rhythmbox.PlaylistManager dbus interface, with methods
4719 to create, delete, list, modify, export, and import static playlists.
4721 * shell/main.c: (main): Register playlist manager object with dbus.
4724 * shell/rb-shell.xml:
4725 * shell/rb-shell.c: (rb_shell_get_playlist_manager),
4726 (rb_shell_get_playlist_manager_path), (rb_shell_add_to_queue),
4727 (rb_shell_remove_from_queue): Provide dbus access to the playlist manager
4728 object, and implement the addToQueue and removeFromQueue methods.
4730 * sources/rb-playlist-source.c: (rb_playlist_source_save_playlist):
4731 * sources/rb-playlist-source.h: Add flag to choose between PLS and M3U
4734 2006-02-05 James Livingston <jrl@ids.org.au>
4736 * rhythmdb/rhythmdb-tree.c: (parse_boolean),
4737 (rhythmdb_tree_parser_end_element), (save_entry_boolean),
4738 (save_entry): allow storage of booleans in the on-disk db, and
4739 save/load the HIDDEN property.
4741 * rhythmdb/rhythmdb.c: (rhythmdb_commit_internal),
4742 (rhythmdb_prop_get_type): restore the HIDDEN property of local files
4743 to the state it was when RB shutdown. This makes RB appear to start
4744 faster, as tracks can appear before the stat is done. Remote files
4745 still start hidden. From bug 325215.
4747 2006-02-05 James Livingston <jrl@ids.org.au>
4749 * rhythmdb/rhythmdb.c: (rhythmdb_class_init):
4750 * rhythmdb/rhythmdb.h: remove the "entry-restored" signal nothing
4751 really cares about the difference from "entry-added", and it isn't
4752 emitted by the tree backend anyway.
4754 * rhythmdb/rhythmdb-query-model.c:
4755 (rhythmdb_query_model_constructor):
4756 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
4757 remove the references to the entry-restored signal.
4759 2006-02-05 James Livingston <jrl@ids.org.au>
4761 * shell/rb-shell-player.c: (rb_shell_player_error): fix compilation
4764 2006-02-05 James Livingston <jrl@ids.org.au>
4766 * widgets/rb-entry-view.c: (rb_entry_view_finalize): check whether
4767 things are NULL before using g_object_unref. Fixes bug 327452.
4769 * player/rb-recorder-gst.c: (rb_recorder_construct):
4770 * shell/rb-shell-player.c: (rb_shell_player_error): return errors
4771 rather than assertion.
4773 * sources/rb-playlist-source.c: (rb_playlist_source_new_from_xml):
4774 emit a warning, rather than asserting if an unknown playlist type is
4777 2006-02-05 James Livingston <jrl@ids.org.au>
4779 * widgets/Makefile.am:
4780 * widgets/rb-simple-view.c:
4781 * widgets/rb-simple-view.h: Move the two features that this class
4782 provides into RBPropertyView, and remove this class. Closes bug
4785 * podcast/rb-feed-podcast-properties-dialog.c:
4786 * podcast/rb-feed-podcast-properties-dialog.h:
4787 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
4788 (rb_podcast_source_feeds_show_popup_cb):
4789 * sources/rb-podcast-source.h:
4790 * widgets/rb-property-view.c: (rb_property_view_class_init),
4791 (rb_property_view_constructor), (rb_property_view_popup_menu_cb),
4792 (rb_property_view_append_column_custom),
4793 (rb_property_view_button_press_cb):
4794 * widgets/rb-property-view.h: Updated for the above change.
4796 2006-02-04 James Livingston <jrl@ids.org.au>
4798 * shell/rb-shell.c: remove the show/hide toolbar shortcut, since it is
4799 too close to Move to Trash and people aren't likely to use it often.
4801 2006-02-04 James Livingston <jrl@ids.org.au>
4803 * shell/rb-shell.c: (rb_shell_cmd_about): Fix the FSF's address
4805 2006-02-04 James Livingston <jrl@ids.org.au>
4807 * rhythmdb/rhythmdb.c: (rhythmdb_add_uri_with_type): handle being
4808 passed a path instead of a URI.
4810 * sources/rb-generic-player-source.c: (default_get_mount_path):
4811 * widgets/rb-druid.c: (path_dialog_response_cb): pass URIs instead of
4812 the path. This fixes bug 329723.
4814 2006-02-04 Jonathan Matthew <jonathan@kaolin.hn.org>
4816 * daapsharing/rb-daap-structure.c:
4817 (rb_daap_content_code_string_as_int32):
4818 Use network byte order.
4820 2006-02-03 William Jon McCann <mccann@jhu.edu>
4822 * sources/rb-daap-source.c: Use RBDaapMdnsBrowser object.
4823 Use a hash for source lookup.
4824 (mdns_service_added, mdns_service_removed): Handle
4825 service-added and service-removed signals from RBDaapMdnsBrowser.
4826 (remove_source): GDestroyNotify function for when sources
4827 are removed from the hash.
4828 (start_browsing): Create RBDaapMdnsBrowser and source lookup.
4829 (stop_browsing): Unref RBDaapMdnsBrowser and destroy source lookup.
4830 (rb_daap_sources_shutdown): Update.
4831 (source_host_find): GHRFunc for finding a source by ip.
4832 (rb_daap_source_find_for_uri): Use the hash source lookup.
4834 * shell/rb-shell-preferences.c (share_check_button_toggled_cb):
4836 (password_check_button_toggled_cb): Handle password enabled.
4837 (share_name_entry_focus_out_event_cb): Namespace keys.
4838 Handle changes more robustly.
4839 (share_password_entry_focus_out_event_cb): Handle password entry.
4840 (add_daap_preferences): Connect to password signals.
4842 * lib/rb-preferences.h: Add DAAP keys.
4844 * data/glade/daap-prefs.glade: Add password UI.
4846 * data/rhythmbox.schemas: Add password keys.
4848 * daapsharing/rb-daap-src.c (rb_daap_src_open): Replace
4849 assert with warning.
4851 * daapsharing/rb-daap-sharing.c: Fix includes. Move
4852 gconf keys to lib/rb-preferences.h. Namespace
4854 (create_share): Add password support.
4855 (enable_sharing_changed_cb): Namespaced keys.
4856 (require_password_changed_cb): Handle key change.
4857 (share_name_changed_cb): Namespaced keys.
4858 (share_password_changed_cb): Handle key change.
4859 (rb_daap_sharing_init): Namespaced keys.
4860 (rb_daap_sharing_shutdown): Ditto.
4862 * daapsharing/rb-daap-share.[ch] (rb_daap_share_class_init):
4863 Add password property.
4864 (rb_daap_share_set_name): Break out prop set function.
4865 (published_cb): New RBDaapMdnsPublisher signal handler.
4866 (name_collision_cb): Ditto.
4867 (rb_daap_share_init): Create publisher object and
4869 (rb_daap_share_set_password, rb_daap_share_set_playlist_manager)
4870 (rb_daap_share_set_property): Break out prop set functions.
4871 (rb_daap_share_dispose): Stop publishing. Stop DAAP server.
4873 (rb_daap_share_new): Add password argument. Start
4874 publishing and DAAP server.
4875 (message_set_from_rb_daap_structure): Change print to debug.
4876 (server_info_cb): Set auth method to publish.
4877 (logout_cb): Handle DAAP client logout.
4878 (update_cb): Remove C++ comments.
4879 (databases_cb): Ditto. Make message a warning. Make print a debug.
4880 (server_cb): Add debug.
4881 (soup_auth_callback): Handle auth requests.
4882 (rb_daap_share_server_start): Split up functions for starting
4883 server and publishing. Add auth handling to server.
4884 (rb_daap_share_server_stop): Split stop server and publish.
4886 (rb_daap_share_publish_start, rb_daap_share_publish_stop):
4887 Start and stop publishing.
4888 (rb_daap_share_restart): Restart server and publishing.
4889 (rb_daap_share_maybe_restart): Conditionally restart.
4891 * daapsharing/rb-daap-dialog.c (rb_daap_password_dialog_new_run)
4892 (rb_daap_collision_dialog_new_run): Don't use
4893 separators in dialogs.
4895 * daapsharing/rb-daap-connection.h: Add private
4896 data to class structure.
4898 * daapsharing/rb-daap-connection.c: Move
4899 some includes to top of file. Make private
4900 data struct name consistent with others.
4901 (rb_daap_connection_class_init): Rename
4903 (rb_daap_connection_init): Get and store the pointer
4904 to the private data once instead of in every
4905 function. Create a username value "Rhythmbox_VERSION".
4906 (connection_get_password): Don't get private.
4907 (build_message): Ditto.
4908 (http_response_handler): Don't init variables in
4909 declaration. Add debug. Spacing.
4910 (http_get, entry_set_string_prop, handle_server_info)
4911 (handle_login, handle_update, handle_database_info)
4912 (handle_song_listing, handle_playlists, handle_playlist_entries)
4913 (rb_daap_connection_constructor, rb_daap_connection_logout)
4914 (rb_daap_connection_state_done): Don't get private.
4915 (rb_daap_connection_get_headers): Ditto. gchar yuck.
4916 spacing. Correctly base64 encode the Authentication token.
4917 Add username to auth token.
4918 (rb_daap_connection_get_playlists): Don't get private.
4919 (rb_daap_connection_dispose): Ditto. Free username.
4920 (rb_daap_connection_set_property)
4921 (rb_daap_connection_get_property): Don't get private.
4923 * daapsharing/Makefile.am: Conditionally
4924 compile MDNS backends. Add marshall stuff.
4926 * daapsharing/.cvsignore: Update.
4928 * configure.ac: Add conditional to see which
4929 MDNS backend we should use.
4931 * daapsharing/rb-daap-mdns.[ch]: Removed files.
4933 * daapsharing/rb-daap-marshal.list:
4934 * daapsharing/rb-daap-mdns-browser-avahi.c:
4935 * daapsharing/rb-daap-mdns-browser-howl.c:
4936 * daapsharing/rb-daap-mdns-browser.h:
4937 * daapsharing/rb-daap-mdns-publisher-avahi.c:
4938 * daapsharing/rb-daap-mdns-publisher-howl.c:
4939 * daapsharing/rb-daap-mdns-publisher.h:
4940 Split rb-daap-mdns.c into two classes. One for
4941 publishing and one for browsing. Split out
4942 the avahi and howl backends into different files.
4946 2006-02-04 James Livingston <jrl@ids.org.au>
4948 patch by: Jan Schmidt <thaytan@mad.scientist.com>
4950 * rhythmdb/rhythmdb.c: (set_metadata_string_default_unknown): fix
4951 crash if metadata reader gives us NULL for strings.
4953 2006-02-03 James Livingston <jrl@ids.org.au>
4955 * shell/rb-shell-player.c: (open_location_thread),
4956 (rb_shell_player_open_location):
4957 retrieve iradio playlists files in a thread, so that with GStreamer
4958 0.10 the UI doesn't block while connecting to stations. The streamer
4959 connection is synchronous with 0.8, so that will still block (a bit).
4962 (rb_shell_player_set_playing_entry): don't call rb_shell_player_play,
4963 because _open_entry does that automatically when it is ready to.
4965 2006-02-03 Jonathan Matthew <jonathan@kaolin.hn.org>
4967 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
4968 (rb_podcast_source_post_status_cell_data_func):
4969 Leave the podcast status column blank for episodes that have not been
4972 2006-02-03 James Livingston <jrl@ids.org.au>
4974 Add support for source-specific toolbar items, and make the Burn
4975 Playlist item only available for playlists. Also add Update All
4976 (podcast), Eject and Rip (audio cds). Fixes bug 329041.
4978 * data/ui/rhythmbox-ui.xml:
4979 * sources/rb-playlist-source.c: (rb_playlist_source_class_init),
4980 (impl_get_ui_actions): make the Burn CD toolbar item only for
4983 * lib/rb-stock-icons.c: (rb_stock_icons_init):
4984 * lib/rb-stock-icons.h: load the Eject icon as stock.
4986 * shell/rb-removable-media-manager.c: use the eject icon for the eject
4989 * shell/rb-shell.c: (rb_shell_constructor), (merge_source_ui_cb),
4990 (rb_shell_select_source):
4991 * sources/rb-source.c: (rb_source_class_init),
4992 (rb_source_disconnect), (default_get_ui_actions),
4993 (rb_source_get_ui_actions):
4994 * sources/rb-source.h: add support for source-specific toolbar items
4996 * sources/rb-audiocd-source.c: (rb_audiocd_source_class_init): add
4997 Eject and Rip toolbar items
4999 * sources/rb-podcast-source.c: (rb_podcast_source_class_init),
5000 (impl_add_to_queue), (impl_get_ui_actions): add Update All toolbar
5003 2006-02-03 Jonathan Matthew <jonathan@kaolin.hn.org>
5005 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_save):
5006 * shell/main.c: (main):
5007 * shell/rb-shell-player.c: (rb_shell_player_sync_play_order):
5008 Replace all g_critical calls with g_warning, since none of them are
5009 the sort of thing the process should die over. Fixes #329398.
5011 2006-02-03 James Livingston <jrl@ids.org.au>
5013 * configure.ac: mention gst-plugins-base in the error message for not
5014 finding GStreamer 0.10, since not having that will cause it to fail.
5016 2006-02-03 James Livingston <jrl@ids.org.au>
5018 * configure.ac: fix typo that means you get the wrong error message if
5019 you explicity request a particular playback engine, and it can't be
5022 2006-02-03 James Livingston <jrl@ids.org.au>
5024 * data/glade/library-prefs.glade: allow the watched library location
5025 to be a non-local place.
5027 ============ Version 0.9.3
5030 2006-02-02 James Livingston <jrl@ids.org.au>
5033 * configure.ac: bump version to 0.9.3
5035 * data/Makefile.am: pass make distcheck. patch from Christopher Aillon
5036 <caillon@redhat.com>, fixed bug 329517.
5038 2006-02-02 Jonathan Matthew <jonathan@kaolin.hn.org>
5040 Patch from Alex Lancaster <alexl@users.sourceforge.net>
5042 * widgets/rb-song-info.c: (rb_song_info_constructor):
5043 Make year and disc number fields non-editable if tag editing
5044 is disabled. Fixes #329463.
5046 2006-02-01 James Livingston <jrl@ids.org.au>
5048 * rhythmdb/rhythmdb-property-model.c:
5049 (rhythmdb_property_model_row_inserted_cb),
5050 (rhythmdb_property_model_prop_changed_cb),
5051 (rhythmdb_property_model_entry_removed_cb): handle hidden entries
5052 correctly. Fixes bug 327061.
5054 * rhythmdb/rhythmdb-query-model.c:
5055 (rhythmdb_query_model_entry_changed_cb): emit change notification of
5056 the HIDDEN property when an entry is removed for being hidden.
5058 * rhythmdb/rhythmdb-query-model.h:
5059 * sources/rb-iradio-source.c: (rb_iradio_source_do_query):
5060 * widgets/rb-entry-view.c: (rb_entry_view_set_property): remove query
5061 models's "connected" property. Whatever it was needed for seems to
5064 2006-02-01 James Livingston <jrl@ids.org.au>
5066 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
5068 * shell/rb-shell-player.c: (_idle_unblock_signal_cb),
5069 (rb_shell_player_playing_changed_cb): block the signal to prevent
5070 re-entrancy. Fixes bug 329329 and fixes the first click of the play
5073 2006-02-01 James Livingston <jrl@ids.org.au>
5075 * metadata/rb-metadata-gst.c: a few gstreamer 0.10 fixes. Tag editing
5076 /should/ now work, if the neccessary plugins get ported.
5078 2006-01-30 James Livingston <jrl@ids.org.au>
5080 * daapsharing/rb-daap-connection.c: (entry_set_string_prop): Set
5081 string properties to "Unknown" is the string is empty. Kind of fixes
5084 * rhythmdb/rhythmdb.c: (rhythmdb_entry_sync_mirrored): only do the
5085 gettext calls once, rather than once per time the function is used.
5086 This stops us making tens of thousands of gettext calls on startup,
5087 which reduces the cpu-time of startup by 10-20%
5089 2006-01-29 James Livingston <jrl@ids.org.au>
5091 * rhythmdb/rhythmdb.c: (rhythmdb_process_metadata_load):
5093 * metadata/rb-metadata-gst.c: emit RB_METADATA_ERROR_NOT_AUDIO_IGNORE
5094 for files containing known video streams.
5097 2006-01-29 Jonathan Matthew <jonathan@kaolin.hn.org>
5099 * INSTALL.quick: Random unupdates; gst-plugins-good isn't actually
5102 2006-01-29 Jonathan Matthew <jonathan@kaolin.hn.org>
5104 * INSTALL.quick: More random updates
5106 * rhythmdb/rhythmdb-query-model.c:
5107 (rhythmdb_query_model_class_init),
5108 (rhythmdb_query_model_set_property),
5109 (rhythmdb_query_model_get_property),
5110 (rhythmdb_query_model_finalize), (rhythmdb_query_model_new):
5111 Remove user sort data handling, take a property ID and a reverse
5113 (rhythmdb_query_model_insert_into_main_list),
5114 (rhythmdb_query_model_insert_into_limited_list),
5115 (rhythmdb_query_model_do_reorder),
5116 (_reverse_sorting_func):
5117 Handle reverse sorting by calling _reverse_sorting_func, which
5118 calls the real sort function and reverses the result.
5119 (rhythmdb_query_model_set_sort_order):
5120 Allow this to be called to set the initial sort order for limited
5121 queries, and handle reverse sorting when reordering.
5122 (rhythmdb_query_model_location_sort_func),
5123 (rhythmdb_query_model_album_sort_func),
5124 (rhythmdb_query_model_artist_sort_func),
5125 (rhythmdb_query_model_genre_sort_func),
5126 (rhythmdb_query_model_track_sort_func),
5127 (rhythmdb_query_model_double_ceiling_sort_func),
5128 (rhythmdb_query_model_ulong_sort_func),
5129 (rhythmdb_query_model_date_sort_func),
5130 (rhythmdb_query_model_string_sort_func):
5131 Sort functions moved from rb-entry-view.c.
5132 * rhythmdb/rhythmdb-query-model.h:
5133 Add the sort functions, and update the changed functions.
5135 * widgets/rb-entry-view.c: (rb_entry_view_set_property):
5136 Just call _resort_model when the query model is set, since it
5137 does all the same things.
5138 (rb_entry_view_append_column):
5139 Rework bits so the rating column doesn't have to be so much of a
5141 (rb_entry_view_append_column_custom):
5142 Take a property ID to sort on, rather than arbitrary custom data.
5143 (rb_entry_view_resort_model):
5144 Query model does all the reverse sort handling now.
5145 * widgets/rb-entry-view.h: Update _append_column_custom.
5147 * sources/rb-play-queue-source.c:
5148 (rb_play_queue_source_constructor):
5149 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
5150 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
5151 (rb_podcast_source_post_date_cell_sort_func),
5152 (rb_podcast_source_post_status_cell_sort_func),
5153 (rb_podcast_source_post_feed_cell_sort_func):
5154 Updates required by all the other changes.
5156 * rhythmdb/rhythmdb-property-model.c:
5157 (rhythmdb_property_model_drag_data_get):
5158 Sort the query results on the selected property,
5159 so they arrive in the expected order. All the other changes were made
5160 to make this possible. Fixes bug #327494.
5162 2006-01-29 Jonathan Matthew <jonathan@kaolin.hn.org>
5164 * shell/rb-shell-clipboard.c:
5165 Use GTK_STOCK_REMOVE icon for the remove action in
5168 2006-01-29 Jonathan Matthew <jonathan@kaolin.hn.org>
5170 * sources/rb-play-queue-source.c:
5171 (rb_play_queue_source_constructor),
5172 (rb_play_queue_source_update_count):
5173 Don't make the 'queued songs' column clickable,
5174 and add the queued song count to the column title.
5176 2006-01-29 James Livingston <jrl@ids.org.au>
5178 * configure.ac: remove "experimental" marking from DAAP, and enable by
5179 default if the dependencies are found.
5181 2006-01-29 James Livingston <jrl@ids.org.au>
5185 2006-01-29 James Livingston <jrl@ids.org.au>
5187 patch by: William Jon McCann <mccann@jhu.edu>
5189 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
5190 (rb_podcast_source_feed_title_cell_data_func): Revert the change of
5191 property used for the feed list. Fixes problem with feeds with no
5192 episodes not showing up.
5194 2006-01-29 Jonathan Matthew <jonathan@kaolin.hn.org>
5196 * shell/rb-play-order-random-by-age-and-rating.c:
5197 (rb_random_by_age_and_rating_get_entry_weight):
5198 Fix compile errors, bug #328978.
5200 2006-01-28 Jonathan Matthew <jonathan@kaolin.hn.org>
5202 * INSTALL.quick, README: Random updates
5203 * README.lirc: Add notes on controlling Rhythmbox with LIRC
5205 2006-01-28 James Livingston <jrl@ids.org.au>
5207 * rhythmdb/rhythmdb.c: (rhythmdb_process_metadata_load): change the
5208 default rating back to 0 (from 2.5, which was needed for autorating).
5210 * shell/rb-play-order-random-by-age-and-rating.c:
5211 (rb_random_by_age_and_rating_get_entry_weight):
5212 * shell/rb-play-order-random-by-rating.c:
5213 (rb_random_by_rating_get_entry_weight): Treat ratings of 0 the same as
5214 2.5 for the purposes of weighting entries.
5216 2006-01-28 James Livingston <jrl@ids.org.au>
5218 * lib/rb-cut-and-paste-code.c: (rb_utf_friendly_time): Add some
5219 translator comments, to make it clearer what the "friendly time"
5220 formatting strings mean.
5222 2006-01-27 Jonathan Matthew <jonathan@kaolin.hn.org>
5224 * daapsharing/rb-daap-connection.c: (http_response_handler):
5225 Fix the sense of the overflow check so it'll accept valid input.
5227 2006-01-27 James Livingston <jrl@ids.org.au>
5229 Patch from Alex Lancaster <alexl@users.sourceforge.net>
5231 * lib/rb-file-helpers.c: (rb_uri_handle_recursively_cb): correctly
5232 escape paths when using rb_uri_handle_recursively. Closes bug 139646.
5234 2006-01-27 Jonathan Matthew <jonathan@kaolin.hn.org>
5236 Patch by: Alex Lancaster <alexl@users.sourceforge.net>
5238 * shell/rb-shell-player.c: (rb_shell_player_sync_with_source):
5239 Don't include the artist field in the window title if it's blank.
5242 2006-01-26 William Jon McCann <mccann@jhu.edu>
5244 * shell/rb-shell-clipboard.c (rb_shell_clipboard_actions):
5245 Use stock delete icon for move to trash and stock remove
5246 for remove menu item.
5248 2006-01-26 Jonathan Matthew <jonathan@kaolin.hn.org>
5250 * shell/rb-shell.c: (rb_shell_constructor),
5251 (idle_handle_load_complete): Don't start the playlist save
5252 timeout until we've loaded the playlists, otherwise we'll
5253 write an empty playlist file if startup takes too long.
5255 2006-01-25 William Jon McCann <mccann@jhu.edu>
5257 * shell/rb-shell.c: Make view toolbar toggle use
5258 shift+ctrl+t. Fixes #327585.
5260 2006-01-25 James Livingston <jrl@ids.org.au>
5262 patch by: Christope Fergeau <teuf@gnome.org>
5264 * daapsharing/rb-daap-connection.c: (g_zalloc_wrapper),
5265 (http_response_handler): fix a potential buffer overflow issue.
5267 2006-01-25 James Livingston <jrl@ids.org.au>
5269 * widgets/rb-entry-view.c: (rb_entry_view_append_column): make the
5270 Year column wide enough to display "Unknown"
5272 2006-01-25 James Livingston <jrl@ids.org.au>
5274 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
5275 (rb_podcast_source_post_status_cell_data_func): make the episode
5276 status wording better. Part of bug 321607.
5278 2006-01-25 James Livingston <jrl@ids.org.au>
5280 * data/ui/rhythmbox-ui.xml: separate the Move to Trash menu item from
5281 others with a separator.
5283 * shell/rb-shell-clipboard.c: Rename "Delete" to "Remove" and use the
5286 2006-01-24 Jonathan Matthew <jonathan@kaolin.hn.org>
5288 * data/rhythmbox.desktop.in: Add GTK to categories. Fixes #328047.
5290 2006-01-23 James Livingston <jrl@ids.org.au>
5292 * widgets/eggtrayicon.c: (egg_tray_icon_notify): support libnotify
5293 0.3.2. Fixed bug 328158.
5295 2006-01-23 James Livingston <jrl@ids.org.au>
5297 * metadata/rb-metadata-gst.c: (gst_date_gulong_transform),
5298 (gulong_gst_date_transform), (rb_metadata_class_init):
5299 * metadata/rb-metadata.h: fix support for Year metadata in gst 0.10.
5301 2006-01-23 Jonathan Matthew <jonathan@kaolin.hn.org>
5303 * rhythmdb/rhythmdb.c: (rhythmdb_init), (rhythmdb_finalize),
5304 (rhythmdb_commit_internal), (rhythmdb_entry_insert),
5305 (record_entry_change): Protect added_entries and changed_entries with
5306 a mutex, so it doesn't crash on startup on SMT/SMP machines.
5308 2006-01-23 James Livingston <jrl@ids.org.au>
5310 * sources/rb-audiocd-source.c: (rb_audiocd_source_class_init): disable
5311 the browser for audio CDs.
5313 2006-01-22 James Livingston <jrl@ids.org.au>
5315 * daapsharing/rb-daap-mdns.c: (get_avahi_client): don't pass
5316 NEVER_FAIL as it causes the daemon-not-running error to never be
5317 reported, resulting in bug 319438 re-occurring.
5319 2006-01-22 Jonathan Matthew <jonathan@kaolin.hn.org>
5321 * sources/rb-podcast-source.c: (rb_podcast_source_cmd_update_all):
5322 Just call the podcast manager's update method. Unbreaks the 'update
5325 2006-01-22 Jonathan Matthew <jonathan@kaolin.hn.org>
5327 * sources/Makefile.am: Fix typo. Fixes bug #327970.
5329 2006-01-21 Jonathan Matthew <jonathan@kaolin.hn.org>
5331 * configure.ac: Don't disable DAAP with gstreamer 0.10
5333 * daapsharing/rb-daap-src.c: (_do_init), (rb_daap_src_base_init),
5334 (rb_daap_src_class_init), (rb_daap_src_init),
5335 (rb_daap_src_finalize), (rb_daap_src_set_property),
5336 (rb_daap_src_get_property), (rb_daap_src_write),
5337 (rb_daap_src_read), (_expect_char), (rb_daap_src_read_chunk_size),
5338 (_split_uri), (rb_daap_src_open):
5339 * daapsharing/rb-daap-src.h:
5340 Mostly fix seeking, handle chunked transfer encoding, and port to
5343 * player/rb-player-gst.c:
5344 * sources/rb-daap-source.c: (start_browsing), (stop_browsing):
5345 Remove rb_daap_src_initialize and rb_daap_src_shutdown.
5347 Fixes bugs #326738 and #318852, and brings #309609 one step closer to
5350 2006-01-21 James Livingston <jrl@ids.org.au>
5352 patch by: Alex Lancaster <alexl@users.sourceforge.net> to add support
5353 for Year metadata in DAAP sources. Fixes bug 327700.
5355 * daapsharing/rb-daap-connection.c: (handle_song_listing):
5357 2006-01-20 William Jon McCann <mccann@jhu.edu>
5359 * widgets/rb-simple-view.c (rb_simple_view_button_press_cb): Use
5360 enum values instead of magic numbers.
5362 * widgets/rb-property-view.c (rb_property_view_cell_data_func):
5363 Add number of songs that match each property title into
5364 the cell. Also show the number of properties that match
5366 (rb_property_view_constructor): Use enum values instead of
5369 * sources/rb-podcast-source.c (rb_podcast_source_constructor):
5370 Query podcast posts instead of feeds for browser. Use
5371 post SUBTITLE which is the location for the property view.
5372 (rb_podcast_source_feeds_show_popup_cb): Remove unused code.
5373 (construct_query_from_selection)
5374 (rb_podcast_source_cmd_delete_feed)
5375 (rb_podcast_source_cmd_properties_feed)
5376 (rb_podcast_source_cmd_update_feed): Use variable to make
5377 it clear what the selection data represents.
5378 (rb_podcast_source_feed_title_cell_data_func): Add number
5379 of posts that belong to each feed in the browser.
5381 * rhythmdb/rhythmdb-property-model.c (rhythmdb_property_model_set_property): Allow using SUBTITLE property.
5382 (rhythmdb_property_model_delete_prop): Decrement the refcount
5384 (rhythmdb_property_model_get_column_type): Use column enum
5385 values instead of magic numbers. Add NUMBER column.
5386 (rhythmdb_property_model_get_value): Use enum.
5387 Add NUMBER column that represents the refcount for
5388 the title of that property.
5389 (rhythmdb_property_model_perform_sync): Don't fake up
5390 a title for All here.
5394 2006-01-21 James Livingston <jrl@ids.org.au>
5396 Make Rhythmbox start faster by not blocking the UI while database
5397 initialisation and loading occurs. Closes bug 323348.
5399 * rhythmdb/rhythmdb.c: (rhythmdb_init): make the library monitoring
5400 start 10 seconds later instead of immediately.
5402 (rhythmdb_commit_internal), (rhythmdb_commit): make rhythmdb_commit
5403 safe to call from any thread.
5405 (rhythmdb_process_metadata_load), (rhythmdb_process_events),
5406 (rhythmdb_load_thread_main), (rhythmdb_load): load the db in a thread,
5407 so the UI doesn't block.
5409 2006-01-18 James Livingston <jrl@ids.org.au>
5411 * sources/rb-static-playlist-source.c:
5412 (rb_static_playlist_source_do_query): fix dumb mistake I made that would
5413 cause crashes. Oops. fixes bug 327477.
5415 2006-01-17 William Jon McCann <mccann@jhu.edu>
5417 * player/rb-recorder-gst.c (rb_recorder_gst_free_pipeline):
5418 Set GST element state to NULL before unreffing.
5421 2006-01-18 James Livingston <jrl@ids.org.au>
5423 * sources/rb-static-playlist-source.c:
5424 (rb_static_playlist_source_do_query): don't filter on the SONG entry
5425 type, since the playlists can contain non-song entries. Fixes bug
5428 * sources/rb-play-queue-source.c:
5429 (rb_play_queue_source_class_init): disable the search box for the
5432 2006-01-18 James Livingston <jrl@ids.org.au>
5434 * sources/rb-podcast-source.c: (rb_podcast_source_constructor): allow
5435 dragging of podcast episodes. Fixed bug 327450.
5437 2006-01-18 James Livingston <jrl@ids.org.au>
5439 * rhythmdb/rhythmdb-query-model.c:
5440 (rhythmdb_query_model_drag_data_received): fix possible assertion when
5441 dragging to an emoty playlist.
5443 2006-01-18 Jonathan Matthew <jonathan@kaolin.hn.org>
5445 * sources/rb-playlist-source-recorder.c:
5446 Make the fake NAUTILUS_BURN_CHECK_VERSION macro work properly.
5448 2006-01-17 James Livingston <jrl@ids.org.au>
5450 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
5452 * sources/rb-audiocd-source.c: don't assert if MusicBrainz returns a
5453 different number of tracks than exist on the cd, since that happens
5454 with audio+data hybrid CDs. Part of bug 325046.
5456 2006-01-17 Jonathan Matthew <jonathan@kaolin.hn.org>
5458 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
5459 Remove useless call to gtk_tree_view_column_set_clickable().
5461 * widgets/rb-entry-view.c: (rb_entry_view_append_column_custom):
5462 Don't store sort data for columns if the sort function is NULL,
5463 so only sortable columns will be in the column sort data map.
5464 (rb_entry_view_set_columns_clickable): Only make columns we can sort
5466 (rb_entry_view_constructor): The 'playing icon' column is never
5467 clickable, so don't connect a signal handler for it.
5471 2006-01-17 James Livingston <jrl@ids.org.au>
5473 * metadata/rb-metadata-gst.c: don't set properties with gst 0.10 which
5474 are 0.8 only. Fix element detection.
5476 * rhythmdb/rhythmdb.c: (action_thread_main): reload old metadata is
5477 saving the new metadata failed
5479 2006-01-17 James Livingston <jrl@ids.org.au>
5481 * shell/rb-shell-player.c: (do_next_idle),
5482 (rb_shell_player_cmd_previous), (rb_shell_player_cmd_next),
5483 (eos_cb): release audio device when a playlist finishes. Fixes bug
5486 2006-01-17 James Livingston <jrl@ids.org.au>
5488 * rhythmdb/rhythmdb.c: (set_props_from_metadata), (queue_stat_uri):
5489 canonicalise the URIs when things are added via library watching.
5491 2006-01-16 William Jon McCann <mccann@jhu.edu>
5493 * sources/rb-playlist-source-recorder.c (update_speed_combobox):
5494 Off by one error in default speed index.
5496 2006-01-16 William Jon McCann <mccann@jhu.edu>
5498 * sources/rb-playlist-source-recorder.c (get_write_speeds)
5499 (update_speed_combobox, update_speed_combobox):
5500 Get a list of the actually supported write speeds from
5501 n-c-b >= 2.13.90. Otherwise use fallback list.
5503 2006-01-17 James Livingston <jrl@ids.org.au>
5505 * lib/rb-file-helpers.c: (rb_uri_handle_recursively_cb),
5506 (rb_uri_handle_recursively): use gnome_vfs_directory_visit, so we
5507 don't get stuck on recursive symlinks. Fixed bug 125452.
5509 2006-01-17 James Livingston <jrl@ids.org.au>
5511 Add support for mass-storage audio players. Players are detected via
5512 either the HAL "audio_player" capability, or a ".is_audio_player" file
5513 in the root of the volume. Closes bug 325602.
5515 * configure.ac: separate using HAL from ipod support.
5517 * lib/rb-file-helpers.c: (rb_uri_is_local):
5518 * lib/rb-file-helpers.h: add function to determine whether a URI is
5521 * rhythmdb/rhythmdb.c: (rhythmdb_commit_internal),
5522 (rhythmdb_process_stat_event), (rhythmdb_process_metadata_load),
5523 (rhythmdb_process_file_created_or_modified), (queue_stat_uri),
5524 (queue_stat_uri_tad), (add_thread_main), (action_thread_main),
5525 (rhythmdb_add_uri), (rhythmdb_add_uri_with_type):
5526 * rhythmdb/rhythmdb.h: add rhythmdb_add_uri_with_type, so that
5527 directories can be scanned for files to add as non-SONG entries.
5529 * shell/rb-removable-media-manager.c:
5530 (rb_removable_media_manager_mount_volume): add checking for
5531 mass-storage players.
5533 * sources/rb-audiocd-source.c: (rb_audiocd_source_new):
5534 * sources/rb-ipod-source.c: (rb_ipod_source_new),
5536 * sources/rb-removable-media-source.c:
5537 (rb_removable_media_source_class_init),
5538 (rb_removable_media_source_constructor): move some things up to the
5539 RBRemovableMediaSource, rather than making subclasses do it.
5541 * sources/Makefile.am:
5542 * sources/rb-generic-player-source.c:
5543 * sources/rb-generic-player-source.h: add mass-storage player source.
5545 2006-01-16 James Livingston <jrl@ids.org.au>
5547 patch by: William Jon McCann <mccann@jhu.edu>
5549 * rhythmdb/rhythmdb-query-model.c:
5550 (rhythmdb_query_model_base_row_deleted): fix build issue from last
5553 2006-01-16 James Livingston <jrl@ids.org.au>
5555 Patch to add support for "chained queries" and putting hidden tracks
5556 in query models. Use chained queries to add search box support to
5557 normal playlists, and to make hidden entries not get lost. Fixes bug
5560 * rhythmdb/rhythmdb-query-model.h:
5561 * rhythmdb/rhythmdb-query-model.c:
5562 (rhythmdb_query_model_class_init),
5563 (rhythmdb_query_model_set_property),
5564 (rhythmdb_query_model_get_property):
5565 (rhythmdb_query_model_finalize): add "show-hidden" and
5566 "base-model" properties.
5568 (rhythmdb_query_model_set_connected),
5569 (rhythmdb_query_model_has_pending_changes),
5570 (rhythmdb_query_model_entry_added_cb),
5571 (rhythmdb_query_model_entry_changed_cb), (idle_process_update),
5572 (rhythmdb_query_model_add_entry), (rhythmdb_query_model_do_insert),
5573 (rhythmdb_query_model_remove_entry),
5574 (rhythmdb_query_model_drag_data_received),
5575 (rhythmdb_query_model_base_row_inserted),
5576 (rhythmdb_query_model_base_row_deleted),
5577 (rhythmdb_query_model_base_non_entry_dropped),
5578 (rhythmdb_query_model_base_complete),
5579 (rhythmdb_query_model_base_entry_prop_changed),
5580 (rhythmdb_query_model_base_rows_reordered),
5581 (rhythmdb_query_model_row_drop_possible): handle base-model by
5582 chaining events and operations where necessary. Make hidden entries
5583 not get added only if "show-hidden" is false.
5585 (rhythmdb_query_model_child_index_to_base_index),
5586 (rhythmdb_query_model_base_index_to_child_index),
5587 (rhythmdb_query_model_get_entry_index): utility functions for handling
5590 (rhythmdb_query_model_reapply_query): apply the current query, and
5591 remove entries that don't match it.
5593 * rhythmdb/rhythmdb-tree.c: (do_query_recurse): small optimisation for
5596 * sources/rb-source.c: (rb_source_set_property): move the unref later
5597 to fix problem if it is the last reference.
5599 * sources/rb-static-playlist-source.c:
5600 (rb_static_playlist_source_class_init),
5601 (rb_static_playlist_source_init),
5602 (rb_static_playlist_source_finalize),
5603 (rb_static_playlist_source_constructor), (impl_reset_filters),
5604 (impl_search), (rb_static_playlist_source_do_query),
5605 (impl_save_contents_to_xml),
5606 (rb_static_playlist_source_add_location_internal): use a chained query
5607 model to filter out hidden entries and implement the search box.
5609 2006-01-15 James Livingston <jrl@ids.org.au>
5611 * sources/rb-playlist-source.c: (rb_playlist_source_new_from_xml): fix
5612 the default playlist loading, which I broke earlier.
5614 2006-01-15 James Livingston <jrl@ids.org.au>
5616 patch by: William Jon McCann <mccann@jhu.edu>
5618 * sources/rb-playlist-source.c: (playlist_iter_func): use
5619 totem-plparser's new API version macros to check for API changes.
5620 Handle the recent API change.
5622 2006-01-15 Jonathan Matthew <jonathan@kaolin.hn.org>
5624 * sources/rb-library-source.c: (impl_get_config_widget):
5625 Ref the preferences object to match the unref in the
5626 finalizer. Fixes some portion of #323505.
5628 2006-01-15 Jonathan Matthew <jonathan@kaolin.hn.org>
5630 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_parse_response):
5631 * shell/rb-removable-media-manager.c: (begin_cd_drive_monitor):
5632 Fix valgrind warnings about accessing uninitialised values.
5634 2006-01-14 William Jon McCann <mccann@jhu.edu>
5636 * sources/rb-playlist-source-recorder.c: Make build on 2.12 again.
5638 2006-01-14 Jonathan Matthew <jonathan@kaolin.hn.org>
5640 * shell/rb-shell-player.c: (rb_shell_player_sync_buttons):
5641 Use RB_ENTRY_VIEW_NOT_PLAYING state when there's no playing entry.
5642 Stops the 'now playing' icon from being displayed after the play
5645 2006-01-14 Jonathan Matthew <jonathan@kaolin.hn.org>
5647 * podcast/rb-podcast-manager.c:
5648 (rb_podcast_manager_db_entry_deleted_cb):
5649 Don't try to delete files we never downloaded, and cancel downloads
5650 for deleted episodes. Fixes bug #326862.
5651 * sources/rb-podcast-source.c: (rb_podcast_source_cmd_delete_feed):
5652 Don't complain about NULL data items in the selection list.
5654 2006-01-14 James Livingston <jrl@ids.org.au>
5656 * shell/rb-playlist-manager.c: (rb_playlist_manager_set_property):
5657 Make the name ofthe queue non editable. Fixes bug 326918.
5659 2006-01-13 William Jon McCann <mccann@jhu.edu>
5661 * sources/rb-playlist-source-recorder.c (burn_cd)
5662 (ask_rewrite_disc): Don't use our locally copied functions
5663 if we have at least 2.13.
5665 2006-01-13 William Jon McCann <mccann@jhu.edu>
5667 * podcast/rb-podcast-manager.c (rb_podcast_manager_class_init):
5668 Correct the argument type for the process_error signal.
5669 May fix bug #323154.
5671 2006-01-13 James Livingston <jrl@ids.org.au>
5673 save the queue to disk when exiting, and reload on startup. Fixed bug
5676 * shell/rb-playlist-manager.c:
5677 (rb_playlist_manager_load_playlists),
5678 (rb_playlist_manager_save_playlists_async): don't disable saving of
5681 * shell/rb-shell.c: (rb_shell_class_init), (rb_shell_get_property):
5682 add the queue source as a gobject property.
5684 * sources/rb-play-queue-source.c:
5685 (rb_play_queue_source_class_init), (impl_save_contents_to_xml): add
5686 code to save the queue to xml
5688 * sources/rb-playlist-source.c: (rb_playlist_source_new_from_xml):
5689 load the queue from xml.
5690 * sources/rb-playlist-xml.h:
5692 * sources/rb-static-playlist-source.c:
5693 (rb_static_playlist_source_load_from_xml),
5694 (rb_static_playlist_source_new_from_xml):
5695 * sources/rb-static-playlist-source.h: split the playlist xml loading
5696 from the static playlist creation function, so the queue can use it.
5698 2006-01-13 James Livingston <jrl@ids.org.au>
5700 * rhythmdb/rhythmdb.c: (rhythmdb_entry_set_visibility): remove
5701 assertion that should be there. Fixes bug 325923.
5703 * rhythmdb/rhythmdb.c: (rhythmdb_entry_new): make rhythmdb_entry_new
5704 return NULL if the entry already exists (e.g. as another type).
5705 * daapsharing/rb-daap-connection.c: (handle_song_listing):
5706 * podcast/rb-podcast-manager.c: (rb_podcast_manager_add_post),
5707 (rb_podcast_manager_insert_feed):
5708 * sources/rb-audiocd-source.c: (rb_audiocd_create_track_entry):
5709 * sources/rb-ipod-source.c: (load_ipod_db_idle_cb):
5710 * sources/rb-iradio-source.c: (rb_iradio_source_add_station): check
5711 for the above function returning NULL.
5713 2006-01-12 James Livingston <jrl@ids.org.au>
5715 * doc/reference/Makefile.am: make gtk-docs build again when libnotify
5716 is enabled. Fixes bug 326673.
5718 * doc/reference/tmpl/eggtrayicon.sgml:
5719 * doc/reference/tmpl/rb-daap-src.sgml:
5720 * doc/reference/tmpl/rb-source.sgml:
5721 * doc/reference/tmpl/rb-statusbar.sgml:
5722 * doc/reference/tmpl/rb-tree-model-sort.sgml:
5723 * doc/reference/tmpl/rhythmbox-unused.sgml:
5724 * doc/reference/tmpl/rhythmdb.sgml: updated gtk-docs
5726 2006-01-11 James Livingston <jrl@ids.org.au>
5728 * widgets/rb-song-info.c: (rb_song_info_constructor),
5729 (rb_song_info_new), (rb_song_info_populate_dialog_multiple),
5730 (rb_song_info_populate_dialog): fill in the fields if all tracks have
5731 the same value for properties. From bug 326054.
5733 2006-01-11 James Livingston <jrl@ids.org.au>
5735 * sources/rb-source.h:
5736 * shell/rb-shell-player.c: (rb_shell_player_set_playing_entry),
5737 (rb_shell_player_set_playing_source_internal), (eos_cb):
5738 add support for RB_SOURCE_EOF_STOP, so that playback will stop after
5741 * sources/rb-podcast-source.c: (impl_handle_eos): make the podcast
5742 source use this. Closes bug 322077.
5744 2006-01-10 William Jon McCann <mccann@jhu.edu>
5746 * widgets/eggtrayicon.c (egg_tray_icon_notify):
5747 In order for set_icon_data_from_pixbuf() to be
5748 effective, one must not set an icon in _new().
5750 2006-01-10 William Jon McCann <mccann@jhu.edu>
5752 * widgets/eggtrayicon.c (egg_tray_icon_init)
5753 (egg_tray_icon_unrealize, egg_tray_icon_cancel_message)
5754 (egg_tray_icon_notify): Add support for libnotify 0.3.
5755 * widgets/Makefile.am: Add missing NOTIFY_CLAGS.
5756 * configure.ac: Determine the version of libnotify.
5759 2006-01-08 James Livingston <jrl@ids.org.au>
5761 * daapsharing/rb-daap-share.c: (add_entry_to_mlcl): fix crasher when
5762 trying to share a track with unknown length.
5764 2006-01-08 Jonathan Matthew <jonathan@kaolin.hn.org>
5766 * shell/rb-shell-player.c: (rb_shell_player_init):
5767 Sync volume on startup so it doesn't default to 0.
5769 2006-01-08 Jonathan Matthew <jonathan@kaolin.hn.org>
5771 * shell/rb-shell-player.c: (rb_shell_player_class_init),
5772 (rb_shell_player_get_property), (rb_shell_player_open_location),
5773 (info_available_cb): Add the iradio streamed song title as a
5774 property, and emit a signal when it changes.
5776 * shell/rb-shell.c: (rb_shell_constructor),
5777 (rb_shell_player_elapsed_changed_cb),
5778 (rb_shell_player_stream_song_changed_cb):
5779 Issue a notification when the iradio song title changes.
5782 2006-01-08 Jonathan Matthew <jonathan@kaolin.hn.org>
5784 * shell/rb-shell-player.c: (rb_shell_player_init),
5785 (rb_shell_player_finalize), (rb_shell_player_set_property),
5786 (rb_shell_player_get_property), (rb_shell_player_sync_volume),
5787 (rb_shell_player_toggle_mute), (rb_shell_player_set_volume),
5788 (rb_shell_player_set_volume_relative),
5789 (rb_shell_player_get_volume), (rb_shell_player_set_mute),
5790 (rb_shell_player_get_mute):
5791 * shell/rb-shell-player.h:
5792 * shell/rb-shell-player.xml:
5793 Store volume as a property on RBShellPlayer, rather than in gconf.
5794 Add some methods to control volume via dbus.
5796 * shell/rb-shell.c: (rb_shell_constructor),
5797 (rb_shell_volume_widget_changed_cb),
5798 (rb_shell_player_volume_changed_cb):
5799 * shell/rb-tray-icon.c: (rb_tray_icon_scroll_event_cb):
5800 Update volume using player properties rather than gconf, and sync the
5801 volume with the volume control button when something else changes it.
5804 2006-01-07 William Jon McCann <mccann@jhu.edu>
5806 * shell/rb-tray-icon.c (tray_popup_position_menu):
5807 Make tray menu align with edge of panel.
5809 patch from Jaap A. Haitsma <jaap@haitsma.org>
5812 2006-01-07 William Jon McCann <mccann@jhu.edu>
5813 * shell/rb-shell.c (sourcelist_drag_received_cb):
5814 * shell/rb-playlist-manager.[ch] (create_name_from_selection_data)
5815 (rb_playlist_manager_new_playlist_from_selection_data):
5816 Make a reasonable default name for playlists created from
5817 dropped data. Fixes #326116.
5819 2006-01-07 William Jon McCann <mccann@jhu.edu>
5821 * sources/rb-playlist-source-recorder.c (update_speed_combobox):
5823 (burn_cd): Always eject CD after burning. Too many drives
5824 get confused if we don't. Save the speed used if the burn
5825 was completed successfully.
5827 * data/rhythmbox.schemas: Use our own speed instead of from
5828 n-c-b. The situation is that the default_speed for n-c-b is most
5829 likely the maximum write speed. This is fine for n-c-b because it
5830 has burn-proof turned on. We can't turn it on for audio CDs
5831 because the results are poor in quality. So we'll just pick a
5832 default that should work for everyone (4).
5834 2006-01-07 Jonathan Matthew <jonathan@kaolin.hn.org>
5836 * shell/rb-playlist-manager.c: (reap_dead_playlist_threads),
5837 (rb_playlist_manager_shutdown): Fix more compile errors with GCC 4.1.
5839 2006-01-07 Jonathan Matthew <jonathan@kaolin.hn.org>
5841 * shell/rb-shell.c: (rb_shell_add_uri): Fix compile error introduced
5842 in my previous commit. Fixes #326037.
5844 2006-01-06 Ryan P Skadberg <skadz@stigmata.org>
5846 patch by: Jonathan Matthew
5848 * rhythmdb/rhythmdb.c: (rhythmdb_event_free): Fixed compile
5849 error on Fedora Rawhide.
5851 2006-01-07 Jonathan Matthew <jonathan@kaolin.hn.org>
5853 * shell/rb-shell.c: (rb_shell_guess_type_for_uri):
5854 Assume HTTP URLs ending with .xml or .rss are podcasts.
5855 (rb_shell_add_uri): Handle adding podcast feeds.
5857 * sources/rb-podcast-source.c: (rb_podcast_source_new):
5858 Register as the source for podcast feeds.
5860 2006-01-07 Jonathan Matthew <jonathan@kaolin.hn.org>
5862 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_set_property):
5863 * shell/rb-shell-preferences.c: (rb_shell_preferences_append_page),
5864 (rb_shell_preferences_append_view_page):
5865 * shell/rb-shell-preferences.h:
5866 Fix typo in function name. Fixes #325992.
5868 2006-01-07 Jonathan Matthew <jonathan@kaolin.hn.org>
5870 * shell/rb-audioscrobbler.c:
5871 Add '+' to the list of characters to URI-encode, so it doesn't get
5872 interpreted as a space.
5874 2006-01-06 Jonathan Matthew <jonathan@kaolin.hn.org>
5876 * daapsharing/rb-daap-connection.c: (rb_daap_connection_logout),
5877 (rb_daap_connection_do_something): Don't crash if the DAAP server
5878 goes away while we're still trying to log in.
5880 2006-01-06 James Livingston <jrl@ids.org.au>
5882 * rhythmdb/rhythmdb.c: (rhythmdb_query_preprocess): fix Year criteria.
5884 2006-01-06 James Livingston <jrl@ids.org.au>
5886 Patch from: Alex Lancaster <alexl@users.sourceforge.net> to add
5887 support for Year to automatic playlists. Closes bug 321341.
5889 * rhythmdb/rhythmdb-query-model.c:
5890 (rhythmdb_query_model_set_property):
5891 * rhythmdb/rhythmdb-tree.c: (evaluate_conjunctive_subquery):
5892 * rhythmdb/rhythmdb.c: (rhythmdb_query_parse_valist),
5893 (rhythmdb_query_free), (rhythmdb_query_serialize),
5894 (rhythmdb_query_deserialize), (rhythmdb_query_internal),
5895 (rhythmdb_query_get_type), (rhythmdb_query_preprocess):
5896 * rhythmdb/rhythmdb.h: Support special
5897 RHYTHMDB_QUERY_PROP_YEAR_{EQUALS,GREATER,LESS} database search for
5900 * widgets/rb-query-creator-properties.c:
5901 (yearCriteriaCreateWidget), (yearCriteriaSetWidgetData),
5902 (yearCriteriaGetWidgetData): add Year to the list of criteria options.
5904 2006-01-06 James Livingston <jrl@ids.org.au>
5906 * configure.ac: make the playback backend selection work correctly
5908 * daapsharing/rb-daap-src.c: (rb_daap_src_get_type),
5909 (rb_daap_src_class_init), (rb_daap_src_dispose),
5910 (rb_daap_src_change_state), (rb_daap_src_initialize):
5911 * daapsharing/rb-daap-src.h: revent the G_DEFINE_TYPE change, since it
5912 doesn't work for this class. Fixes bug 325934
5914 2006-01-06 Jonathan Matthew <jonathan@kaolin.hn.org>
5916 * configure.ac: Fix check for libnotify.
5918 2006-01-05 William Jon McCann <mccann@jhu.edu>
5920 * sources/rb-playlist-source.c (xml_get_and_trim_names):
5921 Get name element for current lang and remove all name nodes
5923 (get_playlist_name_from_xml): Try to get name element or
5924 fall back to name attribute.
5925 (rb_playlist_source_new_from_xml): Get name before turning over
5926 to sub-types for parsing so that we can remove name elements
5927 from the tree if necessary.
5929 * shell/rb-playlist-manager.c (rb_playlist_manager_load_playlists):
5930 Load default playlists file if per user playlists are not found.
5932 * data/playlists.xml.in:
5934 * data/.cvsignore: Add default set of playlists.
5937 2006-01-05 Jonathan Matthew <jonathan@kaolin.hn.org>
5939 * shell/main.c: (main): Don't use the dbus interface to show the
5940 window if we're also going to use the bonobo interface.
5942 2006-01-05 Jonathan Matthew <jonathan@kaolin.hn.org>
5944 * shell/rb-history.c: (rb_history_set_playing):
5945 Allow setting the playing song to NULL.
5946 (rb_history_append), (rb_history_delete_link):
5947 Don't randomly change position when entries are added and removed,
5948 it confuses play orders.
5950 * shell/rb-play-order-random.c: (rb_random_play_order_class_init):
5951 Random orders always have a next entry if the model is not empty.
5952 (rb_random_play_order_get_next), (rb_random_play_order_go_next):
5953 Go back to the start of the history if we're past its end.
5955 * shell/rb-play-order-shuffle.c: (rb_shuffle_play_order_get_next),
5956 (rb_shuffle_play_order_go_next): Go back to the start of the history
5957 if we're past its end.
5958 (rb_shuffle_sync_history_with_query_model): Go back to the start of
5959 the history if the current entry is removed.
5961 * shell/rb-play-order.c: (rb_play_order_entry_added_cb),
5962 (rb_play_order_entry_deleted_cb): Only update have next/previous for
5963 the play order when the query has finished. This wasted about 10% CPU
5964 while the query was running.
5966 Fixes #324641: assertion failures when the query model was changed
5967 such that the playing song was no longer present.
5969 2006-01-05 James Livingston <jrl@ids.org.au>
5971 * daapsharing/rb-daap-src.c: (rb_daap_src_class_init),
5972 (rb_daap_src_dispose), (rb_daap_src_change_state):
5973 * rhythmdb/rhythmdb-gda.c: (rhythmdb_gda_class_init),
5974 (rhythmdb_gda_finalize):
5975 * widgets/rb-cell-renderer-pixbuf.c:
5976 * widgets/rb-cell-renderer-rating.c:
5977 (rb_cell_renderer_rating_class_init),
5978 (rb_cell_renderer_rating_finalize):
5979 * widgets/rb-druid.c: (rb_druid_class_init), (rb_druid_finalize):
5980 * widgets/rb-load-failure-dialog.c:
5981 (rb_load_failure_dialog_class_init),
5982 (rb_load_failure_dialog_finalize):
5983 * widgets/rb-rating.c: (rb_rating_class_init),
5984 (rb_rating_finalize):
5985 * widgets/rb-search-entry.c: (rb_search_entry_class_init),
5986 (rb_search_entry_finalize): use G_DEFINE_TYPE
5988 * widgets/rb-tree-model-sort.{c.h}: remove obsolete files from cvs.
5990 2006-01-05 James Livingston <jrl@ids.org.au>
5992 patch by: Lubomir Marinov <lubomir.marinov@gmail.com>
5994 * shell/rb-commander.{c,h}: remove obsolete files, that weren't put in
5997 * shell/rb-history.c: (rb_history_class_init),
5998 (rb_history_finalize):
5999 * shell/rb-playlist-manager.c: (rb_playlist_manager_class_init),
6000 (rb_playlist_manager_finalize):
6001 * shell/rb-remote.c: (rb_remote_finalize), (rb_remote_class_init),
6002 (rb_remote_init): use G_DEFINE_TYPE.
6004 2006-01-05 James Livingston <jrl@ids.org.au>
6006 * configure.ac: don't try to use libnotify >= 0.3.0 because of API
6009 2006-01-04 William Jon McCann <mccann@jhu.edu>
6011 * shell/rb-playlist-manager.c (rb_playlist_manager_set_property):
6012 Disable burn action when source is not a playlist.
6015 2006-01-04 Jonathan Matthew <jonathan@kaolin.hn.org>
6017 Optionally use libnotify to display song change and other
6018 notifications, and provide an option to disable notifications.
6019 Fixes #320355 and innumerable informal complaints.
6021 * widgets/eggtrayicon.c: (egg_tray_icon_init),
6022 (egg_tray_icon_unrealize), (egg_tray_icon_send_message),
6023 (egg_tray_icon_cancel_message), (egg_tray_icon_hide_notify_cb),
6024 (egg_tray_icon_notify):
6025 * widgets/eggtrayicon.h:
6027 * shell/Makefile.am:
6028 Optionally use libnotify instead of eggnotificationbubble.
6030 * shell/rb-tray-icon.c: (rb_tray_icon_class_init),
6031 (rb_tray_icon_constructor),
6032 (rb_tray_icon_show_notifications_changed_cb),
6033 (rb_tray_icon_hide_notify_cb)
6034 (rb_tray_icon_cancel_notify), (rb_tray_icon_notify):
6035 Add 'show notifications' action handling, use G_DEFINE_TYPE, move
6036 EggNotificationBubble pointer to eggtrayicon.
6038 * data/ui/rhythmbox-ui.xml: Add 'show notifications' menu item
6039 * lib/rb-preferences.h: Add #define for /ui/show_notifications key
6040 * data/rhythmbox.schemas: Add schema for /ui/show_notification key
6042 2006-01-04 William Jon McCann <mccann@jhu.edu>
6044 * sources/rb-playlist-source-recorder.c (rb_playlist_source_recorder_init):
6045 Request a minimum size for the progress bar so that
6046 the window doesn't shrink too small.
6048 2006-01-03 Jonathan Matthew <jonathan@kaolin.hn.org>
6050 * daapsharing/rb-daap-share.c: (databases_cb): (db_entry_added_cb),
6051 (add_db_entry), (db_entry_deleted_cb):
6052 Don't track the number of songs currently present, track the next ID
6053 to assign. Fixes potential ID conflict problems.
6055 (db_entry_changed_cb), (rb_daap_share_start_publish),
6056 (rb_daap_share_stop_publish):
6057 Watch for db entry changes, and when songs become non-hidden after
6058 a successful stat, add them to the mapping tables. Fixes #325178,
6059 making the DAAP server usable again.
6061 2006-01-03 Jonathan Matthew <jonathan@kaolin.hn.org>
6063 * shell/rb-statusbar.c: (rb_statusbar_class_init),
6064 (rb_statusbar_construct), (rb_statusbar_init),
6065 (rb_statusbar_finalize), (rb_statusbar_set_property),
6066 (rb_statusbar_get_property), (rb_statusbar_new),
6067 (rb_statusbar_sync_with_source):
6068 * shell/rb-statusbar.h:
6069 Remove visibility management code, stop watching for play order
6070 changes (status bar doesn't show play order any more), remove unused
6071 'player' property, and some other minor cleanup.
6073 * shell/rb-shell.c: (rb_shell_constructor),
6074 (rb_shell_view_statusbar_changed_cb), (rb_shell_sync_smalldisplay),
6075 (rb_shell_sync_statusbar_visibility):
6076 Manage status bar visibility here rather than in the status bar
6077 itself, so we can take small mode into account. Fixes #323589.
6079 2006-01-03 Jonathan Matthew <jonathan@kaolin.hn.org>
6081 * widgets/eggnotificationbubble.c: (draw_bubble):
6082 Move the bubble off the visible screen while setting up bevels.
6085 2006-01-01 Jonathan Matthew <jonathan@kaolin.hn.org>
6087 * shell/rb-shell-player.c: (rb_shell_player_init),
6088 (rb_shell_player_finalize):
6089 Remove unused structure members.
6091 (do_next_idle), (rb_shell_player_error):
6092 Only queue one call to do_next_idle, so we don't skip tracks if we get
6093 two errors for the same song. Fixes #325216.
6095 2006-01-01 Jonathan Matthew <jonathan@kaolin.hn.org>
6097 * data/glade/podcast-feed-properties.glade,
6098 podcast/rb-feed-podcast-properties-dialog.c:
6099 (rb_feed_podcast_properties_dialog_init),
6100 (rb_feed_podcast_properties_dialog_update):
6101 Add 'last episode' field to the podcast feed properties dialog.
6103 * podcast/rb-feed-podcast-properties-dialog.c:
6104 (rb_feed_podcast_properties_dialog_update_last_update),
6105 (rb_feed_podcast_properties_dialog_update_last_episode),
6106 podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed):
6107 Use last-seen property for the time at which we last updated the feed,
6108 and post-time for the time the last episode was published.
6110 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element):
6111 Handle upgrades from 0.9.2; if no post-time was found for a podcast
6112 feed, use last-seen (which in 0.9.2 was the last post time).
6116 2006-01-01 James Livingston <jrl@ids.org.au>
6118 patch by: Gunnar Steinn Magnusson <gsm@gunnarsteinn.com>
6120 * sources/rb-ipod-source.c: (load_ipod_db_idle_cb): read playcount and
6121 year from the ipod database.
6123 2006-01-01 Jonathan Matthew <jonathan@kaolin.hn.org>
6125 * metadata/rb-metadata-gst.c: (rb_metadata_gst_new_decoded_pad_cb):
6126 Only set the pipeline back to NULL state for really uninteresting
6127 files. This was causing deadlocks with various video files.
6130 2006-01-01 Jonathan Matthew <jonathan@kaolin.hn.org>
6132 * data/glade/song-info-multiple.glade:
6133 Add disc number label and field.
6134 * widgets/rb-song-info.c: (rb_song_info_construct_single),
6135 (rb_song_info_constructor):
6136 Handle widgets for disc number.
6137 (rb_song_info_sync_entries_multiple):
6138 Set disc number property on selected entries.
6141 2006-01-01 Jonathan Matthew <jonathan@kaolin.hn.org>
6143 * iradio/rb-new-station-dialog.c: (rb_new_station_dialog_init):
6144 * podcast/rb-new-podcast-dialog.c: (rb_new_podcast_dialog_init):
6145 Activate the default widget when enter is pressed in these dialogs.
6148 2006-01-01 Jonathan Matthew <jonathan@kaolin.hn.org>
6150 * shell/rb-shell-player.c: (rb_shell_player_get_playing_path):
6151 Use rb_shell_player_get_playing_entry, so we get the right entry
6152 when playing from the queue. Fixes #325379.
6154 2005-12-31 Jonathan Matthew <jonathan@kaolin.hn.org>
6156 * podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed):
6157 Include podcast posts with no publication date. Typically
6158 seen in static collections rather than feeds.
6160 2005-12-31 Jonathan Matthew <jonathan@kaolin.hn.org>
6162 * shell/main.c: (main): Don't attempt to handle
6163 bonobo-only arguments if we couldn't get a bonobo
6166 2005-12-31 Jonathan Matthew <jonathan@kaolin.hn.org>
6168 * daapsharing/rb-daap-mdns.c: (rb_daap_mdns_publish),
6169 (rb_daap_mdns_publish_cancel): Clear our_service_name so we don't
6170 abort if daap sharing is disabled and then re-enabled.
6172 2005-12-29 William Jon McCann <mccann@jhu.edu>
6174 * podcast/rb-podcast-parse.c (rb_insert_item):
6176 (rb_podcast_parser_start_element): Support itunes:image.
6177 Add debugging. Don't abuse the break statement. Warn
6178 if state is unknown.
6179 (rb_podcast_parser_end_element): Add debugging. Warn
6180 if state is unknown.
6181 (rb_podcast_parser_characters): Warn if state is unknown.
6183 Fixes parsing of feeds that use the itunes:image element.
6186 2005-12-28 Jonathan Matthew <jonathan@kaolin.hn.org>
6188 * sources/rb-iradio-source.c: (handle_playlist_entry_cb),
6189 (stations_view_drag_data_received_cb):
6190 Remove calls to rhythmdb_entry_lookup_by_location, as
6191 rb_iradio_source_add_station does that anyway.
6193 (rb_iradio_source_add_from_playlist):
6194 If the URL doesn't point to a playlist, add it as the stream
6197 2005-12-27 Jonathan Matthew <jonathan@kaolin.hn.org>
6199 * rhythmdb/rhythmdb.h: (rhythmdb_entry_get_string):
6200 just return NULL for RHYTHMDB_PROP_SEARCH_MATCH,
6201 so we don't get an assertion failure.
6204 2005-12-24 Jonathan Matthew <jonathan@kaolin.hn.org>
6206 * shell/main.c: (load_uri_args): don't compile this in if
6207 neither bonobo nor dbus are enabled. Fixes #324890.
6209 2005-12-22 Jonathan Matthew <jonathan@kaolin.hn.org>
6211 * sources/rb-audiocd-source.c:
6212 (rb_audiocd_scan_songs): Always return the pipeline to NULL state,
6213 so it closes the device.
6215 2005-12-20 James Livingston <jrl@ids.org.au>
6217 * metadata/rb-metadata-gst.c: make the state changes time-out again,
6218 so that it doesn't spend forever getting stuck on the one file. Don't
6219 report errors for failing to change state on known non-audio files.
6221 * player/rb-player-gst.c: (rb_player_construct): let playbin deal with
6222 audio sink creation if we can't create the gconfaudiosink. This lets
6223 it work with only gst-plugins-base on 0.10.
6225 2005-12-20 Jonathan Matthew <jonathan@kaolin.hn.org>
6227 * rhythmdb/rhythmdb-query-model.c:
6228 (rhythmdb_query_model_set_sort_order):
6229 Fix a tiny memory leak in the previous commit.
6231 2005-12-20 Jonathan Matthew <jonathan@kaolin.hn.org>
6233 * rhythmdb/rhythmdb-query-model.c:
6234 (rhythmdb_query_model_set_sort_order):
6235 Don't try to emit reorders for empty query models, since it doesn't
6236 achieve anything and it results in a few warnings.
6238 2005-12-19 William Jon McCann <mccann@jhu.edu>
6240 * sources/rb-playlist-source-recorder.c (rb_playlist_source_recorder_init):
6241 Make burn dialog non-resizable so that the expander can shrink.
6244 2005-12-19 Jonathan Matthew <jonathan@kaolin.hn.org>
6246 * rhythmdb/rhythmdb.c: (rhythmdb_entry_insert): really refuse to
6247 add entries without a location, rather than those with one.
6249 2005-12-19 James Livingston <jrl@ids.org.au>
6251 * shell/rb-shell-player.c: (rb_shell_player_cmd_play): don't crash if
6252 the error isn't set.
6254 2005-12-19 James Livingston <jrl@ids.org.au>
6255 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element): don't
6256 add entries without a location. Fixes bug 324290.
6258 * rhythmdb/rhythmdb.c: (rhythmdb_entry_insert): refuse to add entries
6261 * shell/main.c: (main): don't crash if dbus initialisation fails
6262 without setting an error
6264 2005-12-19 Jonathan Matthew <jonathan@kaolin.hn.org>
6266 * sources/rb-library-source.c: Remove unused structure members
6267 (rb_library_source_do_query): Actually use the cached 'all' query.
6270 2005-12-16 Jonathan Matthew <jonathan@kaolin.hn.org>
6272 * sources/rb-audiocd-source.c
6273 (rb_audiocd_get_cd_info): tab
6274 (rb_audiocd_scan_songs): Return boolean success/failure,
6275 fix error messages a bit.
6276 (metadata_cb): Don't crash if we have no tracks
6277 (rb_audiocd_load_songs): Don't try to read metadata if we can't read
6281 2005-12-15 William Jon McCann <mccann@jhu.edu>
6283 * shell/rb-shell.c (rb_shell_sync_fullscreen)
6284 (rb_shell_view_fullscreen_changed_cb): Fix sense of fullscreen gconf
6287 Patch from Jonathan Matthew <jonathan@kaolin.hn.org>
6290 2005-12-14 William Jon McCann <mccann@jhu.edu>
6292 * shell/rb-shell.c (rb_shell_constructor, rb_shell_finalize)
6293 (rb_shell_view_fullscreen_changed_cb, rb_shell_sync_fullscreen)
6294 (fullscreen_changed_cb):
6295 * lib/rb-preferences.h:
6296 * data/ui/rhythmbox-ui.xml:
6297 * data/rhythmbox.schemas:
6298 Add fullscreen mode.
6302 2005-12-14 Ryan P Skadberg <skadz@stigmata.org>
6304 * configure.ac: Removed DBUS_SERVICES_DIR from top-level
6305 configure. It was not working with RPM.
6306 * data/Makefile.am: Switched dbus directory location to use
6307 datadir instead of variable that was not working.
6309 2005-12-13 James Livingston <jrl@ids.org.au>
6311 patch by: Alex Lancaster <alexl@users.sourceforge.net>
6313 * sources/rb-podcast-source.c: (rb_podcast_source_class_init): make
6314 the podcast browser work again. Closes bug 323856.
6316 2005-12-12 William Jon McCann <mccann@jhu.edu>
6318 * sources/rb-podcast-source.c (rb_podcast_source_cmd_properties_feed):
6321 * lib/rb-cut-and-paste-code.c: (eel_strdup_strftime),
6322 (rb_utf_friendly_time):
6323 * lib/rb-cut-and-paste-code.h:
6325 * podcast/rb-feed-podcast-properties-dialog.c:
6326 (rb_feed_podcast_properties_dialog_parse_time):
6327 * podcast/rb-podcast-properties-dialog.c:
6328 (rb_podcast_properties_dialog_parse_time): use rb_utf8_friendly_time
6329 to display the date in a more user friendly way.
6330 For example, if the feed was updated yesterday it will say:
6331 Last updated: Yesterday 10:00 AM
6332 instead of printing the date.
6334 2005-12-12 William Jon McCann <mccann@jhu.edu>
6336 * podcast/rb-podcast-parse.c (rb_set_channel_value)
6337 (rb_set_item_value, rb_insert_item, rb_validate_channel_propert)
6338 (rb_validate_item_propert, rb_podcast_parser_start_element)
6339 (rb_podcast_parser_end_element, rb_podcast_parser_characters):
6340 Use RB style. Check for NULL before strcmp. No C++ comments.
6341 (rb_podcast_parse_load_feed): Fix double free of xmlSAXHandler.
6342 Don't set invalid mime type when mime type is NULL. Fix leaks.
6343 (rb_podcast_parse_date): Add support for some real world
6345 (rb_podcast_parse_time, rb_podcast_parse_channel_free)
6346 (rb_podcast_parse_item_free): Style and no need to check
6347 for NULL before g_free.
6351 2005-12-12 James Livingston <jrl@ids.org.au>
6353 * player/rb-recorder-gst.c: (rb_recorder_construct): use audioresample
6354 with gstreamer 0.10, which replaced audioscale.
6356 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_finalize): use correct
6357 function to free the SoupSession
6359 * shell/rb-source-header.c: (rb_source_header_set_property),
6360 (rb_source_header_disclosure_toggled_cb),
6361 (rb_source_header_view_browser_changed_cb),
6362 (rb_source_header_sync_control_state):
6363 * sources/rb-iradio-source.c: (rb_iradio_source_class_init):
6364 * sources/rb-library-source.c: (rb_library_source_class_init):
6365 * sources/rb-source.c: (rb_source_class_init),
6366 (rb_source_get_status), (default_get_browser_key),
6367 (rb_source_get_browser_key), (rb_source_can_browse),
6368 (rb_source_notify_status_changed),
6369 (rb_source_notify_filter_changed):
6370 * sources/rb-source.h: seperate the enabling of browsers from the use
6373 2005-12-11 William Jon McCann <mccann@jhu.edu>
6375 * data/glade/podcast-feed-properties.glade:
6376 * data/glade/podcast-properties.glade: Use scrolled viewports
6377 for description text. Fix regression of #320509.
6379 2005-12-11 James Livingston <jrl@ids.org.au>
6381 * sources/rb-auto-playlist-source.c:
6382 (rb_auto_playlist_source_class_init), (impl_reset_filters),
6383 (impl_search), (rb_auto_playlist_source_do_query),
6384 (rb_auto_playlist_source_set_query),
6385 (rb_auto_playlist_source_get_query): add support for the search box
6386 to automatic playlists.
6388 * sources/rb-library-source.c: (rb_library_source_dispose): fix minor
6391 2005-12-11 James Livingston <jrl@ids.org.au>
6395 2005-12-11 James Livingston <jrl@ids.org.au>
6397 * rhythmdb/rhythmdb.c: (rhythmdb_sync_library_idle),
6398 (rhythmdb_load), (monitor_subdirectory),
6399 (rhythmdb_sync_library_location): start the library sync and
6400 monitoring in an idle callback.
6402 2005-12-10 William Jon McCann <mccann@jhu.edu>
6404 * sources/rb-podcast-source.c (rb_podcast_source_class_init)
6405 (rb_podcast_source_constructor): Remove unused pixbuf column.
6406 (rb_podcast_source_set_property, rb_podcast_source_get_property):
6407 Use consistent style.
6411 2005-12-11 James Livingston <jrl@ids.org.au>
6413 * rhythmdb/rhythmdb-property-model.c:
6414 (rhythmdb_property_model_init), (rhythmdb_property_model_finalize),
6415 (rhythmdb_property_model_insert),
6416 (rhythmdb_property_model_delete_prop):
6417 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_init),
6418 (rhythmdb_tree_finalize), (rhythmdb_tree_property_new),
6419 (destroy_tree_property):
6420 * rhythmdb/rhythmdb.c: (rhythmdb_init), (rhythmdb_finalize),
6421 (rhythmdb_entry_allocate), (rhythmdb_entry_destroy): remove the use of
6422 GMemChunks, they are crap and deprecated. Improves startup-time and
6423 memory usage slightly.
6425 2005-12-10 William Jon McCann <mccann@jhu.edu>
6427 * shell/rb-shell.c (rb_shell_cmd_about): Updated copyright.
6428 Added license and website info.
6430 * MAINTAINERS.old: Add Colin.
6431 * MAINTAINERS: Add James.
6432 * AUTHORS: Put back in order. Add extra space between name and email
6433 to make it easier to read. Add James and jonathan.
6435 * widgets/rb-song-info.c (rb_song_info_init)
6436 (rb_song_info_constructor): Make sure close button is primary/rightmost.
6438 2005-12-10 Jonathan Matthew <jonathan@kaolin.hn.org>
6440 Play queue implementation. Closes bug 107787.
6442 * data/rhythmbox.schemas: add items for whether the queue should be
6443 displayed as a sidebar, and the height of the sourcelist if it is.
6445 * data/ui/rhythmbox-ui.xml: add 'add to queue' actions for library,
6446 playlist, and podcast popups; add 'view queue as sidebar' menu item,
6447 add popups for queue as source and as sidebar. We need a separate
6448 popup for the sidebar view because otherwise it's hard to tell which
6449 of the visible entry views the action came from.
6451 * lib/rb-preferences.h: Add constant for queue-as-sidebar preference
6453 * po/POTFILES.in: Add new file
6455 * podcast/rb-podcast-manager.{c,h} (rb_podcast_manager_entry_downloaded):
6456 Add helper function for deciding if a podcast episode is available for
6459 * rhythmdb/rhythmdb-query-model.{c,h}: Add ability to programmatically
6460 reorder entries in the query model.
6461 (idle_process_update): Handle new update type used to insert entries
6462 at a particular position in the query model.
6463 (rhythmdb_query_model_add_entry): Use new update type, take an 'index'
6464 parameter to specify the position (-1 meaning 'at the end').
6465 (rhythmdb_query_model_insert_into_main_list): Handle the 'index'
6467 (rhythmdb_query_model_remove_from_main_list): Abort if we're getting
6468 bad entry removal updates for entries that aren't in the model.
6469 (rhythmdb_query_model_emit_reorder): Add helper function for
6471 (rhythmdb_query_model_move_entry): New method for moving entries
6473 (rhythmdb_query_model_entry_added_cb),
6474 (rhythmdb_query_model_update_limited_entries),
6475 (rhythmdb_query_model_do_reorder),
6476 (rhythmdb_query_model_do_insert): Pass through the index parameter,
6477 use rhythmdb_query_model_emit_reorder where appropriate.
6479 * shell/rb-playlist-manager.c (rb_playlist_manager_set_property):
6480 Don't allow the queue to be deleted.
6481 (handle_playlist_entry_cb): Update for method signature change
6482 (rb_playlist_manager_save_playlists_async),
6483 (rb_playlist_manager_get_playlists): Don't save the play queue,
6484 don't report it as a playlist.
6486 * shell/rb-play-order.c: Include queue play order in the list of
6490 (rb_shell_class_init), (rb_shell_get_property): Add new property
6491 for access to the clipboard object.
6492 (rb_shell_constructor): Handle playing-from-queue signal to update the
6493 sourcelist display; add queue sidebar in to UI, listen for queue
6494 sidebar pane changes, and read initial settings from gconf.
6495 (rb_shell_playing_source_changed_cb), (rb_shell_playing_from_queue_cb):
6496 Only tell the sourcelist the source has changed if the new source is
6497 not the queue, as we update the sourcelist differently in that case.
6498 (rb_shell_set_window_title): Only use the cached window title if the
6499 playing state was the same when it was created.
6500 (rb_shell_view_queue_as_sidebar_changed_cb): Mangle UI on request.
6501 (rb_shell_sync_pane_visibility): Only hide the side pane if the
6502 sourcelist is hidden and the queue is shown as a source.
6503 (rb_shell_sync_smalldisplay): Disable 'view queue as sidebar' in small
6504 mode, since it doesn't make any sense.
6505 (sourcelist_visibility_changed_cb): Update the visibility of the pane
6507 (rb_shell_sync_paned): Update the queue sidebar pane separator too.
6508 (sidebar_paned_size_allocate_cb): Update sourcelist height in gconf.
6509 (rb_shell_jump_to_entry_with_source): Handle jump to entry when
6510 playing from queue shown as sidebar.
6512 * shell/rb-shell-clipboard.c: Use G_DEFINE_TYPE, move the
6513 MusicProperties action here from rb-shell-player.c, since it acts like
6515 (rb_shell_clipboard_class_init), (rb_shell_clipboard_set_property),
6516 (rb_shell_clipboard_get_property): new property for queue source.
6517 Watch for selection changes in the sidebar entry view as well as the
6519 (rb_shell_clipboard_sync): Rearrange code slightly, include sidebar
6520 actions and MusicProperties.
6521 (rb_shell_clipboard_cmd_queue_delete),
6522 (rb_shell_clipboard_cmd_add_song_to_queue),
6523 (rb_shell_clipboard_cmd_song_info),
6524 (rb_shell_clipboard_cmd_queue_song_info): New action handlers.
6526 * shell/rb-shell-player.{c,h}: Track the source the current playing entry
6527 actually came from (could be the playing source, or the queue), add a
6528 new play order object for the queue, add a property for the queue
6529 source, add a signal for when we switch between playing from the
6530 source and from the queue.
6531 (rb_shell_player_set_property): Handle playing directly from the
6532 queue so we stop once the queue is empty. Create queue play order
6533 when we get the queue source.
6534 (rb_shell_player_get_playing_source): Return the source we're actually
6536 (rb_shell_player_get_playing_entry): Get playing entry from queue if
6538 (rb_shell_player_set_playing_entry): Update the queue play order if
6539 that's where we're playing from.
6540 (rb_shell_player_play_order_update_cb): Take has next/previous for the
6541 queue into consideration too.
6542 (swap_playing_source): Helper function for switching the playing
6544 (rb_shell_player_do_previous): Check the queue, even though there's
6545 never a previous entry in it (yet), swap playing source if it changed.
6546 (rb_shell_player_do_next): Check the queue for entries to play before
6547 the normal play order, and swap playing source if it changed.
6548 (rb_shell_player_do_previous_or_seek): Check the queue for previous
6549 entries to go to as well.
6550 (rb_shell_player_playpause): Check the queue before the selection and
6551 the play order, and swap playing source if it changed.
6552 (rb_shell_player_cmd_song_info): Move to rb-shell-clipboard.c
6553 (rb_shell_player_entry_activated_cb): Use
6554 rb_podcast_manager_entry_downloaded, do some tapdancing to make
6555 activating queue entries work properly (move the activated entry to
6556 the start of the queue and then play it); if we were playing from the
6557 queue, clear its playing entry so it'll start again from the start
6558 after the activated entry.
6559 (rb_shell_player_sync_buttons): MusicProperties action handler moved
6560 to rb-shell-clipboard.c
6561 (actually_set_playing_source): Add helper for updating the playing
6563 (rb_shell_player_set_playing_source_internal): Emit playing-from-queue
6564 signal if we stop or start doing so; use actually_set_playing_source;
6565 emit playing-source-changed if we actually did change source.
6567 * sources/rb-ipod-source.c (add_rb_playlist): Add extra parameter for
6568 rb_static_playlist_source_add_location.
6570 * sources/rb-library-source.c (rb_library_source_class_init): Allow
6571 enqueueing of songs from the library.
6573 * sources/rb-playlist-source.c (rb_playlist_source_class_init): Allow
6574 enqueueing of sonsg from playlists.
6575 (rb_playlist_source_entry_added_cb): Add extra parameter for
6576 rhythmdb_query_model_add_entry.
6578 * sources/rb-podcast-source.c (rb_podcast_source_class_init):
6579 Implement (can_)add_to_queue for this class.
6580 (rb_podcast_source_entry_activated): Use
6581 rb_podcast_manager_entry_downloaded.
6582 (impl_can_add_to_queue): Return TRUE if at least one entry that has
6583 been downloaded is selected.
6584 (impl_add_to_queue): Only add downloaded entries to the queue.
6586 * sources/rb-source.{c,h}:
6587 (rb_source_can_add_to_queue), (rb_source_add_to_queue): New virtual
6589 (rb_source_class_init): Don't allow enqueueing by default; implement
6590 add_to_queue though.
6591 (default_add_to_queue): Add all selected entries to the queue.
6593 * sources/rb-sourcelist.{c,h}: Add concept of 'preempted' source (what
6594 would be playing if there wasn't anything in the queue).
6595 (set_source_playing): Helper function for manipulating tree store.
6596 (rb_sourcelist_set_playing_source): Use set_source_playing
6597 (rb_sourcelist_preempt_playing_source): Update preempted source
6598 pointer, manipulate source states.
6600 * sources/rb-static-playlist-source.{c,h}:
6601 (rb_static_playlist_source_add_location_internal),
6602 (rb_static_playlist_source_add_location),
6603 (rb_static_playlist_source_add_entry): Add index parameter for
6604 specifying where in the playlist the new entry goes.
6605 (rb_static_playlist_source_new_from_xml), (impl_paste),
6606 (rb_static_playlist_source_add_list_uri),
6607 (rb_static_playlist_source_add_location_swapped),
6608 (rb_static_playlist_source_add_locations),
6609 (rb_static_playlist_source_non_entry_dropped),
6610 (rb_static_playlist_source_row_inserted):
6611 Handle new index parameter everywhere it appears
6612 (rb_static_playlist_source_move_entry): New method for moving entries
6613 around in the playlist.
6615 * widgets/rb-entry-view.c (rb_entry_view_scroll_to_iter): Silence gtk
6616 warnings when trying to scroll entry views that have never been
6619 * shell/rb-play-order-queue.{c,h}: New files, implementing a linear
6620 play order that removes the old entry when switching to a new one.
6622 * sources/rb-play-queue-source.{c,h}: New files, implementing a
6623 static playlist subclass that has a second entry view for the sidebar
6624 view using alternate formatting, and that displays the number of
6625 entries it contains in its source list entry.
6627 2005-12-10 James Livingston <jrl@ids.org.au>
6629 * rhythmdb/rhythmdb-query-model.c:
6630 (rhythmdb_query_model_add_entry),
6631 (rhythmdb_query_model_drag_data_received):
6632 * sources/rb-static-playlist-source.c:
6633 (rb_static_playlist_source_non_entry_dropped): when things are
6634 dropped, ignore any blank lines in the list of uris. Make the source
6635 responsible for adding new items to the db.
6637 * rhythmdb/rhythmdb.c: (queue_stat_uri): make sure we aren't passed an
6640 2005-12-10 James Livingston <jrl@ids.org.au>
6642 * shell/rb-shell-player.c: (rb_shell_player_set_property),
6643 (rb_shell_player_sync_buttons),
6644 (rb_shell_player_selection_changed_cb): watch for the
6645 "selection-changed" signal, so that the Song Properties get enabled.
6648 2005-12-10 James Livingston <jrl@ids.org.au>
6650 * data/rhythmbox.schemas: fix the gconf schema
6652 2005-12-10 James Livingston <jrl@ids.org.au>
6654 * metadata/rb-metadata-gst.c: don't set the state to NULL when inside
6655 the decoded-pad callback with gstreamer 0.8, it causes problems.
6657 2005-12-10 Jonathan Matthew <jonathan@kaolin.hn.org>
6659 Remove more junk from RBEntryView. Closes bug 323640.
6661 * widgets/rb-entry-view.{c,h}:
6662 Remove unused private structure members, replace 'playing' boolean
6663 with an enum (so we know if we're paused too), and store a pointer to
6664 the RBShellPlayer too.
6665 (rb_entry_view_class_init), (rb_entry_view_set_property),
6666 (rb_entry_view_get_property):
6667 Remove 'entry-selected' and 'changed' signals and
6668 'playing-entry' property, add 'selection-changed' signal and
6669 'shell-player' and 'playing-state' properties.
6670 (rb_entry_view_new): Take the shell player object reference
6671 (rb_entry_view_playing_cell_data_func): Get pixbuf based on state.
6672 (rb_entry_view_set_playing_entry), (rb_entry_view_get_playing_entry):
6673 No longer needed, shell player is the place to get this information.
6674 (rb_entry_view_busy), (rb_entry_view_get_duration),
6675 (rb_entry_view_get_total_size), (rb_entry_view_get_first_entry),
6676 (rb_entry_view_get_next_from_entry),
6677 (rb_entry_view_get_previous_from_entry),
6678 (rb_entry_view_get_next_entry), (rb_entry_view_get_random_entry),
6679 (rb_entry_view_get_num_entries):
6680 Removed, callers should go to the query model directly.
6681 (rb_entry_view_playing_song_changed): Update active query model, emit
6682 row changed signals to update pixbufs, and scroll to the playing song
6683 when the playing song changes, based on a signal from the shell
6685 (queue_changed_sig), (rb_entry_view_row_changed_cb),
6686 (emit_entry_changed): Evil, removed.
6687 (rb_entry_view_selection_changed_cb): Remove old signals, add new
6688 selection-changed signal.
6689 (rb_entry_view_select_none), (rb_entry_view_select_entry):
6690 Remove selection lock. It didn't work anyway.
6691 (rb_entry_view_set_playing): Replaced with rb_entry_view_set_state.
6692 (rb_entry_view_emit_row_changed): Simple helper function to emit
6693 row-changed signals.
6695 * widgets/Makefile.am: Entry view needs headers from the shell/
6697 * widgets/rb-song-info.{c,h}: Use the query model for everything except
6699 scrolling the entry view to show the entry being displayed.
6700 (rb_song_info_class_init), (rb_song_info_get_property): Add new
6701 'source' property so we can watch for query model changes.
6702 (rb_song_info_finalize): Unref objects, disconnect signal handlers
6703 (rb_song_info_set_property): Watch for query model changes, don't
6704 watch for entry view changes.
6705 (rb_song_info_new): Take source as a parameter, use the source's entry
6706 view unless one was specifically supplied.
6707 (rb_song_info_backward_clicked_cb), (rb_song_info_forward_clicked_cb):
6708 Use query model rather than entry view to move between songs.
6709 (rb_song_info_update_buttons): Use query model.
6710 (rb_song_info_query_model_changed_cb): Handle query model changes.
6712 * shell/rb-playlist-manager.c (rb_playlist_manager_set_property):
6713 Only one copy of the code to enable/disable the CD burning action
6714 (rb_playlist_manager_playlist_entries_changed):
6715 Use the query model to get the number of entries, not the entry view.
6717 * shell/rb-play-order-random-by-age-and-rating.c,
6718 shell/rb-play-order-random-by-age.c,
6719 shell/rb-play-order-random-by-rating.c,
6720 shell/rb-play-order-random-equal-weights.c:
6723 * shell/rb-shell-player.{c,h}:
6724 Remove a few unused entries from the structure.
6725 (rb_shell_player_set_property):
6726 Don't use the 'changed' signal on the entry view (it's evil)
6727 (rb_shell_player_have_first): No longer needed
6728 (rb_shell_player_play): Just tell the entry view it's playing
6729 (rb_shell_player_playpause): Tell the entry view it's paused
6731 (rb_shell_player_entry_view_changed_cb): No longer used, removed.
6732 (rb_shell_player_property_row_activated_cb):
6733 Get the entry to play using the query model, not the entry view.
6734 (rb_shell_player_sync_buttons): Update entry view state while we're
6736 (rb_shell_player_set_playing_source_internal): Update entry view state
6737 (rb_shell_player_get_playing): Ask the entry view, not the player.
6738 This now returns TRUE when paused. This makes rb_shell_set_elapsed
6739 and rb_shell_set_window_title work properly, so you get "(Paused)" in
6740 the window title and tray icon tooltip.
6741 (rb_shell_player_get_mm_player): Not used anywhere, so removed.
6743 * sources/rb-iradio-source.c, sources/rb-library-source.c,
6744 sources/rb-podcast-source.c, sources/rb-playlist-source.c:
6745 (rb_iradio_source_constructor): Pass the RBShellPlayer in to the entry
6746 view constructor, pass the source in to the song info widget
6749 * shell/rb-shell-clipboard.c (rb_shell_clipboard_set_property):
6750 Use 'selection-changed' instead of 'changed', since that's what the
6751 clipboard cares about.
6752 (rb_shell_clipboard_set_source): Don't die if source == NULL
6754 2005-12-10 James Livingston <jrl@ids.org.au>
6756 * player/rb-recorder-gst.c: (rb_recorder_get_default_drive):
6757 * sources/rb-playlist-source-recorder.c:
6758 (_nautilus_burn_drive_new_from_path): make more of the libnautilusburn
6759 stuff not use the deprecated API when compiled against 2.13
6761 2005-12-10 James Livingston <jrl@ids.org.au>
6763 patch by: Alex Lancaster <alexl@users.sourceforge.net>
6765 * widgets/rb-song-info.c: (rb_song_info_sync_entry_single): fix
6766 problem where the genre tag was getting set to the artist. Closes bug
6769 2005-12-09 William Jon McCann <mccann@jhu.edu>
6771 * rhythmdb/rhythmdb-query-model.c (rhythmdb_query_model_get_next_from_entry):
6772 Return NULL if can't get first iter.
6776 2005-12-09 William Jon McCann <mccann@jhu.edu>
6778 * sources/rb-iradio-source.[ch] (impl_song_properties): Use
6779 updated rb_station_properties_dialog_new API.
6780 (rb_iradio_source_add_from_playlist): New public function.
6781 (rb_iradio_source_first_time_changed): Use add_from_playlist.
6783 * shell/rb-shell.c (new_station_location_added): Handle
6784 iradio location added signal.
6785 (rb_shell_cmd_new_station): Use new iradio station dialog.
6787 * iradio/rb-station-properties-dialog.c (rb_station_properties_dialog_init): Use close button. Fix typo.
6788 (rb_station_properties_dialog_new): Don't squeeze new
6789 station functionality into this class.
6790 (rb_station_properties_dialog_response_cb): ditto.
6791 (rb_station_properties_dialog_update_title): Make
6792 consistent with other properties dialogs.
6793 (rb_station_properties_dialog_location_changed_cb): Do nothing.
6795 * iradio/rb-new-station-dialog.[ch]:
6796 * iradio/Makefile.am: Add new station dialog.
6798 * data/glade/station-new.glade: New file based on
6799 new podcast feed dialog.
6800 * data/glade/station-properties.glade: Updated to
6801 be consistent with song properties dialog.
6805 2005-12-10 James Livingston <jrl@ids.org.au>
6807 patch by: Ståle Lyngaas <staale@lyngaas.com>
6809 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_song_changed_cb):
6810 submit songs longer than 30 minutes. Fixes bug 323639.
6812 2005-12-09 William Jon McCann <mccann@jhu.edu>
6814 * shell/rb-shell.c (idle_save_playlist_manager): Use new
6815 async save function.
6816 (rb_shell_finalize): Remove save timeout sources. Reorder
6817 steps a bit to make saving db and playlists a bit more
6818 failsafe in case something goes wrong later.
6819 (rb_shell_constructor): Keep track of save timeout source.
6820 (add_to_library_response_cb): Keep track of db save timeout source.
6822 * shell/rb-playlist-manager.c (reap_dead_playlist_threads): Use
6824 (rb_playlist_manager_shutdown): New function to shutdown
6825 threads etc. before exit.
6826 (rb_playlist_manager_finalize): Moved handling outstanding
6827 threads stuff to shutdown since if there are outstanding threads
6828 they hold a ref and finalize is never called.
6829 (rb_playlist_manager_save_thread_main): Use cond broadcast instead
6830 of signal which may be required for sync save.
6831 (rb_playlist_manager_save_playlists_async): Renamed old
6832 save_playlists to save_playlists_async. Use g_atomic.
6833 (rb_playlist_manager_save_playlists): New function to
6834 perform sync saves (symmetric with RhythmDB API).
6835 (rb_playlist_manager_cmd_new_automatic_playlist): Style consistency.
6837 * rhythmdb/rhythmdb.c (rhythmdb_action_free, rhythmdb_shutdown):
6838 Style consistency anality.
6839 (rhythmdb_finalize): Remove save timeout source.
6840 (rhythmdb_set_property, rhythmdb_get_property)
6841 (rhythmdb_process_events): More anality and keep track of
6842 save timeout source.
6843 (action_thread_main): No need to call g_thread_exit.
6844 (rhythmdb_entry_set_internal, rhythmdb_entry_sync_mirrored)
6845 (rhythmdb_query_parse_valist, rhythmdb_query_free)
6846 (write_encoded_gvalue, read_encoded_property): La la la.
6850 2005-12-10 James Livingston <jrl@ids.org.au>
6852 * metadata/rb-metadata-gst.c: fix 5 second pauses when encountering
6855 2005-12-10 James Livingston <jrl@ids.org.au>
6858 * configure.ac: remove the rpm spec files, so that automake works.
6861 * rhythmdb/rhythmdb.c: (rhythmdb_save_thread_main): fix a trivial
6864 2005-12-09 James Livingston <jrl@ids.org.au>
6866 * debian/: try to get cvs to actually remove the files
6868 2005-12-09 James Livingston <jrl@ids.org.au>
6870 * rhythmbox.spec.in:
6871 * debian/: remove the distro package stuff, they are *really* old, and
6872 downstream manage it anyway.
6874 2005-12-09 Jonathan Matthew <jonathan@kaolin.hn.org>
6876 Rework play orders to work off query models rather than
6877 entry views, and track the playing entry themselves rather
6878 than relying on the entry view to do it. This makes the entry
6879 view mostly just a widget. Closes bug 323612.
6881 * daapsharing/rb-daap-share.c (add_playlist_to_mlcl), (databases_cb):
6882 Use query model rather than entry view to get the number
6883 of entries in playlists.
6885 * rhythmdb/rhythmdb-query-model.{c.h}
6886 (rhythmdb_query_model_tree_path_to_entry),
6887 (rhythmdb_query_model_iter_to_entry),
6888 (rhythmdb_query_model_get_next_from_entry),
6889 (rhythmdb_query_model_get_previous_from_entry):
6890 New utility functions for iterating through query models.
6891 (rhythmdb_query_model_compute_status_normal):
6892 Have one copy of this code, not four.
6894 * shell/rb-play-order.{c,h}:
6895 Add signals for when next/previous availability changes, and
6896 when the playing entry is removed, and add a property for
6897 the current playing entry. Add gtkdoc comments too.
6898 (rb_play_order_class_init): Add new property and signals.
6899 (rb_play_order_finalize), (rb_play_order_playing_source_changed),
6900 (rb_play_orer_query_model_changed_cb),
6901 (rb_play_order_query_model_changed):
6902 Use query model rather than entry view.
6903 (rb_play_order_set_property), (rb_play_order_get_property):
6904 Handle new playing-entry property. Call playing_entry_changed virtual
6905 method so subclasses can do any processing required.
6906 (rb_play_order_is_playing), (rb_play_order_get_playing_entry),
6907 (rb_play_order_set_playing_entry):
6908 Just use the playing-entry property.
6909 (rb_play_order_get_query_model), (rb_play_order_model_not_empty):
6910 Utility methods for subclasses.
6911 (rb_play_order_entry_added_cb), (rb_play_order_entry_removed_cb):
6912 Update next/previous availability, check if the playing entry
6914 (default_playing_entry_removed):
6915 Keep the current behaviour of just stopping playback when the
6916 playing entry is deleted.
6917 (rb_play_order_go_next), (rb_play_order_go_previous): Implement
6918 these for subclasses that don't have go_next/go_previous, but do
6919 have get_next/get_previous.
6920 (rb_play_order_update_have_next_previous): Emit signal if the
6921 availability of next/previous entries has changed.
6923 * shell/rb-play-order-linear.c, shell/rb-play-order-linear-loop.c,
6924 shell/rb-play-order-shuffle.c, shell/rb-play-order-random.c:
6925 Use G_DEFINE_TYPE, replace entry view iterator with query model
6927 (rb_shuffle_playing_entry_changed): If new_entry is NULL and we're
6928 on the last song in the shuffled order, go back to the start. This
6929 means if you press 'play' again you'll get the whole order again, not
6932 * shell/rb-shell-player.c:
6933 (rb_shell_player_get_playing_entry), (info_available_cb): Ask the
6934 play order rather than the entry view.
6935 (rb_shell_player_set_property): Update the play order when the
6936 selected source changes and we aren't playing anything.
6937 (rb_shell_player_sync_play_order): Copy the playing entry across to
6938 the new play order so playback continues from the same song, and watch
6939 for updates to have_next/have_previous.
6940 (rb_shell_player_play_order_update_cb): Enable/disable the
6941 next/previous actions when next/previous entry availability changes.
6942 (rb_shell_player_jump_to_current): Just use the play order's idea of
6943 what's playing, not the entry view's; if not playing anything, clear
6944 the selection, so when a playlist ends and you hit play again, it'll
6945 start at the start rather than the end.
6946 (rb_shell_player_do_previous): restructure a bit.
6947 (rb_shell_player_do_next): restructure, jump to new playing entry in
6948 an idle handler instead of directly.
6949 (rb_shell_player_do_previous_or_seek): Only try to go to the previous
6950 song if there is one.
6951 (rb_shell_player_playpause): Jump to playing song, don't update the
6952 play order if we got the song from the selection.
6953 (rb_shell_player_playing_entry_deleted_cb): Not needed.
6954 (rb_shell_player_sync_buttons): rb_shell_player_play_order_update_cb
6955 looks after next/previous actions now. Don't break if called while
6956 there is no selected source.
6957 (rb_shell_player_finalize), (rb_shell_player_set_playing_entry),
6958 (rb_shell_player_set_playing_source_internal),
6959 (rb_shell_player_error): No need to track the attempted playing entry
6960 any more, since the play order does that.
6963 (rb_shell_jump_to_current), (rb_shell_set_rating_impl): Use
6964 rb_shell_player_get_playing_entry rather than going through the entry
6967 * shell/rb-statusbar.c (rb_statusbar_set_property),
6968 (rb_statusbar_source_status_changed_cb): Listen to the source rather
6969 than the entry view for status bar text changes.
6970 (rb_statusbar_sync_status): Ask the query model directly
6972 * sources/rb-source.{c}: Add query model property.
6973 (default_get_status): Get status text from query model, should be
6974 suitable for most sources.
6975 (rb_source_set_property): Listen for changes to the query model
6976 to update the status text.
6977 (rb_source_row_inserted_cb), (rb_source_row_deleted_cb),
6978 (idle_emit_status_changed): Emit status-changed signals when query
6981 * sources/rb-library-source.c, sources/rb-podcast-source.c:
6982 (impl_get_status): Not needed, RBSource does this now
6983 (rb_library_source_do_query) (rb_podcast_source_do_query):
6984 Update RBSource's query model reference.
6986 * sources/rb-playlist-source.c:
6987 Remove query-model property, since RBSource has one now
6988 (impl_get_status): Not needed, RBSource does this now
6989 (rb_playlist_source_row_deleted): Use query model iterator helper
6991 (rb_playlist_source_set_query_model): Update RBSource's query model
6994 * sources/rb-iradio-source.c:
6995 (impl_get_status): Ask the query model directly.
6996 (rb_iradio_source_do_query): Update RBSource's query model reference
6997 when we create a new query.
6999 * sources/rb-sourcelist-model.c (rb_sourcelist_model_drag_data_get):
7000 Use query model rather than entry view.
7002 * widgets/rb-entry-view.{c,h}:
7003 Remove playing_entry_deleted signal (now in play order).
7004 (entry_from_tree_path), (entry_from_tree_iter): Not needed
7005 as RhythmDBQueryModel has equivalent helper functions.
7006 (rb_entry_view_*): Use query model helpers instead of the above two
7009 2005-12-09 James Livingston <jrl@ids.org.au>
7012 * player/rb-recorder-gst.c: (rb_recorder_get_default_drive),
7013 (rb_recorder_enabled):
7014 * shell/rb-removable-media-manager.c: (poll_tray_opened):
7015 * sources/rb-playlist-source-recorder.c:
7016 (_nautilus_burn_drive_new_from_path), (ask_rewrite_disc): check
7017 whether libnautilusburn has the _drive_unref function, and if so use
7018 it. Stops it complaining about deprecated API.
7020 2005-12-09 James Livingston <jrl@ids.org.au>
7022 * configure.ac: drop the minimum gstreamer version back down, it
7023 accidently got pushed up in the gst 0.10 patch. Closes bug 323561.
7025 2005-12-09 James Livingston <jrl@ids.org.au>
7027 * widgets/rb-song-info.c: (rb_song_info_class_init),
7028 (rb_song_info_show), (rb_song_info_constructor),
7029 (rb_song_info_finalize), (rb_song_info_backward_clicked_cb),
7030 (rb_song_info_forward_clicked_cb): save metadata changes when the
7031 Next/Previous buttons are pressed (closes bug 320952). use
7034 2005-12-09 James Livingston <jrl@ids.org.au>
7036 Patch by: <jonathan@kaolin.hn.org>
7038 * sources/rb-iradio-source.c:
7039 (stations_view_drag_data_received_cb):
7040 * sources/rb-podcast-source.c: (impl_receive_drag): fix drag and drop
7041 of urls. Fixes bug 323610.
7043 2005-12-09 James Livingston <jrl@ids.org.au>
7045 patch by Jan Schmidt <thaytan@mad.scientist.com> to add support for
7046 GStreamer 0.10. DAAP support for 0.10 isn't done yet.
7049 * metadata/rb-metadata-gst.c:
7050 * player/rb-player-gst.c: (rb_player_finalize), (rb_player_bus_cb),
7051 (rb_player_construct), (rb_player_new):
7052 * player/rb-recorder-gst.c: (rb_recorder_gst_free_pipeline),
7053 (rb_recorder_gst_signal_error), (pipe_message),
7054 (rb_recorder_new_pad_cb), (rb_recorder_construct),
7056 * shell/main.c: (main):
7057 * sources/rb-audiocd-source.c: (rb_audiocd_create_track_entry),
7058 (rb_audiocd_get_cd_info): port gstreamer-using code to 0.10.
7060 2005-12-07 Jonathan Matthew <jonathan@kaolin.hn.org>
7062 * data/rhythmbox-ui.xml: replace 'smart' with 'auto' for consistency
7064 * shell/rb-playlist-manager.c:
7065 (rb_playlist_manager_set_property), (handle_playlist_entry_cb),
7066 (playlist_load_start_cb), (rb_playlist_manager_new_playlist)
7067 (rb_playlist_manager_set_automatic_playlist),
7068 (rb_playlist_manager_cmd_new_automatic_playlist),
7069 (rb_playlist_manager_cmd_edit_automatic_playlist):
7070 Use new playlist subclasses.
7071 (rb_playlist_manager_save_playlists): Only read the dirty flag
7072 for local playlists, minor pointless reformatting
7074 * sources/Makefile.am: add new files
7076 * sources/rb-playlist-source.c, sources/rb-playlist-source.h:
7077 split lots of stuff out into two
7078 new classes, RBStaticPlaylistSource and RBAutoPlaylistSource,
7079 make RBPlaylistSource abstract, add virtual methods for showing a
7080 popup for the entry view and saving the playlist to XML.
7081 Other stuff is subclass-specific, or already virtual in RBSource.
7083 * sources/rb-playlist-xml: Define playlist XML tags and attributes
7084 in one place, since they're used across three source files now
7086 * sources/rb-daap-source.c: (rb_daap_source_connection_cb):
7087 Use new static playlist class
7089 * sources/rb-ipod-source.c: (add_rb_playlist):
7090 Use new static playlist class
7092 * sources/rb-static-playlist-source.{c,h},
7093 source/rb-auto-playlist-source.{c,h}, sources/rb-playlist-xml.h: new
7096 * po/POTFILES.in: add new files
7098 2005-12-07 James Livingston <jrl@ids.org.au>
7100 * rhythmdb/rhythmdb.c: (emit_entry_changed), (sync_entry_changed),
7101 (rhythmdb_commit_internal), (rhythmdb_process_metadata_load): make
7102 metadata loads not attempt to write changes to disk.
7104 2005-12-07 James Livingston <jrl@ids.org.au>
7106 patch by: Alex Lancaster <alexl@users.sourceforge.net>
7108 * data/glade/song-info-multiple.glade:
7109 * widgets/rb-song-info.c: (rb_song_info_constructor),
7110 (rb_song_info_sync_entries_multiple): allow the year to be changed on
7111 multiple songs at once.
7113 2005-12-06 James Livingston <jrl@ids.org.au>
7115 * rhythmdb/rhythmdb.c: (rhythmdb_process_metadata_load),
7116 (rhythmdb_entry_set_visibility): emit signal when visibility changes.
7118 2005-12-06 James Livingston <jrl@ids.org.au>
7120 * sources/rb-sourcelist.c: (rb_sourcelist_init): ellipsise source
7121 names rather than adding a horizontal scroll bar.
7123 2005-12-06 James Livingston <jrl@ids.org.au>
7125 * rhythmdb/rhythmdb-query-model.c:
7126 (rhythmdb_query_model_update_limited_entries),
7127 (rhythmdb_query_model_drag_data_received): remove some pointless debug
7130 * rhythmdb/rhythmdb.c: (rhythmdb_process_stat_event),
7131 (rhythmdb_process_file_deleted), (rhythmdb_entry_move_to_trash):
7132 always hide rather than remove DB entries, which will make RB not lose
7133 information when tag editing happens or people move files to trash and
7134 then change their mind. Also fix some races where the monitoring code
7135 would notice the temporary files generated by saving metadata.
7137 2005-12-05 William Jon McCann <mccann@jhu.edu>
7139 * widgets/rb-song-display-box.[ch] (rb_song_display_box_init):
7140 Hide internals and add tooltips.
7141 (rb_song_display_box_size_allocate): Hide internals.
7142 (sanitize_string, info_url): Copied from rb-header.
7143 (rb_song_display_box_sync): New public function.
7145 * widgets/rb-header.[ch]: Use G_DEFINE_TYPE.
7146 (rb_header_init): Use a separate row for the seek bar.
7147 (rb_header_finalize): Don't unref widgets.
7148 (rb_header_sync): Use rb_song_display_box_sync.
7149 (rb_header_set_urldata)
7150 (rb_header_set_show_artist_album): Hide instead of remove widgets.
7151 (rb_header_set_show_position_slider): Set visibility of seek bar.
7152 (rb_header_set_show_timeline): Set sensitivity of seek bar.
7153 (rb_header_get_elapsed_string): Don't shift when you first start playback.
7155 * shell/rb-statusbar.c (rb_statusbar_init)
7156 (rb_statusbar_sync_state): Remove shuffle and repeat controls.
7158 * shell/rb-shell.c (rb_shell_finalize): Destroy tooltips.
7159 (rb_shell_constructor): Remove hseparator. Monitor
7160 toolbar visibility settings. Add toolbar. Add
7161 volume button to toolbar. Add tooltips for volume button.
7162 (rb_shell_view_toolbar_changed_cb)
7163 (rb_shell_sync_toolbar_visibility)
7164 (toolbar_visibility_changed_cb): Set visibility of
7166 (rb_shell_sync_smalldisplay): Set the toolbar style to
7167 icons only when in small display mode.
7168 (rb_shell_volume_widget_changed_cb): Save volume setting.
7170 * shell/rb-shell-player.c (rb_shell_player_constructor):
7171 Remove pause and stop actions. Make play action "important"
7172 so that text is visible in horizontal toolbar position.
7173 Remove control buttons.
7174 (rb_shell_player_init)
7175 (rb_shell_player_sync_song_position_slider_visibility):
7176 Set visbibility of seek bar.
7177 (rb_shell_player_cmd_play, rb_shell_player_playpause):
7178 Make play action a toggle.
7179 (rb_shell_player_sync_volume): Volume control moved
7181 (gconf_song_position_slider_visibility_changed):
7182 Set visbibility of seek bar.
7183 (rb_shell_player_sync_buttons):
7184 Set sensitivity of actions instead of buttons.
7185 (rb_shell_player_playing_changed_cb): Add callback
7186 for player notify::playing changes.
7188 * lib/rb-preferences.h: Add hide toolbar and seek
7191 * data/ui/rhythmbox-ui.xml: Add hide toolbar and
7192 seek bar menu items. Remove pause and stop actions
7193 from the control menu. Add a toolbar.
7195 * data/rhythmbox.schemas: Add toolbar_hidden
7196 song_position_slider_hidden keys.
7198 Patch by: James Livingston <jrl@ids.org.au>
7199 William Jon McCann <mccann@jhu.edu>
7202 2005-12-05 James Livingston <jrl@ids.org.au>
7204 * data/glade/library-prefs.glade:
7205 * data/rhythmbox.schemas:
7206 * lib/rb-preferences.h:
7207 * rhythmdb/rhythmdb.c: (rhythmdb_directory_change_cb),
7208 (rhythmdb_sync_library_location):
7209 * sources/rb-library-source.c: (rb_library_source_class_init),
7210 (rb_library_source_finalize), (rb_library_source_constructor),
7211 (impl_get_config_widget), (rb_library_source_preferences_sync),
7212 (rb_library_source_watch_toggled_cb): allow people to disable library
7213 monitoring, because with nothing set the file chooser button selects
7214 the Home folder (and hence that will get monitored).
7216 2005-12-04 Ryan P Skadberg <skadz@stigmata.org>
7218 * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed): Another
7219 attempt to fix problem with RSS parsing showing invalid feed types.
7222 2005-12-04 James Livingston <jrl@ids.org.au>
7224 * rhythmdb/rhythmdb.c: (rhythmdb_process_metadata_load),
7225 (rhythmdb_execute_stat_info_cb), (rhythmdb_execute_stat): make
7226 importing a remote directory not block the UI.
7228 2005-12-03 Dennis Cranston <dennis_cranston@yahoo.com>
7230 * data/glade/podcast-feed-properties.glade:
7231 * data/glade/podcast-properties.glade: HIG fix, closes bug 323131.
7233 2005-12-04 James Livingston <jrl@ids.org.au>
7235 patch by: Dennis Cranston <dennis_cranston@yahoo.com>
7237 * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed): change ||
7238 to && to fix a mistake in the earlier podcast patch.
7240 2005-12-03 James Livingston <jrl@ids.org.au>
7242 * data/glade/podcast-new.glade:
7243 * podcast/rb-new-podcast-dialog.c: (rb_new_podcast_dialog_init),
7244 (rb_new_podcast_dialog_text_changed): remove some unused stuff.
7246 * player/rb-player-gst.c: (rb_player_set_replaygain): initialise the
7247 GValue, which stops occasional errors.
7249 * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed): fix a
7252 2005-12-03 James Livingston <jrl@ids.org.au>
7254 patch by: Dennis Cranston <dennis_cranston@yahoo.com>
7256 * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed): fix a
7257 crasher with some podcasts feeds.
7259 2005-12-03 James Livingston <jrl@ids.org.au>
7261 * data/rhythmbox.schemas: fix the gconf schema
7263 2005-12-03 James Livingston <jrl@ids.org.au>
7265 patch by: Thomas de Grenier de Latour <degrenier@easyconnect.fr> to
7266 add a selection timeout to the sourcelist. This lets you hold a track
7267 over the playlist source, and then have the view switch so you can
7268 insert the track in the middle of the playlist. Closes bug 323044.
7270 * lib/rb-tree-dnd.c: (init_rb_tree_dnd_data), (scroll_row_timeout),
7271 (select_on_drag_timeout), (remove_select_on_drag_timeout),
7272 (rb_tree_dnd_drag_motion_cb), (rb_tree_dnd_drag_leave_cb),
7273 (rb_tree_dnd_add_drag_dest_support):
7274 * lib/rb-tree-dnd.h: Add an option for tree views to have a selection
7277 * sources/rb-sourcelist-model.c:
7278 (rb_sourcelist_model_set_dnd_targets): Use the selection timeout for
7281 2005-12-02 Bastien Nocera <hadess@hadess.net>
7283 * data/glade/audioscrobbler-prefs.glade: add a space before the web
7284 links, so that the text doesn't touch the button
7286 2005-12-02 James Livingston <jrl@ids.org.au>
7288 Add full support for gnome-vfs remote files. Closes bug 140355.
7290 * rhythmdb/rhythmdb.c: (rhythmdb_execute_stat_info_cb),
7291 (rhythmdb_execute_stat): perform stats asynchronously, so that waiting
7292 for authentication information from the user doesn't block the UI.
7294 (rhythmdb_entry_set_visibility): don't emit the signal twice.
7296 * rhythmdb/rhythmdb.c: (rhythmdb_action_free),
7297 (rhythmdb_event_free), (rhythmdb_shutdown), (emit_entry_changed),
7298 (rhythmdb_entry_allocate), (rhythmdb_directory_change_cb),
7299 (rhythmdb_process_stat_event), (emit_load_error_idle),
7300 (rhythmdb_process_metadata_load),
7301 (rhythmdb_process_queued_entry_set_event),
7302 (rhythmdb_process_file_created_or_modified),
7303 (rhythmdb_process_file_deleted), (rhythmdb_process_events),
7304 (queue_stat_uri), (add_thread_main),
7305 (emit_save_error_idle), (action_thread_main), (rhythmdb_add_uri),
7306 (rhythmdb_load), (rhythmdb_save_thread_main),
7307 (threadsafe_entry_set), (rhythmdb_query_internal),
7308 (query_thread_main), (rhythmdb_do_full_query_async_parsed),
7309 (rhythmdb_do_full_query_internal),
7310 (entry_volume_mounted_or_unmounted), (rhythmdb_volume_mounted_cb),
7311 (rhythmdb_volume_unmounted_cb),
7312 (rhythmdb_check_changed_file): trivial changes to support the
7315 * shell/main.c: (main): activate the authentication manager.
7317 * shell/rb-playlist-manager.c:
7318 (rb_playlist_manager_cmd_load_playlist),
7319 (rb_playlist_manager_cmd_save_playlist):
7320 * shell/rb-shell.c: (rb_shell_cmd_add_folder_to_library),
7321 (rb_shell_cmd_add_file_to_library):
7322 * sources/rb-playlist-source.c: (rb_playlist_source_add_location):
7323 * widgets/rb-druid.c: (rb_druid_browse_clicked_cb): Let people select
7326 2005-12-02 James Livingston <jrl@ids.org.au>
7328 * shell/rb-playlist-manager.c: makes playlist menu items use the
7329 elipses correctly. Fixes bug 322283.
7331 2005-12-02 James Livingston <jrl@ids.org.au>
7333 * shell/rb-playlist-manager.c:
7334 (rb_playlist_manager_load_playlists): fix silly mistake
7336 2005-12-02 James Livingston <jrl@ids.org.au>
7338 * metadata/rb-metadata-gst.c: (rb_metadata_gst_add_tag_data): don't
7339 print out metadata-write unless --debug was passed.
7341 * rhythmdb/rhythmdb.c: (rhythmdb_load):
7342 * shell/rb-playlist-manager.c:
7343 (rb_playlist_manager_load_playlists): block writes to disk if they are
7346 2005-12-02 James Livingston <jrl@ids.org.au>
7348 * shell/rb-shell-clipboard.c: change the move-to-trash shortcut, to
7349 ctrl-T, because Ctrl-D is used by "small mode"
7351 2005-12-02 James Livingston <jrl@ids.org.au>
7353 * shell/rb-shell-preferences.c:
7354 (rb_shell_preferences_append_view_page):
7355 * sources/rb-library-source.c: (impl_get_config_widget):
7356 * sources/rb-podcast-source.c: (impl_get_config_widget):
7357 * sources/rb-source.c: (rb_source_get_config_widget):
7358 * sources/rb-source.h: Make the preference actually work.
7360 * shell/rb-shell.c: (rb_shell_constructor): set up monitoring correctly
7361 if Rhythmbox is being run for the first time.
7363 2005-12-02 James Livingston <jrl@ids.org.au>
7365 Add support for Rhythmbox to watch your library, and automatically add
7366 new tracks. Fixes bug 160159.
7368 * data/glade/library-prefs.glade: add "library location" preference
7369 * data/rhythmbox.schemas: add gconf key for the library location
7371 * rhythmdb/rhythmdb.c: (rhythmdb_init), (rhythmdb_event_free),
7372 (rhythmdb_unmonitor_directories), (rhythmdb_shutdown),
7373 (rhythmdb_finalize), (rhythmdb_directory_change_cb),
7374 (rhythmdb_monitor_uri_path), (rhythmdb_process_stat_event),
7375 (rhythmdb_process_metadata_load), (rhythmdb_process_events),
7376 (rhythmdb_load_thread_main), (rhythmdb_load),
7377 (monitor_subdirectory), (monitor_library_directory),
7378 (monitor_entry_file), (rhythmdb_sync_library_location),
7379 (library_location_changed_cb), (rhythmdb_check_changed_file),
7380 (rhythmdb_process_changed_files): Let Rhythmbox watch the directories
7381 specifiec in the gconf key for new additions. Also fix monitoring code
7382 so that it works properly, and notices deletions.
7384 * lib/rb-preferences.h:
7385 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_class_init),
7386 (rb_audioscrobbler_init), (rb_audioscrobbler_set_property):
7387 * shell/rb-audioscrobbler.h:
7388 * shell/rb-shell-preferences.c: (rb_shell_references_append_page),
7389 (rb_shell_preferences_append_view_page),
7390 (rb_shell_preferences_new):
7391 * shell/rb-shell-preferences.h: rework the way audioscrobbler adds
7392 it's preferences pane, so that we don't need #ifdef's through
7393 rb-shell-preferences.
7395 * shell/rb-shell.c: (rb_shell_class_init), (rb_shell_get_property),
7396 (rb_shell_select_source), (rb_shell_cmd_preferences): give the shell a
7397 "preferences" property, so that sources can acccess it. This is needed
7398 because the library location pref needs to take effect when the window
7401 * sources/rb-library-source.c:
7402 (rb_library_source_library_location_changed),
7403 (rb_library_source_dispose), (rb_library_source_finalize),
7404 (rb_library_source_constructor), (impl_get_config_widget),
7405 (rb_library_source_preferences_sync),
7406 (rb_library_source_process_library_location_change),
7407 (rb_library_source_prefs_update),
7408 (rb_library_source_process_library_handle_selection),
7409 (rb_library_source_library_location_cb): set up and control the
7410 "library location" preference.
7412 * sources/rb-audiocd-source.c:(rb_source_class_init):
7413 * sources/rb-source.c: (rb_source_class_init): remove some pointless
7416 2005-12-01 William Jon McCann <mccann@jhu.edu>
7418 * podcast/rb-feed-podcast-properties-dialog.c (rb_feed_podcast_properties_dialog_init)
7419 (rb_feed_podcast_properties_dialog_update_title):
7420 * data/glade/podcast-feed-properties.glade:
7421 Make the feed properties dialog consistent with the podcast
7424 2005-12-01 William Jon McCann <mccann@jhu.edu>
7426 * metadata/.cvsignore:
7428 * podcast/.cvsignore: Updated.
7430 * shell/main.c (main): Support DBus 0.6 flags.
7432 2005-11-30 Bastien Nocera <hadess@hadess.net>
7434 * data/ui/rhythmbox-ui.xml:
7435 * rhythmdb/rhythmdb.c: (rhythmdb_entry_move_to_trash_cb),
7436 (rhythmbd_entry_move_to_trash_set_error),
7437 (rhythmdb_entry_move_to_trash):
7438 * rhythmdb/rhythmdb.h:
7439 * shell/rb-shell-clipboard.c: (rb_shell_clipboard_sync),
7440 (rb_shell_clipboard_cmd_delete),
7441 (rb_shell_clipboard_cmd_move_to_trash):
7442 * sources/rb-library-source.c: (rb_library_source_class_init),
7443 (impl_delete), (impl_move_to_trash):
7444 * sources/rb-playlist-source.c: (rb_playlist_source_class_init),
7445 (impl_delete), (impl_move_to_trash):
7446 * sources/rb-removable-media-source.c:
7447 (rb_removable_media_source_class_init):
7448 * sources/rb-source.c: (rb_source_class_init),
7449 (rb_source_can_move_to_trash), (rb_source_delete),
7450 (rb_source_move_to_trash):
7451 * sources/rb-source.h:
7452 Add move_to_trash member for the sources, implement move to trash for
7453 the library and playlists
7454 Add a "Move to Trash" context menu item, and menu item (Ctrl+D) to move
7455 local files to the trash, and deleting them from the database
7458 2005-11-30 William Jon McCann <mccann@jhu.edu>
7460 * shell/rb-tray-icon.c (rb_tray_icon_class_init)
7461 (rb_tray_icon_init, rb_tray_icon_finalize):
7462 * shell/rb-statusbar.c (rb_statusbar_class_init)
7463 (rb_statusbar_init, rb_statusbar_finalize):
7464 * shell/rb-source-header.c (rb_source_header_class_init)
7465 (rb_source_header_init, rb_source_header_finalize):
7466 * shell/rb-shell.c (rb_shell_class_init, rb_shell_init)
7467 (rb_shell_finalize):
7468 * shell/rb-shell-preferences.c (rb_shell_preferences_class_init)
7469 (rb_shell_preferences_init, rb_shell_preferences_finalize):
7470 * shell/rb-shell-player.c (rb_shell_player_class_init)
7471 (rb_shell_player_init, rb_shell_player_finalize):
7472 * shell/rb-shell-clipboard.c (rb_shell_clipboard_class_init)
7473 (rb_shell_clipboard_init, rb_shell_clipboard_finalize):
7474 * shell/rb-playlist-manager.c (rb_playlist_manager_class_init)
7475 (rb_playlist_manager_init, rb_playlist_manager_finalize):
7476 * shell/rb-play-order.c (rb_play_order_class_init)
7477 (rb_play_order_init, rb_play_order_finalize):
7478 * shell/rb-play-order-shuffle.c (rb_shuffle_play_order_class_init)
7479 (rb_shuffle_play_order_init, rb_shuffle_play_order_finalize):
7480 * shell/rb-play-order-random.c (rb_random_play_order_class_init)
7481 (rb_random_play_order_init, rb_random_play_order_finalize):
7482 * shell/rb-history.c (rb_history_class_init, rb_history_init)
7483 (rb_history_finalize):
7484 * shell/rb-commander.c (rb_commander_class_init)
7485 (rb_commander_init, rb_commander_finalize):
7486 * shell/rb-audioscrobbler.c (rb_audioscrobbler_class_init)
7487 (rb_audioscrobbler_init, rb_audioscrobbler_finalize):
7488 * remote/bonobo/rb-remote-bonobo.c (rb_remote_bonobo_class_init)
7489 (rb_remote_bonobo_init, rb_remote_bonobo_finalize):
7490 * podcast/rb-podcast-properties-dialog.c (rb_podcast_properties_dialog_class_init)
7491 (rb_podcast_properties_dialog_init)
7492 (rb_podcast_properties_dialog_finalize):
7493 * podcast/rb-podcast-manager.c (rb_podcast_manager_class_init)
7494 (rb_podcast_manager_init, rb_podcast_manager_finalize):
7495 * podcast/rb-new-podcast-dialog.c (rb_new_podcast_dialog_class_init)
7496 (rb_new_podcast_dialog_init, rb_new_podcast_dialog_finalize):
7497 * podcast/rb-feed-podcast-properties-dialog.c (rb_feed_podcast_properties_dialog_class_init)
7498 (rb_feed_podcast_properties_dialog_init)
7499 (rb_feed_podcast_properties_dialog_finalize):
7500 * metadata/rb-metadata-gst.c (rb_metadata_class_init)
7501 (rb_metadata_init, rb_metadata_finalize):
7502 * iradio/rb-station-properties-dialog.c (rb_station_properties_dialog_class_init)
7503 (rb_station_properties_dialog_init)
7504 (rb_station_properties_dialog_finalize):
7505 * daapsharing/rb-daap-share.c (rb_daap_share_class_init)
7506 (rb_daap_share_init, rb_daap_share_dispose):
7508 Use g_type_class_add_private in all classes. Closes bug 313688.
7510 2005-11-30 James Livingston <jrl@ids.org.au>
7512 patch by: William Jon McCann <mccann@jhu.edu> to use
7513 g_type_class_add_private in all classes. Closes bug 313688.
7515 * lib/rb-thread.c: (rb_thread_class_init), (rb_thread_init),
7516 (rb_thread_finalize):
7517 * player/rb-player-gst.c: (rb_player_class_init), (rb_player_init),
7518 (rb_player_finalize):
7519 * rhythmdb/rhythmdb-property-model.c:
7520 (rhythmdb_property_model_class_init),
7521 (rhythmdb_property_model_init), (rhythmdb_property_model_finalize):
7522 * rhythmdb/rhythmdb-query-model.c:
7523 (rhythmdb_query_model_class_init), (rhythmdb_query_model_init),
7524 (rhythmdb_query_model_finalize):
7525 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_class_init),
7526 (rhythmdb_tree_init), (rhythmdb_tree_finalize):
7527 * rhythmdb/rhythmdb.c: (rhythmdb_class_init), (rhythmdb_init),
7528 (rhythmdb_finalize):
7529 * sources/rb-daap-source.c: (rb_daap_source_class_init),
7530 (rb_daap_source_init), (rb_daap_source_dispose):
7531 * sources/rb-iradio-source.c: (rb_iradio_source_class_init),
7532 (rb_iradio_source_init), (rb_iradio_source_finalize):
7533 * sources/rb-library-source.c: (rb_library_source_class_init),
7534 (rb_library_source_init), (rb_library_source_finalize):
7535 * sources/rb-playlist-source.c: (rb_playlist_source_class_init),
7536 (rb_playlist_source_init), (rb_playlist_source_dispose):
7537 * sources/rb-podcast-source.c: (rb_podcast_source_class_init),
7538 (rb_podcast_source_init), (rb_podcast_source_finalize):
7539 * sources/rb-sourcelist-model.c: (rb_sourcelist_model_class_init),
7540 (rb_sourcelist_model_init), (rb_sourcelist_model_finalize):
7541 * sources/rb-sourcelist-model.h:
7542 * sources/rb-sourcelist.c: (rb_sourcelist_class_init),
7543 (rb_sourcelist_init), (rb_sourcelist_finalize):
7544 * sources/rb-sourcelist.h:
7545 * widgets/disclosure-widget.c: (finalize), (class_init), (init):
7546 * widgets/rb-cell-renderer-rating.c:
7547 (rb_cell_renderer_rating_init),
7548 (rb_cell_renderer_rating_class_init),
7549 (rb_cell_renderer_rating_finalize):
7550 * widgets/rb-druid.c: (rb_druid_class_init), (rb_druid_init),
7551 (rb_druid_finalize):
7552 * widgets/rb-entry-view.c: (rb_entry_view_class_init),
7553 (rb_entry_view_init), (rb_entry_view_finalize):
7554 * widgets/rb-header.c: (rb_header_class_init), (rb_header_init),
7555 (rb_header_finalize):
7556 * widgets/rb-load-failure-dialog.c:
7557 (rb_load_failure_dialog_class_init), (rb_load_failure_dialog_init),
7558 (rb_load_failure_dialog_finalize):
7559 * widgets/rb-property-view.c: (rb_property_view_class_init),
7560 (rb_property_view_init), (rb_property_view_finalize):
7561 * widgets/rb-rating.c: (rb_rating_class_init), (rb_rating_init),
7562 (rb_rating_finalize):
7563 * widgets/rb-search-entry.c: (rb_search_entry_class_init),
7564 (rb_search_entry_init), (rb_search_entry_finalize):
7565 * widgets/rb-simple-view.c: (rb_simple_view_class_init),
7566 (rb_simple_view_init), (rb_simple_view_finalize):
7567 * widgets/rb-song-display-box.c: (rb_song_display_box_class_init),
7568 (rb_song_display_box_init), (rb_song_display_box_finalize):
7569 * widgets/rb-song-info.c: (rb_song_info_class_init),
7570 (rb_song_info_init), (rb_song_info_finalize):
7571 * widgets/rb-tree-model-sort.c: (rb_tree_model_sort_class_init),
7572 (rb_tree_model_sort_init), (rb_tree_model_sort_finalize):
7574 2005-11-30 James Livingston <jrl@ids.org.au>
7576 * iradio/rb-station-properties-dialog.c:
7577 (rb_station_properties_dialog_init),
7578 (rb_station_properties_dialog_new):
7579 * lib/rb-glade-helpers.c: (rb_glade_boldify_label):
7580 * lib/rb-glade-helpers.h:
7581 * podcast/rb-feed-podcast-properties-dialog.c:
7582 (rb_feed_podcast_properties_dialog_init),
7583 (rb_feed_podcast_properties_dialog_new):
7584 * podcast/rb-podcast-properties-dialog.c:
7585 (rb_podcast_properties_dialog_init),
7586 (rb_podcast_properties_dialog_new):
7587 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_get_config_widget):
7588 * shell/rb-shell-preferences.c: (rb_shell_preferences_init):
7589 * sources/rb-library-source.c: (impl_get_config_widget):
7590 * sources/rb-playlist-source-recorder.c:
7591 (rb_playlist_source_recorder_init):
7592 * widgets/rb-song-info.c: (rb_song_info_construct_single),
7593 (rb_song_info_constructor): create a single rb_glade_boldify_label()
7594 in rb-glade-helpers, rather than having eight implementation
7595 throughout the code.
7597 2005-11-30 James Livingston <jrl@ids.org.au>
7599 * lib/rb-util.c: (rb_search_fold), (rb_make_duration_string):
7601 * widgets/rb-entry-view.c: (rb_entry_view_duration_cell_data_func):
7602 move the duration->string function into rb-utils, as it gets used in a
7605 patch by: William Jon McCann <mccann@jhu.edu>
7607 * data/glade/podcast-properties.glade:
7608 * podcast/rb-podcast-properties-dialog.c:
7609 (rb_podcast_properties_dialog_init),
7610 (rb_podcast_properties_dialog_update),
7611 (rb_podcast_properties_dialog_update_title),
7612 (rb_podcast_properties_dialog_update_feed),
7613 (rb_podcast_properties_dialog_update_duration),
7614 (rb_podcast_properties_dialog_update_bitrate): Make the podcast
7615 info dialog look more like the song info dialog. Use the same "Feed"
7616 value that is displayed in the treeview (ie. the album field), displays
7617 the duration, uses units in the bitrate field, and sort the fields in
7620 2005-11-29 James Livingston <jrl@ids.org.au>
7622 * rhythmdb/rhythmdb-marshal.list:
7623 * rhythmdb/rhythmdb.h:
7624 * rhythmdb/rhythmdb.c: (rhythmdb_class_init),
7625 (emit_load_error_idle), (rhythmdb_process_metadata_load),
7626 (entry_to_rb_metadata), (emit_save_error_idle),
7627 (action_thread_main): emit error signal when metadata write fails.
7629 * shell/rb-shell.c: (rb_shell_constructor),
7630 (rb_shell_db_load_error_cb), (rb_shell_db_save_error_cb): process the
7631 "metadata save" error and display it to the user.
7633 2005-11-29 James Livingston <jrl@ids.org.au>
7635 * data/ui/rhythmbox-ui.xml:
7636 * sources/rb-podcast-source.c:
7637 (rb_podcast_source_songs_show_popup_cb),
7638 (rb_podcast_source_cmd_download_post),
7639 (rb_podcast_source_cmd_cancel_download): split download and cancel
7640 download commands. Replace usage of "Post" with "Esisode". Fixes bug
7643 2005-11-18 William Jon McCann <mccann@jhu.edu>
7645 * widgets/rb-dialog.c (rb_error_dialog): Don't use a
7646 title on alert dialogs per the HIG.
7648 * sources/rb-playlist-source-recorder.c (burn_cd): Don't use
7650 (free_song_list): Routine to free song list.
7651 (rb_playlist_source_recorder_finalize): Use free_song_list.
7652 (rb_playlist_source_recorder_add_from_model): Return FALSE
7653 if unable to add all songs. Check that duration of all
7654 songs doesn't exceed MAX_PLAYLIST_DURATION which is set to 100 min.
7657 * sources/rb-playlist-source-recorder.c (check_media_length)
7658 (rb_playlist_source_recorder_start): Only check the duration
7659 and current media if the playlist length is longer than a
7660 standard CD (74 min). Otherwise, just let the Recorder do the
7662 * player/rb-recorder-gst.c (rb_recorder_init): Get a default
7664 (rb_recorder_set_device): Don't leak drives.
7665 (rb_recorder_get_media_length): Use drive that was already set.
7666 (rb_recorder_burn): Let the recorder handle checking media type/size.
7669 2005-11-29 James Livingston <jrl@ids.org.au>
7671 * rhythmdb/rhythmdb-query-model.c:
7672 (rhythmdb_query_model_set_sort_order):
7673 * rhythmdb/rhythmdb-query-model.h: add a function to resort the query,
7674 emitting the tree-model "resorted" signal.
7676 * widgets/rb-entry-view.c: (rb_entry_view_class_init),
7677 (rb_entry_view_finalize), (rb_entry_view_set_property),
7678 (rb_entry_view_constructor), (rb_entry_view_resort_model):
7679 * widgets/rb-entry-view.h: add a function to resort the entry view,
7680 using the above function.
7682 * sources/rb-iradio-source.c:
7683 (rb_iradio_source_songs_view_sort_order_changed_cb):
7684 * sources/rb-library-source.c: (rb_library_source_finalize),
7685 (songs_view_sort_order_changed_cb), (rb_library_source_do_query):
7686 * sources/rb-playlist-source.c:
7687 (rb_playlist_source_songs_sort_order_changed_cb):
7688 * sources/rb-podcast-source.c:
7689 (rb_podcast_source_posts_view_sort_order_changed_cb),
7690 (rb_podcast_source_do_query): use the above function instead of
7691 re-creating the query model. This makes changing the sorting an order
7692 of magnitude faster, as it uses a single resorted signal rather than
7693 deleting and re-adding everything (which emits 2N signals). Closes bug
7696 2005-11-29 James Livingston <jrl@ids.org.au>
7698 patch by: Jonathan Matthew <jonathan@kaolin.hn.org> to disable column
7699 autosizing, which results in large speedups. Closes bug 312122.
7701 * po/ja.po: change the date format, so that it is a constant width
7703 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
7704 * sources/rb-podcast-source.c: (rb_podcast_source_constructor):
7705 * widgets/rb-entry-view.c: (rb_entry_view_append_column),
7706 (rb_entry_view_constructor): make columns use fixed widths,
7707 disable column autosizing, and enable fixed-height mode.
7709 * widgets/rb-entry-view.c: (rb_entry_view_set_fixed_column_width),
7710 (rb_entry_view_get_time_date_column_sample):
7711 * widgets/rb-entry-view.h: functions to set a column to a fixed width,
7712 and get the canonical date format for the locale.
7714 ============ Version 0.9.2
7716 2005-11-28 James Livingston <jrl@ids.org.au>
7718 * configure.ac: bump version to 0.9.2
7719 * NEWS: update with changes for 0.9.2
7721 2005-11-28 James Livingston <jrl@ids.org.au>
7723 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
7725 * shell/rb-playlist-manager.c: (rb_playlist_manager_set_property):
7726 Disable saving, renaming and delting for DAAP playlists.
7729 2005-11-28 James Livingston <jrl@ids.org.au>
7731 * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed): check if
7732 gnome_vfs_get_file_info is returning NULL for the mime-type. Should
7735 * sources/rb-audiocd-source.c: (rb_audiocd_source_class_init):
7736 * sources/rb-removable-media-source.c:
7737 (rb_removable_media_source_class_init): fix ipod browser visibility
7740 2005-11-28 James Livingston <jrl@ids.org.au>
7742 * daapsharing/rb-daap-mdns.c: (browse_cb), (rb_daap_mdns_browse): make
7743 Avahi 0.6 support actually work. Fixes bug 322519.
7745 2005-11-26 Ryan P Skadberg <skadz@stigmata.org>
7747 * configure.ac: Fix configure check for Avahi 0.6/0.5 when
7748 avahi is specified in --with-mdns
7750 2005-11-27 James Livingston <jrl@ids.org.au>
7752 patch by: Bastien Nocera <hadess@hadess.net>
7754 * podcast/rb-podcast-parse.c: use the #define we are supposed to use,
7755 not the private one. Fixes bug 322485.
7757 2005-11-26 James Livingston <jrl@ids.org.au>
7759 patch by Daniel S. Haischt <e@daniel.stefan.haischt.name> to support
7760 Avahi 0.6, as well as 0.5.
7763 * daapsharing/rb-daap-mdns.c: (get_avahi_client), (browse_cb),
7764 (rb_daap_mdns_browse), (resolve_cb), (rb_daap_mdns_resolve),
7767 2005-11-25 James Livingston <jrl@ids.org.au>
7769 * configure.ac: Make --enable-ipod not confuse configure. Closes bug
7772 2005-11-25 James Livingston <jrl@ids.org.au>
7774 * metadata/rb-metadata-gst.c: (rb_metadata_gst_add_tag_data): use
7775 correct type for checking the date against 0. Stops a warning when
7778 2005-11-25 James Livingston <jrl@ids.org.au>
7780 * player/rb-player-gst.c: (rb_player_set_replaygain): limit the volume
7781 adjustment to be inside the element's limits. Without this songs that
7782 have large ReplayGain values will recieve no increase because they are
7783 outside the acceptable range, causing them to remain quiet.
7785 2005-11-25 James Livingston <jrl@ids.org.au>
7787 * sources/rb-audiocd-source.c: (rb_audiocd_source_class_init):
7788 * sources/rb-daap-source.c: (rb_daap_source_class_init):
7789 * sources/rb-ipod-source.c:
7790 * sources/rb-source.h:
7791 * sources/rb-library-source.h:
7792 * sources/rb-library-source.c: (rb_library_source_class_init),
7793 (rb_library_source_constructor),
7794 (rb_library_source_has_first_added_column),
7795 (rb_library_source_has_drop_support):
7796 * sources/rb-removable-media-source.c:
7797 (rb_removable_media_source_class_init): Make library-derived sources
7798 not show the Date Added column, as it doesn't make sense. Fixes bug
7800 Move some of the feature funcs from the ipod and audio cd sources up to
7801 the removable media source.
7803 2005-11-24 James Livingston <jrl@ids.org.au>
7805 * sources/rb-iradio-source.c: (rb_iradio_source_dispose): fix compile
7808 2005-11-24 James Livingston <jrl@ids.org.au>
7810 * sources/rb-iradio-source.c: (rb_iradio_source_class_init),
7811 (rb_iradio_source_dispose), (rb_iradio_source_finalize),
7812 (rb_iradio_source_constructor): Chain up dispose method and use
7815 2005-11-24 James Livingston <jrl@ids.org.au>
7817 * shell/rb-shell-player.c: (rb_shell_player_error): fix a silly
7818 mistake in the last commit that can cause crashes.
7820 2005-11-24 James Livingston <jrl@ids.org.au>
7822 * shell/rb-shell-player.c: (rb_shell_player_error): use rb_debug,
7823 instead of g_printerr.
7825 * widgets/rb-entry-view.c: (rb_entry_view_set_sorting_type): use
7826 rb_debug instead of g_warning. The message happens every time for
7827 removable media/daap shares, so it's not unusual.
7829 2005-11-24 James Livingston <jrl@ids.org.au>
7831 patch by: Tom Parker <palfrey@tevp.net>
7833 * configure.ac: fix libsoup test for enabling daap
7835 2005-11-23 James Livingston <jrl@ids.org.au>
7837 * widgets/rb-query-creator.c: (rb_query_creator_class_init),
7838 (rb_query_creator_init), (rb_query_creator_constructor),
7839 (rb_query_creator_dispose), (rb_query_creator_load_query): don't add
7840 empty row to queries with no criteria. Fixes bug 322078. use
7843 2005-11-23 James Livingston <jrl@ids.org.au>
7845 patch by: <baptiste.millemathias@gmail.com>
7847 * help/C/quick-reference.xml: update the quick reference to have the
7848 correct key bindings.
7850 2005-11-22 James Livingston <jrl@ids.org.au>
7852 * sources/rb-library-source.c: (genres_selection_reset_cb),
7853 (artists_selection_reset_cb), (albums_selection_reset_cb): Properly
7854 reset the query when all browser selections are removed.
7856 2005-11-22 Jonathan Matthew <jonathan@kaolin.hn.org>
7858 * podcast/rb-podcast-manager.c:
7859 (rb_podcast_manager_db_entry_deleted_cb):
7860 Use a custom loop to remove podcast posts, rather than
7861 gtk_tree_model_foreach(), as deleting the entries within
7862 that loop causes the iterator to return the first entry
7863 twice. Instead, we need to find the next entry before
7864 removing the current one. Fixes bug 321956.
7865 (rb_podcast_manager_entry_remove_cb): No longer needed.
7867 2005-11-22 James Livingston <jrl@ids.org.au>
7869 * sources/rb-playlist-source.c: (rb_playlist_source_class_init),
7870 (rb_playlist_source_constructor), (rb_playlist_source_dispose): chain
7871 up dispose method, and use G_DEFINE_TYPE. Fixes bug 321715.
7873 2005-11-22 James Livingston <jrl@ids.org.au>
7875 * sources/rb-podcast-source.c:
7876 (rb_podcast_source_post_date_cell_sort_func),
7877 (rb_podcast_source_post_status_cell_sort_func),
7878 (rb_podcast_source_post_feed_cell_sort_func):
7879 * widgets/rb-entry-view.c: (rb_entry_view_location_sort_func),
7880 (rb_entry_view_album_sort_func),
7881 (rb_entry_view_double_ceiling_sort_func),
7882 (rb_entry_view_ulong_sort_func), (rb_entry_view_string_sort_func): use
7883 the entry's location as a last resort when sorting, so the sort order
7884 is stable. This will stop entries moving around when two entries have
7885 the same sorting, and one of them gets played.
7887 2005-11-22 James Livingston <jrl@ids.org.au>
7889 * daapsharing/rb-daap-connection.c:
7890 (rb_daap_connection_class_init), (rb_daap_connection_init),
7891 (connection_get_password), (build_message),
7892 (http_response_handler), (http_get), (handle_server_info),
7893 (handle_login), (handle_update), (handle_database_info),
7894 (handle_song_listing), (handle_playlists),
7895 (handle_playlist_entries), (rb_daap_connection_new),
7896 (rb_daap_connection_constructor), (rb_daap_connection_logout),
7897 (rb_daap_connection_state_done), (rb_daap_connection_do_something),
7898 (rb_daap_connection_get_headers),
7899 (rb_daap_connection_get_playlists), (rb_daap_connection_dispose),
7900 (rb_daap_connection_set_property),
7901 (rb_daap_connection_get_property):
7902 * daapsharing/rb-daap-connection.h:
7903 * sources/rb-daap-source.c: (rb_daap_source_dispose),
7904 (rb_daap_source_connection_cb), (rb_daap_source_disconnect_cb),
7905 (rb_daap_source_disconnect): GObject-ify RBDaapConnection, fix problem
7906 of destroying the object when it is going to be used by a callback and
7907 fixes a double-free. Fixes bugs 321930 and 322007.
7909 2005-11-22 James Livingston <jrl@ids.org.au>
7911 * podcast/rb-podcast-manager.c: (rb_podcast_manager_head_query_cb),
7912 (rb_podcast_manager_insert_feed): Don't show the "new episodes"
7913 notification if there aren't any. Fixes bug 321968.
7915 2005-11-22 James Livingston <jrl@ids.org.au>
7917 * rhythmdb/rhythmdb-property-model.c:
7918 (rhythmdb_property_model_set_property),
7919 (rhythmdb_property_model_finalize),
7920 (rhythmdb_property_model_compare),
7921 (rhythmdb_property_model_insert),
7922 (rhythmdb_property_model_delete_prop): Fix property model sorting
7923 where the display and sort keys are different. Fixes bug 321980.
7925 2005-11-22 James Livingston <jrl@ids.org.au>
7927 * shell/rb-shell.c: (add_to_library_response_cb): detect playlists
7928 when import as a file or passed on the command line, and load them as
7931 2005-11-22 James Livingston <jrl@ids.org.au>
7933 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
7935 * daapsharing/rb-daap-src.c: (gst_tcp_socket_read),
7936 (gst_tcp_socket_write), (rb_daap_src_open_file): don't hang when using
7937 a broken daap server. Fixes bug 321919.
7939 2005-11-22 James Livingston <jrl@ids.org.au>
7941 * sources/rb-podcast-source.c: (rb_podcast_source_constructor): set up
7942 drag-and-drop for both the episodes and feeds list.
7944 (posts_view_drag_data_received_cb), (impl_receive_drag): handle drops
7945 consistantly and steal a trick from Totem for _NETSCAPE_URL drops.
7946 From Jonathan Matthew <jonathan@kaolin.hn.org>.
7948 * widgets/rb-property-view.c: (rb_property_view_class_init),
7949 (rb_property_view_set_property), (rb_property_view_get_property),
7950 (rb_property_view_new), (rb_property_view_constructor):
7951 * widgets/rb-simple-view.c: (rb_simple_view_class_init),
7952 (rb_simple_view_new), (rb_simple_view_constructor):
7953 * widgets/rb-simple-view.h: add a "draggable" property to property
7954 views and set it to false for the feed list. Fixes bug 321284.
7956 2005-11-22 James Livingston <jrl@ids.org.au>
7958 Patch from Jonathan Matthew <jonathan@kaolin.hn.org>
7960 * shell/rb-playlist-manager.c: (rb_playlist_manager_new_playlist):
7961 * sources/rb-daap-source.c: (rb_daap_source_connection_cb):
7962 * sources/rb-ipod-source.c: (add_rb_playlist):
7963 * sources/rb-playlist-source.c: (rb_playlist_source_class_init),
7964 (rb_playlist_source_set_property),
7965 (rb_playlist_source_get_property), (rb_playlist_source_new),
7966 (impl_receive_drag), (rb_playlist_source_add_location),
7967 (rb_playlist_source_new_from_xml):
7968 * sources/rb-playlist-source.h: give playlists and (optional)
7969 entry-type, and reject entries that don't match. Fixes bug 322006.
7971 2005-11-21 James Livingston <jrl@ids.org.au>
7973 * shell/rb-source-header.c: (rb_source_header_source_weak_unref),
7974 (rb_source_header_finalize): remove the weak references when the
7975 source header is finalised. Stops the callbacks being called after the
7976 object is destroyed.
7978 2005-11-21 James Livingston <jrl@ids.org.au>
7980 * shell/main.c: (main): don't try to acquite bonobo/dbus when
7981 --no-registration was passed. It causes warnings that make it
7982 impossible to run with --no-registration --g-fatal-warnings
7984 2005-11-21 James Livingston <jrl@ids.org.au>
7986 * daapsharing/rb-daap-connection.c: (handle_song_listing): fix freeing
7987 of strings when they are still in use. Fixes bug 321547.
7989 (rb_daap_connection_destroy): fix memory leak
7991 2005-11-21 James Livingston <jrl@ids.org.au>
7993 * daapsharing/rb-daap-mdns.c: (browse_cb), (rb_daap_mdns_browse),
7994 (rb_daap_mdns_browse_cancel), (resolve_cb), (rb_daap_mdns_resolve),
7995 (rb_daap_mdns_resolve_cancel), (publish_cb),
7996 (rb_daap_mdns_publish), (rb_daap_mdns_publish_cancel): fix Howl
7999 2005-11-21 James Livingston <jrl@ids.org.au>
8001 * widgets/rb-entry-view.c: (rb_entry_view_genre_sort_func): fix
8004 2005-11-20 James Livingston <jrl@ids.org.au>
8006 * podcast/rb-podcast-manager.c:
8007 (rb_podcast_manager_subscribe_feed): make threads non-joinable, so
8008 that we don't leak thread structures. Fixes bug 321636, and probably
8011 2005-11-20 James Livingston <jrl@ids.org.au>
8013 * metadata/sj-metadata-musicbrainz.c: (get_offline_track_listing),
8015 * podcast/rb-podcast-manager.c: (start_job),
8016 (rb_podcast_manager_db_entry_deleted_cb),
8017 (rb_podcast_manager_entry_remove_cb):
8018 * podcast/rb-podcast-parse.c: (rb_insert_item),
8019 (rb_podcast_parse_load_feed):
8020 * rhythmdb/rhythmdb.c: (rhythmdb_entry_insert):
8021 * shell/rb-removable-media-manager.c:
8022 (rb_removable_media_manager_append_media_source):
8023 * shell/rb-shell.c: (add_to_library_response_cb):
8024 * shell/rb-tray-icon.c: (rb_tray_icon_drop_cb):
8025 * sources/rb-audiocd-source.c: (rb_audiocd_scan_songs):
8026 * sources/rb-iradio-source.c:
8027 (stations_view_drag_data_received_cb):
8028 * sources/rb-library-source.c: (string_list_equal),
8029 (impl_get_extra_views), (impl_receive_drag):
8030 * sources/rb-playlist-source.c: (rb_playlist_source_add_list_uri):
8031 * sources/rb-podcast-source.c: (posts_view_drag_data_received_cb),
8032 (impl_receive_drag):
8033 * widgets/rb-entry-view.c: (rb_entry_view_finalize),
8034 (rb_entry_view_append_column_custom), (harvest_entries):
8035 * widgets/rb-property-view.c:
8036 (rb_property_view_selection_changed_cb):
8037 * widgets/rb-simple-view.c: (rb_simple_view_button_press_cb):
8038 switch from using g_list_append to g_list_prepend. This changes
8039 operations from O(n^2) to O(n), which in cases like deleting a lot of
8040 tracks can give huge improvements in speed. Closes bug 321696.
8042 2005-11-20 James Livingston <jrl@ids.org.au>
8044 * sources/rb-sourcelist.c: (rb_sourcelist_init),
8045 (rb_sourcelist_update_expander_visibility): fix indenting of child
8048 2005-11-20 James Livingston <jrl@ids.org.au>
8050 * daapsharing/rb-daap-mdns.c: (browse_cb), (rb_daap_mdns_browse),
8051 (resolve_cb), (rb_daap_mdns_resolve), (publish_cb),
8052 (rb_daap_mdns_publish), (rb_daap_mdns_publish_cancel),
8053 (rb_daap_mdns_browse_cancel), (rb_daap_mdns_resolve_cancel),
8054 (add_service), (entry_group_cb): dynamically allocate memory, rather
8055 than using static variables.
8057 * daapsharing/rb-daap-share.c: (rb_daap_share_set_property): don't
8058 re-enable the daap share if the name hasn't changed.
8059 * shell/rb-shell-preferences.c:
8060 (share_name_entry_focus_out_event_cb): don't ask the daap share to
8061 change it's name when the checkbox is disabled. Fixed bug 321748.
8063 2005-11-18 James Livingston <jrl@ids.org.au>
8065 * shell/rb-shell.c: (rb_shell_get_visibility): don't count the window
8066 as hidden if it is on the current workspace.
8068 2005-11-17 William Jon McCann <mccann@jhu.edu>
8070 * sources/rb-podcast-source.c (rb_podcast_source_post_date_cell_data_func):
8071 * podcast/rb-podcast-properties-dialog.c (rb_podcast_properties_dialog_update_date)
8072 (rb_podcast_properties_dialog_parse_time):
8073 * podcast/rb-feed-podcast-properties-dialog.c (rb_feed_podcast_properties_dialog_update_last_update)
8074 (rb_feed_podcast_properties_dialog_parse_time):
8075 Rework the way the last mod time strings are created. It was using
8076 thread unsafe functions, not creating value UTF, and not not checking
8077 the value of the result before modifying it. This new method fixes
8080 2005-11-18 James Livingston <jrl@ids.org.au>
8082 Don't reset the search box when viewing a different source, because it
8083 will change what is being played. Closes 321593.
8085 * shell/rb-shell.c: (rb_shell_jump_to_entry_with_source): don't reset
8088 * shell/rb-source-header.c: (rb_source_header_class_init),
8089 (rb_source_header_init), (rb_source_header_finalize): use
8092 (rb_source_header_set_property),
8093 (rb_source_header_source_weak_destroy_cb),
8094 (rb_source_header_search_cb): store the search text when leaving a
8095 source and put it in the search box when viewing it again.
8097 2005-11-18 James Livingston <jrl@ids.org.au>
8099 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
8101 * rhythmdb/rhythmdb.c: (rhythmdb_entry_finalize),
8102 (rhythmdb_entry_set_internal), (rhythmdb_prop_get_type):
8103 * rhythmdb/rhythmdb.h: Remove LAST_POST property, use LAST_SEEN as a
8106 * podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed): use
8107 last-seen as the timestamp of the last update of the feed. Don't
8108 re-add episodes that have been deleted. Closes 319759.
8110 2005-11-18 James Livingston <jrl@ids.org.au>
8112 * podcast/rb-podcast-parse.c: (rb_podcast_parse_date): parse dates
8113 that don't have the day name at the start. Closes 321645.
8115 2005-11-18 James Livingston <jrl@ids.org.au>
8117 * podcast/rb-podcast-manager.c: (rb_podcast_manager_start_sync),
8118 (rb_podcast_manager_copy_post),
8119 (rb_podcast_manager_get_podcast_dir):
8120 * podcast/rb-podcast-manager.h:
8121 * sources/rb-podcast-source.c: (impl_get_config_widget),
8122 (rb_podcast_source_btn_file_change_cb): fix problem of podcast
8123 download location switching to / if the prefs were opened before
8124 downloading an episode. Closes 321611.
8126 2005-11-18 James Livingston <jrl@ids.org.au>
8128 * data/glade/podcast-new.glade:
8129 * podcast/rb-new-podcast-dialog.c: (rb_new_podcast_dialog_init),
8130 (rb_new_podcast_dialog_set_property),
8131 (rb_new_podcast_dialog_get_property),
8132 (rb_new_podcast_dialog_response_cb),
8133 (rb_new_podcast_dialog_text_changed): use a GtkEntry not a GtkTextView
8134 for entering new podcast urls in. Closes bug 321610.
8136 2005-11-18 James Livingston <jrl@ids.org.au>
8138 * sources/rb-podcast-source.c: (construct_query_from_selection),
8139 (rb_podcast_source_do_query): allow podcast list to be re-sorted
8140 without restarting RB. Closes bug 321612.
8142 2005-11-18 James Livingston <jrl@ids.org.au>
8144 * widgets/rb-entry-view.c: (set_column_visibility),
8145 (rb_entry_view_sync_columns_visible): when changing visibility of one
8146 column, don't hide and re-show all the others. Makes a show/hide
8147 column operation a lot faster.
8149 2005-11-17 Jonathan Matthew <jonathan@kaolin.hn.org>
8153 * iradio/rb-station-properties-dialog.c
8154 (rb_station_properties_dialog_update_bitrate):
8155 Mark the bitrate value as being kbps, using the same
8156 translatable format string as rb-song-info.c
8158 * player/rb-player-gst.c (process_tag): Handle GST_TAG_BITRATE
8159 as a ulong, translating it to RB_METADATA_FIELD_BITRATE.
8161 * shell/rb-shell-player.c (info_available_cb):
8162 Use RB_METADATA_FIELD_BITRATE to update the iradio
8163 station's bitrate value.
8165 2005-11-17 James Livingston <jrl@ids.org.au>
8167 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>. Closes bug 321699
8169 * rhythmdb/rhythmdb.c: (rhythmdb_entry_finalize): don't attempt to
8172 2005-11-17 James Livingston <jrl@ids.org.au>
8174 Patch by: Jonathan Matthew <jonathan@kaolin.hn.org>. Closes bug 321698
8176 * lib/rb-stock-icons.c: emit a single warning rather than multiple
8177 assertions. Lookup the icon size correctly.
8179 2005-11-16 William Jon McCann <mccann@jhu.edu>
8181 * daapsharing/rb-daap-mdns.c (get_sw_discovery)
8182 (rb_daap_mdns_browse_cancel, rb_daap_mdns_resolve_cancel):
8185 2005-11-16 James Livingston <jrl@ids.org.au>
8187 * shell/rb-shell-preferences.c: (rb_shell_preferences_class_init),
8188 (rb_shell_preferences_finalize), (rb_shell_preferences_sync),
8189 (rb_shell_preferences_sync_column_button): block the toggle signal of
8190 the column checkboxes while setting their initial state. This stops
8191 the visibility being re-set, which causes a lot of time being spent
8192 measuring the columns aagin when opening the prefs window.
8196 2005-11-16 James Livingston <jrl@ids.org.au>
8198 * sources/rb-sourcelist.c: (rb_sourcelist_init),
8199 (rb_sourcelist_edit_source_name): don't assume that the editable
8200 source name is in the first column, because it isn't. Fixes bug
8203 2005-11-16 James Livingston <jrl@ids.org.au>
8205 * daapsharing/rb-daap-mdns.h:
8206 * daapsharing/rb-daap-mdns.c: (rb_daap_mdns_error_quark),
8207 (get_sw_discovery), (get_avahi_client): use GErrors, so that other
8208 parts can know why operations failed. Avahi can report that the daemon
8209 was not running. Howl doesn't do this (yet).
8211 (rb_daap_mdns_browse), (rb_daap_mdns_resolve),
8212 (rb_daap_mdns_publish), (rb_daap_mdns_publish_cancel),
8213 (browse_cb): don't display mdns errors to the user, if it wa because
8214 the daemon was not running.
8216 2005-11-16 James Livingston <jrl@ids.org.au>
8218 * rhythmdb/rhythmdb-property-model.c:
8219 (rhythmdb_property_model_init), (rhythmdb_property_model_finalize),
8220 (rhythmdb_property_model_compare),
8221 (rhythmdb_property_model_insert),
8222 (rhythmdb_property_model_insert_prop),
8223 (rhythmdb_property_model_delete),
8224 (rhythmdb_property_model_delete_prop),
8225 (rhythmdb_property_model_get_value): use RBRefStrings rather than
8226 copying the string and re-creating the sort key. Saves a little bit of
8229 (rhythmdb_property_model_perform_sync),
8230 (rhythmdb_property_model_sync): perform the count sync in an idle
8231 callback, so that it doesn't have to be re-run once per value when
8234 2005-11-16 James Livingston <jrl@ids.org.au>
8236 * rhythmdb/rhythmdb-query-model.c:
8237 (rhythmdb_query_model_entry_deleted_cb),
8238 (rhythmdb_query_model_remove_entry): remove deleted entries from the
8239 limited list. Stops problems if they are deleted, and then things on
8242 2005-11-16 James Livingston <jrl@ids.org.au>
8246 * shell/rb-shell.c: (rb_shell_window_delete_cb): disable close
8247 button's minimise-to-tray action
8249 2005-11-16 James Livingston <jrl@ids.org.au>
8251 * rhythmdb/rhythmdb.c: (rhythmdb_directory_change_cb): fix a memory
8252 leak. Disable adding newly created files for now, because it doesn't
8255 * sources/rb-sourcelist-model.c: (rb_sourcelist_model_class_init),
8256 (rb_sourcelist_model_finalize):
8257 * sources/rb-sourcelist.c: (rb_sourcelist_class_init),
8258 (rb_sourcelist_finalize): use G_DEFINE_TYPE,
8260 2005-11-16 James Livingston <jrl@ids.org.au>
8262 * sources/rb-audiocd-source.c: (rb_audiocd_is_volume_audiocd): fix
8263 problem where a GError* wasn't being set to NULL. Actually check the
8266 2005-11-16 James Livingston <jrl@ids.org.au>
8268 * doc/reference/tmpl/rb-entry-view.sgml:
8269 * doc/reference/tmpl/rhythmbox-unused.sgml:
8270 * doc/reference/tmpl/rhythmdb-query-model.sgml:
8271 * doc/reference/tmpl/rhythmdb.sgml:
8272 * rhythmdb/rhythmdb.c: (rhythmdb_entry_unref): add some RhythmDB API
8273 docs, including the patch that was on bug
8275 * rhythmdb/rhythmdb.h: remove rhythmdb_entry_destroy from the public
8276 API, because it should only be used by RhythmDB itself.
8278 2005-11-16 James Livingston <jrl@ids.org.au>
8280 * shell/rb-tray-icon.c: (rb_tray_icon_button_press_event_cb): allow
8281 pausing by middle clicking on the tray icon.
8283 2005-11-15 James Livingston <jrl@ids.org.au>
8285 * configure.ac: enable audioscrobbler support by default, if libsoup
8288 2005-11-15 James Livingston <jrl@ids.org.au>
8290 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
8294 * daapsharing/rb-daap-connection.c: (build_message),
8295 (g_zalloc_wrapper), (g_zfree_wrapper), (http_response_handler):
8296 support gzip encoded daap connections.
8298 (handle_song_listing): fix leak
8300 2005-11-15 James Livingston <jrl@ids.org.au>
8302 * rhythmdb/rhythmdb.c: (rhythmdb_entry_sync_mirrored):
8303 * sources/rb-podcast-source.c:
8304 (rb_podcast_source_post_date_cell_data_func): make the date format
8305 translatable again, so that translators can choose the best format for
8306 their locale (%x is huge in some locales)
8308 2005-11-15 James Livingston <jrl@ids.org.au>
8310 * podcast/rb-podcast-manager.c: (rb_podcast_manager_save_metadata),
8311 (end_job): mark podcast episodes as failed, if the metadata load
8312 fails. This will prevent people playing non-audio enclosures, helping
8315 2005-11-14 James Livingston <jrl@ids.org.au>
8317 * player/rb-player-gst.c: (rb_player_construct): Explicitly set the
8318 video sink to fakesink. This will stop problems (potentially crashers)
8319 that will occur if the file contains a video stream.
8321 * rhythmdb/rhythmdb.h: define the podcast status number in an enum,
8322 rather than using magic numbers everywhere.
8324 * shell/rb-shell-player.c: (rb_shell_player_entry_activated_cb):
8325 * sources/rb-podcast-source.c:
8326 (rb_podcast_source_songs_show_popup_cb),
8327 (rb_podcast_source_cmd_download_post),
8328 (rb_podcast_source_post_status_cell_data_func),
8329 (rb_podcast_source_entry_activated_cb): use the above constants.
8331 * podcast/rb-podcast-manager.c: (rb_podcast_manager_init),
8332 (rb_podcast_manager_finalize), (rb_podcast_manager_download_entry),
8333 (rb_podcast_manager_next_file), (rb_podcast_manager_copy_post),
8334 (write_job_data), (rb_podcast_manager_cancel_all), (end_job),
8335 (cancel_job), (download_progress_cb),
8336 (rb_podcast_manager_cancel_download),
8337 (rb_podcast_manager_insert_feed): use the constants, and fix a
8338 trhead-safety issue.
8340 2005-11-14 Bastien Nocera <hadess@hadess.net>
8342 * rhythmdb/rhythmdb.c: (rhythmdb_process_stat_event): Patch from
8343 Jonathan Matthew <jonathan@kaolin.hn.org> to avoid lingering
8344 entry-changed events after stats on startup, fixes entry deleted from
8345 filtered views not disappearing
8347 2005-11-14 Jonathan Matthew <jonathan@kaolin.hn.org>
8349 Fix rhythmdb query model refcount and polling problems. Closes bug
8352 * rhythmdb/rhythmdb-property-model.c:
8353 (rhythmdb_property_model_finalize):
8354 Unref the query model if we have one.
8356 * rhythmdb/rhythmdb-query-model.h:
8357 Remove poll and cancel methods. Query cancellation
8358 never did anything anyway.
8360 * rhythmdb/rhythmdb-query-model.c:
8361 (rhythmdb_query_model_init): Remove GAsyncQueues.
8362 Replace the GAsyncQueue-based update processing
8363 with a simpler g_idle_add approach; still has the
8364 same queueing properties, but now we don't poll the
8365 model forever and updates are processed immediately.
8367 (_unref_entry), (rhythmdb_query_model_finalize):
8368 Unref DB entries when finalized
8370 (rhythmdb_query_model_has_pending_changes):
8371 Use our own counter to decide if there are updates pending
8373 (rhythmdb_query_model_process_update), (idle_process_update):
8374 Process updates using g_idle_add, or directly if possible
8376 (rhythmdb_query_model_signal_complete),
8377 (rhythmdb_query_model_add_entries):
8378 Change to new update processing method
8380 (idle_poll_model), (rhythmdb_query_model_poll):
8381 Remove GAsyncQueue-based update processing.
8383 * rhythmdb/rhythmdb.c: (rhythmdb_do_full_query_internal):
8384 No need to poll the model any more - updates are processed
8385 directly for synchronous queries.
8387 * sources/rb-iradio-source.c: (rb_iradio_source_do_query):
8388 Property model needs to be unref'd here
8390 * sources/rb-library-source.c: (rb_library_source_do_query):
8391 Don't try to cancel the active query (it never worked anyway),
8392 remove obsolete poll call, unref property models as required,
8393 and don't unref the cached 'all' query, since hold on to it.
8394 We unref it when the sort order changes, which forces the query
8397 * sources/rb-podcast-source.c: (rb_podcast_source_constructor):
8398 Unref the property model as required
8400 (rb_podcast_source_do_query):
8401 Treat any query with no selected feeds and no search text as
8402 an 'all' query. Unref query models except for the cached
8403 'all' query, since we hold on to that.
8405 (rb_podcast_source_cmd_update_all):
8406 Unref the property model as required.
8408 * widgets/rb-entry-view.c: (rb_entry_view_set_property):
8409 Don't try to cancel the query (it never worked anyway)
8411 (rb_entry_view_poll_model):
8412 No need for this any more.
8414 * widgets/rb-entry-view.h:
8415 Remove obsolete function rb_entry_view_poll_model
8417 * widgets/rb-property-view.c: (rb_property_view_set_property):
8418 Ref and unref the property model as required.
8420 2005-11-14 James Livingston <jrl@ids.org.au>
8422 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
8424 * shell/rb-shell-player.c: (rb_shell_player_open_location): fix checks
8425 for error. Closes bug 321416.
8427 2005-11-14 James Livingston <jrl@ids.org.au>
8429 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
8431 * podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed): fix
8432 a crasher if a feed's last-post value isn't set. Closes bug 321353.
8434 2005-11-14 James Livingston <jrl@ids.org.au>
8436 * shell/rb-playlist-manager.c: (rb_playlist_manager_set_uimanager):
8437 * shell/rb-removable-media-manager.c:
8438 (rb_removable_media_manager_set_uimanager):
8439 * shell/rb-tray-icon.c: (rb_tray_icon_constructor): set the
8440 translation domain for GTK action groups.
8442 2005-11-12 James Livingston <jrl@ids.org.au>
8444 * po/POTFILES.in: remove the old station-new files
8446 2005-11-12 James Livingston <jrl@ids.org.au>
8448 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_start_element),
8449 (rhythmdb_tree_parser_end_element), (save_entry_ulong),
8450 (save_entry): cause Rhythmbox to re-read the metadata from a file,
8451 when upgrading from a pre-Date-supporting version to a version that
8452 supports Date metadata. Closes bug 320760.
8454 2005-11-12 James Livingston <jrl@ids.org.au>
8456 Add "update all podcast feeds" command. Closes bug 319954.
8458 * data/ui/rhythmbox-ui.xml: add to source context menu.
8460 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
8461 (register_action_group), (rb_podcast_source_cmd_download_post),
8462 (rb_podcast_source_cmd_delete_feed),
8463 (rb_podcast_source_cmd_properties_feed),
8464 (rb_podcast_source_cmd_update_feed): pass the source to the actions,
8465 rather than the shell.
8467 (rb_podcast_source_update_feed_func),
8468 (rb_podcast_source_cmd_update_all): update every feed.
8470 2005-11-11 James Livingston <jrl@ids.org.au>
8472 * shell/rb-shell-player.c: (rb_shell_player_class_init),
8473 (rb_shell_player_constructor), (rb_shell_player_finalize):
8474 * shell/rb-shell.c: fix some conflicting keybindings, and mak some
8475 others follow the HIG recommentations.
8477 2005-11-11 James Livingston <jrl@ids.org.au>
8479 * podcast/rb-podcast-manager.c:
8480 (rb_podcast_manager_subscribe_feed): check that the url is valid,
8481 before trying to use it.
8483 2005-11-11 James Livingston <jrl@ids.org.au>
8485 * widgets/rb-entry-view.c: (rb_entry_view_date_sort_func),
8486 (rb_entry_view_append_column): When sorting by year, sort by album
8487 within a particular year.
8489 2005-11-11 James Livingston <jrl@ids.org.au>
8493 2005-11-10 Charles Schmidt <cschmidt2@emich.edu>
8494 * daapsharing/rb-daap-connection.c: (build_message): Fixed the
8495 spelling of "Language."
8497 2005-11-11 James Livingston <jrl@ids.org.au>
8499 * rhythmdb/rhythmdb-property-model.c:
8500 (rhythmdb_property_model_row_inserted_cb),
8501 (rhythmdb_property_model_prop_changed_cb),
8502 (rhythmdb_property_model_entry_removed_cb),
8503 (rhythmdb_property_model_insert_prop),
8504 (rhythmdb_property_model_sync): display the count after the "All"
8505 entry of a property model.
8507 * widgets/rb-property-view.c: (rb_property_view_class_init),
8508 (rb_property_view_finalize), (rb_property_view_constructor): use
8511 2005-11-10 James Livingston <jrl@ids.org.au>
8513 * rhythmdb/rhythmdb-query-model.c:
8514 (rhythmdb_query_model_remove_entry):
8515 * rhythmdb/rhythmdb-query-model.h: make
8516 rhythmdb_query_model_remove_entry return whether the entry was in the
8519 * sources/rb-playlist-source.c: (rb_playlist_source_add_location):
8520 don't add non-SONG entries, as it doesn't really work and can cause
8523 (rb_playlist_source_remove_location): assert if the playlist and model
8524 differ on whether the entry is in the playlist
8526 2005-11-10 James Livingston <jrl@ids.org.au>
8528 * podcast/rb-podcast-manager.c: (rb_podcast_manager_init),
8529 (rb_podcast_manager_finalize), (rb_podcast_manager_subscribe_feed),
8530 (rb_podcast_manager_thread_parse_feed),
8531 (rb_podcast_manager_insert_feed), (rb_podcast_manager_event_loop),
8532 (rb_podcast_manager_abort_subscribe): use a GAsyncQueue rather than
8533 emulating one with a list and mutex. Fixes a couple of threading
8536 (rb_podcast_manager_insert_feed): fix some problems with ignoring
8539 (rb_podcast_manager_download_entry), (rb_podcast_manager_next_file),
8540 (rb_podcast_manager_copy_post), (end_job), (cancel_job),
8541 (download_progress_cb), (rb_podcast_manager_db_entry_deleted_cb),
8542 * podcast/rb-podcast-parse.c: (rb_insert_item),
8543 (rb_podcast_parse_channel_free):
8544 * podcast/rb-podcast-parse.h: Convert C++-style comments to C-style,
8545 fix some typos, and make a bit of code clearer.
8547 2005-11-10 Dennis Cranston <dennis_cranston@yahoo.com>
8549 Make the "delete podcast" dialog better. Closes bug 320899.
8551 * shell/rb-shell.c: (rb_shell_class_init), (rb_shell_get_property):
8552 Add PROP_WINDOW for rb_shell_get_property so we can access the
8553 GtkWindow widget of the main window.
8554 * sources/rb-podcast-source.c: (impl_delete): Set parent window &
8555 fix mnemonic conflict; (rb_podcast_source_cmd_delete_feed): Make the
8556 podcast feed delete dialog less confusing as well.
8558 2005-11-09 James Livingston <jrl@ids.org.au>
8560 * shell/rb-removable-media-manager.c:
8561 (rb_removable_media_manager_mount_volume),
8562 (rb_removable_media_manager_scan): Fix a crasher where we were getting
8563 NULL for a cd volume.
8565 2005-11-08 Jonathan Matthew <jonathan@kaolin.hn.org>
8567 * rhythmdb/rhythmdb.h: make RhythmDB's impl_entry_set
8568 method return a gboolean indicating whether the changes
8569 to the entry have already been applied.
8571 * rhythmdb/rhythmdb.c: (rhythmdb_entry_set_internal):
8572 only modify the entry if impl_entry_set returns FALSE.
8574 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_entry_set):
8575 When setting the location of an entry, update the
8576 hash table mapping locations to entries.
8578 2005-11-08 Jonathan Matthew <jonathan@kaolin.hn.org>
8580 * data/glade/Makefile.am:
8581 * iradio/Makefile.am:
8582 Remove 'new station' dialog.
8584 * iradio/rb-station-properties-dialog.h:
8585 * sources/rb-iradio-source.c: (impl_song_properties):
8586 * shell/rb-shell.c: (rb_shell_cmd_new_station):
8587 Add 'new station' mode parameter to
8588 rb_station_properties_dialog_new.
8590 * (rb_station_properties_dialog_response_cb),
8591 (rb_station_properties_dialog_create_station):
8592 When in 'new station' mode, create the station
8593 when OK button is pressed.
8595 * iradio/rb-station-properties-dialog.c:
8596 (rb_station_properties_dialog_location_changed_cb):
8597 Only enable OK button if a location is specified
8598 (rb_station_properties_dialog_init),
8599 (rb_station_properties_dialog_new),
8600 (rb_station_properties_dialog_update),
8601 (rb_station_properties_dialog_update_title),
8602 (rb_station_properties_dialog_rated_cb),
8603 (rb_station_properties_dialog_update_play_count),
8604 (rb_station_properties_dialog_update_bitrate),
8605 (rb_station_properties_dialog_update_last_played),
8606 (rb_station_properties_dialog_update_rating),
8607 (rb_station_properties_dialog_update_playback_error),
8608 (rb_station_properties_dialog_show):
8609 Handle 'new station' mode, where there's no current
8612 2005-11-08 James Livingston <jrl@ids.org.au>
8614 * sources/rb-playlist-source.c: (rb_playlist_source_constructor): make
8615 keybinding for track columns consistent between library and playlist
8618 2005-11-07 James Livingston <jrl@ids.org.au>
8620 * data/ui/rhythmbox-ui.xml:
8621 * shell/rb-playlist-manager.c: (rb_playlist_manager_set_property): add
8622 "Edit" item to playlist menu. Closes bug 311470.
8624 2005-11-07 James Livingston <jrl@ids.org.au>
8626 patch by: Jaap A. Haitsma <jaap@haitsma.org>
8628 * widgets/rb-dialog.c: (rb_file_chooser_new): add overwrite
8629 confirmation to save dialogs, with gtk 2.8 or higher.
8631 2005-11-07 James Livingston <jrl@ids.org.au>
8632 * configure.ac: move gnome-vfs 2.7.4 from being an ipod-only
8633 requirement to a general on, because people are going to have it for
8634 the other dependencies.
8636 2005-11-06 Dennis Cranston <dennis_cranston@yahoo.com>
8638 * sources/rb-podcast-source.c: (impl_delete): Make the podcast
8639 delete dialog less confusing. Use HIG recommended button order.
8642 2005-11-06 James Livingston <jrl@ids.org.au>
8644 * sources/rb-audiocd-source.c: (rb_audiocd_source_class_init): remove
8645 drag-and-drop error.
8647 * sources/rb-library-source.c: (rb_library_source_constructor): only
8648 add drag-and-drop for the Library itself, subclasses can add support
8649 themselves if they want it.
8651 * sources/rb-removable-media-source.c:
8652 (rb_removable_media_source_class_init): by default removable media
8653 sources do not support dnd
8655 2005-11-05 Jonathan Matthew <jonathan@kaolin.hn.org>
8657 * data/glade/station-properties.glade:
8658 Add box containing error icon and error message label
8659 * iradio/rb-station-properties-dialog.c:
8660 (rb_station_properties_dialog_class_init),
8661 (rb_station_properties_dialog_finalize):
8662 Change this class to use G_DEFINE_TYPE
8663 (rb_station_properties_dialog_init),
8664 (rb_station_properties_dialog_update),
8665 (rb_station_properties_dialog_update_playback_error):
8666 Display error icon and message when there is one, and hide the error
8668 (rb_station_properties_dialog_show): Hack widget show
8669 method to update the visibility of the error info box when showing
8670 the widget. Otherwise the icon is displayed all the time (same thing
8671 is done in rb-song-info). Closes bug 320749.
8673 2005-11-04 Dennis Cranston <dennis_cranston@yahoo.com>
8675 * podcast/rb-podcast-parse.c: (rb_podcast_parse_time): Fix the
8676 parsing of the duration of podcast episodes from the feed. Closes bug
8679 2005-11-05 James Livingston <jrl@ids.org.au>
8681 patch by Christophe Fergeau <teuf@gnome.org> to add support for the
8682 release date metadata ("Year"). Closes bug 166093.
8684 * metadata/rb-metadata-common.c: (rb_metadata_get_field_type):
8685 * metadata/rb-metadata-gst.c: (rb_metadata_gst_load_tag),
8686 (rb_metadata_gst_add_tag_data):
8687 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
8689 * rhythmdb/rhythmdb.c: (metadata_field_from_prop),
8690 (extract_gtype_from_enum_entry), (rhythmdb_entry_finalize),
8691 (set_props_from_metadata), (rhythmdb_entry_set_internal),
8692 (rhythmdb_prop_get_type):
8693 * rhythmdb/rhythmdb.h: add support for "date" property
8695 * data/glade/general-prefs.glade:
8696 * shell/rb-shell-preferences.c: (rb_shell_preferences_init):
8697 * widgets/rb-entry-view.c: (rb_entry_view_year_cell_data_func),
8698 (rb_entry_view_append_column):
8699 * widgets/rb-entry-view.h:
8700 * sources/rb-library-source.c: (rb_library_source_constructor):
8701 * sources/rb-playlist-source.c: (rb_playlist_source_constructor): Add
8704 * data/glade/song-info.glade:
8705 * widgets/rb-song-info.c: (rb_song_info_boldify_label),
8706 (rb_song_info_construct_single), (rb_song_info_constructor),
8707 (rb_song_info_populate_dialog), (rb_song_info_update_year),
8708 (rb_song_info_sync_entry_single): Add "Year" to song info window
8710 * widgets/rb-query-creator-properties.c: Allow auto playlists to be
8713 2005-11-05 James Livingston <jrl@ids.org.au>
8715 * data/glade/podcast-properties.glade: Add a scrollbar to the podcast
8716 description if it's very long.
8718 2005-11-05 James Livingston <jrl@ids.org.au>
8720 pathc by: Artem Baguinski <femistofel@gmail.com>
8722 * help/C/Makefile.am:
8723 * help/ja/Makefile.am: allow Anjuta to import the RB source tree.
8726 2005-11-05 James Livingston <jrl@ids.org.au>
8728 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
8730 * daapsharing/rb-daap-share.c: (write_next_chunk),
8731 (message_finished), (databases_cb): Use chunked file loading and
8732 sending in the DAAP server. This should reduce the amount of memory
8733 required to send files to the client.
8735 2005-11-05 James Livingston <jrl@ids.org.au>
8737 * configure.ac: make the nautilus_burn_drive_door_is_open detection
8738 work better on some systems. Closes 320622.
8740 2005-11-05 James Livingston <jrl@ids.org.au>
8742 * data/glade/audioscrobbler-prefs.glade: add a link to the last.fm
8743 homepage, so that users can find out what AudioScrobbler is. Add
8746 * data/glade/daap-prefs.glade:
8747 * data/glade/general-prefs.glade:
8748 * data/glade/library-prefs.glade: make the indent be more consistent
8750 * data/glade/podcast-prefs.glade:
8751 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
8752 (impl_get_config_widget): move thing out of code into glade, where
8755 2005-11-05 James Livingston <jrl@ids.org.au>
8757 * shell/rb-shell.c: (rb_shell_constructor): really remove bit of code
8758 related to WITH_CD_BURNER_SUPPORT that I missed in the other commit
8760 2005-11-04 James Livingston <jrl@ids.org.au>
8762 * configure.ac: don't print DAAP configure info twice
8764 2005-11-04 James Livingston <jrl@ids.org.au>
8766 * shell/rb-playlist-manager.c: (rb_playlist_manager_set_property):
8767 * sources/rb-playlist-source.c: (burn_playlist_iter_func),
8768 (rb_playlist_source_burn_playlist): remove the WITH_CD_BURNER_SUPPORT
8769 #ifdefs, since we removed the symbol. Oops
8771 2005-11-04 James Livingston <jrl@ids.org.au>
8773 * sources/rb-ipod-source.c: (hal_udi_is_ipod): put the libhal_ctx_init
8774 after the connect line, not before. Oops.
8776 2005-11-04 James Livingston <jrl@ids.org.au>
8778 * sources/rb-podcast-source.c: (rb_podcast_source_cmd_update_feed):
8781 2005-11-03 James Livingston <jrl@ids.org.au>
8783 * NEWS: update the news file
8785 * data/glade/general-prefs.glade: make the prefs refer to "time" not
8788 * data/ui/rhythmbox-ui.xml:
8789 * shell/rb-playlist-manager.c:
8790 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
8791 (rb_podcast_source_feeds_show_popup_cb): don't have both "unsubscribe"
8792 and "delete" for feeds.
8794 2005-11-03 James Livingston <jrl@ids.org.au>
8796 * sources/rb-podcast-source.c: (impl_delete),
8797 (rb_podcast_source_cmd_delete_feed): Allow users to cancel deleting a
8798 feed. Closes 319760.
8800 2005-11-03 James Livingston <jrl@ids.org.au>
8802 Don't start playing from the remote site when a un-downloaded podcast
8803 is activated. Closes 319983.
8806 * podcast/rb-podcast-manager.c: (rb_podcast_manager_add_post),
8807 (write_job_data), (download_progress_cb): write the local location as
8808 soon as any data is recieved
8810 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element): set
8811 the mountpoint to NULL for podcast episodes that haven't yet been
8814 * shell/rb-shell-player.c: (rb_shell_player_entry_activated_cb): don't
8815 start playing a podcast if it hasn't been downloaded.
8817 * sources/rb-podcast-source.c: (rb_podcast_source_constructor),
8818 (rb_podcast_source_entry_activated_cb): begin downloading when the
8819 podcast is activated.
8821 2005-11-03 Dennis Cranston <dennis_cranston@yahoo.com>
8823 * data/glade/general-prefs.glade: Fix capitalization.
8824 * shell/rb-removable-media-manager.c: Add a mnemonic.
8825 * sources/rb-podcast-source.c:
8826 (rb_podcast_source_songs_show_popup_cb),
8827 (rb_podcast_source_feeds_show_popup_cb): Add mnemonics.
8829 2005-11-03 James Livingston <jrl@ids.org.au>
8831 patch by: Shun-ichi Tahara <jado@flowernet.gr.jp>
8833 * shell/rb-removable-media-manager.c:
8834 (rb_removable_media_manager_mount_volume): don't check network or
8835 autofs mounts, as they're not going to be removable media. Stops
8836 sending lots of warnings to syslog. Closes 320571.
8838 * sources/rb-ipod-source.c: (hal_udi_is_ipod): actually initialise the
8839 DBus connection, so that it doesn't wedge gnome-vfs-daemon. Closes
8842 2005-11-03 James Livingston <jrl@ids.org.au>
8844 Add support for playing audio CDs. Metadata lookup is done using
8845 SoundJuicer's MusicBrainz lookup code, which can be switched to using
8846 the library when it gets broken out of S-J.
8848 Add a "rescan media" menu item, and commands for ejecting removable
8851 Move nautilus-cd-burner from optional to required depenency.
8854 * data/ui/rhythmbox-ui.xml:
8855 * metadata/Makefile.am:
8856 + metadata/sj-error.c:
8857 + metadata/sj-error.h:
8858 + metadata/sj-metadata-marshal.list:
8859 + metadata/sj-metadata-musicbrainz.c:
8860 + metadata/sj-metadata-musicbrainz.h:
8861 + metadata/sj-metadata.c:
8862 + metadata/sj-metadata.h:
8863 + metadata/sj-structures.c:
8864 + metadata/sj-structures.h:
8865 * player/Makefile.am:
8866 * player/rb-player-gst.c: (cdda_got_source_cb), (rb_player_open):
8868 * shell/Makefile.am:
8869 * shell/rb-removable-media-manager.c:
8870 (rb_removable_media_manager_dispose), (poll_tray_opened),
8871 (end_cd_drive_monitor), (begin_cd_drive_monitor),
8872 (rb_removable_media_manager_load_media),
8873 (rb_removable_media_manager_mount_volume),
8874 (rb_removable_media_manager_cmd_eject_medium),
8875 (rb_removable_media_manager_cmd_scan_media),
8876 (rb_removable_media_manager_check_volume),
8877 (rb_removable_media_manager_unmount_volume_swap),
8878 (rb_removable_media_manager_scan):
8879 * sources/Makefile.am:
8880 + sources/rb-audiocd-source.c:
8881 + sources/rb-audiocd-source.h:
8882 * tests/Makefile.am:
8884 2005-11-02 James Livingston <jrl@ids.org.au>
8886 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
8888 * sources/rb-iradio-source.c:
8889 (stations_view_drag_data_received_cb):
8890 * sources/rb-podcast-source.c: (posts_view_drag_data_received_cb):
8891 don't crash when the second uri is missing frm the drop, which
8892 browsers sometimes do.
8894 2005-11-01 James Livingston <jrl@ids.org.au>
8896 * podcast/rb-podcast-manager.c: (rb_podcast_manager_add_post),
8897 (rb_podcast_manager_insert_feed):
8898 * podcast/rb-podcast-manager.h:
8899 * podcast/rb-podcast-parse.c: (rb_podcast_initializa_item),
8900 (rb_set_item_value), (rb_validate_item_propert),
8901 (rb_podcast_parse_date), (rb_podcast_parse_time):
8902 * podcast/rb-podcast-parse.h: get the duration of podcast episodes
8905 2005-10-31 James Livingston <jrl@ids.org.au>
8908 * ChangeLog0.8: break off the older Changelog entries, so it isn't so
8911 2005-10-31 James Livingston <jrl@ids.org.au>
8913 * sources/rb-podcast-source.c:
8914 (rb_podcast_source_post_date_cell_data_func): generate the date string
8915 in a way that is correct in all locales.
8917 * rhythmdb/rhythmdb.c: (rhythmdb_entry_allocate),
8918 (rhythmdb_entry_sync_mirrored): make the last played/date added
8919 columns use the same format.
8921 2005-10-30 James Livingston <jrl@ids.org.au>
8924 * podcast/rb-podcast-manager.c:
8925 (rb_podcast_manager_subscribe_feed): fix feed updating, which I broke
8927 * shell/rb-shell-player.c: (rb_shell_player_open_location): report
8928 iradio errors better.
8930 2005-10-30 James Livingston <jrl@ids.org.au>
8932 patch by: Artem Baguinski <femistofel@gmail.com>
8934 * metadata/rb-metadata-gst.c: (rb_metadata_init):
8936 2005-10-30 James Livingston <jrl@ids.org.au>
8938 * podcast/rb-podcast-manager.c:
8939 (rb_podcast_manager_subscribe_feed),
8940 (rb_podcast_manager_insert_feed): Don't crash if the podcast feed has
8941 already been added, usually as a radio station. Closes 319434.
8943 2005-10-29 Dennis Cranston <dennis_cranston@yahoo.com>
8945 * data/glade/podcast-new.glade: HIG fixes (spacing, capitalization,
8946 mnemonics & resize issues)
8947 * data/glade/podcast-prefs.glade: HIG fixes (spacing, capitalization
8949 * sources/rb-podcast-source.c: (impl_get_config_widget): Set mnemonic
8950 widget for the "download location" label.
8954 2005-10-29 James Livingston <jrl@ids.org.au>
8956 Allow the search box to match words from multiple properties. Closes
8957 bug 139196. Thanks to the person from IRC who did a lot of the initial
8961 * lib/rb-util.c: (rb_string_split_words), (rb_search_fold):
8962 * lib/rb-util.h: Add functions to split a string into words, and one
8963 to perform "search folding" which is currently like casefolding but
8964 also strips punctuation
8966 * rhythmdb/rhythmdb.c: (rhythmdb_prop_get_type),
8967 (rhythmdb_query_preprocess):
8968 * rhythmdb/rhythmdb.h: add a SEARCH_MATCH property which will match
8969 against title, artist, album and genre (for the search box)
8971 * rhythmdb/rb-refstring.c: (rb_refstring_new_full):
8972 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
8973 (save_entry), (search_match_properties),
8974 (evaluate_conjunctive_subquery): process the SEARCH_MATCH property by
8975 splitting into words and matching across multiple properties.
8977 * sources/rb-library-source.c: (construct_query_from_selection): use
8978 the new SEARCH_MATCH property for the search box
8980 * widgets/rb-entry-view.c: (type_ahead_search_func):
8982 2005-10-29 James Livingston <jrl@ids.org.au>
8984 * lib/rb-stock-icons.c: (rb_stock_icons_init):
8985 * lib/rb-stock-icons.h: bind gnome-icon-theme icons to stock ids.
8987 * shell/rb-playlist-manager.c:
8988 * shell/rb-shell.c: use the above stock ids, so that the icons get set
8991 * shell/rb-shell-player.c: (rb_shell_player_constructor): set the
8992 initial state of the shuffle/repeat menu items correctly. Patch from
8993 Dennis Cranston <dennis_cranston@yahoo.com>, closes 313158.
8995 2005-10-29 James Livingston <jrl@ids.org.au>
8997 * podcast/rb-podcast-manager.c: (rb_podcast_manager_copy_post): fix
9000 * widgets/rb-cell-renderer-pixbuf.c:
9001 (rb_cell_renderer_pixbuf_render): don't colour these, as it makes the
9002 icon go black when row is not selected
9004 * doc/reference/tmpl/rb-daap-connection.sgml:
9005 * doc/reference/tmpl/rhythmdb.sgml: doc updates
9007 2005-10-29 James Livingston <jrl@ids.org.au>
9009 * podcast/rb-podcast-manager.c: (rb_podcast_manager_copy_post): fix a
9010 silly mistake, where it could think partial downloads has been
9013 2005-10-29 James Livingston <jrl@ids.org.au>
9015 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
9017 * data/glade/song-info.glade:
9018 * widgets/rb-song-info.c: (rb_song_info_construct_single),
9019 (rb_song_info_populate_num_field), (rb_song_info_populate_dialog),
9020 (rb_song_info_sync_entry_single): show the disc number in the song
9021 info window. From bug 311199.
9023 2005-10-29 James Livingston <jrl@ids.org.au>
9025 * rhythmdb/rhythmdb.c: (rhythmdb_process_events),
9026 (rhythmdb_query_preprocess), (rhythmdb_idle_save): Save database
9027 regularly. Closes 155306.
9029 2005-10-29 James Livingston <jrl@ids.org.au>
9031 * podcast/rb-podcast-manager.c:
9032 (rb_podcast_manager_download_entry),
9033 (rb_podcast_manager_copy_post), (rb_podcast_manager_add_post),
9034 (rb_podcast_manager_insert_feed):
9035 * podcast/rb-podcast-manager.h:
9036 * podcast/rb-podcast-parse.c: (rb_set_item_value),
9037 (rb_podcast_parser_start_element):
9038 * podcast/rb-podcast-parse.h: Detect already-downloaded podcasts, and
9039 don't download them again. However, it can't resume
9040 partially-downloaded ones.
9042 2005-10-28 James Livingston <jrl@ids.org.au>
9044 * metadata/rb-metadata-gst.c: (rb_add_id3_tagger),
9045 (rb_metadata_gst_add_tag_data), (rb_metadata_save): Make ID3 tagging
9046 work. Don't attempt to write duration as a tag.
9048 Thanks to Artem Baguinski <femistofel@gmail.com>
9050 2005-10-28 James Livingston <jrl@ids.org.au>
9052 * shell/rb-source-header.c: (rb_source_header_sync_control_state):
9053 don't disable the status-bar menu item when the current source doesn't
9056 2005-10-28 James Livingston <jrl@ids.org.au>
9058 * podcast/rb-podcast-manager.c: (download_progress_update_cb): don't
9059 crash if the file has unknown length
9061 2005-10-27 James Livingston <jrl@ids.org.au>
9063 * daapsharing/rb-daap-connection.c:
9064 (rb_daap_connection_state_done): don't assert when a daap server
9065 doesn't have any playlists
9067 2005-10-27 James Livingston <jrl@ids.org.au>
9069 * sources/rb-sourcelist-model.c:
9070 (rb_sourcelist_model_set_dnd_targets): Add the COPY action to the drag
9071 source for the sourcelist. Closes bug 319817.
9073 2005-10-26 Ryan P Skadberg <skadz@stigmata.org>
9075 Patch by: Renato Araujo <renatox@gmail.com>
9077 * podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed):
9078 Fix for a crasher caused by previous patch.
9080 2005-10-26 James Livingston <jrl@ids.org.au>
9082 * data/glade/podcast-prefs.glade:
9083 * podcast/rb-new-podcast-dialog.c: (rb_new_podcast_dialog_init):
9084 * podcast/rb-podcast-parse.c: (rb_podcast_parse_load_feed):
9085 * sources/rb-podcast-source.c: (rb_podcast_source_new):
9086 * podcast/rb-podcast-manager.c:
9087 (rb_podcast_manager_copy_post), (rb_podcast_manager_add_post),
9088 (rb_podcast_manager_insert_feed), (rb_podcast_manager_event_loop):
9089 * shell/rb-shell.c: Change some strings to make them more consistent.
9090 "Podcast" is now replaces by "Podcast Feed" or "Podcast Episode" which
9091 makes it clearer which is which. "Episode" may not be the best term,
9092 but it seems to be widely used.
9094 Also fix some strings that weren't marked as translatable.
9096 * podcast/rb-feed-podcast-properties-dialog.c:
9097 (rb_feed_podcast_properties_dialog_class_init),
9098 (rb_feed_podcast_properties_dialog_finalize):
9099 * podcast/rb-new-podcast-dialog.c:
9100 (rb_new_podcast_dialog_class_init), (rb_new_podcast_dialog_finalize):
9101 * widgets/rb-simple-view.c: (rb_simple_view_class_init),
9102 (rb_simple_view_finalize), (rb_simple_view_constructor):
9103 * podcast/rb-podcast-properties-dialog.c:
9104 (rb_podcast_properties_dialog_class_init),
9105 (rb_podcast_properties_dialog_finalize):
9106 * podcast/rb-podcast-manager.c: (rb_podcast_manager_class_init),
9107 (rb_podcast_manager_constructor), (rb_podcast_manager_finalize),
9108 * sources/rb-podcast-source.c: (rb_podcast_source_class_init),
9109 (rb_podcast_source_finalize), (rb_podcast_source_constructor):
9110 use G_DEFINE_TYPE, instead of doing it manually.
9112 2005-10-26 James Livingston <jrl@ids.org.au>
9114 Patch by Artem Baguinski <femistofel@gmail.com> and James Livingston
9117 * metadata/rb-metadata-gst.c: (rb_add_id3_tagger),
9118 (rb_metadata_init): Check that the necessary plugins are present to do
9120 (rb_metadata_file_valid), (rb_metadata_save): Ensure the file isn't
9121 corrupted before replacing the original.
9123 2005-10-25 Jonathan Matthew <jonathan@kaolin.hn.org>
9125 reviewed by: James Livingston <jrl@ids.org.au>
9127 Assign sequential IDs to playlists for DAAP rather than using the
9128 address of the playlist object. Less flaky, and should work on 64bit
9129 platforms. Closes bug 319304.
9131 * daapsharing/rb-daap-share.c:
9132 (rb_daap_share_set_property): watch for playlist creation
9133 (_find_by_id), (_find_by_source): playlist list search functions
9134 (rb_daap_share_playlist_created),
9135 (rb_daap_share_process_playlist),
9136 (rb_daap_share_playlist_destroyed):
9137 update playlist list as it changes, use weak refs on
9138 playlists to get notified on destroy.
9139 (rb_daap_share_forget_playlist), (rb_daap_share_dispose):
9140 destroy playlist list on shutdown
9141 (add_playlist_to_mlcl): use playlist ID rather than pointer in
9143 (databases_cb): search for playlist ID in list rather than just
9144 converting it to a pointer; return HTTP 404 if playlist not
9146 (rb_daap_share_start_publish): playlist IDs start at 2, since 1
9147 is already used for the main library
9149 2005-10-26 James Livingston <jrl@ids.org.au>
9151 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
9153 * daapsharing/rb-daap-connection.c: (build_message),
9154 (http_response_handler), (http_get), (handle_server_info),
9155 (handle_login), (handle_update), (handle_database_info),
9156 (handle_song_listing), (handle_playlists),
9157 (handle_playlist_entries), (handle_logout),
9158 (rb_daap_connection_new), (rb_daap_connection_logout),
9159 (rb_daap_connection_state_done), (rb_daap_connection_do_something),
9160 (rb_daap_connection_get_headers), (rb_daap_connection_destroy):
9161 * daapsharing/rb-daap-connection.h:
9162 * sources/rb-daap-source.c: (rb_daap_source_activate),
9163 (rb_daap_source_connection_cb), (rb_daap_source_disconnect_cb),
9164 (rb_daap_source_disconnect): Make connecting to DAAP sources
9165 asynchronous, so that non-responsive servers don't hang the UI. Closes
9168 2005-10-26 James Livingston <jrl@ids.org.au>
9170 patch by: Jonathan Matthew <jonathan@kaolin.hn.org>
9172 * rhythmdb/rhythmdb-query-model.c:
9173 (rhythmdb_query_model_do_reorder): generate the row re-order map
9176 * widgets/rb-entry-view.c: (rb_entry_view_set_property),
9177 (rb_entry_view_row_changed_cb), (rb_entry_view_rows_reordered_cb):
9178 Update selection when rows get re-ordered. Closes 319718.
9180 2005-10-26 James Livingston <jrl@ids.org.au>
9182 patch from Jonathan Matthew <jonathan@kaolin.hn.org>
9184 * shell/rb-play-order.c: (rb_play_order_playing_source_changed):
9185 actually set the db pointer in play orders. Closes 319818.
9187 2005-10-25 Ryan P Skadberg <skadz@stigmata.org>
9189 Patch by: Renato Araujo <renatox@gmail.com>
9191 * podcast/rb-podcast-manager.c: (rb_podcast_manager_start_sync),
9192 (rb_podcast_manager_sync_head_cb), (rb_podcast_manager_add_post),
9193 (rb_podcast_manager_update_synctime),
9194 (rb_podcast_manager_config_changed),
9195 (rb_podcast_manager_insert_feed):
9196 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
9198 * rhythmdb/rhythmdb.c: (rhythmdb_entry_finalize),
9199 (rhythmdb_entry_set_internal), (rhythmdb_prop_get_type):
9200 * rhythmdb/rhythmdb.h: Fixes for #319759 and #319755.
9202 2005-10-25 James Livingston <jrl@ids.org.au>
9204 * daapsharing/rb-daap-share.c: (db_entry_added_cb),
9205 (db_entry_deleted_cb): don't share tracks that are hidden because the
9208 2005-10-22 James Livingston <jrl@ids.org.au>
9210 * shell/rb-shell-player.c: (rb_shell_player_set_playing_entry): don't
9211 crash if an entry couldn't be playerd, without streamer setting an
9215 Patch from Jonathan Matthew <jonathan@kaolin.hn.org>
9217 * podcast/rb-new-podcast-dialog.c: (rb_new_podcast_dialog_init),
9218 (rb_new_podcast_dialog_text_changed): enable the add button when a url
9219 is pasted into the dialog.
9221 * podcast/rb-podcast-manager.c: (rb_podcast_manager_insert_feed):
9222 * podcast/rb-podcast-parse.c: (rb_set_channel_value),
9223 (rb_set_item_value), (rb_insert_item), (rb_validate_item_propert),
9224 (rb_podcast_parse_channel_free):
9225 * podcast/rb-podcast-parse.h: handle per-entry author names in podcast
9228 2005-10-22 James Livingston <jrl@ids.org.au>
9230 * sources/rb-iradio-source.c:
9231 (rb_iradio_source_first_time_changed): Make merging the default
9232 stations actually work.
9234 * sources/rb-podcast-source.c:
9235 (rb_podcast_source_post_status_cell_data_func): fix problem where some
9236 people weren't seing the percentages in the stats column.
9238 2005-10-21 James Livingston <jrl@ids.org.au>
9240 Patch from Caio Marcelo <cmarcelo@gmail.com>
9242 * shell/rb-shell.c: (rb_shell_window_state_cb),
9243 (rb_shell_get_visibility), (idle_hide_mainwindow),
9244 (rb_shell_set_visibility): Make the "show window" item in the tray
9245 icon menu show the toggle state correctly. Use a better policy on
9246 deciding whether the window is "visible" or not. Closes bug 308053.
9248 2005-10-21 James Livingston <jrl@ids.org.au>
9250 * doc/reference/tmpl/rb-shell-preferences.sgml:
9251 * shell/Makefile.am: fix building with gtk-doc
9253 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_song_changed_cb):
9254 don't submit podcasts to audioscrobbler
9257 Patch from Jonathan Matthew <jonathan@kaolin.hn.org>
9259 * podcast/rb-podcast-parse.c: (rb_set_channel_value),
9260 (rb_set_item_value): strip spaces surrounding podcast urls
9263 Patch from Paul Kuliniewicz <kuliniew@purdue.edu>
9265 * rhythmdb/rhythmdb.h: fix crasher caused by dbus-podcast interaction
9267 2005-10-20 Ryan P Skadberg <skadz@stigmata.org>
9269 Patch from Ruben Vermeersch <ruben@lambda1.be> to add
9270 Audioscrobbler/Last.fm support
9273 * data/glade/Makefile.am:
9274 * data/glade/audioscrobbler-prefs.glade:
9275 * data/rhythmbox.schemas:
9277 * lib/md5.c: (md5_process), (md5_init), (md5_append), (md5_finish):
9279 * lib/rb-preferences.h:
9281 * shell/Makefile.am:
9282 * shell/rb-audioscrobbler.c: (rb_audioscrobbler_class_init),
9283 (rb_audioscrobbler_init), (rb_audioscrobbler_finalize),
9284 (rb_audioscrobbler_new), (rb_audioscrobbler_set_property),
9285 (rb_audioscrobbler_get_property), (rb_audioscrobbler_add_timeout),
9286 (rb_audioscrobbler_timeout_cb), (mkmd5),
9287 (rb_audioscrobbler_parse_response), (rb_audioscrobbler_perform),
9288 (rb_audioscrobbler_do_handshake),
9289 (rb_audioscrobbler_do_handshake_cb),
9290 (rb_audioscrobbler_submit_queue),
9291 (rb_audioscrobbler_submit_queue_cb),
9292 (rb_audioscrobbler_import_settings),
9293 (rb_audioscrobbler_preferences_sync),
9294 (rb_audioscrobbler_get_config_widget), (get_proxy_uri),
9295 (rb_audioscrobbler_gconf_changed_cb),
9296 (rb_audioscrobbler_song_changed_cb),
9297 (rb_audioscrobbler_username_entry_changed_cb),
9298 (rb_audioscrobbler_username_entry_activate_cb),
9299 (rb_audioscrobbler_password_entry_changed_cb),
9300 (rb_audioscrobbler_password_entry_activate_cb),
9301 (rb_audioscrobbler_enabled_check_changed_cb),
9302 (audioscrobbler_entry_init), (audioscrobbler_entry_free),
9303 (rb_audioscrobbler_load_entry_from_string),
9304 (rb_audioscrobbler_load_queue), (rb_audioscrobbler_save_queue),
9305 (rb_audioscrobbler_print_queue),
9306 (rb_audioscrobbler_free_queue_entries):
9307 * shell/rb-audioscrobbler.h:
9308 * shell/rb-shell-preferences.c:
9309 (rb_shell_preferences_append_audioscrobbler_config):
9310 * shell/rb-shell-preferences.h:
9311 * shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor),
9312 (rb_shell_select_source), (rb_shell_cmd_preferences):
9313 * sources/Makefile.am:
9315 2005-10-21 James Livingston <jrl@ids.org.au>
9317 Patch from Renato Araujo <renatox@gmail.com> to add Podcast support
9322 * data/art/Makefile.am:
9323 * data/glade/Makefile.am:
9324 * data/rhythmbox.schemas:
9325 * data/ui/rhythmbox-ui.xml:
9326 * doc/reference/Makefile.am:
9327 * doc/reference/tmpl/rhythmdb.sgml:
9328 * lib/rb-stock-icons.c: (rb_stock_icons_init):
9329 * lib/rb-stock-icons.h:
9331 * podcast/Makefile.am:
9332 + podcast/rb-feed-podcast-properties-dialog.c:
9333 + podcast/rb-feed-podcast-properties-dialog.h:
9334 + podcast/rb-new-podcast-dialog.c:
9335 + podcast/rb-new-podcast-dialog.h:
9336 + podcast/rb-podcast-manager.c:
9337 + podcast/rb-podcast-manager.h:
9338 + podcast/rb-podcast-marshal.list:
9339 + podcast/rb-podcast-parse.c:
9340 + podcast/rb-podcast-parse.h:
9341 + podcast/rb-podcast-properties-dialog.c:
9342 + podcast/rb-podcast-properties-dialog.h:
9343 * rhythmdb/rhythmdb-property-model.c:
9344 (rhythmdb_property_model_set_property),
9345 (rhythmdb_property_model_enable_drag):
9346 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_start_element),
9347 (rhythmdb_tree_parser_end_element), (save_entry),
9348 (rhythmdb_tree_save):
9349 * rhythmdb/rhythmdb.c: (rhythmdb_entry_allocate),
9350 (rhythmdb_entry_finalize), (rhythmdb_entry_set_internal),
9351 (rhythmdb_prop_get_type), (rhythmdb_entry_podcast_post_get_type),
9352 (rhythmdb_entry_podcast_feed_get_type):
9353 * rhythmdb/rhythmdb.h:
9354 * shell/Makefile.am:
9355 * shell/rb-shell-player.c: (rb_shell_player_open_entry):
9356 * shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor),
9357 (add_to_library_response_cb), (rb_shell_cmd_new_podcast),
9359 * sources/Makefile.am:
9360 + sources/rb-podcast-source.c:
9361 + sources/rb-podcast-source.h:
9362 * widgets/Makefile.am:
9363 * widgets/rb-property-view.c: (rb_property_view_class_init),
9364 (rb_property_view_constructor),
9365 (rb_property_view_selection_changed_cb),
9366 (rb_property_view_get_treeview):
9367 * widgets/rb-property-view.h:
9368 + widgets/rb-simple-view.c:
9369 + widgets/rb-simple-view.h:
9371 2005-10-20 James Livingston <jrl@ids.org.au>
9373 * NEWS: update with changes since 0.9.1
9375 * configure.ac: check whether collate_key_for_filename is available
9376 * lib/rb-cut-and-paste-code.c: (rb_utf8_collate_key_for_filename):
9377 * lib/rb-cut-and-paste-code.h: add function copied from glib 2.8, use
9378 it if it isn't available in glib (i.e. building against 2.6)
9379 * rhythmdb/rb-refstring.c: (rb_refstring_new_full): use the filename
9380 collation to get "natural sorting". Closes bug 158599.
9382 2005-10-20 James Livingston <jrl@ids.org.au>
9384 Patch from Paul Kuliniewicz <kuliniew@purdue.edu>
9386 * doc/reference/tmpl/rb-shell-player.sgml:
9387 * shell/rb-shell-player.c: (rb_shell_player_class_init),
9388 (volume_pre_unmount_cb), (rb_shell_player_sync_with_source),
9389 (rb_shell_player_get_playing),
9390 (rb_shell_player_get_playing_time_string),
9391 (rb_shell_player_get_playing_time),
9392 (rb_shell_player_set_playing_time), (tick_cb),
9393 (rb_shell_player_get_playing_path), (filter_mmkeys):
9394 * shell/rb-shell-player.h:
9395 * shell/rb-shell-player.xml:
9396 * shell/rb-shell.c: (rb_shell_constructor),
9397 (rb_shell_player_elapsed_changed_cb), (rb_shell_set_elapsed),
9398 (rb_shell_set_window_title), (rb_shell_playing_impl),
9399 (rb_shell_get_playing_time_impl), (rb_shell_set_playing_time_impl):
9400 Merge the duration_changed and elapsed_changed DBUS signals into one
9401 elapsed_changed signal. Check that the output argument isn't NULL
9402 before trying to put things in it.
9404 2005-10-20 James Livingston <jrl@ids.org.au>
9406 * rhythmdb/rhythmdb-query-model.c:
9407 (rhythmdb_query_model_entry_added_cb),
9408 (rhythmdb_query_model_do_insert), (rhythmdb_query_model_poll): fix
9409 problem where hidden entries could be shown in playlists.
9411 * shell/rb-shell.c: (rb_shell_window_state_cb): fix a window-sizing
9412 issues when switching in and out of small mode.
9414 2005-10-19 James Livingston <jrl@ids.org.au>
9416 * shell/rb-shell.c: (rb_shell_class_init), (rb_shell_finalize),
9417 (rb_shell_constructor), (rb_shell_window_state_cb),
9418 (rb_shell_set_visibility), (rb_shell_window_configure_cb),
9419 (rb_shell_sync_window_state), (rb_shell_playlist_created_cb),
9420 (rb_shell_view_smalldisplay_changed_cb),
9421 (rb_shell_sync_smalldisplay), (smalldisplay_changed_cb),
9422 (rb_shell_sync_paned): remove gconf window-state races, prevent
9423 changing small mode too often, fix window event races. Closes 122806.
9426 Patch from Caio Marcelo <cmarcelo@gmail.com>
9428 * data/rhythmbox.schemas:
9429 * shell/rb-shell.c: (rb_shell_window_state_cb),
9430 (rb_shell_window_configure_cb), (rb_shell_sync_window_state):
9431 Remember the position of the window. Closes 315289.
9433 2005-10-19 James Livingston <jrl@ids.org.au>
9435 Patch from Christophe Fergeau <teuf@gnome.org>
9437 * configure.ac: determine whether libgpod is present when neither
9438 --with-ipod nor --without-ipod is passed
9440 2005-10-19 James Livingston <jrl@ids.org.au>
9442 Patch from Caio Marcelo <cmarcelo@gmail.com>
9444 * shell/rb-shell-player.c: (do_next_idle),
9445 (rb_shell_player_do_previous), (rb_shell_player_do_next),
9446 (rb_shell_player_do_previous_or_seek),
9447 (rb_shell_player_previous_button_cb),
9448 (rb_shell_player_next_button_cb), (rb_shell_player_cmd_previous),
9449 (rb_shell_player_cmd_next), (eos_cb):
9450 * widgets/rb-header.c: (rb_header_sync): Stop playback when the
9451 end of the playlist is reached.
9453 2005-10-19 Christopher Aillon <caillon@redhat.com>
9455 * lib/rb-thread.c: fix a few GSource leaks
9457 2005-10-19 James Livingston <jrl@ids.org.au>
9459 * doc/reference/tmpl/bacon-volume.sgml:
9460 * doc/reference/tmpl/disclosure-widget.sgml:
9461 * doc/reference/tmpl/eel-gconf-extensions.sgml:
9462 * doc/reference/tmpl/eggnotificationbubble.sgml:
9463 * doc/reference/tmpl/eggtrayicon.sgml:
9464 * doc/reference/tmpl/gsequence.sgml:
9465 * doc/reference/tmpl/rb-cell-renderer-pixbuf.sgml:
9466 * doc/reference/tmpl/rb-cell-renderer-rating.sgml:
9467 * doc/reference/tmpl/rb-daap-connection.sgml:
9468 * doc/reference/tmpl/rb-daap-dialog.sgml:
9469 * doc/reference/tmpl/rb-daap-mdns.sgml:
9470 * doc/reference/tmpl/rb-daap-share.sgml:
9471 * doc/reference/tmpl/rb-daap-sharing.sgml:
9472 * doc/reference/tmpl/rb-daap-source.sgml:
9473 * doc/reference/tmpl/rb-daap-src.sgml:
9474 * doc/reference/tmpl/rb-daap-structure.sgml:
9475 * doc/reference/tmpl/rb-debug.sgml:
9476 * doc/reference/tmpl/rb-dialog.sgml:
9477 * doc/reference/tmpl/rb-druid.sgml:
9478 * doc/reference/tmpl/rb-entry-view.sgml:
9479 * doc/reference/tmpl/rb-enums.sgml:
9480 * doc/reference/tmpl/rb-file-helpers.sgml:
9481 * doc/reference/tmpl/rb-glade-helpers.sgml:
9482 * doc/reference/tmpl/rb-header.sgml:
9483 * doc/reference/tmpl/rb-history.sgml:
9484 * doc/reference/tmpl/rb-ipod-source.sgml:
9485 * doc/reference/tmpl/rb-iradio-source.sgml:
9486 * doc/reference/tmpl/rb-library-source.sgml:
9487 * doc/reference/tmpl/rb-load-failure-dialog.sgml:
9488 * doc/reference/tmpl/rb-metadata.sgml:
9489 * doc/reference/tmpl/rb-new-station-dialog.sgml:
9490 * doc/reference/tmpl/rb-play-order-linear-loop.sgml:
9491 * doc/reference/tmpl/rb-play-order-linear.sgml:
9492 * doc/reference/tmpl/rb-play-order-random-by-age-and-rating.sgml:
9493 * doc/reference/tmpl/rb-play-order-random-by-age.sgml:
9494 * doc/reference/tmpl/rb-play-order-random-by-rating.sgml:
9495 * doc/reference/tmpl/rb-play-order-random-equal-weights.sgml:
9496 * doc/reference/tmpl/rb-play-order-random.sgml:
9497 * doc/reference/tmpl/rb-play-order-shuffle.sgml:
9498 * doc/reference/tmpl/rb-play-order.sgml:
9499 * doc/reference/tmpl/rb-player.sgml:
9500 * doc/reference/tmpl/rb-playlist-manager.sgml:
9501 * doc/reference/tmpl/rb-playlist-source-recorder.sgml:
9502 * doc/reference/tmpl/rb-playlist-source.sgml:
9503 * doc/reference/tmpl/rb-preferences.sgml:
9504 * doc/reference/tmpl/rb-property-view.sgml:
9505 * doc/reference/tmpl/rb-query-creator-private.sgml:
9506 * doc/reference/tmpl/rb-query-creator.sgml:
9507 * doc/reference/tmpl/rb-rating-helper.sgml:
9508 * doc/reference/tmpl/rb-rating.sgml:
9509 * doc/reference/tmpl/rb-recorder.sgml:
9510 * doc/reference/tmpl/rb-refstring.sgml:
9511 * doc/reference/tmpl/rb-removable-media-manager.sgml:
9512 * doc/reference/tmpl/rb-removable-media-source.sgml:
9513 * doc/reference/tmpl/rb-search-entry.sgml:
9514 * doc/reference/tmpl/rb-shell-clipboard.sgml:
9515 * doc/reference/tmpl/rb-shell-glue.sgml:
9516 * doc/reference/tmpl/rb-shell-player-glue.sgml:
9517 * doc/reference/tmpl/rb-shell-player.sgml:
9518 * doc/reference/tmpl/rb-shell-preferences.sgml:
9519 * doc/reference/tmpl/rb-shell.sgml:
9520 * doc/reference/tmpl/rb-song-display-box.sgml:
9521 * doc/reference/tmpl/rb-song-info.sgml:
9522 * doc/reference/tmpl/rb-source-header.sgml:
9523 * doc/reference/tmpl/rb-source.sgml:
9524 * doc/reference/tmpl/rb-sourcelist-model.sgml:
9525 * doc/reference/tmpl/rb-sourcelist.sgml:
9526 * doc/reference/tmpl/rb-station-properties-dialog.sgml:
9527 * doc/reference/tmpl/rb-statusbar.sgml:
9528 * doc/reference/tmpl/rb-stock-icons.sgml:
9529 * doc/reference/tmpl/rb-string-helpers.sgml:
9530 * doc/reference/tmpl/rb-thread.sgml:
9531 * doc/reference/tmpl/rb-tray-icon.sgml:
9532 * doc/reference/tmpl/rb-tree-dnd.sgml:
9533 * doc/reference/tmpl/rb-tree-model-sort.sgml:
9534 * doc/reference/tmpl/rb-util.sgml:
9535 * doc/reference/tmpl/rhythmbox-unused.sgml:
9536 * doc/reference/tmpl/rhythmdb-property-model.sgml:
9537 * doc/reference/tmpl/rhythmdb-query-model.sgml:
9538 * doc/reference/tmpl/rhythmdb-tree.sgml:
9539 * doc/reference/tmpl/rhythmdb.sgml: update for changes
9541 * doc/reference/Makefile.am: make docs build with changed ipod support
9543 * po/POTFILES.in: remove sources/itunesdb
9545 2005-10-18 Christophe Fergeau <teuf@gnome.org>
9547 * sources/itunesdb.c:
9548 * sources/itunesdb.h: removed now useless files
9550 2005-10-03 Christophe Fergeau <teuf@gnome.org>
9553 * shell/Makefile.am:
9554 * sources/Makefile.am:
9555 * sources/rb-ipod-source.c: use libgpod [1] instead of our own parsing
9557 [1]: http://www.gtkpod.org/libgpod.html
9560 2005-10-18 James Livingston <jrl@ids.org.au>
9562 patch from Funda Wang <fundawang@linux.net.cn>
9564 * shell/rb-shell.c: (rb_shell_playing_entry_changed_cb): make one of
9565 the notification bubble string translatable.
9567 ============ Version 0.9.1
9569 2005-10-16 James Livingston <jrl@ids.org.au>
9571 * configure.ac: bump version to 0.9.1
9572 * NEWS: update translation credits
9574 2005-10-16 James Livingston <jrl@ids.org.au>
9576 * rhythmdb/rhythmdb-query-model.c:
9577 (rhythmdb_query_model_class_init),
9578 (rhythmdb_query_model_drag_data_received):
9579 * rhythmdb/rhythmdb-query-model.h: Allow sources to be
9580 notified when things are dropped into the entry view.
9582 * sources/rb-playlist-source.c: (rb_playlist_source_constructor),
9583 (rb_playlist_source_add_location_swapped),
9584 (rb_playlist_source_add_location), (rb_playlist_source_do_query),
9585 (rb_playlist_source_non_entry_dropped),
9586 (rb_playlist_source_row_inserted): Use the new signal so that dropping
9587 things onto a playlist's entry view work correctly, and doesn't cause
9588 crashes. Allow folders to be dropped as well. (Closes 318308)
9590 2005-10-16 James Livingston <jrl@ids.org.au>
9592 * NEWS: Update some more
9594 * shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor),
9595 (rb_shell_sync_paned), (paned_size_allocate_cb): Don't do funky things
9596 with the paned size, so that it doesn't move when the window is
9597 maximised/restored. Closes bug 315852.
9599 * sources/rb-iradio-source.c: (rb_iradio_source_constructor): Don't
9600 display the playcount column, as it's useless (it never get changed).
9602 2005-10-14 James Livingston <jrl@ids.org.au>
9606 * doc/reference/Makefile.am: get "make distcheck" to pass again
9608 2005-10-11 James Livingston <jrl@ids.org.au>
9610 * daapsharing/rb-daap-connection.c: (rb_daap_connection_new): Don't
9611 destroy the connection when retrieving the playlists fails, because
9612 tracks have already been added. Closes 318380.
9614 2005-10-11 James Livingston <jrl@ids.org.au>
9616 * sources/rb-sourcelist.c: (rb_sourcelist_append),
9617 (rb_sourcelist_remove), (name_notify_cb), (visibility_notify_cb),
9618 (source_name_edited_cb): Ask for the columns to be resized when a
9619 source is added, deleted or changes name.
9621 2005-10-11 James Livingston <jrl@ids.org.au>
9623 * rhythmdb/rhythmdb.c: (add_thread_main), (rhythmdb_add_uri): only
9624 create a thread when processing a directory. This stops up created one
9625 thread for each file in a playlist we're trying to load. Closes
9628 * widgets/rb-entry-view.c: (rb_entry_view_artist_sort_func): fix a
9629 typo that made sort-by-artist not work correctly.
9631 2005-10-11 James Livingston <jrl@ids.org.au>
9633 * doc/reference/Makefile.am: Make gtk-doc generation work when daap
9636 2005-10-11 James Livingston <jrl@ids.org.au>
9638 * lib/rb-file-helpers.c: (rb_canonicalise_uri):
9639 * lib/rb-file-helpers.h: add a function to turn uris into our
9640 canonical path-escaped form
9641 * shell/rb-playlist-manager.c: (handle_playlist_entry_cb): use the
9642 above function when import playlists. This will fix the problem of
9643 duplicate entries due to different representations of the uri (bug
9646 2005-10-11 James Livingston <jrl@ids.org.au>
9648 * shell/rb-shell.c: (rb_shell_get_visibility),
9649 (rb_shell_set_visibility), (rb_shell_window_delete_cb),
9650 (rb_shell_toggle_visibility), (rb_shell_set_visibility_impl): Fix
9651 window hiding so that Alt-F4 works again.
9653 * widgets/rb-entry-view.c: (rb_entry_view_album_sort_func),
9654 (rb_entry_view_artist_sort_func), (rb_entry_view_genre_sort_func),
9655 (rb_entry_view_string_sort_func): Stop some crashes where a string
9656 property was set to NULL.
9658 2005-10-10 James Livingston <jrl@ids.org.au>
9660 * doc/reference/rhythmbox.types: fix gtk-doc generation
9662 2005-10-09 James Livingston <jrl@ids.org.au>
9664 * sources/rb-sourcelist.c: (rb_sourcelist_init):
9665 * widgets/rb-entry-view.c: (rb_entry_view_append_column): Change a few
9666 accelerators, so that we don't have as many conflicting keys.
9668 2005-10-08 James Livingston <jrl@ids.org.au>
9670 * data/iradio-initial.pls: Update the list of radio stations. Thanks
9671 to Ali Akcaagac <aliakc@web.de> for collating a list to add. Closes
9674 2005-10-07 James Livingston <jrl@ids.org.au>
9676 * shell/rb-playlist-manager.c: (handle_playlist_entry_cb): escape
9677 local path names in the same way as every other URI. This should stop
9678 duplicates occurring due to different escapings. Closes bug 158211.
9680 2005-10-06 James Livingston <jrl@ids.org.au>
9682 * NEWS: more updates
9684 patch from Jaap Haitsma <jaap@haitsma.org>:
9688 * data/art/Makefile.am:
9689 - data/art/rhythmbox-paused.png:
9690 - data/art/rhythmbox-playback-error.png:
9691 - data/art/rhythmbox-playing.png:
9692 - data/art-clearlooks/:
9693 * lib/rb-file-helpers.c: (rb_file):
9694 * lib/rb-stock-icons.c: (rb_stock_icons_init):
9695 * lib/rb-stock-icons.h:
9696 * shell/rb-shell-player.c: (rb_shell_player_sync_buttons):
9697 * widgets/rb-cell-renderer-pixbuf.c:
9698 (rb_cell_renderer_pixbuf_render):
9699 * widgets/rb-entry-view.c: (rb_entry_view_init),
9700 (rb_entry_view_set_playing):
9701 * widgets/rb-rating-helper.c: (rb_rating_render_stars): use more
9702 stock icons instead of custom art. Drop remanents of art-clearlooks.
9704 2005-10-04 Pawan Chitrakar <pchitrakar@gmail.com>
9706 * configure.ac: Added ne in ALL_LINGUAS
9708 2005-10-02 James Livingston <jrl@ids.org.au>
9710 * data/glade/Makefile.am: actually install the daap prefs glade file
9712 2005-09-30 James Livingston <jrl@ids.org.au>
9714 * po/POTFILES.in: mremove rb-string-helper.c from the list of
9715 translatable files, so that make check works and we don't annoy the
9718 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_entry_new): do a bit of
9719 sanity checking, in case a db entry is missing some properties.
9721 2005-09-29 James Livingston <jrl@ids.org.au>
9723 - lib/rb-string-helpers.c:
9724 - lib/rb-string-helpers.h:
9726 * rhythmdb/rhythmdb-tree.c:
9727 * rhythmdb/rhythmdb.c:
9728 * shell/main.c: (main):
9730 * widgets/rb-entry-view.c:
9731 * widgets/rb-property-view.c: remove rb-string-helpers, as they
9732 utility functions haven't been used in a while.
9734 2005-09-27 James Livingston <jrl@ids.org.au>
9736 * data/art-clearlooks/Makefile.am:
9737 - data/art-clearlooks/rhythmbox-album.png:
9738 - data/art-clearlooks/rhythmbox-audiocd.png:
9739 - data/art-clearlooks/rhythmbox-automatic-playlist.png:
9740 - data/art-clearlooks/rhythmbox-dnd.png:
9741 - data/art-clearlooks/rhythmbox-ipod.png:
9742 - data/art-clearlooks/rhythmbox-iradio.png:
9743 - data/art-clearlooks/rhythmbox-library.png:
9744 - data/art-clearlooks/rhythmbox-next.png:
9745 - data/art-clearlooks/rhythmbox-pause.png:
9746 - data/art-clearlooks/rhythmbox-play.png:
9747 - data/art-clearlooks/rhythmbox-playlist-menu.png:
9748 - data/art-clearlooks/rhythmbox-playlist.png:
9749 - data/art-clearlooks/rhythmbox-previous.png:
9750 - data/art-clearlooks/rhythmbox-repeat.png:
9751 - data/art-clearlooks/rhythmbox-rewind.png:
9752 - data/art-clearlooks/rhythmbox-shuffle.png:
9753 - data/art-clearlooks/rhythmbox-stop.png:
9754 - data/art-clearlooks/rhythmbox-visuals.png:
9755 - data/art-clearlooks/rhythmbox-volume-max.png:
9756 - data/art-clearlooks/rhythmbox-volume-medium.png:
9757 - data/art-clearlooks/rhythmbox-volume-min.png:
9758 - data/art-clearlooks/rhythmbox-volume-mute.png:
9759 - data/art-clearlooks/rhythmbox-volume-zero.png:
9760 * data/art/Makefile.am:
9761 - data/art/rhythmbox-album.png:
9762 - data/art/rhythmbox-audiocd.png:
9763 - data/art/rhythmbox-automatic-playlist.png:
9764 - data/art/rhythmbox-dnd.png:
9765 - data/art/rhythmbox-ipod.png:
9766 - data/art/rhythmbox-iradio.png:
9767 - data/art/rhythmbox-library.png:
9768 - data/art/rhythmbox-next.png:
9769 - data/art/rhythmbox-pause.png:
9770 - data/art/rhythmbox-play.png:
9771 - data/art/rhythmbox-playlist-menu.png:
9772 - data/art/rhythmbox-playlist.png:
9773 - data/art/rhythmbox-previous.png:
9774 - data/art/rhythmbox-repeat.png:
9775 - data/art/rhythmbox-rewind.png:
9776 - data/art/rhythmbox-shuffle.png:
9777 - data/art/rhythmbox-stop.png:
9778 - data/art/rhythmbox-visuals.png:
9779 - data/art/rhythmbox-volume-max.png:
9780 - data/art/rhythmbox-volume-medium.png:
9781 - data/art/rhythmbox-volume-min.png:
9782 - data/art/rhythmbox-volume-mute.png:
9783 - data/art/rhythmbox-volume-zero.png:
9784 * lib/rb-stock-icons.c: (rb_stock_icons_init):
9785 * lib/rb-stock-icons.h:
9786 * shell/rb-playlist-manager.c:
9787 * shell/rb-shell-player.c:
9788 * sources/rb-daap-source.c: (rb_daap_get_icon):
9789 * sources/rb-ipod-source.c:
9790 * sources/rb-iradio-source.c: (rb_iradio_source_init):
9791 * sources/rb-library-source.c: (rb_library_source_new):
9792 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
9793 * sources/rb-removable-media-source.c: (impl_get_pixbuf): Remove art
9794 that hasn't been used in a LONG time, and also remove art that are
9797 2005-09-27 James Livingston <jrl@ids.org.au>
9799 * README: point to the gnome.org web sites, and update the example
9800 gstreamer pipeline to a plybin/decodebin based one. Closes bug 317108
9802 * rhythmdb/rhythmdb-query-model.c:
9803 (rhythmdb_query_model_set_property),
9804 (rhythmdb_query_model_get_property),
9805 (rhythmdb_query_model_finalize):
9806 * rhythmdb/rhythmdb.c: (rhythmdb_query_internal),
9807 (rhythmdb_entry_set_visibility), (rhythmdb_query_preprocess):
9808 * rhythmdb/rhythmdb.h:
9809 * sources/rb-iradio-source.c: (impl_search):
9810 * sources/rb-library-source.c: (impl_search): Add query
9811 "preprocessing", which performs operations such as casefolding any
9812 strings that will be compared to any of the *_FOLDED properties.
9815 2005-09-27 James Livingston <jrl@ids.org.au>
9817 * data/glade/daap-prefs.glade:
9818 * shell/rb-shell-preferences.c: (add_daap_preferences): use a glade
9819 file for the daap preferences pane
9821 * sources/rb-sourcelist.c: (rb_sourcelist_init),
9822 (rb_sourcelist_append), (rb_sourcelist_remove),
9823 (visibility_notify_cb), (rb_sourcelist_update_expander_visibility):
9824 don't display the column for source expanders unless there is an
9827 2005-09-24 Raphael Slinckx <rslinckx@cvs.gnome.org>
9834 * doc/reference/.cvsignore:
9835 * doc/reference/Makefile.am:
9836 * doc/reference/rhythmbox-docs.sgml:
9837 * doc/reference/rhythmbox-sections.txt:
9838 * doc/reference/rhythmbox.types:
9839 * doc/reference/tmpl/bacon-volume.sgml:
9840 * doc/reference/tmpl/disclosure-widget.sgml:
9841 * doc/reference/tmpl/eel-gconf-extensions.sgml:
9842 * doc/reference/tmpl/eggnotificationbubble.sgml:
9843 * doc/reference/tmpl/eggtrayicon.sgml:
9844 * doc/reference/tmpl/gsequence.sgml:
9845 * doc/reference/tmpl/rb-cell-renderer-pixbuf.sgml:
9846 * doc/reference/tmpl/rb-cell-renderer-rating.sgml:
9847 * doc/reference/tmpl/rb-daap-connection.sgml:
9848 * doc/reference/tmpl/rb-daap-dialog.sgml:
9849 * doc/reference/tmpl/rb-daap-mdns.sgml:
9850 * doc/reference/tmpl/rb-daap-share.sgml:
9851 * doc/reference/tmpl/rb-daap-sharing.sgml:
9852 * doc/reference/tmpl/rb-daap-source.sgml:
9853 * doc/reference/tmpl/rb-daap-src.sgml:
9854 * doc/reference/tmpl/rb-daap-structure.sgml:
9855 * doc/reference/tmpl/rb-debug.sgml:
9856 * doc/reference/tmpl/rb-dialog.sgml:
9857 * doc/reference/tmpl/rb-druid.sgml:
9858 * doc/reference/tmpl/rb-entry-view.sgml:
9859 * doc/reference/tmpl/rb-enums.sgml:
9860 * doc/reference/tmpl/rb-file-helpers.sgml:
9861 * doc/reference/tmpl/rb-glade-helpers.sgml:
9862 * doc/reference/tmpl/rb-header.sgml:
9863 * doc/reference/tmpl/rb-history.sgml:
9864 * doc/reference/tmpl/rb-ipod-source.sgml:
9865 * doc/reference/tmpl/rb-iradio-source.sgml:
9866 * doc/reference/tmpl/rb-library-source.sgml:
9867 * doc/reference/tmpl/rb-load-failure-dialog.sgml:
9868 * doc/reference/tmpl/rb-metadata.sgml:
9869 * doc/reference/tmpl/rb-new-station-dialog.sgml:
9870 * doc/reference/tmpl/rb-play-order-linear-loop.sgml:
9871 * doc/reference/tmpl/rb-play-order-linear.sgml:
9872 * doc/reference/tmpl/rb-play-order-random-by-age-and-rating.sgml:
9873 * doc/reference/tmpl/rb-play-order-random-by-age.sgml:
9874 * doc/reference/tmpl/rb-play-order-random-by-rating.sgml:
9875 * doc/reference/tmpl/rb-play-order-random-equal-weights.sgml:
9876 * doc/reference/tmpl/rb-play-order-random.sgml:
9877 * doc/reference/tmpl/rb-play-order-shuffle.sgml:
9878 * doc/reference/tmpl/rb-play-order.sgml:
9879 * doc/reference/tmpl/rb-player.sgml:
9880 * doc/reference/tmpl/rb-playlist-manager.sgml:
9881 * doc/reference/tmpl/rb-playlist-source-recorder.sgml:
9882 * doc/reference/tmpl/rb-playlist-source.sgml:
9883 * doc/reference/tmpl/rb-preferences.sgml:
9884 * doc/reference/tmpl/rb-property-view.sgml:
9885 * doc/reference/tmpl/rb-query-creator-private.sgml:
9886 * doc/reference/tmpl/rb-query-creator.sgml:
9887 * doc/reference/tmpl/rb-rating-helper.sgml:
9888 * doc/reference/tmpl/rb-rating.sgml:
9889 * doc/reference/tmpl/rb-recorder.sgml:
9890 * doc/reference/tmpl/rb-refstring.sgml:
9891 * doc/reference/tmpl/rb-removable-media-manager.sgml:
9892 * doc/reference/tmpl/rb-removable-media-source.sgml:
9893 * doc/reference/tmpl/rb-search-entry.sgml:
9894 * doc/reference/tmpl/rb-shell-clipboard.sgml:
9895 * doc/reference/tmpl/rb-shell-glue.sgml:
9896 * doc/reference/tmpl/rb-shell-player-glue.sgml:
9897 * doc/reference/tmpl/rb-shell-player.sgml:
9898 * doc/reference/tmpl/rb-shell-preferences.sgml:
9899 * doc/reference/tmpl/rb-shell.sgml:
9900 * doc/reference/tmpl/rb-song-display-box.sgml:
9901 * doc/reference/tmpl/rb-song-info.sgml:
9902 * doc/reference/tmpl/rb-source-header.sgml:
9903 * doc/reference/tmpl/rb-source.sgml:
9904 * doc/reference/tmpl/rb-sourcelist-model.sgml:
9905 * doc/reference/tmpl/rb-sourcelist.sgml:
9906 * doc/reference/tmpl/rb-station-properties-dialog.sgml:
9907 * doc/reference/tmpl/rb-statusbar.sgml:
9908 * doc/reference/tmpl/rb-stock-icons.sgml:
9909 * doc/reference/tmpl/rb-string-helpers.sgml:
9910 * doc/reference/tmpl/rb-thread.sgml:
9911 * doc/reference/tmpl/rb-tray-icon.sgml:
9912 * doc/reference/tmpl/rb-tree-dnd.sgml:
9913 * doc/reference/tmpl/rb-tree-model-sort.sgml:
9914 * doc/reference/tmpl/rb-util.sgml:
9915 * doc/reference/tmpl/rhythmdb-property-model.sgml:
9916 * doc/reference/tmpl/rhythmdb-query-model.sgml:
9917 * doc/reference/tmpl/rhythmdb-tree.sgml:
9918 * doc/reference/tmpl/rhythmdb.sgml:
9919 * macros/.cvsignore:
9920 * shell/Makefile.am:
9921 * sources/rb-source.c: (rb_source_class_init), (rb_source_init),
9922 (rb_source_finalize), (rb_source_set_property),
9923 (rb_source_get_property), (default_get_pixbuf),
9924 (_rb_source_show_popup):
9925 * sources/rb-source.h:
9926 Add support for gtk-doc in rhythmbox.
9927 Convert RBSource to use newer glib functions, such as add_private.
9928 Gives RBSource a default get_pixbuf implementation.
9930 2005-09-25 James Livingston <jrl@ids.org.au>
9932 * NEWS: Update with about a months worth of changes
9934 * data/glade/song-info-multiple.glade:
9935 * data/glade/song-info.glade:
9936 * data/rhythmbox.schemas:
9937 * lib/rb-preferences.h:
9938 * rhythmdb/rhythmdb.h:
9939 * shell/rb-shell-player.c:
9940 * widgets/rb-song-info.c: (rb_song_info_constructor): remove the last
9941 few remaining parts of autorating.
9943 2005-09-24 James Livingston <jrl@ids.org.au>
9945 * shell/rb-shell.c: (rb_shell_constructor),
9946 (rb_shell_window_state_cb), (rb_shell_set_visibility),
9947 (rb_shell_window_configure_cb): store window state in the gconf keys,
9948 so that it gets used. Closes bugs 313893 and 137068.
9950 2005-09-20 James Livingston <jrl@ids.org.au>
9952 * rhythmdb/rhythmdb-tree.c: (evaluate_conjunctive_subquery): don't
9953 crash if the entry has a NULL string in a property
9955 * shell/rb-removable-media-manager.c:
9956 (rb_removable_media_manager_load_media): fix some memory leaks
9958 (rb_removable_media_manager_mount_volume),
9959 (rb_removable_media_manager_eject_medium_cb),
9960 (rb_removable_media_manager_cmd_eject_medium): use
9961 gnome_vfs_volume_ref/unref instead of g_object_ref/unref
9963 * sources/rb-removable-media-source.c:
9964 (rb_removable_media_source_set_property),
9965 (rb_removable_media_source_get_property): use
9966 gnome_vfs_volume_ref/unref instead of g_object_ref/unref
9968 2005-09-18 James Livingston <jrl@ids.org.au>
9970 Patch from Ernst Persson <ernstp@gmail.com> to add a "date added"
9973 * data/glade/general-prefs.glade:
9974 * shell/rb-shell-preferences.c: (rb_shell_preferences_init),
9975 (rb_shell_preferences_column_check_changed_cb),
9976 (rb_shell_preferences_sync): add checkbox to control visibility
9980 * rhythmdb/rhythmdb-tree.c: (rhythmdb_tree_parser_end_element),
9982 * rhythmdb/rhythmdb.c: (rhythmdb_entry_sync_mirrored),
9983 (rhythmdb_prop_get_type):
9984 * rhythmdb/rhythmdb.h: add string version of "first seen", in the same
9985 was as "last played" is handled
9987 * sources/rb-library-source.c: (rb_library_source_constructor):
9988 * sources/rb-playlist-source.c: (rb_playlist_source_constructor):
9989 Make the column show in the library and playlists
9991 * widgets/rb-entry-view.c: (rb_entry_view_append_column):
9992 * widgets/rb-entry-view.h: add the column
9994 * widgets/rb-query-creator-properties.c: allow automatic playlists to
9995 be sorted by the column
9997 2005-09-16 James Livingston <jrl@ids.org.au>
9999 * shell/rb-shell-player.c: (rb_shell_player_init),
10000 (rb_shell_player_do_previous_or_seek),
10001 (rb_shell_player_previous_button_cb),
10002 (rb_shell_player_next_button_cb), (rb_shell_player_cmd_previous),
10003 (rb_shell_player_playpause_button_cb): Make the previous button act
10004 the same as the menu item. Fix an inversion of the "previous track or
10007 Patch from Jonathan Matthew <jonathan@kaolin.hn.org>
10009 (rb_shell_player_playpause): make --play-pause stop source that can't
10012 2005-09-15 James Livingston <jrl@ids.org.au>
10014 * configure.ac: increase totem-plparser requirements to 1.1.5
10016 * shell/rb-playlist-manager.c: (playlist_load_start_cb),
10017 (playlist_load_end_cb), (rb_playlist_manager_parse_file):
10018 * sources/rb-playlist-source.c: (rb_playlist_source_save_playlist):
10019 use the newer playlist APIs to save the name of the playlist, and use
10020 the name of a loaded playlist.
10024 2005-09-15 James Livingston <jrl@ids.org.au>
10026 Patch from Jonathan Matthew <jonathan@kaolin.hn.org>
10028 * shell/Makefile.am: stop some linker warnings
10030 * shell/main.c: (main): make --no-registration work with dbus
10032 2005-09-15 James Livingston <jrl@ids.org.au>
10034 * daapsharing/rb-daap-sharing.c: (create_share):
10035 * widgets/rb-entry-view.c: (rb_entry_view_constructor): Fix some
10036 reference sinking and counting issues that I caused.
10038 2005-09-15 James Livingston <jrl@ids.org.au>
10040 * widgets/rb-entry-view.c: (rb_entry_view_constructor): Put the "now
10041 playing" icon in the "now playing" column header.
10043 2005-09-14 James Livingston <jrl@ids.org.au>
10045 * daapsharing/rb-daap-mdns.c: (browse_cb): fix crasher if browsering
10046 daap shares, when sharing is turned off.
10048 2005-09-12 Bastien Nocera <hadess@hadess.net>
10050 * sources/rb-daap-source.c: (rb_daap_sources_init): Check
10051 the GConf value's default, especially for badly installed schema
10054 2005-09-12 James Livingston <jrl@ids.org.au>
10056 * daapsharing/rb-daap-mdns.c: (resolve_cb): fix compilation with Howl
10058 Patch from Paolo Borelli <pborelli@katamail.com>
10060 * shell/rb-shell.c: (rb_shell_window_state_cb): hide the statusbar
10061 grip when maximised. Closes bug 316055.
10063 2005-09-11 James Livingston <jrl@ids.org.au>
10065 Patch from William Jon McCann <mccann@jhu.edu>
10067 * shell/rb-statusbar.[ch]: Use G_DEFINE_TYPE. Make a
10068 subclass of GtkStatusbar instead of GtkHBox.
10069 (rb_statusbar_construct): Don't set border width.
10070 (rb_statusbar_init): Use resize grip. Don't use
10072 (set_statusbar_tooltip, unset_statusbar_tooltip)
10073 (rb_statusbar_connect_action_group, rb_statusbar_set_property):
10074 Connect tooltips for actions.
10075 (rb_statusbar_sync_status): Push new message to statusbar.
10076 (rb_statusbar_set_progress): Don't use markup.
10077 (rb_statusbar_entry_view_changed_cb): Don't set syncing_state
10078 flag here since it prevents actually showing or hiding.
10079 (rb_statusbar_sync_with_source): Push new message to statusbar.
10081 2005-09-11 Charles Schmidt <cschmidt2@emich.edu>
10083 * daapsharing/rb-daap-structure.c:
10084 (rb_daap_structure_parse_container_buffer: Forgot to remove comments
10085 around debugging definition.
10087 2005-09-11 Charles Schmidt <cschmidt2@emich.edu>
10089 * daapsharing/rb-daap-structure.c:
10090 (rb_daap_structure_parse_container_buffer): Read the patch from daap
10093 * daapsharing/rb-daap-mdns.c/h:
10094 (resolve_cb): Updated mDNS resolve callback to send service-name &
10095 name (read from Machine Name in the TXT data or equal to service-name
10098 * daapsharing/rb-daap-source.c:
10099 (rb_daap_source_class_init), (rb_daap_source_set_property),
10100 (rb_daap_source_get_property), (rb_daap_source_new),
10101 (find_source_by_service_name), (resolve_cb), (browse_cb),
10102 (stop_resolver), (start_browsing), (stop_browsing),
10103 (enable_browsing_changed_cb): Switched 'real-name' for 'service-name'
10104 and added 'host' and 'port' gobject properties. Updated to use new
10105 mDNS resolve callback sending service-name & name arguments.
10107 2005-09-11 Charles Schmidt <cschmidt2@emich.edu>
10109 * daapsharing/rb-daap-mdns.c:
10110 (howl_strerror): New function to report errors from Howl
10111 (rb_daap_mdns_browse), (rb_daap_mdns_resolve),(rb_daap_mdns_publish),
10112 (get_sw_discovery), (get_avahi_client): Better error reporting from
10115 * sources/rb-daap-source.:
10116 (start_browsing), (stop_browsing): Fixed a bug where browsing would
10117 not get started or stopped in some situations.
10119 2005-09-12 James Livingston <jrl@ids.org.au>
10121 * shell/rb-removable-media-manager.c: add a missing include, that
10122 would stop compilation if ipod support wasn't turned on
10124 2005-09-11 James Livingston <jrl@ids.org.au>
10126 * daapsharing/rb-daap-dialog.c: (encode_base64),
10127 (rb_daap_password_dialog_new_run),
10128 (rb_daap_collision_dialog_new_run): fix a translatable string, so that
10129 it is no broken in to two pieces, and remove a use of a goto
10131 * daapsharing/rb-daap-mdns.c: (mdns_error_dialog),
10132 (setup_sw_discovery), (rb_daap_mdns_resolve_cancel), (publish_cb),
10133 (rb_daap_mdns_publish), (rb_daap_mdns_publish_cancel), (client_cb),
10134 (get_avahi_client), (browse_cb), (rb_daap_mdns_browse),
10135 (rb_daap_mdns_browse_cancel), (resolve_cb), (entry_group_cb): fix a
10136 memory leaks, and some code style things.
10138 * daapsharing/rb-daap-share.c: (rb_daap_share_class_init),
10139 (rb_daap_share_init), (rb_daap_share_set_property),
10140 (rb_daap_share_dispose), (rb_daap_share_new),
10141 (rb_daap_share_get_property): make the DB and the playlist manager
10142 gobject properties.
10144 (message_add_standard_headers),
10145 (message_set_from_rb_daap_structure), (server_info_cb),
10146 (content_codes_cb), (login_cb), (update_cb), (databases_cb),
10147 (server_cb), (add_db_entry), (db_entry_added_cb),
10148 (db_entry_deleted_cb), (publish_cb), (rb_daap_share_start_publish),
10149 (rb_daap_share_stop_publish): Fix a couple of memory leaks, some code
10150 style and use CONF_PREFIX in the gconf keys
10152 * daapsharing/rb-daap-sharing.c: (create_share),
10153 (enable_sharing_changed_cb), (share_name_changed_cb),
10154 (rb_daap_sharing_init), (rb_daap_sharing_shutdown):
10155 * daapsharing/rb-daap-src.c: (rb_daap_src_class_init),
10156 (rb_daap_src_instance_init), (rb_daap_src_dispose),
10157 (rb_daap_src_uri_handler_init), (rb_daap_src_set_property),
10158 (rb_daap_src_get_property), (rb_daap_src_getcaps),
10159 (rb_daap_src_close_file), (rb_daap_src_srcpad_event),
10160 (rb_daap_src_init), (rb_daap_src_shutdown), (rb_daap_src_set_time),
10161 (rb_daap_src_get_time): Deal with gconf callbacks where the key
10162 hasn't actually changed, fix some memory leaks, code style and release
10163 gconf notifications when the object is destroyed.
10165 * sources/rb-daap-source.c: (rhythmdb_entry_daap_type_new),
10166 (rb_daap_source_class_init), (rb_daap_source_init),
10167 (rb_daap_source_dispose), (rb_daap_source_set_property),
10168 (rb_daap_source_get_property), (rb_daap_source_new),
10169 (find_source_by_name), (resolve_cb), (browse_cb), (stop_resolver),
10170 (start_browsing), (stop_browsing), (enable_browsing_changed_cb),
10171 (rb_daap_sources_init), (rb_daap_sources_shutdown),
10172 (rb_daap_source_activate), (rb_daap_source_disconnect),
10173 (rb_daap_source_show_popup), (rb_daap_source_find_for_uri),
10174 (rb_daap_source_get_headers): use CONF_PREFIX in the gconf keys,
10175 release gconf notifications, handle gconf callbacks where the key
10176 hasn't changed, make "real name" and "password protected" gobject
10177 properties, fix some code style and fix a memory leak.
10179 2005-09-11 James Livingston <jrl@ids.org.au>
10181 Patch from Jonathan Matthew <jonathan@kaolin.hn.org>
10183 * shell/rb-playlist-manager.c:
10184 (rb_playlist_manager_save_playlists),
10185 (rb_playlist_manager_get_playlists): don't unref the sourcelist model
10186 when we aren't supposed to. (Closes bug 315886)
10188 2005-09-11 James Livingston <jrl@ids.org.au>
10190 * shell/rb-removable-media-manager.c:
10191 (rb_removable_media_manager_class_init),
10192 (rb_removable_media_manager_init),
10193 (rb_removable_media_manager_dispose),
10194 (rb_removable_media_manager_set_property),
10195 (rb_removable_media_manager_get_property),
10196 (rb_removable_media_manager_new),
10197 (rb_removable_media_manager_load_media),
10198 (rb_removable_media_manager_volume_mounted_cb),
10199 (rb_removable_media_manager_volume_unmounted_cb),
10200 (rb_removable_media_manager_mount_volume),
10201 (rb_removable_media_manager_unmount_volume),
10202 (rb_removable_media_manager_source_deleted_cb),
10203 (rb_removable_media_manager_append_media_source),
10204 (rb_removable_media_manager_set_uimanager),
10205 (rb_removable_media_manager_eject_medium_cb),
10206 (rb_removable_media_manager_cmd_eject_medium):
10207 * shell/rb-removable-media-manager.h:
10208 * sources/rb-removable-media-source.c:
10209 (rb_removable_media_source_class_init),
10210 (rb_removable_media_source_init),
10211 (rb_removable_media_source_dispose),
10212 (rb_removable_media_source_set_property),
10213 (rb_removable_media_source_get_property), (impl_get_pixbuf),
10214 (impl_delete_thyself):
10215 * sources/rb-removable-media-source.h: Add the four files that I
10216 somehow managed not to add to cvs in the last commit. Oops.
10218 2005-09-11 James Livingston <jrl@ids.org.au>
10220 * shell/Makefile.am: Add rb-removable-media-manager.{c,h}
10221 * sources/Makefile.am: Add rb-removable-media-source.{c,h}
10223 * shell/rb-shell.c: (rb_shell_finalize), (rb_shell_constructor),
10224 (rb_shell_medium_added_cb), (rb_shell_select_source): create the
10225 removable-media-manager on startup, and handle creation of sources.
10227 * sources/rb-ipod-source.h:
10228 * sources/rb-ipod-source.c: (rb_ipod_source_class_init),
10229 (rb_ipod_source_init), (rb_ipod_source_constructor),
10230 (rb_ipod_source_dispose), (rb_ipod_source_new),
10231 (load_ipod_db_idle_cb), (rb_ipod_load_songs), (impl_show_popup): Port
10232 the iPod source over to the removable media framework.
10234 * sources/rb-library-source.c: (paned_size_allocate_cb),
10235 (rb_library_source_get_paned_key): fix a potential bug is a
10236 library-derived source doesn't have a paned-key
10238 2005-09-11 Bastien Nocera <hadess@hadess.net>
10240 * daapsharing/rb-daap-share.c: (add_entry_to_mlcl): default to
10241 mp3 when we can't get the suffix of a file (Closes: #315941)
10243 2005-09-10 James Livingston <jrl@ids.org.au>
10245 * configure.ac: fix the mdns tests, so that it doesn't complain about
10246 not finding one, if daap support isn't being compiled in
10248 2005-09-10 Charles Schmidt <cschmidt2@emich.edu>
10250 * configure.ac: Updated to require avahi >= 0.5. Small fixes.
10252 * daapsharing/rb-daap-dialog.c:
10253 (rb_daap_password_dialog_new_run), (rb_daap_collision_dialog_new_run):
10254 HIG compliancy & images.
10256 * daapsharing/rb-daap-mdns.c:
10257 (browse_cb), (resolve_cb): Better detection of local services.
10258 Requries avahi 0.5. Still doesn't work quite right with Howl, due to
10259 Howl's limitations. Fix the way collision handling is done under
10262 * daapsharing/rb-daap-share.c:
10263 (publish_cb): Better name collision handling (at least for Avahi).
10265 2005-09-10 James Livingston <jrl@ids.org.au>
10267 * shell/rb-shell-preferences.c: (add_daap_preferences): Patch from
10268 Dennis Cranston <dennis_cranston@yahoo.com> to make the DAAP
10269 preferences more HIG compliant (Closes #315889)
10271 * po/POTFILES.in: add widgets/rb-query-creator-properties.c to the
10272 list of files to be translated
10274 2005-09-10 James Livingston <jrl@ids.org.au>
10276 * configure.ac: fix it so that --enable-daap=no works
10277 * lib/rb-file-helpers.c: (rb_file): allow use of new art when running
10280 2005-09-10 James Livingston <jrl@ids.org.au>
10282 Patch from Christophe Fergeau <teuf@gnome.org>
10284 * sources/rb-ipod-source.c: (rb_ipod_unload_songs): fix a crasher in
10287 2005-09-09 Charles Schmidt <cschmidt2@emich.edu>
10288 * README.daap: Updating documentation
10290 2005-09-09 Charles Schmidt <cschmidt2@emich.edu>
10291 * AUTHORS: Added myself.
10293 * daapsharing/rb-daap-connection.c:
10294 (connection_login), (rb_connection_new): Reorganized password
10297 * po/POTFILES.in: Added daapsharing/rb-daap-dialog.c
10299 * shell/rb-shell.c:
10300 (rb_shell_cmd_disconnect_source): Fixed disconnecting from sources.
10302 * sources/rb-daap-source.c:
10303 (rb_daap_source_activate): Better error handling when we are unable to
10306 2005-09-09 Charles Schmidt <cschmidt2@emich.edu>
10307 * README.daap: Fixed some terminology.
10309 * configure.ac: Better automatic detection of mDNS/DNS-SD library.
10310 New --with-mdns=auto|howl|avahi flag to specify.
10312 * daapsharing/rb-daap-dialog.c/h: New files to handle password &
10313 name collision dialogs.
10315 * daapsharing/rb-daap-connection.c:
10316 (connection_get_password), (build_message), (http_get)
10317 (connection_login): Ask for & use a password if the share demands it.
10319 * daapsharing/rb-daap-connection.h: Changed prototype of
10320 rb_daap_connection_new.
10322 * daapsharing/rb-daap-mdns.c:
10323 (resolve_cb): Better detection of your own music share so it doesn't
10324 appear in the sourcelist.
10326 * daapsharing/rb-daap-share.c:
10327 (rb_daap_share_start_publish): Attempt to start on port 3689, failing
10328 that start on any available port.
10330 * daapsharing/rhythmbox.schemas: Schemas for music shares' UI state.
10332 * sources/rb-daap-source.c:
10333 (find_source_by_name), (rb_daap_source_new), (resolve_cb),
10334 (browse_cb): Handle passworded shares. Resolve the host immediately
10335 instead of when activated.
10336 (rb_daap_source_get_browser_key), (rb_daap_source_get_paned_key),
10337 (rb_daap_source_new): New GConf keys for UI state.
10338 (rb_daap_source_activate): Use RBPlaylistSource instead of
10339 RBDAAPPlaylistSource
10341 * sources/rb-daap-playlist-source.c/h: Removed
10343 * sources/rb-playlist-source.c/h: Added 'is-local' property, TRUE
10344 if the playlist is local (i.e. not DAAP or iPod).
10346 * shell/rb-playlist-manager.c:
10347 (rb_playlist_manager_save_playlists): Fixed a bug where the playlists
10348 wouldn't get saved if the last playlist hadn't changed. Only save
10351 2005-09-09 James Livingston <jrl@ids.org.au>
10353 * sources/rb-ipod-source.c: (rb_ipod_source_class_init): remove the
10354 iPod preferences pane, as it already uses the browser views as the
10357 2005-09-09 James Livingston <jrl@ids.org.au>
10359 * sources/rb-library-source.c: (rb_library_source_finalize),
10360 (rb_library_source_constructor): fix gconf monitoring of library
10362 * sources/rb-library-source.h: remove declaration of function that
10365 2005-09-08 Charles Schmidt <cschmidt2@emich.edu>
10367 * player/rb-player-gst.c:
10368 (rb_player_set_time): Fix seeking in daap streams.
10370 2005-09-08 Charles Schmidt <cschmidt2@emich.edu>
10372 * data/rhythmbox.schemas: Turn music share browsing on by default.
10374 2005-09-07 James Livingston <jrl@ids.org.au>
10376 * configure.ac: include daapsharing/Makefile in AC_OUTPUT
10378 2005-09-06 Charles Schmidt <cschmidt2@emich.edu>
10379 * player/rb-player-gst.c:
10380 (rb_player_get_time): Fix for extra << & == that accidentally made
10383 * player/Makefile.am: -Idaapsharing so we can include rb-daap-src.h
10385 2005-09-06 Charles Schmidt <cschmidt2@emich.edu>
10386 * configure.ac: Fix for extra <<<<<<< & ======= that accidentally made
10387 it in last time. Sorry.
10389 2005-09-06 Charles Schmidt <cschmidt2@emich.edu>
10391 * player/rb-player-gst.c:
10392 (rb_player_get_time): Fix a small crash appearing when
10393 the uri isn't set in the player, but rb_player_get_time() is
10396 * configure.ac: Also check for libsoup 2.4, which is what ships with
10399 * po/POTFILES.in: Added music sharing files that have translatable
10402 * README.daap: New file explaining "How Music Sharing Works"
10404 2005-09-06 Bastien Nocera <hadess@hadess.net>
10406 * daapsharing/.cvsignore: added
10408 2005-09-06 Charles Schmidt <cschmidt2@emich.edu>
10410 * daapsharing/*: Music sharing library.
10412 * sources/rb-daap-source.c/h: Music share RBSource.
10413 * sources/rb-daap-playlist-source.c/h: Music share playlist RBSource.
10415 * configure.ac: --enable-daap flag to turn on music sharing. Requires
10416 libsoup and a mutlicast DNS implementation (howl or avahi).
10418 * data/rhythmbox.schemas: New GConf keys for music sharing.
10420 * data/ui/rhythmbox-ui.xml: New popup menu ui definition for daap
10421 source right click menu.
10423 * player/rb-player-gst.c: Changes to properly play & seek in remote
10426 * shell/rb-playlist-manager.c/h:
10427 (rb_playlist_manager_get_playlists): New function to get a GList * of
10429 (rb_playlist_manager_save_playlists): Don't save music share playlists
10430 and fixed a GObject reference leak.
10432 * shell/rb-shell.c/h:
10433 (rb_shell_append_source): No longer a local function. Now takes a
10434 parent RBSource * argument, NULL to append a toplevel source.
10435 (rb_shell_cmd_source_disconnect): New function to 'disconnect' a
10436 source (useful for disconnecting from remote music share,
10438 (rb_shell_quit): Stop music sharing/browsing.
10439 (rb_shell_playlist_added_cb): Work with tree source structure.
10440 (rb_shell_get_property): "playlist-manager" property accessor.
10441 (rb_shell_class_init): New "playlist-manager" property.
10442 (rb_shell_construor): Append sources as toplevel sources. Initialize
10443 daap sharing/browsing.
10444 (rb_shell_select_source): Notify source of activation/deactivation.
10446 * shell/rb-shell-prefernces.c: Music sharing preferences.
10448 * sources/rb-source.c/h: New activate, deactivate and disconnect
10449 class functions. Activate & deactivate are notification style
10450 functions that will tell a source when it is selected/unselected.
10451 Disconnect can be hooked up to a UI object to disconnect the source.
10453 * sources/rb-sourcelist-model.c:
10454 * sources/rb-sourcelist.c/h: Sourcelist is now a tree structure.
10455 (rb_sourcelist_append): Takes a RBSource * parent arguement, NULL to
10456 append a toplevel source.
10458 2005-09-05 James Livingston <jrl@ids.org.au>
10460 * rhythmdb/rhythmdb-query-model.c:
10461 (rhythmdb_query_model_entry_changed_cb),
10462 (rhythmdb_query_model_do_reorder): Update the query model's totals if
10463 the duration of filesize of an entry changes. Emit the row-changed
10464 signals that I forgot to put back in, when I was doing query sorting.
10466 * rhythmdb/rhythmdb.c: (rhythmdb_compute_status_normal): Don't print
10467 out "0 minutes" or "0 bytes".
10469 2005-09-04 James Livingston <jrl@ids.org.au>
10471 * shell/rb-playlist-manager.c: (rb_playlist_manager_new_playlist):
10472 remove a leftover bit of the "internal-name" property of sources.
10474 2005-09-03 James Livingston <jrl@ids.org.au>
10476 * rhythmdb/rhythmdb-tree.c: (evaluate_conjunctive_subquery): remove
10477 extraneous debug message
10478 * sources/rb-library-source.c: (rb_library_source_do_query): fix a
10479 crasher would affect any library-derived sources (which was also a
10482 2005-09-02 Colin Walters <walters@verbum.org>
10484 * configure.ac: Fix sytnax error.
10486 * shell/rb-shell.c (tray_embedded_cb): Add some nonfunctional
10487 code to disable minimization icons - need to figure out
10488 why it doesn't work...
10490 2005-09-01 Dennis Cranston <dennis_cranston@yahoo.com>
10492 * data/glade/song-info-multiple.glade:
10493 * data/glade/song-info.glade:
10494 * widgets/rb-song-info.c: (rb_song_info_constructor):
10495 Add a mnemonic to the newly added "Automatically rate" label
10496 in the properties dialog and use a bold typeface like all the
10497 other labels in the dialog. (Closes bug 315089)
10499 2005-09-03 James Livingston <jrl@ids.org.au>
10501 * sources/rb-library-source.c: (rb_library_source_class_init),
10502 (rb_library_source_finalize), (rb_library_source_constructor),
10503 (rb_library_source_set_property), (rb_library_source_get_property),
10504 (impl_get_paned_key), (paned_size_allocate_cb),
10505 (rb_library_source_state_prefs_sync), (impl_show_popup),
10506 (rb_library_source_get_paned_key):
10507 * sources/rb-library-source.h: Allow sources derived from
10508 RBLibrarySource to use different gconf keys for sort order, browser
10509 visibility and browser pane position. Fix a crasher if a derived
10510 source overrides _get_pixbuf.
10512 2005-09-02 Colin Walters <walters@verbum.org>
10514 * shell/rb-shell.c (rb_shell_set_visibility): Move
10515 hint setting which seems to avoid races more.
10517 2005-09-03 James Livingston <jrl@ids.org.au>
10519 * shell/rb-shell.c: fix compilation with iPod support enabled
10521 2005-09-02 Colin Walters <walters@verbum.org>
10523 * shell/rb-shell.c (struct RBShellPrivate): Add
10524 idle_hide_mainwindow_id.
10525 (rb_shell_constructor): Move taskbar skipping hint into
10526 rb_shell_set_visibility.
10527 (idle_hide_mainwindow): New function.
10528 (rb_shell_set_visibility): Taskbar hinting moved here; add evil
10529 racy hack to avoid rb appearing in taskbar when minimized.
10531 2005-09-01 Colin Walters <walters@verbum.org>
10533 * widgets/eggtrayicon.h: Prototype egg_tray_icon_have_manager.
10535 * widgets/eggtrayicon.c (egg_tray_icon_have_manager): Steal
10536 from gtkstatusicion.c.
10538 * shell/rb-tray-icon.h: Prototype rb_tray_icon_get_geom.
10540 * shell/rb-tray-icon.c (rb_tray_icon_toggle_entries): Retitle
10541 TrayShowWindow entry.
10542 (rb_tray_icon_class_init): Make GtkActionGroup readable only.
10543 (rb_tray_icon_constructor): Create action group here.
10544 (rb_tray_icon_finalize): Destroy action group.
10545 (rb_tray_icon_set_property): Don't take an action group.
10546 (rb_tray_icon_new): Ditto.
10547 (tray_popup_position_menu): Some mostly boilerplate code
10549 (rb_tray_icon_button_press_event_cb): Position menu.
10550 (rb_tray_icon_get_geom): New function used for the shell
10551 to set minimization hints.
10553 * shell/rb-shell.h: Prototype rb_shell_toggle_visibility.
10555 * shell/rb-shell.c (rb_shell_actions): Add MusicClose.
10556 (struct RBShellPrivate): Change visible to iconified.
10557 (set_icon_geometry): New function from Søren Sandmann to
10558 tell Metacity where to draw the minimization animiation.
10559 (rb_shell_window_state_cb): Update iconified.
10560 (rb_shell_get_visibility): New function to say whether
10561 or not we're currently visible.
10562 (rb_shell_set_visibility): Update to minimize to
10563 tray or present as appropriate.
10564 (rb_shell_window_delete_cb): On window close, just
10565 minimize to tray if we're deleted.
10566 (rb_shell_set_window_title): Kill old notification code.
10567 (rb_shell_toggle_visibility): Nwe function.
10568 (rb_shell_cmd_toggle_visibility): Call it.
10569 (rb_shell_constructor): Skip the taskbar.
10570 (tray_destroy_cb): Better debugging.
10572 2005-09-01 Colin Walters <walters@verbum.org>
10574 * data/ui/rhythmbox-ui.xml: Add MusicClose.
10576 * configure.ac: Enable bonobo by default.
10578 2005-09-01 Colin Walters <walters@verbum.org>
10580 * configure.ac: Default to old art. Add macros subdir.
10582 * Makefile.am (SUBDIRS): Add macros.
10584 * macros/Makefile.am: New.
10586 2005-09-01 Colin Walters <walters@verbum.org>
10588 * shell/Makefile.am (EXTRA_DIST): Dist rb-shell.xml and
10589 rb-shell-player.xml.
10591 * remote/dbus/rb-remote-dbus.h: Deleted.
10593 * remote/dbus/Makefile.am: Delete all the junk, just dist
10594 rb-print-playing.py and rb-set-rating.py.
10596 * remote/Makefile.am (SUBDIRS): Always dist dbus and bonobo.
10598 * data/Makefile.am (EXTRA_DIST): Add service_in_files.
10600 2005-09-02 James Livingston <jrl@ids.org.au>
10602 - data/ui/rhythmbox-audiocd-view.xml.in: remove extremely obsolete
10605 * shell/rb-shell.c: (rb_shell_get_property), (rb_shell_finalize),
10606 (rb_shell_constructor): Patches from Jonathan Matthew
10607 <jonathan@kaolin.hn.org> to fix compilation without ipod support, and
10608 a crash when using "browse this artist".
10610 2005-08-31 Colin Walters <walters@verbum.org>
10612 * configure.ac: Add --with-old-art configure switch. Also
10613 add AC_CONFIG_MACRO_DIR in the hope to avoid autotools bustage,
10614 but it doesn't work.
10616 * widgets/rb-cell-renderer-pixbuf.c (rb_cell_renderer_pixbuf_render):
10617 Don't use eel_create_colorized_pixbuf for new art.
10618 * widgets/rb-rating-helper.c (rb_rating_render_stars): Ditto.
10620 * data/art-clearlooks: New artwork.
10622 2005-08-31 Colin Walters <walters@verbum.org>
10624 * shell/main.c (main): Fix Bastien's commit to continue to focus
10625 the window with GTK+ 2.8 at least.
10627 2005-08-31 Colin Walters <walters@verbum.org>
10629 * shell/rb-shell.c (rb_shell_load_uri): Handle the case where entry
10632 * shell/main.c (load_uri_args): Use gnome_vfs_make_uri_from_shell_arg.
10634 2005-08-31 Bastien Nocera <hadess@hadess.net>
10636 * README: remove mentions of the xine-lib backend
10637 * shell/main.c: (main): make it compilable with gtk+ < 2.8
10639 2005-08-30 Colin Walters <walters@verbum.org>
10641 * shell/rb-shell-preferences.c (rb_shell_preferences_append_view_page):
10642 Make non-visible sources insensitive.
10644 2005-08-30 Colin Walters <walters@verbum.org>
10646 * shell/rb-shell.c: Don't use GConf for selected source; it's
10647 confusing to have the selected source change after startup,
10648 and since we don't save other things it's not worth saving this.
10650 * sources/rb-playlist-source.c:
10651 * sources/rb-library-source.c:
10652 * sources/rb-iradio-source.c:
10653 * sources/rb-ipod-source.c: Delete internal-name property usage.
10654 * sources/rb-source.c: Delete internal-name property.
10656 * data/rhythmbox.schemas: Delete selected_source.
10658 2005-08-30 Colin Walters <walters@verbum.org>
10660 * sources/rb-sourcelist.c: Make playing source bold instead of
10661 displaying a pixbuf; it's much less ugly.
10663 2005-08-30 Colin Walters <walters@verbum.org>
10665 * sources/rb-source.c:
10666 * sources/rb-source.h: New virtual method try_playlist.
10668 * sources/rb-iradio-source.c (rb_iradio_source_class_init): Implement
10670 (rb_iradio_source_add_station): Remove validation; we do that elsewhere.
10671 (impl_handle_eos): Return RB_SOURCE_EOF_RETRY.
10672 (handle_playlist_entry_cb): Don't check for iradio uris, we don't
10674 (stations_view_drag_data_received_cb): Don't check for iradio uris;
10675 in theory we should though...
10677 * shell/rb-shell.c (known_sources): Delete; we just hardcode the
10678 list in rb_shell_construct now.
10679 (struct RBShellPrivate): Add RBLibrarySource, RBIRadioSource,
10681 (rb_shell_constructor): Create library, iradio, ipod here.
10682 (rb_shell_source_deleted_cb): Use source directly instead of
10683 indirecting through type.
10684 (rb_shell_sync_selected_source): Ditto.
10685 (rb_shell_jump_to_entry_with_source): Just use the source reutrned
10686 from the type instead of special-casing.
10687 (rb_shell_guess_type_for_uri)
10689 (handle_one_uri_with_possible_metadata): New functions.
10690 (rb_shell_load_uri): Refactor to allow loading playlists again,
10691 also use other URI infrastructure.
10693 * shell/rb-shell-player.c (eos_cb): Handle RB_SOURCE_EOF_RETRY.
10694 (rb_shell_player_error): Always set entry error on error, instead
10695 of depending on EOF behavior.
10697 * shell/rb-playlist-manager.c (handle_playlist_entry_cb): Refactor
10698 to just invoke rb_shell_add_uri.
10699 (rb_playlist_manager_parse_file): Return error instead of tossing
10700 up dialog box directly.
10701 (load_playlist_response_cb): Display error here.
10702 (add_uri_to_playlist): Delete.
10703 (handle_playlist_entry_into_playlist_cb): Renamed to
10704 handle_playlist_entry_cb.
10706 * shell/rb-playlist-manager.h: Add error, update prototype.
10708 * lib/rb-file-helpers.c:
10709 * lib/rb-file-helpers.h: Delete rb_uri_is_iradio.
10711 2005-08-29 Colin Walters <walters@verbum.org>
10713 * sources/rb-iradio-source.c (rb_iradio_source_add_station): Return
10714 if entry already exists. Use rhythmdb_entry_set_uninserted.
10716 * sources/rb-ipod-source.c (entry_set_string_prop): Avoid
10717 needlessly duping string, and use rhythmdb_entry_set_uninserted.
10718 (load_ipod_db_idle_cb): Use rhythmdb_entry_set_uninserted.
10720 * shell/rb-shell.h (enum RBShellError): Add some more errors.
10721 Prototype rb_shell_set_song_property.
10723 * shell/rb-shell.xml: Export setSongProperty.
10725 * shell/rb-shell.c (rb_shell_set_song_property): New function.
10726 (rb_shell_set_rating_impl): Call rhythmdb_entry_set instead of
10727 rhythmdb_entry_set_nonotify, and call rhythmdb_commit.
10729 * shell/rb-shell-player.c (rb_shell_player_set_entry_playback_error): Call
10730 rhythmdb_entry_set instead of rhythmdb_entry_set_nonotify, since we do
10731 want to notify of the change.
10732 (rb_shell_player_entry_changed_cb): Cast to RhythmDBEntryChange.
10734 * rhythmdb/rhythmdb.c (rhythmdb_process_queued_entry_set_event): Fix
10735 logic error; idle functions would be enqueued for each set.
10736 (rhythmdb_entry_set): Fix assertion logic error.
10738 * iradio/rb-new-station-dialog.c (rb_new_station_dialog_response_cb):
10739 Avoid needlessly duping strings, and use rhythmdb_entry_set_uninserted.
10740 Return if the entry already exists.
10742 2005-08-29 Colin Walters <walters@verbum.org>
10744 * rhythmdb/rhythmdb.h (struct RhythmDBEntry): Add
10745 "inserted" member which we use to keep track of
10746 whether or not an entry is in the DB. Prototype
10747 rhythmdb_entry_set_uninserted.
10749 * rhythmdb/rhythmdb.c (rhythmdb_commit_internal): Set inserted
10751 (rhythmdb_entry_insert): Assert entry is not already inserted.
10752 (rhythmdb_process_metadata_load): Update to call _set_uninserted
10753 just after creating entry.
10754 (rhythmdb_entry_set): Document, and fail on uninserted entries.
10755 (rhythmdb_entry_set_nonotify): Ditto.
10756 (rhythmdb_entry_set_uninserted): Document, and fail on inserted
10758 (rhythmdb_entry_set_internal): Change notify flag to
10759 notify_if_inserted. Also move notification after assertions.
10761 Update all existing callers of rhythmdb_entry_set_internal
10762 to give TRUE for notify_if_inserted; this should be what
10763 we want but may be an efficiency hit.
10765 2005-08-30 Raphael Slinckx <rslinckx@cvs.gnome.org>
10767 * shell/rb-shell-player.c: (rb_shell_player_init),
10768 (rb_shell_player_set_property), (rb_shell_player_entry_changed_cb),
10769 (rb_shell_player_set_playing_source_internal),
10770 (rb_shell_player_sync_with_selected_source): Notify the player when an
10771 entry has updated the title, album or artist field, and resync the big
10774 * sources/rb-iradio-source.c: (rb_iradio_source_class_init):
10775 * sources/rb-library-source.c: (rb_library_source_class_init),
10776 (impl_get_config_widget):
10777 * sources/rb-playlist-source.c: (rb_playlist_source_class_init):
10778 * sources/rb-source.c:
10779 * sources/rb-source.h: Removed unused have_artist_album, get_artist, and
10780 get_album functions in rb-source and adapted other sources accordingly.
10782 2005-08-29 Colin Walters <walters@verbum.org>
10784 * rhythmdb/rhythmdb.c (struct RhythmDBEvent): Add
10785 signal_change member.
10786 (threadsafe_entry_set): New function.
10787 (rhythmdb_entry_set): Just call threadsafe_entry_set with TRUE.
10788 (rhythmdb_entry_set_nonotify): New function; just call
10789 threadsafe_entry_set with FALSE.
10790 (rhythmdb_entry_set_internal): Take a notify flag; if true
10791 add the change to our pending set.
10793 Also update all internal callers of rhythmdb_entry_set_internal
10794 to pass FALSE. Some of these may be bugs however and need to
10797 * rhythmdb/rhythmdb.h: Rename rhythmdb_entry_sync to
10798 rhythmdb_entry_set, and rename rhythmdb_entry_set to
10799 rhythmdb_entry_set_nonotify.
10801 * rhythmdb/rhythmdb.h (enum RhythmDBProp)
10802 (rhythmdb_entry_get_boolean): Kill off RHYTHMDB_PROP_AUTO_RATE.
10804 * widgets/rb-song-info.c: Kill off vestiges of auto rating.
10806 * widgets/rb-entry-view.c (rb_entry_view_rated_cb):
10807 * sources/rb-source.c (rb_source_update_play_statistics):
10808 * sources/rb-iradio-source.c (rb_iradio_source_add_station):
10809 * sources/rb-ipod-source.c (entry_set_string_prop)
10810 (load_ipod_db_idle_cb):
10811 * shell/rb-shell.c (rb_shell_set_rating_impl):
10812 * shell/rb-shell-player.c (rb_shell_player_set_entry_playback_error)
10813 (info_available_cb):
10814 * iradio/rb-station-properties-dialog.c (rb_station_properties_dialog_rated_cb)
10815 (rb_station_properties_dialog_sync_entries):
10816 * iradio/rb-new-station-dialog.c (rb_new_station_dialog_response_cb):
10818 Update callers of rhythmdb_entry_set to rhythmdb_entry_set_nonotify,
10819 and callers of rhythmdb_entry_sync to rhythmdb_entry_set.
10821 2005-08-29 Colin Walters <walters@verbum.org>
10823 * sources/Makefile.am (INCLUDES): Add HAL_CFLAGS unconditionally.
10825 * shell/Makefile.am (rhythmbox_LDADD): Add HAL_LIBS to avoid
10828 * widgets/rb-header.c (sanitize_string): New function, extracted
10829 from old info_url. Be sure to always strip the string.
10830 (info_url): Rewrite to take artist/album, and generate a sane
10831 URL for them from last.fm, which is better than allmusic.com in
10832 that they support Rhythmbox, and have a *SANE* URL scheme.
10833 (artist_info_url, album_info_url): Delete.
10834 (rb_header_sync): Use info_url.
10836 2005-08-29 James Livingston <jrl@ids.org.au>
10838 * sources/rb-source.c: (rb_source_search): Check to ensure that this
10839 is implemented before calling it. Many sources don't implement the
10842 2005-08-28 Dennis Cranston <dennis_cranston@yahoo.com>
10844 * data/glade/create-playlist.glade: Cleanup the layout,
10845 and add a few more mnemonics.
10846 * shell/rb-playlist-manager.c:
10847 (rb_playlist_manager_cmd_load_playlist),
10848 (rb_playlist_manager_cmd_save_playlist): HIG fix, use title
10849 capitalization for window titles.
10850 * widgets/rb-query-creator-properties.c: Add mnemonics
10851 to checkbutton labels.
10852 * widgets/rb-query-creator.c: (rb_query_creator_constructor),
10853 (limit_toggled_cb): Toggle the sortLabel sensitivity.
10855 2005-08-28 Colin Walters <walters@verbum.org>
10857 * data/rhythmbox.schemas: Delete search_text for library
10858 and iradio; this isn't a persistent value anymore.
10861 * sources/rb-source.h:
10862 * sources/rb-source.c: Delete impl_can_search.
10864 * sources/rb-iradio-source.c: Delete search_text usage.
10865 * sources/rb-library-source.c: Ditto.
10867 * shell/rb-source-header.c: Don't use GConf for search key. Reset
10868 search when source is set, and just do rb_source_search in
10869 rb_source_header_search_cb.
10871 * shell/rb-shell.c (rb_shell_append_source): Don't
10874 * shell/Makefile.am: Don't dist dashboard.c.
10876 2005-08-28 Colin Walters <walters@verbum.org>
10878 * shell/main.c: Remove include of dead file rb-remote-dbus.h.
10880 2005-08-28 Colin Walters <walters@verbum.org>
10882 * data/org.gnome.Rhythmbox.service.in: New.
10884 * data/Makefile.am: Install service file.
10886 * configure.ac: Define DBUS_SERVICES_DIR.
10888 * autogen.sh: Set ACLOCAL_FLAGS.
10890 * macros/acinclude.m4: New.
10892 2005-08-28 Colin Walters <walters@verbum.org>
10894 Initial patch from Jonathan Matthew; closes 313684.
10896 * rhythmdb/rhythmdb-tree.c:
10897 (RHYTHMDB_FWRITE, RHYTHMDB_FPUTC): Handle errors.
10898 (save_entry): Return on error.
10899 (rhythmdb_tree_save): Handle error when saving the
10900 db; additionally, handle errors from fclose and unlink,
10901 and print error too.
10903 2005-08-28 Colin Walters <walters@verbum.org>
10905 * sources/Makefile.am (libsourcesimpl_la_LIBADD): Fix
10908 2005-08-28 Colin Walters <walters@verbum.org>
10910 * configure.ac: Change iPod support to --with-ipod;
10911 automatically enable it if we have HAL. Try to
10912 support both HAL 0.5 and HAL 0.2. Break out
10913 totem-plparser into its own check so later we
10914 can do version tests there too.
10915 Kill dashboard support.
10917 * sources/rb-ipod-source.c: Merge in changes from Ronald Bultje
10918 to support HAL > 0.5, but preserve the old code for HAL < 0.5
10921 * shell/Makefile.am (rhythmbox_LDADD): Add TOTEM_PLPARSER_LIBS.
10922 (INCLUDES): Add TOTEM_PLPARSER_CFLAGS.
10924 * sources/Makefile.am: Also handle
10925 TOTEM_PLPARSER_LIBS/TOTEM_PLPARSER_CFLAGS.
10927 * shell/dashboard.c: Delete; someone should just write a little
10928 python shim which lists on the D-BUS interface and writes the
10929 stuff to Dashboard. Even better Dashboard should be ported
10930 to D-BUS and do the listening itself, perhaps on an abstract
10931 "org.gnome.MusicPlayer" interface or something.
10933 * shell/rb-shell.c: Kill dashboard support.
10935 2005-08-28 Colin Walters <walters@verbum.org>
10937 * remote/dbus/rb-print-playing.py: New file.
10939 2005-08-28 Colin Walters <walters@verbum.org>
10941 * rhythmdb/rhythmdb.c (rhythmdb_entry_get):
10942 * rhythmdb/rhythmdb.h: Make rhythmdb_entry_get public.
10944 * shell/rb-shell-player.h:
10945 * shell/rb-shell-player.c: Add playing-uri-changed signal.
10946 * shell/rb-shell-player.xml: Export it.
10948 * shell/rb-shell.c (rb_shell_get_song_properties): New function.
10949 (rb_shell_error_quark): New.
10951 * shell/rb-shell.h: Prototype. Also add RBShellError.
10952 * shell/rb-shell.xml: Export rb_shell_get_song_properties.
10954 2005-08-28 Colin Walters <walters@verbum.org>
10956 * remote/bonobo/rb-remote-bonobo.c (rb_bonobo_workaround_lock)
10957 (rb_bonobo_workaround_unlock): Renamed from bonobo_lock and
10959 (rb_remote_bonobo_preinit): Lock setting moved here.
10960 (rb_remote_bonobo_init): From here.
10962 * shell/main.c (main): Call rb_remote_bonobo_preinit very early.
10963 Also invoke handle_cmdline in the right place.
10964 (handle_cmdline): Remove some unused vars. Cast bonobo_load_uri to
10967 2005-08-28 James Livingston <jrl@ids.org.au>
10969 * NEWS: keep the NEWS file up to date, so we don't have to do it all
10970 when 0.9.1 comes around.
10972 2005-08-28 James Livingston <jrl@ids.org.au>
10974 * iradio/rb-new-station-dialog.c:
10975 (rb_new_station_dialog_response_cb): Trim whitespace from uris. Closes
10978 2005-08-28 James Livingston <jrl@ids.org.au>
10980 Patch from Jonathan Mattnew <jonathan@kaolin.hn.org>
10982 * widgets/rb-entry-view.c: (rb_entry_view_duration_cell_data_func):
10983 * widgets/rb-header.c: (rb_header_get_elapsed_string): Display hours
10984 is a song is longer than 60 minutes. Closes bug 313311.
10986 2005-08-27 James Livingston <jrl@ids.org.au>
10988 * data/glade/create-playlist.glade:
10989 * widgets/rb-query-creator.c: (rb_query_creator_load_query),
10990 (rb_query_creator_new_from_query), (rb_query_creator_get_limit): Add
10991 "minutes" as an option in the playlist limit menu.
10993 * rhythmdb/rhythmdb-query-model.c:
10994 (rhythmdb_query_model_class_init),
10995 (rhythmdb_query_model_set_property),
10996 (rhythmdb_query_model_get_property),
10997 (rhythmdb_query_model_update_limited_entries): Allow query models to
11000 * shell/rb-playlist-manager.c:
11001 (rb_playlist_manager_set_automatic_playlist),
11002 (rb_playlist_manager_cmd_edit_automatic_playlist):
11003 * sources/rb-playlist-source.c: (rb_playlist_source_set_query),
11004 (rb_playlist_source_get_query), (impl_receive_drag),
11005 (rb_playlist_source_new_from_xml),
11006 (rb_playlist_source_save_to_xml),
11007 (rb_playlist_source_songs_sort_order_changed_cb),
11008 (rb_playlist_source_do_query):
11009 * sources/rb-playlist-source.h:
11010 * widgets/rb-query-creator.h: Allow playlists to be limited by time
11012 2005-08-27 James Livingston <jrl@ids.org.au>
11014 Patch from Jonathan Mattnew <jonathan@kaolin.hn.org>.
11017 * shell/Makefile.am: work correctly if dbus-binding-tool is in a
11018 non-standard location. Closes bug 314640.
11020 2005-08-26 Colin Walters <walters@verbum.org>
11022 Patch from Olivier Blin <oblin@mandriva.com>
11024 * widgets/eggnotificationbubble.c (draw_bubble):
11025 Handle extreme-left case as well.
11027 2005-08-26 Colin Walters <walters@verbum.org>
11029 * shell/rb-shell.c (idle_save_state): Don't do this.
11030 (rb_shell_construct): Remove idle calls to idle_save_state.
11031 We should save the playlists automatically when they're
11033 (rb_shell_load_uri): Don't try to re-stat entry if it already
11036 * shell/rb-shell-player.c: Keep track of entry we are attempting
11038 (rb_shell_player_set_playing_entry): Set playing_attempt_entry.
11039 Don't double-free error.
11040 (rb_shell_player_play_entry): Signal errors.
11041 (rb_shell_player_entry_activated_cb): Ditto.
11042 (rb_shell_player_property_row_activated_cb): Ditto.
11043 (rb_shell_player_set_playing_source_internal): Unset attempted
11045 (rb_shell_player_error): Refactor to be usable both sync and
11046 async. Handle case where displayed entry differs from entry.
11047 (error_cb): Move GDK locking here.
11049 * shell/main.c (main): Drop most commandline arguments for D-BUS;
11050 people can just use dbus-send or python. We only support focusing
11052 (load_uri_args): New function, extracted from handle_cmdline.
11053 (dbus_load_uri, bonobo_load_uri): New functions.
11055 * shell/Makefile.am (rhythmbox_LDADD): Add D-BUS libs as
11058 * remote/Makefile.am: Don't compile dbus subdir, it's not used.
11059 * remote/dbus/rb-remote-dbus.c: Deleted.
11061 * player/rb-player-gst.c: Clear any pending idle handlers when we
11062 close the player. Signal errors generated during open/play etc
11063 as synchronous errors.
11065 * configure.ac: Enable Bonobo by default if D-BUS isn't enabled.
11067 2005-08-26 Colin Walters <walters@verbum.org>
11069 * shell/rb-shell.c (rb_shell_present): Try harder.
11071 2005-08-26 Colin Walters <walters@verbum.org>
11073 * shell/rb-shell.c (rb_shell_present): Try to handle
11074 GTK_MINOR_VERSION < 8.
11076 2005-08-26 James Livingston <jrl@ids.org.au>
11078 * shell/main.c: (main): compilation fixes. Patch from Peter Robinson
11079 <pbrobinson@gmail.com>
11081 2005-08-26 Colin Walters <walters@verbum.org>
11083 * remote/dbus/rb-remote-dbus.c: Various compilation fixes.
11085 2005-08-25 Colin Walters <walters@verbum.org>
11087 * shell/rb-shell-player.c (rb_shell_player_auto_adjust_rating):
11089 (rb_shell_player_do_next_with_rating): Move back into
11090 rb_shell_player_do_next.
11091 (rb_shell_player_entry_activated_cb): Remove call to
11092 rb_shell_player_auto_adjust_rating.
11093 (do_next_idle): Just call rb_shell_player_do_next.
11095 * shell/rb-shell.c (rb_shell_present): Cast to GTK_WIDGET.
11097 2005-08-25 Colin Walters <walters@verbum.org>
11099 * shell/rb-shell.c (rb_shell_present): Be sure to gtk_widget_show
11100 before gtk_window_present_with_time.
11102 2005-08-25 Colin Walters <walters@verbum.org>
11104 * configure.ac: Require D-BUS 0.35. Bonobo is disabled by
11107 * shell/rb-shell.c (rb_shell_constructor): Adapted from
11108 rb_shell_construct. This is so we only have to do g_object_new.
11109 (rb_shell_get_player): New function.
11110 (rb_shell_get_player_path): Ditto.
11111 (rb_shell_load_uri): New function, adapted from rb_shell_load_uri_impl.
11113 * shell/rb-shell.h: Prototype them.
11115 * shell/rb-shell-player.c: Add new PLAYING_CHANGED signal which we
11117 (reemit_playing_signal): New function.
11118 (rb_shell_player_open_playlist_location): Use return values from
11119 rb_player_open, rb_player_close, etc. instead of checking "error".
11120 Return a gboolean on failure.
11121 (rb_shell_player_open_entry): Just open entry location, don't
11123 (rb_shell_player_play): Handle retval from rb_player_play. Return
11125 (do_next_idle): Move logic for handling of end of playlist here.
11126 (rb_shell_player_set_playing_entry): Take a GError, return a
11127 gboolean. Update to use gboolean return values.
11128 (rb_shell_player_do_previous): Delete lots of crazy duplicate
11129 logic. Signal an error on end of playlist. Also signal error if
11130 we're not playing. Move heuristic for replaying the song into
11131 rb_shell_player_cmd_previous.
11132 (rb_shell_player_do_next_with_rating): Signal error on end of
11134 (rb_shell_player_do_next): Return errors.
11135 (rb_shell_player_cmd_previous): Heuristic for restarting song
11136 moved here; the idea is you generally only want that from the GUI.
11137 (rb_shell_player_cmd_play): Handle error.
11138 (rb_shell_player_playpause): Signal errors.
11139 (filter_mmkeys): Use rb_shell_player_cmd_previous and
11140 rb_shell_player_cmd_next in favor of the internal _do functions.
11142 * shell/rb-shell-player.h (enum RBShellPlayerError): Add some
11143 errors. Update prototypes for above changes.
11145 * shell/main.c: More tightly integrate D-BUS; register various
11146 major singleton objects here. Fix handle_cmdline so we only
11147 process extra arguments, not every argument.
11149 * shell/Makefile.am: Generate D-BUS glue headers.
11151 * remote/dbus/rb-remote-dbus.c: Move all the D-BUS service stuff
11152 into shell/main.c. Now this file just acts as a client library.
11153 Not heavily tested.
11155 * remote/bonobo/rb-remote-bonobo.c (bonobo_lock, bonobo_unlock):
11157 (rb_remote_bonobo_init): Move long CORBA rant here along with
11158 setting of lock functions.
11160 * player/rb-player-gst.c (rb_player_construct)
11161 (rb_player_play, rb_player_open, rb_player_close): Return gboolean
11164 * player/rb-player.h: Update prototypes.
11166 * lib/rb-util.c (_rb_threads_lock, _rb_threads_unlock): Moved to
11167 rb-remote-bonobo.c.
11168 (rb_threads_init): Don't set gdk lock functions here.
11170 2005-08-25 James Livingston <jrl@ids.org.au>
11172 Patch from Jonathan Mattnew <jonathan@kaolin.hn.org>
11174 * lib/rb-tree-dnd.c: (rb_tree_dnd_drag_drop_cb):
11175 * lib/rb-tree-dnd.h:
11176 * rhythmdb/rhythmdb-property-model.c:
11177 (rhythmdb_property_model_class_init),
11178 (rhythmdb_property_model_drag_source_init),
11179 (rhythmdb_property_model_iter_parent),
11180 (rhythmdb_property_model_row_draggable),
11181 (rhythmdb_property_model_drag_data_delete), (query_model_cb),
11182 (rhythmdb_property_model_drag_data_get),
11183 (rhythmdb_property_model_enable_drag):
11184 * rhythmdb/rhythmdb-property-model.h:
11185 * shell/rb-playlist-manager.c: (rb_playlist_manager_finalize),
11186 (rb_playlist_manager_set_property), (append_new_playlist_source),
11187 (rb_playlist_manager_save_playlists):
11188 * shell/rb-shell.c: (rb_shell_construct),
11189 (sourcelist_drag_received_cb):
11190 * sources/rb-iradio-source.c: (rb_iradio_source_class_init):
11191 * sources/rb-playlist-source.c: (impl_receive_drag):
11192 * sources/rb-sourcelist-model.c: (rb_sourcelist_model_class_init),
11193 (rb_sourcelist_model_drag_dest_init),
11194 (rb_sourcelist_model_set_dnd_targets),
11195 (rb_sourcelist_model_drag_data_received), (path_is_reorderable),
11196 (rb_sourcelist_model_row_drop_position),
11197 (rb_sourcelist_model_get_drag_target),
11198 (rb_sourcelist_model_drag_data_get):
11199 * sources/rb-sourcelist-model.h:
11200 * sources/rb-sourcelist.c: (rb_sourcelist_class_init),
11201 (rb_sourcelist_init), (rb_sourcelist_get_property),
11202 (rb_sourcelist_selection_changed_cb):
11203 * sources/rb-sourcelist.h:
11204 * widgets/rb-property-view.c: (rb_property_view_constructor): Greatly
11205 improve drag-n-drop support. Allow dragging of item from property
11206 views to the source list, to create new automatic playlists. Allow
11207 playlist re-ordering. Fix dragging from Rhythmbox to other
11208 applications. (Closes bug 147337)
11210 2005-08-24 Colin Walters <walters@verbum.org>
11212 Patch from Olivier Blin <oblin@mandriva.com>
11214 * widgets/eggnotificationbubble.c (draw_bubble): Draw triangle
11215 correctly in the case where the window is next to monitor edge.
11217 2005-08-24 James Livingston <jrl@ids.org.au>
11219 * sources/rb-playlist-source.c: (rb_playlist_source_class_init),
11220 (rb_playlist_source_get_property), (rb_playlist_source_do_query): add
11221 a gobject property to get the query model that backs the playlist.
11223 2005-08-24 James Livingston <jrl@ids.org.au>
11225 * shell/rb-playlist-manager.c: (rb_playlist_manager_set_property),
11226 (handle_playlist_entry_into_playlist_cb),
11227 (rb_playlist_manager_playlist_entries_changed): Disable the "create
11228 audio cd" menu item when a non-playlist source is selected, or the
11229 playlist is empty. (Closes Bug 313253)
11231 2005-08-24 James Livingston <jrl@ids.org.au>
11233 * sources/rb-playlist-source.c: (rb_playlist_source_burn_playlist):
11234 Fix the playlist length checkso it doesn't report 0 for automatic
11235 playlists. This was stopping automati playlists being burnt to cd.
11237 2005-08-24 James Livingston <jrl@ids.org.au>
11240 * sources/rb-playlist-source-recorder.c: (burn_cd):
11241 * sources/rb-playlist-source.c:
11242 (rb_playlist_source_songs_sort_order_changed_cb):
11243 * widgets/rb-query-creator.c: (rb_query_creator_dispose): Fix some
11244 more warnings that occur when compiling RPMs on Fedora.
11246 2005-08-24 James Livingston <jrl@ids.org.au>
11248 * rhythmdb/rhythmdb.c: (set_props_from_metadata): Fix a warning that
11249 was stopping some distros gcc version compiling.
11251 2005-08-24 James Livingston <jrl@ids.org.au>
11254 * data/glade/create-playlist.glade:
11255 * rhythmdb/rhythmdb-tree.c: (evaluate_conjunctive_subquery):
11256 * rhythmdb/rhythmdb.c: (rhythmdb_query_parse_valist),
11257 (rhythmdb_query_free), (rhythmdb_query_serialize),
11258 (rhythmdb_query_deserialize), (rhythmdb_query_get_type):
11259 * rhythmdb/rhythmdb.h:
11260 * shell/rb-playlist-manager.c:
11261 (rb_playlist_manager_set_automatic_playlist),
11262 (rb_playlist_manager_cmd_edit_automatic_playlist):
11263 * sources/rb-playlist-source.c: (rb_playlist_source_constructor),
11264 (rb_playlist_source_set_query), (rb_playlist_source_get_query),
11265 (impl_receive_drag), (rb_playlist_source_new_from_xml),
11266 (rb_playlist_source_save_to_xml),
11267 (rb_playlist_source_songs_sort_order_changed_cb),
11268 (rb_playlist_source_do_query):
11269 * sources/rb-playlist-source.h:
11270 * widgets/Makefile.am:
11271 * widgets/rb-entry-view.c: (rb_entry_view_get_sorting_order),
11272 (rb_entry_view_set_sorting_order):
11273 * widgets/rb-query-creator-private.h:
11274 * widgets/rb-query-creator-properties.c:
11275 (stringCriteriaCreateWidget), (stringCriteriaSetWidgetData),
11276 (stringCriteriaGetWidgetData),
11277 (escapedStringCriteriaSetWidgetData),
11278 (escapedStringCriteriaGetWidgetData), (set_rating_score),
11279 (ratingCriteriaCreateWidget), (ratingCriteriaSetWidgetData),
11280 (ratingCriteriaGetWidgetData), (integerCriteriaCreateWidget),
11281 (integerCriteriaSetWidgetData), (integerCriteriaGetWidgetData),
11282 (durationCriteriaCreateWidget), (durationCriteriaSetWidgetData),
11283 (durationCriteriaGetWidgetData), (create_time_unit_option_menu),
11284 (relativeTimeCriteriaCreateWidget),
11285 (relativeTimeCriteriaSetWidgetData),
11286 (relativeTimeCriteriaGetWidgetData):
11287 * widgets/rb-query-creator.c: (rb_query_creator_get_type),
11288 (rb_query_creator_class_init), (rb_query_creator_constructor),
11289 (rb_query_creator_dispose), (rb_query_creator_set_property),
11290 (rb_query_creator_get_property), (rb_query_creator_load_query),
11291 (rb_query_creator_set_sorting), (rb_query_creator_new_from_query),
11292 (get_entry_for_property), (rb_query_creator_get_query),
11293 (rb_query_creator_get_limit), (rb_query_creator_get_sort_order),
11294 (limit_toggled_cb), (lookup_row_by_widget),
11295 (remove_button_click_cb), (append_row),
11296 (get_property_index_from_proptype), (select_criteria_from_value),
11297 (property_option_menu_changed), (create_property_option_menu),
11298 (create_criteria_option_menu), (sort_option_menu_changed),
11299 (setup_sort_option_menu):
11300 * widgets/rb-query-creator.h: A fairly huge patch to improve automatic
11301 playlists. The two most notable improvements are 1) adding more
11302 properties to the query creator, making it much easier to add more in
11303 the future, and 2) allow playlists to be sorted, from the query editor
11304 if they gave limits, and by clicking on column headers if they don't.
11306 Files added: widgets/rb-query-creator-private.h,
11307 sources/rb-query-creator-properties.c
11309 2005-08-21 James Livingston <jrl@ids.org.au>
11311 * player/rb-player-gst.c: (error_cb): ignore any playbin errors, where
11312 error=NULL. This stops some crashes.
11314 2005-08-19 Colin Walters <walters@verbum.org>
11316 Patch from Olivier Blin <oblin@mandriva.com>
11318 * widgets/eggnotificationbubble.c (force_window): Support top
11320 * widgets/eggnotificationbubble.h: Remove
11321 egg_notification_bubble_force_window from header.
11323 2005-08-18 James Livingston <jrl@ids.org.au>
11325 * NEWS: Give a bit of detail on the major changes in 0.9.0, and update
11326 with the changes since then.
11328 2005-08-17 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
11330 * shell/rb-shell-player.c: (rb_shell_player_init),
11331 (rb_shell_player_sync_volume), (rb_shell_player_volume_changed_cb),
11332 (rb_shell_player_volume_widget_changed_cb):
11333 * sources/rb-iradio-source.c:
11334 * sources/rb-library-source.c:
11335 * sources/rb-playlist-source.c:
11336 * widgets/Makefile.am:
11337 * widgets/bacon-volume.c: (bacon_volume_button_get_type),
11338 (bacon_volume_button_class_init), (bacon_volume_button_init),
11339 (bacon_volume_button_dispose), (bacon_volume_button_new),
11340 (bacon_volume_button_get_value), (bacon_volume_button_set_value),
11341 (bacon_volume_button_scroll), (bacon_volume_button_press),
11342 (cb_button_timeout), (cb_button_press), (cb_button_release),
11343 (bacon_volume_release_grab), (cb_dock_press),
11344 (bacon_volume_scale_get_type), (bacon_volume_scale_class_init),
11345 (bacon_volume_scale_new), (bacon_volume_scale_press),
11346 (bacon_volume_scale_release), (bacon_volume_scale_value_changed):
11347 * widgets/bacon-volume.h:
11348 * widgets/rb-volume.c:
11349 * widgets/rb-volume.h:
11350 Use BaconVolumeButton (#300867).
11352 2005-08-17 James Livingston <jrl@ids.org.au>
11354 * rhythmdb/rhythmdb.c: (set_props_from_metadata),
11355 (rhythmdb_process_metadata_load): don't reset the First Seen time
11356 whenever we recheck the metadata.
11358 2005-08-17 James Livingston <jrl@ids.org.au>
11360 * sources/rb-playlist-source.c: (rb_playlist_source_burn_playlist):
11361 temporary workaround to stop crashes when trying to burn an empty
11362 playlist. Doesn't disable the menu item which is the better solution
11365 2005-08-15 James Livingston <jrl@ids.org.au>
11367 * shell/rb-source-header.c: (rb_source_header_init),
11368 (rb_source_header_sync_control_state),
11369 (rb_source_header_search_activate_cb):
11370 * widgets/rb-entry-view.c: (rb_entry_view_class_init),
11371 (rb_entry_view_poll_model), (rb_entry_view_grab_focus):
11372 * widgets/rb-search-entry.c: (rb_search_entry_class_init),
11373 (rb_search_entry_init), (rb_search_entry_searching),
11374 (rb_search_entry_activate_cb):
11375 * widgets/rb-search-entry.h: Move focus to the entry view when user
11376 presses enter in the search box. Patch from Paolo Borelli
11377 <pborelli@katamail.com> (Closes bug 128110)
11379 2005-08-15 James Livingston <jrl@ids.org.au>
11381 * shell/rb-playlist-manager.c: (rb_playlist_manager_class_init),
11382 (rb_playlist_manager_new_playlist):
11383 * shell/rb-playlist-manager.h:
11384 * shell/rb-shell.c: (rb_shell_construct),
11385 (rb_shell_playlist_added_cb), (rb_shell_playlist_created_cb): Force
11386 the source list to be shown when a new playlist is created. (Closes
11389 2005-08-15 James Livingston <jrl@ids.org.au>
11391 * widgets/rb-header.c: (rb_header_init),
11392 (rb_header_set_show_timeline): disable the seek slider, rather than
11393 hiding it, which more closely follows the HIG. (Closes bug 139102)
11395 2005-08-13 Colin Walters <walters@verbum.org>
11397 * shell/rb-shell.c (rb_shell_playing_entry_changed_cb): Use
11398 rb_shell_hidden_notify.
11399 (rb_shell_hidden_notify): Notify if the shell is hidden.
11400 (rb_shell_set_visibility_impl): Debug goo.
11402 * shell/rb-shell.h: Export rb_shell_hidden_notify.
11404 * shell/rb-tray-icon.c (rb_tray_icon_hide_notify_cb): Show Rhythmbox
11405 when the user clicks on notification.
11407 * sources/rb-playlist-source-recorder.c (burn_cd): Notify when
11408 CD burn is complete.
11409 (rb_playlist_source_recorder_finalize): Unref shell.
11410 (rb_playlist_source_recorder_new): Take shell.
11412 * sources/rb-playlist-source.c (rb_playlist_source_burn_playlist):
11413 Pass shell to RBPlaylistSourceRecorder.
11415 2005-08-13 Colin Walters <walters@verbum.org>
11418 * lib/rb-thread.h: Not used yet, but put in CVS in case we get
11421 2005-08-13 Colin Walters <walters@verbum.org>
11423 * widgets/eggnotificationbubble.h:
11424 * widgets/eggnotificationbubble.c: New files, will likely go in libegg.
11425 * widgets/eggtrayicon.c:
11426 * widgets/eggtrayicon.h: Add notification API.
11427 * shell/rb-tray-icon.c:
11428 * shell/rb-tray-icon.h: Add notification API.
11429 * shell/rb-shell.c: Notify on song change.
11431 2005-08-12 Raphael Slinckx <rslinckx@cvs.gnome.org>
11433 * sources/rb-ipod-source.c: (rb_ipod_unplugged):
11434 Correct an inversion of two lines causing NULL to be unreffed
11436 ============ Version 0.9.0
11438 2005-08-10 Bastien Nocera <hadess@hadess.net>
11440 * configure.ac: 0.9.0, whee!
11441 * NEWS: badly updated
11442 * remote/bonobo/Makefile.am:
11443 * remote/bonobo/rb-remote-bonobo.h:
11444 * shell/Makefile.am:
11445 * shell/main.c: make distcheck fixes