2005-12-06 Jorg Schuler * 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 * 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 * src/db-artwork-parser.c: (parse_mhni): don't crash if ipod_image_new_from_mhni returns NULL 2005-11-28 Christophe Fergeau * 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 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 * overall changes to support itdb_image_get_gdk_pixbuf(). Run "tests/test-thumbnails to copy all thumbnails into the current directory. * configure.ac: bumped version to 0.2.2 2005-11-23 Christophe Fergeau * 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 * src/hal-common.c: * tests/test-covers.c: (ipod_image_to_gdk_pixbuf): more glib 2.4 changes 2005-11-23 Christophe Fergeau * configure.ac: bumped version number ==== libgpod 0.2.0 ==== 2005-11-23 Christophe Fergeau * configure.ac: set version number to 0.2.0 2005-11-22 Christophe Fergeau * src/ipod-device.c: fix compilation issue when hal isn't available 2005-11-22 Christophe Fergeau * configure.ac: fix .so versioning 2005-11-22 Christophe Fergeau * src/glib-compat.h: include stdio.h in the glib 2.4 compat code 2005-11-21 Christophe Fergeau * COPYING: libgpod really is LGPL 2005-11-21 Christophe Fergeau * configure.ac: set version number to 0.2.0 * src/Makefile.am: added glib-compat.h 2005-11-21 Christophe Fergeau * configure.ac: * src/Makefile.am: 2005-11-21 Christophe Fergeau * src/glib-compat.h: added a missing helper file for glib 2.4 compilation 2005-11-21 Christophe Fergeau * src/hal-common.c: * src/ipod-device.c: marked some functions as static 2005-11-21 Christophe Fergeau * 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 * 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 * 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 * INSTALL: * autogen.sh: * gnome-autogen.sh: 2005-11-21 Christophe Fergeau * 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 * 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 * 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 * src/itdb_itunesdb.c: (itdb_new): initialise glib type system before calling ipod_device_new (which creates a gobject) 2005-11-13 Jorg Schuler * 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 * 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 * 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 * 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 * 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 * src/hal-common.c: * src/hal-common.h: more #if => #ifdef changes 2005-11-08 Christophe Fergeau * 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 * 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 * src/ipod-device.h: * src/itdb.h: added missing G_BEGIN_DECLS and G_END_DECLS 2005-11-05 Christophe Fergeau * 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 * 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 * 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 * 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 * 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 * 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 * src/db-artwork-writer.c: (ipod_buffer_destroy): * src/itdb_track.c: (itdb_track_set_defaults): applied patch from Uwe Hermann to add video support to libgpod, removed spurious g_print 2005-11-01 Jorg Schuler * 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 * 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 * (itdb_write): remove mountpoint as parameter as not used. 2005-10-20 Christophe Fergeau * tests/test-covers.c: (save_song_thumbnails): fix warning on amd64 2005-10-19 Jorg Schuler * 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 * 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 * 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 * 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 * 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 * 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 with better default * configure.ac: add dependency for libgobject 2005-10-02 Jorg Schuler * 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 * applied Chrisophe's patch to make libgdk optional 2005-09-27 Jorg Schuler * 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 * .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 * 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 * 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 * bindings/: added python bindings provided by Nicholas Piper * 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 * applied Christophe Fergeau's patch which adds cover art writing support to libgpod -> bump to version 104 2005-09-21 Jorg Schuler * 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 * Release of 0.1.3 2005-09-19 Jorg Schuler * 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 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 * renamed fdesc to filetype * po/it.po: updated (thanks to Edward Matteucci) 2005-09-16 Jorg Schuler * itdb.h/itdb_itunesdb.c: changed 'static void itdb_count_musicdirs()' to 'gint itdb_musicdirs_number()' 2005-09-14 Jorg Schuler * 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 * 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 * 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 patch to make 'inthelast' SPL work. * README: added some notes. 2005-09-10 Christophe Fergeau * 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 * README: added quick description of the library purpose 2005-09-10 Christophe Fergeau * 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