====== libgpod 0.6.0 ======

2007-11-10  Christophe Fergeau <teuf@gnome.org>

	* Makefile.am: add README.SysInfo to EXTRADIST

2007-11-10  Christophe Fergeau <teuf@gnome.org>

	* NEWS: update for 0.6.0 release
	* README.SysInfo: explain how to get the firewire id from an iPod Touch

2007-11-10  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/db-artwork-parser.c (parse_mhba): fix double g_free on mhba
	  chunks with multiple mhods. Currently only mhods of type 1 are
	  handled, the rest (type 2: image transition style) are being
	  discarded.

	* src/itdb_device.c: added photo thumbnail definitions for iPod
	  Touch. I'm not sure how reasonable the "PHOTO_LARGE,
	  _FULL_SCREEN, _TV_SCREEN" classification is, however...

	* src/itdb_device.c: use the same photo thumbnail definitions for
	  the iPhone as well as the iPod Touch until further input is
	  received.

2007-11-09  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/db-parse-context.c (db_parse_context_get_m_header_internal):
	  fixed memory leak.

2007-11-08  Christophe Fergeau <teuf@gnome.org>

	* src/itdb_device.c: (itdb_device_requires_checksum): the iPod Touch
	needs a firewire id as well

2007-11-08  Christophe Fergeau  <teuf@gnome.org>

	* tools/hal-callout.c: (mount_ipod): use g_get_tmp_dir instead of
	hardcoding /tmp

2007-11-07  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* tools/hal-callout.c (mount_ipod): fix bug that prevented
	  creation of the SysInfoExtended file if it hadn't already
	  existed.
	  Add copyright header.

	* tools/ipod-scsi-inquiry.c: added project name to the copyright
	  header. 

2007-11-06  Christophe Fergeau  <teuf@gnome.org>

	* configure.ac: raise version number and soname in preparation for a
	0.6.0 release

2007-11-06  Christophe Fergeau  <teuf@gnome.org>

	* configure.ac:
	* tools/20-libgpod-sysinfo-extended.fdi:
	* tools/Makefile.am:
	* tools/hal-callout.c: 
	* tools/ipod-scsi-inquiry.c: 
	* tools/read-sysinfoextended-sgutils.c: add hal callout which
	automatically write SysinfoExtended to iPods when they are plugged
	if it's properly installed

2007-11-06  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* itdb_itunesdb.c (itdb_create_directories): Add support for
	  iPod Touch (wrong directories were created).

2007-11-04  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* itdb_itunesdb.c (itdb_create_directories): Add support for
	  iPhones (wrong directories were created). Thanks to Jesse
	  Bouwman for the patch.
	
	Added support for video output of photos for iPod Nano Videos and
	iPod Classics.

	* src/ithumb-writer.c
	  (pack_I420): added packer for iPod Nano Video and iPod Classic
	  TV output photo format.
	  (itdb_write_ithumb_files): make sure only valid thumbnail types
	  are written.

	* src/db-image-parser.h: added declaration for
	  itdb_thumb_type_is_valid_for_db() 

	* src/itdb_photoalbum.c (itdb_photodb_add_photo_internal): make
	  sure only photo thumbnails are added.

	* src/db-artwork-writer.c

	  (write_mhii): correctly skip unneeded thumbnails (thumbnails not
	  relevant for the current iPod type).

	  (should_write): renamed to itdb_thumb_type_is_valid_for_db()

	  src/itdb.h
	  src/itdb_artwork.c: minor formatting.

2007-10-30  Christophe Fergeau  <christophe@anevia.com>

	Additional clean-ups after the glib requirement bumping pointed out by
	tmz on IRC

	* libgpod-1.0.pc.in: bump glib requirement there as well
	* src/Makefile.am:
	* src/db-parse-context.c:
	* src/glib-compat.h:
	* src/itdb_artwork.c:
	* src/itdb_itunesdb.c:
	* src/itdb_photoalbum.c:
	* src/itdb_private.h:
	* src/ithumb-writer.c: get rid of glib-compat.h since we raised the
	  minimum version to 2.8

2007-10-30  Christophe Fergeau <teuf@gnome.org>

	Patch from Filippo Giunchedi <filippo@esaurito.net>

	* src/db-artwork-debug.c: (dump_mhni): another endianness fix

2007-10-29  Christophe Fergeau <teuf@gnome.org>

	* src/itdb_artwork.c:
	* src/ithumb-writer.c: replace // comments with /* */ pairs, fixes
	  compilation on my machine

2007-10-29  Christophe Fergeau <teuf@gnome.org>

	Patch from Filippo Giunchedi <filippo@esaurito.net>

	* src/itdb_artwork.c: add I420 unpacker
	* src/itdb_device.c: iPod classic full screen photo format is I420
	* src/itdb_device.h: add I420 format
	* src/ithumb-writer.c: add stub for an I420 packer

2007-10-29  Christophe Fergeau <teuf@gnome.org>

	* src/itdb_device.c: the iPod Touch probably uses the same image format
	  as the iPhone

2007-10-29  Christophe Fergeau <teuf@gnome.org>

	* configure.ac: raise glib requirement to 2.8 (because of
	  g_file_set_contents)

2007-10-29  Christophe Fergeau <teuf@gnome.org>

	* configure.ac: remove mremap check
	* src/db-artwork-writer.c: get rid mmap/mremap use

2007-10-29  Christophe Fergeau <teuf@gnome.org>

	* src/db-artwork-writer.c: reread the pointer for memory mapped
	  buffers when it may have changed
	    
	  Artwork writing works by mapping structs to memory and by
	  directly accessing/modifying it. This works until we need to
	  move the mmap base address. This patch makes sure we reset the
	  struct mapping every time the mmap base pointer may have changed

2007-10-27 Jorg Schuler <jcsjcs at users.sourceforge.net>

        * src/itdb_device.c (ipod_classic_1_artwork_info)
	  src/ithumb-writer.c (pack_RGB_888, pack_RGB_565, pack_RGB_555,
	                       pack_rec_RGB_555, ithumb_writer_write_thumbnail)
	  src/db-image-parser.h (_888 definitions)
	  src/itdb_device.h (RGB888 thumb format enum definitions)
	  src/itdb_artwork.c (unpack_RGB_888, unpack_experimental,
	                      itdb_thumb_get_rgb_data)

	  Partial support for photos on new iPod Nano 3G and iPod
	  Classics.

	  Photos should be displayed correctly on the iPod but the video
	  output will show garbage (couldn't try video output per se, but
	  from the data iTunes produces this is clear).

2007-10-24  Christophe Fergeau  <teuf@gnome.org>

	* src/db-artwork-writer.c: (write_mhif), (should_write),
	  (write_mhlf): don't hardcode the number of mhif entries we
	  write, but write as many entries as the number of thumbnail
	  formats supported by the device

2007-10-24  Christophe Fergeau  <teuf@gnome.org>

	* src/db-artwork-writer.c: (write_mhla): yet another missing endianness
	conversion

2007-10-24  Christophe Fergeau  <teuf@gnome.org>

	Patch from Filippo Giunchedi <filippo@esaurito.net>

	* src/db-artwork-parser.c: (parse_mhba): another missing endianness
	conversion

2007-10-21  Christophe Fergeau  <teuf@gnome.org>

	Patch from Filippo Giunchedi <filippo@esaurito.net>

	* src/db-artwork-debug.c: (dump_mhod_type_3): add missing byte-swap
	which resulted in over huge allocation

2007-10-21  Christophe Fergeau  <teuf@gnome.org>

	Patch from Filippo Giunchedi <filippo@esaurito.net>

	* src/db-artwork-debug.c: (dump_mhba): fix dumping function in debug
	mode
	* src/db-itunes-parser.h: indentation fixes

2007-10-21  Christophe Fergeau  <teuf@gnome.org>

	* src/itdb_photoalbum.c: (itdb_get_photos_dir):
	* src/ithumb-writer.c: (ipod_image_get_ithmb_filename):

2007-10-16  Todd Zullinger  <tmzullinger at users.sourceforge.net>

	* autogen.sh: add --enable-gtk-doc to the gnome-autogen.sh
	call. This allows make distcheck to work correctly and to use
	an unmodified copy of gnome-autogen.sh from the upstream
	gnome-common package.

2007-10-16  Christophe Fergeau  <teuf@gnome.org>

	* gnome-autogen.sh: switch to newer version of that file 
	(with automake 1.10 support)

2007-10-09  Christophe Fergeau <teuf@gnome.org>

	* src/itdb_device.c: (itdb_device_requires_checksum): add missing 
	(unreachable) return

2007-10-07  Christophe Fergeau  <teuf@gnome.org>

	* src/itdb_device.c: (itdb_device_requires_checksum):
	* src/itdb_itunesdb.c: (write_db_checksum):
	* src/itdb_private.h: add an itdb_device_requires_checksum function so 
	that we only error out because of checksum writing issues on ipods which 
	require a checksum. Ideally, we should restore the old file when there is
	a fatal checksum writing error, but libgpod isn't currently doing that

2007-10-05  Christophe Fergeau  <teuf@gnome.org>

	* src/itdb_sha1.c: (generate_key): move cryptic calculations 
	into the precomputed tables. Patch by Simon Schulz.

2007-10-05  Christophe Fergeau  <teuf@gnome.org>

	* src/itdb_device.c:
          Remove duplicate reference to ithmb file

          The iPod classic artwork formats contained two references to an 
	  ithmb file using 1060 as its filename. This confuses the ithumb 
	  writing code which can't handle that properly. Fixes that for now by
	  removing the entry. We could probably be more clever in 
	  itdb_write_ithumb_files and generate two lists of iThumbWriters,
	  one for artwork and another one for photos. This would fix that bug 
	  as well

2007-10-05  Christophe Fergeau  <teuf@gnome.org>

	* src/db-artwork-writer.c: (itdb_track_filter_thumbnails),
	(itdb_filter_thumbnails), (ipod_write_artwork_db):
	* src/itdb_track.c: (itdb_track_set_thumbnails_internal):
         Set thumbnails for all known cover types in itdb_track_set_thumbnails

         itdb_track_set_thumbnails can be called when the track isn't attached
	 to any device (eg it's natural to create a track, fill its metadata 
	 including the cover art, and then add it to an iTunesDB and its 
	 associated device). This means we can't know which artwork types the
	 iPod corresponding to the iTunesDB will be able to handle. i
	 Consequently, we create Itdb_Thumb objects for all known cover types,
	 and we filter that list when we don't have a choice (ie when we're 
	 about to write the ArtworkDB and the thumbnails)

2007-10-05  Christophe Fergeau  <teuf@gnome.org>

	* src/itdb_itunesdb.c: (itdb_write_file): set Itdb_Track::id
	before writing the artwork since artwork writing uses them

2007-10-01  Christophe Fergeau <teuf@gnome.org>

	* README.SysInfo: add explanations about how the iPod needs to be 
	set up so that libgpod can read the firewire id

2007-10-01  Christophe Fergeau <teuf@gnome.org>

	* src/itdb_itunesdb.c: get rid of unused headers

2007-09-26 Jorg Schuler <jcsjcs at users.sourceforge.net>

        * src/itdb_itunesdb.c (mk_mhit): write extended mhit header for
	  new iPod Nanos and Classics so they display artwork (Christophe)

	* src/db-artwork-writer (ipod_artwork_set_ids): modify the
	  assignment of IDs for artwork (Christophe)

	* src/itdb_device.c: added artwork definition file (cover only)
	  for iPod Nano Videos (3G). Thanks to Simon Schulz.

	* src/itdb_itunesdb.c: integrate checksum writing into the
	  creation of the iTunesDB instead of modifying the iTunesDB file
	  in place (Christophe)

	* src/itdb_device.c: re-use artwork definition for iPod classic
	  also for iPod Nanos 3G.

2007-09-30  Christophe Fergeau  <teuf@gnome.org>

	* src/itdb_itunesdb.c: (itdb_write_checksum): remove debugging g_print

2007-09-30  Christophe Fergeau  <teuf@gnome.org>

	* src/itdb_device.c: fix typo and don't mark iPod Classic as read-only

2007-09-28  Christophe Fergeau  <teuf@gnome.org>

	* tools/read-sysinfoextended-sgutils.c: (main): use g_build_filename
	instead of itdb_resolve_filename since the latter will fail if
	SysInfoExtended does not already exist

