Home | Back
2009-08-19  Todd Zullinger  <tmz@pobox.com>

* gnome-autogen.sh: Sync gnome-autogen.sh for automake-1.11
support

The gnome-autogen.sh script comes from the gnome-common
module[1].  The only difference here is that we removed the
-Wno-portability option from the call to automake, as we want
to see these portability warnings.

[1] http://git.gnome.org/cgit/gnome-common/tree/macros2/gnome-autogen.sh

2009-08-19  Christophe Fergeau  <cfergeau@mandriva.com>

* configure.ac: use automake 1.11 AM_SILENT_RULES feature (if
available) instead of using shave

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

* po/de.po: updated German catalog. Thanks to Kai-Ove Pietsch.

2009-06-23  Christophe Fergeau  <cfergeau@mandriva.com>

* src/Makefile.am: add missing header file to list of headers, fixes
make distcheck. Patch by "skemper"

2009-06-06  Christophe Fergeau  <cfergeau@mandriva.com>

* configure.ac:
* m4/shave.m4:
* shave.in:
* shave-libtool.in: add 'shave' to make compilation logs much less
verbose (this will be superseded by the similar feature provided by
automake 1.11)

2009-06-05  Christophe Fergeau  <cfergeau@mandriva.com>

* src/Makefile.am:
* src/itdb_device.c:
* src/itdb_tzinfo.c:
* src/itdb_tzinfo_data: move timezone related functions in their
own file, adds mapping from city names (present in the iPod
Preferences file) to timezone shift to be able to interpret
accurately timestamps from iPod Classic and similiar models.

2009-05-19  Christophe Fergeau  <cfergeau@mandriva.com>

* src/itdb_itunesdb.c: make sure playcounts is initialized before it's
used

2009-05-17  Christophe Fergeau  <cfergeau@mandriva.com>

* src/itdb_device.c: add info for black Shuffle 4G

2009-05-10  Christophe Fergeau  <cfergeau@mandriva.com>

* tests/get-timezone.c: call g_type_init to avoid tons of glib
warnings when reading the SysInfoExtended file.

2009-05-10  Christophe Fergeau  <cfergeau@mandriva.com>

* src/itdb_device.c: seems the logic in get_local_timezone was
inverted, negate the calculated offset before returning it to be
consistant with the values we calculate from iPod data

2009-05-02  Christophe Fergeau  <cfergeau@mandriva.com>

* tools/hal-callout.c: mount ipod to collect more ipod
properties

2009-05-02  Christophe Fergeau  <cfergeau@mandriva.com>

* tools/hal-callout.c: set ipod.images.formats in hal

2009-05-02  Christophe Fergeau  <cfergeau@mandriva.com>

* tools/hal-callout.c: parse ipod production info and insert it
in hal

2009-05-02  Christophe Fergeau  <cfergeau@mandriva.com>

* tools/hal-callout.c: set ipod model, ipod color and ipod
generation properties

2009-05-02  Christophe Fergeau  <cfergeau@mandriva.com>

* tools/Makefile.am:
* tools/hal-callout.c: populate hal ipod device tree with
extended ipod information

2009-05-02  Christophe Fergeau  <cfergeau@mandriva.com>

* src/itdb_device.c:
* src/itdb_device.h: add itdb_ipod_info_from_serial function

2009-05-02  Christophe Fergeau  <cfergeau@mandriva.com>

* src/itdb_sysinfo_extended_parser.c:
* src/itdb_sysinfo_extended_parser.h: add functions to parse
SysInfoExtended from memory

2009-05-02  Christophe Fergeau  <cfergeau@mandriva.com>

* tools/Makefile.am: use hal flags when compiling the HAL callout

2009-05-02  Christophe Fergeau  <cfergeau@mandriva.com>

* src/itdb_device.c: add API doc to the cover art functions

2009-05-02  Christophe Fergeau  <cfergeau@mandriva.com>

Patch from: Erik Hovland <erik@hovland.org>

Remove or rework any dead code.

* src/db-artwork-parser.c: ctx is guaranteed to be null. So the
conditional never executes.
* src/itdb_device.c: fix logic error which would cause the else
clause to never be executed.
* src/itdb_itunesdb.c: dir_file is already guaranteed to be non-null.
* tests/test-ls.c: error cannot be true.

2009-05-02  Christophe Fergeau  <cfergeau@mandriva.com>

Patch from: Erik Hovland <erik@hovland.org>

Make sure pointers are valid when necessary.

* src/itdb_itunesdb.c: m53 might be null. Check before dereferencing
to count.
* src/ithumb-writer.c: Since there is an assert for
artwork->thunmbnail->data_type, we have to check artwork->thumbnail
before. Not after. So do an assert on that pointer too.
* tests/test-sysinfo-extended-parsing.c: If props is null both
itdb_sysinfo_properties_dump and itdb_sysinfo_properties_free
will segfault. Better to just return.

2009-05-02  Christophe Fergeau  <cfergeau@mandriva.com>

* src/ithumb-writer.c: readd needed include

2009-05-02  Christophe Fergeau  <cfergeau@mandriva.com>

Patch from: Erik Hovland <erik@hovland.org>

* src/db-artwork-writer.c: remove useless assignment of mhba

2009-05-02  Christophe Fergeau  <cfergeau@mandriva.com>

Patch from: Erik Hovland <erik@hovland.org>

* src/itdb_itunesdb.c: don't access out of 'db' bounds when
building the pathname in an error case

2009-05-02  Christophe Fergeau  <cfergeau@mandriva.com>

Patch from: Erik Hovland <erik@hovland.org>

* src/db-image-parser.c:
* src/itdb_chapterdata.c:
* src/itdb_itunesdb.c:
* src/itdb_track.c:
* src/ithumb-writer.c:
* tests/test-fw-id.c:
* tests/test-photos.c: remove unused includes

2009-05-02  Christophe Fergeau  <cfergeau@mandriva.com>

* src/itdb_device.c: add model information for silver shuffle 4G

2009-05-02  Christophe Fergeau  <cfergeau@mandriva.com>

* docs/reference/tmp
* src/itdb.h
* src/itdb_device.c: Add shuffle 4g information

For now, there is no model specific information. The new enum members
were added to the end to keep the ABI compatible. It's unknown at
this time if the new shuffles need some kind of hash.

2009-05-02  Christophe Fergeau  <cfergeau@mandriva.com>

Patch from: Eric Lassauge

* tools/Makefile.am: don't try to compile ipod-time-sync when HAL
is disabled

2009-04-15  Todd Zullinger  <tmz@pobox.com>

* configure.ac: Bump version to 0.7.3SVN for further development

* configure.ac: Bump version for 0.7.2 final

2009-04-05  Christophe Fergeau  <cfergeau@mandriva.com>

* configure.ac: time for a rc2 since we had forgotten a few
interesting patches.

