summaryrefslogtreecommitdiffstats
path: root/src/itdb.h
Commit message (Collapse)AuthorAgeFilesLines
* * src/itdb_device.c:Jorg Schuler2007-09-151-2/+26
| | | | | | | | | | | | | | | | | | | 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_* git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1695 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/db-image-parser.cJorg Schuler2007-09-081-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | 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
* * itdb_itunesdb.c (itdb_get_control_dir):Jorg Schuler2007-09-041-1/+2
| | | | | | | | | | | | | 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1690 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* remove references to Mac type timestampsTodd Zullinger2007-07-051-14/+12
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1623 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb.h: corrected description for "BPM" (beats per minute)Jorg Schuler2007-06-171-1/+1
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1552 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb_itunesdb.cJorg Schuler2007-06-171-16/+15
| | | | | | | | | | | 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1549 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb.h: warning about adding string fieldsJorg Schuler2007-05-171-0/+5
| | | | | | src/itdb_track_duplicate: duplicate new string fields (sort_*). Thanks to Raymond Walsh. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1435 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Minor documentation cleanups.Todd Zullinger2007-05-121-0/+2
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1430 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb_itunesdb.cJorg Schuler2007-05-061-7/+15
| | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1426 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * docs/reference/tmpl/track.sgmlJorg Schuler2007-04-281-47/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1421 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb.h: added padding to exported structures so new entriesJorg Schuler2007-04-281-18/+76
| | | | | | | can be added without loosing backward run-time compatibility. Comments welcome. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1420 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb.hJorg Schuler2007-04-271-147/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | src/itdb_itunesdb.c src/itdb_playlist.c src/itdb_private.h: 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) git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1418 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * docs/reference/tmpl/device.sgmlJorg Schuler2007-04-271-15/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* 2007-04-14 Christophe Fergeau <teuf@gnome.org>Christophe Fergeau2007-04-141-0/+2
| | | | | | | | | * 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1414 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb.h: changed 'gchar *chapterdata' to 'gpointerJorg Schuler2007-04-081-3/+2
| | | | | | | | 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1413 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb.hJorg Schuler2007-03-211-0/+14
| | | | | | | | | | | | 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/itdb.hJorg Schuler2007-02-251-2/+14
| | | | | | | | | | | | | 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1398 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb.hJorg Schuler2007-02-241-5/+13
| | | | | | | | | 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1396 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb.hJorg Schuler2007-01-181-2/+2
| | | | | | src/itdb_itunesdb.c (itdb_cp_track_to_ipod): changed declaration of 'filename' from "gchar *" to "const gchar *". git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1389 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Add PhotoDB functions to the docs.Todd Zullinger2007-01-111-1/+1
| | | | | | Incorporate usage overviews from README into the docs. Fix a few doc comments to allow gtk-doc to parse them. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1356 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* applied Todd Zullinger's patch fixing warnings when building the documentationJorg Schuler2007-01-101-1/+1
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1355 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb.hJorg Schuler2007-01-091-1/+9
| | | | | | | src/itdb_itunesdb.c: added tvshow, tvepisode, tvnetwork, albumartist, keywords, reseved to Itdb_Track. 'reserved' can later be used to support 'Artist, The'. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1353 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb.h: added 2 pointers for future extension toJorg Schuler2007-01-081-1/+3
| | | | | Itdb_Playlist (MHOD100). git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1351 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * tests/Makefile.am: cleanupJorg Schuler2007-01-081-3/+20
| | | | | | | | | | | | | | * 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1348 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb.hJorg Schuler2006-11-261-18/+2
| | | | | | | src/itdb_itunesdb.c: removed mhodcount and libmhodcount from Itdb_Playlist as these are only used internally and reset during syncing. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1340 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb.hJorg Schuler2006-11-241-3/+6
| | | | | | | | | | 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). git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1339 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * When adding photos to the iPod the user may or may not want toJorg Schuler2006-11-231-13/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.h: Itdb_Artwork:Jorg Schuler2006-11-111-6/+15
| | | | | | | | | | | | | | | | | | | | | - 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
* * itdb.h:Jorg Schuler2006-11-071-10/+45
| | | | | | | | | | | | | | | 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 git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1334 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Added additional functionality for photo albumsJorg Schuler2006-10-291-7/+25
| | | | | | | | | | | | | | | * 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-106/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Reverted accidential patch.Jorg Schuler2006-09-281-4/+0
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1324 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * po/sv.po: updated version by Stefan AsserhallJorg Schuler2006-09-261-0/+4
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1323 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb.h: explain 'checked' field in Itdb_Track declarationJorg Schuler2006-09-231-2/+2
| | | | | | * src/itdb_playlist.c (itdb_spl_update): in SPLs with 'match checked tracks only" set, all unchecked tracks were matched. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1318 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/ithumb-writer.c: removed re-using of thumbnail data in orderJorg Schuler2006-09-211-1/+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
* * src/itdb.hJorg Schuler2006-09-171-4/+20
| | | | | | | | | | | | | | | | | 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
* * src/itdb.hJorg Schuler2006-09-171-2/+8
| | | | | | src/itdb_device.c: added definitions for new sixth generation iPod Videos, iPod Nanos and iPod Shuffle. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1311 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb_itunesdb.cJorg Schuler2006-06-241-1/+2
| | | | | | | | src/itdb.h: Added itdb_get_itunessd_path (). itdb_init_ipod() will no longer overwrite existing iTunesDB and iTunesSD. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1304 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb.hJorg Schuler2006-06-071-1/+4
| | | | | | | | | | | | | | | | | | 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1302 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb.hJorg Schuler2006-06-051-3/+3
| | | | | | | | | | | 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() Input on naming welcome! git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1300 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* 2006-06-05 Jorg Schuler <jcsjcs at users.sourceforge.net>Jorg Schuler2006-06-041-7/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-1/+3
| | | | | | | | | | | | | | | 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-17/+1
| | | | | | | | | | | | | | | | | | | | | | 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-10/+96
| | | | | | | 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
* 2006-04-03 Jorg Schuler <jcsjcs at users.sourceforge.net>Jorg Schuler2006-04-051-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1227 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * itunesdb.c: set filetype identifier when transfering track toJorg Schuler2006-03-291-4/+5
| | | | | the iPod. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1226 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Alpha version of reversed-endian Artwork writing. Status: iTunesDBJorg Schuler2006-03-231-7/+8
| | | | | | | | | | 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-10/+19
| | | | | | | | | | | | | | | 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
* * itdb.h, itdb_itunesdb.c: added functions for autodetection ofJorg Schuler2006-03-141-3/+5
| | | | | | | iControl directory (currently either <mp>/iPod_Control or <mp>/iTunes/iTunes_Control): itdb_get_control_dir() and itdb_get_itunes_dir() git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1219 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * itdb.h: added movie_flag and lyrics_flag to Itdb_TrackJorg Schuler2006-03-121-10/+20
| | | | | | | | | | | | | * 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. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1218 f01d2545-417e-4e96-918e-98f8d0dbbcb6