[Pkg-gtkpod-devel] r363 - in gtkpod/trunk: . data data/icons data/icons/32x32 data/icons/48x48 data/icons/64x64 debian po scripts src

djpig at alioth.debian.org djpig at alioth.debian.org
Sat Jan 24 20:55:10 UTC 2009


Author: djpig
Date: 2009-01-24 20:55:00 +0000 (Sat, 24 Jan 2009)
New Revision: 363

Added:
   gtkpod/trunk/data/icons/16x16/
   gtkpod/trunk/data/icons/22x22/
   gtkpod/trunk/data/icons/24x24/
   gtkpod/trunk/data/icons/hicolor/
   gtkpod/trunk/data/icons/scalable/
   gtkpod/trunk/data/man/
   gtkpod/trunk/data/photo-toolbar-album.png
   gtkpod/trunk/data/photo-toolbar-photos.png
   gtkpod/trunk/doc/
   gtkpod/trunk/po/zh_CN.po
   gtkpod/trunk/src/help.c
   gtkpod/trunk/src/help.h
   gtkpod/trunk/src/infodlg.c
   gtkpod/trunk/src/infodlg.h
   gtkpod/trunk/src/prefsdlg.c
   gtkpod/trunk/src/rb_cell_renderer_rating.c
   gtkpod/trunk/src/rb_cell_renderer_rating.h
   gtkpod/trunk/src/rb_rating_helper.c
   gtkpod/trunk/src/rb_rating_helper.h
   gtkpod/trunk/src/sort_window.c
   gtkpod/trunk/src/sort_window.h
Removed:
   gtkpod/trunk/data/cdshine.png
   gtkpod/trunk/data/cdshine_main.png
   gtkpod/trunk/data/gphoto_album_menuitem-32.png
   gtkpod/trunk/data/gphoto_album_menuitem-48.png
   gtkpod/trunk/data/gphoto_images_menuitem-32.png
   gtkpod/trunk/data/gphoto_images_menuitem-48.png
   gtkpod/trunk/data/gphoto_playlist_icon-48.png
   gtkpod/trunk/data/gphoto_tools_menuitem-32.png
   gtkpod/trunk/data/gphoto_tools_menuitem-48.png
   gtkpod/trunk/data/gtkpod-new-playlist.png
   gtkpod/trunk/data/gtkpod-sync.png
   gtkpod/trunk/data/tunes_playlist_icon-48.png
   gtkpod/trunk/src/prefs_window.c
   gtkpod/trunk/src/prefs_window.h
Modified:
   gtkpod/trunk/AUTHORS
   gtkpod/trunk/ChangeLog
   gtkpod/trunk/INSTALL
   gtkpod/trunk/Makefile.am
   gtkpod/trunk/Makefile.in
   gtkpod/trunk/NEWS
   gtkpod/trunk/aclocal.m4
   gtkpod/trunk/config.guess
   gtkpod/trunk/config.h.in
   gtkpod/trunk/config.sub
   gtkpod/trunk/configure
   gtkpod/trunk/configure.in
   gtkpod/trunk/data/Makefile.am
   gtkpod/trunk/data/Makefile.in
   gtkpod/trunk/data/default-cover.png
   gtkpod/trunk/data/gtkpod-icon-32-2.png
   gtkpod/trunk/data/gtkpod-icon-32.png
   gtkpod/trunk/data/gtkpod-icon-48.png
   gtkpod/trunk/data/gtkpod-logo.png
   gtkpod/trunk/data/gtkpod.desktop.in
   gtkpod/trunk/data/gtkpod.glade
   gtkpod/trunk/data/icons/32x32/Makefile.in
   gtkpod/trunk/data/icons/32x32/gtkpod.png
   gtkpod/trunk/data/icons/48x48/Makefile.in
   gtkpod/trunk/data/icons/48x48/gtkpod.png
   gtkpod/trunk/data/icons/64x64/Makefile.in
   gtkpod/trunk/data/icons/64x64/gtkpod.png
   gtkpod/trunk/data/icons/Makefile.am
   gtkpod/trunk/data/icons/Makefile.in
   gtkpod/trunk/debian/changelog
   gtkpod/trunk/depcomp
   gtkpod/trunk/install-sh
   gtkpod/trunk/intltool-extract.in
   gtkpod/trunk/intltool-merge.in
   gtkpod/trunk/intltool-update.in
   gtkpod/trunk/po/Makefile.in.in
   gtkpod/trunk/po/POTFILES.in
   gtkpod/trunk/po/de.po
   gtkpod/trunk/po/es.po
   gtkpod/trunk/po/fr.po
   gtkpod/trunk/po/he.po
   gtkpod/trunk/po/it.po
   gtkpod/trunk/po/ja.po
   gtkpod/trunk/po/ro.po
   gtkpod/trunk/po/ru.po
   gtkpod/trunk/po/sv.po
   gtkpod/trunk/scripts/Makefile.in
   gtkpod/trunk/scripts/sync-evolution.sh
   gtkpod/trunk/scripts/sync-ldif.sh
   gtkpod/trunk/scripts/sync-thunderbird-nano.sh
   gtkpod/trunk/scripts/sync-tomboy.sh
   gtkpod/trunk/src/Makefile.am
   gtkpod/trunk/src/Makefile.in
   gtkpod/trunk/src/charset.c
   gtkpod/trunk/src/charset.h
   gtkpod/trunk/src/clientserver.c
   gtkpod/trunk/src/confirmation.c
   gtkpod/trunk/src/confirmation.h
   gtkpod/trunk/src/context_menus.c
   gtkpod/trunk/src/date_parser.c
   gtkpod/trunk/src/date_parser2.c
   gtkpod/trunk/src/details.c
   gtkpod/trunk/src/details.h
   gtkpod/trunk/src/display.c
   gtkpod/trunk/src/display.h
   gtkpod/trunk/src/display_coverart.c
   gtkpod/trunk/src/display_coverart.h
   gtkpod/trunk/src/display_itdb.c
   gtkpod/trunk/src/display_itdb.h
   gtkpod/trunk/src/display_photo.c
   gtkpod/trunk/src/display_photo.h
   gtkpod/trunk/src/display_playlists.c
   gtkpod/trunk/src/display_sorttabs.c
   gtkpod/trunk/src/display_spl.c
   gtkpod/trunk/src/display_tracks.c
   gtkpod/trunk/src/fetchcover.c
   gtkpod/trunk/src/fetchcover.h
   gtkpod/trunk/src/file.c
   gtkpod/trunk/src/file.h
   gtkpod/trunk/src/file_convert.c
   gtkpod/trunk/src/file_export.c
   gtkpod/trunk/src/file_itunesdb.c
   gtkpod/trunk/src/fileselection.c
   gtkpod/trunk/src/fileselection.h
   gtkpod/trunk/src/flacfile.c
   gtkpod/trunk/src/info.c
   gtkpod/trunk/src/info.h
   gtkpod/trunk/src/ipod_init.c
   gtkpod/trunk/src/misc.c
   gtkpod/trunk/src/misc.h
   gtkpod/trunk/src/misc_confirm.c
   gtkpod/trunk/src/misc_conversion.c
   gtkpod/trunk/src/misc_input.c
   gtkpod/trunk/src/misc_playlist.c
   gtkpod/trunk/src/misc_track.c
   gtkpod/trunk/src/mp3file.c
   gtkpod/trunk/src/mp3file.h
   gtkpod/trunk/src/mp4file.c
   gtkpod/trunk/src/prefs.c
   gtkpod/trunk/src/prefs.h
   gtkpod/trunk/src/repository.c
   gtkpod/trunk/src/stock_icons.c
   gtkpod/trunk/src/stock_icons.h
   gtkpod/trunk/src/syncdir.c
   gtkpod/trunk/src/tools.c
   gtkpod/trunk/ylwrap
Log:
Merge 0.99.14 to trunk


Modified: gtkpod/trunk/AUTHORS
===================================================================
--- gtkpod/trunk/AUTHORS	2009-01-24 20:05:59 UTC (rev 362)
+++ gtkpod/trunk/AUTHORS	2009-01-24 20:55:00 UTC (rev 363)
@@ -1,3 +1,16 @@
 Jorg Schuler <jcsjcs at users.sourceforge.net>
 Corey Donohoe <atmos at atmos.org>
 Adrian Ulrich <pab at blinkenlights.ch>
+
+The gtkpod icon is based on the gnome-icon-theme-extras project and licensed
+under the GPL v2. Originally created by Ryan Collier, modified by
+Rodney Dawes  <dobey.pwns at gmail.com>. ("multimedia-player-apple-ipod-video-white")
+
+This project uses icons from the Rhythmbox (http://rhythmbox.org) project,
+licensed under the GPL v2 or later:
+* data/tunes_playlist_icon-48.png
+
+This project uses icons from the F-Spot (http://f-spot.org) project,
+licensed under the GPL v2 or later:
+* data/photo-toolbar-album.png
+* data/photo-toolbar-photos.png

Modified: gtkpod/trunk/ChangeLog
===================================================================
--- gtkpod/trunk/ChangeLog	2009-01-24 20:05:59 UTC (rev 362)
+++ gtkpod/trunk/ChangeLog	2009-01-24 20:55:00 UTC (rev 363)
@@ -1,1000 +1,5683 @@
-gtkpod V0.99.12
+2009-01-18  Todd Zullinger  <tmzullinger at users.sourceforge.net>
 
-       NEW FEATURE: Import and management of photographs on ipods
-       that support them. Update of README to include photo management.
-       
-       UPDATE: Application requires libgpod version 0.6.0 or higher.
+	* configure.in: Bump version for 0.99.14 release
+
+	* NEWS: Update for 0.99.14 release
+
+	* src/file_itunesdb.c: Quiet iTunesDB.ext warning
+
+2008-01-17 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/file_convert.c (conversion_log_set_status): don't change tab
+	  label text in conversion log window unless actually
+	  necessary. Fixes the "disappearing tooltips" problem (tracker
+	  #1906016).
+
+2008-01-17 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/rb_rating_helper.c: display a warning if one of the star
+	  icons cannot be loaded.
+
+2008-01-17 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/display_tracks.c: let gtkpod remember column sizes again.
+
+	* src/prefs.c: enable horizontal scrollbar in the track view by
+	  default.
+
+2009-01-14  Todd Zullinger  <tmzullinger at users.sourceforge.net>
+
+	* po/zh_CN.po: Update simple Chinese translation (Tan Zhixin)
+
+2008-01-14 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* po/ro.po: updated Romanian translation. Thanks to Alex
+          Eftimie.
+
+2008-01-13 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/file_export.c: add export template for mp4 files.
+
+	  src/prefs.c: remove references to export_template which
+	  wasn't used. Thanks to Todd to point out both.
+
+	* src/confirmation.c
+	  src/misc_confirm.c: cleanup indentation
+
+2008-01-11 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* data/gtkpod.glade: add property "translatble=yes" to the check
+	  button "generate_video_thumbnails". Thanks to Eric.
+	  
+2008-01-11 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* configure.in
+	  src/mp4file.c: Adding support for MP4V2 2.0_20081129 without
+	  losing support for older versions of MP4V2 from the mpeg4ip
+	  line. Thanks to William Hardeman.
+
+2008-01-11 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/mp3file.c: correct programming error when determining offset
+	  of the LAME tag. Thanks to <Anonymous> for submitting tracker
+	  #2490479.
+
+2009-01-04  Todd Zullinger  <tmzullinger at users.sourceforge.net>
+
+	* configure.in,	data/man/gtkpod.1 -> data/man/gtkpod.1.in:
+	Update man page and generate it to set the version properly.
+
+	* po/zh_CN.po: Add simple Chinese translation (Tan Zhixin)
+
+2008-12-31 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/file.c
+	  src/help.c
+	  data/gtkpod.glade: string corrections -- thanks to Daniele Forsi.
+
+2008-12-15 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* po/es.po: Spanish translation updated -- thanks to Alejandro
+	  Lamas Daviña
+
+2008-12-17  Daniele Forsi <dforsi at users.sourceforge.net>
+
+        * po/it.po: Italian translation updated
+
+2008-12-16  Todd Zullinger  <tmzullinger at users.sourceforge.net>
+
+	* src/misc_confirm.c: Fix typo in ok_to_close_gtkpod dialog
+
+2008-12-15  Todd Zullinger  <tmzullinger at users.sourceforge.net>
+
+	* data/man/gtkpod.1
+	  src/prefs.c: Remove -a/--auto from usage output and manpage
+	  These options were removed long ago in svn rev 1070.  Thanks
+	  to Frank Lichtenheld (in Debian bug #466127).
+
+2008-12-15 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* po/he.po: Hebrew translation updated -- thanks to Assaf Gillat
+
+2008-12-11 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* po/sv.po: Swedish translation updated -- thanks to Stefan
+	  Asserhäll
+
+2008-12-09 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* po/*: updated po files.
+
+2008-12-07 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* data/gtkpod.glade
+	  src/display.c: Add an item to the View menu to show/hide the
+	  filter bar (AKA: search bar)
+
+	* src/display_tracks:
+	  Fix a number of bugs relating to the filter bar. Thanks to
+	  Andrea for the pointer.
+
+	  Remove filter text when switching from one playlist to another:
+	  leaving the filter in place immensely increases the time for display.
+
+2008-11-08 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/display_tracks.c
+	  src/misc_track.c: use a toggle box to show the state of the
+	  lyrics flag instead of 0/1.
+
+	* src/display_tracks.c
+	  src/misc_track.c
+	  src/file.c
+	  src/file.h
+	  src/details.c
+	  src/details.h: clicking on the lyrics toggle box brings up the
+	  edit lyrics dialog.
+
+	  !!! There are two possible sources for segfaults in
+	  details.c/details_button_apply_clicked:
+
+	  - track_copy_artwork() writes the lyrics tag to the file and
+	    checks for duplicates. This might destroy the list we are just
+	    iterating over.
+
+	  - write_tags_to_file() writes tags to the file and checks for
+	    duplicates. This might destroy the list we are just iterating
+	    over.
+
+	  I don't have a simple solution right now.
+
+2008-11-08 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+        * src/display.h
+	  src/file_itunesdb.c
+	  src/misc_conversion.c
+	  src/display_itdb.c
+	  src/display_tracks.c
+	  src/display_itdb.h
+	  src/misc_track.c
+	  src/mp3file.c
+	  src/mp3file.h
+	  src/file.c
+	  src/file.h
+	  src/details.c
+	  data/gtkpod.glade:
+
+	  Implemented Dudy Kohen's patch to read/write/edit lyrics data
+	  of MP3 files. Added a separate lyrics tab in the "Edit Details"
+	  window.
+
+	  MP4 lyrics not yet supported -- patches welcome.
+
+2008-11-08 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* data/gtkpod.glade: write-out with glade V3.4.5
+
+2008-10-30 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/file_export.c
+	  data/gtkpod.glade: fix bug that prevented "export to file
+	  system" mode from working. (glade-3 renamed yet another widget)
+
+2008-10-29 Jorg Schuler <jcsjcs at users.sourceforge.net>
+	* src/prefs.c
+	  src/prefsdlg.c
+	  src/file_convert.c
+	  data/gtkpod.glade: straighten out bug that allowed to unselect
+	  conversion and as a side effect switched off copying of the
+	  music files to the iPod.
+
+2008-10-05 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/prefsdlg.c
+	  data/gtkpod.glade: option for mass-editing of tags was only
+	  available if "writing tags to disk" was selected.
+
+2008-10-01 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/repository.c
+	  data/gtkpod.glade: glade3 must have decided to rename a number
+	  of widget names. This patch fixes this issue for the
+	  Repositories Prefs and Create New Repository windows.
+
+2008-09-30  Todd Zullinger  <tmzullinger at users.sourceforge.net>
+
+	* src/mp4file.c (mp4_get_file_info): Set track->lyrics_flag
+	  for mp4 files
+
+2008-09-29 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/ipod_init.c
+	  data/gtkpod.glade: glade3 must have decided to rename a number
+	  of widget names. More of these patches to come. Initializing a
+	  new iPod should work fine again.
+
+2008-09-28 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* INSTALL: removed git-svn from the list of required packages
+
+2008-09-27 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* INSTALL: added instructions on how to compile libgopd and gtkpod on a
+          fairly virgin Ubuntu Hardy (8.04) installation. 
+
+2008-09-21 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/mp3file.c (id3_set_string): don't write genre IDs instead of
+	  genre string. The use of ID numbers seems antiquated.
+
+2008-09-21 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/mp3file.c (id3_tag_read): (partially) implement genre IDs in
+	  parenthesis according to
+	  http://www.id3.org/id3v2.3.0#head-42b02d20fb8bf48e38ec5415e34909945dd849dc
+	  Ignore genre IDs in parenthesis if a "refinement" is
+	  given. Otherwise use the first ID found as genre. Fixes tracker
+	  item 2113461.
+
+2008-09-18 Todd Zullinger  <tmzullinger at users.sourceforge.net>
+
+	* configure.in: Use AC_SEARCH_LIBS to check for
+	  MP4SetMetadataAlbumArtist in libmp4v2.
+	  Reword several libmp4v2 macro definition descriptions.
+	  Minor whitespace cleanups.
+
+2008-09-07 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* configure.in
+	  src/mp4file.c: Check whether MP4 AlbumArtist functions are
+	  available (fixes compilation error with older versions of
+	  libmp4v2).
+
+	* README: added download link for V1.6 of libmp4v2
+
+	* src/mp3file.c: Add saving of AlbumArtist field. Thanks to Dudy
+	  Kohen for the patch.
+
+2008-08-31 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/mp3file.c: Handle Artist and AlbumArtist fields differently:
+	  For Artist: try the Artist tag and fall back to the Album Artist
+	  tag if the former does not exist.
+	  For Album Artist: set to the contents of the Album Artist tag,
+	  but only if the Artist tag does exist.
+	  Thanks to Dudy Kohen for the patch.
+
+	* src/mp4file.c: do the same for mp4 files (the Album Artist tag
+	  was not supported before).
+
+2008-08-04 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/file_itunesdb.c (read_extended_info): fixed valgrind
+	  warning. Thanks to Andrea.
+
+	* src/repository.c (sync_playlist_mode_automatic_toggled): fixed
+	  memory leak. Thanks to Andrea.
+
+	  (repwin_free): fixed memory leak. Thanks to Andrea.
+
+	* src/mp3file.c (mp3_read_lame_tag, mp3_get_track_gapless,
+	  mp3_get_track_lame_replaygain, set_uncommon_tag): fixed possible
+	  compiler warnings.
+
+	  (mp3_read_lame_tag, mp3_read_gapless): fixed memory
+	  leaks. Thanks to Andrea.
+
+	* src/mp3file.[ch]: Added "const" qualifier to filename arguments.
+
+	* src/file.c (add_coverart): fixed memory leak. Thanks to Andrea.
+
+	* src/details.c (details_get_item): fixed memory leak. Thanks to
+	  Andrea.
+
+	* src/prefs.c (get_list_from_buffer): fixed memory leaks.
+
+	* src/prefsdlg.c (on_unsetdeps_checkbox_toggled): fixed memory
+	  leak.
+
+	* src/prefsdlg.c (on_commands_clicked, on_cmd_aacgain_file_set):
+	  variable for aacgain was defined as "aacgain_path" instead of
+	  "path_aacgain".
+
+	* src/prefsdlg.c
+	  data/gtkpod.glade:
+	  Fix usability problems in prefs dialog (Music->Commands).
+
+	* src/file_convert.c
+	  data/gtkpod.glade:
+	  The widget name "conversion_log" was used twice, but for some
+	  reason this didn't cause problems until glade-3 re-wrote the
+	  file. Fixed by using different name for the menu item.
+
+2008-08-16 Paul Richardson <phantom_sf at users.sourceforge.net>
+
+	* src/display.c: memory leak fix in display_image_dialog. Thanks to
+	  Tomas Carnecky for the patch.  
+
+2008-08-04 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/sort_window.c: fix bug that selected sort column (for track
+	  view) was displayed incorrectly. Make handling of "no sorting"
+	  more intuitive.
+
+	* data/gtkpod.glade: small bugfix (radio button group for track
+	  display sort order was not set up correctly)
+
+2008-08-03 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/display_itdb.c (gp_replace_itdb): fix memory leak. Thanks to
+	  Andrea.
+
+	* src/display_playlists.c (pm_button_press): block widgets during
+	  eject. Thanks to Andrea for spotting this potential crash site.
+
+2008-08-02 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/file_itunesdb.c (gp_import_itdb): fix memory leak. Thanks to
+	  Andrea.
+
+	* src/prefs.c (prefs_get_cfgdir): fix possible memory leak. Thanks
+	  to Andrea.
+
+	* src/prefs.c (temp_prefs_load): fix memory leaks. Thanks to
+	  Andrea.
+
+	* src/misc.c (load_ipod_index_prefs): fix memory leaks. Thanks to
+	  Andrea.
+
+	* src/display_itdb.c (gp_itdb_extra_destroy): fix memory
+	  leaks. Thanks to Andrea.
+
+	* src/stock_icons.c (register_stock_icon): fix memory leak. Thanks
+	  to Andrea.
+
+	* src/display_photo.c (gphoto_album_selection_changed): fix memory
+	  leak. Thanks to Andrea.
+
+	* src/display_itdb.c (gp_track_extra_destroy): fix memory leaks.
+
+2008-07-21 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/misc_confirm (on_gtkpod_delete_event): return TRUE to
+	  prevent other handlers from being called. (Tons of error
+	  messages otherwise.)
+
+2008-07-20 Paul Richardson <phantom_sf at users.sourceforge.net>
+
+	* src/display_photo.c:
+	Patch to stop photo action signals being added to actions
+	multiple times. Thanks to Andrea.
+
+2008-07-20 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/fileselection.c
+	  src/fileselection.h: restructure code. Thanks to Andrea.
+
+2008-07-19 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/file_itunesdb.c (data_changed): don't mark non-imported
+          iPods as changed. Thanks to Andrea.
+
+2008-07-19 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/confirmation.c (gtkpod_confirmation): initialize
+          <scrolled> variable. Thanks to Andrea.
+
+2008-07-19 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/display_playlists.c (pm_add_child): when adding
+          playlists to the end, don't add behind the Photo item.
+
+2008-07-18 P.G. Richardson <phantom_sf at users.sourceforge.net>
+
+	* src/file.c (get_track_info_from_file): 
+	Relating to previous change. Rather than comment out, have reversed
+	logic as per Michael Tiffany's patch (15/07/2008)
+
+2008-07-18 P.G. Richardson <phantom_sf at users.sourceforge.net>
+
+	* src/file.c (get_track_info_from_file): 
+	Commented out test itdb_track_has_thumbnails test on line 1418
+	as this stops coverart being added to new tracks as they are being
+	imported from directory.
+
+2008-07-06 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/display_playlists.c (pm_get_iter_for_playlist): remove
+          assertion (pl!=NULL) that is no longer valid with the
+          introduction of the "Photo" entity. Should take care of the
+          segfaults when removing a playlist listed after the Photo
+          entity.
+
+2008-07-14  Todd Zullinger  <tmzullinger at users.sourceforge.net>
+
+	* scripts/sync-evolution.sh
+	  scripts/sync-ldif.sh: Use /bin/bash as the interpreter, as
+	  these scripts use bash-specific syntax
+
+	* scripts/sync-thunderbird-nano.sh: Remove a few bashisms
+
+	  Thanks to Frank Lichtenheld (fixes Debian bug #489605)
+
+2008-07-06 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/syncdir.c: hash filenames of tracks to reduce overhead
+          when syncing parts of large repositories. Thanks to Clarke
+          Brunsdon for the initial patch.
+
+	* src/file.c: also update mtime of updated tracks.
+
+
+2008-07-05 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/display_coverart.c:
+
+	  Normalized indentation (original editor was mis-configured).
+
+
+2008-07-05 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/misc_conversion.c (ST_to_T)
+	  src/display_sorttabs.c (st_set_string_compare_func):
+
+	  be more restrictive concerning ST_CAT_SPECIAL (assertion)
+
+	  src/display_coverart: white space
+
+	  src/file.c: added comments
+
+
+2008-07-05 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/file.c: allow absolute paths in coverart
+          template. Thanks to J.D. Laub for the patch.
+
+
+2008-07-05 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/display_itdb.c
+	  src/display_playlists.c: some work on white space.
+
+
+2008-07-05 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	  src/display.h
+	  src/file_itunesdb.c
+	  src/repository.c
+	  src/display_itdb.c
+	  src/display_playlists.c
+	  src/context_menus.c
+	  src/display_photo.c
+	  src/display_photo.h: get rid of Photo "Playlist" and create a
+	  "Photo" object in the Playlist view. This also solves a problem
+	  with the population of smart playlists.
+
+2008-06-29 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/display_photo.c: fix possible memory leak. Thanks to Mike
+	  Heffner.
+
+	* src/display.c
+	  src/display_photo.c
+	  src/details.c
+	  src/fetchcover.c: replace deprecated gdk_pixbuf_unref() with
+	  g_object_unref().
+
+2008-06-28 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/file_itunesdb.c
+	  src/display_photo.c
+	  src/display_photo.h: don't display error message about
+	  non-available photodb if iPod does not support photos.
+
+2008-05-31  Todd Zullinger <tmzullinger at users.sourceforge.net>
+
+	* po/POTFILES.in: update file list to keep distcheck happy
+
+	* data/icons/hicolor/16x16/places/Makefile.am
+	  data/icons/hicolor/16x16/status/Makefile.am
+	  data/icons/hicolor/22x22/places/Makefile.am
+	  data/icons/hicolor/24x24/places/Makefile.am
+	  data/icons/hicolor/32x32/places/Makefile.am
+	  data/icons/hicolor/48x48/places/Makefile.am
+	  data/icons/hicolor/scalable/places/Makefile.am
+	  data/man/Makefile.am
+	  doc/Makefile.am: minor distcheck fixes
+
+2008-05-31 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/details.c (details_update_thumbnail): fix bug that prevented
+	  displaying thumbnails in the edit details window that were saved
+	  on the iPod.
+
+2008-05-31 P.G. Richardson <phantom_sf at users.sourceforge.net>
+
+	* context_menus.c
+  
+	  Added coverart update call to eject ipod action.
+    
+	* display_coverart.c
+	* display_covarart.h
+  
+	  Tidied up function doc comments.
+	  Ensured when no playlist is selected, coverart_display_update 
+	  clears the artwork display.
+
+2008-05-30  Christophe Fergeau  <teuf at gnome.org>
+
+	* src/details.c:
+	* src/display_coverart.c:
+	* src/display_itdb.c:
+	* src/display_photo.c:
+	* src/file.c:
+	* src/file_itunesdb.c:
+	* src/misc_track.c: adjust to libgpod API changes (use
+	itdb_track_has_thumbnail and itdb_track_get_thumbnail instead of using
+	deprecated API and struct members)
+
+2008-05-29 P.G. Richardson <phantom_sf at users.sourceforge.net>
+
+	* src/fetchcover.c
+
+	  Fix for incorrect creation of jpg filenames
+    
+2008-05-29 P.G. Richardson <phantom_sf at users.sourceforge.net>
+
+	* src/display_photo.c
+
+	  Fix for pixbufs not being unreference in display_photo.c
+    
+2008-05-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/file.c (video_thumbnail_setup_cache): fixed compiler warning
+	  and possible memory leak.
+
+	* src/file.c (create_video_thumbnail): fixed possible memory leak.
+
+2008-05-22 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/confirmation.c (gtkpod_confirmation): switch wrapping on for
+	  displayed text.
+
+2008-05-17 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/mp3file.c (mp3_read_gapless):
+	  - added assertion for track->userdata
+	  - remove gapless data if file does not contain gapless data.
+
+	* src/file_convert.c: read gapless data after conversion to MP3
+	  files.
+	
+2008-05-11 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/misc_playlist.c: don't allow adding of playlists if iPod is
+	  not loaded. Thanks to Andrea.
+
+	* src/fileselection.c: use gtkpod_warning_simple() instead of
+	  error_dialog() -- reducing code. Thanks to Andrea.
+
+2008-05-05 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* data/gtkpod.glade: added lost handler to "create new
+	playlist". Thanks to Andrea.
+
+2008-05-01  Todd Zullinger <tmzullinger at users.sourceforge.net>
+
+	* INSTALL
+	  configure.in:
+	  Require libgpod >= 0.6.1
+
+2008-04-19 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/file_convert (conversion_convert_track): redirect stdout
+          of conversion script to /dev/NULL.
+
+	* data/gtkpod.glade (prefs_dialog): get rid of "Only
+          'activatable' widgets can be packed into the action area of
+          a GtkDialog" warning. Changes layouts of buttons at the
+          bottom of the window slightly ("Revert" is now centered
+          instead of being grouped on the right together with the
+          "Close" button).
+
+	* src/flacfile.c (flac_get_file_info): patch by Peter Pletcher
+          supporting the DATE field (alternative source for YEAR),
+          extended track and disc numbers ("n/m" format), as well as
+          correction of an obvious type (CNDR -> CDNR). Thanks!
+
+2008-04-18 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/fileselection.c: add multiple directories patch by Alex
+          Pounds. Fixes bug that limited adding of directories to one
+          at a time.
+
+2008-04-13 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/display_photo.c (gphoto_is_photo_playlist,
+          gphoto_ipod_supports_photos, gphoto_display_photo_window,
+          debug_list_photos): prevent segfault if called with NULL
+          argument.
+
+	  (gphoto_add_image_to_database,
+	  gphoto_add_image_to_iconview): sanity checks
+
+	* context_menus.c (pm_context_menu_init): check for selected
+          playlist before making further checks. Thanks to Alex
+          Pounds.
+
+	* po/de.po: updated German translation. Thanks to Kai-Ove
+          Pietsch.
+
+2008-04-09 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* scripts/sync-tomboy.sh
+	  (Olivier Crete <tester at tester dot ca>):
+	  Strip all tomboy tags with the power of sed
+
+2008-04-09 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/file_convert.c (transfer_transfer_track): removed
+          unnecessary g_mutex_unlock(). Thanks to Klaus Heinz.
+
+2008-03-29  Todd Zullinger  <tmzullinger at users.sourceforge.net>
+
+	* configure.in: Remove unused references to libgnomecanvas
+
+	* configure.in: Handle the case where LEX is a path, from
+	  NetBSD via Klaus Heinz (fixes SF tracker #1920207)
+
+2008-03-17 P.G. Richardson <phantom_sf at users.sourceforge.net>
+
+	* src/display_photo.c
+	* src/misc_input.c
+
+	  Fix for segfault in get_user_string function.
+
+2007-12-18 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/mp4file.c
+	* src/file.c: applied chapterdata patch by Michael Tiffany
+
+2008-01-13 Matvey Kozhev <sikon at users.sourceforge.net>
+
+	* data/gtkpod.glade:
+        * src/prefs.c:
+        * src/prefsdlg.c:
+        * src/file.c:
+  
+	  Support for video thumbnail generation via
+	  totem-video-thumbnailer (patch by M. Sean Finney
+	  <seanius at seanius.net>).
+
+2008-01-06 Matvey Kozhev <sikon at users.sourceforge.net>
+
+  * data/gtkpod.glade:
+  * src/display.h:
+  * src/display_tracks.c:
+  * src/display_sorttabs.c:
+  * src/prefsdlg.c:
+  
+    Made the "Filter tab position" and "Horizontal scrollbar" preferences
+    instant-apply.
+    
+  * data/gtkpod.glade:
+  
+    The "New Playlist" button is now dropdown.
+    
+  * configure.in:
+  * data/gtkpod-logo.png:
+  * data/gtkpod-icon-32.png:
+  * data/gtkpod-icon-32-2.png:
+  * data/gtkpod-icon-48.png:
+  * data/icons/16x16:
+  * data/icons/22x22:
+  * data/icons/24x24:
+  * data/icons/32x32:
+  * data/icons/scalable:
+  
+    More manually tweaked icons, plus the SVG original.
+
+2008-01-06 P.G. Richardson <phantom_sf at users.sourceforge.net>
+
+  * data/gtkpod.glade
+    src/display_tracks.c
+    src/display.c
+    src/display.h
+    
+    Added a down arrow to end of search bar to hide if not wanted.
+    On hide, an up arrow is displayed in the bottom right corner
+    of the window.
+    Preference stored to preserve decision between loadings.
+
+2008-01-05  Todd Zullinger  <tmzullinger at users.sourceforge.net>
+
+	* doc
+	  doc/figures
+	  data/icons/hicolor/16x16/status
+	  data/man:
+	  ignore generated Makefiles
+
+2008-01-05 Matvey Kozhev <sikon at users.sourceforge.net>
+
+  * data/gtkpod.glade:
+  * src/display_tracks.c:
+  
+    Killed the horizontal scrollbar for good. The space is now first
+	allocated to "non-text" columns (like playcount and rating) and
+	then equally distributed between "text" columns. It isn't possible
+	to exceed the width of the track list.
+	
+  * src/prefs.c:
+  
+    Default columns set to title, artist, album, duration and rating.
+	
+  * src/rb_cell_renderer_rating.c:
+  * src/rb_cell_renderer_rating.h:
+  * src/rb_rating_helper.c:
+  * src/rb_rating_helper.h:
+  
+    Rating cell renderer implementation from Rhythmbox.
+
+  * data/icons/hicolor/16x16/status/*:
+  
+    Rating star icons from Rhythmbox.
+	
+  * src/display_tracks.c:
+  
+    Graphical rating column.
+	
+  * data/gtkpod.glade:
+  * src/display_sorttabs.c:
+  
+    Moved filter tabs to the bottom.
+	
+  * src/display_itdb.c:
+  
+    Name the default local repository "Music Library" instead of "Local".
+	
+  * src/display_playlists.c:
+  * src/display.h:
+  * src/display_itdb.c:
+  
+    Expand the playlist tree on startup.
+
+2008-01-04 Matvey Kozhev <sikon at users.sourceforge.net>
+
+  * data/gtkpod.glade:
+  * src/confirmation.c:
+  * src/display_playlists.c:
+
+    A bit more UI polish in the main window. Sane defaults for pane sizes.
+	
+  * src/misc_confirm.c:
+  
+    Made the quit confirmation use three buttons (Quit without saving,
+	Cancel, Save), per HIG.
+  
+2008-01-03  Todd Zullinger  <tmzullinger at users.sourceforge.net>
+
+	* data/icons/hicolor/*:
+	  ignore generated Makefiles
+
+2008-01-03 Matvey Kozhev <sikon at users.sourceforge.net>
+
+  * data/gtkpod.glade:
+  
+    Killed prefs_window.
+	
+  * src/prefs_window.c -> src/sort_window.c:
+  * src/prefs_window.h -> src/sort_window.h:
+  
+    Removed all prefs_window code.
+	Renamed.
+
+  * src/display_sorttabs.c:
+  * data/gtkpod.glade:
+
+    Retouched Calendar dialog, migrated from GtkCombo to GtkComboBox.
+
+  * src/file_itunesdb.c:
+  
+    write_extended_info is now ignored (always true).
+
+  * src/display_playlists.c:
+  
+    mpl_autoselect is now ignored (always false).
+	Use larger icons in the playlist tree view.
+
+  * src/display_tracks.c:
+  
+    multi_edit_title is now ignored (always true).
+	Find-as-you-type search implemented using GtkTreeModelFilter.
+	(Remember to use get_model instead of gtk_tree_view_get_model)
+	
+  * src/prefsdlg.c:
+  * data/gtkpod.glade:
+  
+    Added "Display tooltips" preference.
+	
+  * data/Makefile.am:
+  * data/*.png:
+  * data/icons/hicolor/*:
+  
+    Icon refresh. Removed unused icons.
+	
+  * src/stock_icons.c:
+  * src/stock_icons.h:
+  
+    Use GtkIconTheme for stock icon handling.
+	
+  * src/misc.c:
+  * src/misc.h:
+  
+    Added utf8_strcasestr (a copied g_utf8_strcasestr from GtkSourceView).
+	
+  * src/help.c:
+  
+    Translation string optimization, as suggested by Daniele Forsi and
+	Bastien Nocera <hadess at hadess.net>.
+
+2008-01-02 Matvey Kozhev <sikon at users.sourceforge.net>
+
+  * src/prefs.c:
+  * src/prefs.h:
+  
+    Added function temp_prefs_copy_prefs to create copies of the current prefs
+	(for Revert buttons).
+	
+  * src/prefsdlg.c:
+  * data/gtkpod.glade:
+  
+    Added Revert button.
+	Fixed: 'subwindows can be hidden by main window' (except for the sort
+	window, this is intended behavior and not a bug)
+	Fixed: 'assertion failed when clicking "remove" buttons'
+	Fixed: 'assertion `g_path_is_absolute (filename)' failed'
+	Fixed: 'signal `file_set' is invalid for instance `0x85d1160''
+	Fixed: 'g_object_unref: assertion `G_IS_OBJECT (object)' failed'
+	
+  * src/fileselection.c:
+  
+    Use the stock GTK directory selection dialog. Code cleanup.
+	
+  * src/confirmation.c:
+  * data/gtkpod.glade:
+  
+    Redesigned confirmation window to use GtkTreeView, as well as for
+	HIG compliance.
+	
+  * src/charset.c:
+  
+    Fixed: 'Invalid column number -1077094488 added to iter'
+	(thanks to Daniele Forsi <dforsi at gmail.com>)
+	Fixed: 'g_object_unref: assertion `G_IS_OBJECT (object)' failed'
+
+2008-01-01 Matvey Kozhev <sikon at users.sourceforge.net>
+
+  * src/misc_input.c:
+  * src/misc.h:
+  * src/misc_playlist.c:
+  * src/display_photo.c:
+  * data/gtkpod.glade:
+  
+    Refactored get_user_string (input box) to use glade, as well
+	as for HIG compliance.
+	
+  * configure.in:
+  * src/help.c:
+  
+    Display libgpod version in the about dialog.
+	
+  * data/icons/Makefile.am:
+  
+    Removed data/icons/gtkpod.xpm.
+	
+  * src/misc.h:
+  * src/misc_confirm.c:
+  
+    Simpler warning functions for cases when a single dialog box is enough
+	(gtkpod_warning_simple, a drop-in replacement for gtkpod-warning, and
+	gtkpod_warning_hig).
+	
+  * src/info.c:
+  * src/info.h:
+  * data/gtkpod.glade:
+  
+	Removed the old info window. (There is still some now-unused code left.)
+	Exported some info gathering functions for infodlg.c.
+	
+  * src/infodlg.c:
+  * src/infodlg.h:
+  * src/display.c:
+  * src/tools.c:
+  
+    Use the new info dialog.
+
+2007-12-31 Matvey Kozhev <sikon at users.sourceforge.net>
+
+  * data/icons/*/gtkpod.png:
+  * data/icons/gtkpod.xpm:
+  * data/gtkpod-*.png:
+  
+    New Tango-style application icon.
+	
+  * src/info.c:
+  * src/info.h:
+  
+    Support for hooks in info_update_*. Will be needed by the new info_dialog.
+	
+  * src/repository.c:
+  * data/gtkpod.glade:
+  
+    Redesigned the repository manager dialog.
+	The behavior of the Delete button is now much more intuitive
+	(thanks to godog for pointing this out).
+
+  * src/prefs_window.c:
+  
+    Hopefully fixed the Dreaded Sort Window Crash once and for all.
+	(Although it would still be better if all developers migrated to glade 3 ;))
+
+2007-12-31 P.G. Richardson <phantom_sf at users.sourceforge.net>
+
+  * src/display_coverart.h
+  * src/display_coverart.c
+  
+  Visible scaled images are cached to improve performance. Only when
+  they are no longer visible is the scaled version unreferenced. If the
+  scaled version does not exist then a new scaled version is created as
+  usual. Thus, when moving along the collection, only 1 image should
+  be scaled when the drawing occurs rather than 9.
+
+2007-12-31 Matvey Kozhev <sikon at users.sourceforge.net>
+
+  * src/prefs.c:
+  * src/prefs_window.c:
+  * src/prefsdlg.c:
+  * src/display_coverart.h:
+  
+    Renamed "colour" to "color". Added text color preference.
+
+  * src/display_coverart.c:
+  
+    Fixed regression with CJK text rendering by using Pango to render.
+	Performance improvement.
+	
+2007-12-30 P.G. Richardson <phantom_sf at users.sourceforge.net>
+
+  * data/cdshine.png
+  * data/Makefile.am
+  
+  png file removed as highlight now done programmatically with cairo.
+  
+  * data/gtkpod.glade
+  
+  GtkDrawingArea added to coverart preview dialog for use with cairo.
+  
+  * src/display_coverart.c
+  * src/display_coverart.h
+  
+  Refactored functions to use cairo for rendering coverart images
+  rather than libgnomecanvas.
+  
+  * src/display_playlists.c
+  * src/display_sorttabs.c
+  * src/prefsdlg.c
+  
+  References to some coverart functions updated.
+  
+  * src/display.c
+  
+  Generic function for display preview dialog refactored to use cairo
+  rather than libgnomecanvas.
+  
+  * src/fetchcover.h
+  * configure.in
+  * INSTALL
+
+  References to libgnomecanvas removed.  
+  
+2007-12-30 Matvey Kozhev <sikon at users.sourceforge.net>
+
+  * data/man:
+  
+    Added manpage from Debian.
+
+  * data/icons/gtkpod.xpm:
+  * data/gtkpod.desktop.in:
+  
+    Added XPM icon from Debian (goes to /usr/share/pixmaps).
+	
+  * data/gtkpod.glade:
+  
+    Small fixes to the info window.
+	
+  * src/prefs.c:
+  * src/prefs.h:
+  * src/file_convert.c:
+  
+    Added new settings:
+    - conversion_enable: skip any conversion if this is false (default: true)
+	- conversion_target_format: format to convert to (default: MP3; only used in prefsdlg.c)
+  
+  * src/prefsdlg.c:
+  
+    Conversion preferences.
+	Fixed a bug that prevented the dialog from being shown again if closed
+	using the X button.
+	
+  * src/infodlg.c:
+  
+    New info window mockup ("Experimental" button in existing info window).
+
+2007-12-30 P.G. Richardson <phantom_sf at users.sourceforge.net>
+
+  * data/gtkpod.glade
+  
+  Added the photo window toolbar back in. Seems it may have been lost by
+  accident and it is required for some functions for the moment.
+
+2007-12-29 Matvey Kozhev <sikon at users.sourceforge.net>
+
+  * data/gtkpod.glade:
+  * src/prefsdlg.c:
+  
+    Filename parse preferences
+    Cover art search preferences
+	File mask exclusion preferences
+	mserv preferences
+	Commands preferences
+	
+  * data/default-cover.png:
+  
+    Less fugly and 1996-style picture
+	
+  * src/display_coverart.c:
+  
+    Set resize algorithm to GDK_INTERP_BILINEAR - yields nicer-looking images
+	
+  * src/charset.c:
+  
+    Added missing call to g_free
+	
+  * src/display_spl.c:
+  
+    Initial HIGification of the smart playlist dialog.
+
+2007-12-28 Matvey Kozhev <sikon at users.sourceforge.net>
+
+  * data/gtkpod.glade:
+  
+    Fixed sort window crash related to absence of tooltips. Marked
+	"Dummy - do not delete"	as not translatable.
+	
+  * src/charset.c:
+  * src/charset.h:
+  
+    Implemented charset_init_combo_box as a drop-in replacement
+	for charset_init_combo
+	
+  * src/prefsdlg.c:
+  
+    Encoding dialog
+
+2007-12-27 P.G. Richardson <phantom_sf at users.sourceforge.net>
+
+  * src/prefs_window.c
+  
+    Fixed potential memory leak in on_coverart_display_bg_color_set
+    
+  * data/gtkpod.glade
+  * src/prefsdlg.c
+  
+    Support for change background colour added to new prefs dialog
+
+2007-12-27 P.G. Richardson <phantom_sf at users.sourceforge.net>
+
+  * data/cdshine.png
+  * data/cdshine_main.png
+  * data/Makefile.am
+  
+    Removed reflection shadowing as this is done programmatically.
+    No higlighting required on main image to png removed entirely.
+    
+  * gtkpod.glade
+  
+    Added colour selection button for CoverArt Display background colour.
+    
+  * src/display_coverart.c
+  * src/display_coverart.h
+  * prefs_window.c
+  * prefs.c
+  
+    When a repository contains no tracks, the CoverArt Display background
+    returns to a default colour of white.
+    The default colour of a "live" CoverArt Display is black but can now be
+    changed with a preference option available from the preferences window.
+    To be added to the new preference dialog shortly.
+    To achieve this and keeps a proper reflection, the reflection shadow is
+    added programmatically using a gdkpixbuf created from data.
       
-       UPDATE: Better icon theme specification compliance.
+2007-12-27 Matvey Kozhev <sikon at users.sourceforge.net>
 
-       BUGFIX: Fixes to tomboy script. Thanks to Javier Kohen.
+	* INSTALL:
+	* configure.in:
+	  Updated dependency versions (GTK 2.8, indirectly glib 2.8 for libgpod).
+	  
+	* src/misc.h:
+	* src/display.c:
+	* src/misc_confirm.c:
+	* src/file_itunesdb.c:
+	* src/ipod_init.c:
+	* src/repository.c:
+	* src/file_export.c:
+	* src/display_spl.c:
+	* src/info.c:
+	* src/tools.c:
+	* src/prefs_window.c:
+	* src/prefsdlg.c:
+	* src/display_coverart.c:
+	* src/misc_playlist.c:
+	* src/file_convert.c:
+	* src/fileselection.c:
+	* src/confirmation.c:
+	* src/display_photo.c:
+	* src/details.c:
+	* src/display_sorttabs.c:
+	* src/help.c:
+	* src/misc.c:
+	  Patch for cygwin build, by Éric Lassauge:
+	  - Added new wrapper function, gtkpod_xml_new, for glade_xml_new.
+	  - Added G_MODULE_EXPORT calls to all glade callbacks.
+	  - Renamed struct member "stderr" in display_photo.c.
 
-       BUGFIX: Issues with display of track length. Inconsistent units used
-       in conjunction with libgpod (Jorg).
+2007-12-26 Matvey Kozhev <sikon at users.sourceforge.net>
 
-       UPDATE: Cover art preview window either displays an album cover
-       to its full size or to a size consistent with the user's desktop.       
+	* src/prefsdlg.c:
+	* data/gtkpod.glade:
+	  New preferences dialog mostly working, except for "advanced" buttons
+	  and format conversion settings (greyed out).
 
-       UPDATE: Download of Album Art from the net feature modified to the
-       ability of dragging-and-dropping a .jpg image from a web browser. This
-       has been changed due to licensing concerns over album art. Drag and 
-       Drop section of README updated accordingly (Paul).
+2007-12-23  Todd Zullinger  <tmzullinger at users.sourceforge.net>
 
-       BUGFIX: Issues on detecting changed local / podcast database. Thanks to
-       Mario Rossi.
+	* configure.in: bump gtk+ requirement to 2.8.0 or newer
+	
+2007-12-21 Matvey Kozhev <sikon at users.sourceforge.net>
+	* src/confirmation.c:
+	  Remove GTK_DIALOG_NO_SEPARATOR from the GtkMessageDialog.
+	  
+	* data/gtkpod.glade:
+	* src/prefs_window.c:
+	  Migrate to GtkComboBox for sort_combo (fixes crash regression).
+	  
+	* src/misc_conversion.c:
+	* src/display_sorttabs.c:
+	  Applied patch to fix crash (ST_CAT_SPECIAL) in misc_conversion.c,
+	  by Andrea <mariofutire at googlemail.com>
+	  [misc_conversion.c: line 300 (ST_to_T): should not be reached]
+	  
+	* data/gtkpod.glade:
+	* src/prefsdlg.c:
+	  Fully implemented the first tab (Display).
 
-       BUGFIX: Issues addressed on Details Window.
+2007-12-20 Daniele Forsi <dforsi at users.sourceforge.net>
+	* display.c: add NULL terminator to the argument list for a call
+	  to gnome_canvas_item_set()
 
-       BUGFIX: Crash avoided when auto-detecting an iTunes database that 
-       cannot be read.
+2007-12-20 Matvey Kozhev <sikon at users.sourceforge.net>
 
-       UPDATE: Display of error output of scripts (Jorg).
+    * data/gtkpod.glade:
+    * src/prefsdlg.c:
+    * src/Makefile.am:
+      Mockup of the new preferences dialog, available in
+      Edit -> Preferences (Experimental).
+      
+    * src/display_itdb.c:
+      gtkpod.track_add_extra.typo.awn.1.patch by Andrew W. Nosenko
+      <andrew.w.nosenko at gmail.com>:
+      
+      Fix typo, avoid re-creating ExtraTrackData if it already exists
+      as consequence.
+      
+    * src/charset.c:
+    * src/clientserver.c:
+    * src/prefs_window.c:
+    * src/prefs_window.h:
+      gtkpod.gcc-warn.awn.1.patch_[zeT1qb].gcc-warn.awn.1.patch
+      by Andrew W. Nosenko:
+      
+      Eliminate some GCC warnings.
+      
+    * doc/*:
+    * doc/figures/*:
+      Completed import of documentation from the wiki.
 
-       IMPROVEMENT: Configuring and Compilation support (Todd).
+2007-12-19 Matvey Kozhev <sikon at users.sourceforge.net>
 
-       UPDATE: New scripts for flac, ogg, mp3, m4a, wav conversion to mp3 and
-       m4a. Thanks to Peter van de Does.  
+	* COPYING-DOCS:
+	  Text of the GFDL 1.2. Documentation should be under the GFDL to
+	  ensure that it remains license-compatible with the wiki.
+	
+	* doc/gtkpod.xml:
+	  Initial, very incomplete documentation import from the wiki.
+	  
+	  Do not modify the HTML files directly. They are generated from
+	  the DocBook XML file. Use "make update-docs" to regenerate them.
+	
+	* Makefile.am:
+	* doc/Makefile.am:
+	  Added the update-docs rule to generate HTML documentation from XML.
+	  
+	* src/misc.c:
+	* src/misc.h:
+	  Moved open_about_window to help.c.
+	  
+	* src/help.c:
+	* src/help.h:
+	* src/gtkpod.glade:
+	  Support for help contents, online help, and report bug menus.
+	  
+	  To use context-sensitive help, call gtkpod_open_help_context
+	  (in help.h) using the ID of the chapter or sect1 in the DocBook/XML
+	  file as the context. It will first try to open the XML file in yelp
+	  (the GNOME help viewer), and if that fails, will open the
+	  corresponding HTML file in the browser.
+	  
+	* src/misc_confirm.c:
+	* src/file_itunesdb.c:
+	* src/misc_playlist.c:
+	* src/fetchcover.c:
+	  More message box HIGification.
 
-       BUGFIX: Model number identified and written to ipod upon loading to ensure
-       libgpod can read the ipod's artwork.
+2007-12-18 Matvey Kozhev <sikon at users.sourceforge.net>
 
-       UPDATE: Updates and bug fixes to gapless playback. Thanks to
-       Michael Tiffany.
+	* src/confirmation.c:
+	* src/confirmation.h:
+	  Added the gtkpod_confirmation_hig and gtkpod_confirmation_simple
+	  functions for HIG-compliant confirmation messages.
+	  
+    * src/file_itunesdb.c:
+      Migrated the "directory structure" dialog to the HIG functions.
 
-       BUGFIX: When Cover Art Display is widened, covers space out rather
-       than stretch.       
+2007-12-18 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-       BUGFIX: Fixed memory leaks in CoverArt Display and Details window.
-       Thanks to Daniele Forsi.
+	* configure.in:
+	  bump version for future development (0.99.13SVN)
 
-       UPDATE: French translation. Thanks to Éric Lassauge.
-     
-       UPDATE: Italian translation. Thanks to Daniele Forsi.
+2007-12-17  Todd Zullinger  <tmzullinger at users.sourceforge.net>
 
-       UPDATE: Hebrew translation. Thanks to Assaf Gillat.
+	* configure.in:
+	  bump version for 0.99.12 release
 
-       UPDATE: Swedish translation. Thanks to Stefan Asserhäll.
+2007-12-17  Todd Zullinger  <tmzullinger at users.sourceforge.net>
 
-       NEW FEATURE: Added Romanian translation support. Thanks to 
-       Alex Eftimie.
+	* po/he.po:
+	  update Hebrew translation (Assaf Gillat)
 
-       NEW FEATURE: Added Russian translation support. Thanks to
-       Matvey Kozhev.
+	* po/ro.po:
+	  update Romanian translation (Alex Eftimie)
 
-gtkpod V0.99.10
+	* po/sv.po:
+	  update Swedish translation (Stefan Asserhäll)
 
-       NEW FEATURE: on-the-fly conversion of WAV, FLAC and OGG (as well
-       as MP3 and M4A). Thanks to Marc d[readlock], Simon Naunton and
-       Peter Edwards! Multi-threaded background conversion was added by
-       Jorg Schuler.
+2007-12-16 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-       NEW FEATURE: editing of TV show metadata and track media
-       type. Thanks to Mario Rossi.
+	* configure.in: added Russian translation.
 
-       NEW FEATURE: Display of Album Art. Thanks to P.G. Richardson.
+2007-12-16 Matvey Kozhev <sikon at users.sourceforge.net>
 
-       NEW FEATURE: Download of Album Art from the net. Thanks to
-       P.G. Richardson.
+        * po/ru.po
+          Added Russian translation.
 
-       NEW FEATURE: copy playlists and tracks from within the context
-       menu without DND can simplify life with many playlists. Thanks
-       to Andrzej Palejko for his patch.
+2007-12-13 Todd Zullinger  <tmzullinger at users.sourceforge.net>
 
-       NEW FEATURE: preliminary support for calculating gapless
-       playback information (lame encoded mp3 files only).  Thanks to
-       Michael Tiffany.
+	* po/*.po
+	  po/gtkpod.pot:
+	  update translation templates
 
-       UPDATE: Smart playlists now support the following new fields:
-       album artist, tv show, last skipped, season number, skipcount
-       and video kind.
+2007-12-13 P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-       IMPROVEMENT: Clicking on an item with the right mouse button
-       will select and open the context menu, which is the intended
-       behavior. As a consequence, the interface will remain blocked
-       while the selection is being updated and displayed.
+	* stock_icons.c
+  
+          Squashed some compiler warnings.
+    
+2007-12-13 P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-       BUGFIX: dragging tracks between two iPods would sometimes not
-       actually copy the file.
+	* src/context_menus.c
+	  src/display_photo.h
+	  src/display_photo.c
+    
+	  Bug fixes made to photo window. Remove photo action disabled
+	  on thumbnail view context menu when no thumbs selected. The
+	  Remove album action was not removing an album unless the
+	  album contained photos. Thanks to Alex Eftimie for raising
+	  the bugs.
 
-       UPDATED: Italian translation (thanks to Daniele Forsi)
+2007-12-13 Daniele Forsi <dforsi at users.sourceforge.net>
+        * src/file.c: add variable for existing %s directive
 
-       PACKAGING: Install a .desktop file and icons according to the
-       freedesktop.org specification.
+	* src/file_export.c
+	  src/file_itunesdb.c: make strings identical to existing ones
 
-gtkpod V0.99.8
+	* src/display.c
+	  data/gtkpod.glade: a string marked translatable in glade must
+	  be translated in code instead
 
-       NEW FEATURE: Support of several iPods (currently you need to
-       edit the itdb_* entries in ~/.gtkpod/prefs to add
-       repositories). Each iPod can be loaded/ejected
-       individually. Scripts are called before loading (gtkpod.load)
-       and after saving (gtkpod.eject) with the mountpoint as the
-       first argument. If you need to mount the iPod manually, put the
-       mount command in gtkpod.load.
+2007-12-12 Daniele Forsi <dforsi at users.sourceforge.net>
+	* src/misc_confirm.c
+	  src/display_photo.c
+	  src/fetchcover.c
+	  src/misc.c
+	  data/gtkpod.glade: fix typos
 
-       NEW FEATURE: Support for mobile phones supporting iTunes (see
-       Changelog_detailed for details)
+	* src/misc.c: update list of translators
 
-       NEW FEATURE: Lyrics are displayed on the iPod when available.
+2007-12-12  Todd Zullinger <tmzullinger at users.sourceforge.net>
 
-       NEW FEATURE: Preliminary (no meta data) support of h.264 video
-       format via the libmp4v2 interface. Thanks to Peter Lieverdink.
+	* po/POTFILES.in:
+	  tell gettext/intltool to treat translation strings as utf-8
 
-       NEW FEATURE: Script to sync notes from Tomboy to the
-       iPod. Thanks to Tejas Dinkar.
+2007-12-12 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-       NEW FEATURE: Support of iTunes iTunNORM tag for volume
-       normalisation of mp4 tracks.
+	* src/display_tracks.c (tm_create_treeview)
+	  src/display.c (display_create):
+	  moved initialisation of track view sorting to after the
+	  entire display is set up to avoid assertion errors.
 
-       NEW FEATURE: Support of aacgain's replay gain tag for volume
-       normalisation of mp4 tracks (takes precedence over the iTunNORM
-       tag, see http://altosdesign.com/aacgain/)
+	* data/gtkpod.glade
+	  data/gtkpod-add-dirs.png (modified)
+	  data/gtkpod-logo.png (modified)
+	  data/menus-toolbars.diff (modified)
+	  data/gtkpod-add-files.png (modified)
+	  data/gtkpod-read-16.png (new)
+	  data/gtkpod-add-playlists.png (modified)
+	  data/gtkpod-read.png (modified)
+	  Usability patch by Sikon
 
-       NEW FEATURE: Support for start time, stop time, skip when
-       shuffling and remember playback position.
+	* data/Makefile.am: added gtkpod-read-16.png
 
-       IMPROVEMENT: Support for coverart has been improved. You may
-       have to select your iPod model from a list of available models
-       if your iPod cannot be identified automatically, as is the case
-       for iTunes mobile phones or the new 6th generation iPod Nanos.
-       Coverart embedded in the music file (APIC tag) can now also
-       read. Support to read the coverart from specified files is
-       still available though. Please note that at present APIC
-       support only works when adding tracks directly to the iPod. It
-       does not work when you add tracks to a LOCAL repository first
-       and use Drag and Drop to move the track to your iPod.
+	* scripts/Makefile.am: sorted files alphabetically for ease of
+	  checking.
 
-       IMPROVEMENT: Podcasts are marked as unplayed (on the iPod, with
-       a bullet in front of the title) when newly added to the podcast
-       list, and unmarked once they have been played once on the iPod.
+	* po/*.po
+	  po/gtkpod.pot: run 'make update-po'
 
-       IMPROVEMENT: Support to sync thunderbird's address book to an
-       iPod Nano with old firmware that would otherwise only display
-       the first address. This script may be useful to other users as
-       well as it writes out one vcf file per contact instead of just
-       one big file containing all contacts. Thanks to Paul Oremland.
+	* src/display.c (display_adjust_menus)
+	  Disable 'Edit Smart Playlist' menu when no playlist is
+	  displayed. Thanks to Daniele Forsi.
 
-       IMPROVEMENT: Handle multiple calendar and task files in
-       sync-evocalendar script. Thanks to Michele C. Soccio
+2007-12-11 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-       NEW: Spanish translation. Thanks to Alejandro Lamas.
+	* src/mp3file.c(get_mp3_info): fix integer overlow in
+          calculation of track length of very long tracks. Thanks to
+          Dylan Hall.
 
-       BUGFIX: Pressing 'OK' when syncing directories several times
-       could crash gtkpod. Thanks to dforsi.
+	* src/file_convert.c(conversion_scheduler_unlocked,
+          transfer_get_failed_tracks): attempt to fix the problem of
+          non-transfered tracks. Unable to reproduce the problem
+          myself so I have no way to say whether this is a fix or not.
 
-       BUGFIX: Exporting tracks did not work if the template
-       extensions (.mp3...) did not match case-sensitively, possibly
-       leading to non-exported tracks. Thanks to Mattias Wadman.
+	* src/misc.h
+	  src/misc.c: use standard gtk_about_dialog(). Thanks to Sikon.
 
-       BUGFIX: When updating tracks, the filename of the music file
-       and the filename of the thumbnail could be messed up. Fixed.
+2007-12-11  Todd Zullinger  <tmzullinger at users.sourceforge.net>
 
-       BUGFIX: The Edit Detail dialog did not handle the 'Year' field
-       correctly.
+	* data/gtkpod.glade:
+	  map ctrl-s to "Save Changes" instead of "Sorting Options"
 
-       BUGFIX: When updating tracks, files were not copied to the iPod
-       even if the file was changed.
+	* po/POTFILES.in
+	  po/POTFILES.skip:
+	  add some missing files
 
-       BUGFIX: Removing playlists could crash gtkpod.
+	* po/es.po
+	  po/fr.po
+	  po/de.po
+	  po/sv.po
+	  po/ja.po
+	  po/gtkpod.pot
+	  po/he.po
+	  po/it.po
+	  po/ro.po:
+	  update translation templates
 
-       WORKAROUND: Disable sorting of playlist view as this crashed
-       gtkpod.
+2007-12-09 P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-gtkpod V0.99.4
+  * Added updates since July to ChangeLog. 
 
-       BUGFIX: Options for exporting playlist files could not be
-       changed.
+2007-12-09 P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-       BUGFIX: Fixed segfault when updating tracks or directories with
-       artowrk present.
+  * src/display_photos.c:
+  
+  When adding multiple images to photo collection, they are now
+  added in alphabetical order by filename. Thansk to Andrew W.
+  Nosenko for the patch.
+  
+  Improved doc comments around photo functions.
 
-       BUGFIX: Browse button for "Sync Notes Script" opened a
-       directory browser instead of a file browser.
+2007-12-06  Todd Zullinger  <tmzullinger at users.sourceforge.net>
 
-       BUGFIX: Writing ID3v2.4 tags in UTF8 did not always
-       work. Thanks to 't0c' for the patch.
+    * data/gtkpod.desktop.in:
+      better Icon Theme Specification compliance
 
-       BUGFIX: Context Menus for removing playlists from the iPod were
-       not displayed. Thanks to 'rob/biffhero' for pointing this out.
+2007-11-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-gtkpod V0.99.2
-       BUGFIX: Fix segfault when applying preferences.
+  * configure.in: raised required libgpod version to 0.6.0
 
-       BUGFIX: Don't require libcurl (not actively used).
+2007-11-23 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-       UPDATE: Swedish translation catalog
+  * scripts/sync-tomboy.sh:
 
-       IMPROVEMENT: Allow export of multiple thunderbird address
-       books (by naming the output filename).
+    Fixes by Javier Kohen: "First, it escapes the mount point to allow
+    white space in it. Second, it removes tags from the whole note
+    contents so that links in the title don't end up in the file
+    name. Last, but not least, colons are converted to hyphens, since
+    the former are not valid characters in the FAT family of file
+    systems, which the iPod uses."
 
-gtkpod V0.99.0
-       NEW: type-ahead search functionality. Thanks to Nick Piper,
-       http://www.nickpiper.co.uk/ -- please note that the list view
-       you want to search in needs to have keyboard focus. Selection
-       of the search column is done by clicking anywhere inside the
-       column.
+2007-11-17 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-       NEW: Handle Compilations decently. The compilation mp3 tag is
-       read and written, and compilation artists can be grouped into
-       "Compilations" in the Artist filter tab. Thanks to Iain Benson!
+  * src/display_spl.c:
+    Renamed "Time" to "Track length" for better understanding.
+    Fixed track length display (unit was seconds but msecs had to be
+    entered. Furthermore, due to a bug in libgpod offline playlist
+    generation assumed the track length was given in seconds whereas
+    the live-update on the iPod assumed it was given in msecs. You
+    need at least libgpod SVN version 1797 for this to work
+    consistently. libgpod 0.6.0 does not contain the fix.
 
-       NEW: Window for edit of track details, including functionality
-       to set thumbnails. The thumbnails are not stored as tags in the
-       file as iTunes does it. Instead, the original filename is
-       stored.
+    src/display_photo.c:
+    Squashed warning about pointer to integer conversion.
 
-       NEW: Display and setting/removing of thumbnail images. Choose
-       "Show Details" from the context menu (right mouse-button). New
-       thumbnails are displayed by the iPod but get wiped by iTunes,
-       however.
+2007-11-14 P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-       NEW: Automatic adding of thumbnail images when adding new
-       tracks or updating existing ones. See the option on the 'Track
-       Info' page of the preferences dialog for settings about which
-       filename will be used. Any filename is possible, even filenames
-       constructed from the album or artist name.
+  * src/display_photos.c
+  
+  Fix for cancel button when removing a photo album.
+  Photo image removal action display a proper question dialog
+  as to whether the photo should be deleted from the database
+  as well as removing the photo from the selected album.
+  
+2007-11-14 P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-       NEW: very basic iPod video support (you can add Videos but no
-       metadata is filled in). Thanks to Uwe Herman for the input.
+  * data/stock_icons.c: corrected new name of photo icon
 
-       NEW: script to sync contacts from a Palm (via jppy
-       http://wiki.zanu.org.uk/jppy). Thanks to Nick Piper,
-       http://www.nickpiper.co.uk/)
+2007-11-13 P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-       NEW: basic podcast support (use e.g. bashpodder or gpodder to
-       download podcasts, then add them directly into the podcast
-       playlist on the iPod).
+  * data/tunes_playlist_icon-48.png: new icon for consideration
+  
+2007-11-12 P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-       NEW: transition to libgpod to read/write iTunesDB. See
-       www.gtkpod.org/libgpod.html for details.
+  * data/gtkpod.glade
+  * src/prefs.c
+  * src/prefs_window.c
+  
+  Preference added for controlling display of delete confirmation
+  dialog in display_photo window for removal of a photo album.
+  
+  * src/display_photo.c
+  * src/diaplay_photo.h
+  
+  Rename action added for renaming a photo album.
+  Dialog altered in remove album function so that on clicking
+  "Yes Do Not Display Again", the preference is set to stop the
+  dialog displaying again.
+  
+  * src/context_menus.c
+  
+  Popup menuitem for photo album rename action.
 
-       IMPROVEMENT: added comment, category, description, podcast url,
-       podcast rss, subtitle fields and release date to displayable
-       fields.
+  * data/gphoto_playlist_icon-48.png
+  * data/tunes_playlist_icon-48.png
+  * data/Makefile.am
+  * src/stock_icons.c
+  * src/stock_icons.h
+  * src/Makefile.am
+  * src/misc.c
+  
+  Stock icons created from image files for use as playlist icons.
+  stockid_init() is called from misc.c upon loading of application.
+  This finds the correct paths of the specified icon images and loads
+  pixbufs of them. These are then added to the default stock factory.
+  Stock ids of these images can then be used throughout the application.
+  
+  * src/display_playlists.c
+  
+  Uses the new stock ids for the playlist icons.
 
-       IMPROVEMENT: Support playcounts on iPod Shuffle as well
+2007-11-07 P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-       IMPROVEMENT: Remember size of 'Edit Smart Playlist' dialog and
-       use scrolled window for the rules display.
+  * data/gphoto*.png
+  * data/Makefile.am
+  
+  New icons for menu items in photo window.
+  
+  * data/gtkpod.glade
+  
+  Components of photo window changed around to make more sense from
+  a user perspective.
+  
+  * src/display.c
+  * src/display.h
+  
+  Generic display_image_dialog function added for displaying a bare
+  transient dialog with only the required pixbuf image in it. Used
+  for coverart display and photo window.
+  
+  * src/display_photo.c
+  
+  View full size action added to menus.
+  Rename selected album added to menus.
+    
+2007-11-05 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-       IMPROVEMENT: Update smart playlists automatically (on
-       load/display/save) if 'live updating' is set.
+  * src/display_playlists.c (pm_set_renderer_pix): display a different
+    icon for the photo playlist. Customized icons welcome for both
+    standard playlists and the photo "playlist".
 
-       IMPROVEMENT: Support for more mp3 file tags: Compilation
-       (TCMP), Podcast URL/Title (TID), Podcast Description (TDS),
-       Podcast Subtitle (TT3), Podcast RSS (WFD), Podcast Release Date
-       (TDR). Mostly reading only because of limited support on
-       id3tag's side.
+2007-11-04 P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-       UPDATED: Italian translation (thanks to Edward Matteucci)
+  * src/display_photos.c
+  
+  New ipods do not necessarily have ITDB_THUMB_PHOTO_LARGE or any
+  other photo format so cannot assume these in display of thumbs in
+  iconview or preview components.
+  
+  Fix is to find the first existing smalled thumb in the case of the
+  iconview and biggest in the case of preview and scale the pixbufs
+  to uniform sizes.
+  
+  Also, fix to clear the preview when a data change like remove occurs.
 
-       BUGFIX: 'Check iPod's files' could crash under certain
-       circumstances (thanks to David Mansfield for the patch).
+2007-11-04 P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-       BUGFIX: Lame's Replay Gain was read incorrectly for certain
-       values. Thanks to Chris Brotherton for tracking this down.
+  * src/fetchcover.c
+  
+  Opened up filename handling functions to rest of gtkpod.
+  Reduced number of functions hidden if curl is not available.
+  Fetch_Cover object used as vehicle for handling the filename
+  even if image is not being downloaded.
+  
+  * src/fetchcover.h: parent_window added to Fetch_Cover object.
+  
+  * src/display.h
+  
+  Support for IMAGE_JPEG target type.
+  
+  * src/details.c
+  * src/display_coverart.c
+  
+  Support for image/jpeg target in drag and drop operations on
+  cover art. This target is provided by konqueror (not by firefox
+  at the moment but supposedly at some point) and carries the
+  displayed jpeg image as its data so redownloading is not required.
+  
+  Downloading option used as fallback if this target is not provided.
+  
+2007-11-03 P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-       BUGFIX: Prevent that all rules in a smart playlist get deleted,
-       which would mess up the iTunesDB.
+  * src/display_coverart.c
+  
+  Fixed bug in display coverart. Irregular sized album images were
+  being scaled to the default sizes. 
+  
+2007-11-01 P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-       BUGFIX: Choosing 'Delete' from the menu (not context menu) now
-       works again.
+  * README
+  
+  Updated README with some instructions on using the photo window.
 
-gtkpod V0.95.CVS
-       NEW: script to sync addressbooks in ldif format provided by
-       Sebastien BERIDOT.
+2007-11-01 P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-       NEW: script to sync kNotes (KDE note program) provided by
-       Sebastian Scherer.
+  * src/display_photo.c
+  * src/display_photo.h
+  
+  Photo support added to gtkpod.
+  
+  * data/gtkpod.glade: photo window gui components added.
+  
+  * src/context_menus.c
+  * src/context_menus.h
+  
+  Disable right-click menu if Photo "playlist" is selected.
+  Add context menus to album and icon views in Photo window.
+  
+  * src/display_itdb.h
+  
+  Photo database and photodb data changed flag added to Extra iTunes
+  db data structure
+  
+  * src/display_playlists.c
+  
+  Photo playlist added to playlist tree if ipod has a photo db or
+  a new one is created photos are supported.
+  
+  * src/display_private.h
+  * src/display_sorttabs.c
+  
+  Getter and Setter added for control of the selected sorttabs. Allows
+  sorttabs to be returned to their status prior to the photo window
+  being opened.
+  
+  * src/file_itunesdb.c: support for loading of ipod photo database.
+  * src/itdb.h: typedefs for photo database.
+  * src/Makefile.am: compile photo source files.
+  
+  * src/misc.c
+  * src/misc.h
+  
+  Parse artwork from string function. Used in photo DnD operations. 
+  
+  * fetchcover.c: removal of fetchcover_cleanup as no longer needed.
+  
+2007-10-27 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-       CHANGE: MP3 tags: use 'Band/Orchestra/Accompaniment' (TPE2) as
-       artist if it exists. Otherwise use 'Lead artist/Lead
-       performer/Soloist/Performing group' (TPE1) as before. Let me
-       know if this causes problems for you.
+  * src/fetchcover.c (fetchcover_cleanup): function only used if curl
+    is available -- avoid compilation warning.
 
-       UPDATED Hebrew translation (thanks to Assaf Gillat)
+  * configure.in
+    src/mp4file.c: recognize if additional argument is needed for
+    MP4GetMetadataFreeForm() and MP4GetMetadataCoverArt(). Thanks to
+    Felix Homann.
 
-       SAFETY: call sync() and flush all buffers to the iPod after
-       writing the iTunesDB -- should minimise filesystem errors
-       caused by people disconnecting the iPod without unmounting.
+2007-10-27 P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-       BUGFIX: Copying playlists by drag and drop could confuse smart
-       playlists referencing these playlists. Fixed.
+  * src/display_coverart.c
+  * data/gtkpod.glade
 
-       After copying playlists by drag and drop, smart playlists
-       refering to these playlists could become confused.
+  Improved the preview fullsize artwork dialog. Now scales the
+  image to respect the size of the desktop, while displaying
+  the true resolution in a label below it. Preview dialog now
+  constructed in glade file rather than from scratch.
 
-gtkpod V0.94.0
-       NEW FEATURE: stable sorting of track view. This allows you, for
-       example, to first sort by title, then by artist. The list will
-       then be sorted by artist, but all titles of each artist remain
-       sorted as well (before the tiles were random).
-       Arbitrary depth and order of stable sorting is possible by
-       clicking the sort columns in the desired order.
+2007-10-21 P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-       NEW FEATURE: define your own ignore list of words that should
-       be ignored during sorting (sort options: ctrl-s).
+  * src/fetchcover.c
+  * src/fetchcover.h
 
-       IMPROVEMENT: improved handling of dangling files (files that
-       are referenced in the iTunesDB but are not present on the
-       iPod).
+  Changed purpose of fetchcover. It no longer displays a
+  dialog window for dealing with covers. Instead it
+  provides the internal curl retrieve functions only.
 
-       IMPROVEMENT: use 'eject' instead of 'umount'. Also fixes the
-       bug that 'could not unmount' was always displayed, even if the
-       umount was successful (thanks to Andreas Hauber).
+  * src/context_menus.c
 
-       BUGFIX: Some iTunesDB files written by iTunes could not be read
-       because of an error in the parse code (gtkpod would attempt to
-       read beyond the end of the file).
+  Removed fetchcover context menu entries as no longer
+  required.
 
-       BUGFIX: Fixed compatibility issue with new firmware 3.1 and
-       iTunes 4.9 (only 256 tracks were shown on the iPod, iTunes
-       removed the majority of the tracks from the iPod). Podcasts are
-       still not supported, however, and will be lost when handled by
-       gtkpod.
+  * src/details.c
 
-       BUGFIX: Fixed On-The-Go playlist handling (thanks to "Todd").
+  Added drag and drop receive function to thumbnail cover
+  image. Drag a jpg file displayed in firefox or konqueror
+  onto the cover artwork thumbnail in the Edit Details
+  window to download it and set it as the track's artwork.
 
-       UPDATE: Hebrew translation catalog. Thanks to Assaf Gillat!
+  * src/display_coverart.c
+  * src/display_coverart.h
 
-gtkpod V0.93.1
-       BUGFIX: When changing the mountpoint, the change was not
-       written to the preferences file correctly.
+  Added drag and drop receive function to main image on
+  coverart display. Drag a jpg file displayed in firefox or
+  konqueror onto the main image to set it as the coverart
+  for the album's tracks.
+  
+  * data/gtkpod.glade
 
-       BUGFIX: 'Copy from iPod' just failed in offline mode instead of
-       giving meaningful error messages -> fixed.
+  Removed fetchcover dialog from the glade file.
 
-       IMPROVEMENT: 'Copy from iPod' is now 'Export from Database' and
-       allows to export from the local database as well. This is
-       useful if you want to rename files in a consistant manner.
+  * README
 
-gtkpod V0.93
-	Complete rewrite of reading/writing the iTunesDB. The code for
-	reading and writing the iTunesDB (and other iPod/Shuffle
-	files) is completely self-contained (itdb*.[ch]) and can
-	easily be used in other projects.
+  Updated drag and drop section to include information about
+  dnd'ing jpgs onto coverart display and Edit Details dialog.
+  
+2007-10-07 Michael Tiffany <tiffman at users.sourceforge.net>
 
-	NEW FEATURE: Support of 'local database' containing tracks on
-	local harddisk. The contents of the local hard disk can be
-	browsed in the known gtkpod-fashion: by artist or genre or
-	album etc. Tracks and entire playlists can be dragged over to
-	the iPod or Shuffle database. By using smart playlists with
-	defined size in MBytes, the Shuffle can be filled effectively.
+	* src/display_itdb.c: patch to set "changed" and "imported" to
+	  TRUE for non-ipod (local and podcast) databases
+	  Thanks to Mario Rossi.
 
-	Drag and drop also works in the opposite direction: drag
-	tracks or entire playlists from the iPod/Shuffle database into
-	your local database. If necessary, the tracks are copied to
-	your harddisk automatically.
+2007-10-04 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-	NEW FEATURE: sync-abook.sh and sync-webcalendar.sh scripts
-	provided by Daniel Kercher.
+	* src/details.c
+	  data/gtkpod.glade: fixed issues with details window:
+	  1) window is shown before resize, which gives an annoying
+             flickering
+	  2) if Misc is the selected panel, the it is not restored
+             next time
+	  Thanks to Mario Rossi.
 
-	NEW FEATURE: sync-thunderbird.sh script	provided by Clinton
-	Gormley.
+	* scripts/convert-2mp3.sh: fix handling of genre option
 
-	IMPROVEMENT: support MP3 disc numbers (thanks to Leigh Dyer)
+2007-09-30  Todd Zullinger  <tmzullinger at users.sourceforge.net>
 
-	IMPROVEMENT: Use of GTK filechoosers instead of fileselectors
-	(thanks to James Ligget)
+	* configure.in
+	  src/Makefile.am:
+	  add --with/--without options to configure for curl, flac,
+	  libmp4v2, and ogg vorbis dependencies.
 
-	IMPROVEMENT: sync-notes.sh now also works on directories (thanks
-	to Thomas Perl)
+	  separate pkg-config calls so that the configure output is
+	  more informative when one of the required deps is missing.
 
-	UPDATE: use 'iconv' instead of 'recode' in the provided export
-	scripts. Thanks to Alexey Dokuchaev.
+	  minor cosmetic cleanups.
 
-	UPDATE: All translation catlogs updated (French, German,
-	Italian, Japanese and Swedish)
+	* src/fetchcover.h:
+	  remove duplicate comment tag (silences a compiler warning)
 
-	BUGFIX: display and reading of compilation flag fixed (thanks
-	to Julien Oster for the patch)
+2007-09-15 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-	BUGFIX: don't hang when parsing playlist files with empty
-	lines (thanks to Mattias Wadman)
+	* src/file_itunesdb.c (gp_load_ipod): make sure the ipod model
+	  number is known and written to the iPod before loading the
+	  iTunesDB. If the model number is not known at the time of
+	  loading the iTunesDB, libgpod will not read the ArtworkDB,
+	  thereby losing all artwork.
 
-	BUGFIX: When exporting from the iPod: if the original filename
-        of a track was available, the track was not copied from the
-        iPod but from the original location on the user's
-        harddisk. Had the original file been removed or the export was
-        done on another computer (where the original file was not
-        present), the export failed.
+	* scripts/ removed previous
+	  convert-{flac|ogg|mp3|m4a|wav}2{mp3|m4a} scripts and
+	  replaced with convert-2{mp3|m4a} drafted by Peter van der
+	  Does. These scripts share gtkpod-convert-common.sh.
 
-gtkpod V0.88.2
-	IMPROVEMENT: Added '%p' (current playlist) identifier when
-	exporting tracks.
+	  scripts/Makefile.am: added/removed the files mentioned above.
 
-	BUGFIX: DND in playlist view did not work.
+	* src/prefs.c: automatically replace prefs settings to use the
+          new generic conversion scripts.
 
-	BUGFIX: scripts sync_evolution, sync_evocalendar and sync_notes
-	were not included in standard distribution.
+2007-09-02  Todd Zullinger  <tmzullinger at users.sourceforge.net>
 
-gtkpod V0.88.1
-	BUGFIX: Should now work with the shuffle -- forgot to change a
-	version number in the iTunesDB file :-(
+	* scripts/convert-m4a2mp3.sh: fixed a typo, spotted by Peter
+	  van der Does.
 
-gtkpod V0.88
-	NEW FEATURE: Support for iPod Shuffle. Thanks to Steve Wahl.
+2007-08-26 P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-	BUGFIX: In smartlists star rating better supported. One star is
-	"1" and not "20".
+	* src/fetchcover.c
+	* src/fetchcover.h
+	* src/display_coverart.c
+	* src/details.c
+	* src/context_menus.c
+	* gtkpod.glade
+  
+	Commented out fetchcover due to licensing problems. Wiil re-enable
+	once a new approach has been fully considered.
 
-gtkpod V0.87
-	NEW FEATURE: Support for smart playlists.
+2007-08-25 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-	NEW FEATURE: Added scripts sync_evolution, sync_evocalendar and
-	sync_notes to synchronise Contacts, Calendar and Tasks from
-	Evolution and to synchronise Notes with anything in the folder
-	~/ipod_notes.
+	* src/misc_track.c (gp_track_by_filename): stop iteration when
+          result is found. Thanks to Clarke Brunsdon for bringing this
+          to my attention.
 
-        BUGFIX: drag and drop was only implemented for mp3 files, not
-        for m4a, m4p, m4b, and wav files (thanks to Chris Micacchi for
-        pointing it out and supplying a first fix).
+2007-08-18 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-	BUGFIX: Category playlists "for each year" did not work.
+	* src/autodetection.c (ad_timeout_cb): avoid crash when
+          iTunesDB could not be read successfully.
 
-	BUGFIX: Invalid charset conversion could hang gtkpod.
+	* src/file_itunesdb.c (set_progressbar): only update window if
+          a change occured.
 
-	IMPROVEMENT: Support for iTunes' "checked", filedescriptor (kind),
-	and grouping fields.
+	* src/tools.c (tools_sync_script): make sure the stderr of
+          scripts is displayed as well.
 
-	IMPROVEMENT: When sorting ignore 'the' and similar at the
-	beginning of the title (thanks to Chris Micacchi)
+2007-08-09 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-	IMPROVEMENT: Use statvfs() instead of a call to the external
-	command "df" to determine the free space on the iPod (thanks
-	to Steve Jay)
+	* src/file_convert.c (conversion_log_append): don't append
+	  character by character as this takes up too much CPU
+	  time. Thanks to Javier Kohen for the patch.
 
-	IMPROVEMENT: The fields "time_modified/played/created" can now
-	be edited from within the track view.
+2007-08-08  Todd Zullinger  <tmzullinger at users.sourceforge.net>
 
-	IMPROVEMENT: Creation of playlists for each rating
-	(Unrated, and Rated 1..5).
+	* data/gtkpod.glade
+	  src/prefs_window.c
+	  TODOandBUGS:
+	  Convert the Track Attributes preference from a series of
+	  checkboxes to an Available and Displayed list.  Jorg did a
+	  bit of cleanup and added many nice features.
 
-	UPDATE: Swedish translation catalog
+2007-08-06 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-	UPDATE: Italian translation catalog
+	* flacfile.c: include "mp3file.h" to avoid compile time
+          warning.
 
-gtkpod V0.85.0
-	BUGFIX: when clicking onto the column header of the track
-	treeview three times and moving sidewards with the mouse at
-	the same time, gtkpod crashed. Crashing was due to a bad
-	workaround of a bug in the GTK+-library. Removed workaround
-	and instead submitted a bug report against GTK+. The bug has
-	been fixed in version 2.5.4 of the GTK+ library.
+2007-08-03 P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-	BUGFIX: When using "block display during updates" the display
-	was still updated during import. Fixed.
+	* src/display_coverart.h: added DEFAULT_IMG_SIZE
 
-	BUGFIX: The menu item "Check iPod's Files" was not reliably
-	activated. It's now always selectable when not in offline
-	mode.
+	* src/display_coverart.c: improvements to image dimension
+	  setting algorithms for both x and y. Using
+	  ITDB_THUMB_COVER_LARGE for the preferred image means the
+	  coverart can be too big in the coverart display
+	  window. Thus, introduces a default maximum and algorithm to
+	  set it.
 
-	BUGFIX: when writing tags to file the track tag was
-	deleted.
+2007-08-02  Todd Zullinger  <tmzullinger at users.sourceforge.net>
 
-	BUGFIX: special sorttab: sorting according to "time modified"
-	and "time created" did not work.
+	* data/gtkpod.glade:
+	  add fetchcover_dialog_test
 
-	BUGFIX: handling of orphaned tracks that had been added to the
-	ipod again are now handled correctly.
+2007-07-31  Todd Zullinger  <tmzullinger at users.sourceforge.net>
 
-	BUGFIX: fixed case-sensitivity issue while handling orphaned
-	tracks.
+	* INSTALL:
+	  update the dependency list
 
-	BUGFIX: fixed bug that caused gtkpod to hang when activating
-	duplicate detection without having the list of duplicates
-	displayed (must have been around ever since duplicate
-	detection was introduced...)
+2007-07-30 P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-	BUGFIX: gain tags written by mp3gain were never read
-	correctly. Normalization using mp3gain was therefore
-	impossible. Didn't anyone ever use that feature?!
+	* src/fetchcover.c: improved return status of
+	  net_retrieve_image function so that if one image fails to be
+	  retrieved then the dialog does not have to be cancelled.
 
-	BUGFIX: when copying track to the iPod, the free space
-	indication became bigger and bigger during the process.
+2007-07-26 Michael Tiffany <tiffman at users.sourceforge.net>
 
-	BUGFIX: Ascending and descending were interchanged in the sort
-	window.
+	* merge gapless_playback_branch back to HEAD.
 
-	NEW FEATURE: Implemented Michael Rolig's patch/idea to access
-	mserv data for the rating. Still needs testing as I don't use
-	mserv.
+2007-07-23 P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-	NEW FEATURE: added "randomize current playlist" (only the menu
-	entry without actual code was present so far).
+	* src/details.c: set tartwork_changed flag to TRUE rather than
+	  relying on using force_update_cover function. Former picked
+	  up by pm_track_changed()
 
-	NEW FEATURE: support for On-The-Go Playlists. They will show
-	up as "OTG Playlist 1" etc.
+	* src/display_coverart.c: coverart_track_change responds to
+	  track changes and redisplays covers if tartwork_changed flag
+	  has been set.
+	
+	* src/display_playlists.c: KEY_DISPLAY_COVERART pref test removed from
+	  pm_track_changed and placed inside coverart_track_changed instead.
+	  
+	* file.c: update_track_from_file function updates calls for
+	  redisplay of the coverart regardless of any file data
+	  changes to ensure that any coverart changes do not go
+	  unnoticed.
 
-	NEW FEATURE: export of PLS or M3U file including meta data.
+2007-07-15 Michael Tiffany <tiffman at users.sourceforge.net>
+
+	* src/mp3file.c: fixed memory leak: wasn't closing files in
+	  mp3_read_lame_tag.
+
+2007-07-14 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/display_tracks.c (tm_set_search_column,
+          tm_search_equal_func): add newly added fields (bugfix).
+
+	* src/display_tracks.c (tm_cell_toggled): removed "default"
+          case to make sure newly added fields are not forgotten.
+
+	* src/mp3file.[ch]: moved reading of default tags to
+          id3_read_tags()
+
+	* src/flacfile.c: fallback on ID3 tags if no vorbis comments
+          are available.
+
+2007-07-13 P.G. Richardson <phantom_sf at users.sourceforge.net>
+
+  	* src/display_coverart.c
+	    src/display_coverart.h
+	    src/fetchcover.c
+	  Added parameter to coverart_get_track_thumb so that the default
+	  cover image can be provided with a default size if required.
+
+2007-07-13 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/display_tracks.c (tm_cell_edited, tm_cell_compare): add
+          newly added fields (bugfix, thanks to Michael Tiffany)
+
+2007-07-12 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* configure.in
+	  po/ro.po: added Romanian translation, thanks to Alex Eftimie.
+
+2007-07-11  Todd Zullinger <tmzullinger at users.sourceforge.net>
+
+	* scripts/sync-evolution.sh:
+	  try harder to find evolution-addressbook-export (thanks to
+	  Götz Waschk)
+
+2007-07-08  Michael Tiffany <tiffman at users.sourceforge.net>
+
+	* src/mp3file.c: modified mp3_read_lame_tag() to check the info tag
+	  crc and return the result of the check.  Changed the replaygain and
+	  gapless functions to check the return value and only use tag data if
+	  the crc matched.
+
+2007-07-06  Michael Tiffany <tiffman at users.sourceforge.net>
+
+	* src/display.h
+	  src/misc_conversion.c
+	  src/misc_track.c
+	  src/file.c
+	  src/details.c
+	  data/gtkpod.glade:
+	  added a read-only checkbox to the Misc tab in the Details window to
+	  show the state of the gapless track flag.
+
+2007-07-05  Todd Zullinger <tmzullinger at users.sourceforge.net>
+
+	* src/autodection.c:
+	  add missing string replacement
+
+2007-07-04 P.G. Richardson <phantom_sf at users.sourceforge.net>
+
+	* src/details.c: tartwork_changed flag defined when a new
+          artwork file is selected from the filesystem.
+    
+	* src/fetchcover.c: tartwork_changed flag added for all
+	  occurrences of artwork being changed.
+    
+        * src/display_coverart.c: reworking of the code to fix the
+	  sizes of the covers according to the ipod thumbnail size.
+	  When the pane is expanded, the coverart display's spacing is
+	  widened rather than the individual covers being stretched.
+	  Instead of the highlights, reflections and covers images
+	  being redrawn as black when null, the containing items are
+	  hidden. They are redisplayed when a new cover image is
+	  required.
+
+2007-07-04  Todd Zullinger <tmzullinger at users.sourceforge.net>
+
+	* configure.ac
+	  src/Makefile.am:
+	  fix compile with --as-needed (thanks to Santiago M. Mola)
+
+	* po/fr.po:
+	  updated French translation (thanks to Eric Lassauge)
+
+2007-07-02  Michael Tiffany <tiffman at users.sourceforge.net>
+
+	* src/mp3file.c: created struct to store the lame tag, and a function to
+	  parse it.  Changed the replaygain and gapless functions to use this to
+	  get any necessary lame data.  Added an info tag CRC function from the
+	  libmad code (GPL) to check the validity of the lame tag.
+
+2007-06-29 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/details.c (details_setup_widget): fixed memory leak
+	  (thanks to Daniele).
+
+	* src/display_coverart.c (coverart_set_images): fixed memory
+          leak (thanks to Daniele).
+
+	* src/Makefile.am: remove EJECT_BIN line as it is no longer
+	  used (thanks to Gabriel C).
+
+2007-06-27 P.G. Richardson <phantom_sf at users.sourceforge.net>
+
+	* data/gtkpod.glade:
+	  Changed fetchcover dialog's buttons to display icons only.
+		
+	* src/fetchcover.c:
+	  Added in gettext macros for status messages.  Disabled next
+	  button if net_retrieve fails to get any images from the
+	  downloaded xml file (Thanks Daniele).
+
+2007-06-27  Todd Zullinger <tmzullinger at users.sourceforge.net>
+
+	* po/es.po
+	  po/fr.po
+	  po/de.po
+	  po/sv.po
+	  po/ja.po
+	  po/gtkpod.pot
+	  po/he.po
+	  po/it.po
+	  po/POTFILES.in:
+	  add src/autodetection.c to POTFILES.in and update po files
+
+	* configure.in:
+	  bump version for 0.99.11SVN new development
+
+	* ChangeLog:
+	  bump version to 0.99.10
+	  note Michael's work on gapless playback
+
+	* configure.in:
+	  bump version for 0.99.10 release
+	  look for MP4GetMetadataGrouping in libmp4v2 check
+
+	* src/fetchcover.c
+	  src/fetchcover.h:
+	  give credit where credit is due
+	  add Id keyword (Daniele)
+
+	* src/display_coverart.c
+	  src/display_coverart.h
+	  src/flacfile.c:
+	  add/update copyright headers (Daniele)
+
+2007-06-26  Todd Zullinger <tmzullinger at users.sourceforge.net>
+
+	* COPYING:
+	  update license text from http://www.gnu.org/licenses/gpl.txt
+
+2007-06-26 Daniele Forsi <dforsi at users.sourceforge.net>
+
+	* src/fetchcover.c
+	  src/file.c
+	  src/misc_playlist.c: change some strings to match existing ones
+	  (this will hopefully help translators a little bit) 
+
+	* src/details.c
+	  src/details.h
+	  src/display_coverart.c
+	  src/display_itdb.c
+	  src/display_playlists.c
+	  src/display_sorttabs.c
+	  src/fetchcover.c
+	  src/file.c
+	  src/prefs.c
+	  src/prefs.h
+	  src/tools.c: fix typos in comments
+
+	* po/it.po: updated Italian translation
+
+2007-06-25  Todd Zullinger <tmzullinger at users.sourceforge.net>
+
+	* src/file.c
+	  src/misc_track.c
+	  src/mp3file.c
+	  src/mp3file.h:
+	  preliminary support for parsing gapless playback data from
+	  mp3 files.  Thanks to Michael Tiffany.
+
+	* po/es.po
+	  po/he.po:
+	  remove generic copyright header.
+
+2007-06-25 P.G. Richardson <phantom_sf at users.sourceforge.net>
+
+	* src/display_itdb.h: added tartwork_changed flag to
+          ExtraTrackData
 	
-	NEW FEATURE: registering playcounts when tracks are played on
-	the local machine is now possible (actually it was already
-	possible in V0.80, but now the README explains how to do it).
+	* src/details.c: initialise tartwork_changed flag to
+	  FALSE. Use this flag in details_copy_artwork as additional
+	  check if artwork has changed. Removal of all tilda related
+	  cruff.
+		
+	* src/fetchcover.c: removal of tilda related cruff with use of
+	  the tartwork_changed flag from ExtraTrackData. Set Prev
+	  Button initially to hidden until images from the net are
+	  retrieved.
 
-	NEW FEATURE: Swedish translation provided by Stefan Asserhäll.
+2007-06-25 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-	IMPROVEMENT: Speeded up writing of iTunesDB. For me it is now
-	between 1 and 15 seconds instead of between 20 and 40 seconds
-	before (for security I'm using the iPod as a non-buffered
-	device). A back-upped version of the iTunesDB is now always
-	written to ~/.gtkpod.
+	* src/display_playlists.c (pm_drag_motion): don't allow drops
+          into non-loaded repositories. (pm_create_treeview): don't
+          use GTK_DEFAULT_MOTION as this gives optical feedback that
+          drops into the column header is allowed, even though it is
+          not.
 
-	IMPROVEMENT: Speeded up display of sorted views. Thanks to
-	Stefan Asserhäll for the idea and valuable input.
+	* src/display_sorttabs.c (st_create_listview): renamed to
+          st_create_treeview(), simplified and merged with parts of
+          st_create_page which did part of creating the treeview. This
+          is the point when I realize that DND into the sort tabs is
+          not supported and I don't have to do anything. Code is
+          easier to read and understand now.
 
-	IMPROVEMENT: Moved some options from the preferences dialog to
-	the file chooser dialog where you need them. gtkpod now
-	requires GTK2.4 to compile.
+	* src/display_tracks.c (tm_drag_motion): don't allow drops
+          into non-loaded repositories.
 
-	IMPROVEMENT: Added "Time Created" support to special sorttab,
-	track display and iTunesDB. (Before only "modified" and
-	"played" were supported.)
+2007-06-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-	IMPROVEMENT: All information stored in the iTunesDB about
-	tracks is read and written, even if the information itself is
-	not used by gtkpod itself.
+	* src/misc_input.c: removed calls to dirbrowser_block() and
+	  dirbrowser_release() (obsolete because dirbrowser became
+	  modal)
 
-	IMPROVEMENT: Added new track information fields: iPod_Path,
-	creation time, soundcheck, samplerate, "BPM"
+	* src/fileselection.c
+	  src/fileselection.h
+          data/gtkpod.glade: (adding of tracks, directories and
+	  playlist files): do not allow adding of tracks if no
+	  playlist is selected or if the iPod is not loaded into the
+	  selected repository. Better names for file chooser
+	  directories, dirbrowser modal, separate functions for glade
+	  callback.
 
-	IMPROVEMENT: Volume normalizing: when importing mp3 the replay
-	gain is read and the soundcheck field set accordingly. Use
-	the "soundcheck" feature of the iPod to have the volume
-	normalized during playback.
-	If no replay gain tag is set, use the "Normalize" as usual to
-	have mp3gain write a replay gain tag.
+	* src/file.c (copy_new_info): removed unused variables.
 
-	IMPROVEMENT: The extended information database now also
-	contains the iPod filename. This allows to find a certain
-	track even on systems not running gtkpod/gnupod/iTunes etc.
+2007-06-23  Todd Zullinger <tmzullinger at users.sourceforge.net>
 
-	IMPROVEMENT: Some fixes for compilation under solaris. This
-	also led to the introduction of the environment variable
-	"GTKPOD_DF_COMMAND" that can be used to customize the df
-	command called to probe the free space of the iPod.
+	* configure.in:
+	  require libgpod >= 0.5.2
 
-gtkpod V0.80-2
-	BUGFIX: gtkpod would crash right after startup if the info
-	window was open when stopping gtkpod the previous time.
+2007-06-23 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-	BUGFIX: Fixed free space display: the digits were right, the
-	unit was wrong (B instead of kB, kB instead of MB, MB instead
-	of GB...).
+	* src/file_convert.c: fixed typo (thanks to Daniele Forsi).
 
-	PATCH: gtkpod will compile with GTK V2.0 (V0.80 needed GTK
-	V2.4)
+	* src/misc_conversion.c: corrected tooltip for BPM (thanks to
+	  Daniele Forsi).
 
-	PATCH: gtkpod should compile under Fedora without patch
+	* src/display_coverart.c (coverart_get_track_thumb): retrieve
+	  thumbnail through libgpod and not from thumbnail filenames
+	  because these are not always set.
 
-	PATCH: reverted to old-style check of id3tag-lib as id3tag.pc
-	is not included with the id3tag distribution by default
+	* src/details.c (details_button_apply_clicked): write tags
+          back to file if option is selected. Change modification time
+          of changed tracks.
+
+	* src/file.c (copy_new_info): further simplification by using
+	  track_copy_item() instead of duplicating code.
+
+2007-06-22 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/mp3file.c:
+	  added reading/writing of tags for sort artist, sort album,
+	  sort title, sort albumartist and sort composer.
+
+	* src/mp4file.c:
+
+	  Added reading/writing of the grouping tag, whatever that
+	  is.
+
+	  The sort tags are written by iTunes as fields of the
+	  iTunes_CDDB_IDs tag which I don't seem to be able to access
+	  (only the first field seems available without hacking). For
+	  reference: the field names are soar (artist), sonm (title),
+	  soal (album), soaa (album artist), soco (composer) and sosn
+	  (show).
+
+	  Added reading of coverart tag. Displayed by the iPod but not
+	  by the coverart display. Properly displayed in the details
+	  window.
+
+	* src/file.c (copy_new_info): use switch() to avoid missing
+          copying new items (like the sort keys).
+
+2007-06-22  Todd Zullinger <tmzullinger at users.sourceforge.net>
+
+	* src/fetchcover.c:
+	  disable debug output for release
+
+	* po/de.po:
+	  remove duplicate header comments
+
+2007-06-21  Todd Zullinger <tmzullinger at users.sourceforge.net>
+
+	* data/gtkpod.glade:
+	  add/update keyboard mnemonics in the Details and Download
+	  Cover windows to avoid missing/duplicated mnemonics
+
+2007-06-21 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/file_convert.c (transfer_transfer_track): add newline to
+          libgpod error messages. Thanks to Daniele Forsi.
+
+	* src/display.h
+	  src/misc_conversion.c
+	  src/display_itdb.c
+	  src/display_tracks.c
+	  src/misc_track.c
+	  src/details.c
+	  data/gtkpod.glade:
+	  added support for new text fields supported by libgpod
+	  0.5.0: album artist, sort artist, sort title, sort album,
+	  sort albumartist, sort_composer, sort_tvshow.
+
+2007-06-20 P.G. Richardson <phantom_sf at users.sourceforge.net>
+
+	* details.c - details_copy_artwork
+	  Reintroduced if clause on whether to copy the artwork. If
+	  image file has been set by fetchcover then a tilde is appended
+	  to the filename. This method removes the tilde, renames the
+	  file and copies the artwork with the proper filename.
+	  
+	* fetchcover.c
+	  Introduced flag USE_TILDA that is true when Details window calls
+	  fetchcover and false for when display coverart calls it. Tilda
+	  symbol added to end of filename if USE_TILDA set to true.
+	  Added references to dialog parents to properly control which
+	  windows can receive focus while dialogs are displayed.
+
+2007-06-20 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* data/gtkpod.glade
+	  src/prefs_window.c: automatically create the checkboxes for
+	  the visible columns selection, greatly simplifying additions.
+
+2007-06-20  Todd Zullinger <tmzullinger at users.sourceforge.net>
+
+	* src/file_convert.c
+	  src/autodetection.c:
+	  disable debug output for release
+
+	* src/display_coverart.c:
+	  fix a segfault when the coverart display is minimized and
+	  set_covers is called
+
+2007-06-19 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/file_itunesdb.c: Todd's patch to display the repository
+          name while writing to the iPod.
+
+	* data/gtkpod.glade: Todd's patch to substitute custom button
+          with stock button in the export dialog.
+
+	* src/file.c: set mediatype to 'audiobook' for .mb4 files.
+
+	* src/ipod_init.c (gp_ipod_init_set_model): avoid segfault if
+          iPod model cannot be selected (possibly GTK+ or glade version
+          incompatibility?).
+
+2007-06-18 P.G. Richardson <phantom_sf at users.sourceforge.net>
+
+	Bug fixes spotted by Daniele Forsi.
 	
-gtkpod V0.80
-	NEW FEATURE: Added support for WAV audio files
+	Change in coverart not made to coverart display when apply button
+	clicked on Details window.
+	Fetchcover behaved awkwardly with naming the downloaded image files if
+	the tracks concerned lacked album info in their ID3 tags.
+	Coverart files from fetchcover subject to template values in the prefs.
+	Should always be a default value of folder.jpg if none of the templates
+	provide a non-null value.
 
-	NEW FEATURE: Added support for bookmarkable AAC files (.m4b
-	files). Thanks to D.L. Sharp. More information is available at
-	http://www.ipodlounge.com/articles_more.php?id=3233_0_8_0_C
-	http://docs.info.apple.com/article.html?artnum=61695
+	* src/details.c:
+	  details_copy_artwork() has to now always recopy the artwork
+	  from file. The reason being, fetchcover overwrites the artwork hence
+	  the file name will still be the same while different artwork.
+	  
+	* src/display_coverart.h
+	  src/display_coverart.c:
+	  set_covers() and set_cover_item() now has a
+	  parameter to force an update of the cover images from file. Only used
+	  by details_copy_artwork() when the apply button is clicked on the
+	  details window.
+	  
+	* src/fetchcover.c:
+	  dialog will now appear if a cover image file already exists in the
+	  tracks directory. Gives the options to overwrite, save as unique name
+	  or cancel completely.
+	  
+2007-06-18 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-	NEW FEATURE: Added support for syncing contacts and calendar from
-	existing applications to the iPod (on iTunesDB export and/or via
-	the Tools-menu). The sync is done by calling external scripts.
-	Only one script is included so far: kaddressbook_ipod. Please
-	submit more for inclusion into the next release.
+	* src/misc.h
+	  src/details.c
+	  src/misc.c
+	  data/gtkpod.glade: moved mediatype combobox handling in edit
+	  details window completely inside details.c for easier
+	  maintenance.
 
-	NEW FEATURE: Added support for LAME's replay gain to normalize the
-	volume track (thanks to Jens Taprogge). Unfortunately the
-	conversion factor between LAME's replay gain and the iPod's volume
-	tag are not well known yet -- your input is appreciated!
+2007-06-17 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-	IMPROVEMENT: Added file selectors for selecting files in the tools
-	section of the preferences dialog.
+	* src/mp4file.c
+	  src/mp3file.c: read/write tempo (BPM) value from/to tags.
 
-	IMPROVEMENT: Added new auto-playlists: "One playlist for each
-	year" and "Playlist with all songs not listed in any playlist".
+	  src/flacfile.c
+	  src/oggfile.c: read tempo (BPM) value from tags (not sure
+	  if this is correct)
 
-	IMPROVEMENT: Can specify several templates to scan the filename
-	for tags using the ';' as a separator
+	  src/file.c (copy_new_info): copy BPM after having read it.
 
-	IMPROVEMENT: Can specify several templates for the export
-	filename. gtkpod selects according to the extension given.
+	* README: some changes initiated by Daniele Forsi.
 
-	IMPROVEMENT: Streamlined layout of info window
+	* src/info.c (gtkpod_statusbar_message): fixed memory leak --
+          thanks to Daniele Forsi.
 
-	IMPROVEMENT: Included Andrew Huntwork's patch to fix issues
-	concerning case-sensitivity of filenames under some conditions.
+	* src/display_sorttabs.c (st_create_special): fixed memory
+          leak.
 
-	IMPROVEMENT: Included Ero Carrera's patch to validate the filename
-	when copying tracks from the iPod and to make a quick sync of the
-	iPod's contents.
+	* src/prefs.c (init_prefs): fixed memory leak.
 
-	IMPROVEMENT: When importing the iTunesDB automatically on startup,
-	no window was opened until the import was finished. Thanks to
-	Andrew Huntwork the window now opens before the import starts and
-	progress can be followed in the usual manner.
+	* src/syncdir.c (sync_playlist): fixed memory leak.
 
-	IMPROVEMENT: Send 'eject' to the iPod after unmounting. This only
-	works under LINUX and if the user has write access to the device
-	file (e.g. /dev/sda2)
+	* src/display_coverart.c (coverart_block_change): fixed memory
+          leak.
 
-	IMPROVEMENT: When writing to the iPod automatically create iPod's
-	directories when they are not present.
+2007-06-14 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-	IMPROVEMENT: Added progress dialog with abort button when copying
-	tracks from the iPod.
+	* po/es.po: new version updated by Alejandro Lamas Daviña.
 
-	BUGFIX: When dragging tracks between two playlist (i.e. into a
-	newly created playlist), a new playlist was created but the tracks
-	were not added.
+2007-06-13 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-	BUGFIX: Fixed hangup when syncing dirs
+	* src/prefs.c (read_prefs_get_key_value): don't strip
+	  whitespace from prefs values. This is none of this
+	  function's business! (Thanks to Todd for tracking this down)
 
-	BUGFIX: Fixed compile error when compiling without mp4 support
+	* src/display_sorttabs.c (st_create_notebook): set up compare
+          function so that the ignore strings work right after startup.
+          (Thanks to Todd for tracking this down)
 
-	BUGFIX: Fixed compile error when compiling with gcc 2.95
+2007-06-08  Todd Zullinger <tmzullinger at users.sourceforge.net>
 
-	BUGFIX: Tags of tracks on the iPod were never changed (fixed
-	thanks to Andrew Huntwork)
+	* gtkpod.glade
+	  src/prefs_window.c:
+	  hide Last.FM tab (déjà vu)
 
-	BUGFIX: Fixed calculation of remaining seconds in progress
-	dialogs.
+	* configure.in
+	  src/display_coverart.c
+	  src/Makefile.am
+	  src/misc.c
+	  data/gtkpod.gladep
+	  data/Makefile.am
+	  Makefile.am
+	  po/es.po
+	  po/fr.po
+	  po/de.po
+	  po/sv.po
+	  po/ja.po
+	  po/gtkpod.pot
+	  po/he.po
+	  po/it.po
+	  po/POTFILES.in
+	  po/POTFILES.skip:
+	  Fixup 'make distcheck' and add some files missing for i18n.
 
-	BUGFIX: automatic update of preferences data from older version
-	went awry when no preference file was present
+	* configure.in
+	  Makefile.am
+	  data/gtkpod.desktop.in
+	  data/Makefile.am
+	  data/icons
+	  data/icons/48x48
+	  data/icons/48x48/Makefile.am
+	  data/icons/32x32
+	  data/icons/32x32/Makefile.am
+	  data/icons/Makefile.am
+	  data/icons/64x64
+	  data/icons/64x64/Makefile.am
+	  autogen.sh
+	  po/POTFILES.in:
+	  Add a .desktop file and reorganize the icons.
 
-gtkpod V0.72
-        NEW FEATURE: tags can now be set from the filename using a
-	template like "%a - %A/%T %t.mp3".
+2007-06-05  P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-	IMPROVEMENT: read and write ID3v2.4 tags. This has been achieved
-	by migrating to the id3tag library. Using ID3v2.4 tags with
-	unicode encoding takes away the need to worry about which encoding
-	is used for the tags. Old "broken"-style locale charset encodings
-	in tags are still supported, of course.
+	* src/fetchcover.c
+	  src/fetchcover.h:  
+	  Add license headers to source files.
 
-	BUGFIX: configure script was broken -- even though mp4 support was
-	configured in, gtkpod was built without :-(
+2007-06-05  P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-gtkpod V0.70
-	NEW FEATURE: import of AAC files (.m4a) supported, provided the
-	mp4v2 library from the mpeg4ip project
-	(mpeg4ip.sourceforge.net) is available during the compilation of
-	gtkpod. Writing tags to AAC files is also supported.  .m4p files
-	can also be imported, but they are not played by the iPod. .m4a
-	files work fine.
+	* src/display_coverart.c:
+	  Fixed free_CDWidget() function which tried to free visible
+	  albums twice. Also click hide button on coverart display
+	  once again hides the slider and navigation buttons. Thanks
+	  to Todd for the spot.
 
-	NEW FEATURE: info window showing total file size, play time
-	etc. can be opened.
+2007-06-02  Daniele Forsi <dforsi at users.sourceforge.net>
 
-	IMPROVEMENT: Upon popular request, the menus now provide different
-	entries for "Delete from iPod" and "Delete from Playlist".
+	* po/it.po: updated Italian translation
 
-	IMPROVEMENT: when deleting tracks completely from the iPod, the
-	confirmation dialog also displays the number of playlists the
-	tracks are members of.
+2007-06-01  P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-	IMPROVEMENT: Quick sync possible using "Add Tracks".  Details:
+	* src/display_coverart.c:
+	  Added callback on display_coverart content panel for acting
+	  on scroll events with the mouse wheel. Result is that moving
+	  the scroll wheel while the mouse is over the coverart
+	  display will scroll the covers in the respective direction.
+		
+	  Avoided possible null pointer in track_changed function.
+	  Thanks to Daniele Forsi for raising it. May need further
+	  work if this does not solve it.
 
-	  Until now the default action when adding tracks that already
-	  exist (identical full filename) was to add it again (they were
-	  rejected by the duplicate detection, but that took a long time),
-	  or to update the track information (option).
+2007-05-31 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-	  Now the default action is to skip existing tracks (identical
-	  filename) or to update the track information (option). Thus, by
-	  default, only new tracks are read, allowing quick
-	  synchronization of entire directories.
+	* src/autodetection.c: fix non-responsive buttons introduced
+          with automounting.
 
-	IMPROVEMENT: In the past, using programs other than gtkpod to
-	transfer files voided the extended information file. gtkpod will
-	now try to use the MD5 checksums stored in the extended
-	information file to match up the data when this occurs.
+	* scripts/sync-tomboy.sh
+	  scripts/sync-notes.sh: fixes by Oliver Sherouse
 
-	IMPROVEMENT: The 'year' tag is now supported as track view column
-	and as sort tab type.
+	* scripts/sync-abook.sh
+	  scripts/sync-webcalendar.sh:
+	  set more reasonable default path.
 
-	IMPROVEMENT: The tags for track number and total number of tracks
-	are displayed as nn/nn in the track view, and can also be entered
-	as such.
+2007-05-30  P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-	IMPROVEMENT: The tags for CD number and total number of CDs can
-	now be displayed (analoguous to track number and total number of
-	tracks above)
+	* src/display_coverart.c:
+	  Changed the on_main_cover_image_clicked so that only the
+	  tracks belonging to the album are displayed in the track
+	  listing. The sorttabs are no longer updated. A lot quicker
+	  and doesnt rely on the artist/album sorttabs being visible.
 
-	IMPROVEMENT: When creating a new playlist a dialog is popped up
-	asking for a name.
+        * /src/fetchcover.c:
+	  Status bar content changes in case album is not found.
 
-	BUGFIX: Drag and Drop of files with spaces did not work.
+2007-05-30  Todd Zullinger <tmzullinger at users.sourceforge.net>
 
-	BUGFIX: "Unsort" (clicking sort column three times) of track view
-	failed if last sort tab was a "special" sort tab.
+	* configure.in
+	  INSTALL
+	  INSTALL_CVS
+	  Makefile.am:
+	  change CVS references and links to SVN
 
-	BUGFIX: updated ID3 tag reading code from easytag's new
-	version. Please also note that id3lib V3.7.3 seems to crash gtkpod
-	every once in a while. V3.8.3 appears to be more stable.
+2007-05-17  P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-gtkpod V0.60
-	NEW FEATURE: normalize song volume (using mp3gain). Uses iPod's
-	volume adjust feature rather than modifying the mp3 file.
+        * display_coverart.c
 
-	NEW FEATURE: define format of filename when copying tracks from
-	iPod (mainly thanks to Sam Clegg).
+	  Completely forgot compile time errors for
+	  g_hash_table_remove_all so removed glib_version call to
+	  ensure back compilation compatibility.
 
-	NEW FEATURE: adjust volume of each track individually by using
-	iPod's per-track volume adjust feature (implemted through a new
-	column in the song view).
+2007-05-16  Todd Zullinger <tmzullinger at users.sourceforge.net>
 
-	NEW FEATURE: automatically create a playlist for each
-	album/artist/genre/composer in your collection (thanks to Chris
-	Cutler), and other automatic playlist generations.
+	* src/tools.c: Fixed a few typos. (Daniele Forsi)
 
-	NEW FEATURE: menu items and context menu items to create new
-	playlist containing displayed songs or selected songs.
+2007-05-16  P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-	IMPROVEMENT: Try to press the shift key when dropping songs into a
-	playlist to move rather than copy tracks from one playlist to
-	another. Keep in mind that songs cannot be moved from or to the
-	master play list.
+	* src/display_coverart.c:
+	  Null checks placed in free_album.  g_hash_table_remove_all
+	  only used if running GLib version is newer than 2.12.0.
+	  Otherwise falls back on g_hash_table_foreach_remove.  Thanks
+	  to Mario Rossi for squashing these bugs.
 
-	IMPROVEMENT: better alphabetize interface. Alphabetize settings
-	will be remembered, different settings for playlists, sort tabs,
-	and tracks possible. Also, clicking the column header three times
-	will revert the view to its unsorted state.
+2007-05-16 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-	IMPROVEMENT: handle adding of playlist files containing files with
-	relative paths.
+	* scripts/convert-flac2mp3.sh
+	  scripts/convert-ogg2mp3.sh
+	  scripts/convert-wav2mp3.sh:
+	  Added quotes around $genreopts to make script more
+	  robust. Thanks to Andy.
 
-	IMPROVEMENT: context menus more intuitive, context menus will no
-	longer trigger edit mode (most of the time).
+	* src/display_itdb.c (gp_playlist_remove_track): podcasts
+          could not be removed from the iPod.
 
-	IMPROVEMENT: the function copying songs to the iPod used a "large"
-	amount of stack memory (roughly 66000 Bytes) which crashed some
-	systems.
+	* gtkpod.glade: corrected spelling of 'separated' and
+          'iPod'. Thanks to Daniele Forsi.
 
-	BUGFIX: md5 hash for duplicate detection will examine the same
-	number of bytes on all systems now (before it used 4xPATH_MAX).
+2007-05-13  P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-	BUGFIX: reading and writing of the Composer ID3 tags implemented
-	(so far the fields could only be set from inside gtkpod -- thanks
-	to Graeme Wilford)
+	* context_menus.c
 
-	BUGFIX: fixed memory holes in sync_songids(), sync_dir_ok(),
-	add_playlist_by_filename().
+	  Fixed segfault in cad_context_menu_init() to avoid freeing
+	  tracks unnecessarily.
 
-	BUGFIX: drag and drop URIs with cr/nl at the end are handled
-	correctly (thanks to Walter Bell).
+	* display_playlist.c
 
-gtkpod V0.52
-	NEW FEATURE: Supports Playcounts, Ratings, Time Last Played / Time
-	Last Modified. The playcounts and ratings are read from the 'Play
-	Count' file produced by iPod's firmware versions V1.3
-	(playcounts only) and V2.0 (playcounts and rating).
+	  Coverart display will only be updated with a track change,
+	  addition or deletion if it is visible and not minimized.
 
-	NEW FEATURE: If you mark several songs and change a tag in the
-	first one, the corresponding tag in the other songs will be
-	changed as well (must activate in the prefs menu). Patch provided
-	by Ramesh Dharan. Thanks!
+	* display_coverart.h
+	  display_coverart.c
 
-	IMPROVEMENT: added auto-dection of Japanese encoding (thanks to
-	Hiroshi Kawashima).
+	  New Album_Item structure introduced for storage of tracks in
+	  coverart display. Replacement of displaytracks GList with a
+	  key list related to an Album_Item hashmap. Track_changed
+	  function changed to speed up changed, removal and addition
+	  operations. Other functions updated to reflect introduction of
+	  Album_Item and hashmap. 
+	  
+2007-05-11 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-	IMPROVEMENT: option to sort case-sensitively. Case-insensitive
-	utf8 sort should work fine, case-sensitive may not work entirely
-	as expected with some charsets.
+	* INSTALL
+	  configure.in
+	  src/Makefile.am
+	  src/autodetection.c (new)
+	  src/autodetection.h (new)
+	  src/display_itdb.h
+	  src/file_convert.c
+	  src/file_itunesdb.c
+	  src/misc.c
+	  src/misc.h
+	  src/misc_input.c
+	  src/tools.c:
 
-	BUGFIX: display free size correctly even if more than 4294967295
-	(or maybe just half that many?) Bytes are free on the iPod.
+	  Autodetection and auto-loading of iPods. This loads iPods
+	  automatically on start-up when they are connected or later
+	  when they are mounted. Uses gnome-vfs for detection of
+	  mounted volumes and HAL for determining if the mounted
+	  volume is an iPod. Works fine without HAL, and compiles fine
+	  without gnome-vfs, but without autodection facility.
 
-	BUGFIX: drag-and-drop: gtkpod should now correctly handle files
-	with "special" characters (like spaces...) that are escaped in the
-	DND URI. (Thanks to Walter Bell).
+	  iPod repositories are added automatically when necessary and
+	  removed when ejecting an iPod. Preferences referring to an
+	  iPod are saved into the iTunes directory (gtkpod.prefs).
 
-	BUGFIX: using 'file_export' from the context menu could crash
-	gtkpod
 
-	BUGFIX: file_export didn't remember directory last used.
+	  gtkpod.glade
+	  src/prefs_windows.c:
+	  src/prefs.c
+	  - removed old auto-import functionality. Auto-import is no
+	    longer supported without gnome-vfs. Code to support
+	    automounting on KDE should be easy to add -- please
+	    contribute.
+	  
 
-	BUGFIX: can now choose zero sort tabs in the prefs dialogue
-	(instead of the minimum one) -- why didn't anyone tell me?
+	  src/prefs.c
+	  src/prefs.h:
+	  - new code to save/load temporary preferences to an
+	    aribtrary file (temp_prefs_load/save(), used by
+	    load/save_ipod_prefs() in misc.c).
+	  - new code to create a subset of keys from the prefs
 
-	BUGFIX: when deleting songs, sometimes adjacent songs got edited
-	(took title or artist... of the deleted song). Hopefully fixed --
-	please report.
+	    structure.
 
-	BUGFIX: after reordering columns in the song view, the selection
-	of which columns are to be displayed went haywire -- fixed.
+2007-05-10 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-	BUGFIX: fixed memory holes in pm_data_compare_func(),
-	st_data_compare_func(), sm_data_compare_func(),
-	get_ipod_used_space(), get_ipod_free_space(),
-	charset_to_description(), add_playlist_by_filename(),
-	sm_cell_edited().
+	* src/prefs.c (prefs_create_subset): removed double-lock of
+          prefs table which locked up prefs_rename_subkey(), used in
+          repository.c
 
-	NEW: Italian translation catalogue (almost complete)
+2007-05-07 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-gtkpod V0.51
-	NEW FEATURE: Synchronize directories (removed songs can be deleted
-	automatically).
+	* scripts/convert-flac2m4a.sh
+	  scripts/convert-flac2mp3.sh
+	  scripts/convert-m4a2mp3.sh
+	  scripts/convert-mp32m4a.sh
+	  scripts/convert-ogg2m4a.sh
+	  scripts/convert-ogg2mp3.sh
+	  scripts/convert-wav2m4a.sh
+	  scripts/convert-wav2mp3.sh:
 
-	NEW FEATURE: gtkpod remembers charset used when initially
-	importing a song and uses this when "updating" the song
-	information from file or writing tags to file (needs extended
-	information enabled).
+	  Track number was not set correctly in converted file. Thanks
+	  to Javier Kohen for spotting this.
 
-	NEW FEATURE: display free space on iPod.
+2007-05-06 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-	NEW FEATURE: menu item "Arrange Sort Tabs" to make all visible
-	sort tabs the same size
+	* src/display_tracks.c: quick fix for the annoying multi-edit when
+	  dragging multiple tracks from track view to another playlist.
 
-        IMPROVEMENT: gtkpod should now compile "out of the box" under
-	FreeBSD and NetBSD (some adaptations were necessary before).
+	* src/display_coverart.c: ignore simple track changes for
+	  performance reasons 
 
-        IMPROVEMENT: added all supported charsets provided by "iconv -l"
-	to the list of charsets to choose from. Code assumes that "iconv
-	-l" returns a list with the name of one charset in each line, each
-	valid line being terminated by "//".
+	* src/display_coverart.c:
+	  src/misc_confirm.c: changed '//' to '/*' for compatibility
+	  reasons.
 
-	IMPROVEMENT: new song column types: file size, play time,
-	avg. bitrate
+	* src/confirmation.h
+	  src/display_coverart.c
+	  src/display_itdb.c
+	  src/display_itdb.h
+	  src/file.c
+	  src/file.h
+	  src/file_convert.c
+	  src/file_convert.h
+	  src/file_itunesdb.c
+	  src/info.c
+	  src/info.h
+	  src/misc_playlist.c
+	  src/misc_track.c:
+	  gtkpod.glade
 
-	BUGFIX: changed playlength code to that used by mp3info. It's much
-	slower but seems to be more reliable.
+	  - Copying of tracks to the iPod in the background.
+	  - Remove 'oldsize' entry in ExtraTrackData formerly used when
+	    updating tracks.
+	  - Reduce SPACE_TIMEOUT from 4 to 1 seconds (probing device for
+	    free space)
 
-	BUGFIX: fixed "dead" context menu "Alphabetize"
+2007-05-05 P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-gtkpod V0.50
-	NEW FEATURE: context sensitive popup menues (right mouse button
-	click in playlist view, sort tabs or song view.
+  * display_playlists.c:
+    Coverart display updated regardless of whether it is
+    displayed.
 
-	NEW FEATURE: play song with xmms (two user definable commands).
+  * display_coverart.c:
+    - coverart_block_change changes the cursor icon to waiting
+      then turns it back after.
+    - search_tracks improved to make debugging easier.
+    - reworking of display_track_changed Delete case. Did not
+      adequately deal with deletion of multiple albums by same
+      or different artists. Thanks to Jorg for good spot.
 
-	NEW FEATURE: option to mount the iPod directory on startup and
-	unmount it on exit.
+2007-05-05 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-	NEW FEATURE: mount/unmount ipod directory on startup/exit, and/or
-	execute ~/.gtkpod/gtkpod.in,out (or /etc/gtkpod/gtkpod.in,out if
-	the former doesn't exist) on startup/exit. First gtkpod.in is
-	executed, then the ipod is mounted (if this option is
-	activated). On exit, it's the other way round.
+	* scripts/convert-wav2mp3.sh: added genre-patch for
+	  genre types not supported by lame.
 
-	NEW FEATURE: read global prefs /etc/gtkpod/prefs if
-	~/.gtkpod/prefs does not exist. Useful, e.g. to set a machine-wide
-	default mountpoint for the ipod.
+2007-05-05 Todd Zullinger <tmzullinger at users.sourceforge.net>
 
-	IMPROVEMENT: "Add Songs" and "Add Directory" has a new default
-	behaviour. They will now add songs/directories to the currently
-	selected playlist. If no playlist is selected, they add to the
-	master playlist.  "Add Playlist" will still create a new playlist
-	before adding the songs into it. Also, when playlist files are
-	added with "Add Songs" or "Add Directory" and no playlist is
-	selected, a new playlist will be selected for each playlist file.
+	* scripts/convert-flac2mp3.sh: fixed a typo, thanks to Andy.
 
-	NEW FEATURE: user settable: save song order after sort action
-	automatically?
+2007-05-01 P.G. Richardson <phantom_sf at users.sourceforge.net>
 
-	NEW FEATURE: columns in song view can be dragged into any
-	order. Order will be saved.
+  * display_coverart.c:
+    When select_cover (track) is called, slider value is
+    adjusted accordingly.
+
+2007-05-01 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* README: removed references to Offline-Mode which is no
+          longer supported.
+
+	* gtkpod.glade
+	  src/file_convert.c
+	  src/file_convert.h
+	  src/file_itunesdb.c: hopefully worked out some quirks.
+
+2007-04-27 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/display_spl.c:
+	  Adoption to namespace cleanup in libgpod.	  
+
+	* configure.in
+	  src/Makefile.am
+	  src/fetchcover.c
+	  src/file_itunesdb.c
+	  src/prefs_window.c
+	  src/lastfm.[ch]:
+	  Removed lastfm support because the code is not ready and
+	  abandoned. I've left the tab in the prefs window and the
+	  md5.[ch] files in CVS in case someone else wants to have
+	  another try.
+
+	* src/date_parser2.l
+	  src/display.h
+	  src/display_playlists.c
+	  src/display_sorttabs.c
+	  src/display_spl.c
+	  src/display_tracks.c
+	  src/file.c
+	  src/lastfm.c
+	  src/misc_conversion.c
+	  src/misc_track.c
+	  src/misc_track.h
+	  src/syncdir.c: removed references to itdb_time_...()
+	  functions that are obsoleted.
+
+2007-04-23 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* gtkpod.glade
+	  src/prefs_window.c: make sure prefs window is usable on
+	  laptops with screen only 800 pixels high.
+
+	* merge threaded_conversion_branch back to HEAD.
+
+	* src/file_convert.c: avoid GTK assertion with uninitialized
+	  statusbar.
+
+	* gtkpod.glade
+	  src/file.h
+	  src/file_itunesdb.c
+	  src/display.c
+	  src/file.h
+	  src/file_convert.c
+	  src/file_convert.h
+	  src/file_itunesdb.c
+	  src/prefs_window.c
+	  src/info.c: handle closing of window if user
+	  clicks on the 'close-window' buton, general cleanup,
+	  created log window for file conversion output.
+
+2007-04-21 P.G. Richardson <phantom_sf at users.sourceforge.net>
+
+	* Consideration of extra scenario for removal of a track with
+	  respect to display of coverart. Basically, needed to cater
+	  for situation where user removes the first track in an album
+	  but leaves the remaining tracks behind. Need to remove the
+	  first track from displaytracks list but add in the second.
+
+2007-04-21 P.G. Richardson <phantom_sf at users.sourceforge.net>
+
+	* Changed the way coverart display is updated when a track is
+	  removed, added and changed (Thanks to Jorg for thoughts on
+	  this. Much quicker response):
+	    ** display_coverart.h & display_coverart.c:
+	       - coverart_sort_images() made static
+	       - slider initialization broken out into own function
+	       - select_cover() will silently return rather than
+	         throwing an error if selected trk not found in display.
+	       - coverart_track_changed() added for deciding action to
+	         be taken when a track changes. Instead of expensive call
+	         to coverart_set_images()
+	       - coverart_set_images() extra parameter to stop recreation
+	         of display track list every time its called.
+	    ** display_playlists.c: pm_add_track, pm_remove_track, 
+	       pm_track_changed all call coverart_track_changed
+	    ** display_sorttabs.c: resets coverart but only reloads all
+	       tracks if sort is set to none. No way to detect original
+	       sort order efficiently.
+	    ** misc_confirm.c: removal of coverart_set_image calls so pm
+	       functions relied on instead.
+
+2007-04-21 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/context_menus.c: fixed compile issue when compiling with
+	  GTK+ <V2.8 -- thanks to Daniele Forsi for pointing out.
+
+2007-04-20 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* po/POTFILES.in: renamed display_songs.c to display_tracks.c
+
+2007-04-20 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* gtkpod.glade
+	  src/file_itunesdb.c
+	  src/prefs.c: unified progress dialog across
+	  delete/transfer/writing iTunesDB for better user experience.
+
+	* src/file_convert.c
+	  src/file_convert.h
+	  src/prefs_window.c: set up preferences dialog (number of
+	  background threads, max. cache dir size)
+
+	  src/file_itunesdb.c: avoid mutex deadlock when trying to
+	  cancel delete/transfer of tracks.
+
+2007-04-20 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* gtkpod.glade
+	  src/file_convert.c
+	  src/file_itunesdb.c: Adapted export progress dialog and
+	  moved layout to gtkpod.glade
+
+2007-04-19 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* Multi-threaded background file conversion, first round
+
+2007-04-15 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/mp3file.c: fixed "comparison with string literal" issues
+	  by using strcmp instead. Thanks to Petr Gajdos.
+
+2007-04-15 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/misc_confirm.c: fixed typo -- thanks to Daniele Forsi.
+
+2007-04-16 P.G. Richardson <phantom_sf at users.sourceforge.net>
+  * fetchcover.c: corrected operations if curl is and is not available
+  * removed calls to itdb_thumb_get_filename() from fetchcover.c and
+    display_coverart.c
+  * corrected behaviour of coverart display slider if only one album 
+    is in the selected playlist
+
+2007-04-15 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* merged fetchcover_development_branch back to HEAD
+
+	* src/prefs.[ch]: fixed typos ("prefrences") -- thanks to
+          Daniele Forsi.
+	  Changed mkdir() to g_mkdir() and reduced number of #include
+          headers.
+
+2007-04-15 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* (fetchcover branch) src/fetchcover.c: add NULL pointer at
+	  the end of some variable argument calls to avoid segfaults.
+
+2007-04-14 P.G. Richardson <phantom_sf at users.sourceforge.net>
+(fetchcover branch)
+ - Context menu on display artwork updated with new items:
+   -- Selection of cover from a file
+   -- Download of cover from the web
+ - Fetch Cover button moved up in Edit Details window
+ - Display Coverart slider values sorted out so as to better reflect index
+   of covers
+ - Display Coverart up/down arrows are shown/hidden depending on window start
+ - Fetchcover dialog bordered to clarify a blank image is displayed
+ - Fetchcover dialog added to glade-2 xml file
+ - Hightlighting toned down for main image in Display Coverart window
+ 
+2007-04-01 P.G. Richardson <phantom_sf at users.sourceforge.net>
+(fetchcover branch)
+gtkpod.glade:
+	* rename Fetch Cover button
+
+context_menus.c:
+	* create context menu for main coverart display image
+	* new context action hooks to display artwork in a dialog
+
+display_coverart.c:
+	* coverart_display_big_artwork() for displaying a dialog containing an originally sized coverart image
+	* coverart_get_displayed_tracks() for returning all tracks relating to the main coverart display image
+
+fetchcover.c
+	* completed functionality, including next, previous, cancel and save buttons
+	* status bar to indicate whether images have been recovered
+
+2007-04-10 Todd Zullinger <tmzullinger at users.sourceforge.net>
+
+	* scripts/convert-ogg2mp3.sh: Try to use id3v2 as a fallback
+	  for setting genres that lame doesn't handle
+
+2007-04-08 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/main.c
+	  src/misc_confirm.c
+	  src/prefs.c
+	  src/prefs.h: avoid assertions when shutting gtkpod down.
+
+	* src/main.c
+	  src/misc.c
+	  src/misc.h
+	  src/misc_confirm.c: moved gtkpod_main_quit() from
+	  misc_confirm.c to misc.c and renamed to
+	  gtkpod_shutdown(). Added ok_to_close_gtkpod().
+	  Moved initialization from main.c to misc.c in gtkpod_init().
+
+	* src/file_convert.c
+	  src/file_convert.h: added header information.
+
+2007-04-08 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/misc_track.c (add_tracks_to_playlist):
+	  - when dragging tracks from one iPod to another: remove
+	    original iPod path on copied track.
+	  - set DND origin data when dragging from a local repository
+	    to the iPod.
+
+	* src/misc_track.[ch]: added
+          gp_itdb_find_same_tracks_in_local_itdbs()
+
+	* src/files_itunesdb.c: adjust rating and playcount in local
+          databases when loading ipod.
+
+	* src/prefs.[ch]: make prefs_create_subset() static, make
+          prefs system thread safe, which should be useful when
+          creating other threads doing things in the background.
+
+2007-04-07 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/misc_track.c: when adding a duplicate keep the original
+          filename information if it's still valid.
+
+	* src/file_itunesdb.c: removed rating and playcount completely
+          from extended info hash routines. Added local_itdb_id and
+          local_track_dbid.
+
+	* src/display_itdb.c
+	  src/display_itdb.h
+	  src/file_itunesdb.c
+	  src/main.c
+	  src/misc_track.c
+	  src/misc_track.h: introduced and maintain a filename hash
+	  for each repository. Will be used to cross-reference between
+	  repositories for playcounts and on-the-fly conversion.
+
+	* gtkpod.glade
+	  src/clientserver.c
+	  src/display_itdb.c
+	  src/display_itdb.h
+	  src/file.c
+	  src/file_itunesdb.c
+	  src/misc_playlist.c
+	  src/misc_track.c
+	  src/prefs.c
+	  src/prefs_window.c
+	  src/sha1.c: finished renaming of wrong md5 references to sha1.
+
+2007-04-02 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* scripts/sync-evolution: make syncing of contacts containing
+          pictures possible. Thanks to Lars Friedrichs.
+
+2007-03-29 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/display_playlist.c (pm_drag_data_received): bugfix:
+          allow to drop contents of one playlist into another playlist
+          even if playlist view is "sorted". (Sorting currently
+          disabled anyway)
+
+	* src/display_playlist.c: small rework in preparation of
+          future changes. New support functions
+          pm_get_position_for_itdb(), pm_get_position_for_playlist(),
+          pm_get_iter_for_itdb(), pm_get_iter_for_playlist() replace
+          some of in-function code. pm_name_changed() changed to
+          pm_itdb_name_changed().
+
+	* src/file_itunesdb.c
+	  src/display_itdb.c: use of new support functions above
+	  instead of dedicated code.
+
+2007-03-28 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/file.c
+	  src/file_itunesdb.c
+	  src/misc_track.c: When podcasts were first introduced,
+	  iTunes did not add podcasts to the master playlist and only
+	  showed them in the Podcast playlist. This has changed in the
+	  meanwhile and Podcasts also appear in the master playlist
+	  (i.e. when browsing through the music files on an
+	  iPod). This patch make gtkpod behave the same. Old iTunesDBs
+	  with podcasts not listed in the MPL are automagically updated.
+
+2007-03-26 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* misc.c: corrected copyright to show 2002-2007.
+
+	* context_menus.c: Implemented Andrzej Palejko's patch to
+          allow copying of tracks and playlists from within the
+          context menu without using DND.
+
+2007-03-25 P.G. Richardson <phantom_sf at users.sourceforge.net>
+
+	* details.c: removal of coverart_set_images from
+	  details_button_apply_clicked()
+
+  	* display_coverart.c: set prefs key in coverart_init_display()
+	  when coverart display is displayed
+
+	* display_playlists.c: added coverart_set_images to
+	  pm_add_track, pm_remove_track, pm_track_changed.
+	  retained coverart_set_images call in pn_selection_changed_cb
+	  as this displays the coverart when a playlist is selected
+
+	* display_sorttabs.c: coverart_set_images retained in
+	  st_sort() as a reiniting of the coverart is never fired
+	  during an alphabetize operation
+
+	* fileselection.c: calls to coverart_set_images removed as
+          this is taken care of by pm_add_track() in
+          display_playlists.c
+
+	* delete_track_ok.c: call to coverart_set_images retained as
+          although pm_remove_track correctly calls this function, it
+          is too early in the delete process and the deleted track is
+          still displayed
+
+	* prefs.h: addition of KEY_DISPLAY_COVERART key for use by
+          display_playlists functions
+
+2007-03-25 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* gtkpod.glade: added hbox into which the sorttab/tracklist
+          view is placed (for futures to come).
+
+2007-03-19 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* display.c (display_create): removed reference to stop_button
+
+	* src/display.c
+	  src/display.h
+	  src/display_private.h
+	  src/display_sorttabs.c:
+	  sorted out remaining assertions produced after last night's
+	  changes. Made st_page_selected() and st_create_notebook()
+	  static.
+
+2007-03-18 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* gtkpod.glade
+	  src/display.c
+	  src/display.h
+	  src/display_playlists.c
+	  src/display_private.h
+	  src/display_sorttabs.c
+	  src/display_tracks.c
+	  src/misc.c
+	  src/misc.h
+	  src/misc_track.c
+	  src/prefs.c
+	  src/prefs_window.c: Clicking on an item with the right mouse
+	  button will select and open the context menu, which is the
+	  intended behavior. As a consequence, the interface will
+	  remain blocked while the selection is being updated and
+	  displayed.
+
+2007-03-17 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* po/de.po: update supplied by Kai-Ove Pietsch.
+
+2007-03-11 Todd Zullinger <tmzullinger at users.sourceforge.net>
+
+	* src/prefs_window.c: hide Last.FM tab when not built with
+	  curl libs
+
+2007-02-27 P.G. Richardson <phantom_sf at users.sourceforge.net>
+
+	* display_coverart.c: Changed coverart_set_images to internally
+	  get the playlist and checks whether the playlist is null
+	  or not. Thus, all calls to coverart_set_images require
+	  no checking of parameters beforehand.
+					
+	* details.c,
+	  display_playlists.c
+	  file_itunesdb.c
+	  fileselection.c
+	  misc_confirm.c: functions updated to call modified version
+	  of coverart_set_images. data_changed function no longer
+	  calls coverart_set_images since this is used in too many
+	  other places where setting coverart is unnecessary and error
+	  prone.
+
+2007-02-26 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/display_spl.c: Smart playlists now support the following
+	  new fields: album artist, tv show, last skipped, season
+	  number, skipcount and video kind.
+
+	* configure.in: require libgpod >= 0.4.3
+
+2007-02-22 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/file_export.c (export_trackglist_when_necessary):
+          cosmetic change (!a || !b) -> !(a && b)
+
+	* src/misc_track.c (add_tracks_to_playlist): bugfix: dragging
+          tracks between iPods did not work if no local path was
+          available.
+
+	* gtkpod.glade: left-justify "Album Art" in cover display.
+
+	* src/prefs_window.c
+	  src/prefs.c: removed references to "display_artcovers".
+
+	* src/displac.c
+	  src/display_coverart.c: remember if coverart was last shown
+	  or hidden.
+
+2007-02-23 P.G. Richardson <phantom_sf at users.sourceforge.net>
+
+	* display_coverart.c
+		- Avoided null pointer exceptions by testing cdwidget
+		  first in coverart_block_change()
+		- Ensured the pande0 button release event only
+		  initiaties if a width change has truly occurred
+		  ie. gtk_paned_get_position() != WIDTH
+
+	* display_playlists.c
+		- Blocked other coverart related changes while a
+		  pm_playlist_change_cb is being enacted.
+		- Blocking is lifted prior to the call to
+	          coverart_set_images
+		- pm_playlist_change_cb() will occur on deletion of a
+	          playlist. In this case the deleted playlist
+		  will be nullified. In this case, clear any coverart
+		  images rather than setting them (none to set)
+
+	* file_itunesdb.c
+		- data_changed function called whenever track details
+		  are changed. Added a resettting of the coverart to
+		  this function so all tracks in coverart display are
+		  synced with database data
+
+2007-02-22 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* main.c, display_coverart.c: fixed possible access to
+          uninitialized pointer
+
+	* confirmation.c (cleanup): don't access free'd pointer.
+
+2007-02-22 P.G. Richardson <phantom_sf at users.sourceforge.net>
+
+	* display_coverart.c 
+	  - Added "Album Art" title label to display_coverart pane
+	  - Changed set_display_dimensions to make WIDTH=HEIGHT giving
+	    aspect ratio default of 1 rather than 1.2
+	  - Added patch to dispay_coverart.c to correctly cleanup
+	    pixbuf memory leakag. (All credit for this to Christophe
+	    (teuf at gnome.org))
+
+2007-02-20 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* Modified Files:
+	  .cvsignore TODOandBUGS.txt configure.in gtkpod.glade 
+	  src/Makefile.am src/display.c src/display.h 
+	  src/display_playlists.c src/display_private.h 
+	  src/display_sorttabs.c src/display_tracks.c 
+	  src/fileselection.c src/main.c src/misc_confirm.c src/prefs.c 
+	  src/prefs_window.c 
+        * Added Files:
+	  pixmaps/cdshine.png pixmaps/default-cover.png 
+	  src/display_coverart.c src/display_coverart.h
+
+	  Merged P.G. Richardson's album display branch back to the
+	  main trunk. Thanks for your work!
+
+2007-02-19 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	 * src/display.c
+	   src/display_playlists.c
+	   src/display_private.h: renamed pm_add_all_playlists() to
+	   pm_add_all_itdbs().
+
+2007-02-18 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	 * po/es.po: updated -- thanks to Alex Lamas.
+
+	 * gtkpod.glade: Renamed "Synchronize Playlist" to
+           "Synchronize Playlist with Dir(s)".
+
+	 * README: updated section "Synchronize with Directories"
+
+2007-02-11 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	 * README: fixed some typos -- thanks to Daniele Forsi.
+
+2007-02-10 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	 * sync-evocalendar.sh
+	   sync-kaddressbook.sh
+	   sync-korganizer.sh
+	   sync-notes.sh
+	   sync-tomboy.sh
+	   sync-webcalendar.sh: corrected syntax description from
+	   "-e=none" to "-e none".
+
+	 * src/file_export.c (export_playlist_file_write): simplified
+           prefs_get_*_value() to prefs_get_*()
+
+	 * file.h (FileSource): changed order to reflect the order of
+           options in the Export Playlist file requester
+           dialog. Thanks to Todd.
+
+	 * README: updated instructions on how to restore one's iPod
+           after file system errors or similar devastating events.
+
+2007-02-09 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/display_tracks.c (tm_search_equal_func,
+          tm_set_search_column): make tv-show, -episode and -network
+          searchable.
+
+2007-02-07 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/file_itunesdb.c: changed message string (thanks to
+          Daniele Forsi)
+
+2007-02-06 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+        * scripts/convert-flac2m4a.sh
+          scripts/convert-flac2mp3.sh
+          scripts/convert-m4a2mp3.sh
+          scripts/convert-mp32m4a.sh
+          scripts/convert-ogg2m4a.sh
+          scripts/convert-ogg2mp3.sh
+          scripts/convert-wav2m4a.sh
+          scripts/convert-wav2mp3.sh: fixed some bugs in
+          conversion scripts (Mario Rossi).
+
+        * src/file_itunesdb.c
+          src/prefs.c: remember dialog size and "display details"
+          state, display warning when transferring track that cannot
+          be played by the iPod (Mario Rossi).
+
+2007-02-05 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/details.c
+	  gtkpod.glade: small fixes for "Edit Details Window" by Mario Rossi.
+
+        * gtkpod.glade
+          scripts/convert-flac2m4a.sh
+          scripts/convert-flac2mp3.sh
+          scripts/convert-ogg2m4a.sh
+          scripts/convert-ogg2mp3.sh
+          scripts/Makefile.am
+          src/display_itdb.h
+          src/file.h
+          src/file_convert.c
+          src/file_convert.h
+          src/file_itunesdb.c
+          src/prefs_window.c
+	  src/prefs.c: display of conversion progress and improved
+          conversion scripts (receive meta tags by command line
+          arguments). Thanks to Simon Naunton!
+
+          scripts/convert-m4a2mp3.sh
+          scripts/convert-mp32m4a.sh
+          scripts/convert-wav2m4a.sh
+          scripts/convert-wav2mp3.sh: new scripts for mp3, m4a and wav
+          conversion.
+
+
+2007-02-04 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+        * gtkpod.glade
+          src/display.h
+          src/display_tracks.c
+          src/misc_conversion.c
+          src/misc_track.c: Patch by Mario Rossi to allow editing of
+          TV show metadata and media type. Big thanks!
+
+	* configure.in: require libgpod >= 0.4.2
+
+	* scripts/Makefile.am: added convert-og2m4a.sh to script list.
+
+	* scripts/sync-webcalendar.sh: applied patch from Giray Devlet
+          for support of differently named calendars.
+
+2007-01-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* scripts/convert-flac2mp3.sh: fixed typo (thanks to Peter Edwards)
+
+	* scripts/convert-ogg2mp3.sh: applied Peter Edwards' patch
+
+	* scripts/convert-ogg2m4a.sh: new script courtesy of Peter Edwards
+
+2007-01-18 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* scripts/convert-flac2mp3.sh
+	  scripts/convert-ogg2mp3.sh: some minor fixes pointed out by
+	  Peter Edwards. Thanks!
+
+	* scripts/convert-flac2m4a.sh: thanks to Peter Edwards.
+
+	* src/display_itdb.h
+	  src/file.c
+	  src/file.h
+	  src/file_convert.c
+	  src/file_convert.h
+	  src/file_itunesdb.c
+	  src/flacfile.c
+	  src/oggfile.c: changes in conversion engine. Whether
+	  conversion is necessary will be determined at the time of
+	  copying, not at the time of adding to ensure that drag and
+	  drops from the Local repository work as expected.
+
+	* src/clientserver.c
+	  src/date_parser.l
+	  src/date_parser2.l
+	  src/display_sorttabs.c
+	  src/file_itunesdb.c
+	  src/misc_confirm.c
+	  src/tools.c: corrected typo (occured -> occurred)
+
+2007-01-16 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* scripts/convert-flac2mp3.sh
+	  scripts/convert-ogg2mp3.sh
+	  src/file_convert.[ch]
+	  src/flacfile.[ch]
+	  src/oggfile.[ch]: new files for patch mentioned below
+
+	  configure.in
+	  gtkpod.glade
+	  scripts/Makefile.am
+	  src/Makefile.am
+	  src/display_itdb.h
+	  src/display_tracks.c
+	  src/file.c
+	  src/file.h
+	  src/file_itunesdb.c
+	  src/misc.c
+	  src/misc.h
+	  src/misc_conversion.c
+	  src/misc_track.c
+	  src/prefs.c
+	  src/prefs_window.c
+	  src/repository.c
+	  src/syncdir.c
+	  src/tools.c: combined patch by Marc d[r]eadlock and Simon
+	  Naunton for on-the fly conversion of FLAC and OGG files
+	  during export to the iPod, plus some patches thrown in by
+	  myself. Thanks for the contribution!
+
+	* src/charset.c: Default Japanese auto-conversion to UTF8
+          instead of EUC-JP. Thanks to Jun Kobayashi
+
+	* src/display_sorttabs.c (on_st_switch_page): avoid CRITICAL
+          warning when the "Special" filter tab was selected. Thanks
+          to Audrius Meskauskas for pointing this out.
+
+	* src/file.c: when looking for thumbnail files, also look for
+          uppercase filename extensions, like .JPG -- not only for
+          .jpg.
+
+	* gtkpod.glade
+	  src/details.c
+	  src/display.h
+	  src/display_itdb.c
+	  src/file.c
+	  src/misc.c
+	  src/misc.h
+	  src/misc_conversion.c
+	  src/misc_track.c: Mario Rossi's patch to display and select
+	  TV-related data fields and the media type of a given track.
+
+2007-01-15 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* po/ja.po: updated Japanese catalog -- thanks to Kentaro Fukuchi
+
+2007-01-14 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* po/de.po: update by Kai-Ove -- thanks!
+
+	* po/he.po: update by Assaf Gillat -- thanks!
+
+2007-01-08 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* po/it.po: fuzzy'ed out translation with incorrect format
+          string.
+
+	* po/ja.po: fuzzy'ed out translation with two plural forms
+          (Japanese only supports one plural form) until a solution is
+          found.
+
+	* po/fr.po: updated French catalog (thanks to Eric Lassauge)
+
+	* po/POTFILES.in: added support.c
+
+2007-01-07 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* INSTALL: corrected PKG_CONFIG_PATH
+
+2006-11-28 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* configure.in:
+	  INSTALL: require gtk >= 2.6.0
+
+2006-11-26 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/display_playlists.c: display duplicates when adding
+          tracks through DND.
+
+	* src/display_playlists.c: avoid crash when clicking on the
+          'Eject/Load iPod' icons too quickly.
+
+	* src/details.c: indicate corrupted artwork data.
+
+2006-11-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/prefs.c
+	  src/clientserver.[ch]: Add command line argument to print
+	  out the gtkpod sha1 hash of a file ("--hash"). Thanks to
+	  Todd Zullinger.
+
+	* src/context_menus.c: Make context menu more consistent
+          ('Edit Playlist Properties', 'Edit iPod Properties' and
+          'Edit Repository Properties').
+
+	* src/ipod_init.c: gp_ipod_init() would 'forget' what model
+          the user selected earlier when setting up the iPod repository.
+
+2006-11-22 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/: renamed
+	  - display_songs.c to display_tracks.c
+	  - md5.c to sha1.c
+	  - md5.h to sha1.h
+
+	* subsequent changes to Makefile.am and some #includes.
+
+	* src/md5.[ch], src/lastfm.[ch]: lastfm support by Anant
+          Narayanan.
+
+2006-11-17 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/*.[ch]: realized that we are using sha1 hash and not md5
+          hash, therefore renamed all relevant occurences of md5
+          (function names only so far).
+
+2006-11-08 James Liggett <freethinkerjim at users.sourceforge.net>
 	
-        Change of copyright: itunesdb.c and itunesdb.h are now under the
-	GNU Lesser General Public License to make it easier to use the
-	code in other programs.
+	* src/file.c
+	  src/file_itunesdb.c: Patch from Rommel G. Custodio
+	  <sessyargc  at yahoo.com> that allows current CVS gtkpod to compile 
+	  with current CVS libgpod.  
 
-	BUGFIX: when writing tags to file, all tags were updated even if
-	you selected only to update changed tags in the the preferences.
+2006-10-22 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-	NEW FEATURE: drag and drop files/directories/playlists from
-	konqueror or nautilus directly into the song view. The songs will
-	be inserted at the specified position. You must already have some
-	songs displayed or a drop is not possible. In that case you should
-	drop into the playlist view since obviously you don't care about
-	the exact position of the files in the playlist (will be added at
-	the end).
+	* scripts/sync-evocalendar.sh: new option for adding a filter
+          script. Thanks to Clarke Brunsdon for the patch.
 
-	NEW FEATURE: drag and drop files/directories/playlists from
-	konqueror or nautilus directly into the playlist view. If you drop
-	between playlists a (number of) new playlist(s) will be created
-	for the drop. If you drop onto a playlist, the songs will be added
-	into that playlist. Alpha-Version!
+2006-10-21 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-	IMPROVEMENT: speed-up of display refreshs.  - Import of iTunesDB
-	with full non-blocked display: 4x as fast (51'' against 3'35'' on
-	my 2459 songs) - Refresh of first sort tab, non-blocked: 20x as
-	fast (0.65'' against 13'' on my 2459 songs) - Refresh of first
-	sort tab, blocked: 60x as fast (0.13'' against 7.8'' on my 2459
-	songs) - Refresh of song list, non-blocked: 2x as fast (9''
-	against 18'' on my 2459 songs)
+	* src/mp4file.c: fix compilation error when compiling with
+          libmp4v2 package from http://www.debian-multimedia.org/
 
-gtkpod V0.43-1 28-Feb-2003
-	BUGFIX: After DND operation songs were displayed twice in the
-	master playlist (this was just a display artifact).
+	* src/display_songs.c (tm_get_nr_of_tracks): speed up counting
+          of displayed tracks by using
+          gtk_tree_model_iter_n_children() instead of actually
+          counting. Thanks to Clarke Brunsdon for the patch.
 
-gtkpod V0.43 27-Feb-2003
-        Preventive BUGFIX: in the code to import the iTunesDB all absolute
-	references to positions in the iTunesDB were removed. Instead
-	itunesdb.c now uses the header information to find the headers it
-	needs. This should make it more reliable to read third party
-	iTunesDB. This was also part of the problem with the ephpod import
-	problem below (the other half of the problem was ephpod's not
-	really conformant way of writing the database).
+2006-10-14 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
-        BUGFIX: some iTunesDBs produced by ephpod could not be read (hang
-	after reading the songs and before adding the playlists).
-        
-	New Feature: update song information from file when adding songs
-	with identical filename (option)
+        * src/prefs.c: fix compiler warning on 64bit systems (%llu)
+
+	* src/mp4file.c: don't assume that the audio track is track
+          0. Instead cycle through all tracks until an audio or video
+	  track is found.
+
+2006-10-02 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/file_export.c: only write error messages for track for
+          which export failed and not all subsequent tracks as
+          well. Thanks to Joachim Tesch for the patch.
+
+2006-09-27 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/mp3file.c: Todd Zullinger caught the break statement at
+          the wrong place.
+
+2006-09-26 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* po/sv.po: updated version by Stefan Asserhall
+
+	* src/mp3file.c: when adding artwork make sure the correct
+          type is used (preferably type 3 (cover) or type 0 (used by
+          iTunes)). Thanks to Todd Zullinger for the patch.
+
+2006-09-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/mp3file.c (mp3_write_file_info): YEAR tag was not
+          written to file. Thanks to t0C for the patch.
+
+	* src/syncdir.c (sync_playlist): clean up
+	  'updated/non-updated/duplicate' lists so they don't pop up
+  	  unexpectedly at a later time.
+
+	* po/es.po: updated version by Alejandro Lamas Daviña
+
+	* README
+	  src/main.c
+	  src/misc_confirm.c
+	  src/prefs.c
+	  src/prefs_window.c: removed references to "automount".
+
+	* configure.in: bumped to V0.99.8 for release
+
+	* configure.in: bumped to V0.99.9CVS for new CVS version
+
+2006-09-21 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/file.c: (update_track_from_file): forgot to flag track
+          for re-transfer when hash value had changed (thanks to Todd
+          Zullinger).
+
+	* src/file.c (add_coverart): handle templates better (no
+	  "safety" substitutions of characters). Thanks to Flavio
+	  Stanchino.
+
+	* gtkpod.glade
+	  src/details.c
+	  src/display.h
+	  src/display_itdb.c
+	  src/display_songs.c
+	  src/file.c
+	  src/misc_conversion.c
+	  src/misc_track.c: Display artwork path (thanks to Flavio
+	  Stanchino for most of the patch).
+
+2006-09-18 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* mp3file.c: support reading of coverart from APIC
+          tag. Work around non-conformant tags written by iTunes.
+
+	* mp4file.c: update instructions at the beginnging of the
+          file, read soundcheck values irrespective of "readtags"
+          setting.
+
+	* gtkpod.glade
+	  src/prefs.c
+	  src/prefs_windows.c
+	  src/mp3file.c
+	  src/file.c: implement "coverart_apic" prefs key allowing to
+	  select whether coverart stored in tags should be used or not.
+
+	* src/display_itdb.c
+	  src/display_itdb.h: new: gp_track_set_thumbnails_from_data()
+
+2006-09-17 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* misc_conversion.c: Typo: "Suffling" -> "Shuffling". Thanks
+          to Todd for pointing this out.
+
+	* ipod_init.c (set_cell): display iPod sizes smaller 1 GB in
+          MB, instead of displaying "0 GB".
+
+	* INSTALL: update with list of dependencies (thanks to Todd)
+
+2006-09-14 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* display_spl.c (spl_check_number_of_rules): simplify
+          activation/deactivation of button to remove rules.
+
+2006-09-11 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* display_spl.c (spl_update_rule): don't reactivate the '-'
+          button when changing the rule.
+
+2006-09-11 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* file.c (add_artwork): fix problem when artwork template
+          expands into something containing a '.'. Thanks to Thorsten.
+
+2006-09-01 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* gtkpod.glade
+	  src/file.c
+	  src/prefs_window.c: file exclusion mask when adding tracks
+	  -- thanks to Richard Hyde for the patch. Will have to add
+	  exclude-support for syncing and updating.
+
+	* src/syncdir.c: fix problem when directory to sync ends with '/'.
+
+2006-08-31 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* syncdir.c (sync_playlist): fix segfault when removing track
+          from iPod.
+
+2006-08-30 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* file.c (get_track_info_from_file): don't reset time_added
+          when updating files.
+
+2006-08-21 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* TROUBLESHOOTING: added hint for ubuntu users. Thanks to
+          Marcelo Varanda.
+
+2006-08-18 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/file.c (get_track_info_from_file): set time_modified to
+          modification date of file instead of current time. Thanks to
+          Richard Hyde.
+
+2006-07-04 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/misc_track (track_scan_length): work around problem in
+          conversion from gdouble to gint32 which caused playlength
+          be set incorrectly (most notable in write-through mode in
+          the edit details window).
+
+2006-07-02 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/misc_confirm.c (delete_playlist_head): fixed stupid
+          compile error.
+
+2006-06-29 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/confirmation.c: Add safety to "remove all tracks"
+          context menu.
+
+
+2006-06-27 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/display_playlist (pm_remove_playlist): if entire itdb is
+          removed, clear display (filter tabs, playlist view) first to
+          avoid segfaults when non-existent tracks are accessed for
+          display updates.
+
+2006-06-26 James Liggett <freethinkerjim at users.sourceforge.net>
 	
-        New Feature: update song information from file of selected songs
-	(ctrl-u and menu item)
+	* src/misc.c
+	  src/prefs.h: Fixed a translation problem, 
+	  updated copyright. 
 
-	BUGFIX: copy_song_to_ipod() there was a <5% chance that songs were
-	overwritten by new songs during the copy process, if you deleted
-	songs before adding new songs.
+	* src/misc.c
+	  src/prefs.c: Updated copyright info, prefs howto,
+	  and about box. 
+	
+	* src/prefs_window.c: Fixed sort ignore list bug.
 
-        BUGFIX: Deleting songs from the iPod only worked if you exported
-	the iTunesDB twice.
+	* src/main.c
+	  src/misc_confirm.c
+	  src/prefs.c
+	  src/prefs.h
+	  src/prefs_window.c: Got rid of old prefs infrastructure :)
+	  Also added prefs functions for handling double/float keys.
+	 	
+
+2006-06-25 James Liggett <freethinkerjim at users.sourceforge.net>
+
+	* src/md5.c
+	  src/md5.h
+	  src/prefs.c
+	  src/prefs.h
+	  src/prefs_window.c: Fixed the fallout from the charset fiasco:
+			      	- MD5 checksums work again
+				- Reapplied other patches trashed by the reversal
+				- Old prefs is now just a stub (will be removed shortly)
+
+2006-06-25 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/repository.c
+	  src/prefs.c
+	  src/prefs.h: added temp_prefs_remove_key()
+
+	  src/repository.c: use temp_prefs_remove_key() to remove keys.
+
+	  src/file_itunesdb.c: fix assertions related to get_offline()
+	  introduced yesterday.
+
+	* src/repository.c: only print debug messages about keys
+          added/removed if LOCAL_DEBUG is defined
+
+2006-06-24 James Liggett <freethinkerjim at users.sourceforge.net>
+
+	* src/charset.c
+	  src/prefs.c
+	  src/prefs.h: Redid charset patch.
+
+	* src/charset.c
+	  src/file.c
+	  src/prefs.c
+	  src/prefs_window.c: Finish up charset fixes.
+
+	* src/charset.c: Fixed a possible crash (spotted by 
+	  Jorg) Also got rid of some unneeded casts.
+
+2006-06-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/prefs.[ch]: removed unused prefs_print() declaration,
+          moved discard_prefs() declaration to prefs.c
+
+	* gtkpod.glade
+	  src/display.c
+	  src/display.h
+	  src/display_itdb.h
+	  src/display_playlists.c
+	  src/file.c
+	  src/file_export.c
+	  src/file_itunesdb.c
+	  src/info.c
+	  src/misc.c
+	  src/misc.h
+	  src/prefs.c
+	  src/prefs.h: removed global offline prefs key and moved it
+	  to the individual itdbs (ExtraiTunesDBData). The offline
+	  code is still available, but currently not used (no
+	  possibility to toggle offline mode from the GUI).
+
+	* src/display.c (on_check_ipod_files_activate): require that
+          the iPod is loaded before checking files.
+
+	* src/display.c (on_ipod_directories_new): use new
+	  gp_ipod_init() function to create directories.
+
+	  src/file_itunesdb.c (gp_write_itdb): use new gp_ipod_init()
+	  function to create directories.
+
+	  src/misc.h
+	  src/misc_confirm.c: Removed old ipod_directories... code.
+	  code.
+
+2006-06-23 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/display.c
+	  src/misc_confirm.c
+	  src/misc_playlist.c
+	  src/misc_track.c: use message_sb_...() instead of indivudual strings.
+
+	* src/file_export.c
+	  src/file_itunesdb.c
+	  src/info.c
+	  src/info.h
+	  src/misc_playlist.c
+	  src/prefs.c
+	  src/prefs.h
+	  src/tools.c: removed 'statusbar_timeout' prefs key and
+	  introduced 'gtkpod_statusbar_timeout()' call
+	  instead (the value doesn't have to be saved). Statusbar
+	  messages are now displayed again.
+
+	* src/display.c
+	  src/display_itdb.c (gp_get_ipod_itdb): changed default
+          behavior in case more than one iPod itdb is present.
+
+	* src/context_menus.c
+	  src/display.c
+	  src/display_itdb.c
+	  src/display_itdb.h
+	  src/display_playlists.c
+	  src/display_songs.c
+	  src/fileselection.c
+	  src/misc_playlist.c
+	  src/prefs_window.c: changed default behavior of
+	  gp_get_active_itdb() to return NULL when no itdb is
+	  selected and renamed to gp_get_selected_itdb(). Print message
+	  when no itdb is selected when one is needed.
+
+	* src/info.c
+	  src/info.h: added standard error messages, used in the conversion above.
+	      void message_sb_no_itdb_selected (void);
+	      void message_sb_no_tracks_selected (void);
+	      void message_sb_no_playlist_selected (void);
+	      void message_sb_no_ipod_itdb_selected (void);
+
+	* src/display.c (display_adjust_menus): don't completely
+          disable edit menu when no itdb is present.
+
+2006-06-22 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/context_menus.c: moved context menus over to new
+          system. 
+
+	* src/charset.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Reversed patch from 6/20 -- will be redone.
+
+2006-06-20 James Liggett <freethinkerjim at users.sourceforge.net>
+
+	* src/charset.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved charset to new prefs.
+
+	* src/display_songs.c
+	  src/display_sorttabs.c
+	  src/misc.h
+	  src/misc.c: Renamed disable_sorting to sorting_disabled
+	  to avoid confusion. 
+
+2006-06-19 James Liggett <freethinkerjim at users.sourceforge.net>
+
+	* src/display_playlists.c
+	  src/display_sorttabs.c
+	  src/misc.c
+	  src/misc_track.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved block_display to new prefs.
 	
-	New Feature: Add Playlists (m3u and pls)
+	* src/display.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved display_toolbar and 
+	  toolbar_style to new prefs.
 
-gtkpod V0.42 20-Feb-2003
-        Bugfix: on first start gtkpod complained it could not create
-	~/.gtkpod even though it could... (and vice versa).
+	* src/misc.h
+	  src/misc.c
+	  src/prefs.h
+	  src/prefs.c: Renamed prefs_get_disable_sorting to 
+	  disable_sorting and moved to misc.c/h. 
 
-	Improvement: display update can now be interrupted, selection
-	changed at any time.
+	* src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved display_tooltips_prefs to new prefs.
 
-	Bugfix: gtkpod now sets bitrate (average bitrate for VBR)
+	* src/display.c
+	  src/display_sorttabs.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved display_tooltips_main to new prefs.
 
-        Improvement: export can be interrupted and be continued at a later
-	time. gtkpod will (hopefully) correctly remember which songs have
-	already been copied/deleted from your iPod.
+	* src/display_sorttabs.c:
+	  src/prefs.c
+	  src/prefs.h
+	  src/prefs_window.c: Moved group compilations to new prefs.
+
+2006-06-16 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/context_menus.c: started rewrite of context menu
+	  setup. Cleaned up the playlist context menu.
+
+2006-06-15 James Liggett <freethinkerjim at users.sourceforge.net>
+
+	* src/prefs_window.c: Fixed some sorting window bugs:
+			      	- Pressing cancel shouldn't commit changes
+				- Sorting now works again. 
+
+2006-06-15 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/prefs.c
+	  src/prefs.h:
+	  src/misc.h: moved LIST_END_MARKER to prefs.c (private),
+	  moved SORT_... enum to display.h
+
+2006-06-14 James Liggett <freethinkerjim at users.sourceforge.net>
+
+	* src/misc.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: sort_ign_string_ list now fully uses new
+	  prefs interfaces
+
+	* src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved sort_ign_fields_ to new prefs. 
+	  Also got rid of sortcfg.
+
+2006-06-14 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/mp4file.c: mp4_read_soundcheck not defined when mp4v2
+          library was not present.
+
+	* Changelog_detailled: formatting (9 space -> 8 spaces)
+
+	* src/prefs.h
+	  src/syncdir.h
+	  src/syndir.c
+	  src/repositories.c: moved PLAYLIST_AUTOSYNC enum to
+	  syncdir.h and renamed.
+
+	* src/context_menu.c: very first phase of rearrangement.
+
+2006-06-13 James Liggett <freethinkerjimWusers.sourceforge.net>
 	
-	Improvement: removal and copy of songs during export is done in a
-	separate thread, so the display doesn't freeze on long file system
-	operations
+	* src/display_songs.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved tm_sortcol and tm_sort to 
+	  new prefs.
 
-        Bugfix: Kentaro Fukuchi pointed out that MusicMatch (at least the
-	Japanese version) uses song IDs starting with 2 (and not with
-	53). gtkpod then dropped some of your songs -- fixed.
-        
-	Improvement: Delete works on entries in sort tabs now (ctrl-d and
-	new menu item)
+2006-06-13 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/prefs_window.c (on_path_button_pressed): corrected
+          error when "Browse" button was pressed (current path
+          sometimes was not passed to fileselector)
+
+	* src/fileselection.c: avoid run-time warning.
+
+	* src/prefs.h
+	  src/prefs.c
+	  src/prefs_windows: Made PathType enum redundant outside
+	  prefs.c (needed only for key conversion).
+
+2006-06-12 James Liggett <freethinkerjim at users.sourceforge.net>
 	
-	Improvement?: don't close dirbrowser window until after the songs
-	have been read.
+	* src/display_playlists.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved pm_sort to new prefs.
+	
+	* src/context_menus.c
+	  src/display_sorttabs.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved st_sort to new prefs.
+	
+	* src/display_songs.c
+	  src/misc_playlist.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved tm_autostore to new prefs.
+	
+	* src/file.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved write_charset to new prefs.
 
-	Improvement: display is updated while writing tags to disk "in the
-	background"
+	* src/file.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved update_charset to new prefs.
 
-	Bugfix: sometimes deleted songs were not removed from the
-	display. Changing tags then could crash the program
+	* src/misc.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved case_sensitive to new prefs.
 
-	Bugfix: convert filenames ot UTF8 based on the charset chosen in
-	the options window
+	* src/misc_playlist.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved misc_track_nr to new prefs.
+	
+	* src/misc_playlist.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved not_played_track to new prefs.
 
-	Bugfix: don't try to access iPod based files when in offline mode
+2006-06-11 James Liggett <freethinkerjim at users.sourceforge.net>
+	
+	* src/prefs.h
+	  src/prefs_window.c: Fixed paths not showing up/being set
+	  in prefs window.	
 
-gtkpod V0.41 01-Feb-2003
-	- minor bugfixes (just possible segfaults and such)
-	- window won't freeze during import/export/add operations
-	- better handling of duplicate songs (e.g. duplicate songs are now
-	  displayed in a window instead of on the console, if duplicate
-	  detection is switched on later, duplicate songs are removed but
-	  the playlists are preserved...)
-	- confirmation window when quitting gtkpod without saving data
-	- Drag-and-drop for sort tab entries
-	- Japanese langauge catalogue
+	* src/display_songs.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved multi_edit to new prefs.
+
+	* src/display_songs.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved multi_edit_title to new prefs.
+
+	* src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved tmp_disable_sort to new prefs.
+
+	* src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved last_prefs_page to new prefs.
+
+	* src/display.c
+	  src/info.c
+	  src/prefs.h
+	  src/prefs.c: Moved info_window to new prefs.
+
+	* src/fileselection.c
+	  src/misc_track.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved add_recursively to new prefs.
 	
-gtkpod V0.40 26-Jan-2003
-	many new features:
+	* src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved startup_messages to new prefs.	
 
-	- Playlists (Drag-and-drop support)
-	- Sort Tabs
-	- Duplicate Detection
-	- German language support
-	- Charset for ID3 tags can be set
-	- Offline modification of iPod contents (and later synchronisation)
-	- Preferences
+	* src/main.c
+	  src/misc_confirm.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved automount to new prefs.
 	
-gtkpod V0.10
-	basic tool to import/export songs to your iPod.
+	* src/file.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved mserv_use and 
+	  mserv_username to new prefs. 
+	
+	* src/file.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved coverart and 
+	  coverart_template to new prefs.
+
+2006-06-11 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/prefs.h: removed unused declarations.
+
+	* src/file.c: fixed two memory leaks.
+
+	* src/misc_playlist.c: fixed memory leak.
+
+	* src/file.c:
+	  Got rid of get_file_name_verified(),
+	  get_file_name_on_ipod)( as they can be emulated by
+	  get_file_name_from_source().
+
+	  Got rid of get_file_name() and get_file_name_on_harddisk
+	  (substituted where used) used).
+
+	* src/mp3file.c: removed mp3gain code
+
+	* src/tools.c: added mp3gain and aacgain code.
+
+	* src/prefs_windows.c: added aacgain path in the Tools
+          section, improved layout.
+
+2006-06-10 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/mp4file.c: read aacgain if present.
+
+	* src/display_itdb.h
+	  src/file.c
+	  src/file_itunesdb.c
+	  src/mp3file.c
+	  src/mp4file.c
+	  src/tools.c
+	  Got rid of radio_gain, audiophile_gain, peak_signal_set,
+	  radio_gain_set, audiophile_gain_set.
+
+	  TODO: rework normalisation process -- probably do not
+	  support mp3gain any more. "Normalize" would then just
+	  re-read the gain tags.
+
+	* src/mp3file.c: renamed GainData *etr; to GainData *gd; to
+          avoid confusion (63 occurences)
+
+	* src/ipod_init.[ch]...: renamed init_model_number_combo()
+          and init_ipod() to gp_...()
+
+	* src/file_itunesdb (gp_load_ipod): ask for model number of
+	  the iPod if none is available. If one is available from
+	  SysInfo file, store that information in the prefs system.
+
+	* src/ipod_init.[ch]: new: gp_ipod_init_set_model() asking
+          for a model number string and storing it.
+
+	* src/ipod_init.c (gp_ipod_init_set_model): mention
+          mountpoint when asking for the model.
+
+	* src/prefs.[ch]
+	  src/prefs_window.c
+	  src/display.[ch]
+	  src/display_playlists.c
+	  Did away with pm_autostore.
+
+2006-06-10 James Liggett <freethinkerjim at users.sourceforge.net>
+	
+	* src/prefs.h
+	  src/prefs.c: Got rid of prefs_validate path.
+	
+	* src/file.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved parsetags_template to 
+	  new prefs.	
+
+	* src/file.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved parsetags_overwrite to 
+	  new prefs
+	
+	* src/file.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved parsetags to new prefs.
+	
+	* src/file_itunesdb.c
+	  src/misc.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved write_extended_info to new prefs.
+	
+	* src/main.c
+	  src/prefs.h
+	  src/prefs.c: Moved autoimport_commandline to new prefs.	 
+
+	* src/mp3file.c
+	  src/mp4file.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved readtags to new prefs.
+
+	* src/main.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Moved autoimport to new prefs.
+	
+	* src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Got rid of unused_gboolean3.
+
+	* src/prefs.c: Miscellaneous formatting fixes. I've now
+	  switched to using emacs, so I hope this won't be a problem
+	  anymore :)
+
+2006-06-09 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/display_sorttabs.c
+	  (sp_update_date_interval_from_string): fix compilation
+	  warning and possible segfault.
+
+2006-06-09 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* README: some hints from a recent gtkpod-questions thread.
+
+2006-06-08 James Liggett <freethinkerjim at users.sourceforge.net>
+
+        * src/info.c
+          src/prefs.h
+          src/prefs.c: Move size_info to new prefs. Also did some
+	  minor cleanup
+
+        * src/prefs.h
+          src/prefs.c
+          src/prefs_window.c: Move size_prefs to new prefs	 
+
+        * src/fileselection.c
+          src/prefs.h
+          src/prefs.c: Move size_dirbr to new prefs
+
+        * src/confirmation.c
+	  src/prefs.h
+	  src/prefs.c: Move size_conf to new prefs
+	
+	* src/confirmation.c
+	  src/display_sorttabs.c
+	  src/prefs.h
+	  src/prefs.c: Move size_cal and size_conf_sw to new prefs
+	
+	* src/display.c
+	  src/prefs.h
+	  src/prefs.c: Move size_gtkpod to new prefs
+
+2006-06-08 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/repository.c: set_entry() -> set_entry_index() to
+	  simplify code.
+
+	  Display iPod model number and allow editing.
+
+	  TODO: 
+	  - reset model number if iPod with different number is loaded
+	  - write model number to iPod if iPod without model number
+	    is loaded.
+
+	* src/repository.c: use GtkComboEntry to select iPod model
+	  just like in ipod_init.c
+			 
+2006-06-07 James Liggett <freethinkerjim at users.sourceforge.net>
+	
+	* src/display_playlists.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Move mpl_autoselect to new prefs
+	
+	* src/file.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Move tag_autoset to new prefs.
+	
+	* src/display_sorttabs.c
+	  src/prefs.h
+	  src/prefs.c: Move paned_pos_ keys to new prefs
+		 
+2006-06-06 James Liggett <freethinkerjim at users.sourceforge.net>
+
+	* src/repository.c: use ComboBoxEntry to allow the selection
+          of the iPod model in the same way as in the ipod_init
+          dialog.
+
+	* src/display.c
+	  src/display_songs.c
+	  src/display_sorttabs.c
+	  src/info.c
+	  src/misc_confirm.c
+	  src/misc_input.c
+	  src/prefs.h
+	  src/prefs.c
+	  prefs_window.c: Move sort_tab_num to new prefs.
+
+	* src/display_songs.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Move tm_col_order to new prefs. Also
+	  added a finalize_prefs function to allow prefs to do things
+	  before the file gets saved.
+
+	* src/prefs_window.c: Fix columns not appearing after being
+     	  set in prefs dialog
+
+	* src/display_songs.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Move tm_col_visible to new prefs.
+
+2006-06-05 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/file.c: fixed double g_free() (thanks to Florent
+	  Bouchez).
+
+	* src/ipod_init.c: pretty much finished ipod_init dialog.
+
+2006-06-05 James Liggett <freethinkerjim at users.sourceforge.net>
+
+        * src/display_songs.c
+          src/prefs.h
+          src/prefs.c: Move tm_col_width to new prefs.
+   
+        * src/display_sorttabs.c
+          src/prefs.h
+          src/prefs.c: Move sp_autodisplay to new prefs.
+   
+2006-06-04 James Liggett <freethinkerjim at users.sourceforge.net>
+    
+        * src/display_sorttabs.c
+          src/prefs.h
+          src/prefs.c: Move sp_playcount_low/high to new prefs.
+
+        * src/display_sorttabs.c
+          src/prefs.h
+          src/prefs.c: Move sp_played_state, sp_modified_state, 
+                       and sp_added_state to new prefs.
+
+        * src/display_sorttabs.c
+          src/prefs.h
+          src/prefs.c: Move sp_rating_state to new prefs.
+
+2006-06-03 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/details.c: removing of artwork did not really work.
+
+	* src/file_itunesdb, src/ipod_init.[ch]: started dialog to
+          create directories when not present on 'load'. Work in
+          progress.
+
+2006-06-02 James Liggett <freethinkerjim at users.sourceforge.net>
+
+	* src/display_sorttabs.c
+	  src/prefs.h
+          src/prefs.c: Move sp_*_cond to new prefs.
+
+	* src/display_sorttabs.c
+	  src/prefs.h
+	  src/prefs.c: Move sp_or to new prefs.
+
+2006-05-31 James Liggett <freethinkerjim at users.sourceforge.net>
+
+	* src/display_sorttabs.c
+	  src/prefs.h
+	  src/prefs.c
+	  src/prefs_window.c: Move st_category to new prefs.
+
+	* src/prefs.c: Add list end marker when setting
+          variable-length list default entries.
+
+	* src/prefs.c
+	  src/prefs.h
+	  src/prefs_window.c
+	  src/display_sorttabs.c: Move sort tabs autoselect key to
+	  new prefs
+
+	* src/prefs.c: Clean up dead path keys in cleanup_keys
+
+	* src/prefs.c: Delete a duplicate check for XMMS command. For
+          some reason, this was in cleanup_keys twice.
+
+2006-05-30 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/prefs.c (cleanup_keys): set "version" after cleanup is
+          done.
+
+	* src/prefs.c (save_prefs): write version string at the start
+          of the file until the old prefs system is completely gone.
+
+2006-05-30 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/prefs.c (clenaup_keys): added check for version
+          dependent transition of 'path_play_now' key.
+
+	* src/prefs.c (save_prefs): update version string before
+          writing to file.
+
+2006-05-29 James Liggett <freethinkerjim at users.sourceforge.net>
+
+        * src/prefs.c: Clean up paths keys
+          - Defaults for path_play_now, path_play_enqueue, and 
+            path_mserv_trackinfo_root are set in set_default_prefrences
+          - Key cleanup done in cleanup_keys 
+
+2006-05-29 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/details, display.h, misc_conversion.c... 
+	  Support for start time, stop time, skip when shuffling and
+	  remember playback position.
+	  
+	  ******************************************************
+	  Will require photosupport branch of libgpod to compile
+	  ******************************************************
+
+2006-05-28 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/display_playlists.c (tree_view_get_cell_from_pos): take
+          into account that bug in gtk_tree_view_get_cell_area() was
+          fixed with GTK+2.8.18 (upon submitting bug report)
+
+	* src/misc_track.c (gp_track_by_filename): fix segfault when
+          adding tracks to iPod without iPod connected.
+
+	* src/mp4file.c (mp4_get_file_info): read iTunNORM tag if
+          present to set soundcheck (volumne normalisation)
+
+2006-05-27 James Liggett <freethinkerjim at users.sourceforge.net>
+   
+	* src/prefs.c: Removed remove_key as it's not needed. 
+   
+	* src/prefs.c: Added new functions remove_key and
+	  cleanup_keys to allow for deleting/renaming old or changed
+	  keys
+          
+	* src/main.c
+	  src/prefs.c: Disable prefs reading by new prefs system; let
+          read_prefs_from_file_desc handle it until the transition is
+          finished so we don't read prefs twice.
+
+2006-05-25 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* po/sv.po: updated catalog from Stefan Asserhall
+
+	* src/misc_track.c (track_copy_item): T_YEAR was not copied
+          correctly.
+
+2006-05-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/prefs.[ch]: new: temp_prefs_rename_subkey()
+
+	* src/misc.[ch]: new: void set_itdb_index_prefs_string(),
+          set_itdb_index_prefs_int()
+
+	* src/repository.c: it's now possible to add new repositories
+          (hardly tested)
+
+	* gtkpod.glade
+
+2006-05-23 Todd Zullinger <tmz at pobox.com>
+   
+        * src/prefs.c: Fix sort ignore list not working after prefs
+          changes
+          
+2006-05-23 James Liggett <freethinkerjim at users.sourceforge.net>
+
+	* src/prefs.c: Reverse previous patch as it breaks lists (argh!!)
+   
+        * src/prefs.c: Filter out deprecated/other prefs that the new
+	  system doesn't manage, getting rid of the prefs duplication
+	  problem and negating the need to filter out unneeded prefs
+	  manually
+
+2006-05-23 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/repository.c: continued 'Create Repository' dialog.
+
+	* src/display_playlist.c
+	  src/display.h: new functions pm_set_renderer_pix() and
+	  pm_set_renderer_text() to be able to use the same style for
+	  displayling playlist/repository names throughout gtkpod.
+
+2006-05-22 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/fileselection.[ch]: replaced fileselection_get_dir()
+          with fileselection_get_file_or_dir().
+
+	* src/repository.c: started 'Create Repository' dialog.
+
+2006-05-21 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/file.c (update_track_from_file): fixed possible segfault.
+
+	* po/POTFILES.in: corrected file list.
+
+	* src/display.c
+	  src/display_itdb.c
+	  src/display_playlists.c
+	  src/display_songs.c
+	  src/file.c
+	  src/file_export.c
+	  src/file_itunesdb.c
+	  src/info.c
+	  src/info.h
+	  src/misc_confirm.c
+	  src/misc_playlist.c
+	  src/misc_track.c
+	  src/tools.c: simplified code by having
+	  gtkpod_statusbar_message() accept printf style arguments.
+
+	* display_spl.c (spl_ok): mark data as changed.
+
+	* context_menus.c: removed (volumne) 'Normalize'. Accessible
+          via Tools-menu.
+
+	* file_itunesdb.c (gp_write_itdb): statusbar message was
+          incorrect (passed mpl instead of mpl->name to be printed).
+
+	* removed remaining code for podcast download support
+
+	* Menu entry to display repository/iPod options.
+
+	* gtkpod.glade: Rearranged 'Edit' main menu
+
+	* info.c: space update will use @itdb instead of 'mountpoint'
+          to deisplay free space -> space_get_ipod_itdb(),
+          gp_free_itdb().
+
+2006-05-20 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* po/POTFILES.in: updated file list -> updated .po files.
+
+	* src/misc.c: call_script now accepts an arbitary number of
+	  command line arguments.
+
+	* src/file.c (update_track_from_file): if no local filename
+          is available, use the copy on the iPod to update.
+
+	* src/display_songs.c (tm_cell_edited): when changing the
+          track length also update starttime, stoptime and filesize
+          (all needed to have the iPod play the hole file).
+
+        * src/context_menus.c
+          src/display.c
+          src/display.h
+          src/display_itdb.c
+          src/display_itdb.h
+          src/display_playlists.c
+          src/display_songs.c
+          src/file.h
+          src/file_itunesdb.c
+          src/main.c
+          src/misc.h
+          src/misc_confirm.c
+          src/misc_input.c
+          src/misc_track.c
+	  gtkpod.glade: Introduction of load/eject ipod(s) and 'save
+          changes'. ~/.gtkpod/gtkpod.load and ~/.gtkpod/gtkpod.eject
+          are called before loading/after saving the iPod. Several
+          iPods are supported.
+           
+2006-05-19 James Liggett <freethinkerjim at users.sourceforge.net>
+   
+	* src/prefs.c: Fix a build warning in convert_filename caused
+          by my last patches...
+
+	* src/prefs.c: Reversed part of previous patch on advice from
+          Jorg
+   
+	* src/misc.c 
+	  src/prefs.c: 
+     
+	* Clean up initial_mountpoint:
+	  - Set default in set_default_prefrences rather than cfg_new
+	  - Remove unneeded code in read_prefs_from_file_desc
+	    (new prefs shouldn't use this/other deprecated prefs 
+	    functions)
+	  - Got rid of some superflous envionment reads 
+	    (needs to only be done once in read_environment)
+       
+        * New prefs backend function read_environment is now enabled
+          and used
+       
+        * Fixed convert_filename for use with read_envrionment
+          - Added NULL string pointer check
+   
+        * src/prefs.c: Reversed part of previous patch on advice from
+          Jorg
+
+2006-05-18 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/display_songs.c: simplified code for setup of columns.
+
+	* src/display_playlists.c: connect/disconnect icon for iPods,
+          identify if icon is clicked (printf a statement for the
+          time being -- work in progress!)
+
+2006-05-17 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* scripts/sync-tomboy.sh: recommitted
+
+	* configure.in: gcc < 4.0 does not know -Wno-pointer-sign
+
+	* src/md5.c: hash turned out different on little and big
+	  endian machines
+
+2006-05-16 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/repository.c: (sync_or_update_playlist): implemented
+          update of smart playlist.
+
+	* src/file_itunesdb.c
+	  src/display_itdb.h: make sure, live playlists are updated
+	  _after_ syncing of playlists has taken place.
+
+2006-05-15 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/misc.[ch]: (get_playlist_prefs_int),
+          get_playlist_prefs_string): new
+
+	* src/display_itdb.c
+	  src/file_itunesdb.c: automatically sync playlists on
+	  startup (when loading database).
+
+	* src/prefs_window.c: redefined the sync settings, set up
+          easy-to extend handling for standard toggle checkboxes.
+
+	* src/context_menu.c
+	  src/display.c: moved 'Sync' over to new 'Sync Playlist'.
+
+	* src/file.c: removed old sync-related code.
+
+2006-05-14 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* move over gtkpod_confirmation() to using the new prefs
+          system, along with a couple of keys (sync_remove,
+          sync_remove_confirm, show_duplicates, show_sync_dirs,
+          show_non_updated, show_updated, mserv_report_probs,
+          delete_ipod, delete_file, delete_local_file,
+          delete_database). Thanks to James Liggett!
+
+	* src/file.c: copy_new_info() incorrectly handled pc_path and
+          thumbnail_path, possibly leading to corruption of both when
+          updating tracks.
+
+	* src/repository.[ch]
+	* src/syncdir.[ch]
+	  It's now possible to sync directories from within the
+	  repository option catalog. Next step: automatic sync at the
+	  time of loading the database. Almost there!
+
+2006-05-13 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/syncdir.c:
+	* src/syncdir.h:
+	* src/Makefile.am:
+	  Added new source files for a complete rewrite of the
+	  synchronization code.
+	* file_itunesdb.c:
+	* file.c:
+	  added support for modification time of the song (needed for
+	  fast syncing)
+
+2006-05-08 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* moved path[i] and concal_autosync pref keys over to the
+          new prefs system. Work in progress: currently the scripts
+          for syncing cannot be set (this will be done from within
+          the repository options).
+
+2006-05-08 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* misc.[ch]: renamed get_itdb/playlist_key() to
+          get_itdb/playlist_prefs_key()
+
+	* misc.[ch]: new: get/set_itdb/playlist_prefs_string/int().
+
+2006-05-07 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* preliminarily moved "mountpoint" to new prefs system.
+
+2006-05-06 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/prefs.[ch]: new: temp_prefs_create_subset(),
+          temp_prefs_flush(), prefs_flush_subkey(),
+	  prefs_rename_subkey(), temp_prefs_subkey_exists()
+
+	* src/display_itdb.[ch]: new: gp_itdb_remove(),
+          gp_itdb_free().
+
+	* src/repository.[ch]: new -- repository prefs. Work in
+          progress, but you probably get the idea about what is to
+          be.
+
+	* src/display_playlists.c: streamlined slightly (only one
+          column in model, so no reason to find out which), added
+          indicator for changed repositories (italic), added
+          indicator for local repositories (hard disk icon).
+
+2006-05-05 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/*: moved 'prefs_get_last_dir_browse()' to new prefs
+          system.
+
+	* src/prefs.c: fixed bug introduced in temp_prefs_get_int().
+
+	* src/fileselection.[ch]: new: fileselection_get_dir().
+
+	* src/prefs.[ch]: new: temp_prefs_size().
+
+2006-05-01 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/prefs.[ch], src/prefswindow.c: renamed some temp_prefs
+          and temp_list function names.
+
+	* src/prefs.c: use strcmp() to compare keys for temp_prefs
+          (otherwise keys cannot be retrieved safely because
+          g_str_hash() is not unique.
+
+	* src/prefs.[ch]: added temp_prefs_get... functions as well
+          as reformatted some code a bit (way too much whitespace?!)
+
+2006-05-01 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/md5.c (sha1_hash): corrected signedness warning.
+	* src/charset.c (charset_check_k_code),
+	  (charset_check_k_code_with_default): corrected signedness
+	  warning. 
+	* src/...: removed incomplete podcast code
+	* gtkpod.glade: removed corresponding podcast references
+
+2006-04-28 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/confirmation.c: pressing 'OK' several time would call
+          the ok_handler several times, most likely resulting in a
+          crash. Thanks to dforsi for pointing this out. Fixed by
+          turning the dialog insensitive while before calling the
+          handler.
+
+	* src/misc.c (select_template): templates were compared
+          case-sensitively, which could lead to non-exported files.
+
+2006-04-27 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* scripts/sync-tomboy.sh: contributed by Tejas Dinkar
+
+2006-04-25 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* applied James Liggett's preferences patches
+          (id3-write-id3v24)
+
+	* added scripts/sync-thunderbird-nano.sh (writes one file per
+          address to work around a bug in old firmware versions, but
+          may be useful for other users as well). Thanks to Paul
+          Oremland
+
+2006-04-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* applied James Liggett's preferences patches (id3-write,
+          sort-prefs)
+
+	* applied Peter Lieverdink' patch to allow import of h.264
+          video via the mp4file.c interface.
+
+	* mp3file.c (id3_set_string): fixed memory leak (thanks to
+          Scott Guthridge)
+
+2006-04-19 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* applied James Liggett's preferences patches.
+
+2006-04-05 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* applied James Liggett's preferences patch (transition in
+          progress).
+
+	* details.c, file.c: copy 'has_artwork' flag when copying
+          artwork info from one track to another.
+
+2006-04-03 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* file_itunesdb.c (gp_import_itdb): correct has_artwork flag
+          (formerly flag1) for each track if unset or potentially set
+          incorrectly.
+
+	* bumped version to 0.99.6CVS
+
+2006-03-31 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* added hint about using iPod with Solaris/SPARC to
+          TROUBLESHOOTING file. Thanks to Eric Enright.
+
+	* added Spanish translation catalog es.po. Thanks to
+          Alejandro Lamas.
+
+2006-03-29 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+        * info.c, misc_confirm.c: fixed typo: HAVE_statvfs ->
+          HAVE_STATVFS
+
+	* misc_confirm.c (delete_playlist_ok): use of playlist->name
+          after removing the playlist could/should crash
+          gtkpod. Fixed.
+
+2006-03-18 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* file.c (copy_new_info): copy artwork related -- should
+          solve issue of updated artwork not displaying on iPod
+
+2006-03-17 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* Preliminary support for mobile phones supporting iTunes
+          (requires the following directory structure to be present:
+	  <mountpoint>/iTunes
+	  <mountpoint>/iTunes/iTunes_Control
+	  <mountpoint>/iTunes/iTunes_Control/iTunes
+	  <mountpoint>/iTunes/iTunes_Control/Music
+	  <mountpoint>/iTunes/iTunes_Control/Music/F00
+	  <mountpoint>/iTunes/iTunes_Control/Music/F01
+	  <mountpoint>/iTunes/iTunes_Control/Music/F02)
+
+	* cosmetic changes to compile with the newest CVS version of
+          libgpod.
+
+	* use of itdb_get_..._dir() functions to get directory names
+          on the iPod.
+
+2006-03-12 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* md5.c (md5_hash_track): prefer filename on disk over
+          filename on iPod -> changed files are copied to iPod when
+          updating. This was an old bug.
+
+	* file.c (copy_new_info), (get_track_info_from_file);
+          mp3file.c: support new 'lyrics_flag' and 'movie_flag'.
+
+	* configure.in: require libgpod 0.3.3 (CVS version)
+
+	* po/ja.po: updated catalog (thanks to Kentaro Fukuchi)
+
+2006-03-08 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* prefs.c (prefs_get_cfgdir): fix bug that crashes
+          application when cfgdir cannot be created.
+
+2006-03-08 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* scripts/sync-evocalendar.sh: handle multiple calendar and
+          task files. Thanks to Michele C. Soccio
+
+2006-03-06 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* bumped to V0.99.5CVS for further development
+
+2006-03-05 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* bumped to V0.99.4 for release
+
+	* fileselection.c: did not properly clean up after closing
+          the dirbrowser window with the window-close button.
+
+2006-03-04 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* file_export.c (export_playlist_file_init): missing
+          initialization of fcd->win_xml made it impossible to change
+          any options when exporting playlists.
+
+2006-02-25 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* file_itunesdb.c (write_extended_info): added ipod_path
+          again (got lost somewhere along the way). Thanks to Todd.
+
+	* file_itunesdb.c (gp_write_itdb): do not disable 'Import'
+          button if iTunesDB was not written to the iPod
+          successfully.
+
+2006-02-19 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* file.c (copy_new_info): forgot to copy
+          thumb_path_utf8/locale resulting in segfaults.
+
+	* mp3file.c. Set encoding before setting text fields. Thanks
+          to 't0c' for the patch.
+
+	* context_menus.c: context menu to remove playlists on the
+          iPod were not displayed.
+
+2006-02-14 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* Allow to run autogen.sh if autoconf/automake/libtool
+	* installations aren't necessarily installed as "automake",
+	* "aclocal", etc. This is typically the case when several
+	* different versions of the autotools are installed, with the
+	* correct binary paths set in the respective environment
+	* variables. (thanks to Mike Heffner)
+
+2006-02-04 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/file_itunesdb.c: (gp_itdb_set_mountpoint): command line
+          option '-m' to set the mountpoint did not work.
+
+2006-02-01 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* scripts/mab2vcard: added support for mobile phone entries
+          in thunderbird address books. Thanks to Sebastian Cruz.
+
+	* TROUBLESHOOTING: added hint by Ingo Reimann
+
+2006-01-07 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* INSTALL: hint about PKG_CONFIG_PATH and LD_LIBRARY_PATH.
+
+2006-01-02 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/prefs_windows.c: browse button for "Sync Notes Script"
+          opened a dirbrowser instead of a file browser.
+
+	* scripts/sync-knotes.sh: changed awk option
+          "--field-separator" to "-F" for better partability. Thanks
+          to cacedo.
+
+2005-12-14 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* sync-thunderbird.sh: Ben Ford's patch to allow export of
+          several address books (by specifying the output filename)
+
+	* remove all podcast code and libcurl dependency (#if 0...)
+
+	* sv.po: updated catalog by Stefan Asserhäll
+
+	* bumped to 0.99.2 for release
+
+	* bumped to 0.99.3 for CVS version
+
+	* TROUBLESHOOTING: added hint about LD_LIBRARY_PATH and
+          libgpod
+
+2005-12-12 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* details.c: fix problem with 'checked' checkbox. 
+
+	* prefs_windows.c, context_menu.c, display.c: hide unfinished
+          references to podcast download support.
+
+	* updated German translation catalog
+
+	* src/itdb.h: added itdb.h
+
+	* bumped version to 0.99.0 for release
+
+	* bumped version to 0.99.1 for CVS version
+
+2005-12-11 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* file.c, misc.c: add thumbnail images automatically.
+
+2005-12-10 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* re-enable delete menus (in addition to context menu).
+
+2005-12-09 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* change permissions to 0777 when creating directories (will
+          be modified by user's umask).
+
+	* display.c, gtkpod.glade: add 'Edit Details' menu entry.
+
+2005-12-06 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* details.c, display_itdb.h: notify details window when
+          tracks are being removed.
+
+2005-12-04 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* details.c: apply/undo functionality
+
+	* file_itunesdb.c: save thumbnail filename in .ext database
+
+	* misc_track.c: new: track_set_text()
+
+	* misc_conversion.c: recognize "--" as unset time
+
+	* display_songs.c: use track_set_text(), track_copy_item()
+
+	* details.c: writethrough for "remove cover art" added.
+
+	* gtkpod.glade: change "charset" to "encoding"
+
+	* details.c: copy artwork_count and _size when copying
+          artwork, remember last directory.
+
+	* file_itunesdb.c: fixed error when writing iTunesDB.ext
+          (filename/thumbnail)
+
+2005-11-30 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* mp4file.c: patch by Simon MARTIN fixing support for video
+          mp4.
+
+2005-11-28 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* details.c: support for set_thumbnails / remove thumbnails.
+
+2005-11-26 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* globally changed glade_xml_get_widget() to
+          gtkpod_xml_get_widget()
+
+2005-11-25 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* display_sorttabs.c, prefs.[ch], prefs_window.[ch],
+          gtkpod.glade: compilation CD changes (patch by Iain
+          Benson).
+
+	* prefs_window.c: change glade_xml_get_widget() to
+          gtkpod_xml_get_widget() (the latter gives a warning when
+          accessing non-existing widgets).
+
+	* display_playlists.c: compatibility fix for libpango < 1.8
+
+2005-11-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* misc.h: corrected delcaration for (time_field_to_string).
+
+	* display_playlists.c: include <pango/pango-font.h>.
+
+2005-11-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* details.c: added support for thumbnails display in "Show
+          Details" window. Requires libgpod version 0.2.2
+
+2005-11-23 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* details.c, details.h: detailled display of tracks. Alpha
+          with known issues (no sync of data between main display and
+          details display -> deleting of tracks with the details
+          window open may segfault the appliction if the details
+          window consequently attempts to access the track and
+          similar).
+	  TODO: create menu entries (currently only context menu).
+
+2005-11-21 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* added support for compilation flag in mp3 files. Thanks to
+          Iain Benson for the patch.
+
+	* added read support for TID, WFD, TDS, TDR, TT3 tags (used
+          by podcasts)
+
+2005-11-21 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* file_export.c: Files were not copied from iPod to harddisk
+          during DND.
+
+2005-11-20 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* gtkpod.glade: added tooltips that disappeared when
+          remodelling the prefs window one or two versions
+          earlier. Removed prefs_window_old from gtkpod.glade.
+
+	* gtkpod.glade, details.c, details.h: started work on window
+          to display details.
+
+2005-11-19 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* file.c, file.h, file_itunesdb.c: basic video support --
+          thanks to Uwe Hermann for the input.
+
+	* updated smart playlists automatically if 'live updating' is
+          set.
+
+2005-11-17 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* configure.in: make check for flex fatal.
+
+2005-11-13 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* file.c: strip whitespace when getting tags from filename
+          via template.
+
+	* take care of flag1/2/3/4 when adding and removing podcasts,
+          normal tracks...
+
+2005-11-12 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* podcasts: some code cleanup, added context menus
+
+	* prefs.c: handle filenames somewhat more decently
+
+	* file_itunesdb.c: bugfix: tracks marked for deletion were
+          not deleted from the iPod.
+
+	* gtkpod.glade: added scrollbars for smart playlist
+          rules-view.
+
+	* display_spl.c: remember last size of edit smartlist window.
+
+	* display_itdb.c, context_menus.c, misc_confirm.c,
+          misc_track.c: provisions for podcasts DND and podcasts
+          deletion.
+
+2005-11-10 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* moved mkdirhier() from file_export.c to misc.c
+
+2005-11-10 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* file_itunesdb.c: API for itdb_shuffle_write() changed.
+
+2005-10-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* display_spl.c: turn "-" button (delete rule) insensitive
+          when only one rule is left to avoid that all rules are
+          deleted which would result in a corrupted iTunesDB.
+
+	* display_spl.c: make sure rule frame is turned insensitive
+          when "ignore rules" is active when the spl window opens.
+
+2005-10-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* display_itdb.c: added gp_itdb_get_podcasts()
+
+	* file_itunesdb.c: set up 'Podcasts' local store on startup.
+
+	* removed mountpoint as parameter in itdb_write() as it was
+          not used.
+
+2005-10-18 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* added a number of 64bit patches received from Bodo Bauer --
+          thanks!
+
+2005-10-17 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* podcast.c: (on_pc_add_button_clicked) declared *text[2]
+	  instead of *text[1] to fix a segfault.
+
+2005-10-17 Alexander Dutton <alexdutton at f2s.com>
+
+	* podcast.c: added function prototypes for abort_fetch(),
+	  abort_fetch_response(), removed some warnings and fixed a
+	  segfault when an URL contains no '/' in 
+	  podcast_set_cur_file_name().
+
+	* podcast.h: added extra items to enums (forgot to update file
+	  earlier.
+
+	* prefs_window.c: declared *text[1] static to fix a segfault.
+	  Thanks to Bodo Bauer for these.
+
+2005-10-10 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* file.c: (get_file_name) fixed assertion when adding files.
+
+2005-10-10 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* file.c: fixed possible segfault in update_tracks() that can
+          occur when updating tracks that become duplicates through
+          updating. Thanks to Thorsten Brehm.
+
+2005-10-02 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* display_songs.c: allow to select interactive typeahead
+          search row by clicking on the row -- it is no longer
+          necessary to click in the header and initiate sorting.
+	  Please note that the Treeview needs to have keyboard
+          focus.
+
+2005-10-02 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* file_itunesdb.c: add podcasts list when creating empty
+          databases. Add podcasts list when importing database
+          without podcasts. Merge podcasts list when importing
+          database with podcasts list present. NOTE: special
+          behaviour of podcasts (i.e. not being listed in MPL and
+          consequences thereof) is not yet addressed.
+
+2005-09-30 Alexander Dutton <asdutton at users.sourceforge.net>
+
+	* podcast.c: removed dependence on gdk_threads_init() as
+	  fetching is now done without threads. Also set up to follow
+	  Location: headers (as used by libsyn.com). Now ready for
+	  integration with the rest of gtkpod.
+
+2005-09-30 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* mp3file.c: fixed incorrect reading of lame replay gain
+
+2005-09-29 Alexander Dutton <asdutton at users.sourceforge.net>
+
+        * prefs.c: added validation code to prefs_set_pc_dir() to
+          remove any trailing slashes from the podcast directory.
+
+2005-09-27 Alexander Dutton <asdutton at users.sourceforge.net>
+
+        * podcast.c: added podcast_window, which displays progress.
+          Code behind it fetches podcasts from XML files which are
+          behaving (ie conform to Apple XML schema at
+          http://www.itunes.com/DTDs/Podcast-1.0.dtd). Others are
+          being worked on. At present gdk_threads_init() at main.c:65
+          needs commenting in for things to work, breaking other stuff.
+          I'll look into this!
+
+2005-09-26 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* configure.in: check for libcurl (Jerry Dueitt)
+
+2005-09-26 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* display_songs.c: sorting by size and tracklength did not
+          work because of two missing break statements... Thanks to
+          Flavio Stanchina for tracking this down!
+
+2005-09-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* phased out use of ITDB_PL_TYPE_MPL/NORM and replaced with
+          itdb_playlist_is_mpl()
+
+	* display_playlists.c: give Podcasts playlists a special
+          look.
+
+2005-09-23 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* added 'date released' to displayable colums
+
+	* applied Alexander Dutton's patch for podcast support (first
+          stages thereof).
+
+2005-09-21 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* file_itunesdb.c: ipod_dirs_present(): extend check to
+          iPod_Control/Music/F00/ because on the iPod nano
+          iPod_Control/Music/ exists, but the F.. directories don't.
+
+2005-09-19 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* scripts/sync-palm-jppy.py: NEW: script to sync contacts
+	  from a Palm (via jppy http://wiki.zanu.org.uk/jppy). Thanks
+	  to Nick Piper, http://www.nickpiper.co.uk/)
+
+	* type-ahead search functionality (thanks to Nick Piper)
+
+2005-09-18 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* added category, description, podcast url, podcast
+          rss and subtitle fields to displayable fields.
+
+        * BUGFIX: 'Check iPod's files' could crash under certain
+          circumstances (thanks to David Mansfield for the patch).
+
+	* gp_playlist_remove_track(): when removing a track from the
+          database, only the first occurance of track in all other
+          playlists was removed.
+
+	* replaced usleep() with nanosleep() in info.c (usleep would
+          not work for intervals larger than 1 second on some systems).
+
+2005-09-17 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* file_itunesdb.c: fixed bug in gp_itdb_set_mountpoint
+          causing gtkpod to crash when exiting the preferences
+          dialog (bug introduced on 9/13)
+
+	* added 'Comment' field to displayed fields.
+
+	* libgpod API change: fdesc -> filetype
+
+	* updated it.po (thanks to Edward Matteucci)
+
+2005-09-16 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* Check iPod's files (check_db()) now checks files in all
+	  available F.. directories.
+
+	* Give progress information when matching MD5 checksums to
+          files in case iTunesDB was written by different software.
+
+2005-09-13 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* new fr.po by Eric Lassauge
+	* removed reference to itdb_ sourcefiles in POTFILES.in (have
+	  been moved to the libgpod project
+	* updated de.po
+
+2005-09-13 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* implemented changed API for itdb_filename_on_ipod()
+
+	* use new function itdb_set_mountpoint() to set mountpoint.
+
+2005-09-11 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* bumped version to V0.96.CVS
+
+	* gtkpod is now dependent on the new ligbpod
+
+	* note about LD_LIBRARY_PATH when installing libmp4v2 to
+          /usr/local/lib
+
+	* file_itunesdb.c: fixed critical assertion when calling
+          gp_itdb_add_extra_full () with itdb==NULL.
+
+	* misc_confirm.c: (ipod_directories_ok): fixed small
+          potential memory leak.
+
+2005-08-29 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+        * SAFETY: call sync() and flush all buffers to the iPod after
+          writing the iTunesDB -- should minimise filesystem errors
+          caused by people disconnecting the iPod without unmounting
+          (four instances in itdb_itunesdb.c)
+
+	* NEW: script to sync addressbooks in ldif format provided by
+          Sebastien BERIDOT (scripts/sync-ldif.sh,
+          scripts/ldif2vcf.sh).
+
+        * NEW: script to sync kNotes (KDE note program) provided by
+          Sebastian Scherer (scripts/sync-knotes.sh).
+
+2005-08-27 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* MP3 tags: use 'Band/Orchestra/Accompaniment' (TPE2) as
+	  artist if it exists. Otherwise use 'Lead artist/Lead
+	  performer/Soloist/Performing group' (TPE1) as before. Let
+	  me know if this causes problems for you.
+
+	* BUGFIX: Copying playlists by drag and drop could confuse
+          smart playlists referencing these playlists. This was due
+          because the DND duplicated the ID by which these playlists
+          were referenced. A new ID is now set automatically when
+          adding playlists by itdb_playlist_add().
+
+2005-08-07 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+        * UPDATED Hebrew translation (thanks to Assaf Gillat)
+
+	* include <sys/param.h> in misc.c to avoid error when
+          including <sys/mount.h> under FreeBSD 5.4 (reported by
+          Pablo Cacho)
+
+2005-07-17 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* fixed some gcc 2.95 compatibility issues (thanks to Arno
+	  Overgaauw)
+
+2005-07-16 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* Improved handling of dangling files (files that are
+          referenced in the iTunesDB but are not present on the iPod)
+          after I had to use the function myself: iTunes 4.9 removed
+          most of my files from the iPod -- currently restoring with
+          an old iTunesDB copy.
+
+	* Changed writing of iTunesDB to make sure OTG Playlists are
+          handled correctly.
+
+	* Fixed compatibility issue with new firmware 3.1 and iTunes
+          4.9 (only 256 tracks were shown on the iPod, iTunes
+          removed the majority of the tracks from the iPod).
+	  Podcasts are still not supported, however, and will be lost
+	  when handled by gtkpod.
+
+	* Updated German translation catalog
+
+2005-07-15 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	 * Added Hebrew translation -- thanks to Assaf Gillat!
+
+2005-07-08 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* itdb_itunesdb.c: fixed OTG playlist filename and handling
+          (thanks to "Todd")
+
+	* Makefile.am: use relative path for symbolic link to
+          gtkpod.glade
+
+2005-07-08 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* misc.c: use 'eject' executable instead of eject code. Also
+          fixes the bug that 'could not unmount' was always
+          displayed, even if the umount was successful (thanks to
+          Andreas Hauber).
+
+2005-07-01 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* Makefile.am: ln complained when installing the second time
+          into the same place -- remove target file before the ln
+          command.
+
+	* itdb_itunesdb.c: changed from version 0x0c (iTunes 4.71/4.8)
+          to version 0x0d (iTunes 4.9). mhods are now considered
+          children of mhips, and the total length of the mhip must be
+          adjusted accordingly.
+
+2005-07-01 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* finished user-definable sort ignore list (ctrl-s). Still
+          todo: resort automatically when changing the ignore list.
+
+2005-06-30 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+        * itdb_itunesdb.c: BUGFIX: Some iTunesDB written by iTunes
+          could not be read because of an error in the parse code
+          (gtkpod would attempt to read beyond the end of the file)
+
+	* continued with user definable ignore list in
+          display_sorttabs.c (the list still is not used, but now only
+          the sort function needs to be updated)
+
+2005-06-28 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* continued with user definable ignore list during sorting
+          ("The", "A",... at the beginning of fields). Prefs can be
+          set, are stored and read, but they are not yet used. Also,
+          the initial values must still be set.
+
+2005-06-27 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* started with user definable ignore list during sorting
+          ("The", "A",... at the beginning of fields).
+
+2005-06-25 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* Changing the mountpoint was not represented correctly in the
+          prefs.
+
+	* Release as 0.93.1
+
+	* bumped to version 0.94-CVS
+
+	* update sort preferences window when clicking on track view
+          headers
+
+	* display_songs.c: implemented stable sorting
+
+2005-06-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* Renamed 'Copy from iPod' to 'Export from Database',
+          disabling Export from the iPod in offline mode, and fixing
+          export from local database.
+
+2005-06-23 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* sync-thunderbird.sh: use of 'iconv' instead of 'recode'
+
+	* bumped version to 0.93 and released
+
+2005-06-22 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* updated sv.po (thanks to Stefan Asserhäll)
+
+2005-06-20 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* applied gcc4.0 patch provided by Mark Mitchell
+
+	* included updated Japanese catalog (thanks to Kentaro
+          Fukuchi)
+
+	* added sync-thunderbird.sh and mab2vcard scripts provided by
+	  Clinton Gormley.
+
+	* repaired progress dialog display when exporting tracks from
+          the iPod.
+
+	* added more detailled error messages when files could not be
+          added / refreshed.
+
+	* updated de.po
+
+	* added faac entry to TROUBLESHOOTING
+
+2005-06-18 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* finished code automatically export tracks from iPod to
+          harddisk when dragging from the iPod database to the local
+          database.
+
+2005-06-15 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* integrated debian patches provided by Frank Lichtenheld
+
+	* replace EjectSCSI code by a version written by Frank
+          Lichtenheld that uses the new SG ioctls.
+
+	* changed copyright notice to 2002-2005 in most files
+
+2005-06-15 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* added sync-abook.sh and sync-webcalendar.sh scripts provided
+          by Daniel Kercher
+
+	* added sync-thunderbird.sh provided by Clinton Gormley
+
+2005-06-12 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* applied patch provided by Mattias Wadman: don't hang when
+          reading playlist files with empty lines (provided by
+          'Matthias')
+
+	* added checks when adding playlist files to avoid adding
+          directories or the same playlist file again.
+
+	* applied patch provided by Alexey Dokuchaev to replace
+          'recode' by 'iconv' in the export scripts provided.
+
+	* fixed bug when exporting tracks from the iPod: when the
+          original filename of tracks is stored, tracks were not
+          copied from the iPod but from the original location on the
+          user's harddisk. If that file has been removed in the
+          meanwhile, the export would fail.
+
+	* added new Italian catalog (thanks to Edward Matteucci)
+
+	* updated po/POTFILES.in and updated all po-files
+
+	* updated German translation catalog (and some English typos)
+
+2005-06-05 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* fixed bug when setting up initial local and iPod databases
+          (added the iPod database twice, did not create local
+          database)
+
+	* changed version to 0.91-CVS and made sure the itdb_* prefs
+          settings are skipped for version < 0.91.
+
+	* moved remaining functions in callback.c to better locations
+          (mainly display.c), removed callbacks.c and callbacks.h
+
+2005-06-03 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* included James Ligget's patch to replace the file selectors
+          with filechooser dialogs
+
+	* moved the code in dirbrowser.c to the new file fileselection.c
+
+2005-06-02 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* Fixed bug for display and reading of compilation flag
+          (display reversed, wrong offset during read)
+
+	* Fixed bug for reading of type entry (wrong offset)
+
+	(thanks	to Julien Oster for the patch)
+
+2005-05-30 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* itdb_cp_track_to_ipod(): no longer uses ipod-ID to create
+          filename.
+
+	* file.c, misc_confirm.c: fixed several non-reported bugs
+          concerning deletion
+
+	* display_playlists.c, display_sortabs.c, display_songs.c:
+          added gtkpod_tracks_statusbar_update() to drag_end()
+          callbacks.
+
+	* file_itunesdb.c: fixed segfault when pressing the 'Cancel'
+          button during file transfer to the iPod.
+
+2005-05-27 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* moved all prefs_windows callbacks from callbacks.c to
+          prefs_windows.c  -- should be continued with other
+          callbacks.
+
+	* display_songs.c: ipod_path in track display set to "Local
+          Database" for ITDB_TYPE_LOCAL
+
+	* prefs_windows.c: fixed error concerning show/hide of
+	  tooltips
+
+	* display*.c: hopefully made tooltips working again throughout
+          gtkpod.
+
+2005-05-26 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* renamed get_track_name* to get_file_name*
+
+	* fixed some issues with track deletion (tracks were never
+          removed from harddisk)
+
+	* moved some more prefs_windows callbacks from callbacks.c to
+          prefs_windows.c (continuous project whenever I feel like it)
+
+	* gtkpod.glade: added a couple of forgotten callbacks to prefs
+          dialog
+
+2005-05-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* finished rewrite of delete code (only context-menu delete
+          supported at the moment). Basically untested :-(
+
+2005-05-21 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* display warning if unmounting of the iPod was unsuccessful
+
+	* when syncing dirs remove tracks when dir was removed.
+
+2005-05-21 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* itdb_itunesdb.c: add check for truncated PlayCounts file and
+          skip it (necessary in case the file has been truncated by
+          dosfsck)
+
+	* display_spl.c: fixed double display of combobox entries
+
+	* mp3file.c: hunted down the meanest segfault encountered so
+          far. "mp3info *mp3info;" sizeof (mp3info) is what?
+
+	  Replaced "mp3info" by "MP3Info" and "mp3header" by
+	  "MP3Header" to avoid similar problems in the future.
+
+2005-05-19 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* fixed segfault when trying to import read-protected MP3 files
+          (thanks to Chris Pitchford for pointing out this bug).
+
+	* fixed segfault when adding tracks to the local database
+
+	* improved error messages when import of files fails
+
+	* added some g_return_if_fail(itdb->mountpoint) statements.
+
+2005-05-17 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* implemented tree-lookup for track IDs to speed up import of
+	  large iTunesDBs along the lines of Richard Deken's patch
+
+2005-05-16 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* file_itunesdb.c: fixed infinite loop pointed out by Richard
+          Deken
+
+2005-05-13 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* mp3file.c: applied Christoph Kunz' patch addressing a couple
+          of compatibility issues with non-ID3v2.4 compatible software
+          (most software out there that's not using the id3tag-lib).
+
+	* gtkpod.glade: added delete event signal handler to
+          prefs_window
+
+	* info.c, prefs_window.c: raise prefs/info window to the top
+          when it is already open
+
+	* info.c: added xml_signal_autoconnect() otherwise close
+          buttons wouldn't work.
+
+2005-05-12 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* mp4file.c: changed case-sensitive compare to
+          case-insensitive compare for filetype extension
+
+2005-05-10 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* file_itunesdb.c: Automatic update of smart playlists after
+          import.
+
+	* file_export.c: Fixed segfault in 'copy from iPod' and 'crate
+          playlist file' (caused by transition to libglade)
+
+	* file_export.c: Print warning when overwriting existing files.
+
+2005-05-09 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* tracks deleted from the iPod within gtkpod will now really
+          be deleted during the next Sync (bug introduced through the
+          introduction of itdb)
+
+2005-05-07 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* TROUBLESHOOTING: added note from Mark Davis that the SHUFFLE
+          cares about it's volume name.
+
+	* itdb_itunesdb.c: make sure version number written to
+          iTunesDB is 0x0c -- otherwise the SHUFFLE is not supported.
+
+	* itdb_playlist.c: correct comparison for smart-list action
+          SPLACTION_IS_IN_THE_RANGE
+
+	* file.c: when adding tracks also copy tracks that are already
+          on the iPod but not in the iPod_Control dir.
+
+2005-05-07 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/ preliminary import/export support for local database as
+          well as for iPod database.
+
+	* file_itunesdb.c, itdb_itunesdb.c: added support for iPod
+          Shuffle. Testing is needes because I don't own a Shuffle.
+
+	* replayed all g_assert() with g_return_if_fail() to avoid
+          program termination on error.
+
+2005-05-07 David Sedeño <david at alderia.com>
+
+	* gtkpod.glade: Put autoselect_hbox name to an hbox in display tab.
+
+2005-05-06 David Sedeño <david at alderia.com>
+
+	* gtkpod.glade: Put Cancel, Apply, Accept buttons in preferences
+	window. Added Misc and Toolbar section to Display tab.
+
+2005-05-06 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/display* and others: DND between filter tabs, playlist
+	  view, track view, as well as external file browsers.
+
+	* display_songs.c, display_playlists.c, display.c,
+          display_sorttabs.c: added text/uri-list as drag and drop
+          type, added autoscroll to playlist- and track view,
+          corrected behaviour during certain drop situations onto the
+          track view.
+
+2005-05-01 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* display_spl.c: fix spl edit window after transition to
+	  libglade.
+
+2005-05-01 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* src/*.c: initialize @xml_file to either the local copy or
+	  the installed copy (main.c) and use that for all accesses to
+	  gtkpod.glade
+
+	* Makefile.am: uninstall-hook, rework install-hook and
+          dist-hook, move pixmaps back to pixmaps directory
+
+	* display_playlist.c, display_songs.c: implemented DND within
+          track view as well as between track and playlist view.
+
+	* parse_tracks_from_string(): fixed segfault
+
+2005-04-30 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* po/sv.po: update received from Stefan Asserhäll
+
+	* file_itunesdb.c: fixed segfault when importing database
+          twice (still need to fix that database _can_ be imported
+          twice, which shouldn't be)
+
+	* file_itunesdb.c: display track info after import of database
+
+	* misc_track.c: fixed error in gp_duplicate_remove() when
+          @track was not yet added to any itdb.
+
+	* display_playlists.c: DND within playlist view across and
+          within itdbs now functional (it appears).
+
+2005-04-29 David Sedeño Fernandez <david at alderia.com>
+
+	* gtkpod.glade: Put scrolled window in General tab.
+
+2005-04-29 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+	* gtkpod.glade: Set 'Visible' to 'No' on all top level windows
+        to that the resize command still works as it is.
+
+	* src/ removed dependence on support.[ch], interface.[ch] and
+	the files.
+
+	* po/de.po: update
+
+	* src/display_playlist.c, src/misc_track.[ch]: continued work
+          on playlist DND.
+
+2005-04-28  David Sedeño Fernandez <david at alderia.com>
+
+	* gtkpod.glade: Sync option from Reading to General. Put forbidden
+	buttons in mserv option. Add missing tooltips. Add missing callbacks
+	in Edit and Tools tab.
+	
+2005-04-20  David Sedeño Fernandez <david at alderia.com>
+
+	* gtkpod.glade: Preferences window work to follow more the Gnome HIG.
+
+2005-04-18  David Sedeño Fernandez <david at alderia.com>
+
+	* src/prefs_window.c (prefs_window_show_hide_tooltips): Check if we
+	have the correct data.
+	* NEWS: Copy the ChangeLog file to NEWS file.
+	* ChangeLog: Update.
+
+2005-04-09  David Sedeño Fernandez <david at alderia.com>
+
+	* src/prefs_window.c: Get the right tooltips object.
+	* src/display.h: Add GtkTooltipsData to SortData;
+	* src/display_sorttabs.c: Show / Hide tooltips.
+
+2005-04-09  David Sedeño Fernandez <david at alderia.com>
+
+	* src/Makefile.am: Remove support.c and support.h 
+	* src/main.c: remove add_pixmap_directory calls.
+
+2005-04-09  David Sedeño Fernandez <david at alderia.com>
+
+	* src/confirmation.c: Save the glade xml file in ConfData struct in
+	order to take widgets later with glade_xml_get_widget. 
+	* src/misc.c : Change GtkWidget for GladeXML
+	in order to take the widgets with glade_xml_get_widget in some
+	functions.
+	* src/misc.h: Change GtkWidget for GladeXML in some functions.
+	* src/file_export.c: Call option_set_* and
+	option_get_* , with the xml file instead of the window.
+
+2005-04-09  David Sedeño Fernandez <david at alderia.com>
+
+	* src/Makefile.am: Remove interface.* for compilation.
+	* src/display_spl.c: Load spl_window from glade file. Change all
+	lookup_widget calls to glade_xml_get_widget for spl_window.
+	* src/interface.h: Remove create_spl_window.
+	* src/interface.c: Remove create_spl_window.
+	* src/prefs_window.c: Fix a not remove line.
+
+2005-04-09  David Sedeño Fernandez <david at alderia.com>
+
+	* src/file_export.c: Load export_files_options and
+	export_playlist_file_options from glade file.
+	* src/interfac.c: Remove create_files_options and
+	create_export_playlist_file_options.
+	* src/interfac.h: Remove create_files_options and
+	create_export_playlist_file_options.
+	
+2005-04-09  David Sedeño Fernandez <david at alderia.com>
+
+	* src/confirmation.c: Load confirm_dialog from glade file. Change all
+	lookup_widget calls to glade_xml_get_widget for confirm_dialog.
+	* src/interfac.c: Remove create_confirm_dialog.
+	* src/interfac.h: Remove create_confirm_dialog.
+	
+2005-04-09  David Sedeño Fernandez <david at alderia.com>
+
+	* src/info.c: Load info window from glade file. Change all
+	lookup_widget calls to glade_xml_get_widget for info_window.
+	* src/interfac.c: Remove create_info_window.
+	* src/interfac.h: Remove create_info_window.
+
+2005-04-09  David Sedeño Fernandez <david at alderia.com>
+
+	* src/prefs_window.c: Load sort_window from glade file. Change
+        all lookup_widget calls to glade_xml_get_widget for sort_window.
+	* src/interfac.c: Remove create_sort_window.
+	* src/interfac.h: Remove create_sort_window.
+
+2005-04-09  David Sedeño Fernandez <david at alderia.com>
+
+	* src/display_sorttabs.c: Load calendar_window from glade file. Change
+	all lookup_widget calls to glade_xml_get_widget for cal.
+	* src/interfac.c: Remove create_calendar_window.
+	* src/interfac.h: Remove create_calendar_window.
+	
+2005-04-09  David Sedeño Fernandez <david at alderia.com>
+
+	* src/display_sorttabs.c: Load special_sorttab from glade file. Change
+	all lookup_widget calls to glade_xml_get_widget for special. 
+	* src/interfac.c: Remove create_special_sorttab.
+	* src/interfac.h: Remove create_special_sorttab.
+	
+2005-04-09  David Sedeño Fernandez <david at alderia.com>
+
+	* src/misc.h: include glade.h
+	* src/misc.c: Load about window from glade file.
+	* src/interface.c: Remove create_gtkpod_about_window.
+	* src/interface.h: Remove create_gtkpod_about_window.
+
+2005-04-09  David Sedeño Fernandez <david at alderia.com>
+
+	* gtkpod.glade: Rename on_most_rated_tracks_playlist's1_activate to
+	on_most_rated_tracks_playlist_s1_activate so libglade can handle it.
+	* src/interface.c: Remove create_prefs_window function.
+	* src/interface.h: Remove create_prefs_window and create_gtkpod.
+	* src/prefs_window.c: prefs_window_xml new var. Load prefs_window from
+	xml. Change all lookup_widget calls to glade_xml_get_widget for
+	prefs_window.
+
+2005-04-09  David Sedeño Fernandez <david at alderia.com>
+
+	* configure.in: Check libglade and gmodule
+	* Makefile.am: Install pixmaps without pixmaps prefix. Install glade
+	file.
+	* src/display.h: Include glade.h. Add main xml variable for glade
+	file.
+	* src/display.c: Change lookup_widget calls to glade_xml_get_widget.
+	* src/display_playlists.c: Change lookup_widget calls to
+	glade_xml_get_widget for main window.
+	* src/display_songs.c: Change lookup_widget calls to
+	glade_xml_get_widget for main window.
+	* src/display_sorttabs.c: Change lookup_widget calls
+	to glade_xml_get_widget for main window.
+	* src/info.c: Change lookup_widget calls to glade_xml_get_widget for
+	main window.
+	* src/interface.c: Delete create_gtkpod.
+	* src/main.c: Load main xml glade file.
+	* src/misc_input.c: Change lookup_widget calls to glade_xml_get_widget
+	for main window.
+	* src/prefs.c:  Change lookup_widget calls to glade_xml_get_widget 
+	for main window.

Modified: gtkpod/trunk/INSTALL
===================================================================
--- gtkpod/trunk/INSTALL	2009-01-24 20:05:59 UTC (rev 362)
+++ gtkpod/trunk/INSTALL	2009-01-24 20:55:00 UTC (rev 363)
@@ -1,5 +1,6 @@
 How to compile/install gtkpod:
 
+(For ubuntu/debian please refer to the end of this file for a quick round-up)
 
 1. First, make sure you have compiled and installed the dependencies.
    Most Linux distros will include them, except maybe for libid3tag
@@ -17,15 +18,19 @@
    be found at http://www.gtkpod.org/libgpod.html
 
    The libmp4v2 package is ONLY NEEDED if you need AAC support.  You
-   don't need libmp4v2 if you don't use AAC files.
+   don't need libmp4v2 if you don't use AAC files. Download's
+   available at
 
+        http://downloads.sourceforge.net/mpeg4ip/
+        (http://downloads.sourceforge.net/mpeg4ip/mpeg4ip-1.6.tar.gz)
+
    libid3tag was successfully compiled and installed with
 
-   ./configure ; make ; make install
+       ./configure ; make ; make install
 
    libmp4v2 was successfully compiled and install with
 
-   ./bootstrap --disable-server ; make ; make install
+       ./bootstrap --disable-server ; make ; make install
 
 
    The following packages are required for building gtkpod:
@@ -33,11 +38,10 @@
         autoconf (at least 2.55)
         flex (or lex)
         gettext
-        glib (at least 2.4.0)
-        gtk+ (at least 2.6.0)
+        glib (at least 2.8.0)
+        gtk+ (at least 2.8.0)
         libglade (at least 2.4.0)
-        libgnomecanvas (at least 2.14.0)
-        libgpod (at least 0.5.2)
+        libgpod (at least 0.6.1)
         libid3tag (at least 0.15)
         perl XML::Parser module
         pkgconfig
@@ -49,7 +53,7 @@
         libgnome-vfs-2.0 >2.6 (for iPod autodetection under GNOME)
         libhal >0.5 <0.6 (in combination with libgnome-vfs: better detection of iPods)
         libvorbis (for ogg libvorbis support)
-        libmpv4 (for AAC/M4A support)
+        libmp4v2 (for AAC/M4A support)
 
 
 2. If you install libraries to /usr/local/lib please don't forget to
@@ -96,6 +100,7 @@
 
 
 ----------------------------------------------------------------------
+
 ** Note that you do not need to accept the default (usually
    /usr/local) install path when you compile and install the software.
    You may choose to install the software in a different location.
@@ -111,3 +116,36 @@
    install gtkpod into $HOME/Applications/gtkpod.  Do this instead:
 
     CFLAGS="-I$HOME/Applications/mpeg4ip/include -L$HOME/Applications/mpeg4ip/lib -I$HOME/Applications/libid3tag/include -L$HOME/Applications/libid3tag/lib" ./configure --prefix=$HOME/Applications/gtkpod ; make ; make install 
+
+------------------------------------------------------------------------
+
+Quick guide for Ubuntu/Debian
+
+The following steps were necessary to install libgpod and gtkpod on a fairly virgin Ubuntu Hardy (LTS 8.04) installation.
+
+# required packages
+sudo apt-get install autoconf flex gettext libglib2.0-dev libgtk2.0-dev libglade2-dev libid3tag0-dev libxml-parser-perl pkg-config automake gcc subversion gtk-doc-tools
+
+# recommended packages
+sudo apt-get install libcurl4-dev libflac-dev libgnomevfs2-dev libhal-dev libvorbis-dev libmp4v2-dev
+
+# checkout of libgpod and gtkpod
+svn co https://gtkpod.svn.sourceforge.net/svnroot/gtkpod/libgpod/trunk libgpod
+svn co https://gtkpod.svn.sourceforge.net/svnroot/gtkpod/gtkpod/trunk gtkpod
+
+# compile libgpod
+cd libgpod/
+./autogen.sh
+make
+sudo make install
+
+# compile gtkpod
+cd ../gtkpod/
+cd libgpod/
+./autogen.sh
+make
+sudo make install
+
+#start gtkpod
+gtkpod &
+

Modified: gtkpod/trunk/Makefile.am
===================================================================
--- gtkpod/trunk/Makefile.am	2009-01-24 20:05:59 UTC (rev 362)
+++ gtkpod/trunk/Makefile.am	2009-01-24 20:55:00 UTC (rev 363)
@@ -1,6 +1,6 @@
 ## Process this file with automake to produce Makefile.in
 
-SUBDIRS = src po scripts data
+SUBDIRS = src po scripts data  doc
 
 EXTRA_DIST =			\
 	autogen.sh		\
@@ -19,3 +19,6 @@
 	-rmdir --ignore-fail-on-non-empty $(DESTDIR)$(pkgdatadir)/data
 	-rmdir --ignore-fail-on-non-empty $(DESTDIR)$(pkgdatadir)/scripts
 	-rmdir --ignore-fail-on-non-empty $(DESTDIR)$(pkgdatadir)
+
+update-docs:
+	cd doc && make update-docs

Modified: gtkpod/trunk/Makefile.in
===================================================================
--- gtkpod/trunk/Makefile.in	2009-01-24 20:05:59 UTC (rev 362)
+++ gtkpod/trunk/Makefile.in	2009-01-24 20:55:00 UTC (rev 363)
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -148,8 +148,6 @@
 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
 LIBGLADE_CFLAGS = @LIBGLADE_CFLAGS@
 LIBGLADE_LIBS = @LIBGLADE_LIBS@
-LIBGNOMECANVAS_CFLAGS = @LIBGNOMECANVAS_CFLAGS@
-LIBGNOMECANVAS_LIBS = @LIBGNOMECANVAS_LIBS@
 LIBGPOD_CFLAGS = @LIBGPOD_CFLAGS@
 LIBGPOD_LIBS = @LIBGPOD_LIBS@
 LIBOBJS = @LIBOBJS@
@@ -162,6 +160,7 @@
 MOUNT = @MOUNT@
 MSGFMT = @MSGFMT@
 MSGFMT_OPTS = @MSGFMT_OPTS@
+MSGMERGE = @MSGMERGE@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -231,7 +230,7 @@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-SUBDIRS = src po scripts data
+SUBDIRS = src po scripts data  doc
 EXTRA_DIST = \
 	autogen.sh		\
 	intltool-extract.in	\
@@ -375,8 +374,8 @@
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
+	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
@@ -401,8 +400,8 @@
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
 	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -412,13 +411,12 @@
 CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
 	tags=; \
-	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	test -z "$(CTAGS_ARGS)$$tags$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
 	     $$tags $$unique
@@ -489,6 +487,10 @@
 	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
 	$(am__remove_distdir)
 
+dist-lzma: distdir
+	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
+	$(am__remove_distdir)
+
 dist-tarZ: distdir
 	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
 	$(am__remove_distdir)
@@ -515,6 +517,8 @@
 	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
 	*.tar.bz2*) \
 	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.lzma*) \
+	  unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
 	*.tar.Z*) \
 	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
 	*.shar.gz*) \
@@ -668,7 +672,7 @@
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
 	all all-am am--refresh check check-am clean clean-generic \
 	ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
-	dist-shar dist-tarZ dist-zip distcheck distclean \
+	dist-lzma dist-shar dist-tarZ dist-zip distcheck distclean \
 	distclean-generic distclean-hdr distclean-tags distcleancheck \
 	distdir distuninstallcheck dvi dvi-am html html-am info \
 	info-am install install-am install-data install-data-am \
@@ -686,6 +690,9 @@
 	-rmdir --ignore-fail-on-non-empty $(DESTDIR)$(pkgdatadir)/data
 	-rmdir --ignore-fail-on-non-empty $(DESTDIR)$(pkgdatadir)/scripts
 	-rmdir --ignore-fail-on-non-empty $(DESTDIR)$(pkgdatadir)
+
+update-docs:
+	cd doc && make update-docs
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:

Modified: gtkpod/trunk/NEWS
===================================================================
--- gtkpod/trunk/NEWS	2009-01-24 20:05:59 UTC (rev 362)
+++ gtkpod/trunk/NEWS	2009-01-24 20:55:00 UTC (rev 363)
@@ -1,10 +1,461 @@
-gtkpod V0.90
-	Complete rewrite of reading/writing the iTunesDB
+gtkpod V0.99.14
 
-	IMPROVEMENT: local database to browse local content
+       NEW FEATURE: Help system, still very preliminary.
 
+       NEW FEATURE: Video thumbnail generation, thanks to M. Sean Finney
+
+       NEW FEATURE: Lyrics may be viewed and edited via the Details window
+       for a track. Only mp3 files are supported currently (patches welcome
+       to remove this limitation). Writing lyric tags may still have
+       compatibility issues on some iPod's. Thanks to Dudy Kohen.
+
+       NEW FEATURE: Add a search bar, to quickly filter tracks.
+
+       UPDATE: New application icon.
+
+       UPDATE: Preferences dialog redesigned from the ground up for GNOME
+       HIG compliance.
+
+       UPDATE: Hebrew translation. Thanks to Assaf Gillat.
+
+       UPDATE: Italian translation. Thanks to Daniele Forsi.
+
+       UPDATE: Romanian translation. Thanks to Alex Eftimie.
+
+       UPDATE: Spanish translation. Thanks to Alejandro Lamas Daviña.
+
+       UPDATE: Swedish translation. Thanks to Stefan Asserhäll.
+
+       NEW FEATURE: Added simple Chinese translation. Thanks to Tan Zhixin.
+
+       IMPROVEMENT: Numerous UI cleanups
+
+       IMPROVEMENT: Support for chapter data, thanks to Michael Tiffany
+
+       IMPROVEMENT: Use cairo for coverart display effects. This allows the
+       dependency on libgnomecanvas to be dropped.
+
+       IMPROVEMENT: Coverart display performance has been improved.
+
+       IMPROVEMENT: Better support for Windows compilation in Cygwin,
+       thanks to Éric Lassauge.
+
+       IMPROVEMENT: Set track->lyrics_flag for mp4 files in addition to mp3
+       files.
+
+       IMPROVEMENT: Use the Artist tag for the Artist and fall back to the
+       Album Artist tag only when the former does not exist. For Album
+       Artist, use the Album Artist tag, but only if the Artist tag does
+       exist. Thanks to Dudy Kohen.
+
+       BUGFIX: The Photo "playlist" is now a separate object in the
+       Playlist view.
+
+       BUGFIX: Numerous memory leaks fixed, thanks to Andrea, Tomas
+       Carnecky, and others.
+
+       Many other bug fixes and cleanups, see the ChangeLog for more detail.
+
+gtkpod V0.99.12
+
+       NEW FEATURE: Import and management of photographs on ipods
+       that support them. Update of README to include photo management.
+
+       UPDATE: Application requires libgpod version 0.6.0 or higher.
+
+       UPDATE: Better icon theme specification compliance.
+
+       BUGFIX: Fixes to tomboy script. Thanks to Javier Kohen.
+
+       BUGFIX: Issues with display of track length. Inconsistent units used
+       in conjunction with libgpod (Jorg).
+
+       UPDATE: Cover art preview window either displays an album cover
+       to its full size or to a size consistent with the user's desktop.
+
+       UPDATE: Download of Album Art from the net feature modified to the
+       ability of dragging-and-dropping a .jpg image from a web browser. This
+       has been changed due to licensing concerns over album art. Drag and
+       Drop section of README updated accordingly (Paul).
+
+       BUGFIX: Issues on detecting changed local / podcast database. Thanks to
+       Mario Rossi.
+
+       BUGFIX: Issues addressed on Details Window.
+
+       BUGFIX: Crash avoided when auto-detecting an iTunes database that
+       cannot be read.
+
+       UPDATE: Display of error output of scripts (Jorg).
+
+       IMPROVEMENT: Configuring and Compilation support (Todd).
+
+       UPDATE: New scripts for flac, ogg, mp3, m4a, wav conversion to mp3 and
+       m4a. Thanks to Peter van de Does.
+
+       BUGFIX: Model number identified and written to ipod upon loading to ensure
+       libgpod can read the ipod's artwork.
+
+       UPDATE: Updates and bug fixes to gapless playback. Thanks to
+       Michael Tiffany.
+
+       BUGFIX: When Cover Art Display is widened, covers space out rather
+       than stretch.
+
+       BUGFIX: Fixed memory leaks in CoverArt Display and Details window.
+       Thanks to Daniele Forsi.
+
+       UPDATE: French translation. Thanks to Éric Lassauge.
+
+       UPDATE: Italian translation. Thanks to Daniele Forsi.
+
+       UPDATE: Hebrew translation. Thanks to Assaf Gillat.
+
+       UPDATE: Swedish translation. Thanks to Stefan Asserhäll.
+
+       NEW FEATURE: Added Romanian translation support. Thanks to
+       Alex Eftimie.
+
+       NEW FEATURE: Added Russian translation support. Thanks to
+       Matvey Kozhev.
+
+gtkpod V0.99.10
+
+       NEW FEATURE: on-the-fly conversion of WAV, FLAC and OGG (as well
+       as MP3 and M4A). Thanks to Marc d[readlock], Simon Naunton and
+       Peter Edwards! Multi-threaded background conversion was added by
+       Jorg Schuler.
+
+       NEW FEATURE: editing of TV show metadata and track media
+       type. Thanks to Mario Rossi.
+
+       NEW FEATURE: Display of Album Art. Thanks to P.G. Richardson.
+
+       NEW FEATURE: Download of Album Art from the net. Thanks to
+       P.G. Richardson.
+
+       NEW FEATURE: copy playlists and tracks from within the context
+       menu without DND can simplify life with many playlists. Thanks
+       to Andrzej Palejko for his patch.
+
+       NEW FEATURE: preliminary support for calculating gapless
+       playback information (lame encoded mp3 files only).  Thanks to
+       Michael Tiffany.
+
+       UPDATE: Smart playlists now support the following new fields:
+       album artist, tv show, last skipped, season number, skipcount
+       and video kind.
+
+       IMPROVEMENT: Clicking on an item with the right mouse button
+       will select and open the context menu, which is the intended
+       behavior. As a consequence, the interface will remain blocked
+       while the selection is being updated and displayed.
+
+       BUGFIX: dragging tracks between two iPods would sometimes not
+       actually copy the file.
+
+       UPDATED: Italian translation (thanks to Daniele Forsi)
+
+       PACKAGING: Install a .desktop file and icons according to the
+       freedesktop.org specification.
+
+gtkpod V0.99.8
+
+       NEW FEATURE: Support of several iPods (currently you need to
+       edit the itdb_* entries in ~/.gtkpod/prefs to add
+       repositories). Each iPod can be loaded/ejected
+       individually. Scripts are called before loading (gtkpod.load)
+       and after saving (gtkpod.eject) with the mountpoint as the
+       first argument. If you need to mount the iPod manually, put the
+       mount command in gtkpod.load.
+
+       NEW FEATURE: Support for mobile phones supporting iTunes (see
+       Changelog_detailed for details)
+
+       NEW FEATURE: Lyrics are displayed on the iPod when available.
+
+       NEW FEATURE: Preliminary (no meta data) support of h.264 video
+       format via the libmp4v2 interface. Thanks to Peter Lieverdink.
+
+       NEW FEATURE: Script to sync notes from Tomboy to the
+       iPod. Thanks to Tejas Dinkar.
+
+       NEW FEATURE: Support of iTunes iTunNORM tag for volume
+       normalisation of mp4 tracks.
+
+       NEW FEATURE: Support of aacgain's replay gain tag for volume
+       normalisation of mp4 tracks (takes precedence over the iTunNORM
+       tag, see http://altosdesign.com/aacgain/)
+
+       NEW FEATURE: Support for start time, stop time, skip when
+       shuffling and remember playback position.
+
+       IMPROVEMENT: Support for coverart has been improved. You may
+       have to select your iPod model from a list of available models
+       if your iPod cannot be identified automatically, as is the case
+       for iTunes mobile phones or the new 6th generation iPod Nanos.
+       Coverart embedded in the music file (APIC tag) can now also
+       read. Support to read the coverart from specified files is
+       still available though. Please note that at present APIC
+       support only works when adding tracks directly to the iPod. It
+       does not work when you add tracks to a LOCAL repository first
+       and use Drag and Drop to move the track to your iPod.
+
+       IMPROVEMENT: Podcasts are marked as unplayed (on the iPod, with
+       a bullet in front of the title) when newly added to the podcast
+       list, and unmarked once they have been played once on the iPod.
+
+       IMPROVEMENT: Support to sync thunderbird's address book to an
+       iPod Nano with old firmware that would otherwise only display
+       the first address. This script may be useful to other users as
+       well as it writes out one vcf file per contact instead of just
+       one big file containing all contacts. Thanks to Paul Oremland.
+
+       IMPROVEMENT: Handle multiple calendar and task files in
+       sync-evocalendar script. Thanks to Michele C. Soccio
+
+       NEW: Spanish translation. Thanks to Alejandro Lamas.
+
+       BUGFIX: Pressing 'OK' when syncing directories several times
+       could crash gtkpod. Thanks to dforsi.
+
+       BUGFIX: Exporting tracks did not work if the template
+       extensions (.mp3...) did not match case-sensitively, possibly
+       leading to non-exported tracks. Thanks to Mattias Wadman.
+
+       BUGFIX: When updating tracks, the filename of the music file
+       and the filename of the thumbnail could be messed up. Fixed.
+
+       BUGFIX: The Edit Detail dialog did not handle the 'Year' field
+       correctly.
+
+       BUGFIX: When updating tracks, files were not copied to the iPod
+       even if the file was changed.
+
+       BUGFIX: Removing playlists could crash gtkpod.
+
+       WORKAROUND: Disable sorting of playlist view as this crashed
+       gtkpod.
+
+gtkpod V0.99.4
+
+       BUGFIX: Options for exporting playlist files could not be
+       changed.
+
+       BUGFIX: Fixed segfault when updating tracks or directories with
+       artowrk present.
+
+       BUGFIX: Browse button for "Sync Notes Script" opened a
+       directory browser instead of a file browser.
+
+       BUGFIX: Writing ID3v2.4 tags in UTF8 did not always
+       work. Thanks to 't0c' for the patch.
+
+       BUGFIX: Context Menus for removing playlists from the iPod were
+       not displayed. Thanks to 'rob/biffhero' for pointing this out.
+
+gtkpod V0.99.2
+       BUGFIX: Fix segfault when applying preferences.
+
+       BUGFIX: Don't require libcurl (not actively used).
+
+       UPDATE: Swedish translation catalog
+
+       IMPROVEMENT: Allow export of multiple thunderbird address
+       books (by naming the output filename).
+
+gtkpod V0.99.0
+       NEW: type-ahead search functionality. Thanks to Nick Piper,
+       http://www.nickpiper.co.uk/ -- please note that the list view
+       you want to search in needs to have keyboard focus. Selection
+       of the search column is done by clicking anywhere inside the
+       column.
+
+       NEW: Handle Compilations decently. The compilation mp3 tag is
+       read and written, and compilation artists can be grouped into
+       "Compilations" in the Artist filter tab. Thanks to Iain Benson!
+
+       NEW: Window for edit of track details, including functionality
+       to set thumbnails. The thumbnails are not stored as tags in the
+       file as iTunes does it. Instead, the original filename is
+       stored.
+
+       NEW: Display and setting/removing of thumbnail images. Choose
+       "Show Details" from the context menu (right mouse-button). New
+       thumbnails are displayed by the iPod but get wiped by iTunes,
+       however.
+
+       NEW: Automatic adding of thumbnail images when adding new
+       tracks or updating existing ones. See the option on the 'Track
+       Info' page of the preferences dialog for settings about which
+       filename will be used. Any filename is possible, even filenames
+       constructed from the album or artist name.
+
+       NEW: very basic iPod video support (you can add Videos but no
+       metadata is filled in). Thanks to Uwe Herman for the input.
+
+       NEW: script to sync contacts from a Palm (via jppy
+       http://wiki.zanu.org.uk/jppy). Thanks to Nick Piper,
+       http://www.nickpiper.co.uk/)
+
+       NEW: basic podcast support (use e.g. bashpodder or gpodder to
+       download podcasts, then add them directly into the podcast
+       playlist on the iPod).
+
+       NEW: transition to libgpod to read/write iTunesDB. See
+       www.gtkpod.org/libgpod.html for details.
+
+       IMPROVEMENT: added comment, category, description, podcast url,
+       podcast rss, subtitle fields and release date to displayable
+       fields.
+
+       IMPROVEMENT: Support playcounts on iPod Shuffle as well
+
+       IMPROVEMENT: Remember size of 'Edit Smart Playlist' dialog and
+       use scrolled window for the rules display.
+
+       IMPROVEMENT: Update smart playlists automatically (on
+       load/display/save) if 'live updating' is set.
+
+       IMPROVEMENT: Support for more mp3 file tags: Compilation
+       (TCMP), Podcast URL/Title (TID), Podcast Description (TDS),
+       Podcast Subtitle (TT3), Podcast RSS (WFD), Podcast Release Date
+       (TDR). Mostly reading only because of limited support on
+       id3tag's side.
+
+       UPDATED: Italian translation (thanks to Edward Matteucci)
+
+       BUGFIX: 'Check iPod's files' could crash under certain
+       circumstances (thanks to David Mansfield for the patch).
+
+       BUGFIX: Lame's Replay Gain was read incorrectly for certain
+       values. Thanks to Chris Brotherton for tracking this down.
+
+       BUGFIX: Prevent that all rules in a smart playlist get deleted,
+       which would mess up the iTunesDB.
+
+       BUGFIX: Choosing 'Delete' from the menu (not context menu) now
+       works again.
+
+gtkpod V0.95.CVS
+       NEW: script to sync addressbooks in ldif format provided by
+       Sebastien BERIDOT.
+
+       NEW: script to sync kNotes (KDE note program) provided by
+       Sebastian Scherer.
+
+       CHANGE: MP3 tags: use 'Band/Orchestra/Accompaniment' (TPE2) as
+       artist if it exists. Otherwise use 'Lead artist/Lead
+       performer/Soloist/Performing group' (TPE1) as before. Let me
+       know if this causes problems for you.
+
+       UPDATED Hebrew translation (thanks to Assaf Gillat)
+
+       SAFETY: call sync() and flush all buffers to the iPod after
+       writing the iTunesDB -- should minimise filesystem errors
+       caused by people disconnecting the iPod without unmounting.
+
+       BUGFIX: Copying playlists by drag and drop could confuse smart
+       playlists referencing these playlists. Fixed.
+
+       After copying playlists by drag and drop, smart playlists
+       refering to these playlists could become confused.
+
+gtkpod V0.94.0
+       NEW FEATURE: stable sorting of track view. This allows you, for
+       example, to first sort by title, then by artist. The list will
+       then be sorted by artist, but all titles of each artist remain
+       sorted as well (before the tiles were random).
+       Arbitrary depth and order of stable sorting is possible by
+       clicking the sort columns in the desired order.
+
+       NEW FEATURE: define your own ignore list of words that should
+       be ignored during sorting (sort options: ctrl-s).
+
+       IMPROVEMENT: improved handling of dangling files (files that
+       are referenced in the iTunesDB but are not present on the
+       iPod).
+
+       IMPROVEMENT: use 'eject' instead of 'umount'. Also fixes the
+       bug that 'could not unmount' was always displayed, even if the
+       umount was successful (thanks to Andreas Hauber).
+
+       BUGFIX: Some iTunesDB files written by iTunes could not be read
+       because of an error in the parse code (gtkpod would attempt to
+       read beyond the end of the file).
+
+       BUGFIX: Fixed compatibility issue with new firmware 3.1 and
+       iTunes 4.9 (only 256 tracks were shown on the iPod, iTunes
+       removed the majority of the tracks from the iPod). Podcasts are
+       still not supported, however, and will be lost when handled by
+       gtkpod.
+
+       BUGFIX: Fixed On-The-Go playlist handling (thanks to "Todd").
+
+       UPDATE: Hebrew translation catalog. Thanks to Assaf Gillat!
+
+gtkpod V0.93.1
+       BUGFIX: When changing the mountpoint, the change was not
+       written to the preferences file correctly.
+
+       BUGFIX: 'Copy from iPod' just failed in offline mode instead of
+       giving meaningful error messages -> fixed.
+
+       IMPROVEMENT: 'Copy from iPod' is now 'Export from Database' and
+       allows to export from the local database as well. This is
+       useful if you want to rename files in a consistant manner.
+
+gtkpod V0.93
+	Complete rewrite of reading/writing the iTunesDB. The code for
+	reading and writing the iTunesDB (and other iPod/Shuffle
+	files) is completely self-contained (itdb*.[ch]) and can
+	easily be used in other projects.
+
+	NEW FEATURE: Support of 'local database' containing tracks on
+	local harddisk. The contents of the local hard disk can be
+	browsed in the known gtkpod-fashion: by artist or genre or
+	album etc. Tracks and entire playlists can be dragged over to
+	the iPod or Shuffle database. By using smart playlists with
+	defined size in MBytes, the Shuffle can be filled effectively.
+
+	Drag and drop also works in the opposite direction: drag
+	tracks or entire playlists from the iPod/Shuffle database into
+	your local database. If necessary, the tracks are copied to
+	your harddisk automatically.
+
+	NEW FEATURE: sync-abook.sh and sync-webcalendar.sh scripts
+	provided by Daniel Kercher.
+
+	NEW FEATURE: sync-thunderbird.sh script	provided by Clinton
+	Gormley.
+
 	IMPROVEMENT: support MP3 disc numbers (thanks to Leigh Dyer)
 
+	IMPROVEMENT: Use of GTK filechoosers instead of fileselectors
+	(thanks to James Ligget)
+
+	IMPROVEMENT: sync-notes.sh now also works on directories (thanks
+	to Thomas Perl)
+
+	UPDATE: use 'iconv' instead of 'recode' in the provided export
+	scripts. Thanks to Alexey Dokuchaev.
+
+	UPDATE: All translation catlogs updated (French, German,
+	Italian, Japanese and Swedish)
+
+	BUGFIX: display and reading of compilation flag fixed (thanks
+	to Julien Oster for the patch)
+
+	BUGFIX: don't hang when parsing playlist files with empty
+	lines (thanks to Mattias Wadman)
+
+	BUGFIX: When exporting from the iPod: if the original filename
+        of a track was available, the track was not copied from the
+        iPod but from the original location on the user's
+        harddisk. Had the original file been removed or the export was
+        done on another computer (where the original file was not
+        present), the export failed.
+
 gtkpod V0.88.2
 	IMPROVEMENT: Added '%p' (current playlist) identifier when
 	exporting tracks.
@@ -113,7 +564,7 @@
 	up as "OTG Playlist 1" etc.
 
 	NEW FEATURE: export of PLS or M3U file including meta data.
-	
+
 	NEW FEATURE: registering playcounts when tracks are played on
 	the local machine is now possible (actually it was already
 	possible in V0.80, but now the README explains how to do it).
@@ -175,7 +626,7 @@
 
 	PATCH: reverted to old-style check of id3tag-lib as id3tag.pc
 	is not included with the id3tag distribution by default
-	
+
 gtkpod V0.80
 	NEW FEATURE: Added support for WAV audio files
 
@@ -482,7 +933,7 @@
 
 	NEW FEATURE: columns in song view can be dragged into any
 	order. Order will be saved.
-	
+
         Change of copyright: itunesdb.c and itunesdb.h are now under the
 	GNU Lesser General Public License to make it easier to use the
 	code in other programs.
@@ -527,10 +978,10 @@
 
         BUGFIX: some iTunesDBs produced by ephpod could not be read (hang
 	after reading the songs and before adding the playlists).
-        
+
 	New Feature: update song information from file when adding songs
 	with identical filename (option)
-	
+
         New Feature: update song information from file of selected songs
 	(ctrl-u and menu item)
 
@@ -540,7 +991,7 @@
 
         BUGFIX: Deleting songs from the iPod only worked if you exported
 	the iTunesDB twice.
-	
+
 	New Feature: Add Playlists (m3u and pls)
 
 gtkpod V0.42 20-Feb-2003
@@ -555,7 +1006,7 @@
         Improvement: export can be interrupted and be continued at a later
 	time. gtkpod will (hopefully) correctly remember which songs have
 	already been copied/deleted from your iPod.
-	
+
 	Improvement: removal and copy of songs during export is done in a
 	separate thread, so the display doesn't freeze on long file system
 	operations
@@ -563,10 +1014,10 @@
         Bugfix: Kentaro Fukuchi pointed out that MusicMatch (at least the
 	Japanese version) uses song IDs starting with 2 (and not with
 	53). gtkpod then dropped some of your songs -- fixed.
-        
+
 	Improvement: Delete works on entries in sort tabs now (ctrl-d and
 	new menu item)
-	
+
 	Improvement?: don't close dirbrowser window until after the songs
 	have been read.
 
@@ -591,7 +1042,7 @@
 	- confirmation window when quitting gtkpod without saving data
 	- Drag-and-drop for sort tab entries
 	- Japanese langauge catalogue
-	
+
 gtkpod V0.40 26-Jan-2003
 	many new features:
 
@@ -602,6 +1053,6 @@
 	- Charset for ID3 tags can be set
 	- Offline modification of iPod contents (and later synchronisation)
 	- Preferences
-	
+
 gtkpod V0.10
 	basic tool to import/export songs to your iPod.

Modified: gtkpod/trunk/aclocal.m4
===================================================================
--- gtkpod/trunk/aclocal.m4	2009-01-24 20:05:59 UTC (rev 362)
+++ gtkpod/trunk/aclocal.m4	2009-01-24 20:55:00 UTC (rev 363)
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.10 -*- Autoconf -*-
+# generated automatically by aclocal 1.10.1 -*- Autoconf -*-
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006  Free Software Foundation, Inc.
+# 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,10 +11,13 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
-m4_if(m4_PACKAGE_VERSION, [2.61],,
-[m4_fatal([this file was generated for autoconf 2.61.
-You have another version of autoconf.  If you want to use that,
-you should regenerate the build system entirely.], [63])])
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(AC_AUTOCONF_VERSION, [2.61],,
+[m4_warning([this file was generated for autoconf 2.61.
+You have another version of autoconf.  It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
 
 # Copyright (C) 1995-2002 Free Software Foundation, Inc.
 # Copyright (C) 2001-2003,2004 Red Hat, Inc.
@@ -119,8 +122,7 @@
 #-----------------
 glib_DEFUN([GLIB_WITH_NLS],
   dnl NLS is obligatory
-  [AC_REQUIRE([AC_CANONICAL_HOST])dnl
-    USE_NLS=yes
+  [USE_NLS=yes
     AC_SUBST(USE_NLS)
 
     gt_cv_have_gettext=no
@@ -516,6 +518,20 @@
 AC_SUBST(INTLTOOL_SERVICE_RULE)
 AC_SUBST(INTLTOOL_POLICY_RULE)
 
+# Check the gettext tools to make sure they are GNU
+AC_PATH_PROG(XGETTEXT, xgettext)
+AC_PATH_PROG(MSGMERGE, msgmerge)
+AC_PATH_PROG(MSGFMT, msgfmt)
+if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then
+    AC_MSG_ERROR([GNU gettext tools not found; required for intltool])
+fi
+xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`"
+mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`"
+mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`"
+if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then
+    AC_MSG_ERROR([GNU gettext tools not found; required for intltool])
+fi
+
 # Use the tools built into the package, not the ones that are installed.
 AC_SUBST(INTLTOOL_EXTRACT, '$(top_builddir)/intltool-extract')
 AC_SUBST(INTLTOOL_MERGE, '$(top_builddir)/intltool-merge')
@@ -716,16 +732,14 @@
 # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
 # ---------------------------------------------
 m4_define([_PKG_CONFIG],
-[if test -n "$PKG_CONFIG"; then
-    if test -n "$$1"; then
-        pkg_cv_[]$1="$$1"
-    else
-        PKG_CHECK_EXISTS([$3],
-                         [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
-			 [pkg_failed=yes])
-    fi
-else
-	pkg_failed=untried
+[if test -n "$$1"; then
+    pkg_cv_[]$1="$$1"
+ elif test -n "$PKG_CONFIG"; then
+    PKG_CHECK_EXISTS([$3],
+                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
+		     [pkg_failed=yes])
+ else
+    pkg_failed=untried
 fi[]dnl
 ])# _PKG_CONFIG
 
@@ -769,9 +783,9 @@
 if test $pkg_failed = yes; then
         _PKG_SHORT_ERRORS_SUPPORTED
         if test $_pkg_short_errors_supported = yes; then
-	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
+	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
         else 
-	        $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+	        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
@@ -806,7 +820,7 @@
 fi[]dnl
 ])# PKG_CHECK_MODULES
 
-# Copyright (C) 2002, 2003, 2005, 2006  Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2005, 2006, 2007  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -821,7 +835,7 @@
 [am__api_version='1.10'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.10], [],
+m4_if([$1], [1.10.1], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -837,8 +851,10 @@
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.10])dnl
-_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)])
+[AM_AUTOMAKE_VERSION([1.10.1])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
@@ -1133,7 +1149,7 @@
   # each Makefile.in and add a new line on top of each file to say so.
   # Grep'ing the whole file is not good either: AIX grep has a line
   # limit of 2048, but all sed's we know have understand at least 4000.
-  if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
+  if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
     dirpart=`AS_DIRNAME("$mf")`
   else
     continue
@@ -1193,13 +1209,13 @@
 # Do all the work for Automake.                             -*- Autoconf -*-
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006 Free Software Foundation, Inc.
+# 2005, 2006, 2008 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 12
+# serial 13
 
 # This macro actually does too much.  Some checks are only needed if
 # your package does certain things.  But this isn't really a big deal.
@@ -1304,16 +1320,17 @@
 # our stamp files there.
 AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
 [# Compute $1's index in $config_headers.
+_am_arg=$1
 _am_stamp_count=1
 for _am_header in $config_headers :; do
   case $_am_header in
-    $1 | $1:* )
+    $_am_arg | $_am_arg:* )
       break ;;
     * )
       _am_stamp_count=`expr $_am_stamp_count + 1` ;;
   esac
 done
-echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
 # Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
 #
@@ -1635,7 +1652,7 @@
 
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
-# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in.
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
 # This macro is traced by Automake.
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 

Modified: gtkpod/trunk/config.guess
===================================================================
--- gtkpod/trunk/config.guess	2009-01-24 20:05:59 UTC (rev 362)
+++ gtkpod/trunk/config.guess	2009-01-24 20:55:00 UTC (rev 363)
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-#   Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+#   Free Software Foundation, Inc.
 
-timestamp='2006-07-02'
+timestamp='2008-01-08'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -56,8 +56,8 @@
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -161,6 +161,7 @@
 	    arm*) machine=arm-unknown ;;
 	    sh3el) machine=shl-unknown ;;
 	    sh3eb) machine=sh-unknown ;;
+	    sh5el) machine=sh5le-unknown ;;
 	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
 	esac
 	# The Operating System including object format, if it has switched
@@ -329,7 +330,7 @@
     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
 	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 	exit ;;
-    i86pc:SunOS:5.*:*)
+    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
 	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 	exit ;;
     sun4*:SunOS:6*:*)
@@ -531,7 +532,7 @@
 		echo rs6000-ibm-aix3.2
 	fi
 	exit ;;
-    *:AIX:*:[45])
+    *:AIX:*:[456])
 	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
 	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
 		IBM_ARCH=rs6000
@@ -780,7 +781,7 @@
     i*:CYGWIN*:*)
 	echo ${UNAME_MACHINE}-pc-cygwin
 	exit ;;
-    i*:MINGW*:*)
+    *:MINGW*:*)
 	echo ${UNAME_MACHINE}-pc-mingw32
 	exit ;;
     i*:windows32*:*)
@@ -790,12 +791,18 @@
     i*:PW*:*)
 	echo ${UNAME_MACHINE}-pc-pw32
 	exit ;;
-    x86:Interix*:[3456]*)
-	echo i586-pc-interix${UNAME_RELEASE}
-	exit ;;
-    EM64T:Interix*:[3456]*)
-	echo x86_64-unknown-interix${UNAME_RELEASE}
-	exit ;;
+    *:Interix*:[3456]*)
+    	case ${UNAME_MACHINE} in
+	    x86)
+		echo i586-pc-interix${UNAME_RELEASE}
+		exit ;;
+	    EM64T | authenticamd)
+		echo x86_64-unknown-interix${UNAME_RELEASE}
+		exit ;;
+	    IA64)
+		echo ia64-unknown-interix${UNAME_RELEASE}
+		exit ;;
+	esac ;;
     [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
 	echo i${UNAME_MACHINE}-pc-mks
 	exit ;;
@@ -829,7 +836,14 @@
 	echo ${UNAME_MACHINE}-pc-minix
 	exit ;;
     arm*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	eval $set_cc_for_build
+	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+	    | grep -q __ARM_EABI__
+	then
+	    echo ${UNAME_MACHINE}-unknown-linux-gnu
+	else
+	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+	fi
 	exit ;;
     avr32*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
@@ -950,6 +964,9 @@
     x86_64:Linux:*:*)
 	echo x86_64-unknown-linux-gnu
 	exit ;;
+    xtensa*:Linux:*:*)
+    	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
     i*86:Linux:*:*)
 	# The BFD linker knows what the default object file format is, so
 	# first see if it will tell us. cd to the root directory to prevent
@@ -1208,6 +1225,15 @@
     SX-6:SUPER-UX:*:*)
 	echo sx6-nec-superux${UNAME_RELEASE}
 	exit ;;
+    SX-7:SUPER-UX:*:*)
+	echo sx7-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-8:SUPER-UX:*:*)
+	echo sx8-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-8R:SUPER-UX:*:*)
+	echo sx8r-nec-superux${UNAME_RELEASE}
+	exit ;;
     Power*:Rhapsody:*:*)
 	echo powerpc-apple-rhapsody${UNAME_RELEASE}
 	exit ;;

Modified: gtkpod/trunk/config.h.in
===================================================================
--- gtkpod/trunk/config.h.in	2009-01-24 20:05:59 UTC (rev 362)
+++ gtkpod/trunk/config.h.in	2009-01-24 20:55:00 UTC (rev 363)
@@ -1,14 +1,12 @@
 /* config.h.in.  Generated from configure.in by autoheader.  */
 
-/* libmp4v2 probably version 1.6 or higher: MP4GetMetadataCoverArt accepts an
-   extra argument */
+/* MP4GetMetadataCoverArt accepts an extra argument in libmp4v2 >= 1.6 */
 #undef COVERART_ACCEPTS_EXTRA_ARG
 
 /* always defined to indicate that i18n is enabled */
 #undef ENABLE_NLS
 
-/* libmp4v2 probably version 1.6 or higher: MP4GetMetadataFreeForm accepts
-   extra argument */
+/* MP4GetMetadataFreeForm accepts an extra argument in libmp4v2 >= 1.6 */
 #undef FREEFORM_ACCEPTS_EXTRA_ARG
 
 /* "Gettext package name" */
@@ -50,6 +48,9 @@
 /* Define if you have the mp4v2 library */
 #undef HAVE_LIBMP4V2
 
+/* Define if you have the mp4v2 library version 2.0 or greater */
+#undef HAVE_LIBMP4V2_2
+
 /* Define if you have the ogg/vorbis library */
 #undef HAVE_LIBVORBISFILE
 
@@ -95,6 +96,12 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Set this to the libgpod version */
+#undef LIBGPOD_VERSION
+
+/* MP4GetMetadataAlbumArtist requires libmp4v2 >= 1.6 */
+#undef MP4_ALBUMARTIST_EXISTS
+
 /* Name of package */
 #undef PACKAGE
 

Modified: gtkpod/trunk/config.sub
===================================================================
--- gtkpod/trunk/config.sub	2009-01-24 20:05:59 UTC (rev 362)
+++ gtkpod/trunk/config.sub	2009-01-24 20:55:00 UTC (rev 363)
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Configuration validation subroutine script.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-#   Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+#   Free Software Foundation, Inc.
 
-timestamp='2006-09-20'
+timestamp='2008-01-16'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -72,8 +72,8 @@
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -245,12 +245,12 @@
 	| bfin \
 	| c4x | clipper \
 	| d10v | d30v | dlx | dsp16xx \
-	| fr30 | frv \
+	| fido | fr30 | frv \
 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
 	| i370 | i860 | i960 | ia64 \
 	| ip2k | iq2000 \
 	| m32c | m32r | m32rle | m68000 | m68k | m88k \
-	| maxq | mb | microblaze | mcore \
+	| maxq | mb | microblaze | mcore | mep \
 	| mips | mipsbe | mipseb | mipsel | mipsle \
 	| mips16 \
 	| mips64 | mips64el \
@@ -324,7 +324,7 @@
 	| clipper-* | craynv-* | cydra-* \
 	| d10v-* | d30v-* | dlx-* \
 	| elxsi-* \
-	| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
+	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
 	| h8300-* | h8500-* \
 	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
 	| i*86-* | i860-* | i960-* | ia64-* \
@@ -369,10 +369,14 @@
 	| v850-* | v850e-* | vax-* \
 	| we32k-* \
 	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
-	| xstormy16-* | xtensa-* \
+	| xstormy16-* | xtensa*-* \
 	| ymp-* \
 	| z8k-*)
 		;;
+	# Recognize the basic CPU types without company name, with glob match.
+	xtensa*)
+		basic_machine=$basic_machine-unknown
+		;;
 	# Recognize the various machine names and aliases which stand
 	# for a CPU type and a company and sometimes even an OS.
 	386bsd)
@@ -443,6 +447,14 @@
 		basic_machine=ns32k-sequent
 		os=-dynix
 		;;
+	blackfin)
+		basic_machine=bfin-unknown
+		os=-linux
+		;;
+	blackfin-*)
+		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=-linux
+		;;
 	c90)
 		basic_machine=c90-cray
 		os=-unicos
@@ -475,8 +487,8 @@
 		basic_machine=craynv-cray
 		os=-unicosmp
 		;;
-	cr16c)
-		basic_machine=cr16c-unknown
+	cr16)
+		basic_machine=cr16-unknown
 		os=-elf
 		;;
 	crds | unos)
@@ -668,6 +680,14 @@
 		basic_machine=m68k-isi
 		os=-sysv
 		;;
+	m68knommu)
+		basic_machine=m68k-unknown
+		os=-linux
+		;;
+	m68knommu-*)
+		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=-linux
+		;;
 	m88k-omron*)
 		basic_machine=m88k-omron
 		;;
@@ -683,6 +703,10 @@
 		basic_machine=i386-pc
 		os=-mingw32
 		;;
+	mingw32ce)
+		basic_machine=arm-unknown
+		os=-mingw32ce
+		;;
 	miniframe)
 		basic_machine=m68000-convergent
 		;;
@@ -809,6 +833,14 @@
 		basic_machine=i860-intel
 		os=-osf
 		;;
+	parisc)
+		basic_machine=hppa-unknown
+		os=-linux
+		;;
+	parisc-*)
+		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=-linux
+		;;
 	pbd)
 		basic_machine=sparc-tti
 		;;
@@ -925,6 +957,9 @@
 		basic_machine=sh-hitachi
 		os=-hms
 		;;
+	sh5el)
+		basic_machine=sh5le-unknown
+		;;
 	sh64)
 		basic_machine=sh64-unknown
 		;;
@@ -1014,6 +1049,10 @@
 		basic_machine=tic6x-unknown
 		os=-coff
 		;;
+	tile*)
+		basic_machine=tile-unknown
+		os=-linux-gnu
+		;;
 	tx39)
 		basic_machine=mipstx39-unknown
 		;;
@@ -1219,7 +1258,7 @@
 	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
 	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
 	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-	      | -skyos* | -haiku* | -rdos* | -toppers*)
+	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
 	-qnx*)
@@ -1414,6 +1453,9 @@
 	m68*-cisco)
 		os=-aout
 		;;
+        mep-*)
+		os=-elf
+		;;
 	mips*-cisco)
 		os=-elf
 		;;

Modified: gtkpod/trunk/configure
===================================================================
--- gtkpod/trunk/configure	2009-01-24 20:05:59 UTC (rev 362)
+++ gtkpod/trunk/configure	2009-01-24 20:55:00 UTC (rev 363)
@@ -718,6 +718,9 @@
 INTLTOOL_THEME_RULE
 INTLTOOL_SERVICE_RULE
 INTLTOOL_POLICY_RULE
+XGETTEXT
+MSGMERGE
+MSGFMT
 INTLTOOL_EXTRACT
 INTLTOOL_MERGE
 INTLTOOL_UPDATE
@@ -736,8 +739,6 @@
 GTHREAD_LIBS
 LIBGLADE_CFLAGS
 LIBGLADE_LIBS
-LIBGNOMECANVAS_CFLAGS
-LIBGNOMECANVAS_LIBS
 LIBGPOD_CFLAGS
 LIBGPOD_LIBS
 LEX
@@ -749,10 +750,8 @@
 GREP
 EGREP
 USE_NLS
-MSGFMT
 MSGFMT_OPTS
 GMSGFMT
-XGETTEXT
 CATALOGS
 CATOBJEXT
 GMOFILES
@@ -803,8 +802,6 @@
 GTHREAD_LIBS
 LIBGLADE_CFLAGS
 LIBGLADE_LIBS
-LIBGNOMECANVAS_CFLAGS
-LIBGNOMECANVAS_LIBS
 LIBGPOD_CFLAGS
 LIBGPOD_LIBS
 CPP
@@ -1431,10 +1428,6 @@
               C compiler flags for LIBGLADE, overriding pkg-config
   LIBGLADE_LIBS
               linker flags for LIBGLADE, overriding pkg-config
-  LIBGNOMECANVAS_CFLAGS
-              C compiler flags for LIBGNOMECANVAS, overriding pkg-config
-  LIBGNOMECANVAS_LIBS
-              linker flags for LIBGNOMECANVAS, overriding pkg-config
   LIBGPOD_CFLAGS
               C compiler flags for LIBGPOD, overriding pkg-config
   LIBGPOD_LIBS
@@ -2208,7 +2201,7 @@
 
 # Define the identity of the package.
  PACKAGE=gtkpod
- VERSION=0.99.12
+ VERSION=0.99.14
 
 
 cat >>confdefs.h <<_ACEOF
@@ -5273,6 +5266,141 @@
 
 
 
+# Check the gettext tools to make sure they are GNU
+# Extract the first word of "xgettext", so it can be a program name with args.
+set dummy xgettext; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_XGETTEXT+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $XGETTEXT in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_XGETTEXT="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+XGETTEXT=$ac_cv_path_XGETTEXT
+if test -n "$XGETTEXT"; then
+  { echo "$as_me:$LINENO: result: $XGETTEXT" >&5
+echo "${ECHO_T}$XGETTEXT" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+# Extract the first word of "msgmerge", so it can be a program name with args.
+set dummy msgmerge; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_MSGMERGE+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $MSGMERGE in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_MSGMERGE="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+MSGMERGE=$ac_cv_path_MSGMERGE
+if test -n "$MSGMERGE"; then
+  { echo "$as_me:$LINENO: result: $MSGMERGE" >&5
+echo "${ECHO_T}$MSGMERGE" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+# Extract the first word of "msgfmt", so it can be a program name with args.
+set dummy msgfmt; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_MSGFMT+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $MSGFMT in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_MSGFMT="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+MSGFMT=$ac_cv_path_MSGFMT
+if test -n "$MSGFMT"; then
+  { echo "$as_me:$LINENO: result: $MSGFMT" >&5
+echo "${ECHO_T}$MSGFMT" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then
+    { { echo "$as_me:$LINENO: error: GNU gettext tools not found; required for intltool" >&5
+echo "$as_me: error: GNU gettext tools not found; required for intltool" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`"
+mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`"
+mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`"
+if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then
+    { { echo "$as_me:$LINENO: error: GNU gettext tools not found; required for intltool" >&5
+echo "$as_me: error: GNU gettext tools not found; required for intltool" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
 # Use the tools built into the package, not the ones that are installed.
 INTLTOOL_EXTRACT='$(top_builddir)/intltool-extract'
 
@@ -5794,41 +5922,37 @@
 { echo "$as_me:$LINENO: checking for GTK" >&5
 echo $ECHO_N "checking for GTK... $ECHO_C" >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$GTK_CFLAGS"; then
-        pkg_cv_GTK_CFLAGS="$GTK_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= 2.6.0\"") >&5
-  ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.6.0") 2>&5
+if test -n "$GTK_CFLAGS"; then
+    pkg_cv_GTK_CFLAGS="$GTK_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= 2.8.0\"") >&5
+  ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.8.0") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 2.6.0" 2>/dev/null`
+  pkg_cv_GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 2.8.0" 2>/dev/null`
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$GTK_LIBS"; then
-        pkg_cv_GTK_LIBS="$GTK_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= 2.6.0\"") >&5
-  ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.6.0") 2>&5
+if test -n "$GTK_LIBS"; then
+    pkg_cv_GTK_LIBS="$GTK_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= 2.8.0\"") >&5
+  ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.8.0") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_GTK_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= 2.6.0" 2>/dev/null`
+  pkg_cv_GTK_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= 2.8.0" 2>/dev/null`
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
 
 
@@ -5841,9 +5965,9 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gtk+-2.0 >= 2.6.0"`
+	        GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gtk+-2.0 >= 2.8.0" 2>&1`
         else
-	        GTK_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gtk+-2.0 >= 2.6.0"`
+	        GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors "gtk+-2.0 >= 2.8.0" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$GTK_PKG_ERRORS" >&5
@@ -5873,41 +5997,37 @@
 { echo "$as_me:$LINENO: checking for GLIB" >&5
 echo $ECHO_N "checking for GLIB... $ECHO_C" >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$GLIB_CFLAGS"; then
-        pkg_cv_GLIB_CFLAGS="$GLIB_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.4.0\"") >&5
-  ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.4.0") 2>&5
+if test -n "$GLIB_CFLAGS"; then
+    pkg_cv_GLIB_CFLAGS="$GLIB_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.8.0\"") >&5
+  ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.8.0") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_GLIB_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.4.0" 2>/dev/null`
+  pkg_cv_GLIB_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.8.0" 2>/dev/null`
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$GLIB_LIBS"; then
-        pkg_cv_GLIB_LIBS="$GLIB_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.4.0\"") >&5
-  ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.4.0") 2>&5
+if test -n "$GLIB_LIBS"; then
+    pkg_cv_GLIB_LIBS="$GLIB_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.8.0\"") >&5
+  ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.8.0") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_GLIB_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.4.0" 2>/dev/null`
+  pkg_cv_GLIB_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.8.0" 2>/dev/null`
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
 
 
@@ -5920,9 +6040,9 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "glib-2.0 >= 2.4.0"`
+	        GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "glib-2.0 >= 2.8.0" 2>&1`
         else
-	        GLIB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glib-2.0 >= 2.4.0"`
+	        GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors "glib-2.0 >= 2.8.0" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$GLIB_PKG_ERRORS" >&5
@@ -5952,11 +6072,10 @@
 { echo "$as_me:$LINENO: checking for GMODULE" >&5
 echo $ECHO_N "checking for GMODULE... $ECHO_C" >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$GMODULE_CFLAGS"; then
-        pkg_cv_GMODULE_CFLAGS="$GMODULE_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$GMODULE_CFLAGS"; then
+    pkg_cv_GMODULE_CFLAGS="$GMODULE_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gmodule-2.0\"") >&5
   ($PKG_CONFIG --exists --print-errors "gmodule-2.0") 2>&5
   ac_status=$?
@@ -5966,15 +6085,13 @@
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$GMODULE_LIBS"; then
-        pkg_cv_GMODULE_LIBS="$GMODULE_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$GMODULE_LIBS"; then
+    pkg_cv_GMODULE_LIBS="$GMODULE_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gmodule-2.0\"") >&5
   ($PKG_CONFIG --exists --print-errors "gmodule-2.0") 2>&5
   ac_status=$?
@@ -5984,9 +6101,8 @@
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
 
 
@@ -5999,9 +6115,9 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        GMODULE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gmodule-2.0"`
+	        GMODULE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gmodule-2.0" 2>&1`
         else
-	        GMODULE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gmodule-2.0"`
+	        GMODULE_PKG_ERRORS=`$PKG_CONFIG --print-errors "gmodule-2.0" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$GMODULE_PKG_ERRORS" >&5
@@ -6031,11 +6147,10 @@
 { echo "$as_me:$LINENO: checking for GTHREAD" >&5
 echo $ECHO_N "checking for GTHREAD... $ECHO_C" >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$GTHREAD_CFLAGS"; then
-        pkg_cv_GTHREAD_CFLAGS="$GTHREAD_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$GTHREAD_CFLAGS"; then
+    pkg_cv_GTHREAD_CFLAGS="$GTHREAD_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gthread-2.0 >= 0.14.0\"") >&5
   ($PKG_CONFIG --exists --print-errors "gthread-2.0 >= 0.14.0") 2>&5
   ac_status=$?
@@ -6045,15 +6160,13 @@
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$GTHREAD_LIBS"; then
-        pkg_cv_GTHREAD_LIBS="$GTHREAD_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$GTHREAD_LIBS"; then
+    pkg_cv_GTHREAD_LIBS="$GTHREAD_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gthread-2.0 >= 0.14.0\"") >&5
   ($PKG_CONFIG --exists --print-errors "gthread-2.0 >= 0.14.0") 2>&5
   ac_status=$?
@@ -6063,9 +6176,8 @@
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
 
 
@@ -6078,9 +6190,9 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        GTHREAD_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gthread-2.0 >= 0.14.0"`
+	        GTHREAD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gthread-2.0 >= 0.14.0" 2>&1`
         else
-	        GTHREAD_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gthread-2.0 >= 0.14.0"`
+	        GTHREAD_PKG_ERRORS=`$PKG_CONFIG --print-errors "gthread-2.0 >= 0.14.0" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$GTHREAD_PKG_ERRORS" >&5
@@ -6110,11 +6222,10 @@
 { echo "$as_me:$LINENO: checking for LIBGLADE" >&5
 echo $ECHO_N "checking for LIBGLADE... $ECHO_C" >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$LIBGLADE_CFLAGS"; then
-        pkg_cv_LIBGLADE_CFLAGS="$LIBGLADE_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$LIBGLADE_CFLAGS"; then
+    pkg_cv_LIBGLADE_CFLAGS="$LIBGLADE_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libglade-2.0 >= 2.4.0\"") >&5
   ($PKG_CONFIG --exists --print-errors "libglade-2.0 >= 2.4.0") 2>&5
   ac_status=$?
@@ -6124,15 +6235,13 @@
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$LIBGLADE_LIBS"; then
-        pkg_cv_LIBGLADE_LIBS="$LIBGLADE_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$LIBGLADE_LIBS"; then
+    pkg_cv_LIBGLADE_LIBS="$LIBGLADE_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libglade-2.0 >= 2.4.0\"") >&5
   ($PKG_CONFIG --exists --print-errors "libglade-2.0 >= 2.4.0") 2>&5
   ac_status=$?
@@ -6142,9 +6251,8 @@
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
 
 
@@ -6157,9 +6265,9 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        LIBGLADE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libglade-2.0 >= 2.4.0"`
+	        LIBGLADE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libglade-2.0 >= 2.4.0" 2>&1`
         else
-	        LIBGLADE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libglade-2.0 >= 2.4.0"`
+	        LIBGLADE_PKG_ERRORS=`$PKG_CONFIG --print-errors "libglade-2.0 >= 2.4.0" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$LIBGLADE_PKG_ERRORS" >&5
@@ -6186,123 +6294,40 @@
 fi
 
 pkg_failed=no
-{ echo "$as_me:$LINENO: checking for LIBGNOMECANVAS" >&5
-echo $ECHO_N "checking for LIBGNOMECANVAS... $ECHO_C" >&6; }
-
-if test -n "$PKG_CONFIG"; then
-    if test -n "$LIBGNOMECANVAS_CFLAGS"; then
-        pkg_cv_LIBGNOMECANVAS_CFLAGS="$LIBGNOMECANVAS_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libgnomecanvas-2.0 >= 2.14.0\"") >&5
-  ($PKG_CONFIG --exists --print-errors "libgnomecanvas-2.0 >= 2.14.0") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_LIBGNOMECANVAS_CFLAGS=`$PKG_CONFIG --cflags "libgnomecanvas-2.0 >= 2.14.0" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
-    fi
-else
-	pkg_failed=untried
-fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$LIBGNOMECANVAS_LIBS"; then
-        pkg_cv_LIBGNOMECANVAS_LIBS="$LIBGNOMECANVAS_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libgnomecanvas-2.0 >= 2.14.0\"") >&5
-  ($PKG_CONFIG --exists --print-errors "libgnomecanvas-2.0 >= 2.14.0") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_LIBGNOMECANVAS_LIBS=`$PKG_CONFIG --libs "libgnomecanvas-2.0 >= 2.14.0" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
-    fi
-else
-	pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-	        LIBGNOMECANVAS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libgnomecanvas-2.0 >= 2.14.0"`
-        else
-	        LIBGNOMECANVAS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libgnomecanvas-2.0 >= 2.14.0"`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$LIBGNOMECANVAS_PKG_ERRORS" >&5
-
-	{ echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-                { { echo "$as_me:$LINENO: error: *** $LIBGNOMECANVAS_PKG_ERRORS
-See \`config.log' for more details." >&5
-echo "$as_me: error: *** $LIBGNOMECANVAS_PKG_ERRORS
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-elif test $pkg_failed = untried; then
-	{ { echo "$as_me:$LINENO: error: *** $LIBGNOMECANVAS_PKG_ERRORS
-See \`config.log' for more details." >&5
-echo "$as_me: error: *** $LIBGNOMECANVAS_PKG_ERRORS
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-else
-	LIBGNOMECANVAS_CFLAGS=$pkg_cv_LIBGNOMECANVAS_CFLAGS
-	LIBGNOMECANVAS_LIBS=$pkg_cv_LIBGNOMECANVAS_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-	:
-fi
-
-pkg_failed=no
 { echo "$as_me:$LINENO: checking for LIBGPOD" >&5
 echo $ECHO_N "checking for LIBGPOD... $ECHO_C" >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$LIBGPOD_CFLAGS"; then
-        pkg_cv_LIBGPOD_CFLAGS="$LIBGPOD_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libgpod-1.0 >= 0.6.0\"") >&5
-  ($PKG_CONFIG --exists --print-errors "libgpod-1.0 >= 0.6.0") 2>&5
+if test -n "$LIBGPOD_CFLAGS"; then
+    pkg_cv_LIBGPOD_CFLAGS="$LIBGPOD_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libgpod-1.0 >= 0.6.1\"") >&5
+  ($PKG_CONFIG --exists --print-errors "libgpod-1.0 >= 0.6.1") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_LIBGPOD_CFLAGS=`$PKG_CONFIG --cflags "libgpod-1.0 >= 0.6.0" 2>/dev/null`
+  pkg_cv_LIBGPOD_CFLAGS=`$PKG_CONFIG --cflags "libgpod-1.0 >= 0.6.1" 2>/dev/null`
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$LIBGPOD_LIBS"; then
-        pkg_cv_LIBGPOD_LIBS="$LIBGPOD_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libgpod-1.0 >= 0.6.0\"") >&5
-  ($PKG_CONFIG --exists --print-errors "libgpod-1.0 >= 0.6.0") 2>&5
+if test -n "$LIBGPOD_LIBS"; then
+    pkg_cv_LIBGPOD_LIBS="$LIBGPOD_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libgpod-1.0 >= 0.6.1\"") >&5
+  ($PKG_CONFIG --exists --print-errors "libgpod-1.0 >= 0.6.1") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_LIBGPOD_LIBS=`$PKG_CONFIG --libs "libgpod-1.0 >= 0.6.0" 2>/dev/null`
+  pkg_cv_LIBGPOD_LIBS=`$PKG_CONFIG --libs "libgpod-1.0 >= 0.6.1" 2>/dev/null`
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
 
 
@@ -6315,9 +6340,9 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        LIBGPOD_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libgpod-1.0 >= 0.6.0"`
+	        LIBGPOD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libgpod-1.0 >= 0.6.1" 2>&1`
         else
-	        LIBGPOD_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libgpod-1.0 >= 0.6.0"`
+	        LIBGPOD_PKG_ERRORS=`$PKG_CONFIG --print-errors "libgpod-1.0 >= 0.6.1" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$LIBGPOD_PKG_ERRORS" >&5
@@ -6343,8 +6368,8 @@
 	:
 fi
 
-CFLAGS="$CFLAGS $GTK_CFLAGS $GLIB_CFLAGS $GMODULE_CFLAGS $GTHREAD_CFLAGS $LIBGLADE_CFLAGS $LIBGNOMECANVAS_CFLAGS $LIBGPOD_CFLAGS"
-LIBS="$LIBS $GTK_LIBS $GLIB_LIBS $GMODULE_LIBS $GTHREAD_LIBS $LIBGLADE_LIBS $LIBGNOMECANVAS_LIBS $LIBGPOD_LIBS"
+CFLAGS="$CFLAGS $GTK_CFLAGS $GLIB_CFLAGS $GMODULE_CFLAGS $GTHREAD_CFLAGS $LIBGLADE_CFLAGS $LIBGPOD_CFLAGS"
+LIBS="$LIBS $GTK_LIBS $GLIB_LIBS $GMODULE_LIBS $GTHREAD_LIBS $LIBGLADE_LIBS $LIBGPOD_LIBS"
 
 for ac_prog in flex lex
 do
@@ -6553,15 +6578,17 @@
 if test "$LEX" = :; then
   LEX=${am_missing_run}flex
 fi
-if ! test "y$LEX" = "yflex"; then
-    if ! test "y$LEX" = "ylex"; then
+case "$LEX" in
+flex|*/flex|lex|*/lex)
+	;;
+*)
         { { echo "$as_me:$LINENO: error: *** flex or lex required
 See \`config.log' for more details." >&5
 echo "$as_me: error: *** flex or lex required
 See \`config.log' for more details." >&2;}
    { (exit 1); exit 1; }; }
-    fi
-fi
+	;;
+esac
 
 # Extract the first word of "mount", so it can be a program name with args.
 set dummy mount; ac_word=$2
@@ -6646,7 +6673,7 @@
 
 
 
-ALL_LINGUAS="de es fr he it ja ru ro sv"
+ALL_LINGUAS="de es fr he it ja ru ro sv zh_CN"
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -7484,7 +7511,7 @@
 
     fi
   fi
-         USE_NLS=yes
+     USE_NLS=yes
 
 
     gt_cv_have_gettext=no
@@ -9293,11 +9320,10 @@
 { echo "$as_me:$LINENO: checking for CURL" >&5
 echo $ECHO_N "checking for CURL... $ECHO_C" >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$CURL_CFLAGS"; then
-        pkg_cv_CURL_CFLAGS="$CURL_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$CURL_CFLAGS"; then
+    pkg_cv_CURL_CFLAGS="$CURL_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libcurl >= 7.10.0\"") >&5
   ($PKG_CONFIG --exists --print-errors "libcurl >= 7.10.0") 2>&5
   ac_status=$?
@@ -9307,15 +9333,13 @@
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$CURL_LIBS"; then
-        pkg_cv_CURL_LIBS="$CURL_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$CURL_LIBS"; then
+    pkg_cv_CURL_LIBS="$CURL_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libcurl >= 7.10.0\"") >&5
   ($PKG_CONFIG --exists --print-errors "libcurl >= 7.10.0") 2>&5
   ac_status=$?
@@ -9325,9 +9349,8 @@
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
 
 
@@ -9340,9 +9363,9 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        CURL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libcurl >= 7.10.0"`
+	        CURL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libcurl >= 7.10.0" 2>&1`
         else
-	        CURL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libcurl >= 7.10.0"`
+	        CURL_PKG_ERRORS=`$PKG_CONFIG --print-errors "libcurl >= 7.10.0" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$CURL_PKG_ERRORS" >&5
@@ -9399,11 +9422,10 @@
 { echo "$as_me:$LINENO: checking for GNOME_VFS" >&5
 echo $ECHO_N "checking for GNOME_VFS... $ECHO_C" >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$GNOME_VFS_CFLAGS"; then
-        pkg_cv_GNOME_VFS_CFLAGS="$GNOME_VFS_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$GNOME_VFS_CFLAGS"; then
+    pkg_cv_GNOME_VFS_CFLAGS="$GNOME_VFS_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gnome-vfs-2.0 >= 2.6.0\"") >&5
   ($PKG_CONFIG --exists --print-errors "gnome-vfs-2.0 >= 2.6.0") 2>&5
   ac_status=$?
@@ -9413,15 +9435,13 @@
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$GNOME_VFS_LIBS"; then
-        pkg_cv_GNOME_VFS_LIBS="$GNOME_VFS_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$GNOME_VFS_LIBS"; then
+    pkg_cv_GNOME_VFS_LIBS="$GNOME_VFS_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gnome-vfs-2.0 >= 2.6.0\"") >&5
   ($PKG_CONFIG --exists --print-errors "gnome-vfs-2.0 >= 2.6.0") 2>&5
   ac_status=$?
@@ -9431,9 +9451,8 @@
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
 
 
@@ -9446,9 +9465,9 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        GNOME_VFS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gnome-vfs-2.0 >= 2.6.0"`
+	        GNOME_VFS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gnome-vfs-2.0 >= 2.6.0" 2>&1`
         else
-	        GNOME_VFS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gnome-vfs-2.0 >= 2.6.0"`
+	        GNOME_VFS_PKG_ERRORS=`$PKG_CONFIG --print-errors "gnome-vfs-2.0 >= 2.6.0" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$GNOME_VFS_PKG_ERRORS" >&5
@@ -9493,7 +9512,6 @@
     have_gnome_vfs="*no -- will build without iPod autodetection support"
 fi
 
-#dnl Check for HAL
 
 # Check whether --with-hal was given.
 if test "${with_hal+set}" = set; then
@@ -9506,11 +9524,10 @@
 { echo "$as_me:$LINENO: checking for HAL" >&5
 echo $ECHO_N "checking for HAL... $ECHO_C" >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$HAL_CFLAGS"; then
-        pkg_cv_HAL_CFLAGS="$HAL_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$HAL_CFLAGS"; then
+    pkg_cv_HAL_CFLAGS="$HAL_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"hal >= 0.5 hal < 0.6\"") >&5
   ($PKG_CONFIG --exists --print-errors "hal >= 0.5 hal < 0.6") 2>&5
   ac_status=$?
@@ -9520,15 +9537,13 @@
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$HAL_LIBS"; then
-        pkg_cv_HAL_LIBS="$HAL_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$HAL_LIBS"; then
+    pkg_cv_HAL_LIBS="$HAL_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"hal >= 0.5 hal < 0.6\"") >&5
   ($PKG_CONFIG --exists --print-errors "hal >= 0.5 hal < 0.6") 2>&5
   ac_status=$?
@@ -9538,9 +9553,8 @@
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
 
 
@@ -9553,9 +9567,9 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        HAL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "hal >= 0.5 hal < 0.6"`
+	        HAL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "hal >= 0.5 hal < 0.6" 2>&1`
         else
-	        HAL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "hal >= 0.5 hal < 0.6"`
+	        HAL_PKG_ERRORS=`$PKG_CONFIG --print-errors "hal >= 0.5 hal < 0.6" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$HAL_PKG_ERRORS" >&5
@@ -9607,6 +9621,7 @@
 fi
 
 if test "x$with_mp4v2" != "xno"; then
+    have_mp4v2_2_header=no
     { echo "$as_me:$LINENO: checking for library containing MP4GetMetadataGrouping" >&5
 echo $ECHO_N "checking for library containing MP4GetMetadataGrouping... $ECHO_C" >&6; }
 if test "${ac_cv_search_MP4GetMetadataGrouping+set}" = set; then
@@ -9824,25 +9839,213 @@
 fi
 
     if test "x$have_mp4v2_header" = "xno"; then
+        if test "${ac_cv_header_mp4v2_mp4v2_h+set}" = set; then
+  { echo "$as_me:$LINENO: checking for mp4v2/mp4v2.h" >&5
+echo $ECHO_N "checking for mp4v2/mp4v2.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_mp4v2_mp4v2_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_mp4v2_mp4v2_h" >&5
+echo "${ECHO_T}$ac_cv_header_mp4v2_mp4v2_h" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking mp4v2/mp4v2.h usability" >&5
+echo $ECHO_N "checking mp4v2/mp4v2.h usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <mp4v2/mp4v2.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking mp4v2/mp4v2.h presence" >&5
+echo $ECHO_N "checking mp4v2/mp4v2.h presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <mp4v2/mp4v2.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: mp4v2/mp4v2.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: mp4v2/mp4v2.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: mp4v2/mp4v2.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: mp4v2/mp4v2.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: mp4v2/mp4v2.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: mp4v2/mp4v2.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: mp4v2/mp4v2.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: mp4v2/mp4v2.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: mp4v2/mp4v2.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: mp4v2/mp4v2.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: mp4v2/mp4v2.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: mp4v2/mp4v2.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: mp4v2/mp4v2.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: mp4v2/mp4v2.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: mp4v2/mp4v2.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: mp4v2/mp4v2.h: in the future, the compiler will take precedence" >&2;}
+
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for mp4v2/mp4v2.h" >&5
+echo $ECHO_N "checking for mp4v2/mp4v2.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_mp4v2_mp4v2_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_mp4v2_mp4v2_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_mp4v2_mp4v2_h" >&5
+echo "${ECHO_T}$ac_cv_header_mp4v2_mp4v2_h" >&6; }
+
+fi
+if test $ac_cv_header_mp4v2_mp4v2_h = yes; then
+  have_mp4v2_2_header=yes; have_mp4v2_header=yes; have_mp4v2=yes
+else
+  have_mp4v2_header=no
+fi
+
+
+        if test "x$have_mp4v2_2_header" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_LIBMP4V2_2 1
+_ACEOF
+
+        fi
+    fi
+    if test "x$have_mp4v2_header" = "xno"; then
         have_mp4v2="no"
-        { echo "$as_me:$LINENO: WARNING: mp4.h cannot be found or is unusable. Check your mp4v2 installation." >&5
-echo "$as_me: WARNING: mp4.h cannot be found or is unusable. Check your mp4v2 installation." >&2;}
+        { echo "$as_me:$LINENO: WARNING: mp4.h and mp4v2/mp4v2.h cannot be found or is unusable. Check your mp4v2 installation." >&5
+echo "$as_me: WARNING: mp4.h and mp4v2/mp4v2.h cannot be found or is unusable. Check your mp4v2 installation." >&2;}
     else
-    cat >conftest.$ac_ext <<_ACEOF
+        if test "x$have_mp4v2_2_header" = "xyes"; then
+            cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+#include <mp4v2/mp4v2.h>
+int
+main ()
+{
+bool TestMP4GetMetadataFreeForm(MP4FileHandle hFile, const char *name,
+                    uint8_t** pValue, uint32_t* valueSize, const char *owner)
+                    {
+                        MP4GetMetadataFreeForm(hFile, name,pValue, valueSize, owner);
+                    }
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  freeform_accepts_extra_arg=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+        else
+            cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 #include <mp4.h>
 int
 main ()
 {
 bool TestMP4GetMetadataFreeForm(MP4FileHandle hFile, const char *name,
-            u_int8_t** pValue, u_int32_t* valueSize, const char *owner)
-            {
-                MP4GetMetadataFreeForm(hFile, name,pValue, valueSize, owner);
-            }
+                    u_int8_t** pValue, u_int32_t* valueSize, const char *owner)
+                    {
+                        MP4GetMetadataFreeForm(hFile, name,pValue, valueSize, owner);
+                    }
   ;
   return 0;
 }
@@ -9873,21 +10076,76 @@
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    cat >conftest.$ac_ext <<_ACEOF
+        fi
+        if test "x$freeform_accepts_extra_arg" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define FREEFORM_ACCEPTS_EXTRA_ARG 1
+_ACEOF
+
+        fi
+        if test "x$have_mp4v2_2_header" = "xyes"; then
+            cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+#include <mp4v2/mp4v2.h>
+int
+main ()
+{
+bool TestMP4GetMetadataCoverArt(MP4FileHandle hFile,
+                    uint8_t **coverArt, uint32_t* size, uint32_t index)
+                    {
+                        MP4GetMetadataCoverArt(hFile, coverArt, size, index);
+                    }
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  coverart_accepts_extra_arg=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+        else
+            cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 #include <mp4.h>
 int
 main ()
 {
 bool TestMP4GetMetadataCoverArt(MP4FileHandle hFile,
-            u_int8_t **coverArt, u_int32_t* size, uint32_t index)
-            {
-                MP4GetMetadataCoverArt(hFile, coverArt, size, index);
-            }
+                    u_int8_t **coverArt, u_int32_t* size, uint32_t index)
+                    {
+                        MP4GetMetadataCoverArt(hFile, coverArt, size, index);
+                    }
   ;
   return 0;
 }
@@ -9918,22 +10176,107 @@
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+        fi
+        if test "x$coverart_accepts_extra_arg" = "xyes"; then
 
-    if test "x$freeform_accepts_extra_arg" = "xyes"; then
-
 cat >>confdefs.h <<\_ACEOF
-#define FREEFORM_ACCEPTS_EXTRA_ARG 1
+#define COVERART_ACCEPTS_EXTRA_ARG 1
 _ACEOF
 
-    fi
-    if test "x$coverart_accepts_extra_arg" = "xyes"; then
+        fi
+        { echo "$as_me:$LINENO: checking for library containing MP4SetMetadataAlbumArtist" >&5
+echo $ECHO_N "checking for library containing MP4SetMetadataAlbumArtist... $ECHO_C" >&6; }
+if test "${ac_cv_search_MP4SetMetadataAlbumArtist+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char MP4SetMetadataAlbumArtist ();
+int
+main ()
+{
+return MP4SetMetadataAlbumArtist ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' -lmp4v2; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  ac_cv_search_MP4SetMetadataAlbumArtist=$ac_res
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext
+  if test "${ac_cv_search_MP4SetMetadataAlbumArtist+set}" = set; then
+  break
+fi
+done
+if test "${ac_cv_search_MP4SetMetadataAlbumArtist+set}" = set; then
+  :
+else
+  ac_cv_search_MP4SetMetadataAlbumArtist=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_search_MP4SetMetadataAlbumArtist" >&5
+echo "${ECHO_T}$ac_cv_search_MP4SetMetadataAlbumArtist" >&6; }
+ac_res=$ac_cv_search_MP4SetMetadataAlbumArtist
+if test "$ac_res" != no; then
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+  mp4_albumartist_exists=yes
+else
+  mp4_albumartist_exists=no
+fi
+
+        if test "x$mp4_albumartist_exists" = "xyes"; then
+
 cat >>confdefs.h <<\_ACEOF
-#define COVERART_ACCEPTS_EXTRA_ARG 1
+#define MP4_ALBUMARTIST_EXISTS 1
 _ACEOF
 
+        fi
     fi
-    fi
     if test "x$with_mp4v2" = "xyes" -a "x$have_mp4v2" = "xno"; then
         { { echo "$as_me:$LINENO: error: MP4/AAC support explicitly requested but libmp4v2 couldn't be found" >&5
 echo "$as_me: error: MP4/AAC support explicitly requested but libmp4v2 couldn't be found" >&2;}
@@ -10693,8 +11036,15 @@
 done
 
 
-ac_config_files="$ac_config_files Makefile src/Makefile po/Makefile.in scripts/Makefile data/Makefile data/icons/Makefile data/icons/32x32/Makefile data/icons/48x48/Makefile data/icons/64x64/Makefile"
+libgpod_version=`$PKG_CONFIG libgpod-1.0 --modversion`
 
+cat >>confdefs.h <<_ACEOF
+#define LIBGPOD_VERSION "${libgpod_version}"
+_ACEOF
+
+
+ac_config_files="$ac_config_files Makefile src/Makefile po/Makefile.in scripts/Makefile data/Makefile data/icons/Makefile data/icons/16x16/Makefile data/icons/22x22/Makefile data/icons/24x24/Makefile data/icons/32x32/Makefile data/icons/48x48/Makefile data/icons/64x64/Makefile data/icons/scalable/Makefile data/icons/hicolor/Makefile data/icons/hicolor/16x16/Makefile data/icons/hicolor/16x16/places/Makefile data/icons/hicolor/16x16/status/Makefile data/icons/hicolor/22x22/Makefile data/icons/hicolor/22x22/places/Makefile data/icons/hicolor/24x24/Makefile data/icons/hicolor/24x24/places/Makefile data/icons/hicolor/32x32/Makefile data/icons/hicolor/32x32/places/Makefile data/icons/hicolor/48x48/Makefile data/icons/hicolor/48x48/places/Makefile data/icons/hicolor/scalable/Makefile data/icons/hicolor/scalable/places/Makefile data/man/Makefile data/man/gtkpod.1 doc/Makefile doc/figures/Makefile"
+
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
 # tests run on this system so they can be shared between configure
@@ -11353,9 +11703,31 @@
     "scripts/Makefile") CONFIG_FILES="$CONFIG_FILES scripts/Makefile" ;;
     "data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;;
     "data/icons/Makefile") CONFIG_FILES="$CONFIG_FILES data/icons/Makefile" ;;
+    "data/icons/16x16/Makefile") CONFIG_FILES="$CONFIG_FILES data/icons/16x16/Makefile" ;;
+    "data/icons/22x22/Makefile") CONFIG_FILES="$CONFIG_FILES data/icons/22x22/Makefile" ;;
+    "data/icons/24x24/Makefile") CONFIG_FILES="$CONFIG_FILES data/icons/24x24/Makefile" ;;
     "data/icons/32x32/Makefile") CONFIG_FILES="$CONFIG_FILES data/icons/32x32/Makefile" ;;
     "data/icons/48x48/Makefile") CONFIG_FILES="$CONFIG_FILES data/icons/48x48/Makefile" ;;
     "data/icons/64x64/Makefile") CONFIG_FILES="$CONFIG_FILES data/icons/64x64/Makefile" ;;
+    "data/icons/scalable/Makefile") CONFIG_FILES="$CONFIG_FILES data/icons/scalable/Makefile" ;;
+    "data/icons/hicolor/Makefile") CONFIG_FILES="$CONFIG_FILES data/icons/hicolor/Makefile" ;;
+    "data/icons/hicolor/16x16/Makefile") CONFIG_FILES="$CONFIG_FILES data/icons/hicolor/16x16/Makefile" ;;
+    "data/icons/hicolor/16x16/places/Makefile") CONFIG_FILES="$CONFIG_FILES data/icons/hicolor/16x16/places/Makefile" ;;
+    "data/icons/hicolor/16x16/status/Makefile") CONFIG_FILES="$CONFIG_FILES data/icons/hicolor/16x16/status/Makefile" ;;
+    "data/icons/hicolor/22x22/Makefile") CONFIG_FILES="$CONFIG_FILES data/icons/hicolor/22x22/Makefile" ;;
+    "data/icons/hicolor/22x22/places/Makefile") CONFIG_FILES="$CONFIG_FILES data/icons/hicolor/22x22/places/Makefile" ;;
+    "data/icons/hicolor/24x24/Makefile") CONFIG_FILES="$CONFIG_FILES data/icons/hicolor/24x24/Makefile" ;;
+    "data/icons/hicolor/24x24/places/Makefile") CONFIG_FILES="$CONFIG_FILES data/icons/hicolor/24x24/places/Makefile" ;;
+    "data/icons/hicolor/32x32/Makefile") CONFIG_FILES="$CONFIG_FILES data/icons/hicolor/32x32/Makefile" ;;
+    "data/icons/hicolor/32x32/places/Makefile") CONFIG_FILES="$CONFIG_FILES data/icons/hicolor/32x32/places/Makefile" ;;
+    "data/icons/hicolor/48x48/Makefile") CONFIG_FILES="$CONFIG_FILES data/icons/hicolor/48x48/Makefile" ;;
+    "data/icons/hicolor/48x48/places/Makefile") CONFIG_FILES="$CONFIG_FILES data/icons/hicolor/48x48/places/Makefile" ;;
+    "data/icons/hicolor/scalable/Makefile") CONFIG_FILES="$CONFIG_FILES data/icons/hicolor/scalable/Makefile" ;;
+    "data/icons/hicolor/scalable/places/Makefile") CONFIG_FILES="$CONFIG_FILES data/icons/hicolor/scalable/places/Makefile" ;;
+    "data/man/Makefile") CONFIG_FILES="$CONFIG_FILES data/man/Makefile" ;;
+    "data/man/gtkpod.1") CONFIG_FILES="$CONFIG_FILES data/man/gtkpod.1" ;;
+    "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+    "doc/figures/Makefile") CONFIG_FILES="$CONFIG_FILES doc/figures/Makefile" ;;
     "po/stamp-it") CONFIG_COMMANDS="$CONFIG_COMMANDS po/stamp-it" ;;
 
   *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
@@ -11565,6 +11937,9 @@
 INTLTOOL_THEME_RULE!$INTLTOOL_THEME_RULE$ac_delim
 INTLTOOL_SERVICE_RULE!$INTLTOOL_SERVICE_RULE$ac_delim
 INTLTOOL_POLICY_RULE!$INTLTOOL_POLICY_RULE$ac_delim
+XGETTEXT!$XGETTEXT$ac_delim
+MSGMERGE!$MSGMERGE$ac_delim
+MSGFMT!$MSGFMT$ac_delim
 INTLTOOL_EXTRACT!$INTLTOOL_EXTRACT$ac_delim
 INTLTOOL_MERGE!$INTLTOOL_MERGE$ac_delim
 INTLTOOL_UPDATE!$INTLTOOL_UPDATE$ac_delim
@@ -11583,8 +11958,6 @@
 GTHREAD_LIBS!$GTHREAD_LIBS$ac_delim
 LIBGLADE_CFLAGS!$LIBGLADE_CFLAGS$ac_delim
 LIBGLADE_LIBS!$LIBGLADE_LIBS$ac_delim
-LIBGNOMECANVAS_CFLAGS!$LIBGNOMECANVAS_CFLAGS$ac_delim
-LIBGNOMECANVAS_LIBS!$LIBGNOMECANVAS_LIBS$ac_delim
 LIBGPOD_CFLAGS!$LIBGPOD_CFLAGS$ac_delim
 LIBGPOD_LIBS!$LIBGPOD_LIBS$ac_delim
 LEX!$LEX$ac_delim
@@ -11596,10 +11969,8 @@
 GREP!$GREP$ac_delim
 EGREP!$EGREP$ac_delim
 USE_NLS!$USE_NLS$ac_delim
-MSGFMT!$MSGFMT$ac_delim
 MSGFMT_OPTS!$MSGFMT_OPTS$ac_delim
 GMSGFMT!$GMSGFMT$ac_delim
-XGETTEXT!$XGETTEXT$ac_delim
 CATALOGS!$CATALOGS$ac_delim
 CATOBJEXT!$CATOBJEXT$ac_delim
 GMOFILES!$GMOFILES$ac_delim
@@ -11632,7 +12003,7 @@
 LTLIBOBJS!$LTLIBOBJS$ac_delim
 _ACEOF
 
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 73; then
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 72; then
     break
   elif $ac_last_try; then
     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
@@ -12033,21 +12404,22 @@
   fi
   rm -f "$tmp/out12"
 # Compute $ac_file's index in $config_headers.
+_am_arg=$ac_file
 _am_stamp_count=1
 for _am_header in $config_headers :; do
   case $_am_header in
-    $ac_file | $ac_file:* )
+    $_am_arg | $_am_arg:* )
       break ;;
     * )
       _am_stamp_count=`expr $_am_stamp_count + 1` ;;
   esac
 done
-echo "timestamp for $ac_file" >`$as_dirname -- $ac_file ||
-$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X$ac_file : 'X\(//\)[^/]' \| \
-	 X$ac_file : 'X\(//\)$' \| \
-	 X$ac_file : 'X\(/\)' \| . 2>/dev/null ||
-echo X$ac_file |
+echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
+$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$_am_arg" : 'X\(//\)[^/]' \| \
+	 X"$_am_arg" : 'X\(//\)$' \| \
+	 X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$_am_arg" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
 	    s//\1/
 	    q
@@ -12084,7 +12456,7 @@
   # each Makefile.in and add a new line on top of each file to say so.
   # Grep'ing the whole file is not good either: AIX grep has a line
   # limit of 2048, but all sed's we know have understand at least 4000.
-  if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
+  if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
     dirpart=`$as_dirname -- "$mf" ||
 $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 	 X"$mf" : 'X\(//\)[^/]' \| \
@@ -12280,8 +12652,9 @@
 
  Host System Type .....: $host
  Install path .........: $prefix
- GTK2 version .........: `pkg-config gtk+-2.0 --modversion`
- GLib2/GThread version : `pkg-config gthread-2.0 --modversion`
+ GTK2 version .........: `$PKG_CONFIG gtk+-2.0 --modversion`
+ GLib2/GThread version : `$PKG_CONFIG gthread-2.0 --modversion`
+ libgpod version ......: $libgpod_version
  gnome-vfs.............: $have_gnome_vfs
  hal...................: $have_hal
  libcurl ..............: $have_curl

Modified: gtkpod/trunk/configure.in
===================================================================
--- gtkpod/trunk/configure.in	2009-01-24 20:05:59 UTC (rev 362)
+++ gtkpod/trunk/configure.in	2009-01-24 20:55:00 UTC (rev 363)
@@ -4,7 +4,7 @@
 AC_PREREQ(2.55)
 
 AC_INIT(configure.in)
-AM_INIT_AUTOMAKE(gtkpod, 0.99.12)
+AM_INIT_AUTOMAKE(gtkpod, 0.99.14)
 AM_CONFIG_HEADER(config.h)
 AM_MAINTAINER_MODE
 AC_CANONICAL_HOST
@@ -40,24 +40,25 @@
 fi
 
 dnl check for required libs that are managed with pkg-config
-PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.6.0,, [AC_MSG_FAILURE([*** $GTK_PKG_ERRORS])])
-PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.4.0,, [AC_MSG_FAILURE([*** $GLIB_PKG_ERRORS])])
+PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.8.0,, [AC_MSG_FAILURE([*** $GTK_PKG_ERRORS])])
+PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.8.0,, [AC_MSG_FAILURE([*** $GLIB_PKG_ERRORS])])
 PKG_CHECK_MODULES(GMODULE, gmodule-2.0,, [AC_MSG_FAILURE([*** $GMODULE_PKG_ERRORS])])
 PKG_CHECK_MODULES(GTHREAD, gthread-2.0 >= 0.14.0,, [AC_MSG_FAILURE([*** $GTHREAD_PKG_ERRORS])])
 PKG_CHECK_MODULES(LIBGLADE, libglade-2.0 >= 2.4.0,, [AC_MSG_FAILURE([*** $LIBGLADE_PKG_ERRORS])])
-PKG_CHECK_MODULES(LIBGNOMECANVAS, libgnomecanvas-2.0 >= 2.14.0,, [AC_MSG_FAILURE([*** $LIBGNOMECANVAS_PKG_ERRORS])])
-PKG_CHECK_MODULES(LIBGPOD, libgpod-1.0 >= 0.6.0,, [AC_MSG_FAILURE([*** $LIBGPOD_PKG_ERRORS])])
+PKG_CHECK_MODULES(LIBGPOD, libgpod-1.0 >= 0.6.1,, [AC_MSG_FAILURE([*** $LIBGPOD_PKG_ERRORS])])
 
-CFLAGS="$CFLAGS $GTK_CFLAGS $GLIB_CFLAGS $GMODULE_CFLAGS $GTHREAD_CFLAGS $LIBGLADE_CFLAGS $LIBGNOMECANVAS_CFLAGS $LIBGPOD_CFLAGS"
-LIBS="$LIBS $GTK_LIBS $GLIB_LIBS $GMODULE_LIBS $GTHREAD_LIBS $LIBGLADE_LIBS $LIBGNOMECANVAS_LIBS $LIBGPOD_LIBS"
+CFLAGS="$CFLAGS $GTK_CFLAGS $GLIB_CFLAGS $GMODULE_CFLAGS $GTHREAD_CFLAGS $LIBGLADE_CFLAGS $LIBGPOD_CFLAGS"
+LIBS="$LIBS $GTK_LIBS $GLIB_LIBS $GMODULE_LIBS $GTHREAD_LIBS $LIBGLADE_LIBS $LIBGPOD_LIBS"
 
 dnl we need 'flex'
 AM_PROG_LEX
-if ! test "y$LEX" = "yflex"; then
-    if ! test "y$LEX" = "ylex"; then
+case "$LEX" in
+flex|*/flex|lex|*/lex)
+	;;
+*)
         AC_MSG_FAILURE([*** flex or lex required])
-    fi
-fi
+	;;
+esac
 
 dnl Retrieve the path of mount and umount binaries
 AC_PATH_PROG(MOUNT, mount)
@@ -66,14 +67,14 @@
 AC_SUBST(UMOUNT)
 
 dnl Add the languages which your application supports here.
-ALL_LINGUAS="de es fr he it ja ru ro sv"
+ALL_LINGUAS="de es fr he it ja ru ro sv zh_CN"
 AM_GLIB_GNU_GETTEXT
 
 dnl Check if we have to supply getopt_long
 dnl If getopt_long_only is not available, getopt.c and getopt1.c
 dnl (providing getopt_long*) will be included into the binary.
-AC_CHECK_FUNCS(getopt_long_only, , [AC_LIBOBJ(getopt)]) 
-AC_CHECK_FUNCS(getopt_long_only, , [AC_LIBOBJ(getopt1)]) 
+AC_CHECK_FUNCS(getopt_long_only, , [AC_LIBOBJ(getopt)])
+AC_CHECK_FUNCS(getopt_long_only, , [AC_LIBOBJ(getopt1)])
 
 dnl Check if flock() is available (seems to be missing on some solaris versions)
 AC_CHECK_FUNCS(flock)
@@ -124,7 +125,7 @@
     have_gnome_vfs="*no -- will build without iPod autodetection support"
 fi
 
-#dnl Check for HAL
+dnl Check for HAL
 AC_ARG_WITH(hal, AC_HELP_STRING([--without-hal],[Disable HAL support]))
 if test "x$with_hal" != "xno"; then
     PKG_CHECK_MODULES(HAL, hal >= 0.5 hal < 0.6, have_hal=yes, have_hal=no)
@@ -143,38 +144,71 @@
     have_hal="*no -- will build without HAL support"
 fi
 
-dnl Check for libmp4v2 (and mp4.h)
+dnl Check for libmp4v2 (and mp4.h or mp4v2/mp4v2.h)
 AC_ARG_WITH(mp4v2, AC_HELP_STRING([--without-mp4v2], [Disable MP4/AAC support]))
 if test "x$with_mp4v2" != "xno"; then
+    have_mp4v2_2_header=no
     AC_SEARCH_LIBS(MP4GetMetadataGrouping,
         ["mp4v2" "mp4v2 -lstdc++" "mp4v2 -lz" "mp4v2 -lz -lstdc++"],
         [AC_CHECK_HEADER(mp4.h, have_mp4v2=yes, have_mp4v2_header=no)], have_mp4v2=no)
     if test "x$have_mp4v2_header" = "xno"; then
+        AC_CHECK_HEADER(mp4v2/mp4v2.h, [have_mp4v2_2_header=yes; have_mp4v2_header=yes; have_mp4v2=yes], have_mp4v2_header=no)
+        if test "x$have_mp4v2_2_header" = "xyes"; then
+            AC_DEFINE(HAVE_LIBMP4V2_2, 1, [Define if you have the mp4v2 library version 2.0 or greater])
+        fi
+    fi
+    if test "x$have_mp4v2_header" = "xno"; then
         have_mp4v2="no"
-        AC_MSG_WARN([mp4.h cannot be found or is unusable. Check your mp4v2 installation.])
-    else 
-    AC_TRY_COMPILE( [#include <mp4.h> ],
-        [bool TestMP4GetMetadataFreeForm(MP4FileHandle hFile, const char *name,
-            u_int8_t** pValue, u_int32_t* valueSize, const char *owner)
-            {
-                MP4GetMetadataFreeForm(hFile, name,pValue, valueSize, owner);
-            } ], freeform_accepts_extra_arg=yes)
-    AC_TRY_COMPILE( [#include <mp4.h>],
-        [bool TestMP4GetMetadataCoverArt(MP4FileHandle hFile,
-            u_int8_t **coverArt, u_int32_t* size, uint32_t index)
-            {
-                MP4GetMetadataCoverArt(hFile, coverArt, size, index);
-            }], coverart_accepts_extra_arg=yes)
-
-    if test "x$freeform_accepts_extra_arg" = "xyes"; then
-        AC_DEFINE(FREEFORM_ACCEPTS_EXTRA_ARG, 1,[libmp4v2 probably version 1.6 or higher: 
-                  MP4GetMetadataFreeForm accepts extra argument])
+        AC_MSG_WARN([mp4.h and mp4v2/mp4v2.h cannot be found or is unusable. Check your mp4v2 installation.])
+    else
+dnl Check if MP4GetMetadataFreeForm() requires an extra argument
+        if test "x$have_mp4v2_2_header" = "xyes"; then
+            AC_TRY_COMPILE( [#include <mp4v2/mp4v2.h>],
+                [bool TestMP4GetMetadataFreeForm(MP4FileHandle hFile, const char *name,
+                    uint8_t** pValue, uint32_t* valueSize, const char *owner)
+                    {
+                        MP4GetMetadataFreeForm(hFile, name,pValue, valueSize, owner);
+                    } ], freeform_accepts_extra_arg=yes)
+        else
+            AC_TRY_COMPILE( [#include <mp4.h>],
+                [bool TestMP4GetMetadataFreeForm(MP4FileHandle hFile, const char *name,
+                    u_int8_t** pValue, u_int32_t* valueSize, const char *owner)
+                    {
+                        MP4GetMetadataFreeForm(hFile, name,pValue, valueSize, owner);
+                    } ], freeform_accepts_extra_arg=yes)
+        fi
+        if test "x$freeform_accepts_extra_arg" = "xyes"; then
+            AC_DEFINE(FREEFORM_ACCEPTS_EXTRA_ARG, 1, [MP4GetMetadataFreeForm
+                      accepts an extra argument in libmp4v2 >= 1.6])
+        fi
+dnl Check if MP4GetMetadataCoverArt() requires an extra argument
+        if test "x$have_mp4v2_2_header" = "xyes"; then
+            AC_TRY_COMPILE( [#include <mp4v2/mp4v2.h>],
+                [bool TestMP4GetMetadataCoverArt(MP4FileHandle hFile,
+                    uint8_t **coverArt, uint32_t* size, uint32_t index)
+                    {
+                        MP4GetMetadataCoverArt(hFile, coverArt, size, index);
+                    }], coverart_accepts_extra_arg=yes)
+        else
+            AC_TRY_COMPILE( [#include <mp4.h>],
+                [bool TestMP4GetMetadataCoverArt(MP4FileHandle hFile,
+                    u_int8_t **coverArt, u_int32_t* size, uint32_t index)
+                    {
+                        MP4GetMetadataCoverArt(hFile, coverArt, size, index);
+                    }], coverart_accepts_extra_arg=yes)
+        fi
+        if test "x$coverart_accepts_extra_arg" = "xyes"; then
+            AC_DEFINE(COVERART_ACCEPTS_EXTRA_ARG, 1, [MP4GetMetadataCoverArt
+                      accepts an extra argument in libmp4v2 >= 1.6])
+        fi
+dnl Check if MP4SetMetadataAlbumArtist() exists
+        AC_SEARCH_LIBS([MP4SetMetadataAlbumArtist], [-lmp4v2],
+        mp4_albumartist_exists=yes, mp4_albumartist_exists=no)
+        if test "x$mp4_albumartist_exists" = "xyes"; then
+            AC_DEFINE(MP4_ALBUMARTIST_EXISTS, 1, [MP4GetMetadataAlbumArtist
+                      requires libmp4v2 >= 1.6])
+        fi
     fi
-    if test "x$coverart_accepts_extra_arg" = "xyes"; then
-        AC_DEFINE(COVERART_ACCEPTS_EXTRA_ARG, 1,[libmp4v2 probably version 1.6 or higher: 
-                  MP4GetMetadataCoverArt accepts an extra argument] )
-    fi
-    fi
     if test "x$with_mp4v2" = "xyes" -a "x$have_mp4v2" = "xno"; then
         AC_MSG_ERROR([MP4/AAC support explicitly requested but libmp4v2 couldn't be found])
     fi
@@ -236,6 +270,9 @@
 dnl stuff only when compiling under Linux)
 AC_CHECK_HEADERS(linux/cdrom.h scsi/sg.h scsi/scsi.h scsi/scsi_ioctl.h)
 
+libgpod_version=`$PKG_CONFIG libgpod-1.0 --modversion`
+AC_DEFINE_UNQUOTED(LIBGPOD_VERSION, "${libgpod_version}", [Set this to the libgpod version])
+
 AC_OUTPUT([
 Makefile
 src/Makefile
@@ -243,9 +280,31 @@
 scripts/Makefile
 data/Makefile
 data/icons/Makefile
+data/icons/16x16/Makefile
+data/icons/22x22/Makefile
+data/icons/24x24/Makefile
 data/icons/32x32/Makefile
 data/icons/48x48/Makefile
 data/icons/64x64/Makefile
+data/icons/scalable/Makefile
+data/icons/hicolor/Makefile
+data/icons/hicolor/16x16/Makefile
+data/icons/hicolor/16x16/places/Makefile
+data/icons/hicolor/16x16/status/Makefile
+data/icons/hicolor/22x22/Makefile
+data/icons/hicolor/22x22/places/Makefile
+data/icons/hicolor/24x24/Makefile
+data/icons/hicolor/24x24/places/Makefile
+data/icons/hicolor/32x32/Makefile
+data/icons/hicolor/32x32/places/Makefile
+data/icons/hicolor/48x48/Makefile
+data/icons/hicolor/48x48/places/Makefile
+data/icons/hicolor/scalable/Makefile
+data/icons/hicolor/scalable/places/Makefile
+data/man/Makefile
+data/man/gtkpod.1
+doc/Makefile
+doc/figures/Makefile
 ])
 
 echo "
@@ -254,8 +313,9 @@
 
  Host System Type .....: $host
  Install path .........: $prefix
- GTK2 version .........: `pkg-config gtk+-2.0 --modversion`
- GLib2/GThread version : `pkg-config gthread-2.0 --modversion`
+ GTK2 version .........: `$PKG_CONFIG gtk+-2.0 --modversion`
+ GLib2/GThread version : `$PKG_CONFIG gthread-2.0 --modversion`
+ libgpod version ......: $libgpod_version
  gnome-vfs.............: $have_gnome_vfs
  hal...................: $have_hal
  libcurl ..............: $have_curl

Modified: gtkpod/trunk/data/Makefile.am
===================================================================
--- gtkpod/trunk/data/Makefile.am	2009-01-24 20:05:59 UTC (rev 362)
+++ gtkpod/trunk/data/Makefile.am	2009-01-24 20:55:00 UTC (rev 363)
@@ -1,4 +1,4 @@
-SUBDIRS = icons
+SUBDIRS = icons man
 
 desktopdir = $(datadir)/applications
 desktop_in_files = gtkpod.desktop.in
@@ -8,8 +8,6 @@
 appdatadir = $(pkgdatadir)/data
 appdata_DATA =				\
 	gtkpod.glade			\
-	cdshine.png			\
-	cdshine_main.png		\
 	default-cover.png		\
 	gtkpod-add-dirs.png		\
 	gtkpod-add-files.png		\
@@ -18,18 +16,10 @@
 	gtkpod-icon-32.png		\
 	gtkpod-icon-48.png		\
 	gtkpod-logo.png			\
-	gtkpod-new-playlist.png		\
 	gtkpod-read.png			\
 	gtkpod-read-16.png		\
-	gtkpod-sync.png     		\
-	gphoto_album_menuitem-32.png   \
-	gphoto_album_menuitem-48.png   \
-	gphoto_images_menuitem-32.png  \
-	gphoto_images_menuitem-48.png  \
-	gphoto_tools_menuitem-32.png   \
-	gphoto_tools_menuitem-48.png   \
-	gphoto_playlist_icon-48.png    \
-	tunes_playlist_icon-48.png
+	photo-toolbar-album.png \
+	photo-toolbar-photos.png
 
 EXTRA_DIST = 				\
 	$(desktop_in_files)		\

Modified: gtkpod/trunk/data/Makefile.in
===================================================================
--- gtkpod/trunk/data/Makefile.in	2009-01-24 20:05:59 UTC (rev 362)
+++ gtkpod/trunk/data/Makefile.in	2009-01-24 20:55:00 UTC (rev 363)
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -143,8 +143,6 @@
 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
 LIBGLADE_CFLAGS = @LIBGLADE_CFLAGS@
 LIBGLADE_LIBS = @LIBGLADE_LIBS@
-LIBGNOMECANVAS_CFLAGS = @LIBGNOMECANVAS_CFLAGS@
-LIBGNOMECANVAS_LIBS = @LIBGNOMECANVAS_LIBS@
 LIBGPOD_CFLAGS = @LIBGPOD_CFLAGS@
 LIBGPOD_LIBS = @LIBGPOD_LIBS@
 LIBOBJS = @LIBOBJS@
@@ -157,6 +155,7 @@
 MOUNT = @MOUNT@
 MSGFMT = @MSGFMT@
 MSGFMT_OPTS = @MSGFMT_OPTS@
+MSGMERGE = @MSGMERGE@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -226,15 +225,13 @@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-SUBDIRS = icons
+SUBDIRS = icons man
 desktopdir = $(datadir)/applications
 desktop_in_files = gtkpod.desktop.in
 desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
 appdatadir = $(pkgdatadir)/data
 appdata_DATA = \
 	gtkpod.glade			\
-	cdshine.png			\
-	cdshine_main.png		\
 	default-cover.png		\
 	gtkpod-add-dirs.png		\
 	gtkpod-add-files.png		\
@@ -243,18 +240,10 @@
 	gtkpod-icon-32.png		\
 	gtkpod-icon-48.png		\
 	gtkpod-logo.png			\
-	gtkpod-new-playlist.png		\
 	gtkpod-read.png			\
 	gtkpod-read-16.png		\
-	gtkpod-sync.png     		\
-	gphoto_album_menuitem-32.png   \
-	gphoto_album_menuitem-48.png   \
-	gphoto_images_menuitem-32.png  \
-	gphoto_images_menuitem-48.png  \
-	gphoto_tools_menuitem-32.png   \
-	gphoto_tools_menuitem-48.png   \
-	gphoto_playlist_icon-48.png    \
-	tunes_playlist_icon-48.png
+	photo-toolbar-album.png \
+	photo-toolbar-photos.png
 
 EXTRA_DIST = \
 	$(desktop_in_files)		\
@@ -406,8 +395,8 @@
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
+	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
@@ -432,8 +421,8 @@
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
 	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -443,13 +432,12 @@
 CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
 	tags=; \
-	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	test -z "$(CTAGS_ARGS)$$tags$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
 	     $$tags $$unique

Deleted: gtkpod/trunk/data/cdshine.png
===================================================================
(Binary files differ)

Deleted: gtkpod/trunk/data/cdshine_main.png
===================================================================
(Binary files differ)

Modified: gtkpod/trunk/data/default-cover.png
===================================================================
(Binary files differ)

Deleted: gtkpod/trunk/data/gphoto_album_menuitem-32.png
===================================================================
(Binary files differ)

Deleted: gtkpod/trunk/data/gphoto_album_menuitem-48.png
===================================================================
(Binary files differ)

Deleted: gtkpod/trunk/data/gphoto_images_menuitem-32.png
===================================================================
(Binary files differ)

Deleted: gtkpod/trunk/data/gphoto_images_menuitem-48.png
===================================================================
(Binary files differ)

Deleted: gtkpod/trunk/data/gphoto_playlist_icon-48.png
===================================================================
(Binary files differ)

Deleted: gtkpod/trunk/data/gphoto_tools_menuitem-32.png
===================================================================
(Binary files differ)

Deleted: gtkpod/trunk/data/gphoto_tools_menuitem-48.png
===================================================================
(Binary files differ)

Modified: gtkpod/trunk/data/gtkpod-icon-32-2.png
===================================================================
(Binary files differ)

Modified: gtkpod/trunk/data/gtkpod-icon-32.png
===================================================================
(Binary files differ)

Modified: gtkpod/trunk/data/gtkpod-icon-48.png
===================================================================
(Binary files differ)

Modified: gtkpod/trunk/data/gtkpod-logo.png
===================================================================
(Binary files differ)

Deleted: gtkpod/trunk/data/gtkpod-new-playlist.png
===================================================================
(Binary files differ)

Deleted: gtkpod/trunk/data/gtkpod-sync.png
===================================================================
(Binary files differ)

Modified: gtkpod/trunk/data/gtkpod.desktop.in
===================================================================
--- gtkpod/trunk/data/gtkpod.desktop.in	2009-01-24 20:05:59 UTC (rev 362)
+++ gtkpod/trunk/data/gtkpod.desktop.in	2009-01-24 20:55:00 UTC (rev 363)
@@ -1,8 +1,9 @@
 [Desktop Entry]
-_Name=GtkPod
+_Name=gtkpod iPod Manager
 _GenericName=iPod Manager
 _Comment=Manage music and video on an Apple iPod
 Exec=gtkpod
 Icon=gtkpod
+Terminal=false
 Type=Application
 Categories=GTK;AudioVideo;

Modified: gtkpod/trunk/data/gtkpod.glade
===================================================================
--- gtkpod/trunk/data/gtkpod.glade	2009-01-24 20:05:59 UTC (rev 362)
+++ gtkpod/trunk/data/gtkpod.glade	2009-01-24 20:55:00 UTC (rev 363)
@@ -1,20907 +1,13657 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
+<!--*- mode: xml -*-->
 <glade-interface>
-
-<widget class="GtkWindow" id="gtkpod">
-  <property name="title" translatable="yes">gtkpod</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="default_width">600</property>
-  <property name="default_height">500</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="icon">gtkpod-icon-48.png</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
-  <signal name="delete_event" handler="on_gtkpod_delete_event" last_modification_time="Sun, 24 Nov 2002 13:00:13 GMT"/>
-
-  <child>
-    <widget class="GtkVBox" id="vbox1">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">0</property>
-
-      <child>
-	<widget class="GtkMenuBar" id="menubar">
-	  <property name="visible">True</property>
-	  <property name="pack_direction">GTK_PACK_DIRECTION_LTR</property>
-	  <property name="child_pack_direction">GTK_PACK_DIRECTION_LTR</property>
-
-	  <child>
-	    <widget class="GtkMenuItem" id="menuitem10">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">_File</property>
-	      <property name="use_underline">True</property>
-
-	      <child>
-		<widget class="GtkMenu" id="menuitem10_menu">
-
-		  <child>
-		    <widget class="GtkImageMenuItem" id="load_ipods_mi">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Load iPod(s)</property>
-		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="on_load_ipods_mi" last_modification_time="Sat, 20 May 2006 14:21:46 GMT"/>
-
-		      <child internal-child="image">
-			<widget class="GtkImage" id="image3992">
-			  <property name="visible">True</property>
-			  <property name="pixbuf">gtkpod-read-16.png</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkImageMenuItem" id="save_changes_mi">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Save Changes</property>
-		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="on_save_changes_mi" last_modification_time="Sat, 20 May 2006 14:22:12 GMT"/>
-		      <accelerator key="s" modifiers="GDK_CONTROL_MASK" signal="activate"/>
-
-		      <child internal-child="image">
-			<widget class="GtkImage" id="image3993">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-save</property>
-			  <property name="icon_size">1</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkImageMenuItem" id="add_files1">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Add _Files</property>
-		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="create_add_files_callback" last_modification_time="Sun, 24 Jun 2007 14:43:18 GMT"/>
-
-		      <child internal-child="image">
-			<widget class="GtkImage" id="image3994">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-add</property>
-			  <property name="icon_size">1</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkImageMenuItem" id="add_directory1">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Add Fol_der</property>
-		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="dirbrowser_create_callback" last_modification_time="Sun, 24 Jun 2007 15:25:37 GMT"/>
-
-		      <child internal-child="image">
-			<widget class="GtkImage" id="image3995">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-add</property>
-			  <property name="icon_size">1</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkImageMenuItem" id="add_playlist1">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Add _Playlist</property>
-		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="create_add_playlists_callback" last_modification_time="Sun, 24 Jun 2007 15:42:46 GMT"/>
-
-		      <child internal-child="image">
-			<widget class="GtkImage" id="image3996">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-add</property>
-			  <property name="icon_size">1</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkSeparatorMenuItem" id="separator3">
-		      <property name="visible">True</property>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkImageMenuItem" id="update_menu">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Update Tracks from File</property>
-		      <property name="use_underline">True</property>
-
-		      <child internal-child="image">
-			<widget class="GtkImage" id="image3997">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-refresh</property>
-			  <property name="icon_size">1</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-
-		      <child>
-			<widget class="GtkMenu" id="update_menu_menu">
-
-			  <child>
-			    <widget class="GtkMenuItem" id="update_playlist_menu">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected _Playlist</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_update_playlist_activate" last_modification_time="Sun, 23 Mar 2003 09:00:04 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="update_tab_entry_menu">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected Tab _Entry</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_update_tab_entry_activate" last_modification_time="Sat, 15 Mar 2003 03:49:29 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="update_tracks_menu">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected _Tracks</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_update_tracks_activate" last_modification_time="Sun, 23 Mar 2003 09:00:04 GMT"/>
-			    </widget>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkImageMenuItem" id="mserv_from_file_menu">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Update _mserv Data from File</property>
-		      <property name="use_underline">True</property>
-
-		      <child internal-child="image">
-			<widget class="GtkImage" id="image3998">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-refresh</property>
-			  <property name="icon_size">1</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-
-		      <child>
-			<widget class="GtkMenu" id="mserv_from_file_menu_menu">
-
-			  <child>
-			    <widget class="GtkMenuItem" id="mserv_from_file_playlist_menu">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected _Playlist</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_mserv_from_file_playlist_menu_activate" last_modification_time="Sat, 02 Oct 2004 05:09:52 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="mserv_from_file_entry_menu">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected Tab _Entry</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_mserv_from_file_entry_menu_activate" last_modification_time="Sat, 02 Oct 2004 05:09:52 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="mserv_from_file_tracks_menu">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected _Tracks</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_mserv_from_file_tracks_menu_activate" last_modification_time="Sat, 02 Oct 2004 05:09:52 GMT"/>
-			    </widget>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkImageMenuItem" id="sync_menu">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Synchronize Playlist with Dir(s)</property>
-		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="on_sync_playlist_activate" last_modification_time="Mon, 15 May 2006 15:39:05 GMT"/>
-
-		      <child internal-child="image">
-			<widget class="GtkImage" id="image3999">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-refresh</property>
-			  <property name="icon_size">1</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkSeparatorMenuItem" id="separator6">
-		      <property name="visible">True</property>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkImageMenuItem" id="export_menu">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Export Tracks from Database</property>
-		      <property name="use_underline">True</property>
-
-		      <child internal-child="image">
-			<widget class="GtkImage" id="image4000">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-save-as</property>
-			  <property name="icon_size">1</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-
-		      <child>
-			<widget class="GtkMenu" id="export_menu_menu">
-
-			  <child>
-			    <widget class="GtkMenuItem" id="export_playlist">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected _Playlist</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_export_playlist_activate" last_modification_time="Sun, 23 Mar 2003 09:00:04 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="export_tab_entry_menu">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected Tab _Entry</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_export_tab_entry_activate" last_modification_time="Sun, 23 Mar 2003 09:00:04 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="export_tracks">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected _Tracks</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_export_tracks_activate" last_modification_time="Sun, 23 Mar 2003 09:00:04 GMT"/>
-			    </widget>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkImageMenuItem" id="create_playlist_file_menu">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Create _Playlist File</property>
-		      <property name="use_underline">True</property>
-
-		      <child internal-child="image">
-			<widget class="GtkImage" id="image4001">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-save-as</property>
-			  <property name="icon_size">1</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-
-		      <child>
-			<widget class="GtkMenu" id="create_playlist_file_menu_menu">
-
-			  <child>
-			    <widget class="GtkMenuItem" id="playlist_file_playlist">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected _Playlist</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_playlist_file_playlist_activate" last_modification_time="Sat, 21 Aug 2004 08:43:11 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="playlist_file_tab_entry">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected Tab _Entry</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_playlist_file_tab_entry_activate" last_modification_time="Sat, 21 Aug 2004 08:43:11 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="playlist_file_tracks">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected _Tracks</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_playlist_file_tracks_activate" last_modification_time="Sat, 21 Aug 2004 08:43:11 GMT"/>
-			    </widget>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkSeparatorMenuItem" id="trennlinie6">
-		      <property name="visible">True</property>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkImageMenuItem" id="ipod_directories">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Create iPod's Directories</property>
-		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="on_ipod_directories_menu" last_modification_time="Sat, 18 Jan 2003 02:10:39 GMT"/>
-
-		      <child internal-child="image">
-			<widget class="GtkImage" id="image4002">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-execute</property>
-			  <property name="icon_size">1</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkMenuItem" id="check_ipod_files_mi">
-		      <property name="visible">True</property>
-		      <property name="tooltip" translatable="yes">Find orphan files (files with no track info in DB) and dangling tracks (tracks with no corresponding files on iPod)</property>
-		      <property name="label" translatable="yes">_Check iPod's Files</property>
-		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="on_check_ipod_files_activate" last_modification_time="Sat, 24 Jan 2004 09:02:49 GMT"/>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkSeparatorMenuItem" id="trennlinie3">
-		      <property name="visible">True</property>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkImageMenuItem" id="quit1">
-		      <property name="visible">True</property>
-		      <property name="label">gtk-quit</property>
-		      <property name="use_stock">True</property>
-		      <signal name="activate" handler="on_quit1_activate" last_modification_time="Sat, 23 Nov 2002 03:06:04 GMT"/>
-		    </widget>
-		  </child>
-		</widget>
-	      </child>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkMenuItem" id="edit_menu">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">_Edit</property>
-	      <property name="use_underline">True</property>
-
-	      <child>
-		<widget class="GtkMenu" id="edit_menu_menu">
-
-		  <child>
-		    <widget class="GtkImageMenuItem" id="edit_details_menu">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Edit Track Details</property>
-		      <property name="use_underline">True</property>
-
-		      <child internal-child="image">
-			<widget class="GtkImage" id="image4003">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-edit</property>
-			  <property name="icon_size">1</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-
-		      <child>
-			<widget class="GtkMenu" id="edit_details_menu_menu">
-
-			  <child>
-			    <widget class="GtkMenuItem" id="edit_details_selected_playlist">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Tracks in Selected _Playlist</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_edit_details_selected_playlist" last_modification_time="Fri, 09 Dec 2005 15:42:30 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="edit_details_selected_tab_entry">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Tracks in Selected Tab _Entry</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_edit_details_selected_tab_entry" last_modification_time="Fri, 09 Dec 2005 15:42:30 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="edit_details_selected_tracks">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected _Tracks</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_edit_details_selected_tracks" last_modification_time="Fri, 09 Dec 2005 15:42:30 GMT"/>
-			    </widget>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkMenuItem" id="edit_smart_playlist">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Edit Smart Playlist</property>
-		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="on_edit_smart_playlist" last_modification_time="Sat, 10 Dec 2005 07:48:01 GMT"/>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkImageMenuItem" id="delete_menu">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Delete</property>
-		      <property name="use_underline">True</property>
-
-		      <child internal-child="image">
-			<widget class="GtkImage" id="image4004">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-delete</property>
-			  <property name="icon_size">1</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-
-		      <child>
-			<widget class="GtkMenu" id="delete_menu_menu">
-
-			  <child>
-			    <widget class="GtkMenuItem" id="delete_selected_playlist">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected playlist</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_delete_selected_playlist" last_modification_time="Sat, 10 Dec 2005 07:34:07 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="delete_selected_playlist_including_tracks_from_ipod">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected Playlist Including Tracks from iPod</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_delete_selected_playlist_including_tracks_from_ipod" last_modification_time="Sat, 10 Dec 2005 07:34:07 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="delete_selected_playlist_including_tracks_from_database">
-			      <property name="visible">True</property>
-                  <property name="label" translatable="yes">Selected Playlist Including Tracks from Database</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_delete_selected_playlist_including_tracks_from_database" last_modification_time="Sat, 10 Dec 2005 07:34:07 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="delete_selected_playlist_including_tracks_from_harddisk">
-			      <property name="visible">True</property>
-                  <property name="label" translatable="yes">Selected Playlist Including Tracks from Hard Disk</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_delete_selected_playlist_including_tracks_from_harddisk" last_modification_time="Sat, 10 Dec 2005 07:34:07 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkSeparatorMenuItem" id="delete_separator1">
-			      <property name="visible">True</property>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="delete_selected_entry_from_playlist">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected Filter Tab Entry from Playlist</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_delete_selected_entry_from_playlist" last_modification_time="Sat, 10 Dec 2005 07:34:07 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="delete_selected_entry_from_ipod">
-			      <property name="visible">True</property>
-                  <property name="label" translatable="yes">Selected Filter Tab Entry from iPod</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_delete_selected_entry_from_ipod" last_modification_time="Sat, 10 Dec 2005 07:34:07 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="delete_selected_entry_from_database">
-			      <property name="visible">True</property>
-                  <property name="label" translatable="yes">Selected Filter Tab Entry from Database</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_delete_selected_entry_from_database" last_modification_time="Sat, 10 Dec 2005 07:34:07 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="delete_selected_entry_from_harddisk">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected Filter Tab Entry from Hard Disk</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_delete_selected_entry_from_harddisk" last_modification_time="Sat, 10 Dec 2005 07:34:07 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkSeparatorMenuItem" id="delete_separator2">
-			      <property name="visible">True</property>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="delete_selected_tracks_from_playlist">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected Tracks from Playlist</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_delete_selected_tracks_from_playlist" last_modification_time="Sat, 10 Dec 2005 07:34:07 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="delete_selected_tracks_from_ipod">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected Tracks from iPod</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_delete_selected_tracks_from_ipod" last_modification_time="Sat, 10 Dec 2005 07:34:07 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="delete_selected_tracks_from_database">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected Tracks from Database</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_delete_selected_tracks_from_database" last_modification_time="Sat, 10 Dec 2005 07:34:07 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="delete_selected_tracks_from_harddisk">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected Tracks from Hard Disk</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_delete_selected_tracks_from_harddisk" last_modification_time="Sat, 10 Dec 2005 07:34:07 GMT"/>
-			    </widget>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkSeparatorMenuItem" id="separator7">
-		      <property name="visible">True</property>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkImageMenuItem" id="create_playlists_menu">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Create Playlists</property>
-		      <property name="use_underline">True</property>
-
-		      <child internal-child="image">
-			<widget class="GtkImage" id="image4005">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-new</property>
-			  <property name="icon_size">1</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-
-		      <child>
-			<widget class="GtkMenu" id="create_playlists_menu_menu">
-
-			  <child>
-			    <widget class="GtkMenuItem" id="new_playlist1">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Empty Playlist</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_new_playlist1_activate" last_modification_time="Sun, 03 Aug 2003 03:58:25 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="smart_playlist">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Smart Playlist</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_smart_playlist_activate" last_modification_time="Mon, 06 Dec 2004 14:36:42 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkSeparatorMenuItem" id="separator8">
-			      <property name="visible">True</property>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="random_playlist">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Random Playlist from Displayed Tracks</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_random_playlist_activate" last_modification_time="Fri, 19 Mar 2004 17:27:51 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="pl_containing_displayed_tracks">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Containing Displayed Tracks</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_pl_containing_displayed_tracks_activate" last_modification_time="Sun, 03 Aug 2003 04:03:36 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="pl_containing_selected_tracks">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Containing Selected Tracks</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_pl_containing_selected_tracks_activate" last_modification_time="Sun, 03 Aug 2003 04:03:36 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="pl_for_each_artist">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">One for each Artist</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_pl_for_each_artist_activate" last_modification_time="Sun, 03 Aug 2003 03:48:28 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="pl_for_each_album">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">One for each Album</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_pl_for_each_album_activate" last_modification_time="Sun, 03 Aug 2003 03:48:28 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="pl_for_each_genre">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">One for each Genre</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_pl_for_each_genre_activate" last_modification_time="Sun, 03 Aug 2003 03:48:28 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="pl_for_each_composer">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">One for each Composer</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_pl_for_each_composer_activate" last_modification_time="Sun, 03 Aug 2003 03:48:28 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="pl_for_each_year">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">One for each Year</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_pl_for_each_year_activate" last_modification_time="Thu, 11 Mar 2004 14:10:34 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="pl_for_each_rating">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">One for each Rating</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_pl_for_each_rating_activate" last_modification_time="Sun, 05 Dec 2004 12:52:43 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="most_rated_tracks">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Best Rated Tracks</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_most_rated_tracks_playlist_s1_activate" last_modification_time="Sun, 10 Aug 2003 14:21:51 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="most_listened_tracks">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Tracks Most Often Listened To</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_most_listened_tracks1_activate" last_modification_time="Sun, 10 Aug 2003 14:24:20 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="most_recent_played_tracks">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Most Recently Played Tracks</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_most_recent_played_tracks_activate" last_modification_time="Sun, 10 Aug 2003 14:24:57 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="played_since_last_time1">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">All Tracks Played Since Last Time</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_played_since_last_time1_activate" last_modification_time="Fri, 22 Aug 2003 12:24:50 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="all_tracks_never_listened_to1">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">All Tracks Never Listened To</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_all_tracks_never_listened_to1_activate" last_modification_time="Fri, 07 Nov 2003 15:51:06 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="all_tracks_not_listed_in_any_playlist1">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">All Tracks not Listed in any Playlist</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_all_tracks_not_listed_in_any_playlist1_activate" last_modification_time="Thu, 11 Mar 2004 14:09:28 GMT"/>
-			    </widget>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkSeparatorMenuItem" id="separator1">
-		      <property name="visible">True</property>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkImageMenuItem" id="sorting1">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Sorting</property>
-		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="on_sorting_activate" last_modification_time="Mon, 22 Sep 2003 08:00:42 GMT"/>
-
-		      <child internal-child="image">
-			<widget class="GtkImage" id="image4006">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-sort-ascending</property>
-			  <property name="icon_size">1</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkMenuItem" id="randomize_current_playlist_menu">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Randomize Current Playlist</property>
-		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="on_randomize_current_playlist_activate" last_modification_time="Fri, 19 Mar 2004 17:27:51 GMT"/>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkImageMenuItem" id="save_track_order_menu">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Save Displayed Track Order</property>
-		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="on_save_track_order1_activate" last_modification_time="Sat, 08 Mar 2003 13:45:01 GMT"/>
-		      <accelerator key="s" modifiers="GDK_CONTROL_MASK | GDK_SHIFT_MASK" signal="activate"/>
-
-		      <child internal-child="image">
-			<widget class="GtkImage" id="image4007">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-justify-fill</property>
-			  <property name="icon_size">1</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkSeparatorMenuItem" id="separator2">
-		      <property name="visible">True</property>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkImageMenuItem" id="edit_repository_options">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Edit Repository/iPod Options</property>
-		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="on_edit_repository_options_activate" last_modification_time="Sun, 21 May 2006 03:40:14 GMT"/>
-
-		      <child internal-child="image">
-			<widget class="GtkImage" id="image4008">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-preferences</property>
-			  <property name="icon_size">1</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkImageMenuItem" id="edit_preferences">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Edit _Preferences</property>
-		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="on_edit_preferences_activate" last_modification_time="Sun, 21 May 2006 03:41:05 GMT"/>
-		      <accelerator key="p" modifiers="GDK_CONTROL_MASK" signal="activate"/>
-
-		      <child internal-child="image">
-			<widget class="GtkImage" id="image4009">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-preferences</property>
-			  <property name="icon_size">1</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-		</widget>
-	      </child>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkMenuItem" id="item1">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">_View</property>
-	      <property name="use_underline">True</property>
-
-	      <child>
-		<widget class="GtkMenu" id="item1_menu">
-
-		  <child>
-		    <widget class="GtkCheckMenuItem" id="toolbar_menu">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Toolbar</property>
-		      <property name="use_underline">True</property>
-		      <property name="active">False</property>
-		      <signal name="activate" handler="on_toolbar_menu_activate" last_modification_time="Fri, 14 Mar 2003 10:58:38 GMT"/>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkCheckMenuItem" id="tooltips_menu">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Tooltips</property>
-		      <property name="use_underline">True</property>
-		      <property name="active">False</property>
-		      <signal name="activate" handler="on_tooltips_menu_activate" last_modification_time="Sat, 14 Jun 2003 16:48:32 GMT"/>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkCheckMenuItem" id="info_window_menu">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Info Window</property>
-		      <property name="use_underline">True</property>
-		      <property name="active">False</property>
-		      <signal name="activate" handler="on_info_window1_activate" last_modification_time="Sun, 23 Nov 2003 15:25:04 GMT"/>
-		      <accelerator key="i" modifiers="GDK_CONTROL_MASK" signal="activate"/>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkCheckMenuItem" id="conversion_log">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Conversion Log</property>
-		      <property name="use_underline">True</property>
-		      <property name="active">False</property>
-		      <signal name="activate" handler="on_conversion_log1_activate" last_modification_time="Sun, 22 Apr 2007 15:25:48 GMT"/>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkImageMenuItem" id="more_sort_tabs">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_More Sort Tabs</property>
-		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="on_more_sort_tabs_activate" last_modification_time="Fri, 14 Mar 2003 11:57:43 GMT"/>
-
-		      <child internal-child="image">
-			<widget class="GtkImage" id="image4010">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-add</property>
-			  <property name="icon_size">1</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkImageMenuItem" id="less_sort_tabs">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Less Sort Tabs</property>
-		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="on_less_sort_tabs_activate" last_modification_time="Fri, 14 Mar 2003 11:57:43 GMT"/>
-
-		      <child internal-child="image">
-			<widget class="GtkImage" id="image4011">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-remove</property>
-			  <property name="icon_size">1</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkMenuItem" id="arrange_sort_tabs">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Arrange Sort Tabs</property>
-		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="on_arrange_sort_tabs_activate" last_modification_time="Tue, 25 Mar 2003 13:59:28 GMT"/>
-		    </widget>
-		  </child>
-		</widget>
-	      </child>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkMenuItem" id="tools1">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">_Tools</property>
-	      <property name="use_underline">True</property>
-
-	      <child>
-		<widget class="GtkMenu" id="tools1_menu">
-
-		  <child>
-		    <widget class="GtkImageMenuItem" id="play_menu">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Play Now</property>
-		      <property name="use_underline">True</property>
-
-		      <child internal-child="image">
-			<widget class="GtkImage" id="image4012">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-cdrom</property>
-			  <property name="icon_size">1</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-
-		      <child>
-			<widget class="GtkMenu" id="play_menu_menu">
-
-			  <child>
-			    <widget class="GtkMenuItem" id="play_playlist_menu">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected _Playlist</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_play_playlist_activate" last_modification_time="Sun, 23 Mar 2003 09:00:04 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="play_tab_entry_menu">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected Tab _Entry</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_play_tab_entry_activate" last_modification_time="Sun, 23 Mar 2003 09:00:04 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="play_tracks_menu">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected _Tracks</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_play_tracks_activate" last_modification_time="Sun, 23 Mar 2003 09:00:04 GMT"/>
-			    </widget>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkImageMenuItem" id="enqueue_menu">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Enqueue</property>
-		      <property name="use_underline">True</property>
-
-		      <child internal-child="image">
-			<widget class="GtkImage" id="image4013">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-cdrom</property>
-			  <property name="icon_size">1</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-
-		      <child>
-			<widget class="GtkMenu" id="enqueue_menu_menu">
-
-			  <child>
-			    <widget class="GtkMenuItem" id="enqueue_playlist_menu">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected _Playlist</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_enqueue_playlist_activate" last_modification_time="Sun, 23 Mar 2003 09:00:04 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="enqueue_tab_entry_menu">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected Tab _Entry</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_enqueue_tab_entry_activate" last_modification_time="Sun, 23 Mar 2003 09:00:04 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="enqueue_tracks_menu">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected _Tracks</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_enqueue_tracks_activate" last_modification_time="Sun, 23 Mar 2003 09:00:04 GMT"/>
-			    </widget>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkSeparatorMenuItem" id="trennlinie4">
-		      <property name="visible">True</property>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkMenuItem" id="normalize_tracks1">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_Normalize Volume</property>
-		      <property name="use_underline">True</property>
-
-		      <child>
-			<widget class="GtkMenu" id="normalize_tracks1_menu">
-
-			  <child>
-			    <widget class="GtkMenuItem" id="normalize_selected_playlist">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected _Playlist</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_normalize_selected_playlist_activate" last_modification_time="Fri, 26 Sep 2003 16:01:19 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="normalize_selected_tab_entry">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected Tab _Entry</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_normalize_selected_tab_entry_activate" last_modification_time="Fri, 26 Sep 2003 16:01:19 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="normalize_selected_tracks">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Selected _Tracks</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_normalize_selected_tracks_activate" last_modification_time="Fri, 26 Sep 2003 16:01:19 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="normalize_displayed_tracks">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">_Displayed Tracks</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_normalize_displayed_tracks_activate" last_modification_time="Fri, 26 Sep 2003 16:01:19 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="normalize_all_tracks">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">_All Tracks</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_normalize_all_tracks" last_modification_time="Fri, 26 Sep 2003 16:01:19 GMT"/>
-			    </widget>
-			  </child>
-
-			  <child>
-			    <widget class="GtkMenuItem" id="normalize_newly_added_tracks">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">_Newly Added Tracks</property>
-			      <property name="use_underline">True</property>
-			      <signal name="activate" handler="on_normalize_newly_added_tracks" last_modification_time="Fri, 26 Sep 2003 16:01:19 GMT"/>
-			    </widget>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkSeparatorMenuItem" id="trennlinie5">
-		      <property name="visible">True</property>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkMenuItem" id="sync_all">
-		      <property name="visible">True</property>
-		      <property name="tooltip" translatable="yes">Synchronise Contacts, Calendar and Notes</property>
-		      <property name="label" translatable="yes">Synchronize All</property>
-		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="on_sync_all_activate" last_modification_time="Thu, 16 Dec 2004 00:15:04 GMT"/>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkMenuItem" id="sync_contacts">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Synchronize Contacts</property>
-		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="on_sync_contacts_activate" last_modification_time="Sun, 01 Feb 2004 10:51:37 GMT"/>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkMenuItem" id="sync_calendar">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Synchronize Calendar</property>
-		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="on_sync_calendar_activate" last_modification_time="Sun, 01 Feb 2004 10:51:37 GMT"/>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkMenuItem" id="sync_notes">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Synchronize Notes</property>
-		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="on_sync_notes_activate" last_modification_time="Thu, 16 Dec 2004 00:15:04 GMT"/>
-		    </widget>
-		  </child>
-		</widget>
-	      </child>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkMenuItem" id="menuitem13">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">_Help</property>
-	      <property name="use_underline">True</property>
-
-	      <child>
-		<widget class="GtkMenu" id="menuitem13_menu">
-
-		  <child>
-		    <widget class="GtkImageMenuItem" id="about1">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">_About gtkpod</property>
-		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="open_about_window" last_modification_time="Sun, 05 Jun 2005 13:09:31 GMT"/>
-
-		      <child internal-child="image">
-			<widget class="GtkImage" id="image4014">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-about</property>
-			  <property name="icon_size">1</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-		</widget>
-	      </child>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	</packing>
-      </child>
-
-      <child>
+  <widget class="GtkWindow" id="gtkpod">
+    <property name="title" translatable="yes">gtkpod iPod Manager</property>
+    <property name="default_width">600</property>
+    <property name="default_height">500</property>
+    <property name="icon">gtkpod-icon-48.png</property>
+    <signal name="delete_event" handler="on_gtkpod_delete_event"/>
+    <child>
+      <widget class="GtkVBox" id="vbox1">
+        <property name="visible">True</property>
+        <child>
+          <widget class="GtkMenuBar" id="menubar">
+            <property name="visible">True</property>
+            <child>
+              <widget class="GtkMenuItem" id="menuitem10">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">_Music</property>
+                <property name="use_underline">True</property>
+                <child>
+                  <widget class="GtkMenu" id="menuitem10_menu">
+                    <child>
+                      <widget class="GtkImageMenuItem" id="load_ipods_mi">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">_Load iPod(s)</property>
+                        <property name="use_underline">True</property>
+                        <signal name="activate" handler="on_load_ipods_mi"/>
+                        <child internal-child="image">
+                          <widget class="GtkImage" id="image3992">
+                            <property name="visible">True</property>
+                            <property name="pixbuf">gtkpod-read-16.png</property>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="save_changes_mi">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">_Save Changes</property>
+                        <property name="use_underline">True</property>
+                        <signal name="activate" handler="on_save_changes_mi"/>
+                        <accelerator key="s" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+                        <child internal-child="image">
+                          <widget class="GtkImage" id="image3993">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-save</property>
+                            <property name="icon_size">1</property>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="add_files1">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">Add _Files</property>
+                        <property name="use_underline">True</property>
+                        <signal name="activate" handler="create_add_files_callback"/>
+                        <child internal-child="image">
+                          <widget class="GtkImage" id="image3994">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-add</property>
+                            <property name="icon_size">1</property>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="add_directory1">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">Add Fol_der</property>
+                        <property name="use_underline">True</property>
+                        <signal name="activate" handler="dirbrowser_create_callback"/>
+                        <child internal-child="image">
+                          <widget class="GtkImage" id="image3995">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-add</property>
+                            <property name="icon_size">1</property>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="add_playlist1">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">Add _Playlist</property>
+                        <property name="use_underline">True</property>
+                        <signal name="activate" handler="create_add_playlists_callback"/>
+                        <child internal-child="image">
+                          <widget class="GtkImage" id="image3996">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-add</property>
+                            <property name="icon_size">1</property>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkSeparatorMenuItem" id="separator3">
+                        <property name="visible">True</property>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="update_menu">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">_Update Tracks from File</property>
+                        <property name="use_underline">True</property>
+                        <child>
+                          <widget class="GtkMenu" id="update_menu_menu">
+                            <child>
+                              <widget class="GtkMenuItem" id="update_playlist_menu">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Selected _Playlist</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_update_playlist_activate"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="update_tab_entry_menu">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Selected Tab _Entry</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_update_tab_entry_activate"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="update_tracks_menu">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Selected _Tracks</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_update_tracks_activate"/>
+                              </widget>
+                            </child>
+                          </widget>
+                        </child>
+                        <child internal-child="image">
+                          <widget class="GtkImage" id="image3997">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-refresh</property>
+                            <property name="icon_size">1</property>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="mserv_from_file_menu">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">Update _mserv Data from File</property>
+                        <property name="use_underline">True</property>
+                        <child>
+                          <widget class="GtkMenu" id="mserv_from_file_menu_menu">
+                            <child>
+                              <widget class="GtkMenuItem" id="mserv_from_file_playlist_menu">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Selected _Playlist</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_mserv_from_file_playlist_menu_activate"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="mserv_from_file_entry_menu">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Selected Tab _Entry</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_mserv_from_file_entry_menu_activate"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="mserv_from_file_tracks_menu">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Selected _Tracks</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_mserv_from_file_tracks_menu_activate"/>
+                              </widget>
+                            </child>
+                          </widget>
+                        </child>
+                        <child internal-child="image">
+                          <widget class="GtkImage" id="image3998">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-refresh</property>
+                            <property name="icon_size">1</property>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="sync_menu">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">_Synchronize Playlist with Dir(s)</property>
+                        <property name="use_underline">True</property>
+                        <signal name="activate" handler="on_sync_playlist_activate"/>
+                        <child internal-child="image">
+                          <widget class="GtkImage" id="image3999">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-refresh</property>
+                            <property name="icon_size">1</property>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkSeparatorMenuItem" id="separator6">
+                        <property name="visible">True</property>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="export_menu">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">_Export Tracks from Database</property>
+                        <property name="use_underline">True</property>
+                        <child>
+                          <widget class="GtkMenu" id="export_menu_menu">
+                            <child>
+                              <widget class="GtkMenuItem" id="export_playlist">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Selected _Playlist</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_export_playlist_activate"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="export_tab_entry_menu">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Selected Tab _Entry</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_export_tab_entry_activate"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="export_tracks">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Selected _Tracks</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_export_tracks_activate"/>
+                              </widget>
+                            </child>
+                          </widget>
+                        </child>
+                        <child internal-child="image">
+                          <widget class="GtkImage" id="image4000">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-save-as</property>
+                            <property name="icon_size">1</property>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="create_playlist_file_menu">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">Create _Playlist File</property>
+                        <property name="use_underline">True</property>
+                        <child>
+                          <widget class="GtkMenu" id="create_playlist_file_menu_menu">
+                            <child>
+                              <widget class="GtkMenuItem" id="playlist_file_playlist">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Selected _Playlist</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_playlist_file_playlist_activate"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="playlist_file_tab_entry">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Selected Tab _Entry</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_playlist_file_tab_entry_activate"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="playlist_file_tracks">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Selected _Tracks</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_playlist_file_tracks_activate"/>
+                              </widget>
+                            </child>
+                          </widget>
+                        </child>
+                        <child internal-child="image">
+                          <widget class="GtkImage" id="image4001">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-save-as</property>
+                            <property name="icon_size">1</property>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkSeparatorMenuItem" id="trennlinie6">
+                        <property name="visible">True</property>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="ipod_directories">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">_Create iPod's Directories</property>
+                        <property name="use_underline">True</property>
+                        <signal name="activate" handler="on_ipod_directories_menu"/>
+                        <child internal-child="image">
+                          <widget class="GtkImage" id="image4002">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-execute</property>
+                            <property name="icon_size">1</property>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkMenuItem" id="check_ipod_files_mi">
+                        <property name="visible">True</property>
+                        <property name="tooltip" translatable="yes">Find orphan files (files with no track info in DB) and dangling tracks (tracks with no corresponding files on iPod)</property>
+                        <property name="label" translatable="yes">_Check iPod's Files</property>
+                        <property name="use_underline">True</property>
+                        <signal name="activate" handler="on_check_ipod_files_activate"/>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkSeparatorMenuItem" id="trennlinie3">
+                        <property name="visible">True</property>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="quit1">
+                        <property name="visible">True</property>
+                        <property name="label">gtk-quit</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                        <signal name="activate" handler="on_quit1_activate"/>
+                      </widget>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkMenuItem" id="edit_menu">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">_Edit</property>
+                <property name="use_underline">True</property>
+                <child>
+                  <widget class="GtkMenu" id="edit_menu_menu">
+                    <child>
+                      <widget class="GtkImageMenuItem" id="edit_details_menu">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">Edit Track Details</property>
+                        <property name="use_underline">True</property>
+                        <child>
+                          <widget class="GtkMenu" id="edit_details_menu_menu">
+                            <child>
+                              <widget class="GtkMenuItem" id="edit_details_selected_playlist">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Tracks in Selected _Playlist</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_edit_details_selected_playlist"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="edit_details_selected_tab_entry">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Tracks in Selected Tab _Entry</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_edit_details_selected_tab_entry"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="edit_details_selected_tracks">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Selected _Tracks</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_edit_details_selected_tracks"/>
+                              </widget>
+                            </child>
+                          </widget>
+                        </child>
+                        <child internal-child="image">
+                          <widget class="GtkImage" id="image4003">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-edit</property>
+                            <property name="icon_size">1</property>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkMenuItem" id="edit_smart_playlist">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">Edit Smart Playlist</property>
+                        <property name="use_underline">True</property>
+                        <signal name="activate" handler="on_edit_smart_playlist"/>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="delete_menu">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">_Delete</property>
+                        <property name="use_underline">True</property>
+                        <child>
+                          <widget class="GtkMenu" id="delete_menu_menu">
+                            <child>
+                              <widget class="GtkMenuItem" id="delete_selected_playlist">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Selected playlist</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_delete_selected_playlist"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="delete_selected_playlist_including_tracks_from_ipod">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Selected Playlist Including Tracks from iPod</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_delete_selected_playlist_including_tracks_from_ipod"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="delete_selected_playlist_including_tracks_from_database">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Selected Playlist Including Tracks from Database</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_delete_selected_playlist_including_tracks_from_database"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="delete_selected_playlist_including_tracks_from_harddisk">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Selected Playlist Including Tracks from Hard Disk</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_delete_selected_playlist_including_tracks_from_harddisk"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkSeparatorMenuItem" id="delete_separator1">
+                                <property name="visible">True</property>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="delete_selected_entry_from_playlist">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Selected Filter Tab Entry from Playlist</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_delete_selected_entry_from_playlist"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="delete_selected_entry_from_ipod">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Selected Filter Tab Entry from iPod</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_delete_selected_entry_from_ipod"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="delete_selected_entry_from_database">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Selected Filter Tab Entry from Database</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_delete_selected_entry_from_database"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="delete_selected_entry_from_harddisk">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Selected Filter Tab Entry from Hard Disk</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_delete_selected_entry_from_harddisk"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkSeparatorMenuItem" id="delete_separator2">
+                                <property name="visible">True</property>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="delete_selected_tracks_from_playlist">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Selected Tracks from Playlist</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_delete_selected_tracks_from_playlist"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="delete_selected_tracks_from_ipod">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Selected Tracks from iPod</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_delete_selected_tracks_from_ipod"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="delete_selected_tracks_from_database">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Selected Tracks from Database</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_delete_selected_tracks_from_database"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="delete_selected_tracks_from_harddisk">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Selected Tracks from Hard Disk</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_delete_selected_tracks_from_harddisk"/>
+                              </widget>
+                            </child>
+                          </widget>
+                        </child>
+                        <child internal-child="image">
+                          <widget class="GtkImage" id="image4004">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-delete</property>
+                            <property name="icon_size">1</property>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkSeparatorMenuItem" id="separator7">
+                        <property name="visible">True</property>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="create_playlists_menu">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">_Create Playlists</property>
+                        <property name="use_underline">True</property>
+                        <child>
+                          <widget class="GtkMenu" id="create_playlists_menu_menu">
+                            <child>
+                              <widget class="GtkImageMenuItem" id="new_playlist1">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Empty Playlist</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_new_playlist1_activate"/>
+                                <child internal-child="image">
+                                  <widget class="GtkImage" id="menu-item-image34">
+                                    <property name="visible">True</property>
+                                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                    <property name="icon_size">1</property>
+                                    <property name="icon_name">playlist</property>
+                                  </widget>
+                                </child>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="smart_playlist">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Smart Playlist</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_smart_playlist_activate"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkSeparatorMenuItem" id="separator8">
+                                <property name="visible">True</property>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="random_playlist">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Random Playlist from Displayed Tracks</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_random_playlist_activate"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="pl_containing_displayed_tracks">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Containing Displayed Tracks</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_pl_containing_displayed_tracks_activate"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="pl_containing_selected_tracks">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Containing Selected Tracks</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_pl_containing_selected_tracks_activate"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkSeparatorMenuItem" id="menuitem2">
+                                <property name="visible">True</property>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="most_rated_tracks">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Best Rated Tracks</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_most_rated_tracks_playlist_s1_activate"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="most_listened_tracks">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Tracks Most Often Listened To</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_most_listened_tracks1_activate"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="most_recent_played_tracks">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Most Recently Played Tracks</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_most_recent_played_tracks_activate"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="played_since_last_time1">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">All Tracks Played Since Last Time</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_played_since_last_time1_activate"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="all_tracks_never_listened_to1">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">All Tracks Never Listened To</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_all_tracks_never_listened_to1_activate"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="all_tracks_not_listed_in_any_playlist1">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">All Tracks not Listed in any Playlist</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_all_tracks_not_listed_in_any_playlist1_activate"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkSeparatorMenuItem" id="menuitem3">
+                                <property name="visible">True</property>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="pl_for_each_artist">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">One for each Artist</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_pl_for_each_artist_activate"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="pl_for_each_album">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">One for each Album</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_pl_for_each_album_activate"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="pl_for_each_genre">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">One for each Genre</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_pl_for_each_genre_activate"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="pl_for_each_composer">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">One for each Composer</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_pl_for_each_composer_activate"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="pl_for_each_year">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">One for each Year</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_pl_for_each_year_activate"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkMenuItem" id="pl_for_each_rating">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">One for each Rating</property>
+                                <property name="use_underline">True</property>
+                                <signal name="activate" handler="on_pl_for_each_rating_activate"/>
+                              </widget>
+                            </child>
+                          </widget>
+                        </child>
+                        <child internal-child="image">
+                          <widget class="GtkImage" id="image4005">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-new</property>
+                            <property name="icon_size">1</property>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkSeparatorMenuItem" id="separator1">
+                        <property name="visible">True</property>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="sorting1">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">_Sorting</property>
+                        <property name="use_underline">True</property>
+                        <signal name="activate" handler="on_sorting_activate"/>
+                        <child internal-child="image">
+                          <widget class="GtkImage" id="image4006">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-sort-ascending</property>
+                            <property name="icon_size">1</property>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkMenuItem" id="randomize_current_playlist_menu">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">Randomize Current Playlist</property>
+                        <property name="use_underline">True</property>
+                        <signal name="activate" handler="on_randomize_current_playlist_activate"/>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="save_track_order_menu">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">_Save Displayed Track Order</property>
+                        <property name="use_underline">True</property>
+                        <signal name="activate" handler="on_save_track_order1_activate"/>
+                        <accelerator key="s" modifiers="GDK_SHIFT_MASK | GDK_CONTROL_MASK" signal="activate"/>
+                        <child internal-child="image">
+                          <widget class="GtkImage" id="image4007">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-justify-fill</property>
+                            <property name="icon_size">1</property>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkSeparatorMenuItem" id="separator2">
+                        <property name="visible">True</property>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="edit_repository_options">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">Repository/iPod Options</property>
+                        <property name="use_underline">True</property>
+                        <signal name="activate" handler="on_edit_repository_options_activate"/>
+                        <child internal-child="image">
+                          <widget class="GtkImage" id="image4008">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-preferences</property>
+                            <property name="icon_size">1</property>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="preferences_exp">
+                        <property name="visible">True</property>
+                        <property name="label">gtk-preferences</property>
+                        <property name="use_underline">True</property>
+                        <property name="use_stock">True</property>
+                        <signal name="activate" handler="open_prefs_dlg"/>
+                        <accelerator key="p" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+                      </widget>
+                    </child>
+                  </widget>
+                </c