2009-04-05  Christophe Fergeau  <cfergeau@mandriva.com>

Patch from: Javier Kohen:

* src/itdb_itunesdb.c: avoid O(N^2) behaviour in main tracklist
parsing.

2009-04-05  Christophe Fergeau  <cfergeau@mandriva.com>

Patch from: Javier Kohen:

* src/itdb_itunesdb.c: avoid O(N^2) behaviour in playcount reading

2009-04-05  Christophe Fergeau  <cfergeau@mandriva.com>

Patch from: Javier Kohen:

* src/itdb_itunesdb.c: rename playcount_get_next to
playcount_take_next which is a more descriptive name

2009-04-05  Christophe Fergeau  <cfergeau@mandriva.com>

Patch from: Erik Hovland

* src/itdb_thumb.c: don't shadow itdb_thumb_to_pixbuf_at_size
parameter with a local variable.

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

* configure.ac: Bump version and soname for 0.7.2rc1

2009-04-03  Todd Zullinger  <tmzullinger at users.sourceforge.net>

* docs/reference/libgpod-sections.txt
  docs/reference/tmpl/device.sgml
  src/itdb_device.c: Update documenation.  Add new
itdb_device_supports_{chapter_image,podcast} functions and
mark some other additions as private.

* po/de.po
  po/es.po
  po/fr.po
  po/he.po
  po/it.po
  po/ja.po
  po/libgpod.pot
  po/ro.po
  po/sv.po
  po/zh_CN.po: Update po files

* po/POTFILES.in: Add tools/ipod-time-sync.c

2009-03-29  Christophe Fergeau  <cfergeau@mandriva.com>

* src/itdb_device.c: don't call tzset even when calling localtime_r
since we aren't interested in its side effects.

2009-03-26  Christophe Fergeau  <cfergeau@mandriva.com>

* tools/ipod-scsi.c:
* tools/ipod-time-sync.c: add ipod time sync support using
information from the rockbox project. It's still preliminary.

2009-03-22  Christophe Fergeau  <cfergeau@mandriva.com>

* src/itdb_device.c: add warning about itdb_set_mountpoint use,
describe model_number parameter of itdb_init_ipod
* src/itdb_itunesdb.c: add warning about itdb_device_read_sysinfo
and itdb_device_set_mountpoint use, explain when
itdb_device_get_ipod_info_table can be useful.
* doc/reference/libgpod-sections.txt: move around a few functions
(mainly itdb_init_ipod and itdb_device_*_sysinfo_*)

2009-03-21  Christophe Fergeau  <cfergeau@mandriva.com>

Patch from: Andrew W. Nosenko  <andrew.nosenko@toatech.com>

Avoid using of the global variable 'timezone' in favor of struct
tm.tm_gmtoff (if available).

* src/itdb_device.c (get_local_timezone): Use struct tm.tm_gmtoff
if available (through localtime_r() or localtime(), depending on
the localtime_r() existence) if available and fallback to the
'timezone' or _timezone global variables if struct tm.tm_gmtoff
field is not available.

* configure.ac: Check for existence of localtime_r() function and
struct tm.tm_gmtoff field.

Avoid using of the global variable 'timezone' in favor of struct
tm.tm_gmtoff (if available).

* src/itdb_device.c (get_local_timezone): Use struct tm.tm_gmtoff
if available (through localtime_r() or localtime(), depending on
the localtime_r() existence) if available and fallback to the
'timezone' or _timezone global variables if struct tm.tm_gmtoff
field is not available.

* configure.ac: Check for existence of localtime_r() function and
struct tm.tm_gmtoff field.

2009-03-21  Christophe Fergeau  <cfergeau@mandriva.com>

Patch from: Jorg Schuller

* src/itdb_itunesdb.c: simplify pos_comp, make get_playlist more
efficient

2009-03-21  Christophe Fergeau  <cfergeau@mandriva.com>

* src/itdb_itunesdb.c: remove commented out code
(g_return_val_if_fail)

2009-03-14  Christophe Fergeau  <cfergeau@mandriva.com>

* src/itdb_device.c: directly read firewire ID from SysInfoExtended
when it's available.

2009-03-14  Christophe Fergeau  <cfergeau@mandriva.com>

* src/itdb.h
* src/itdb_device.c
* src/itdb_device.h: add itdb_device_supports_chapter_image method
to test if an iPod support chapter images or not.

2009-03-14  Christophe Fergeau  <cfergeau@mandriva.com>

* src/itdb_device.c: factorize some code in legacy artwork
handling

2009-03-14  Christophe Fergeau  <cfergeau@mandriva.com>

* src/itdb.h:
* src/itdb_device.c:
* src/itdb_sysinfo_extended_parser.c:
* src/itdb_sysinfo_extended_parser.h: add
itdb_device_supports_podcast method to test if an iPod supports
podcasts or not.

2009-03-14  Jorg Schuler <jcsjcs at users.sourceforge.net>

* src/itdb_itunesdb.c
  src/itdb_private.h

  Implement reading of big/little endian integers/floats using
  references to the respective functions rather than if/then
  statements. Thanks to Javier Kohen for the patch.

2009-03-01  Christophe Fergeau <cfergeau@mandriva.com>

* src/itdb_device.c: fix nano3g/ipod classic artwork information

2009-02-28  Christophe Fergeau <cfergeau@mandriva.com>

* src/itdb_itunesdb.c: Set field at offset 0x70 in the mhbd to 2
        
If this field isn't set to 2, iTunes thinks databases written
to the iPhone are corrupted

2009-02-28  Javier Kohen <jkohen@users.sourceforge.net>

* src/itdb_itunesdb.c:
* src/itdb_private.h: avoid linked list scans in get_playlist/get_mhip.

Replaced code that scanned the linked list twice on each
insertion (once for sorting, once for finding the previous
insert position) by a single sort and scan at the end.
        
As a side-effect removed dependency of get_mhip on Itdb
structures (easier to unittest, etc.).

2009-02-28  Javier Kohen <jkohen@users.sourceforge.net>

* src/db-artwork-parser: replace linear look-up of songs with
local hashtable.

2009-02-09  Christophe Fergeau  <teuf@gnome.org>

* src/itdb_itunesdb.c: fix crash when generating the album list
when a track has a NULL album. Thanks to Peter and Todd for
reporting that bug and pinpointing what was wrong.

2009-01-31  Todd Zullinger  <tmzullinger at users.sourceforge.net>

* README.SysInfo: Add info on determining FirewireGUID on
FreeBSD. Also reformat the text to make the example commands
stand out more.

2009-01-31  Todd Zullinger  <tmzullinger at users.sourceforge.net>

* configure.ac: Remove unused expanded_libdir definition. This
was only used when setting the hal callout dir, and is no
longer needed.

2009-01-31  Todd Zullinger  <tmzullinger at users.sourceforge.net>

