12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- #ifndef _IPOD_INFO_H_
- #define _IPOD_INFO_H_
- #define RGB_565 0
- #define RGB_555 1
- #define RGB_555_REC 2
- typedef enum {
- THUMB_INVALID = -1,
- THUMB_COVER_SMALL,
- THUMB_COVER_MEDIUM1,
- THUMB_COVER_MEDIUM2,
- THUMB_COVER_MEDIUM3,
- THUMB_COVER_MEDIUM4,
- THUMB_COVER_LARGE,
- THUMB_PHOTO_SMALL,
- THUMB_PHOTO_LARGE,
- THUMB_PHOTO_FULL_SCREEN,
- THUMB_PHOTO_TV_SCREEN,
- } ThumbType;
- typedef enum {
- IPOD_COLOR_WHITE,
- IPOD_COLOR_BLACK,
- IPOD_COLOR_SILVER,
- IPOD_COLOR_BLUE,
- IPOD_COLOR_PINK,
- IPOD_COLOR_GREEN,
- IPOD_COLOR_ORANGE,
- IPOD_COLOR_GOLD,
- IPOD_COLOR_RED,
- IPOD_COLOR_U2,
- } iPodColor;
- typedef enum {
- IPOD_MODEL_INVALID=0,
- IPOD_MODEL_COLOR=1,
- IPOD_MODEL_REGULAR=2,
- IPOD_MODEL_MINI=3,
- IPOD_MODEL_SHUFFLE=4,
- IPOD_MODEL_VIDEO=5,
- IPOD_MODEL_NANO=6,
- IPOD_MODEL_CLASSIC=7,
- IPOD_MODEL_FATNANO=8,
- IPOD_MODEL_TOUCH=9,
- } iPodModel;
- typedef struct {
- ThumbType type;
- int width;
- int height;
- int correlation_id;
- int format;
- int row_align;
- int image_align;
- } ArtworkFormat;
- struct iPodModelInfo
- {
- // model_number is abbreviated: if the first character is not numeric, it is ommited. e.g. "MA350 -> A350", "M9829 -> 9829"
- const wchar_t *model_number;
- iPodModel model;
- iPodColor color;
- int image16;
- int image160;
- };
- class iPodInfo
- {
- public:
- iPodInfo(const iPodModelInfo *model);
- ~iPodInfo();
- void SetFWID(const uint8_t *new_fwid);
- int family_id;
- wchar_t *model_number;
- iPodModel model;
- iPodColor color;
- int image16;
- int image160;
- // Store the supported artwork formats if we
- // can dynamically read it from the extended sysinfo xml
- ArtworkFormat* supportedArtworkFormats;
- size_t numberOfSupportedFormats;
- unsigned char *fwid;
- unsigned int shadow_db_version;
- };
- struct _iPodSerialToModel {
- const wchar_t *serial;
- const wchar_t *model_number;
- };
- typedef struct _iPodSerialToModel iPodSerialToModel;
- iPodInfo *GetiPodInfo(wchar_t drive);
- const ArtworkFormat* GetArtworkFormats(const iPodInfo* info);
- #endif //_IPOD_INFO_H_
|