2007-09-27  Christophe Fergeau  <teuf@gnome.org>

	* configure.ac: build tool to generate the iPod SysInfoExtended file
	if sgutils is detected
	* Makefile.am:
	* tools/
	* tools/Makefile.am: changes to optionally build the sgutils-based tool
	* tools/read-sysinfoextended-sgutils.c: (do_sg_inquiry),
	(read_sysinfo_extended), (main): new file, reads the SysInfoExtended
	file from the iPod using SCSI queries

2007-09-27  Christophe Fergeau  <teuf@gnome.org>

	* src/itdb_itunesdb.c: (calculate_db_checksum),
	(itdb_write_checksum):
	* src/itdb_sha1.c: (itdb_compute_hash):
	* src/itdb_sha1.h: propagate the calculated checksum length as an out
	parameter to the checksumming functions, fixes a bug where a partial 
	checksum would be written if it contained a \0
	* tests/test-checksum.c: (calculate_db_checksum): update test program
	to that API change

2007-09-26 Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_device.c: remove "read only" notice on Nano Video
          description.

	* ChangeLog: explained better about SysInfo* files.

2007-09-24 Jorg Schuler <jcsjcs at users.sourceforge.net>

	** code courtesy of Christophe Fergeau **

	* src/itdb_itunesdb.c (mk_mhbd): write extended header needed
          for new iPod Nanos (3G Video) and iPod Classics (must fill
          in SysInfo or SysInfoFileExtended -- see below).

	  src/itdb_sysinfo.c
	  src/itdb_device.c
	  src/itdb_device.h: Code to parse SysInfoExtended and SysInfo
	  for the FireWireGUID. You must either copy the iPod
	  description XML file to Device/SysInfoExtended or add a line
	  'FirewireGuid: 000A27....' to Device/SysInfo. You can get
	  your FirewireGuid by looking at /proc/bus/usb/devices and
	  search for a serial number close to the "Apple" entry. The
	  serial number will probably start with 000A27.

	* src/sha1.c
	  src/sha1.h
	  src/itdb_sha1.c
	  src/itdb_sha1.h
	  New files for obscure hash generation code.

	* src/Makefile.am: added new files.

        * tests/test-checksum.c
	  tests/test-fw-id.c
	  tests/Makefile.am: test programs to retrieve the
	  FirewireGuid and calculate/write the obscure hash.

2007-09-15 Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_device.c:
	  Re-organized the representation of iPod models -- instead of 1st
	  to 7th generation more well-known names like "iPod Nano 1G",
	  "iPod Nano 2G"... are used.

	  Added untested support for iPod Classic Artwork. Not clear which
	  thumbnail type is used for what.

	  src/itdb_track.c (itdb_track_set_thumbnails_internal):
	  Please note: itdb_track_set_thumbnails() needs to be thought
	  over to make sure all thumbnail types are added properly. Please
	  see note in itdb_track.c for details.

	  src/itdb.h: Added symbols for the new representation indicated
	  above: ITDB_IPOD_GENERATION_*, ITDB_IPOD_MODEL_*

2007-09-08 Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/db-image-parser.c
	  src/itdb_device.c
	  src/ithumb-writer.c
	  src/db-image-parser.h
	  src/itdb_device.h
	  src/itdb.h
	  src/itdb_artwork.c
	  tests/test-covers.c: added support to read and write coverart on
	  iPhones. New cover formats are: MEDIUM, XLARGE, XSMALL, SMEDIUM
	  -- should be renamed if function becomes clearer.

	  Introduced New image formats for the thumbnails
	  (THUMB_FORMAT_RGB555, THUMB_FORMAT_REC_RGB555). Coding/decoding
	  functions are pack_/unpack_RGB_555() and
	  pack_/unpack_REC_RGB_555().

	  Introduced possible padding for thumbnail files
	  (Itdb_ArtworkFormat).

	  * src/db-artwork-parser.c: make output filename unique.

2007-09-04 Jorg Schuler <jcsjcs at users.sourceforge.net>

	* itdb_itunesdb.c (itdb_get_control_dir):
	  added support for iPhones

	* itdb.h: added ITDB_IPOD_MODEL_IPHONE_1 enum

	* itdb_device.c: added iPhone description
	
	TODO: define artwork definition in itdb_device.c -- currently
	artwork is not supported.

2007-08-18 Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/db-artwork-writer.c (write_mhod_type_3): don't assume that
	  length of a utf16 string is twice the length of a utf8 string
	  (even though this was safe here because the strings in question
	  were ASCII). Thanks to Javier Kohen for the patch.

	  (write_mhod_type_1), (write_mhod_type_3):
	  Don't pad by 4 bytes as this achieves nothing. Thanks to Javier
	  Kohen to point this out.

	* src/itdb_itunesdb.c: make calls to utf16_strlen()
	  unnecessary. Thanks to Javier Kohen for the patch.

	* src/itdb_itunesdb (itdb_parse): don't call
	  ipod_parse_artwork_db() if iTunesDB was not read successfully.

	* src/itdb_artwork.c (itdb_thumb_get_filename): check
          returnvalue of strchr(). Thanks to Javier Kohen.

2007-08-07  Nicholas Piper  <nicholas at users.sourceforge.net>

	* bindings/python/gpod.i.in: Return an integer for time_t (note,
	no to/from mac timestamp mapping required), accept an integer or
	datetime object for a time_t

	* bindings/python/ipod.py (Track.__getitem__): for the Python OO
	interface, map reading time_* attributes in Tracks to a datetime
	object

	* bindings/python/tests/tests.py (TestiPodFunctions.testDatestampSetting): 
	test reading/writing the Track timestamp attributes

2007-08-04  Todd Zullinger  <tmzullinger at users.sourceforge.net>

	* src/db-parse-context.h:
	  remove duplicate copyright header

2007-07-31  Todd Zullinger  <tmzullinger at users.sourceforge.net>

	* bindings/python
	  bindings/python/examples/coverart_fetch.py
	  bindings/python/examples/save_photos.py
	  bindings/python/gpod.i.in
	  bindings/python/ipod.py
	  bindings/python/tests
	  bindings/python/tests/resources/tiny.png
	  bindings/python/tests/tests.py
	  configure.ac
	  m4/python.m4
	  TROUBLESHOOTING:
	  merge changes from the bug-1723660 branch

	* bindings/python/ipod.py:
	  ignore reserved (and chapterdata) attributes which are
	  returned as gpointers
	  cleanup some trailing whitespace

2007-07-27  Todd Zullinger  <tmzullinger at users.sourceforge.net>

	* bindings/python/gpod.i.in:
	  s/top_srcdir/top_builddir to fix make distcheck

	* configure.ac
	  m4/python.m4:
	  don't make the python gtk module a hard requirement

	* TROUBLESHOOTING:
	  note additional requirements for full python photo/thumbnail
	  support

2007-07-13  Nicholas Piper  <nicholas at users.sourceforge.net>

	* bindings/python/ipod.py (Track.set_coverart_from_file): Rename
	set_thumbnail function to set_coverart_from_file

	* bindings/python/ipod.py Improve support for adding
	Photos. Thanks to John Carr.

	* bindings/python/examples/coverart_fetch.py: Adjust to
	demonstrate new gtk pixbuf based coverart API

2007-07-13  Todd Zullinger <tmzullinger at users.sourceforge.net>

	* bindings/python/examples/Makefile.am:
	  add save_photos.py to EXTRA_DIST

2007-07-12 Jorg Schuler <jcsjcs at users.sourceforge.net>

	* po/ro.po: nobody told me I forgot to actually add this file to
	  the repository...

2007-07-12  Nicholas Piper  <nicholas at users.sourceforge.net>

	* bindings/python/gpod.i.in: Add version and version_info
	attributes to the Python bindings

2007-07-11  Todd Zullinger <tmzullinger at users.sourceforge.net>

	* bindings/python/Makefile.am:
	  try to convert the xml docs into python docstrings even when
	  ENABLE_GTK_DOC isn't set so that tarball builds can get the
	  full documentation in python.

2007-07-07 Jorg Schuler <jcsjcs at users.sourceforge.net>

	* configure.ac
	  po/ro.po: added Romanian catalog. Thanks to Alex Eftimie.

2007-07-05  Todd Zullinger <tmzullinger at users.sourceforge.net>

	* configure.ac:
	  s/PACKAGE_/LIBGPOD_/ in configuration output

	* src/itdb.h:
	  remove references to Mac type timestamps

	* README
	  docs/reference/tmpl/itunesdb-db.sgml:
	  fix a few typos

2007-07-04  Todd Zullinger <tmzullinger at users.sourceforge.net>

	* po/fr.po:
	  updated French translation (thanks to Eric Lassauge)

2007-07-02  Todd Zullinger <tmzullinger at users.sourceforge.net>

	* TROUBLESHOOTING:
	  python bindings now use the mutagen module instead of eyeD3