* Makefile.am, configure.ac, tools/Makefile.am, TROUBLESHOOTING:
Improve the default hal callout path. The search path hal uses
for its callouts differs on various platforms. The new path
should work on more systems out of the box. The fdi file now
also defaults to a path more likely to work by default.

2009-01-31  Todd Zullinger  <tmzullinger at users.sourceforge.net>

* bindings/python/Makefile.am, configure.ac:
Only use PYGOBJECT_{CFLAGS,LIBS} in bindings/python.  Thanks
to Frank Lichtenheld (fixes Debian bug #452829).

2009-01-21  Christophe Fergeau  <teuf at gnome.org>

* src/itdb_device.c: fix itdb_device_new prototype

2009-01-21  Christophe Fergeau  <teuf at gnome.org>

* src/itdb_device.c: itdb_device_get_checksum_type can be static

2009-01-21  Christophe Fergeau  <teuf at gnome.org>

* src/itdb_device.c: itdb_device_write_hash58 should only be called
on devices supporting this hash type, it's a programming error to
call it with something else

2009-01-21  Christophe Fergeau  <teuf at gnome.org>

* src/itdb_device.c: set the hashing scheme in
itdb_device_write_checksum instead of doing it in itdb_itunesdb,
allows more flexibility if we ever add different checksumming
methods

2009-01-21  Christophe Fergeau  <teuf at gnome.org>

* src/itdb_device.c:
* src/itdb_private.h: get rid of itdb_device_requires_checksum
which is now unused

2009-01-21  Christophe Fergeau  <teuf at gnome.org>

* src/itdb_device.c:
* src/itdb_device.h:
* src/itdb_itunesdb.c: move checksumming function from
itdb_itunesdb.c to itdb_device.c to make it easier to support
different checksumming methods depending on the ipod model

2009-01-21  Christophe Fergeau  <teuf at gnome.org>

* src/db-itunes-parser.h: add tons of new fields to struct MhbdHeader

2009-01-20  Christophe Fergeau  <teuf at gnome.org>

* src/itdb_itunesdb.c: generate list of albums and write it in a
MHLA header in the iTunesDB
* src/itdb_private.h: store album list in FExport

2009-01-20  Christophe Fergeau  <teuf at gnome.org>

* src/itdb_itunesdb.c: add new enum value for MHOD types found as
children of the MHLA header (list of albums)

2009-01-18  Todd Zullinger  <tmzullinger at users.sourceforge.net>

* configure.ac: Bump version to 0.7.1SVN for further development

* configure.ac: Bump version for 0.7.0 final

* src/db-artwork-parser.c: Quiet artwork mhii_link warning

2009-01-17  Christophe Fergeau  <teuf at gnome.org>

* src/itdb_device.c: Silver iPod Classic 160GB is B145, not B155
(noticed thanks to a Banshee bug report, verified on ebay sales of
such iPods)

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

* po/ro.po: updated Romanian translation. Thanks to Alex
          Eftimie.

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

* README.SysInfo, TROUBLESHOOTING: Add some notes on the hal
callout

* TROUBLESHOOTING: Minor grammatical fixes

2009-01-13  Christophe Fergeau  <teuf at gnome.org>

* itdb_sysinfo_extended_parser.c: use a gint instead of a gchar as a
loop index since we are comparing against >= 0

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

* src/itdb_itunesdb.c (itdb_rename_files): remove the
  "iTunesStats" file used by Shuffles instead of the "Play Counts"
  file after writing the iTunesSD -- otherwise the playcounts are
  never reset. Thanks to Peter Maydell for pointing this
  out. Fixes tracker item #2481322.

2009-01-06  Todd Zullinger  <tmzullinger at users.sourceforge.net>

* po/zh_CN.po: Add simple Chinese translation (Tan Zhixin)

2009-01-05  Todd Zullinger  <tmzullinger at users.sourceforge.net>

* po/de.po: Update German translation (Jonas Cleve)

2009-01-02  Todd Zullinger  <tmzullinger at users.sourceforge.net>

* configure.ac: Bump version for 0.7.0rc2

* docs/reference/tmpl/track.sgml, src/itdb.h:
Document Itdb_Track->album_id

* bindings/python/ipod.py:
Make Track.get_coverart() return None if artwork is absent

2009-01-02  Christophe Fergeau  <teuf@gnome.org>

* NEWS: more news, hope the packagers will notice the new
libxml2-devel dependency...

2009-01-02  Christophe Fergeau  <teuf@gnome.org>

* src/Makefile.am: we need to link with -lm since ithumb-writer.c
uses round and ceil

2009-01-02  Christophe Fergeau  <teuf@gnome.org>

* NEWS: update NEWS file, I probably forgot some things, feel free
to update it :)

2009-01-01  Christophe Fergeau  <teuf@gnome.org>

* src/itdb_device.c: fix static artwork formats for the nano4g, C&P
is really a bad thing ;)

2009-01-01  Christophe Fergeau  <teuf@gnome.org>

* src/itdb.h: add album_id field to Itdb_Track. It's unused yet but
will be used later and adding it now will avoid ABI breakage later
;)

2008-12-29  Christophe Fergeau  <teuf@gnome.org>

* src/itdb_device.c: add serial number for silver and pink
16GB nano 4g, the last missing ones :)

2008-12-28  Todd Zullinger  <tmzullinger at users.sourceforge.net>

* bindings/python/gtkpod.py:
Python: fix sha DeprecationWarning with python-2.6 (thanks to
Alex Ghitza)

2008-12-26  Todd Zullinger  <tmzullinger at users.sourceforge.net>

* po/es.po: Update Spanish translation (Alejandro Lamas Daviña)

2008-12-22  Christophe Fergeau  <teuf@gnome.org>

* src/itdb_device.c: I didn't mean to commit that hunk
from Neil's patch, adding a model name here with no
matching entry in the model enum would break building
a user visible list of known ipod models

2008-12-22  Christophe Fergeau  <teuf@gnome.org>

* src/itdb_device.c: add ipod shuffle info from Neil Campbell

2008-12-22  Christophe Fergeau  <teuf@gnome.org>

* src/itdb_device.c: add serial number for yellow and green
16GB nano 4g.

2008-12-18  Christophe Fergeau  <teuf@gnome.org>

* src/itdb_device.c: add serial number for purple 16GB nano 4g,
thanks to Ronald for providing the information

2008-12-16  Daniele Forsi <dforsi at users.sourceforge.net>

        * po/it.po: updated Italian translation

2008-12-15  Jorg Schuler <jcsjcs at users.sourceforge.net>

* src/itdb_plist.c: substitute g_base64_decode() between version
  2.8 and 2.11 of glib.

* src/itdb_device.c: handle timezone correctly on CYGWIN

  Patches courtesy of Éric Lassauge.

