diff options
| author | Jorg Schuler <jcsjcs@users.sourceforge.net> | 2006-06-04 16:24:45 +0000 |
|---|---|---|
| committer | Jorg Schuler <jcsjcs@users.sourceforge.net> | 2006-06-04 16:24:45 +0000 |
| commit | 3e7e0dafe36906f036dce107220ca79583087dd7 (patch) | |
| tree | 659eb107c8bbdacf0f74f3c9db68e0aa122eec6a /src/itdb.h | |
| parent | f68c615b63670b9b17ab8baaa5771f9d41d931eb (diff) | |
| download | libgpod-3e7e0dafe36906f036dce107220ca79583087dd7.tar.gz libgpod-3e7e0dafe36906f036dce107220ca79583087dd7.tar.xz libgpod-3e7e0dafe36906f036dce107220ca79583087dd7.zip | |
2006-06-05 Jorg Schuler <jcsjcs at users.sourceforge.net>
* 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
Diffstat (limited to 'src/itdb.h')
| -rw-r--r-- | src/itdb.h | 67 |
1 files changed, 60 insertions, 7 deletions
@@ -1,4 +1,4 @@ -/* Time-stamp: <2006-06-03 02:25:03 jcs> +/* Time-stamp: <2006-06-04 19:21:02 jcs> | | Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net> | Part of the gtkpod project. @@ -65,6 +65,7 @@ typedef struct _Itdb_PhotoDB Itdb_PhotoDB; typedef struct _Itdb_Playlist Itdb_Playlist; typedef struct _Itdb_PhotoAlbum Itdb_PhotoAlbum; typedef struct _Itdb_Track Itdb_Track; +typedef struct _Itdb_IpodInfo Itdb_IpodInfo; /* ------------------------------------------------------------ *\ @@ -114,15 +115,9 @@ struct _Itdb_Thumb { gint16 vertical_padding; }; -typedef enum { - ITDB_COVERART, - ITDB_PHOTO -} ItdbArtworkType; - struct _Itdb_Artwork { GList *thumbnails; /* list of Itdb_Thumbs */ guint32 artwork_size; /* Size in bytes of the original source image */ - ItdbArtworkType type; /* Cover art or photo */ guint32 id; /* Artwork id used by photoalbums, starts at * 0x40... libgpod will set this on sync. */ gint32 creation_date; /* Date the image was created */ @@ -138,6 +133,60 @@ struct _Itdb_Artwork { /* ------------------------------------------------------------ *\ * + * iPod model-relevant definitions + * +\* ------------------------------------------------------------ */ + +typedef enum { + ITDB_IPOD_GENERATION_UNKNOWN, + ITDB_IPOD_GENERATION_FIRST, + ITDB_IPOD_GENERATION_SECOND, + ITDB_IPOD_GENERATION_THIRD, + ITDB_IPOD_GENERATION_FOURTH, + ITDB_IPOD_GENERATION_FIFTH, + ITDB_IPOD_GENERATION_MOBILE +} Itdb_IpodGeneration; + +typedef enum { + ITDB_IPOD_MODEL_INVALID, + ITDB_IPOD_MODEL_UNKNOWN, + ITDB_IPOD_MODEL_COLOR, + ITDB_IPOD_MODEL_COLOR_U2, + ITDB_IPOD_MODEL_REGULAR, + ITDB_IPOD_MODEL_REGULAR_U2, + ITDB_IPOD_MODEL_MINI, + ITDB_IPOD_MODEL_MINI_BLUE, + ITDB_IPOD_MODEL_MINI_PINK, + ITDB_IPOD_MODEL_MINI_GREEN, + ITDB_IPOD_MODEL_MINI_GOLD, + ITDB_IPOD_MODEL_SHUFFLE, + ITDB_IPOD_MODEL_NANO_WHITE, + ITDB_IPOD_MODEL_NANO_BLACK, + ITDB_IPOD_MODEL_VIDEO_WHITE, + ITDB_IPOD_MODEL_VIDEO_BLACK, + ITDB_IPOD_MODEL_MOBILE_1 +} Itdb_IpodModel; + +struct _Itdb_IpodInfo { + /* model_number is abbreviated: if the first character is not + numeric, it is ommited. e.g. "MA350 -> A350", "M9829 -> 9829" */ + const gchar *model_number; + const double capacity; /* in GB */ + const Itdb_IpodModel ipod_model; + const Itdb_IpodGeneration ipod_generation; + /* Number of music (Fnn) dirs created by iTunes. The exact + number seems to be version dependent. Therefore, the + numbers here represent a mixture of reported values and + common sense. Note: this number does not necessarily + represent the number of dirs present on a particular + iPod. It is used when setting up a new iPod from + scratch. */ + const guint musicdirs; +}; + + +/* ------------------------------------------------------------ *\ + * * Smart Playlists (Rules) * \* ------------------------------------------------------------ */ @@ -814,6 +863,10 @@ void itdb_device_free (Itdb_Device *device); void itdb_device_set_mountpoint (Itdb_Device *device, const gchar *mp); gboolean itdb_device_read_sysinfo (Itdb_Device *device); gchar *itdb_device_get_sysinfo (Itdb_Device *device, const gchar *field); +const Itdb_IpodInfo *itdb_device_get_ipod_info (Itdb_Device *device); +const Itdb_IpodInfo *itdb_info_get_ipod_info_table (void); +const gchar *itdb_info_get_ipod_model_name (Itdb_IpodModel model); +const gchar *itdb_info_get_ipod_generation_name (Itdb_IpodGeneration generation); /* track functions */ Itdb_Track *itdb_track_new (void); |
