summaryrefslogtreecommitdiffstats
path: root/src/db-artwork-parser.c
Commit message (Collapse)AuthorAgeFilesLines
* 2008-08-09 Paul Richardson <phantom_sf at users.sourceforge.net>P.G. Richardson2008-08-091-0/+1
| | | | | | | | | | | | * 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@2096 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Remove non-useful argument to db_parse_context_destroy (patch from songbird)Christophe Fergeau2008-07-061-3/+3
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@2038 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Fix memleakChristophe Fergeau2008-07-051-0/+1
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@2035 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/db-artwork-parser.c: remove duplicated artwork/photo supportChristophe Fergeau2008-06-091-84/+1
| | | | | | | | | | | | | | | | | | | | | 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/itdb_track.c (itdb_track_remove_thumbnails): set mhii_linkJorg Schuler2008-06-051-0/+4
| | | | | | | | | to 0. * src/db-artwork-parser.c (mhfd_associate_itunesdb_artwork): remove thumbnails if mhii_link is invalid. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@2006 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/Makefile.am:Christophe Fergeau2008-05-301-9/+12
| | | | | | | | | | | | | | | | | | | | | | | * 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
* * src/db-artwork-parser.c (parse_mhii): removed artwork_fallbackJorg Schuler2008-05-281-27/+14
| | | | | | variable upon Christophe's suggestion and streamlined code. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1986 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb_track.c (itdb_track_set_thumbnails_internal): setJorg Schuler2008-05-281-48/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Factorize mhod_type_3 and mhod_type_1 handlingChristophe Fergeau2008-02-031-69/+81
| | | | | | | | MHOD in an ArtworkDB can only have 2 types, either they contain a string or they are some kind of container. The code had an arbitrary separation between mhod type 3 and mhod type 1 which both contained strings. This consolidates that code in a parse_mhod_string function git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1947 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Add comment about fields that aren't byteswapped, remove hardcoded intChristophe Fergeau2008-02-031-1/+1
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1946 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Merge ArtworkDB_MhodHeaderArtworkType3 and MhodHeaderArtworkType1 into ↵Christophe Fergeau2008-02-031-10/+11
| | | | | ArtworkDB_MhodHeaderString git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1945 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Fix potential memory leaksChristophe Fergeau2008-02-021-0/+3
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1944 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/db-artwork-parser.c (parse_mhba): fix double g_free on mhbaJorg Schuler2007-11-101-16/+30
| | | | | | | | chunks with multiple mhods. Currently only mhods of type 1 are handled, the rest (type 2: image transition style) are being discarded. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1768 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Patch from Filippo Giunchedi <filippo@esaurito.net>Christophe Fergeau2007-10-241-1/+1
| | | | | | * src/db-artwork-parser.c: (parse_mhba): another missing endianness conversion git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1734 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/db-image-parser.cJorg Schuler2007-09-081-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | 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/db-artwork-parser.c (parse_mhba): non-zero terminatedJorg Schuler2007-06-011-2/+4
| | | | | | | | | | | | | | 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1514 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/db-artwork-parser.cJorg Schuler2007-05-271-3/+3
| | | | | | | | | | | | | | | | | 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1439 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * docs/reference/tmpl/device.sgmlJorg Schuler2007-04-271-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1417 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * itdb.h: Itdb_Artwork:Jorg Schuler2006-11-111-133/+63
| | | | | | | | | | | | | | | | | | | | | - 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(). git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1335 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Added additional functionality for photo albumsJorg Schuler2006-10-291-9/+23
| | | | | | | | | | | | | | | * 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1330 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Major rework of picture support.Jorg Schuler2006-10-291-3/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1329 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* 2006-06-05 Jorg Schuler <jcsjcs at users.sourceforge.net>Jorg Schuler2006-06-041-8/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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/itdb.h:Jorg Schuler2006-06-011-8/+24
| | | | | | | | | | | | | | | | | | | | | | 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
* * src/db-artwork-writer.c (write_mhni): fix segfault caused byJorg Schuler2006-06-011-3/+3
| | | | | wrong access of enum inside Itdb_DB git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1295 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* ***** merged photo-support branch back to MAIN. branch is taggedJorg Schuler2006-05-301-104/+240
| | | | | | | 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-45/+66
| | | | | | | | | | 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-14/+34
| | | | | | | | | | | | | | | 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: change g_assert to g_return_if_fail (don'tJorg Schuler2005-12-061-1/+1
| | | | | | | | | | | | | | | | 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). There's a number of g_asserts left in db-parse-context.c which don't catch programming errors but input errors. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1188 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb_track.c: take care of artwork_size/_count a littleJorg Schuler2005-12-041-3/+3
| | | | | | | | | 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
* One more detail for the consistent size stuff.Jorg Schuler2005-12-041-1/+1
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1186 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Fix warning about Artwork sizes when importing database.Jorg Schuler2005-12-041-1/+1
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1185 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/db-artwork-writer.c, src/itdb_itunesdb.c,Jorg Schuler2005-12-041-3/+5
| | | | | | 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
* * src/db-artwork-writer/parser.c: Create ArtworkDB when it doesJorg Schuler2005-12-041-2/+22
| | | | | not exist. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1183 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* 2005-11-30 Christophe Fergeau <teuf@gnome.org>Christophe Fergeau2005-11-301-3/+5
| | | | | | * src/db-artwork-parser.c: (parse_mhni): don't crash if ipod_image_new_from_mhni returns NULL git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1182 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* New API for thumbnail support: see src/itdb.h for details.Jorg Schuler2005-11-281-16/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1180 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * overall changes to support itdb_image_get_gdk_pixbuf(). RunJorg Schuler2005-11-241-3/+33
| | | | | | "tests/test-thumbnails <ipod_mount> to copy all thumbnails into the current directory. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1172 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* 2005-11-23 Christophe Fergeau <teuf@gnome.org>Christophe Fergeau2005-11-231-27/+60
| | | | | | | | | | | | | | | | | | | | * 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 git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1171 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * itdb_itunesdb.c (itdb_parse): added comment, check for itdbJorg Schuler2005-10-251-0/+2
| | | | | | | | before calling ipod_pars_artwork_db() * db-artwork_parser.c (ipod_parse_artwork_db): added assertion to avoid segfault if called NULL parameter. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1129 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Added a few structures (notably MHBA and MHIA) to support the Photo Database.Flavio Stanchina2005-10-101-13/+86
| | | | | Split 'gint32 image_dimensions' into 'gint16 image_height, image_width'. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1115 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Added a couple of #ifndef DEBUG_ARTWORKDB to db-artwork-parser.c, otherwise ↵Flavio Stanchina2005-10-101-0/+4
| | | | | it wouldn't compile with -Werror. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1114 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* 2005-09-27 Christophe Fergeau <teuf@gnome.org>Christophe Fergeau2005-09-271-0/+4
| | | | | | | | | | * 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 git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1103 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * applied Christophe Fergeau's patch which adds cover art writingJorg Schuler2005-09-221-28/+23
| | | | | support to libgpod -> bump to version 104 git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1098 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * applied patch provided by Christophe Fergeau <teuf at gnome.org>Jorg Schuler2005-09-191-0/+398
for artwork database support (read-only). git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1093 f01d2545-417e-4e96-918e-98f8d0dbbcb6