summaryrefslogtreecommitdiffstats
path: root/src/itdb.h
diff options
context:
space:
mode:
authorJorg Schuler <jcsjcs@users.sourceforge.net>2006-06-04 16:24:45 +0000
committerJorg Schuler <jcsjcs@users.sourceforge.net>2006-06-04 16:24:45 +0000
commit3e7e0dafe36906f036dce107220ca79583087dd7 (patch)
tree659eb107c8bbdacf0f74f3c9db68e0aa122eec6a /src/itdb.h
parentf68c615b63670b9b17ab8baaa5771f9d41d931eb (diff)
downloadlibgpod-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.h67
1 files changed, 60 insertions, 7 deletions
diff --git a/src/itdb.h b/src/itdb.h
index 8c30d33..facd55b 100644
--- a/src/itdb.h
+++ b/src/itdb.h
@@ -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);