2008-12-13  Jorg Schuler <jcsjcs at users.sourceforge.net>

* po/fr.po: Update French translation (Éric Lassauge)

2008-12-12  Christophe Fergeau  <teuf@gnome.org>

* src/itdb_device.c: add hardcoded table for nano4g artwork
formats. I haven't tested I got everything perfectly right so there
might be issues with them. Thanks to Tijs van Roon for pinpointing
these missing tables

2008-12-12  Christophe Fergeau  <teuf@gnome.org>

* src/itdb_device.c: add serial number for 16GB Orange Nano 4g,
thanks to Tijs van Roon for providing the data

2008-12-10  Todd Zullinger  <tmzullinger at users.sourceforge.net>

* po/he.po: Update Hebrew translation (Assaf Gillat)

* po/sv.po: Update Swedish translation (Stefan Asserhäll)

2008-12-08  Todd Zullinger  <tmzullinger at users.sourceforge.net>

* configure.ac: Bump version and soname for 0.7.0rc1

* po/de.po
  po/es.po
  po/fr.po
  po/he.po
  po/it.po
  po/ja.po
  po/libgpod.pot
  po/ro.po
  po/sv.po: Update po files

2008-12-07  Todd Zullinger  <tmzullinger at users.sourceforge.net>

* docs/reference/libgpod-docs.xml
  docs/reference/libgpod-sections.txt
  docs/reference/tmpl/artwork.sgml
  docs/reference/tmpl/chapterdata.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/photodb.sgml
  docs/reference/tmpl/track.sgml
  src/itdb.h
  src/itdb_artwork.c
  src/itdb_chapterdata.c
  src/itdb_device.c
  src/itdb_device.h
  src/itdb_itunesdb.c
  src/itdb_photoalbum.c
  src/itdb_playlist.c
  src/itdb_plist.c
  src/itdb_sysinfo_extended_parser.c
  src/itdb_thumb.c
  src/itdb_thumb.h
  src/itdb_track.c
  src/ithumb-writer.c:
  Update API documentation

  Add new functions and missing enums, macros, and structs to the proper
  places in the documentation, remove old/unused functions, and clean up
  various minor issues.

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

* itdb_itunesdb.c (jump_table_letter): don't terminate when
  an invalid utf8 string is encountered (replaced g_assert() with
  g_return_val_if_fail()).

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

* configure.ac: don't add "-Wall" to CFLAGS
  unconditionally. I believe this line was overlooked when this
  issue was fixed earlier. Thanks to Tim Mooney.

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

* src/db-parse-context.h: remove unneeded G_GNUC_INTERNAL at the
  end of a declaration as this can cause problems with some
  compilers (and doesn't seem to make sense in the first
  place). Thanks to Tim Mooney.

2008-11-17  Christophe Fergeau  <teuf@gnome.org>

* src/ithumb-writer.c: rework the way we calculate that thumbnails
must be resized to when being transferred to the ipod. The old way
had rounding errors which led to display bugs on the nano4g (in the
album list)

2008-11-17  Christophe Fergeau  <teuf@gnome.org>

* src/ithumb-writer.c: stricter sanity check

2008-11-17  Christophe Fergeau  <teuf@gnome.org>

* src/ithumb-writer.c: add checks for int overflows on malloc args

2008-11-14  Todd Zullinger  <tmzullinger at users.sourceforge.net>

* docs/reference/tmpl/track.sgml
  src/itdb.h:
  Remove chapterdata_raw and chapterdata_raw_length from
  Itdb_Track

  These are no longer needed now that proper Chapter Data
  support is available (since svn revision 1936/1937).

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

* src/itdb_device.c: SN YX6 corresponds to a Shuffle model B225
according to a report on #gtkpod

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

* src/itdb_device.c: use information from SysInfoExtended to tell
if an ipod supports photos or not instead of only using the
hard-coded tables in libgpod

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

* src/itdb_device.c: add serial number for 16GB blue ipod nano,
thanks to Thomas Pani for providing that SN.

2008-10-13  Christophe Fergeau  <teuf@gnome.org>

* src/itdb_device.c: add serial number for 16GB black ipod nano,
thanks to Doug Larrick for providing that SN :)

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

* src/db-artwork-debug.c: use %z modifier to print size_t values
and G_GINT64_MODIFIER to print 64 bit values, fix compilation
on 64 bit systems when artwork debugging is enabled

2008-10-08  Christophe Fergeau  <teuf@gnome.org>

* src/itdb_device.h: switch members in Itdb_ArtworkFormat from
guint16 to gint since the SysInfoExtended parser will assume
they are gint value and will try to write to them through a
gint* pointer (ie it will overwrite whatever is around the
guint16 value if we don't change it)

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

* src/itdb_device.c: fix itdb_device_supports_artwork to properly
take into account data from SysInfoExtended if available

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

* src/itdb_sysinfoextended_parser.c: artwork is stored in <array>
nodes (which are parsed to a GValueArray), reflect that in the
SysInfoExtended parsing code.

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

* src/itdb_plist.c: fix handling on blank nodes (ie nodes
containing only white spaces), fixes parsing of SysInfoExtended files
as well ;)

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

* src/itdb_plist.c: add support for <array> tags to the plist
parser, this is needed to support SysInfoExtended files as found on
on the 4g nanos

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

* src/itdb_device.c: add serial number for the 8GB Silver Nano 4g
and model number for the 4GB Blue Nano 4g

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

* src/itdb_device.c: a few more fixes in device model
numbers/serials

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

* src/itdb_device.c: add missing name for the yellow ipod nano

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

* src/itdb_device.c: and add SN for the 8GB Red Nano

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

* src/itdb_device.c: add SN for 16GB Red Nano

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

* src/itdb.h: add enum entries for the new ipod classic and the new
nanos
* src/itdb_device.c: add entries for the new nanos and the new ipod
classic, add some serial numbers for older ipod models

2008-09-11  Christophe Fergeau  <teuf@gnome.org>

* src/itdb_device.c: add missing string description for the red ipod
shuffle that was added some time ago, without it gtkpod was badly
broken wrt ipod model selection :-/

2008-08-23  Todd Zullinger  <tmzullinger at users.sourceforge.net>

* bindings/python/ipod.py
  bindings/python/tests/tests.py:
  Add a quiet parameter to Database.remove() and use it in
  tests

* bindings/python/ipod.py:
  Be more consistent with other python container objects and
  classes

  This enables testing whether a key exists in an object (e.g.
  "'title' in track") as well as iterating over a Track or
  Photo object's keys, values, or items.  The items() and
  pairs() methods were renamed to values() and items(),
  respectively, in the Track and Photo classes.

* bindings/python/tests/tests.py:
  Whitespace cleanup

* bindings/python/ipod.py:
  Set the mediatype field for Track objects

