summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* * src/itdb_itunesdb.c:Jorg Schuler2007-05-071-2/+2
| | | | | | Fix for 64 bit systems: don't show "last played" data as played in the last century... Thanks to Christophe. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1428 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb_artwork.cJorg Schuler2007-05-072-2/+2
| | | | | | | src/itdb_itunesdb.c tests/test-photos.c: Corrected some typos. Thanks to Daniele Forsi. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1427 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb_itunesdb.cJorg Schuler2007-05-064-177/+368
| | | | | | | | | | | | | | | | | | | | | 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
* * src/itdb_itunesdb.c (itdb_cp_track_to_ipod): removed staticJorg Schuler2007-05-011-13/+6
| | | | | | | | | | | variable "dir_num" which was initialized once and cycled through for each track transfered. This doesn't seem right since different iPods with different number of music directories may be connected at the same time, and itdb_cp_track_to_ipod() may be called for different iTunesDBs at the same in in a threaded environment. Since there is no inherent value in cycling through the directories, a random directory is selected each time. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1425 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb_playlist.c (compMostOftenPlayed, compLeastOftenPlayed):Jorg Schuler2007-04-301-2/+2
| | | | | | compaered time_added instead of playcount (thanks to Daniele Forsi). git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1423 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb_itunesdb (itdb_parse_internal): fixed compile warningJorg Schuler2007-04-301-1/+1
| | | | | | | | | | (thanks to Daniele Forsi). * tests/test-ls.c (display_recently_played): fixed compile warning (thanks to Daniele Forsi). * tests/get-timezone.c: added to CVS (thanks to Daniele Forsi). git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1422 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * docs/reference/tmpl/track.sgmlJorg Schuler2007-04-283-95/+304
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-274-517/+512
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-278-159/+337
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-143-3/+59
| | | | | | | | | * 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-082-9/+7
| | | | | | | | 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_itunesdb.c: streamline MHOD52 patch (remove mk_mhod52()Jorg Schuler2007-03-251-190/+177
| | | | | and let mk_mhod() handle the sorting of mhod52 directly). git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1409 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb_itunesdb.c: Write out MHOD52 hunks after masterJorg Schuler2007-03-231-7/+259
| | | | | | | playlist. This speeds up the iPod interface when browsing titles or albums etc. because the iPod won't have to sort through the track list. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1408 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb_itunesdb.c (write_playlist): corrected what is writtenJorg Schuler2007-03-221-6/+3
| | | | | | into the mhyp header according to the iTunesDB wiki (mhod count / libmhod count) git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1407 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb.hJorg Schuler2007-03-215-6/+181
| | | | | | | | | | | | 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_itunesdb.c (itdb_cp_track_to_ipod): cast filenameJorg Schuler2007-03-211-2/+7
| | | | | | | extension to lowercase because some people reported new iPod models choking on filenames with uppercase extensions like test.MP3. Not sure if it helps, though. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1404 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb_artwork.c (itdb_artwork_remove_thumbnail): memory usedJorg Schuler2007-03-211-2/+3
| | | | | | | | | by thumbnail to be removed will be freed now. ATTENTION: this changes the previous API description that stated that the thumbnail will not be freed. This behaviour was inconsistent with all other _remove functions in libgpod and caused a memory hole. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1403 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb.hJorg Schuler2007-02-253-22/+79
| | | | | | | | | | | | | 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_itunesdb.c (get_mhod): don't skip unknown action typesJorg Schuler2007-02-241-39/+40
| | | | | | in smart rules to avoid writing illegal smart playlist rules corrupting the iTunesDB in the process. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1397 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb.hJorg Schuler2007-02-243-43/+110
| | | | | | | | | 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/db-itunes-parser.hJorg Schuler2007-02-242-3/+6
| | | | | | src/artwork-writer.c: Set unknown2 of mhfd header to 2 instead of 1, otherwise iTunes7 wipes the ArtworkDB. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1395 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/itdb.hJorg Schuler2007-01-182-4/+4
| | | | | | 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
* * src/itdb_itunesdb.c: added instructions on how to add new stringJorg Schuler2007-01-141-2/+30
| | | | | | fields like 'tvepisode', 'tvshow' without forgetting half of the places that need to be touched. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1364 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * tests/test-photos.c:Jorg Schuler2007-01-141-2/+2
| | | | | src/itdb_photoalbum.c: fixed two typos in message strings. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1362 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* add more tv show fixes from Mario Rossi.Todd Zullinger2007-01-131-0/+10
| | | | | add missing albumartist and keywords pointed out by Jorg. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1361 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* add a few more MHOD types that Jorg suggestedTodd Zullinger2007-01-131-0/+2
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1360 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* TV shows patch from Mario RossiTodd Zullinger2007-01-121-0/+3
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1357 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Add PhotoDB functions to the docs.Todd Zullinger2007-01-112-8/+11
| | | | | | 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-104-6/+12
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1355 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb.hJorg Schuler2007-01-092-10/+104
| | | | | | | 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/pixmaps.cJorg Schuler2007-01-094-6/+4175
| | | | | | | | | | | 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/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-083-21/+66
| | | | | | | | | | | | | | * 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/ithumb-writer.c (ithumb_writer_write_thumbnail): handleJorg Schuler2006-11-262-8/+15
| | | | | | | | | | | | 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
* * src/itdb.hJorg Schuler2006-11-262-26/+10
| | | | | | | 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-242-11/+26
| | | | | | | | | | 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-235-37/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-125-67/+296
| | | | | | | | | | | | | | | | | | | | | | | | 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
* * itdb.h: Itdb_Artwork:Jorg Schuler2006-11-115-156/+98
| | | | | | | | | | | | | | | | | | | | | - 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-073-29/+62
| | | | | | | | | | | | | | | 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
* * configure.ac, src/Makefile.am: new soname versioningJorg Schuler2006-10-311-2/+1
| | | | | scheme. Thanks to Todd Zullinger and Frank Lichtenheld. git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1333 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* * src/itdb_photoalbum.c: fixed typo (Libarary -> Library).Jorg Schuler2006-10-311-4/+5
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1332 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Fix compiler error/warning. Thanks to Todd Zullinger.Jorg Schuler2006-10-291-2/+3
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1331 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Added additional functionality for photo albumsJorg Schuler2006-10-295-38/+87
| | | | | | | | | | | | | | | * 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-295-255/+602
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* * src/itdb_playlist.c (itdb_playlist_add, itdb_playlist_add_track):Jorg Schuler2006-10-222-8/+7
| | | | | | src/itdb_track.c (itdb_track_add): simplify code by using g_list_insert(). git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1328 f01d2545-417e-4e96-918e-98f8d0dbbcb6
* Reverted accidential patch.Jorg Schuler2006-09-282-88/+0
| | | git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1324 f01d2545-417e-4e96-918e-98f8d0dbbcb6