2007-06-29 Jorg Schuler <jcsjcs at users.sourceforge.net>

        * po/libgpod.pot: added to SVN repository (new translators may be
	  looking for it -- like yesterday).

	* po/*.po: run 'make update-po'.

2007-06-29  Todd Zullinger <tmzullinger at users.sourceforge.net>

	* bindings/python/tests/Makefile.am:
	  include tests.py in EXTRA_DIST

2007-06-29 Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_artwork.c (itdb_thumb_free, itdb_thumb_duplicate): fix
	  compile time error when compiling without GDKPIXBUF. Alternative
	  fix: add '#include <glib-object.h>'. Thanks to Olivier Crête.

2007-06-28  Nicholas Piper  <nicholas at users.sourceforge.net>

	* bindings/python/ipod.py: Remove hard-coding of
	  Track/Artwork/Album attributes

2007-06-23  Todd Zullinger <tmzullinger at users.sourceforge.net>

	* configure.ac:
	  bump version to 0.5.3SVN for further development

	* configure.ac:
	  bump version for 0.5.2 release

2007-06-23 Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_itunesdb.c (mhod52_make_collate_keys): ignore empty
	  sort strings -- fixes multiple display of same album on the
	  iPod.

2007-06-18 Jorg Schuler <jcsjcs at users.sourceforge.net>

	* TROUBLESHOOTING: comment concerning namespace cleanup

2007-06-17  Todd Zullinger <tmzullinger at users.sourceforge.net>

	* configure.ac:
	  bump version and soname for 0.5.0 release

	* libgpod-1.0.pc.in:
	  add glib version and gobject-2.0 to 'Requires:'

2007-06-17  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_itunesdb.c
	  src/itdb.h: libgpod will not change the values for sort_artist.
	  Furthermore, libgpod reads the stored values of
	  sort_artist/_album... from the iTunesDB and makes them available
	  through the Itdb_Track structure. Applications should modify
	  these values along with the corresponding artist/album... fields
	  if a particular sort order is required.

	* src/itdb.h: corrected description for "BPM" (beats per minute)

2007-06-14  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* po/es.po: new version updated by Alejandro Lamas Daviña.

2007-06-11  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* po/ja.po
	  po/sv.po
	  po/it.po: Changed license to "same as gtkpod" to "same as
	  libgpod" after consulting with translators. Waiting for response
	  from the Hebrew and Spanish translators.

2007-06-02  Daniele Forsi <dforsi at users.sourceforge.net>

        * po/it.po: updated Italian translation

2007-05-27  Jorg Schuler <jcsjcs at users.sourceforge.net>

        * src/db-artwork-parser.c (parse_mhba): non-zero terminated
	  string was copied using g_strdup() instead of g_strndup(). This
	  affected album names of the Photo Database.

	  src/db-artwork-writer.c (write_mhod_type_1): convert 'type' as
	  16 bit integer, not 32 bit integer. Potential problem on
	  non-standard endian system (iPod side).

	  src/db-itunes-parser.h: '#if 0' unused structure to avoid
	  confusion.

	* src/itdb_photoalbum.c (itdb_photodb_parse): return a valid
	  photodb structure including the main Photo Library album if no
	  database existed, analogous to itdb_photodb_create(). Without
	  this the test-photos script won't work as expected and other
	  applications also would have to add extra checks for presence of
	  the main Photo Libarary.

2007-05-30  Todd Zullinger <tmzullinger at users.sourceforge.net>

        * bindings/python/tests/resources/iTunes/iTunesDB.ext
          docs/reference/libgpod-docs.xml
          docs/reference/tmpl/photodb.sgml
          m4/python.m4:
          change CVS references and links to SVN

2007-05-27  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/db-artwork-parser.c
	  src/db-artwork-writer.c
	  src/itdb_device.c
	  src/itdb_itunesdb.c
	  src/itdb_private.h:
	  Fixed segfault when parsing photo databases introduced by the
	  new handling of timestamps (all timestamps exported are
	  host-local time_t).
	  itdb_time_time_t_to_mac() and itdb_time_mac_to_time_t() were
	  renamed to device_*() and take a pointer to an Itdb_Device
	  instead of a pointer to an Itdb_iTunesDB structure as the latter
	  does not exist in case of photo databases. All references to
	  those two functions were changed accordingly and the functions
	  themselves were moved from itdb_itunesdb.c to itdb_device.c.

2007-05-23  Todd Zullinger <tmzullinger at users.sourceforge.net>

	* src/itdb_itunesdb.c (get_playlist): fix a potential crasher
	  (Raymond Walsh)

2007-05-19  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_itunesdb.c (playcounts_init): C&P error stat'ing the
	  wrong file. Thanks to Raymond Walsh.

	* src/itdb_device.c (itdb_set_sysinfo): Corrected comment. Thanks
	  to Daniele Forsi.

2007-05-17  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb.h: warning about adding string fields
	  src/itdb_track_duplicate: duplicate new string fields
	  (sort_*). Thanks to Raymond Walsh.

2007-05-10  Jorg Schuler <jcsjcs at users.sourceforge.net>

        * TROUBLESHOOTING: added a note about the 'padding[]'
	  incompatibility with older versions of gcc.

2007-05-12  Todd Zullinger <tmzullinger at users.sourceforge.net>

	* bindings/python/gpod.i.in: treat time_t as long

	* docs/reference/Makefile.am
	  docs/reference/libgpod-sections.txt
	  docs/reference/tmpl/device.sgml
	  docs/reference/tmpl/itunesdb-lowlevel.sgml
	  docs/reference/tmpl/itunesdb-time.sgml
	  docs/reference/tmpl/libgpod-unused.sgml
	  docs/reference/tmpl/smart-playlists.sgml
	  src/itdb_itunesdb.c
	  src/itdb.h:
	  Minor documentation cleanups.

2007-05-10  Jorg Schuler <jcsjcs at users.sourceforge.net>

        * src/itdb_itunesdb.c: remove non-sense check (itdb != NULL) when
	  itdb can never be NULL. Thanks to Raymond Walsh.

2007-05-07  Jorg Schuler <jcsjcs at users.sourceforge.net>

        * src/itdb_artwork.c
	  src/itdb_itunesdb.c
	  tests/test-photos.c:
	  Corrected some typos. Thanks to Daniele Forsi.

	* src/itdb_itunesdb.c:
	  Fix for 64 bit systems: don't show "last played" data as played
	  in the last century... Thanks to Christophe.

2007-05-06  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_itunesdb.c
	  src/itdb_device.c
	  src/itdb_private.h
	  src/itdb.h:
	  New API functions to facilitate copying to the iPod in a
	  background thread and implementation of own copying code.

	  itdb_cp_get_dest_filename(): obtain a valid filename on the iPod
	  to where a track can be copied. This function can be used in a
	  thread-safe way.

	  itdb_cp_finalize(): to be called after the track was
	  copied to the iPod to update some fields in the Itdb_Track
	  structure. This function can also be used in a thread-safe way.

	  You can use the already existing function itdb_cp() to copy a
	  track to the iPod and itdb_cp_track_to_ipod() remains available
	  unchanged in functionality.

2007-05-01  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_itunesdb.c (itdb_cp_track_to_ipod): removed static
	  variable "dir_num" which was initialized once and cycled through
	  for each track transfered. This doesn't seem right since
	  different iPods with different number of music directories may
	  be connected at the same time, and itdb_cp_track_to_ipod() may
	  be called for different iTunesDBs at the same in in a threaded
	  environment. Since there is no inherent value in cycling through
	  the directories, a random directory is selected each time.

2007-04-30  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_itunesdb (itdb_parse_internal): fixed compile warning
	  (thanks to Daniele Forsi).

	* tests/test-ls.c (display_recently_played): fixed compile warning
	  (thanks to Daniele Forsi).

	* tests/get-timezone.c: added to CVS (thanks to Daniele Forsi).

	* src/itdb_playlist.c (compMostOftenPlayed, compLeastOftenPlayed):
	  compaered time_added instead of playcount (thanks to Daniele
	  Forsi).

2007-04-28  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb.h: added padding to exported structures so new entries
	  can be added without loosing backward run-time compatibility.

	* docs/reference/tmpl/track.sgml
	  src/itdb.h
	  src/itdb_itunesdb.c
	  src/itdb_track.c: Added the following fields to Itdb_Track:

	  sort_artist
	  sort_title
	  sort_album
	  sort_albumartist
	  sort_composer
	  sort_tvshow

	  These fields can (theoretically) be used to force a certain sort
	  order on the iPod when displaying by artist, album...

	  Even though these fields are present in the iTunesDB, they are
	  discarded when reading the iTunesDB and applications must always
	  set them before writing the iTunesDB again. This is to avoid
	  that the fields 'artist' and 'sort_artist' accidentially get out
	  of sync.

	  libgpod will automatically create a sort_artist key for you if
	  artist is of the type 'The Artist' and sort_artist is not
	  set. The sort key used in that case is 'Artist, The' (followed
	  by five time 0x01), even though sort_artist itself will not be
	  touched.

2007-04-27  Jorg Schuler <jcsjcs at users.sourceforge.net>

 	* src/itdb.h
 	  src/itdb_itunesdb.c
 	  src/itdb_playlist.c
 	  src/itdb_private.h
	  bindings/python/gpod.i.in
	  bindings/python/gpod_doc.i.in
	  docs/reference/libgpod-sections.txt
	  docs/reference/tmpl/libgpod-unused.sgml
	  docs/reference/tmpl/smart-playlists.sgml:

	  Namespace cleanup. Applications supporting smart playlists will
	  have to be adapted. The following changes were implemented to
	  make sure all exported symbols start with ITDB or Itdb:
 
 	  structs:
 	      SPLPref -> Itdb_SPLPref
 	      SPLRules -> Itdb_SPLRules
 	      SPLRule -> Itdb_SPLRule
 	      SPL_* -> ITDB_SPL_*
 	  enums, #defines:
 	      LIMITTYPE_* -> ITDB_LIMITTYPE_*
 	      LIMITSORT_* -> ITDB_LIMITSORT_*
 	      SPLMATCH_* -> ITDB_SPLMATCH_*
 	      SPLACTION_* -> ITDB_SPLACTION_*
 	      SPLFIELD_* -> ITDB_SPLFIELD_*
 	      SPLDATE_IDENTIFIER -> ITDB_SPL_DATE_IDENTIFIER
 	      splft_* -> ITDB_SPLFT_*
 	      splat_* -> ITDB_SPLAT_*
 	      enum SPLAction -> ItdbSPLAction
 	      enum SPLActionType -> ItdbSPLActionType
 	      enum SPLField -> ItdbSPLField
 	      enum SPLFieldType -> ItdbSPLFieldType
 	      enum ItdbLimitType (new)
 	      enum ItdbLimitSort (new)
 	      enum ItdbSPLMatch (new)
 	      removed SPL_MAXSTRINGLENGTH (use ITDB_SPL_STRING_MAXLEN)


	* docs/reference/tmpl/device.sgml
	  docs/reference/tmpl/itunesdb-time.sgml
	  docs/reference/tmpl/libgpod-unused.sgml
	  docs/reference/tmpl/track.sgml
	  src/db-artwork-parser.c
	  src/db-artwork-writer.c
	  src/db-itunes-parser.h
	  src/itdb.h
	  src/itdb_device.c
	  src/itdb_device.h
	  src/itdb_itunesdb.c
	  src/itdb_private.h
	  tests/Makefile.am:

	  Christophe's patch for automatic correction of timestamps
	  depending on which timezone the iPod is set to.

	  ATTENTION DEVELOPERS: as a consequence all exported timestamps
	  are no longer guint32 mac-type timestamps but standard time_t
	  timestamps. This also includes the 64 bit timestamps in smart
	  playlists. The following functions are therefore no longer
	  needed and are deprecated:

	  itdb_time_mac_to_host(), itdb_time_host_to_mac(): simply return
	  the argument without changing it. Argument and return value are
	  now both of type 'time_t'.

	  itunesdb_time_get_mac_time(): returns the seconds passed since
	  Epoch in seconds and is equivalent to time(NULL).

	  These functions may be removed in a future version of
	  libgpod. Programs linking to libgpod may need to be changed
	  slightly if they made any assumptions on the type of timestamps
	  used. This should be obvious through compile-time warnings.

	  tests/test-ls.c: print a list of recently played tracks.


2007-04-15  Todd Zullinger <tmzullinger at users.sourceforge.net>

	* bindings/python/ipod.py: use the mac-style path for
	  filename_ipod in the extended info file, like gtkpod does

2007-04-14  Christophe Fergeau  <teuf@gnome.org>

	* src/itdb_device.c: add itdb_device_supports_artwork and
	idb_device_supports_photo functions
	* docs/reference/tmpl/device.sgml: update api doc
	* src/itdb_itunesdb.c: don't try to write artwork database if the iPod
	model doesn't support artwork.

2007-04-08  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb.h: changed 'gchar *chapterdata' to 'gpointer
	  chapterdata' with note that chapterdata is not yet supported.

	* src/itdb_track.c (itdb_track_duplicate): arrange the strings in
	  the same order as in Itdb_Track for easier error-checking.

2007-03-26  Nicholas Piper  <nicholas at users.sourceforge.net>

	* bindings/python/Makefile.am
	  bindings/python/tests/Makefile.am
	  bindings/python/tests/tests.py: Causes tests to run with the
	  libraries from the build tree rather than currently installed
	  version (Todd Zullinger)

2007-03-26  Nicholas Piper  <nicholas at users.sourceforge.net>

	* bindings/python/gpod.i.in: Add basic PhotoDB reading facility

2007-03-25  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_itunesdb.c: streamline MHOD52 patch (remove mk_mhod52()
	  and let mk_mhod() handle the sorting of mhod52 directly).

2007-03-23  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_itunesdb.c: Write out MHOD52 hunks after master
	  playlist. This speeds up the iPod interface when browsing titles
	  or albums etc. because the iPod won't have to sort through the
	  track list.

2007-03-22  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_itunesdb.c (write_playlist): corrected what is written
	  into the mhyp header according to the iTunesDB wiki (mhod count /
	  libmhod count)

2007-03-21  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_artwork.c (itdb_artwork_remove_thumbnail): memory used
	  by thumbnail to be removed will be freed now. ATTENTION: this
	  changes the previous API description that stated that the
	  thumbnail will not be freed. This behaviour was inconsistent
	  with all other _remove functions in libgpod and caused a memory
	  hole.

	* src/itdb_itunesdb.c (itdb_cp_track_to_ipod): cast filename
	  extension to lowercase because some people reported new iPod
	  models choking on filenames with uppercase extensions like
	  test.MP3. Not sure if it helps, though.

	* src/itdb.h
	  src/itdb_artwork.c
	  src/itdb_photoalbum.c
	  src/itdb_track.c
	  src/ithumb-writer.c:
	  Added new API functions: itdb_photodb_add_photo_from_pixbuf
	  function(), itdb_track_set_thumbnails_from_pixbuf() and
	  itdb_artwork_add_thumbnail_from_pixbuf(). Thanks to Christophe
	  Fergeau.

	* docs/reference/libgpod-sections.txt: added descriptions by
	  Christophe Fergeau.
	
2007-03-02  Todd Zullinger <tmzullinger at users.sourceforge.net>

	* bindings/Makefile.am: only descend into the python subdir if
	  HAVE_PYTHON is set, this avoids some problems with the
	  Makefiles created by automake 1.7

2007-02-27  Todd Zullinger <tmzullinger at users.sourceforge.net>

	* INSTALL_CVS
	  docs/reference/Makefile.am: build docs when creating
	  tarballs

	* docs/reference/libgpod-sections.txt: include missing and
	  newly added declarations, remove unused declarations

	* configure.ac
	  m4/python.m4: allow the use of nicer version strings in
	  AM_CHECK_PYMOD

2007-02-25  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb.h
	  src/itdb_itunesdb.c
	  src/itdb_playlist.c: introduced splft_binary_and as separate
	  field type as this will simplify handling in applications.

	* src/itdb_itunesdb.c (get_mhod, mk_mhod): replaced
          if()... with a switch()... to catch changes made to
          SPLFieldType more easily.

	* src/itdb.h: introduced Itdb_Mediatype enum.

2007-02-24  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/db-itunes-parser.h
	  src/artwork-writer.c: Set unknown2 of mhfd header to 2 instead
	  of 1, otherwise iTunes7 wipes the ArtworkDB.

	* src/itdb.h
	  src/itdb_itunesdb.c
	  src/itdb_playlist.c:
	  Updated smart playlist handling to recognize album artist, tv
	  show, last skipped, season number, skipcount and video kind
	  fields.

	* src/itdb_itunesdb.c (get_mhod): don't skip unknown action types
	  in smart rules to avoid writing illegal smart playlist rules
	  corrupting the iTunesDB in the process.
	
2007-02-09  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* ChangeLog
	  INSTALL_CVS
	  configure.ac
	  bindings/python/gtkpod.py
	  bindings/python/ipod.py
	  bindings/python/examples/add_song.py
	  bindings/python/examples/create_mp3_tags_from_itdb.py:

	  updates and fixes from Nicholas Piper.

2007-02-11  Nicholas Piper  <nick-gtkpod at nickpiper.co.uk>

	* bindings/python: Corrections to text encoding in the extended
	  database and switch to python-mutagen from python-eyeD3 Thanks
	  to Stalwart for his help clearing up handling broken filenames.

2007-02-09  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/ithumb-writer.c: reduced maximum size for ithmb files from
	  500 MB to 256 MB after reports of slow iPod interface behavior.

2007-01-18  Jorg Schuler <jcsjcs at users.sourceforge.net>

        * src/itdb.h
	  src/itdb_itunesdb.c (itdb_cp_track_to_ipod): changed declaration
	  of 'filename' from "gchar *" to "const gchar *".

2007-01-16  Jorg Schuler <jcsjcs at users.sourceforge.net>

        * po/fr.po: updated French catalog -- thanks to Éric Lassauge

2007-01-15  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* configure.ac: bumped version to 0.4.3-CVS for further development

	* configure.ac: bumped version to 0.4.2 for release

	* po/sv.po: updated Swedish catalog -- thanks to Stefan Asserhall

	* po/ja.po: updated Japanese catalog -- thanks to Kentaro Fukuchi

	* po/de.po: updated German catalog

	* .cvsignore
	  po/.cvsignore
	  tests/.cvsignore: updated with additional files to ignore.

	* bindings/.cvsignore:
	  bindings/python/.cvsignore
	  bindings/python/examples/.cvsignore
	  bindings/python/docs/.cvsignore
	  docs/.cvsignore
	  docs/reference/.cvsignore
	  m4/.cvsignore: created new ignore files

	* tests/test-photos.c: change "error" to "warning" in warning
	  message.

	* INSTALL_CVS:
	  TROUBLESHOOTING: short note about the python packages required to
	  build the python bindings.

	* Makefile.am: added TROUBLESHOOTING to EXTRA_DIST

2007-01-15  Todd Zullinger <tmzullinger at users.sourceforge.net>

	* Makefile.am
	  bindings/python/Makefile.am
	  bindings/python/__init__.py
	  bindings/python/gpod.i.in
	  bindings/python/gpod_doc.i.in
	  bindings/python/gtkdoc-to-swig.xsl
	  bindings/python/gtkpod.py
	  bindings/python/ipod.py: add builtin documentation to the python
	  bindings using the gtk-docs for all of the wrapped libgpod
	  functions (with much help from Nicolas Piper)

	* bindings/python/gtkpod.py: fix encoding issue in
	  write_pair() (Nicolas Piper)
	  handle gtkpod extended info files with either md5_hash or
	  sha1_hash fields (Nicolas Piper)

	* bindings/python/ipod.py: ensure the db object doesn't get
	  garbage collected at the wrong time (Nicolas Piper)

2007-01-14  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* tests/test-photos.c:
	  src/itdb_photoalbum.c: fixed two typos in message strings.

	* po/es.po: updated Spanish catalog -- thanks to Alejandro Lamas
	  Daviña

	* po/*.po: run 'make update-po'

	* src/itdb_itunesdb.c: added instructions on how to add new string
	  fields like 'tvepisode', 'tvshow' without forgetting half of the
	  places that need to be touched.

2007-01-13  Todd Zullinger <tmzullinger at users.sourceforge.net>

	* bindings/python/Makefile.am: don't include any swig built
	  files in the tarballs.
	  s/SWIG_SOURCES/SWIG_INTERFACES/ to avoid a warning from
	  automake about unused sources.

	* src/itdb_itunesdb.c: add a few more MHOD types that Jorg
	  suggested

        * src/itdb_track.c: add more tv show fixes from Mario Rossi.
	  add missing albumartist and keywords pointed out by Jorg.

2007-01-12  Todd Zullinger <tmzullinger at users.sourceforge.net>

	* src/itdb_itunesdb.c: TV shows patch from Mario Rossi

	* bindings/python/Makefile.am: fix more make distcheck issues

2007-01-11  Todd Zullinger <tmzullinger at users.sourceforge.net>

	* README
	  docs/reference/libgpod-docs.xml
	  docs/reference/libgpod-sections.txt
	  docs/reference/tmpl/artwork.sgml
	  docs/reference/tmpl/device.sgml
	  docs/reference/tmpl/itunesdb-db.sgml
	  docs/reference/tmpl/itunesdb-lowlevel.sgml
	  docs/reference/tmpl/photodb.sgml
	  docs/reference/tmpl/track.sgml
	  src/itdb.h
	  src/itdb_photoalbum.c: Add PhotoDB functions to the docs.
	  Incorporate usage overviews from README into the docs.
	  Fix a few doc comments to allow gtk-doc to parse them.

2007-01-10  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* bindings/python/Makefile.am: correct 'make dist' failure (patch
	  by Todd Zullinger)

	* docs/reference/libgpod-docs.xml
          docs/reference/libgpod-sections.txt
          docs/reference/tmpl/Internal.sgml
          docs/reference/tmpl/artwork.sgml
          docs/reference/tmpl/device.sgml
          docs/reference/tmpl/itunesdb-copying.sgml
          docs/reference/tmpl/itunesdb-db.sgml
          docs/reference/tmpl/itunesdb-lowlevel.sgml
          docs/reference/tmpl/itunesdb-time.sgml
          docs/reference/tmpl/playlists.sgml
          docs/reference/tmpl/smart-playlists.sgml
          docs/reference/tmpl/track.sgml
          src/itdb.h
          src/itdb_device.c
          src/itdb_itunesdb.c
          src/itdb_photoalbum.c: applied Todd Zullinger's patch fixing
	  warnings when building the documentation.

2007-01-09  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/pixmaps.c
	  src/pixmaps.h: New files containing last-resort pixmap in case
	  thumbnail/photo could not be added. Will not produce code
	  if the gdk-pixubf library is not present.

	* src/ithumb-writer.c: use above pixmap instead of red canvas.

	* src/Makefile.am: added pixmaps.[ch]

	* src/itdb.h
	  src/itdb_itunesdb.c: added tvshow, tvepisode, tvnetwork,
	  albumartist, keywords, reseved to Itdb_Track. 'reserved' can
	  later be used to support 'Artist, The'.

2007-01-08  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* README: updated information about photo support

	* po/fr.po: updated French catalog (thanks to Eric Lassauge)

	* src/itdb.h: added 2 pointers for future extension to
	  Itdb_Playlist (MHOD100).

2007-01-06  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* tests/Makefile.am: cleanup

	* src/itdb.h
	  src/itdb_itunesdb.c: renamed unk156 to skipcount and unk160 to
	  last_skipped.
	  Added unk244, gapless_data, unk252, gapless_track_flag,
	  gapless_album_flag, recent_skipcount.
	  Added handling of skipcount and last_skipped to playount file
	  handling.

	* src/itdb_private.h: added skipcount and last_skipped to struct
	  playcount.

2007-01-04  Todd Zullinger <tmzullinger at users.sourceforge.net>

	* configure.ac
	  gnome-autogen.sh
	  bindings/python/Makefile.am
	  docs/reference/libgpod-overrides.txt
	  docs/reference/Makefile.am: fix make distcheck, minor automake
	  cleanups.

	* bindings/python/gpod.i
	  bindings/python/gpod.i.in: rename gpod.i -> gpod.i.in.  it is now
	  generated by autoconf.

2006-11-26  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/ithumb-writer.c (ithumb_writer_write_thumbnail): handle
	  corrupted image data in a way that does not crash libgpod nor
	  causes the ArtworkDB or PhotoDB to be corrupted. Currently a
	  completely red pixmap is created as a substitute. Somewhat more
	  artistic than I am may want to create a "corrupted image data"
	  pixmap we can imbed into the code.

	* src/itdb_artwork.c (itdb_thumb_get_gdk_pixbuf): fix failed
	  assertion when image data is illegal.

2006-11-24  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb.h
	  src/itdb_photoalbum.c (itdb_photodb_add_photo,
	  itdb_photodb_add_photo_from_data,
	  itdb_photodb_photoalbum_add_photo): add 'position' where photo
	  should be inserted.

	* tests/test-photos.c: implemented new API (append at the end).

	* src/itdb.h
	  src/itdb_itunesdb.c: removed mhodcount and libmhodcount from
	  Itdb_Playlist as these are only used internally and reset during
	  syncing.

2006-11-23  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* When adding photos to the iPod the user may or may not want to
	  rotate the picture shown on the iPod screen, for example
	  deending on EXIF rotation value. This can now be achieved by
	  passing a new parameter 'rotation' to itdb_photodb_add_photo()
	  or itdb_photodb_add_photo_from_data(). (Valid values: 0, 90, 180,
	  270, rotation is counter-clockwise). These two functions now
	  also accept a GError pointer. As a consequence Itdb_Thumb had to
	  be extended with a field for the rotation value and
	  itdb_artwork_add_thumbnail have been extended to accept
	  @rotation and @error as well.

	  The actual rotation is carried out in
	  ithumb-writer.c/ithumb_writer_write_thumbnail() using
	  gdk_pixbuf_rotate_simple() and require gdk-pixbuf V2.6 or
	  higher.

	  In contrast, itdb_track_set_thumbnails() and
	  itdb_track_set_thumbnails_from_data have been left unchanged,
	  even though they could be extended to accept @rotation and
	  @error easily. Please let me know if this is wanted.

	* configure.ac
	  src/itdb.h
	  src/itdb_artwork.c
	  src/itdb_photoalbum.c
	  src/itdb_track.c
	  src/ithumb-writer.c: implemented changes outlined above.

	* tests/test-photos.c: added @rotation and @error to the
	  itdb_photodb_add_photo() call.

2006-11-12  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* ithumb-writer.c (itdb_write_ithumb_files):
	  ITDB_THUMB_PHOTO_TV_SCREEN type thumbnails were not "rearranged"
	  (i.e. deleted photos were not removed).

	  (ipod_image_get_ithmb_filename, ithmb_writer_write_thumbnail):
	  changed "F%u04_%d.ithmb" to "F%d_%d.ithmb" as this format string
	  is used by the iPod.

	  NEW: start new thumbnail file F%d_2/3/4... if the size of the
	  current thumbnail file is larger than ITHUMB_MAX_SIZE (currently
	  500 MB). Existing thumbnail files with a length larger than this
	  will NOT be truncated. Patches are welcome (probably add code at
	  the end of ithumb_rearrange_thumbnail_file()) :-) 

	* itdb_artwork.c: added support for UYVY format for iPod Video and
	  iPod Photo TV output. Code adapted from the GPixPod project.

	  (itdb_thumb_get_byteorder): return the byte order for the
	  current thumbnail (internal function).

	* itdb_device.[hc]: added thumbnail storage format to the
	  Itdb_ArtworkFormat image information. Currently the following
	  are defined:
	    THUMB_FORMAT_UYVY
	    THUMB_FORMAT_RGB565_LE
	    THUMB_FORMAT_RGB565_BE
	    THUMB_FORMAT_RGB565_BE_90
	    THUMB_FORMAT_RGB565_LE_90
	  THUMB_FORMAT_RGB565_LE_90 does not appear to be used by any iPod
	  model. THUMB_FORMAT_RGB565_BE_90 is used for full screen iPod
	  Photo photos but currently is handeled the same as
	  THUMB_FORMAT_RGB565_BE pending input from iPod Photo users.

	* ithumb-writer.c: added support for UYVY format for iPod Video and
	  iPod Photo TV output. Code adapted from the GPixPod project.

2006-11-11  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* itdb.h: Itdb_Artwork:
	  - added unk028, unk036 and rating
	  - added digitized_data timestamp
	  - changed creation_date from gint32 to guint32

	* db-itunes-parser.h:
	  db-artwork-debug.c: MhiiHeader:
	  - renamed unknown5 to rating
	  - renamed digitised_date to digitized_date for conformity

	* db-artwork-writer.c (write_mhli): sanity check to avoid access
	  of NULL pointer.
	  (write_mhii): write unk028, rating, unk036, digitized_data

	* db-artwork_parser.c (parse_mhii):
	  - parse unk028, rating, unk036, digitized data.
	  - unified reading of DB_TYPE_PHOTO and DB_TYPE_ITUNES, got rid
	    of parse_mhod() and parse_mhni().


	
2006-11-08  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* itdb.h:
	  itdb_itunesdb.c:
	  itdb_track.c:
	  renamed some formerly unknown Itdb_Track entries and added
	  comments:
	   - unk184->pregap
	   - samplecount: guint32 -> guint64.
	   - unk192->(removed)
	   - unk200->postgap
	   - unk208->mediatype
	   - unk212->season_nr
	   - unk216->episode_nr

2006-10-29  Jorg Schuler <jcsjcs at users.sourceforge.net>

        * src/itdb_photoalbum.c: fixed typo (Libarary -> Library).

	* configure.ac, src/Makefile.am: new soname versioning
	  scheme. Thanks to Todd Zullinger and Frank Lichtenheld.

2006-10-29  Jorg Schuler <jcsjcs at users.sourceforge.net>

	Major rework of picture support.
	
	* src/db-artwork-parser.c, src/db-artwork-writer.c, src/itdb.h,
	  src/db-itunes-parser.h: renamed 'master' to 'album_type' in
	  MhbaHeader and Itdb_PhotoAlbum.

	* src/db-artwork-parser.c, src/db-artwork-writer.c,
	  src/itdb_photoalbum.c: Itdb_Photoalbum->members are now pointers
	  to the corresponding Itdb_Artwork instead of image_ids.

	* src/itdb_photoalbum.c: album_ids and image_ids are set just
	  before writing the PhotoDB in itdb_photodb_write().

	* src/itdb_photoalbum.c: new interface, basically use as follows:

	  itdb_photodb_parse():
	    Read an existing PhotoDB.

          itdb_photodb_create():
            Create a new Itdb_PhotoDB structure. The Photo Library Album is
	    (first album) is created automatically.

          itdb_photodb_add_photo(), itdb_photodb_add_photo_from_data():
	    Add a photo to the PhotoDB (from file or from a chunk of
	    memory). It is automatically added to the Photo Library Album
	    (first album), which is created if it does not exist already.

	  itdb_photodb_photoalbum_craete():
	    Create and add a new photoalbum.

	  itdb_photodb_photoalbum_add_photo():
	    Add a photo (Itdb_Artwork) to an existing photoalbum.

	  itdb_photodb_photoalbum_remove():
	    Remove an existing photoalbum. Pictures can be kept in the
	    Photo Library or automatically removed as well.

	  itdb_photodb_remove_photo():
	    Remove a photo either from a photoalbum or completely from the
	    database.

	  itdb_photodb_write():
	    Write out your PhotoDB.

	  itdb_photodb_free():
	    Free all memory taken by the PhotoDB.

	  itdb_photodb_photoalbum_by_name():
	    Find the first photoalbum with a given name.

        * src/itdb_playlist.c (itdb_playlist_add, itdb_playlist_add_track):
	  src/itdb_track.c (itdb_track_add): simplify code by using
	  g_list_insert().

	* tests/test-photos.c: change to new interface, add new commands
	  'list' to list photo IDs in the database, 'remove' to remove IDs
	  from an album or the iPod, or remove entire photoalbums from the
	  iPod.

	* src/db-itunes-parser.h: added comments to _MhbaHeader definition.

	Added additional functionality for photo albums

	* src/db-artwork-parser.c
	  src/db-artwork-writer.c
	  src/db-itunes-parser.c:
	  src/itdb.h: added additional fields to MhbaHeader and
	  Itdb_PhotoAlbum (playmusic, repeat, random, show_titles,
	  transition_direction, slide duration, transition_duration,
	  unk024, unk028, unk044, unk048, song_id. These fields are read
	  and written from the PhotoDB now. Also corrected error for
	  "album type" which was read and written as int32 even though it
	  was a int8. Removed num_images from Itdb_PhotoAlbum -- instead
	  count images at time of writing.
	
2006-10-02  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* tests/Makefile.am
	  tests/test-init-ipod.c: fix compilation error when building with
	  --disable-gdk-pixbuf. Thanks to David Philippi and Christophe
	  Fergeau.

2006-09-26  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* po/sv.po: updated version by Stefan Asserhall

2006-09-24  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* po/es.po: updated version by Alejandro Lamas Daviña

	* configure.ac: bumped to 0.4.0 for release

	* configure.ac: bumped to 0.4.1 as new CVS version

2006-09-23  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb.h: explain 'checked' field in Itdb_Track declaration

	* src/itdb_playlist.c (itdb_spl_update): in SPLs with 'match
	  checked tracks only" set, all unchecked tracks were matched.

2006-09-21  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_itunesdb.c: time_added and time_modified where
	  interchanged.

	* src/itdb_device.c: changed number of directories for 6G 8GB iPod
	  Nano to 14 after user report.

	* src/ithumb-writer.c: removed re-using of thumbnail data in order
	  to avoid incompatibility with iTunes (even though our way was
	  more efficient...)
	
2006-09-18  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb.h
	  src/itdb_artwork.c: added itdb_artwork_add_thumbnail_from_data().

	* src/itdb.h
	  src/itdb_track.c: added itdb_track_set_thumbnails_from_data().

	* src/itdb.h
	  src/itdb_photoalbum.c: added itdb_photodb_add_photo_from_data().

	* src/itdb_artwork.c (itdb_thumb_get_gdk_pixbuf): added support to
	  retreive thumbnail from raw data instead of file.

	* src/ithumb-writer.c (ithumb_writer_write_thumbnail): added
	  support to write thumbnail from raw data instead of file.

2006-09-17  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb.h
	  src/itdb_device.c: added definitions for new sixth generation
	  iPod Videos, iPod Nanos and iPod Shuffle.

2006-08-21  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* tests/test-ls.c: added option to list contents of local
	  repository and specified playlist. Thanks to Richard Hyde for
	  the patch.

2006-08-18  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/db-artwork-writer.c (ipod_buffer_grow_file): printf(3) type
	  warnings caused compile error with FreeBSD 6.0-stable/GCC
	  3.4.4. Thanks to Mike Heffner for the patch.

2006-07-08  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_itunesdb.c (itdb_write): don't crash if error ==
          NULL (SF tracker bugs item #1519048)

2006-07-02  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_itunesdb.c (itdb_init_ipod): only write iTunesSD
	  (shuffle database) when initializing shuffle. Thanks to
	  James Joyce for the patch.

2006-06-28  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_itunesdb.c (wcontents_write): added g_strerror in error
	  messages.

2006-06-27  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_device.c: fixed endianness autodetection for big endian
	  mobile phones. Thanks to Rached Ben Mustapha for the patch.

2006-06-24  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_itunesdb.c
	  src/itdb.h:
	  Added itdb_get_itunessd_path ().
	  itdb_init_ipod() will no longer overwrite existing iTunesDB and
	  iTunesSD.

2006-06-10  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_device.c (itdb_device_get_ipod_info): compare more than
	  4 characters of iPod model if the stored model number is more
	  than 4 characters long.

2006-06-07  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb.h
	  src/itdb_device.c:
	  Added itdb_device_write_sysinfo() and itdb_device_set_sysinfo().

	* src/itdb_itunesdb.c (itdb_create_directories):
	  Use functions introduced above.

	  (itdb_write): Write SynsInfo file when writing the iTunesDB if
	  SysInfo hash has been changed by application.

	* src/itdb_device.[ch]: mark sysinfo hash as changed/unchanged.

	* src/itdb_photoalbum.c (itdb_photodb_write): Write SynsInfo file
	  when writing the iTunesDB if SysInfo hash has been changed by
	  application.


2006-06-05  Jorg Schuler <jcsjcs at users.sourceforge.net>

        * src/db-artwork-parser.h
	  src/db-artwork-parserc (ipod_supports_cover_art): made
	  available G_GNUC_INTERNAL.
	  Added ipod_supports_photos().

	* src/itdb_itunesdb.c (itdb_create_directories):
	  Create Photos directory.

	* src/itdb.h
	  src/itdb_device.c
	  Rename itdb_info_get_ipod_model_name() ->
	         itdb_info_get_ipod_model_name_string()
		 itdb_info_get_ipod_generation_name() ->
		 itdb_info_get_ipod_generation_string()

        * src/itdb_itunesdb.c (itdb_create_directories): add space after
	  ":" when writing SysInfo file, only write SysInfo file if
	  model_number was given, write original model number, not
	  abbreviated model number from info->model_number.

2006-06-04  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/db-image-parser.c
	  src/itdb_artwork.c
	  src/itdb_device.c
	  src/itdb_photoalbum.c
	  src/itdb_track.c
	  src/ithumb-writer.c: Phased out private
	  IPOD_COVER_SMALL... enum in favor of identical public enum
	  "ItdbThumbType" ITDB_THUMB_COVER_SMALL...

	* src/db-image-parser.c (ipod_image_new_from_mhni):
	  Accept all thumbnail types we know about (i.e. type != -1).

	* src/db-artwork-debug.h
	  src/db-artwork-parser.h
	  src/db-image-parser.h
	  src/db-parse-context.h
	  src/glib-compat.h
	  src/itdb_endianness.h: Added CVS "$Id:" line, added copyright
	  notices where missing, added explanations to itdb_endianess.h
	  ;-)

	* src/itdb_itunesdb.c
	  src/itdb_track.c
	  src/itdb_device.c
	  src/itdb_device.h
	  Made naming consistent and suitable for export:
	    Itdb_IpodModel -> Itdb_IpodInfo
	    ipod_model_table -> ipod_info_table
	    itdb_device_get_model_info() -> itdb_device_get_ipod_info()
	    MODEL_TYPE_... -> ITDB_IPOD_MODEL_...
	    nth_GENERATION -> ITDB_IPOD_GENERATION_nth

	  Exported Itdb_IpodModel, Itdb_IpodGeneration, Itdb_IpodInfo,
	  itdb_device_get_ipod_info().

	* src/itdb_device.c: new API:
	  itdb_info_get_ipod_info_table(),
	  itdb_info_get_ipod_model_name()

	* src/itdb.h
	  src/itdb_artwork.c:
	  Removed unused field ->type in Itdb_Artwork and corresponding
	  enum ItdbArtworkType.

2006-06-03  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_artwork.c (itdb_thumb_get_gdk_pixbuf): handle thumbnail
	  padding correctly -- who would have thought that iTunes
	  indicates _negative_ padding at times... Please use the
	  test-photos program to check out whether or not your photos show
	  up correctly without black bars or funny colors.

        * src/db-artwork-writer.c
	  src/db-image-parser.c
	  src/itdb.h
	  src/ithumb-writer.c: Hopefully do padding right:

	   - read padding fields from mhni header and store them with
	     each thumbnail 
	   - calculate padding for PhotoDB only (padding for iTunesDB
	     Artwork does not seem to be necessary)
	   - include the padding into the total width/height

	   It seems to work well on my iPod Nano -- feedback appreciated.

	* tests/test-photos.c: added possibility to dump all photos into
	  a directory:

	  tests/test-photos dump <mountpoint> <output_dir>

	* src/itdb_artwork.c: changed byte order for full screen iPod
	  Nanos. 

2006-06-01  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/db-artwork-writer.c (write_mhni): fix segfault caused by
	  wrong access of enum inside Itdb_DB

	* src/itdb.h:
	  src/itdb_private.h:
	  moved Itdb_DB to private part.

	* src/itdb.h:
	  src/itdb_private.h:
	  src/itdb_itunesdb:
	  New: db_get_itunesdb(), db_get_photodb()

	* src/db-artwork-parser.c
	  src/db-artwork-writer.c
	  src/db-image-parser.c
	  src/db-image-parser.h
	  src/db-parse-context.c
	  src/db-parse-context.h
	  src/itdb_endianness.h
	  src/itdb_itunesdb.c
	  src/ithumb-writer.c:
	  Remove all direct access to Itdb_DB->db. enum

2006-05-31  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* configure.ac:
	  m4/python: check for eyeD3 (Todd Zullinger)

2006-05-30  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_itunesdb.c (itdb_create_directories): applied
	  Christophe's cleanup-patch, 'normalized' indenting. Function
	  made 'static'.

	* src/itdb_itunesdb.c (itdb_init_ipod): fixed segfault.

	* m4/python: default configure option --with_python to 'yes'
	  (Nicholas Piper)

	***** merged photo-support branch back to MAIN. branch is tagged
	      photo-support-merged_00

2006-05-29  Jorg Schuler <jcsjcs at users.sourceforge.net>

        * tests/test-photos.c: removed unneeded #include.

	* configure.ac: print configuration summary -- thanks to Todd
	  Zullinger

	* itdb.h:
	  itdb_itunesdb.c:
	  added itdb_init_ipod() -- thanks to P.G. Richardson.

	* src/itdb_itunesdb.c (itdb_write_file): only write artwork if
	  supported by the iPod -- thanks to P.G. Richardson.

	* src/itdb_itunesdb.c:
	  src/itdb_photoalbum.c:
	  src/itdb_playlist.c:
	
	  fixed some comments so the doc subsystem won't complain.

	* tests/Makefile.am:
	  tests/test-init-ipod.c

	  added new test for itdb_init_ipod(). The test also demonstrates
	  how to 'autodetect' the iPod model number.

	* src/itdb_photoalbum.c:
	  src/ithumb-writer.c:
	  src/itdb_artwork.c:
	  src/itdb.h:
	  src/db-itunes-parser.h:
	  src/db-artwork-writer.c:
	  src/db-artwork-parser.c:
	  src/db-artwork-debug.c:

	  Patch by Michael McLellan:
	  
	  Doesn't automatically make the first photoalbum the
	  'master'. However, if a master already exists it will remain the
	  master.

	  Sets the creation date of a new image to the modification time
	  of the image file.

	  Centers new images.

	  Introduces itdb_photodb_remove_photo().

	
2006-05-29  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb.h:
	  src/itunesdb.c: (Itdb_Track)
	      flag2 -> skip_when_shuffling
	      flag3 -> remember_playback_position

	* src/itunesdb.c: playlist flags 1,2,3 were not read correctly.

2006-05-28  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/db-parse-context.c (db_parse_context_new_from_file):
	  Detect endianess if not already set.

	* src/itdb_device.c (itdb_device_autodetect_endianess): try
	  reading the first for bytes of iTunesDB, ArtworkDB or Photos
	  Database in order to reliably detect the endianess of the
	  connected iPod.

	* src/itdb_photoalbum.c: (itdb_photodb_parse): will fail again if
	  no photos dir is available.

	* tests/test-photos.c: takes into consideration the possibility
	  that an iPod does not have a Photos Database and creates a new
	  one in that case. (I think it's safer that way -- the
	  application is forced to 'think' about the fact that no database
	  is available and either warn the user or create one. If
	  itdb_photodb_parse() simply returns an empty database in case
	  none could be found, the application might not become aware of
	  the fact.)

	* renamed itdb_get_mountpoint_photo to
	  itdb_photodb_get_mountpoint.

	* tests/test-photos.c: added g_error_free()

	* src/itdb_device.c
	  src/itdb_device.h: added number of musicdirs (Fnn dirs) to the
	  model descriptions. The exact number seems to be version
	  dependent. Therefore, the numbers here represent a mixture of
	  reported values and common sense.

2006-05-27  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_photoalbum.c: itdb_photodb_parse() would fail if no
	  photos dir is available. Quick fix for now (I mean, why
	  SHOULDN'T it fail if no photos dir is available??).

2006-05-26  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb.h:
	  src/itdb_photoalbum.c:
	  src/itdb_artwork.c:
	  Added userdata/usertype fields to Itdb_PhotoDB, Itdb_PhotoAlbum,
	  Itdb_Artwork.

2006-05-25  Jorg Schuler <jcsjcs at users.sourceforge.net>

        * Slight cleanup, make PhotoDB API more consistent with iTunesDB
	  API:

	* src/db-artwork-parser.h: declared ipod_write_photo_db() as
	  G_GNUC_INTERNAL

	* src/db-artwork-writer.c (ipod_write_photo_db for non-gdk):
	  Itdb_iTunesDB -> Itdb_PhotoDB

	* src/itdb.h:
	  Itdb_ItunesDB: removed photoalbums and photos.
	  renamed:
	  	 itdb_parse_photo -> itdb_photodb_parse
		 itdb_add_photo_to_photoalbum -> itdb_photodb_add_photo
		 itdb_create_new_photoalbum -> itdb_photodb_photoalbum_new
		 itdb_free_photodb -> itdb_photodb_free
		 itdb_write_photo_db -> itdb_photodb_write
	  new:   itdb_photodb_new()

	* src/itdb_itunesdb.c (itdb_parse_photo, itdb_get_photos_dir,
	  itdb_get_photodb_path, itdb_get_photos_thumb_dir): moved to
	  itdb_photoalbum.c

	* src/itdb_photoalbum.c:
	  new:   error_no_photos_dir, itdb_photodb_new, itdb_photodb_write
	  moved: itdb_get_photos_dir, itdb_get_photodb_path,
	         itdb_get_photos_thumb_dir
	  rewrote: 
	         itdb_photodb_parse
	  (itdb_photodb_free): free device struct as well.

	* tests/test-photos.c: change to new API.

	* src/itdb.h: applied Christophe's patch to fix compile time
	  error.

	* po/sv.po: updated Swedish translation (thanks to Stefan
	  Asserhall)

2006-05-20  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* po/POTFILES.in: updated file list -> updated .po files.

2006-05-15  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/db-image-parser.c
	* src/itdb_photoalbum.c
	* src/ithumb-writer.c
	  Michael McLellan patch for photo support on iPod Videos

2006-05-11  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb.h
	* src/itdb_itunesdb.c
	* src/itdb_private.h
	* src/db-artwork-parser.c
	* src/db-artwork-parser.h
	* src/db-itunes-parser.h
	* src/db-artwork-writer.c
	* src/itdb_photoalbum.c
	  Make sure Photos and Photos/Thumbs directories are created. New:
	  itdb_get_photodb_path().


2006-05-06  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/db-artwork-parser.c:
	* src/db-itunes-parser.h:
	* src/db-artwork-writer.c:
	* src/itdb_photoalbum.c:
	* src/itdb.h:
	* src/itdb_private.h:
	* tests/test-photos.c:
	  Applied Mikey's second patch for photo support. test-photos now
	  comes with support for photo albums!

2006-05-07  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* Created new branch "photo-support" for testing of photo
	  support. Comes complete with a test program to add photos to
	  your iPod. Works great for me -- thanks to Mikey!

	  --- 2006-05-30: merged back to MAIN.

2006-05-06  Jorg Schuler <jcsjcs at users.sourceforge.net>

        * Applied Mikey's patch for photo support.

	* src/itdb_photoalbum.c: new.

	* tests/test-photo.c: test program to add photos to your iPod.

	* Created branch for this patch: 'photo-support'.

2006-05-05  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_itunesdb.c: avoid segfault if album field of podcasts
	  is not set (NULL).

2006-05-02  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_itunesdb.c: smart playlists: avoid assertion
	  when writing rules with empty strings.

2006-04-26  Jorg Schuler <jcsjcs at users.sourceforge.net>

        * tests/Makefile.am: removed 'test-rebuild-db' from
	  'noinst_PROGRAM' declaration (bug reported by Jens
	  Taprogge). 'test-rebuild-db' is only added when the taglib is
	  detected.

2006-04-12  Christophe Fergeau  <teuf@gnome.org>

	* tests/test-rebuild-db.cc: forgot to propagate a GError

2006-04-10  Christophe Fergeau  <teuf@gnome.org>

	* tests/test-ls.c: new test program reading and displaying the iPod 
	content 
	* tests/test-rebuild-db.cc: new test program which looks for mp3 files
	on the iPod in the Music dir and rebuild an iPod database from that
	(it uses taglib to parse the tags, so it's conditionnally built
	depending on taglib's availability)
	* configure.ac:
	* tests/Makefile.am: build system changes to accomodate the 2 new test
	programs
	
2006-04-10  Christophe Fergeau  <teuf@gnome.org>

	* src/itdb_device.h: removed dead code
	* src/itdb_playlist.c: make spl_update2 static, kill spl_update

2006-04-10  Christophe Fergeau  <teuf@gnome.org>

	* docs/Makefile.am:
	* docs/reference/Makefile.am:
	* docs/reference/libgpod-docs.xml:
	* docs/reference/libgpod-sections.txt:
	* docs/reference/tmpl/Internal.sgml:
	* docs/reference/tmpl/artwork.sgml:
	* docs/reference/tmpl/device.sgml:
	* docs/reference/tmpl/itunesdb-copying.sgml:
	* docs/reference/tmpl/itunesdb-db.sgml:
	* docs/reference/tmpl/itunesdb-lowlevel.sgml:
	* docs/reference/tmpl/itunesdb-time.sgml:
	* docs/reference/tmpl/libgpod-unused.sgml:
	* docs/reference/tmpl/playlists.sgml:
	* docs/reference/tmpl/smart-playlists.sgml:
	* docs/reference/tmpl/track.sgml:
	* docs/reference/version.xml.in: all the files below are new files
	needed for gtk-doc support
	* Makefile.am:
	* configure.ac: add gtk-doc support to build system
	* src/itdb_artwork.c:
	* src/itdb_device.c:
	* src/itdb_itunesdb.c:
	* src/itdb_playlist.c:
	* src/itdb_track.c: update inline comments in those files so that
	gtk-doc can pick them up to build documentation
	
2006-04-08  Christophe Fergeau  <teuf@gnome.org>

	* configure.ac: generate Makefile for bindings/python/examples

2006-04-03  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* itdb.h: flag1 -> has_artwork

	* itdb_track.c: (itdb_track_set_thumbnails,
	  itdb_remove_thumbnails) set has_artwork flag correctly.

2006-04-01  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* itdb.h: unk178 -> mark_unplayed

	* itdb_itunesdb.c: reset the mark_unplayed flag when playcount is
	  detected.

2006-03-31  Jorg Schuler <jcsjcs at users.sourceforge.net>

        * po/es.po: replaced with version from Alejandro Lamas who
	  maintains the gtkpod translation as well.

2006-03-29  Jorg Schuler <jcsjcs at users.sourceforge.net>

        * itunesdb.c: set filetype identifier when transfering track to
	  the iPod.

2006-03-24  Jorg Schuler <jcsjcs at users.sourceforge.net>

	Alpha version of reversed-endian Artwork writing. Status: iTunesDB
	can be written and is accepted on mobile phones, ArtworkDB can be
	read and be written as well, but newly added artwork will not yet
	display.

	* itdb.h: adjusted a couple of field lengths (4 byte -> 2 byte or
	  even 1 byte) to address endian issues.

2006-03-18  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* itdb_itunesdb.c (mk_mhod): fixed bug when writing podcast urls.

	* itdb_itunesdb.c (itdb_write_file): move endianess autodetection
	  to a place before calling ipod_write_artwork_db().

2006-03-17  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* itdb_device.[ch]: rewrote ipod-device.c, removed all hal-code,
	  removed all code irrelevant to writing the iTunesDB and
	  ArtworkDB.

	* autodetect iControl directory now also works for ArtworkDB.

	* db-artwork-parser.c (ipod_db_get_artwork_db_path): create
	  Artwork directory if not already present.

	* itdb.h: Itdb_iTunesDB: moved mountpoint and musicdirs into
	  private Itdb_Device. Use itdb_set_mountpoint() and
	  itdb_get_mountpoint() to access the mountpoint.

	* simplified some code by using itdb_get_path() instead of
	  itdb_resolve_path().

	* itdb_itunesdb.c (itdb_get_path): fixed bug.

2006-03-12  Jorg Schuler <jcsjcs at users.sourceforge.net>

        * itdb.h, itdb_itunesdb.c: added functions for autodetection of
	  iControl directory (currently either <mp>/iPod_Control or
	  <mp>/iTunes/iTunes_Control): itdb_get_control_dir() and
	  itdb_get_itunes_dir()

2006-02-12  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* itdb.h: added movie_flag and lyrics_flag to Itdb_Track

	* itdb.h, itdb_itunesdb.c, itdb_private.h: added support for
	  mobile phone reversed-endian iTunesDB. Please note that you have
	  to rename the folder iTunes_Control to iPod_Control manually. to
	  write reversed-endian files, itdb->reversed must be set to
	  TRUE. When reading an iTunesDB the endianess is detected
	  automatically and itdb->reversed set appropriately.  Only the
	  inversed iTunesDBs, 'Play Counts', and OTG playlist files are
	  read yet. The ArtworkDB and thumbnail files cannot be parsed
	  yet.

2006-02-04  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* ipod-device.c: added entries for iPod Nano 1 GB black and white
	  (thanks to Leonhard Gruenschlos)

2006-02-04  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* configure.ac: enable/disable switches for gdk and hal. Thanks to
	  Olivier Crête

2006-02-04  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* configure.ac: bumped version to 0.3.3 for new CVS version.

	* RELEASED libgpod 0.3.2

	* configure.ac: bumped version to 0.3.2 for release.

	* db-artwork-writer.c: increased IPOD_MMAP_SIZE from 2 to 16 MB as
	  a temporary workaround until a propoer solution can be
	  implemented.

	* db-itunes-parser.h: replaced the #pragma pack(4) with an
	  'packed' attribute on _MhiiHeader only.

2006-02-28  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* ipod-device.c: (ipod_device_set_property): fixed possible
	  segfault when hald is present.

2006-02-24  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* configure.ac, po/es.po: added Spanish translation catalog
	  (thanks to Azael Avalos)

2006-02-19  Jorg Schuler <jcsjcs at users.sourceforge.net>

        * libgpod-1.0.pc: added gobject-2.0 to 'Requires:' list

	* src/db-itunes-parser.h: add '#pragma pack(4)' to fix 64bit issue
	  with padding (at least as a temporary fix).

	* src/ipod-device.c: added HP type color photo ipod 'S492'. Thanks
	  to David Desrosiers.
	
2006-02-14  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* po/ja.po: updated Japanese catalog -- thanks to Kentaro Fukuchi

	* src/ipod-device.c: (ipod_device_set_property): fixed bug that
	  caused ipod-detection to fail if hal daemon was not running. As
	  a consequence cover art was not written to the iPod.

2006-02-04  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_itunesdb.c: (itunesstats_read) Fixed error when reading
	  the Shuffle's stat file (0x18 was used as minimal record length
	  instead of decimal '18').

2006-02-03  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_itunesdb.c, src/itdb_playlist.c, src/ithumb-writer.c:
	  removed nested-functions. Thanks to Brian Jackson for the patch
	  (he was not the only to send patches -- please, nobody feel
	  offended that I didn't act sooner).

2006-01-03  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/ipod-device.c: (ipod_device_set_property) check hal_context
	  before accessing it to avoid segfault when hald is not running.

	  (ipod_device_hal_initialize) fixed memory leak: 'error' was not
	  freed if libhal_ctx_init() failed.

	  (ipod_device_get_model_index_from_table): fix warning about
	  unused computed value (thanks to Martin Aumueller)
	
2005-12-18  Jorg Schuler <jcsjcs at users.sourceforge.net>

        * src/ipod-device.c: don't ignore return value of
	  fread/fwrite/ftell because of possible compiler warnings.

2005-12-11  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_artwork.c: (itdb_thumb_get_gdk_pixbuf) allow to get
	  pixbuf even if no iPod is present if the thumbnail points to a
	  local filename. This way artwork support is also possible on the
	  'Local' repository in gtkpod (or any other application).

	* README: added quick HOWTO use libgpod

	* bumped version to 0.3.0 for release.

	* bumped version to 0.3.1 for CVS version.

2005-12-10  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/ithumb-writer.c: fixed typo leading to segfault.

2005-12-09  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/ithumb-writer.c: create Artwork directory when attempting to
	  write to it.

	* src/itdb_artwork.c: fix compilation problem when gdkpixbuf is
	  not present.

	* src/hal-common.c: reverse order of include statements to fix
	  compilation error on some systems.

2005-12-06  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_itunesdb.c: change g_assert to g_return_if_fail (don't
	  terminate the application just because the iTunesDB was
	  manipulated).

	* src/db-artwork-parser.c: change g_assert to g_return_if_fail
	  (don't terminate the application just because the ArtworkDB was
	  manipulated).

	* src/itdb_artwork.c: change g_assert to g_return_if_fail
	  (don't terminate the application just because the ithmb file was
	  manipulated).
	
2005-12-05  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/db-artwork-writer/parser.c: Create ArtworkDB when it does
	  not exist.

	* src/db-artwork-writer.c, src/itdb_itunesdb.c,
	  src/itdb_track.c, src/ithumb-writer.c: handle artwork size and
	  count self-consistently.

	* src/itdb_track.c: take care of artwork_size/_count a little
	  better, take care of dbid2 a little better.

	* src/ithumb-writer.c: new ithumb_rearrange_thumbnail_file()
	  taking into account multiple references to the same slot.
	  ithumb-writer now cleans up 0 Byte files.

	
2005-11-30  Christophe Fergeau  <teuf@gnome.org>

	* src/db-artwork-parser.c: (parse_mhni): don't crash if
	ipod_image_new_from_mhni returns NULL

2005-11-28  Christophe Fergeau  <teuf@gnome.org>

	* src/itdb_artwork.c: (unpack_RGB_565), (get_pixel_data):
	* src/itdb_itunesdb.c: (get_mhod):
	* src/ithumb-writer.c: (pack_RGB_565),
	(ithumb_rearrange_thumbnail_file): added some paranoia checks before
	doing some mallocs to prevent potential int overflows in some mallocs
	which could be triggered by using forged iTunesDB files

2005-11-28  Jorg Schuler <jcsjcs at users.sourceforge.net>

	New API for thumbnail support: see src/itdb.h for details.

	* src/itdb.h: Introduced Itdb_Artwork and ItdbThumbType and
	changed Itdb_Image to Itdb_Thumb throughout the source.

	* src/itdb_artwork.c: new file as backend for Itdb_Artwork support
	(new, free, duplicate, get_thumb_by_type, add_thumbnail,
	remove_thumbnail, remove_thumbnails), as well as for the
	Itdb_Thumb support (new, free, duplicate, get_gdk_pixbuf,
	get_filename)

	* src/itdb_track.c: new functions for artwork support
	(set_thumbnails, remove_thumbnails)

	* src/ithumb-writer.c: added support to write thumbnails in
	addition to existing thumbnails

	* src/db-artwork-parcer.c: (mhod3_get_ithmb_filename)

	* src/itdb_itunesdb.c: (update_artwork_info)

	* tests/test-covers.c: updated to new API.

	* tests/test-write-covers.c: updated to new API.

	Known issues: iTunes wipes off our thumbnails.
	
2005-11-24  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* overall changes to support itdb_image_get_gdk_pixbuf(). Run
	"tests/test-thumbnails <ipod_mount> to copy all thumbnails into
	the current directory.

	* configure.ac: bumped version to 0.2.2

	
2005-11-23  Christophe Fergeau  <teuf@gnome.org>

	* src/db-artwork-debug.c: (get_utf16_string):
	* src/db-artwork-parser.c: (get_utf16_string), (parse_mhod_3),
	(parse_mhni), (ipod_supports_cover_art), (ipod_parse_artwork_db):
	* src/db-artwork-parser.h:
	* src/db-artwork-writer.c: (get_artwork_info), (write_mhod_type_3),
	(write_mhni), (write_mhod), (write_mhii), (write_mhif):
	* src/db-image-parser.c: (unpack_RGB_565),
	(image_type_from_corr_id), (ipod_image_new_from_mhni):
	* src/db-image-parser.h:
	* src/itdb.h:
	* src/ithumb-writer.c: (pack_RGB_565),
	(ithumb_writer_write_thumbnail), (ipod_image_get_ithmb_filename),
	(ithumb_writer_new), (ithumb_writer_free), (write_thumbnail),
	(itdb_write_ithumb_files):
	* tests/test-covers.c: (save_song_thumbnails): rework artwork code in 
	an attempt to properly support artwork on all the iPod models

2005-11-23  Christophe Fergeau  <teuf@gnome.org>

	* src/hal-common.c:
	* tests/test-covers.c: (ipod_image_to_gdk_pixbuf): more glib 2.4
	changes

2005-11-23  Christophe Fergeau  <teuf@gnome.org>

	* configure.ac: bumped version number

==== libgpod 0.2.0 ====

2005-11-23  Christophe Fergeau  <teuf@gnome.org>

	* configure.ac: set version number to 0.2.0

2005-11-22  Christophe Fergeau  <teuf@gnome.org>

	* src/ipod-device.c: fix compilation issue when hal isn't available

2005-11-22  Christophe Fergeau  <teuf@gnome.org>

	* configure.ac: fix .so versioning

2005-11-22  Christophe Fergeau  <teuf@gnome.org>

	* src/glib-compat.h: include stdio.h in the glib 2.4 compat code

2005-11-21  Christophe Fergeau  <teuf@gnome.org>

	* COPYING: libgpod really is LGPL

2005-11-21  Christophe Fergeau  <teuf@gnome.org>

	* configure.ac: set version number to 0.2.0
	* src/Makefile.am: added glib-compat.h

2005-11-21  Christophe Fergeau  <teuf@gnome.org>

	* configure.ac:
	* src/Makefile.am:

2005-11-21  Christophe Fergeau  <teuf@gnome.org>

	* src/glib-compat.h: added a missing helper file for glib 2.4
	compilation

2005-11-21  Christophe Fergeau  <teuf@gnome.org>

	* src/hal-common.c:
	* src/ipod-device.c: marked some functions as static

2005-11-21  Christophe Fergeau  <teuf@gnome.org>

	* src/ipod-device.c: fix g_mkdir_with_parents use (don't use it with
	glib 2.8, and mark it static)

2005-11-21  Christophe Fergeau  <teuf@gnome.org>

	* src/db-artwork-writer.c: (write_mhod_type_3):
	* src/db-parse-context.c:
	* src/ipod-device.c:
	* src/itdb_private.h:
	* src/itdb_track.c:
	* src/ithumb-writer.c: (ithumb_writer_write_thumbnail): commit some
	changes which should help compiling with glib 2.4

2005-11-21  Christophe Fergeau  <teuf@gnome.org>

	* autogen.sh:
	* gnome-autogen.sh: use autogen.sh script from gnome-common since the
	custom libgpod one keep having issues (this doesn't add a dependency
	on gnome-common since I imported the necessary script to our CVS)

2005-11-21  Christophe Fergeau  <teuf@gnome.org>

	* INSTALL:
	* autogen.sh:
	* gnome-autogen.sh:

2005-11-21  Christophe Fergeau  <teuf@gnome.org>

	* src/hal-common.h: mark hal stubs (for when hal isn't available) as 
	G_GNUC_INTERNAL to avoid namespace clashes
	* src/ipod-device.c:
	* src/ipod-device.h: move hal header inclusion in the .c instead of
	having it in the .h

2005-11-19  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* itdb_playlist.c: simplified API for itdb_spl_update() and
	  itdb_splr_eval()

	* itdb_playlist.c: added itdb_spl_update_live() for convenience

	* itdb_itunesdb.c: (itdb_rename_files) also remove "iTunesShuffle"
	  as this file might confuse iPod Shuffles.
	
2005-11-17  Jorg Schuler <jcsjcs at users.sourceforge.net>

        * configure.ac: check for version 2.4 of glib -- now we need to
	  make sure that libgpod actually works with 2.4...

2005-11-15  Christophe Fergeau  <teuf@gnome.org>

	* src/itdb_itunesdb.c: (itdb_new): initialise glib type system before
	calling ipod_device_new (which creates a gobject)

2005-11-13  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_itunesdb.c: when new rating is set on the iPod, backup
	  the old rating to app_rating. Not sure what it's for, but iTunes
	  seem to do it.

	* src/itdb_itunesdb.c:
	* src/itdb.h: split unk164 into flag1, flag2, flag3, and flag4.

2005-11-12  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_track.c: (itdb_track_set_defaults) only change unk208
	(audio/video) if not already set to non-zero.

2005-11-11  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_itunesdb.c: (itdb_set_mountpoint) do not call
	  itdb_device_new() with NULL pointer (no mountpoint == local
	  repository) to avoid critical warning.

2005-11-09  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb.h src/itdb_itunesdb.c: change API for
	  itdb_shuffle_write() to be identical to itdb_itunesdb_write()

2005-11-08  Christophe Fergeau  <teuf@gnome.org>

	* configure.ac: fixed hal detection, stole a bit more autoconf-fu from 
	libipoddevice so that ipod-device.c compiles when hal is detected

2005-11-08  Christophe Fergeau  <teuf@gnome.org>

	* src/hal-common.c:
	* src/hal-common.h: more #if => #ifdef changes

2005-11-08  Christophe Fergeau  <teuf@gnome.org>

	* src/ipod-device.c:
	* src/ipod-device.h: update comments to reflect the fact we are using
	#ifdef HAVE_LIBHAL instead of #if HAVE_LIBHAL now

2005-11-08  Christophe Fergeau  <teuf@gnome.org>

	* src/hal-common.c:
	* src/hal-common.h:
	* src/ipod-device.c: (ipod_device_set_property),
	(ipod_device_hal_initialize), (ipod_device_detect_volume_info),
	(ipod_device_new), (ipod_device_eject): sync with libipoddevice CVS,
	use #ifdef HAVE_LIBHAL instead of #if HAVE_LIBHAL

2005-11-06  Christophe Fergeau  <teuf@gnome.org>

	* src/ipod-device.h:
	* src/itdb.h: added missing G_BEGIN_DECLS and G_END_DECLS

2005-11-05  Christophe Fergeau  <teuf@gnome.org>

	* src/itdb_track.c: (is_video_ipod), (itdb_track_set_defaults): deal
	with unk208 differently on iPod video (it's used to indicate if the
	current track must be shown in the video or audio menu or both)

2005-11-05  Christophe Fergeau  <teuf@gnome.org>

	* src/ipod-device.c: (ipod_device_get_property),
	(ipod_device_class_init):
	* src/ipod-device.h: sync with libipoddevice CVS to get information
	about artwork formats supported by the various iPod models
	

2005-11-04  Christophe Fergeau  <teuf@gnome.org>

	* src/ipod-device.c: (ipod_device_new):
	* src/ipod-device.h:
	* src/itdb.h:
	* src/itdb_itunesdb.c: (itdb_free), (itdb_parse),
	(itdb_shuffle_write), (itdb_set_mountpoint): added an IpodDevice
	element to Itdb_iTunesDB. This makes it possible for libgpod to know
	the type (regular/nano/mini/video/...) of the iPod it's currently 
	dealing with (which is necessary for proper cover art support for 
	example)

2005-11-04  Christophe Fergeau  <teuf@gnome.org>

	* src/Makefile.am: db-itunes-parser.h was missing from the source file
	list, this made "make dist" generate uncompilable tarballs

2005-11-04  Christophe Fergeau  <teuf@gnome.org>

	* autogen.sh: add missing call to glib-gettextize, this has the nice
	side-effect of adding mkinstalldirs if automake didn't copy it for us.

2005-11-02  Christophe Fergeau  <teuf@gnome.org>

	* configure.ac:
	* src/db-artwork-writer.c: (ipod_buffer_grow_mapping),
	(ipod_buffer_maybe_grow): added fallback code for systems not having
	mremap (pretty much all non-linux systems actually)

2005-11-02  Christophe Fergeau  <teuf@gnome.org>

	* src/db-artwork-writer.c: (ipod_buffer_destroy):
	* src/itdb_track.c: (itdb_track_set_defaults): applied patch from 
	Uwe Hermann <uwe@hermann-uwe.de> to add video support to libgpod,
	removed spurious g_print

2005-11-01  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* itdb_itunesdb.c (get16lint): fixed bug affecting big endian
          systems. Thanks to Martin Aumueller for spotting this.

	* itdb_itunesdb.c: used GUINTxx_TO/FROM_xE() instead of "#if
          ..." constructions.

2005-10-25  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* itdb_itunesdb.c (itdb_parse): added comment, check for itdb
	  before calling ipod_pars_artwork_db()

	* db-artwork_parser.c (ipod_parse_artwork_db): added assertion
          to avoid segfault if called NULL parameter.

	* itdb_itunesdb.c (get_mhip): fixed handling for iTunesDB
          versions 4.7 and smaller.

2005-10-24  Christophe Fergeau  <teuf@gnome.org>

	* (itdb_write): remove mountpoint as parameter as not used.

2005-10-20  Christophe Fergeau  <teuf@gnome.org>

	* tests/test-covers.c: (save_song_thumbnails): fix warning on amd64

2005-10-19  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* configure.ac: print warning and hint if ./mkinstalldirs is not
	  created (incompatibility between automake > 1.8 and all gettext
	  at least up to 0.14.4.

	* TROUBLESHOOTING: added tips for missing ./mkinstalldirs and
	  po/Makefile.in.in

2005-10-17  Christophe Fergeau  <teuf@gnome.org>

	* src/db-image-parser.c: (get_pixel_data),
	(ipod_image_new_from_mhni):
	* src/itdb.h:
	* src/itdb_itunesdb.c: (get_mhod): Changed type of the various fields 
	in the ItdbImage structures so that they match what they are in the
	database on the iPod.

2005-10-15  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_itunesdb.c,itdb_private.h: fixes for 64 bit systems
	* src/ipod-device.c: fixes for 64 bit systems (patch provided by
	  Bodo Bauer)
	* TROUBLESHOOTING: hint for 64 bit compilation

2005-10-12  Christophe Fergeau  <teuf@gnome.org>

	* configure.ac:
	* src/Makefile.am:
	* tests/Makefile.am: fix compilation when hal is available, needs to
	be tested on systems without hal

2005-10-11  Christophe Fergeau  <teuf@gnome.org>

	* src/itdb_itunesdb.c: (get_mhip): added missing parameter to
	a g_warning call, this broke compilation on FC4

	* src/itdb_track.c: (itdb_track_add/itdb_track_set_defaults): set
	  dbid if not set (thanks to Guilherme Salgado for pointing this
	  out)

	* tests/.cvsignore: updated

2005-10-09  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* bindings/python/gpod.i: applied Kelvin Lawson's patch to query
	  integers.

	* src/ipod-device.[ch],hal-common.[ch],Makefile.am: code ported
	  from libipoddevice to retrieve information about the iPod
	  without libhal dependence.

	* tests/test-ipod-device.c: small script to show how to to query
	  the iPod for information.

	* tests/Makefile.am: initialize <LIBS> with better default

	* configure.ac: add dependency for libgobject

2005-10-02  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* Makefile.am: added bindings/... to EXTRA_DIST

	* src/itdb.h, src/itdb_playlist.h, src/itdb_private.h: made enum
	  ItdbPlType and enum ItdbPlFlag private and introduced
	  itdb_playlist_set_mpl/_podcast() in addition to the existing
	  itdb_playlist_is_mpl/_podcast() which make the public enums
	  unecessary.

	* bumped to version 107

	* src/ithumb-writer.c: itdb_write_ithumb_files (): commented out
	  g_print() statement as this produced an empty line in gtkpod's
	  warning window.

	* src/Makefile.am: GDKPIXPUF dependency solved inside source files
	  -- db-artwork-writer-dummy.c no longer required. Now compiles
	  with and without gdkpixbuf.

	* configure.ac: fixed error in AC_DEFINE_UNQUOTED(HAVE_GDKPIXBUF). 
	* tests/test-covers.c: attached Flavio Stanchina size-patch

2005-09-29  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* applied Chrisophe's patch to make libgdk optional

2005-09-27  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* src/itdb_track.c: include thumbnails into itdb_track_duplicate()
	  (Christophe Fergeau)

	* src/db-image-parser.c: support for iPod nano (Christophe
	  Fergeau)

	* configure.c: make MacOS compatible (Tristan O'Tierney)

2005-09-27  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* .cvsignore: added reasonable defaults in ./ ./src/ ./tests ./po

	* po/Makefile.in.in: removed, as it should be created by configure

        * itdb.h, itdb_itunesdb.c, itdb_private.h: moved next_id from
	  Itdb_iTunesDB to FExport.

	* bindings/phython/examples/tag-genrr-from-audioscrobber.py: added
	  (thanks to Nicholas Piper)

2005-09-27  Christophe Fergeau  <teuf@gnome.org>

	* src/itdb_itunesdb.c: (write_mhsd_tracks), (write_playlist_mhips),
	(write_podcast_mhips): move variable declaration before code to fix 
	compilation
	* src/db-artwork-parser.c: (ipod_parse_artwork_db):
	* src/db-artwork-writer.c: (ipod_write_artwork_db):
	* src/ithumb-writer.c: (ithumb_writer_new): added some sanity checks
	to detect better when the iPod doesn't have any artwork data

2005-09-24  Jorg Schuler <jcsjcs at users.sourceforge.net>

        * itdb.h/itdb_playlist.c: new functions: itdb_playlist_is_mpl()
	  and itdb_playlist_is_podcasts()

	* itdb_track.c: update itdb_track_duplicate()

	* itdb_itunesdb.c: read/write timestamp in playlists. Set
	  timestamp if previously unset.

	* itdb_playlist.c: set timestamp when creating playlist, set
	  timestamp when adding playlist and no timestamp was set.

	* Release of version 0.1.6

2005-09-23  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* bindings/: added python bindings provided by Nicholas Piper
	  <nick at nickpiper co uk>

	* itdb.h: added enum ItdbPlFlag and Itdb_Playlist->podcastflag
	  field.

	* itdb.h/itdb_itunesdb.c: added time_released field

	* itdb_itunesdb.c: rewrote write_playlist() for easier
	  maintenance. 

	* itdb_itunesdb.c: read/write support for podcast playlists
	  including chapterdata (but only in raw format)

2005-09-22  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* applied Christophe Fergeau's patch which adds cover art writing
	  support to libgpod -> bump to version 104

2005-09-21  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* itdb_itunesdb.c: streamline parse_fimp() for more
	  flexibility. Please report if formerly readable iTunesDB cannot
	  be read any more :-/

2005-09-20  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* Release of 0.1.3

2005-09-19  Jorg Schuler <jcsjcs at users.sourceforge.net>

        * added additional fields to Itdb_Track that are present since
	  version 0x0c of the iTunesDB. Write long mhit version.

	* applied patch provided by Christophe Fergeau <teuf at gnome.org>
	  for artwork database support (read-only).

	* itdb_itunesdb.c: read iTunesStats file if present (corresponds
	  to Play Counts file on the Shuffle).

	* itdb.h: implemented sortorder in playlists (new enum)

2005-09-17  Jorg Schuler <jcsjcs at users.sourceforge.net>

        * renamed fdesc to filetype

	* po/it.po: updated (thanks to Edward Matteucci)


2005-09-16  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* itdb.h/itdb_itunesdb.c: changed 'static void
	  itdb_count_musicdirs()' to 'gint itdb_musicdirs_number()'

2005-09-14  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* autogen.sh: automatically call ./configure
	* configure.ac: added supported languages de fr he it ja sv
	* po/: added language files from gtkpod project

2005-09-13  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* itdb_itunesdb: changed API for itdb_filename_on_ipod ()
	* itdb.h: added 'gint musicdirs' to Itdb_iTunesDB (number of
	  F.. dirs available)
	* itdb_itunesdb: itdb_cp_track_to_ipod() will now determine the
	  number of available F.. dirs before copying by calling new
	  function itdb_count_musicdirs()

2005-09-11  Jorg Schuler <jcsjcs at users.sourceforge.net>

	* configure.ac: changed position of AC_GNU_SOURCE (caused error
	  strange error messages) 
        * autogen.sh: replace so it works without gnome-common
	* src/itdb.h: replaced '//' by '/* ... */' to avoid strange error
	  message during compile.
	* src/itdb_playlist.c: (itdb_splr_validate)
	  Guilherme Salgado <salgado@freeshell.org> patch to make
	  'inthelast' SPL work.
	* README: added some notes.
	
2005-09-10  Christophe Fergeau  <teuf@gnome.org>

	* configure.ac:
	* src/itdb_itunesdb.c: (get_mhod_type), (get_mhod),
	(get_mhod_string), (get_playlist), (get_mhit),
	(itdb_shuffle_write_file):
	* src/itdb_playlist.c: (itdb_spl_update_all):
	* tests/itdb_main.c: (main): fixed compilation warnings to be able
	to compile with -Werror

2005-09-10  Christophe Fergeau  <teuf@gnome.org>

	* README: added quick description of the library purpose

2005-09-10  Christophe Fergeau  <teuf@gnome.org>

	* AUTHORS:
	* COPYING:
	* INSTALL:
	* Makefile.am:
	* autogen.sh:
	* configure.ac:
	* libgpod-1.0.pc.in:
	* po/Makefile.in.in:
	* po/POTFILES.in:
	* src/Makefile.am:
	* src/itdb.h:
	* src/itdb_itunesdb.c: 
	* src/itdb_playlist.c:
	* src/itdb_private.h:
	* src/itdb_track.c: 
	* tests/Makefile.am:
	* tests/itdb_main.c: initial import