2008-08-20  Todd Zullinger  <tmzullinger at users.sourceforge.net>

* bindings/python/examples/save_photos.py
  bindings/python/gpod.i.in
  bindings/python/ipod.py
  bindings/python/tests/tests.py:
  Update python bindings to work with the new thumbnail API.

  This removes sw_get_artwork_thumbnails() and the Thumbnail
  class from the python bindings.  The get_pixbuf() function
  is now in the Photo class.

2008-08-09  Paul Richardson  <phantom_sf at users.sourceforge.net>

* Added eclipse project related files to svn:ignore
* src/db-artwork-parser.c
  src/itdb.h
  src/itdb_photoalbum.c:
  Added to Itdb_PhotoAlbum, a reference to its parent Photo DB.
  When albums are constructed upon loading of the Photo DB, the
  reference is added as part of initialisation.

2008-08-09  Todd Zullinger  <tmzullinger at users.sourceforge.net>

* src/itdb_playlist.c
  tests/test-ls.c: Remove uses of deprecated itdb_time_* functions

2008-08-03  Jorg Schuler <jcsjcs at users.sourceforge.net>

        * src/ithumb-writer (ithumb_writer_handle_pixbuf_transform):
  handle rotation correctly: don't interchange width and height
  for the thumbnail on the iPod.

2008-08-02  Todd Zullinger  <tmzullinger at users.sourceforge.net>

* src/itdb_track.c: Fix typo in itdb_track_get_thumbnail() doc
  comment

2008-07-31  Christophe Fergeau <teuf@gnome.org>

* configure.ac: s/test -a/test -e/ since this is what I really
meant, thanks tmz

2008-07-31  Christophe Fergeau <teuf@gnome.org>

* configure.ac: instead of looking for .svn or {arch}, look for
autogen.sh to decide if we are compiling a version checked out from
svn or a release tarball.

2008-07-31  Christophe Fergeau <teuf@gnome.org>

* src/itdb_device.h:
* src/itdb_plist.h: move itdb_device_error_quark from itdb_plist.h
to itdb_device.h

2008-07-30  Todd Zullinger  <tmzullinger at users.sourceforge.net>

* docs/reference/tmpl/track.sgml
  src/itdb.h
  src/itdb_itunesdb.c: Rename unk146 to explicit_flag in
  Itdb_Track now that it's purpose is known

2008-07-27  Christophe Fergeau  <teuf@gnome.org>

* src/itdb_sysinfo_extended_parser.c:
* src/itdb_plist.c: add gtk-doc documentation

2008-07-27  Christophe Fergeau  <teuf@gnome.org>

* src/itdb_sysinfo_extended_parser.c:
* src/itdb_sysinfo_extended_parser.h: add a GError argument to
SysInfoExtended parsing functions
* src/itdb_device.c: pass NULL GError argument to call to
SysInfoExtended functions
* tests/test-sysinfo-extended.c: add a GError argument when calling
SysInfoExtended parsing functions

2008-07-27  Christophe Fergeau  <teuf@gnome.org>

* src/itdb_device.c: add itdb_device_error_quark()
* src/itdb_plist.h:
* src/itdb_plist.c: add error handling to XML parsing (using
GError)
* src/itdb_sysinfo_extended_parser.c: pass a NULL GError to call to
plist parsing function

2008-07-26  Christophe Fergeau  <teuf@gnome.org>

* tests/test-fw-id.c: (main): add missing call to g_type_init

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

* src/ithumb-writer.c (pack_RGB_565), (pack_RGB_555)
          (pack_RGB_888): handle horizontal padding correctly
          (affected pictures in portrait format).

* src/itdb_device.c: added some comments.

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

* src/itdb_device.c (itdb_device_set_timezone_info): avoid g_stat
  on NULL filename. Thanks to Andrea.

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

* src/itdb_device.c: assume the following generations do not
  support sparse artwork:
            ITDB_IPOD_GENERATION_NANO_1:
            ITDB_IPOD_GENERATION_NANO_2:
            ITDB_IPOD_GENERATION_VIDEO_1:
            ITDB_IPOD_GENERATION_VIDEO_2:

2008-07-17  Todd Zullinger  <tmzullinger at users.sourceforge.net>

* README
  bindings/python/gpod.i.in
  bindings/python/ipod.py
  docs/reference/libgpod-sections.txt
  docs/reference/tmpl/artwork.sgml
  docs/reference/tmpl/itunesdb-db.sgml
  src/itdb.h: Remove references to itdb_thumb_get_gdk_pixbuf()

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

* src/db-artwork-writer.c: if we fail to write ithmb files for some
reason, don't go on trying to write the ArtworkDB/PhotoDB as well

2008-07-09  Todd Zullinger  <tmzullinger at users.sourceforge.net>

* po/POTFILES.in: add src/itdb_thumb.c

2008-07-09  Christophe Fergeau  <teuf@gnome.org>

* configure.ac: properly detect newer libsgutils (the so name was
changed)
* tools/ipod-scsi-inquiry.c: add missing include
Based on a patch from Dan Horák (dan@danny.cz)

2008-07-06  Christophe Fergeau <teuf@gnome.org>

* src/itdb_device.c: fix model number information grabbed from
podsleuth

2008-07-06  Christophe Fergeau <teuf@gnome.org>

* src/itdb_device.c: add a mapping from serial numbers to model
numbers to make it easy to go from a serial number read from
SysInfoExtended to an Itdb_IpodInfo

2008-07-06  Christophe Fergeau <teuf@gnome.org>

* src/itdb_device.c:
* src/itdb_device.h: add missing red ipod shuffles as well as 2GB
shuffles to the list of known ipod models

2008-07-06  Christophe Fergeau <teuf@gnome.org>

* src/itdb_device.c:
* src/itdb_device.h: add itdb_device_get_storage_info method
* src/itdb_itunesdb.c: use that method instead of directly using
statvfs, makes it easier to port things over to MSVC8

2008-07-05  Christophe Fergeau <teuf@gnome.org>

