itdb.h | itdb.h | |||
---|---|---|---|---|
skipping to change at line 162 | skipping to change at line 162 | |||
ITDB_IPOD_GENERATION_CLASSIC_1, | ITDB_IPOD_GENERATION_CLASSIC_1, | |||
ITDB_IPOD_GENERATION_CLASSIC_2, | ITDB_IPOD_GENERATION_CLASSIC_2, | |||
ITDB_IPOD_GENERATION_TOUCH_1, | ITDB_IPOD_GENERATION_TOUCH_1, | |||
ITDB_IPOD_GENERATION_IPHONE_1, | ITDB_IPOD_GENERATION_IPHONE_1, | |||
ITDB_IPOD_GENERATION_SHUFFLE_4, | ITDB_IPOD_GENERATION_SHUFFLE_4, | |||
ITDB_IPOD_GENERATION_TOUCH_2, | ITDB_IPOD_GENERATION_TOUCH_2, | |||
ITDB_IPOD_GENERATION_IPHONE_2, | ITDB_IPOD_GENERATION_IPHONE_2, | |||
ITDB_IPOD_GENERATION_IPHONE_3, | ITDB_IPOD_GENERATION_IPHONE_3, | |||
ITDB_IPOD_GENERATION_CLASSIC_3, | ITDB_IPOD_GENERATION_CLASSIC_3, | |||
ITDB_IPOD_GENERATION_NANO_5, | ITDB_IPOD_GENERATION_NANO_5, | |||
ITDB_IPOD_GENERATION_TOUCH_3 | ITDB_IPOD_GENERATION_TOUCH_3, | |||
ITDB_IPOD_GENERATION_IPAD_1 | ||||
} Itdb_IpodGeneration; | } Itdb_IpodGeneration; | |||
/** | /** | |||
* Itdb_IpodModel: | * Itdb_IpodModel: | |||
* @ITDB_IPOD_MODEL_INVALID: Invalid model | * @ITDB_IPOD_MODEL_INVALID: Invalid model | |||
* @ITDB_IPOD_MODEL_UNKNOWN: Unknown model | * @ITDB_IPOD_MODEL_UNKNOWN: Unknown model | |||
* @ITDB_IPOD_MODEL_COLOR: Color iPod | * @ITDB_IPOD_MODEL_COLOR: Color iPod | |||
* @ITDB_IPOD_MODEL_COLOR_U2: Color iPod (U2) | * @ITDB_IPOD_MODEL_COLOR_U2: Color iPod (U2) | |||
* @ITDB_IPOD_MODEL_REGULAR: Regular iPod | * @ITDB_IPOD_MODEL_REGULAR: Regular iPod | |||
* @ITDB_IPOD_MODEL_REGULAR_U2: Regular iPod (U2) | * @ITDB_IPOD_MODEL_REGULAR_U2: Regular iPod (U2) | |||
skipping to change at line 253 | skipping to change at line 254 | |||
ITDB_IPOD_MODEL_SHUFFLE_GREEN, | ITDB_IPOD_MODEL_SHUFFLE_GREEN, | |||
ITDB_IPOD_MODEL_SHUFFLE_ORANGE, | ITDB_IPOD_MODEL_SHUFFLE_ORANGE, | |||
ITDB_IPOD_MODEL_SHUFFLE_PURPLE, | ITDB_IPOD_MODEL_SHUFFLE_PURPLE, | |||
ITDB_IPOD_MODEL_SHUFFLE_RED, | ITDB_IPOD_MODEL_SHUFFLE_RED, | |||
ITDB_IPOD_MODEL_CLASSIC_SILVER, | ITDB_IPOD_MODEL_CLASSIC_SILVER, | |||
ITDB_IPOD_MODEL_CLASSIC_BLACK, | ITDB_IPOD_MODEL_CLASSIC_BLACK, | |||
ITDB_IPOD_MODEL_TOUCH_SILVER, | ITDB_IPOD_MODEL_TOUCH_SILVER, | |||
ITDB_IPOD_MODEL_SHUFFLE_BLACK, | ITDB_IPOD_MODEL_SHUFFLE_BLACK, | |||
ITDB_IPOD_MODEL_IPHONE_WHITE, | ITDB_IPOD_MODEL_IPHONE_WHITE, | |||
ITDB_IPOD_MODEL_IPHONE_BLACK, | ITDB_IPOD_MODEL_IPHONE_BLACK, | |||
ITDB_IPOD_MODEL_SHUFFLE_GOLD, | ||||
ITDB_IPOD_MODEL_SHUFFLE_STAINLESS, | ||||
ITDB_IPOD_MODEL_IPAD | ||||
} Itdb_IpodModel; | } Itdb_IpodModel; | |||
/** | /** | |||
* Itdb_IpodInfo: | * Itdb_IpodInfo: | |||
* @model_number: The model number. This is abbreviated. If the first | * @model_number: The model number. This is abbreviated. If the first | |||
* character is not numeric, it is ommited. e.g. | * character is not numeric, it is ommited. e.g. | |||
* "MA350 -> A350", "M9829 -> 9829" | * "MA350 -> A350", "M9829 -> 9829" | |||
* @capacity: The iPod's capacity in gigabytes | * @capacity: The iPod's capacity in gigabytes | |||
* @ipod_model: The iPod model | * @ipod_model: The iPod model | |||
* @ipod_generation: The iPod generation | * @ipod_generation: The iPod generation | |||
skipping to change at line 447 | skipping to change at line 451 | |||
* bit 0 = simple "IS" query | * bit 0 = simple "IS" query | |||
* bit 1 = contains | * bit 1 = contains | |||
* bit 2 = begins with | * bit 2 = begins with | |||
* bit 3 = ends with | * bit 3 = ends with | |||
* bit 4 = greater than | * bit 4 = greater than | |||
* bit 5 = unknown, but probably greater than or equal to | * bit 5 = unknown, but probably greater than or equal to | |||
* bit 6 = less than | * bit 6 = less than | |||
* bit 7 = unknown, but probably less than or equal to | * bit 7 = unknown, but probably less than or equal to | |||
* bit 8 = a range selection | * bit 8 = a range selection | |||
* bit 9 = "in the last" | * bit 9 = "in the last" | |||
* bit 10 = binary AND | ||||
* bit 11 = unknown | ||||
* </programlisting> | * </programlisting> | |||
* </informalexample> | * </informalexample> | |||
* | * | |||
* Since: 0.5.0 | * Since: 0.5.0 | |||
*/ | */ | |||
typedef enum { | typedef enum { | |||
ITDB_SPLACTION_IS_INT = 0x00000001, | ITDB_SPLACTION_IS_INT = 0x00000001, | |||
ITDB_SPLACTION_IS_GREATER_THAN = 0x00000010, | ITDB_SPLACTION_IS_GREATER_THAN = 0x00000010, | |||
ITDB_SPLACTION_IS_LESS_THAN = 0x00000040, | ITDB_SPLACTION_IS_LESS_THAN = 0x00000040, | |||
ITDB_SPLACTION_IS_IN_THE_RANGE = 0x00000100, | ITDB_SPLACTION_IS_IN_THE_RANGE = 0x00000100, | |||
ITDB_SPLACTION_IS_IN_THE_LAST = 0x00000200, | ITDB_SPLACTION_IS_IN_THE_LAST = 0x00000200, | |||
ITDB_SPLACTION_BINARY_AND = 0x00000400, | ITDB_SPLACTION_BINARY_AND = 0x00000400, | |||
/* This action has been seen in the smart playlists stored in mhsd5 | ||||
* on recent ipods. It operates on the "video kind" field. | ||||
* It uses integer values, and the from/to values are different. | ||||
* The "from" value might be the list of bits that are allowed to be se | ||||
t | ||||
* in the value we are matching, and the "to" value might be a value | ||||
* that must be set in the value we are matching. For example, there's | ||||
* a TVShow playlist using that action, from is 0x208044, to is 0x40. | ||||
* "video kind" is a bitfield so the 1st value let us filter out | ||||
* entries with unwanted bits, and the second one ensures we have a | ||||
* TVShow. A match could be tested with: | ||||
* is_match = (((val & from) == val) && (val & to)) | ||||
* I'm not sure what this becomes when this action is negated... | ||||
*/ | ||||
ITDB_SPLACTION_BINARY_UNKNOWN1 = 0x00000800, | ||||
ITDB_SPLACTION_IS_STRING = 0x01000001, | ITDB_SPLACTION_IS_STRING = 0x01000001, | |||
ITDB_SPLACTION_CONTAINS = 0x01000002, | ITDB_SPLACTION_CONTAINS = 0x01000002, | |||
ITDB_SPLACTION_STARTS_WITH = 0x01000004, | ITDB_SPLACTION_STARTS_WITH = 0x01000004, | |||
ITDB_SPLACTION_ENDS_WITH = 0x01000008, | ITDB_SPLACTION_ENDS_WITH = 0x01000008, | |||
ITDB_SPLACTION_IS_NOT_INT = 0x02000001, | ITDB_SPLACTION_IS_NOT_INT = 0x02000001, | |||
ITDB_SPLACTION_IS_NOT_GREATER_THAN = 0x02000010, | ITDB_SPLACTION_IS_NOT_GREATER_THAN = 0x02000010, | |||
ITDB_SPLACTION_IS_NOT_LESS_THAN = 0x02000040, | ITDB_SPLACTION_IS_NOT_LESS_THAN = 0x02000040, | |||
ITDB_SPLACTION_IS_NOT_IN_THE_RANGE = 0x02000100, | ITDB_SPLACTION_IS_NOT_IN_THE_RANGE = 0x02000100, | |||
ITDB_SPLACTION_IS_NOT_IN_THE_LAST = 0x02000200, | ITDB_SPLACTION_IS_NOT_IN_THE_LAST = 0x02000200, | |||
ITDB_SPLACTION_BINARY_UNKNOWN2 = 0x02000800, | ||||
ITDB_SPLACTION_IS_NOT = 0x03000001, | ITDB_SPLACTION_IS_NOT = 0x03000001, | |||
ITDB_SPLACTION_DOES_NOT_CONTAIN = 0x03000002, | ITDB_SPLACTION_DOES_NOT_CONTAIN = 0x03000002, | |||
ITDB_SPLACTION_DOES_NOT_START_WITH = 0x03000004, | ITDB_SPLACTION_DOES_NOT_START_WITH = 0x03000004, | |||
ITDB_SPLACTION_DOES_NOT_END_WITH = 0x03000008, | ITDB_SPLACTION_DOES_NOT_END_WITH = 0x03000008, | |||
} ItdbSPLAction; | } ItdbSPLAction; | |||
/** | /** | |||
* ItdbSPLFieldType: | * ItdbSPLFieldType: | |||
* @ITDB_SPLFT_STRING: string | * @ITDB_SPLFT_STRING: string | |||
skipping to change at line 1339 | skipping to change at line 1360 | |||
* @BPM: BPM (beats per minute) of the track | * @BPM: BPM (beats per minute) of the track | |||
* @app_rating: The last rating set by an application (e.g. | * @app_rating: The last rating set by an application (e.g. | |||
* iTunes). If the rating on the iPod and the | * iTunes). If the rating on the iPod and the | |||
* @rating field above differ, the original | * @rating field above differ, the original | |||
* rating is copied here and the new rating is | * rating is copied here and the new rating is | |||
* stored in @rating. | * stored in @rating. | |||
* @type1: CBR MP3s and AAC are 0x00, VBR MP3s are 0x0 1 | * @type1: CBR MP3s and AAC are 0x00, VBR MP3s are 0x0 1 | |||
* @type2: MP3s are 0x01, AAC are 0x00 | * @type2: MP3s are 0x01, AAC are 0x00 | |||
* @compilation: Flag to mark the track as a compilation. T rue | * @compilation: Flag to mark the track as a compilation. T rue | |||
* if set to 0x1, false if set to 0x0. | * if set to 0x1, false if set to 0x0. | |||
* @starttime: The time, in milliseconds, at which the son g | * @starttime: The offset, in milliseconds, at which the s ong | |||
* will start playing. | * will start playing. | |||
* @stoptime: The time, in milliseconds, at which the son g | * @stoptime: The offset, in milliseconds, at which the s ong | |||
* will stop playing. | * will stop playing. | |||
* @checked: Flag for whether the track is checked. Tru e if | * @checked: Flag for whether the track is checked. Tru e if | |||
* set to 0x0, false if set to 0x1 | * set to 0x0, false if set to 0x1 | |||
* @dbid: Unique database ID that identifies this son g | * @dbid: Unique database ID that identifies this son g | |||
* across the databases on the iPod. For examp le, | * across the databases on the iPod. For examp le, | |||
* this id joins an iTunesDB mhit with an | * this id joins an iTunesDB mhit with an | |||
* ArtworkDB mhii. | * ArtworkDB mhii. | |||
* @drm_userid: Apple Store/Audible User ID (for DRM'ed fil es | * @drm_userid: Apple Store/Audible User ID (for DRM'ed fil es | |||
* only, set to 0 otherwise). | * only, set to 0 otherwise). | |||
* @visible: If this value is 1, the song is visible on the | * @visible: If this value is 1, the song is visible on the | |||
skipping to change at line 1809 | skipping to change at line 1830 | |||
Itdb_Track *itdb_track_duplicate (Itdb_Track *tr); | Itdb_Track *itdb_track_duplicate (Itdb_Track *tr); | |||
Itdb_Track *itdb_track_by_id (Itdb_iTunesDB *itdb, guint32 id); | Itdb_Track *itdb_track_by_id (Itdb_iTunesDB *itdb, guint32 id); | |||
GTree *itdb_track_id_tree_create (Itdb_iTunesDB *itdb); | GTree *itdb_track_id_tree_create (Itdb_iTunesDB *itdb); | |||
void itdb_track_id_tree_destroy (GTree *idtree); | void itdb_track_id_tree_destroy (GTree *idtree); | |||
Itdb_Track *itdb_track_id_tree_by_id (GTree *idtree, guint32 id); | Itdb_Track *itdb_track_id_tree_by_id (GTree *idtree, guint32 id); | |||
/* playlist functions */ | /* playlist functions */ | |||
Itdb_Playlist *itdb_playlist_new (const gchar *title, gboolean spl); | Itdb_Playlist *itdb_playlist_new (const gchar *title, gboolean spl); | |||
void itdb_playlist_free (Itdb_Playlist *pl); | void itdb_playlist_free (Itdb_Playlist *pl); | |||
void itdb_playlist_add (Itdb_iTunesDB *itdb, Itdb_Playlist *pl, gint32 pos) ; | void itdb_playlist_add (Itdb_iTunesDB *itdb, Itdb_Playlist *pl, gint32 pos) ; | |||
void itdb_playlist_move (Itdb_Playlist *pl, guint32 pos); | void itdb_playlist_move (Itdb_Playlist *pl, gint32 pos); | |||
void itdb_playlist_remove (Itdb_Playlist *pl); | void itdb_playlist_remove (Itdb_Playlist *pl); | |||
void itdb_playlist_unlink (Itdb_Playlist *pl); | void itdb_playlist_unlink (Itdb_Playlist *pl); | |||
Itdb_Playlist *itdb_playlist_duplicate (Itdb_Playlist *pl); | Itdb_Playlist *itdb_playlist_duplicate (Itdb_Playlist *pl); | |||
gboolean itdb_playlist_exists (Itdb_iTunesDB *itdb, Itdb_Playlist *pl); | gboolean itdb_playlist_exists (Itdb_iTunesDB *itdb, Itdb_Playlist *pl); | |||
void itdb_playlist_add_track (Itdb_Playlist *pl, | void itdb_playlist_add_track (Itdb_Playlist *pl, | |||
Itdb_Track *track, gint32 pos); | Itdb_Track *track, gint32 pos); | |||
Itdb_Playlist *itdb_playlist_by_id (Itdb_iTunesDB *itdb, guint64 id); | Itdb_Playlist *itdb_playlist_by_id (Itdb_iTunesDB *itdb, guint64 id); | |||
Itdb_Playlist *itdb_playlist_by_nr (Itdb_iTunesDB *itdb, guint32 num); | Itdb_Playlist *itdb_playlist_by_nr (Itdb_iTunesDB *itdb, guint32 num); | |||
Itdb_Playlist *itdb_playlist_by_name (Itdb_iTunesDB *itdb, gchar *name); | Itdb_Playlist *itdb_playlist_by_name (Itdb_iTunesDB *itdb, gchar *name); | |||
gboolean itdb_playlist_contains_track (Itdb_Playlist *pl, Itdb_Track *track ); | gboolean itdb_playlist_contains_track (Itdb_Playlist *pl, Itdb_Track *track ); | |||
skipping to change at line 1939 | skipping to change at line 1960 | |||
/* itdb_chapterdata_... */ | /* itdb_chapterdata_... */ | |||
Itdb_Chapterdata *itdb_chapterdata_new (void); | Itdb_Chapterdata *itdb_chapterdata_new (void); | |||
void itdb_chapterdata_free (Itdb_Chapterdata *chapterdata); | void itdb_chapterdata_free (Itdb_Chapterdata *chapterdata); | |||
Itdb_Chapterdata *itdb_chapterdata_duplicate (Itdb_Chapterdata *chapterdata ); | Itdb_Chapterdata *itdb_chapterdata_duplicate (Itdb_Chapterdata *chapterdata ); | |||
void itdb_chapterdata_remove_chapter (Itdb_Chapterdata *chapterdata, Itdb_C hapter *chapter); | void itdb_chapterdata_remove_chapter (Itdb_Chapterdata *chapterdata, Itdb_C hapter *chapter); | |||
void itdb_chapterdata_remove_chapters (Itdb_Chapterdata *chapterdata); | void itdb_chapterdata_remove_chapters (Itdb_Chapterdata *chapterdata); | |||
Itdb_Chapter *itdb_chapter_new (void); | Itdb_Chapter *itdb_chapter_new (void); | |||
void itdb_chapter_free (Itdb_Chapter *chapter); | void itdb_chapter_free (Itdb_Chapter *chapter); | |||
Itdb_Chapter *itdb_chapter_duplicate (Itdb_Chapter *chapter); | Itdb_Chapter *itdb_chapter_duplicate (Itdb_Chapter *chapter); | |||
gboolean itdb_chapterdata_add_chapter (Itdb_Chapterdata *chapterdata, | gboolean itdb_chapterdata_add_chapter (Itdb_Chapterdata *chapterdata, | |||
gint32 startpos, | guint32 startpos, | |||
gchar *chaptertitle); | gchar *chaptertitle); | |||
#ifndef LIBGPOD_DISABLE_DEPRECATED | #ifndef LIBGPOD_DISABLE_DEPRECATED | |||
/* time functions */ | /* time functions */ | |||
time_t itdb_time_get_mac_time (void); | time_t itdb_time_get_mac_time (void); | |||
time_t itdb_time_mac_to_host (time_t time); | time_t itdb_time_mac_to_host (time_t time); | |||
time_t itdb_time_host_to_mac (time_t time); | time_t itdb_time_host_to_mac (time_t time); | |||
#endif | #endif | |||
/* Initialize a blank ipod */ | /* Initialize a blank ipod */ | |||
End of changes. 9 change blocks. | ||||
5 lines changed or deleted | 27 lines changed or added | |||