summaryrefslogtreecommitdiffstats
path: root/src/ithumb-writer.c
Commit message (Collapse)AuthorAgeFilesLines
* Update API documentationTodd Zullinger2008-12-081-1/+1
| | | | | | | 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@2159 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Attempt at fixing an artwork display bug on the nano4gChristophe Fergeau2008-11-171-7/+16
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@2153 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Stricter sanity checkChristophe Fergeau2008-11-171-2/+6
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@2152 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Add overflow checks when computing sizes to use as a malloc argChristophe Fergeau2008-11-171-14/+32
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@2151 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* 2008-08-03 Jorg Schuler <jcsjcs at users.sourceforge.net>Jorg Schuler2008-08-031-15/+3
| | | | | | | | | * src/ithumb-writer (ithumb_writer_handle_pixbuf_transform): handle rotation correctly: don't interchange width and height for the thumbnail on the iPod. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@2083 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/ithumb-writer.c (pack_RGB_565), (pack_RGB_555)Jorg Schuler2008-07-201-3/+6
| | | | | | | | | (pack_RGB_888): handle horizontal padding correctly (affected pictures in portrait format). * src/itdb_device.c: added some comments. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@2060 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Fix bug in thumbnail resizing when not cropping which caused duplicated ↵Christophe Fergeau2008-07-061-20/+21
| | | | | lines at the bottom of thumbnails git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@2036 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Fix bug in thumbnail rearranging codeChristophe Fergeau2008-07-051-2/+2
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@2034 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Fix a memory leakChristophe Fergeau2008-07-051-0/+1
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@2032 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/ithumb-writer.c (itdb_write_ithumb_files): fix bug whenJorg Schuler2008-06-291-5/+6
| | | | | | | writing photos (loop variable "it" re-used inside loop). Rename loop variable to "itw" also in case of writing artwork. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@2023 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb_device.h:Christophe Fergeau2008-06-091-74/+207
| | | | | | | * src/itdb_sysinfo_extended_parser.c: * src/ithumb-writer.c: use background color and alignement information from SysInfoExtended if available git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@2014 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/db-artwork-writer.c:Christophe Fergeau2008-06-091-36/+15
| | | | | | | | | | | * 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 git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@2010 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/db-artwork-parser.c: remove duplicated artwork/photo supportChristophe Fergeau2008-06-091-19/+20
| | | | | | | | | | | | | | | | | | | | | 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 git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@2009 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/gchecksum.cJorg Schuler2008-06-021-2/+13
| | | | | | | | | | | | | | | | | | | | | | 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). git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@2005 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb_thumb.cJorg Schuler2008-05-301-2/+4
| | | | | | | | src/itdb_thumb.h src/ithumb-writer.c src/itdb_photoalbum.c: fixed a number of compile-time warnings. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1994 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/Makefile.am:Christophe Fergeau2008-05-301-121/+177
| | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1991 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Add missing static to function declarationsChristophe Fergeau2008-05-291-2/+2
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1990 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb_track.c (itdb_track_set_thumbnails_internal): setJorg Schuler2008-05-281-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1985 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/db-artwork-debug.c:Christophe Fergeau2008-05-251-6/+6
| | | | | | | | | | * 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) git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1981 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Factor some code out of ithumb_writer_write_thumbnail for better readabilityChristophe Fergeau2008-05-241-156/+159
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1977 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Handle cropping for thumbnails needing itChristophe Fergeau2008-05-241-57/+154
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1976 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Portability fix: only include unistd.h when it's availableChristophe Fergeau2008-01-291-0/+2
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1940 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Added support for video output of photos for iPod Nano Videos andJorg Schuler2007-11-041-23/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1753 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Additional clean-ups after the glib requirement bumping pointed out byChristophe Fergeau2007-10-301-0/+1
| | | | | | | | | | | | | | | 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 git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1749 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb_artwork.c:Christophe Fergeau2007-10-291-1/+1
| | | | | | * src/ithumb-writer.c: replace // comments with /* */ pairs, fixes compilation on my machine git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1747 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Patch from Filippo Giunchedi <filippo@esaurito.net>Christophe Fergeau2007-10-291-0/+16
| | | | | | | | * 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 git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1746 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb_device.c (ipod_classic_1_artwork_info)Jorg Schuler2007-10-271-13/+98
| | | | | | | | | | | | | | | | | | 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). git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1741 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb_photoalbum.c: (itdb_get_photos_dir):Christophe Fergeau2007-10-211-1/+1
| | | | | * src/ithumb-writer.c: (ipod_image_get_ithmb_filename): git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1728 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/db-image-parser.cJorg Schuler2007-09-081-8/+174
| | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1691 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb.hJorg Schuler2007-03-211-0/+8
| | | | | | | | | | | | 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1405 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/ithumb-writer.c: reduced maximum size for ithmb files fromJorg Schuler2007-02-091-2/+4
| | | | | 500 MB to 256 MB after reports of slow iPod interface behavior. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1391 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/pixmaps.cJorg Schuler2007-01-091-6/+25
| | | | | | | | | | | 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] git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1352 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/ithumb-writer.c (ithumb_writer_write_thumbnail): handleJorg Schuler2006-11-261-6/+10
| | | | | | | | | | | | 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1341 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * When adding photos to the iPod the user may or may not want toJorg Schuler2006-11-231-5/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1338 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * itdb_artwork.c: added support for UYVY format for iPod Video andJorg Schuler2006-11-121-23/+136
| | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1337 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * ithumb-writer.c (itdb_write_ithumb_files):Jorg Schuler2006-11-121-63/+115
| | | | | | | | | | | | | | | | 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()) :-) git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1336 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/ithumb-writer.c: removed re-using of thumbnail data in orderJorg Schuler2006-09-211-30/+1
| | | | | | to avoid incompatibility with iTunes (even though our way was more efficient...) git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1317 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Sizing of pixmap did not work properly for data (non-file) coverart.Jorg Schuler2006-09-171-3/+3
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1314 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb.hJorg Schuler2006-09-171-21/+52
| | | | | | | | | | | | | | | | | 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1313 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* 2006-06-05 Jorg Schuler <jcsjcs at users.sourceforge.net>Jorg Schuler2006-06-041-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1299 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/db-artwork-writer.cJorg Schuler2006-06-021-32/+54
| | | | | | | | | | | | | | | 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1298 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb.h:Jorg Schuler2006-06-011-8/+17
| | | | | | | | | | | | | | | | | | | | | | 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 git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1296 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* ***** merged photo-support branch back to MAIN. branch is taggedJorg Schuler2006-05-301-80/+167
| | | | | | | photo-support-merged_00 ipod.py will need minor patching (flag2, flag3). git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1292 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Alpha version of reversed-endian Artwork writing. Status: iTunesDBJorg Schuler2006-03-231-6/+16
| | | | | | | | | | 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1225 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * itdb_device.[ch]: rewrote ipod-device.c, removed all hal-code,Jorg Schuler2006-03-161-34/+43
| | | | | | | | | | | | | | | 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1220 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb_itunesdb.c, src/itdb_playlist.c, src/ithumb-writer.c:Jorg Schuler2006-02-031-6/+6
| | | | | | | 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). git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1201 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/ithumb-writer.c: fixed typo leading to segfault.Jorg Schuler2005-12-101-1/+1
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1192 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/ithumb-writer.c: create Artwork directory when attempting toJorg Schuler2005-12-091-0/+9
| | | | | write to it. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1189 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb_track.c: take care of artwork_size/_count a littleJorg Schuler2005-12-041-48/+129
| | | | | | | | | 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1187 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/db-artwork-writer.c, src/itdb_itunesdb.c,Jorg Schuler2005-12-041-1/+0
| | | | | | src/itdb_track.c, src/ithumb-writer.c: handle artwork size and count self-consistently. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1184 f01d2545-417e-4e96-918e-98f8d0dbbcb6