Patch from: Songbird (http://getsongbird.com/)

* src/db-itunes-parser.h: remove unused constant
* src/db-parse-context.c:
* src/db-parse-context.h: use GMappedFile instead of directly using
mmap, it's needed for MSVC8 portability

2008-07-05  Christophe Fergeau <teuf@gnome.org>

Patch from: Songbird (http://getsongbird.com/)

* src/itdb_itunesdb.c
* src/itdb_track.c: get rid of inner functions since it is a gcc
specific extension and MSVC8 doesn't like that

2008-07-05  Christophe Fergeau <teuf@gnome.org>

Patch from: Songbird (http://getsongbird.com/)

* src/db-artwork-parser.c
* src/db-parse-context.c
* src/db-parse-context.h: get rid of unused argument to
db_parse_context_destroy (it was always set to TRUE)

2008-07-06  Christophe Fergeau <teuf@gnome.org>

* src/ithumb-writer.c: fix bug in the function scaling and cropping
thumbnails, in the non-cropping case, the returned pixbuf size
didn't reflect the size of the scaled pixbuf

2008-07-05  Christophe Fergeau <teuf@gnome.org>

* src/db-artwork-parser.c: fix small memory leak

2008-07-05  Christophe Fergeau <teuf@gnome.org>

* src/ithumb-writer.c: fix typo in thumbnail rearranging code, we
were wrongly appending Itdb_Thumb_Ipod instances to lists of
Itdb_Thumb_Ipod_Item

2008-07-05  Christophe Fergeau <teuf@gnome.org>

* src/db-artwork-writer.c: properly set padding to 0 in mhods type 3

2008-07-05  Christophe Fergeau <teuf@gnome.org>

Patch from: Songbird (http://getsongbird.com/)

* src/ithumb-writer.c: don't leak the list of image formats we get
from the ItdbDevice

2008-06-29  Daniele Forsi <dforsi at users.sourceforge.net>

        * src/itdb_itunesdb.c src/itdb_thumb.c src/itdb_device.c
  src/itdb_photoalbum.c: fix typos in comments

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

* src/ithumb-writer.c (itdb_write_ithumb_files): fix bug when
  writing photos (loop variable "it" re-used inside loop).
  Rename loop variable to "itw" also in case of writing artwork.

* src/itdb_thumb.c (itdb_thumb_to_pixbuf_at_size):

  If requesting a thumb from the iPod smaller than available, none
  would be returned. Fixed. Thumbs from the iPod would not be
  scaled even if requested. Fixed.

  If requesting a thumb from a file or existing pixbuf, scaling
  was done even if none was requested (width/height =
  0/-1). Fixed.

  Introduced selection of smallest available thumbnail
  (width/height = 0) besides largest available thumbnail
  (width/height = -1).

  TODO: consider aspect ratio of requested picture (currently it
  is very likely that some of the square thumbs are returned...)

  src/itdb_artwork.c (itdb_artwork_get_thumbnail):
  Introduced selection of smallest available thumbnail
  (width/height = 0) besides largest available thumbnail
  (width/height = -1). (Only necessary documentation.)

2008-06-28  Christophe Fergeau  <teuf@gnome.org>

patch by: Mike Heffner <mikeh@fesnel.com>

* src/Makefile.am:
* src/db-artwork-writer.c: fix compilation with older glib (without
GChecksum)

2008-06-24  Christophe Fergeau  <teuf@gnome.org>

* src/itdb_device.c: rework timezone handling: handle timezones as
stored on 5g ipods (hopefully) and fallback to using the computer
timezone if we can't figure out the ipod timezone
* tests/get-timezone.c: use functions from libgpod to get the
timezone instead of duplicating some itdb_device code

2008-06-15  Christophe Fergeau  <teuf@gnome.org>

* src/itdb_device.c: oops, forgot a ','

2008-06-14  Christophe Fergeau  <teuf@gnome.org>

* src/itdb_device.c: fix some entries in the ipod_model_table by
using libipoddevice and podsleuth as a reference

2008-06-14  Christophe Fergeau  <teuf@gnome.org>

* src/itdb_track.c: remove bogus function to check if the ipod
supports video: it didn't take into account the new ipods released
after the 1st ipod video

2008-06-09  Christophe Fergeau  <teuf@gnome.org>

* src/itdb_device.h:
* src/itdb_sysinfo_extended_parser.c:
* src/ithumb-writer.c: use background color and alignement
information from SysInfoExtended if available

2008-06-09  Christophe Fergeau  <teuf@gnome.org>

* src/db-artwork-writer.c:
* src/itdb_device.c:
* src/itdb_device.h:
* src/itdb_sysinfo_extended_parser.c:
* src/itdb_sysinfo_extended_parser.h: implements
itdb_device_supports_sparse_artwork (instead of the old stub always
returning TRUE). Use data from SysInfoExtended if it's available,
use hardcoded table from libgpod if not.

2008-06-09  Christophe Fergeau  <teuf@gnome.org>

* src/itdb_device.c:
* src/itdb_device.h:
* src/itdb_sysinfo_extended_parser.c:
* src/itdb_sysinfo_extended_parser.h: merge Itdb_ArtworkFormat and
SysInfoImageFormat, use artwork formats from SysInfoExtended when
it's available instead of using the hardcoded tables from libgpod

2008-06-09  Christophe Fergeau  <teuf@gnome.org>

* src/db-artwork-writer.c:
* src/db-image-parser.h:
* src/itdb.h:
* src/itdb_device.c:
* src/itdb_device.h:
* src/ithumb-writer.c: get rid of ItdbThumbType, it's replaced by
pointers to the appropriate Itdb_ArtworkFormat for the thumbnail
type when it's needed

2008-06-09  Christophe Fergeau  <teuf@gnome.org>

* src/db-artwork-parser.c: remove duplicated artwork/photo support
testing functions
* src/db-artwork-parser.h: ditto
* src/itdb_itunesdb.c: s/ipod_supports_XXX/itdb_device_supports_XXX
* src/itdb_photoalbum.c: ditto
* src/itdb.h: use a const Itdb_Device argument for
itdb_device_supports_*, add  ITDB_IPOD_GENERATION_IPHONE_1 to
Itdb_IpodGeneration, get rid of ITDB_IPOD_GENERATION_FIFTH and
ITDB_IPOD_GENERATION_SIXTH
* src/itdb_device.c: split functions to get artwork format from the
ipod in 2 separate functions: instead of
itdb_device_get_artwork_formats we now have
itdb_device_get_photo_formats and itdb_device_get_cover_art_formats
* src/itdb_device.h:
* src/db-image-parser.c: use the separate
get_cover_art_formats/get_photos_formats functions
* src/db-artwork-writer.c: ditto
* src/ithumb-writer.c: ditto

2008-06-09  Christophe Fergeau  <teuf@gnome.org>

* src/gchecksum.c: fix compilation (it's only compiled on system with
older glib versions)

2008-06-09  Christophe Fergeau  <teuf@gnome.org>

* src/db-artwork-writer.c:
* src/itdb_artwork.c:
* src/itdb_thumb.c:
* src/itdb_thumb.h: fix compilation when gdk-pixbuf isn't present

2008-06-02  Jorg Schuler <jcsjcs at users.sourceforge.net>

* src/itdb_track.c (itdb_track_remove_thumbnails): set mhii_link
  to 0.

* src/db-artwork-parser.c (mhfd_associate_itunesdb_artwork):
  remove thumbnails if mhii_link is invalid.

2008-06-02  Jorg Schuler <jcsjcs at users.sourceforge.net>

* src/gchecksum.c
  src/gchecksum.h
  src/Makefile.am
  configure.ac: copied gchecksum from glib 2.16.3. It's used if we
  compile on a system that does not have glib 2.16 or
  higher. Testing is needed whether it's really pulled in in those
  cases -- I'm using 2.16.3 myself.

* src/itdb_itunesdb.c (mk_mhit): write mhii_link.

* src/db-artwork-writer.c: code to handle sparse artwork
  correctly.
  
  (ipod_supports_sparse_artwork): currently hard-coded to
  TRUE. Will be changed in the future to reflect the information
  given in the SysInfoExtended. Change yourself if your iPod does
  not support Sparse Artwork (sharing of thumbnails between
  several tracks).

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

* src/itdb_thumb.c
  remove some unnecessary checks for NULL pointer
  (itdb_thumb_duplicate): move g_list_reverse() outside the loop
  modifying the list.

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

* src/itdb_thumb.c
  src/itdb_thumb.h
  src/ithumb-writer.c
  src/itdb_photoalbum.c: fixed a number of compile-time warnings.

2008-05-30  Christophe Fergeau  <teuf@gnome.org>

Patch from Ian Stewart

* src/itdb_itunesdb.c: don't pass NULL sort_composer names down to
jump_table_letter, fixes a crash reported by Andy Busch

2008-05-30  Christophe Fergeau  <teuf@gnome.org>

* src/Makefile.am:
* src/db-artwork-parser.c:
* src/db-artwork-writer.c:
* src/db-image-parser.c:
* src/db-image-parser.h:
* src/itdb.h:
* src/itdb_artwork.c:
* src/itdb_device.h:
* src/itdb_photoalbum.c:
* src/itdb_track.c:
* src/ithumb-writer.c:
* tests/test-covers.c:
* tests/test-photos.c: rework Itdb_Thumb type. Now it's split into
different subtypes depending on what it represents (GdkPixbuf,
thumbnail read from the ipod, ...). Itdb_Artwork now contains only a
pointer to a single Itdb_Thumb (it used to contain a GList * of
Itdb_Thumb) since the only time when the list is useful is for thumbs
read from the ipod. Using a list for the other types of thumbnails
created some complications when trying to set art on an Itdb_Track that
wasn't attached to an Itdb_iTunesDB.

2008-05-29  Christophe Fergeau <teuf at gnome.org>

* src/itunesdb.c:
* src/ithumb-writer.c: add missing static to internal functions

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

        * src/db-artwork-parser.c (parse_mhii): removed artwork_fallback
  variable upon Christophe's suggestion and streamlined code.

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

* src/itdb_track.c (itdb_track_set_thumbnails_internal): set
  artwork ID to 0 after removing thumbnails.

* src/db-artwork-parser.c (parse_mhii): move out dbid association
  to a separate function.

  (mhfd_associate_itunesdb_artwork): handle dbid and mhii_link
  association of artwork to track

  (parse_mhfd): loop over the number of mhsd hunks instead of
  hardcoding it. Call mhfd_associate_itunesdb_artwork().

* src/itdb_itunesdb.c (get_mhit): read the mhii_link field.

* src/db-artwork-writer.c (write_mhli): handle unset artwork
  correctly.

  (itdb_track_filter_thumbnails): remove thumbnails correctly.

* src/db-parse-context.c (db_parse_context_get_sub_context): copy
  newly introduced artwork field.

* tests/test-covers.c: print mhii_link.

* src/itdb.h: (Itdb_Track) added mhii_link. (Itdb_Artwork): added
  dbid.

* src/itdb.h, src/db-artwork-parser.c, src/db-artwork-writer.c,
  src/itdb_device.c, src/ithumb-writer.c, src/itdb_artwork.c:
  added ITDB_THUMB_CHAPTER_SMALL/LARGE.

* src/itdb_device.c: ipod_classic_1_artwork_info: correct
  ITDB_THUMB_COVER_SMALL/LARGE entries.

2008-05-25  Christophe Fergeau <teuf at gnome.org>

* configure.ac: libxml presence is mandatory unless
--disable-libxml is passed to configure

2008-05-25  Christophe Fergeau <teuf at gnome.org>

* src/itdb_device.c: don't insert NULL firewire IDs in the SysInfo
hash table

2008-05-25  Christophe Fergeau <teuf at gnome.org>

* configure.ac: rework libxml detection
* src/Makefile.am: remove LIBXML_CFLAGS/LIBXML_LIBS since they are
no longer used
* src/itdb_plist.c: add stub functions when libxml isn't available
* src/itdb_sysinfo_extended_parser.c: include config.h

2008-05-25  Christophe Fergeau <teuf at gnome.org>

* src/db-artwork-debug.c:
* src/db-artwork-writer.c:
* src/db-image-parser.c:
* src/db-itunes-parser.h:
* src/itdb_device.h:
* src/ithumb-writer.c: rename correlation_id to format_id (this is
how that value is called in SysInfoExtended)

2008-05-25  Christophe Fergeau <teuf at gnome.org>

* configure.ac: check libxml presence
* src/Makefile.am: add new files, remove obsolete ones
* src/itdb_plist.h:
* src/itdb_plist.c: plist parser, this parses a plist XML file to a
GHashTable of GValue *. This parser should be generic, ie it
doesn't know it's parsing SysInfoExtended, it only cares about it
being a plist file
* src/itdb_sysinfo_extended_parser.h:
* src/itdb_sysinfo_extended_parser.c: convert the parsed plist data
to data structures usable by libgpod
* src/itdb_device.h:
* src/itdb_device.c: parses SysInfoExtended in addition to SysInfo
* src/itdb_sysinfo.c: this hacky parser is obsoleted by the new
(much more complete) SysInfoExtended parser, so it's removed
* tests/Makefile.am:
* tests/test-sysinfo-extended-parsing.c: small test program for the
new parser

2008-05-25  Christophe Fergeau <teuf at gnome.org>

Patch from Ian Stewart <ian.stewart at ozemail.com.au>

* src/itdb_itunesdb.c: add jump letter support (mhod53)

2008-05-24  Christophe Fergeau <teuf at gnome.org>

* src/ithumb-writer.c: factor some code out of
ithumb_writer_write_thumbnail into separate functions to make the
code more readable

2008-05-24  Christophe Fergeau <teuf at gnome.org>

Patch from Jacob Hoffman-Andrews <jsha at newview.org>

* src/itdb_device.h: add 'crop' field to Itdb_ArtworkFormat
* src/itdb_device.c: fill this 'crop' field for the iphone
* src/ithumb-writer.c: use that new 'crop' field to crop the
thumbnails when the Itdb_ArtworkFormat requires it.

2008-05-24  Christophe Fergeau <teuf at gnome.org>

Patch from Jacob Hoffman-Andrews <jsha at newview.org>

* tools/hal-callout.c: add missing #include <unistd.h>

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

* tests/test-covers.c: print more info (marginally)

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

        * src/itdb_photoalbum.c
  src/itdb_private.h
  src/db-artwork-writer.c: renamed itdb_get_free_photo_id() to
  itdb_get_max_photo_id() and implemented Jacob Hoffman-Andrew's
  patch about the photo_ids and album_ids being shared.

* tests/test-covers.c: print more info (marginally)

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

* tests/test-covers.c: print more status messages.

2008-05-01  Todd Zullinger  <tmzullinger at users.sourceforge.net>

* configure.ac:
  Bump version to 0.6.1SVN

* bindings/python/ipod.py: write shuffle data (thanks to Diogo
  Dutra)

2008-04-19  Jorg Schuler <jcsjcs at users.sourceforge.net>

        * bindings/python/examples/Makefile.am
  Added fix_empty_artist_field.py provided by Thomas Perl.

2008-03-29  Todd Zullinger  <tmzullinger at users.sourceforge.net>

* bindings/python/Makefile.am
  docs/reference/Makefile.am
  src/Makefile.am: cleanup more of our dirs with make uninstall

* tests/test-rebuild-db.cc: include string.h to fix builds
  with gcc 4.3 (fixes SF tracker #1928618)

2008-03-02  Todd Zullinger  <tmzullinger at users.sourceforge.net>

* configure.ac
  m4/python.m4: shell portability fixes (courtesy of Klaus Heinz)

2008-02-13  Todd Zullinger  <tmzullinger at users.sourceforge.net>

* bindings/python/ipod.py: Track.set_thumbnail() was renamed
  to Track.set_coverart_from_file() a long time ago

2008-02-03  Christophe Fergeau  <teuf@gnome.org>

* src/db-artwork-debug.c:
* src/db-artwork-debug.h: fix mhod type1 and mhod type3 dumping
when debugging is enabled

2008-02-03  Christophe Fergeau  <teuf@gnome.org>

* src/db-artwork-debug.h: merge mhod type1 and mhod type3 dumping
functions
* src/db-artwork-writer.c: adjust to the change above
* src/db-artwork-parser.c: merge mhod type1 and mhod type3 parsing
* src/db-itunes-parser.h: remove obsolete comment

2008-02-03  Christophe Fergeau  <teuf@gnome.org>

* src/db-artwork-parser.c: use enum name instead of hardcoded int
* src/db-artwork-writer.c: add comments about values that aren't
swapped because they are 8 bit values

2008-02-03  Christophe Fergeau  <teuf@gnome.org>

* src/db-itunes-parser.h: merge ArtworkDB_MhodHeaderArtworkType3
and MhodHeaderArtworkType1 into a single struct called
ArtworkDB_MhodHeaderString
* src/db-artwork-parser.c:
* src/db-artwork-writer.c: adjust to the above change

2008-02-03  Christophe Fergeau  <teuf@gnome.org>

* src/db-artwork-parser.c: add missing g_free that could cause
memory leaks

2008-01-30  Christophe Fergeau  <teuf@gnome.org>

Patch by Martin Aumueller

* tests/test-ls.c: make sure the various fields we are trying to
print aren't NULL, this fixes a crash that was observed with
iphones

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

* src/itdb_itunesdb.c: don't use itdb_filename_ipod2fs to generate
the filename to put on the shuffle since on windows that would use
\ as a path separator instead of the correct /

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

* src/itdb_private.h:
* src/itdb_itunesdb.c: add itdb_file_set_contents to workaround a
rename issue on sshfs (existing files on the FS can't be
atomatically erased during a rename). Use it in wcontents_write
* src/db-artwork-writer.c: use itdb_file_set_contents to write the
ArtworkDB

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

* src/db-artwork-writer.c:
* src/db-parse-context.c:
* src/itdb_device.c:
* src/itdb_itunesdb.c:
* src/ithumb-writer.c: don't include unistd.h on systems which
don't have it

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

* src/itdb_itunesdb.c: rework itdb_cp for MacOSX/Windows
portability

2008-01-26  Michael Tiffany <tiffman at users.sourceforge.net>

        * src/itdb_chapterdata.c: file missed being added in
previous checkin

2008-01-26  Jorg Schuler <jcsjcs at users.sourceforge.net>

        * src/itdb_track.c
* src/itdb_itunesdb.c
* src/itdb_chapterdata
* src/itdb.h
* src/Makefile.am: applied chapterdata patch by Michael Tiffany.

2008-01-02  Christophe Fergeau <teuf@gnome.org>

* src/itdb_device.c: fix ITDB_THUMB_PHOTO_FULL_SCREEN format on
ipod classic and nano video, thanks to Tomas Carnecky for pointing
that out

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

* Makefile.am: add ACLOCAL_AMFLAGS to fix some autoreconf
  issues (thanks to Frank Lichtenheld at Debian)

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

* configure.ac
  libgpod-1.0.pc.in:
  conditionally add gdk-pixbuf to pkg-config Requires.
  exit with an error if gdk-pixbuf or pygobject are explicitly
  requested and not found.
  add AM_PROG_CC_C_O to make automake happy about per-target
  flags in tests/Makefile.am

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

* autogen.sh: pass any user-specified options to configure

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

* src/itdb_playlist.c (itdb_splr_eval): track length in rules for
  smart playlists was treated as seconds, but the iPod treats them
  as milliseconds. If you told libgpod to create a smart playlist
  with tracks less than 100 secs in length, but the life update of
  the iPod would interpret that rule as "tracks less than 100 msec
  in length", giving a vastly different result. Tested with iPod
  Nano 1G and iPod nano Video (3G).

  Requires corresponding fix in GUIs using this function.

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

* src/itdb_device.c: fix typoes in iPod Touch model lists

2007-11-14  Christophe <teuf@gnome.org>

* src/itdb_itunesdb.c: use libgpod as the prefix of music files to
be copied to the ipod instead of gtkpod

2007-11-14  Christophe <teuf@gnome.org>

* src/itdb_itunesdb.c: get rid of local g_mkdir_with_parents copy
since we now depend on glib 2.8 which have it. Replace mkdir with
g_mkdir

2007-11-14  Christophe <teuf@gnome.org>

* src/itdb_itunesdb.c: ignore invalid UTF-8 paths which might have
been added to the iPod by the user

2007-11-14  Christophe <teuf@gnome.org>

* src/itdb_photoalbum.c: use g_list_remove all instead of an
inefficient combination of g_list_find + g_list_remove

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

* src/itdb_photoalbum.c (itdb_photodb_photoalbum_remove): make
  sure same photo isn't freed multiple times if it was added in an
  album multiple times.

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

* src/itdb_photoalbum.c: fix bug in itdb_photodb_photoalbum_remove,
when removing all the photos from the photodatabase, we were
erasing elements and iterating over the list at the same time,
which resulted in the function not working properly

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