Top | ![]() |
![]() |
![]() |
![]() |
Itdb_iTunesDB * | itdb_new () |
void | itdb_free () |
Itdb_iTunesDB * | itdb_parse () |
gboolean | itdb_write () |
void | itdb_set_mountpoint () |
const gchar * | itdb_get_mountpoint () |
gboolean | itdb_init_ipod () |
guint32 | itdb_tracks_number () |
guint32 | itdb_tracks_number_nontransferred () |
guint32 | itdb_playlists_number () |
void | (*ItdbUserDataDestroyFunc) () |
gpointer | (*ItdbUserDataDuplicateFunc) () |
Itdb_iTunesDB *
itdb_new (void
);
Creates a new Itdb_iTunesDB with the unknowns filled in to reasonable values.
Itdb_iTunesDB * itdb_parse (const gchar *mp
,GError **error
);
Parse the Itdb_iTunesDB of the iPod located at mp
mp |
mount point of the iPod (eg "/mnt/ipod") in local encoding |
|
error |
return location for a GError or NULL |
a newly allocated Itdb_iTunesDB struct holding the tracks and
the playlists present on the iPod at mp
, NULL if mp
isn't an iPod mount
point. If non-NULL, the Itdb_iTunesDB is to be freed with itdb_free()
when
it's no longer needed
gboolean itdb_write (Itdb_iTunesDB *itdb
,GError **error
);
Write out an iTunesDB. It reassigns unique IDs to all tracks. An existing "Play Counts" file is renamed to "Play Counts.bak" if the export was successful. An existing "OTGPlaylistInfo" file is removed if the export was successful.
void itdb_set_mountpoint (Itdb_iTunesDB *itdb
,const gchar *mp
);
Sets the mountpoint of itdb
. Always use this function to set the
mountpoint of an Itdb_iTunesDB as it will reset the number of
available /iPod_Control/Music/F.. dirs. It doesn't attempt to parse
an iPod database that may be present on the iPod at mp
.
Calling this function removes the artwork in the Itdb_iTunesDB database using this Itdb_Device which was read from the iPod.
Since: 0.1.3
const gchar *
itdb_get_mountpoint (Itdb_iTunesDB *itdb
);
Retrieve a reference to the mountpoint of itdb
Since: 0.4.0
gboolean itdb_init_ipod (const gchar *mountpoint
,const gchar *model_number
,const gchar *ipod_name
,GError **error
);
Initialise an iPod device from scratch. The function attempts to
create a blank database, complete with master playlist and device
information as well as the directory structure required for the
type of iPod.
model_number
is used to tell libgpod about the exact iPod
model, which is needed for proper artwork writing. model_number
can be
found from the table returned by itdb_device_get_ipod_info_table (for
example). On recent distros with iPods released
in the last few years (starting with the iPod Color), it should be fine
to pass in a NULL model_number
while still getting artwork writing.
mountpoint |
the iPod mountpoint |
|
model_number |
the iPod model number, can be NULL |
|
ipod_name |
the name to give to the iPod. Will be displayed in gtkpod or itunes |
|
error |
return location for a GError or NULL |
Since: 0.4.0
guint32
itdb_tracks_number (Itdb_iTunesDB *itdb
);
Counts the number of tracks stored in itdb
guint32
itdb_tracks_number_nontransferred (Itdb_iTunesDB *itdb
);
Counts the number of non-transferred tracks in itdb
the number of tracks in itdb
that haven't been transferred
to the iPod yet (ie the number of Itdb_Track in which the transferred field
is false)
guint32
itdb_playlists_number (Itdb_iTunesDB *itdb
);
Counts the number of playlists stored in itdb
void
(*ItdbUserDataDestroyFunc) (gpointer userdata
);
Function called to free userdata
struct Itdb_iTunesDB { GList *tracks; GList *playlists; gchar *filename; Itdb_Device *device; guint32 version; guint64 id; gint32 tzoffset; /* reserved for future use */ gint32 reserved_int2; Itdb_iTunesDB_Private *priv; gpointer reserved2; /* below is for use by application */ guint64 usertype; gpointer userdata; /* functions called to duplicate/free userdata */ ItdbUserDataDuplicateFunc userdata_duplicate; ItdbUserDataDestroyFunc userdata_destroy; };
Structure representing an iTunes database
A list of tracks in the database (Itdb_Track) |
||
A list of playlists in the database (Itdb_Playlist) |
||
The filename of the iTunesDB |
||
Itdb_Device * |
iPod device info (Itdb_Device) |
|
The version number of the iTunesDB |
||
A 64 bit id value for the iTunesDB |
||
offset in seconds from UTC |
||
Reserved for future use |
||
Itdb_iTunesDB_Private * |
Private data |
|
Reserved for future use |
||
For use by application |
||
For use by application |
||
ItdbUserDataDuplicateFunc |
A function to duplicate userdata |
|
ItdbUserDataDestroyFunc |
A function to free userdata |
typedef struct { GList *mhsd5_playlists; guint16 platform; guint16 unk_0x22; guint64 id_0x24; guint16 lang; guint64 pid; gint32 unk_0x50; gint32 unk_0x54; gint16 audio_language; gint16 subtitle_language; gint16 unk_0xa4; gint16 unk_0xa6; gint16 unk_0xa8; gchar *genius_cuid; } Itdb_iTunesDB_Private;