Functions | |
LIBMTP_album_t * | LIBMTP_new_album_t (void) |
void | LIBMTP_destroy_album_t (LIBMTP_album_t *) |
LIBMTP_album_t * | LIBMTP_Get_Album_List (LIBMTP_mtpdevice_t *) |
LIBMTP_album_t * | LIBMTP_Get_Album (LIBMTP_mtpdevice_t *, uint32_t const) |
int | LIBMTP_Create_New_Album (LIBMTP_mtpdevice_t *, LIBMTP_album_t *const) |
int | LIBMTP_Update_Album (LIBMTP_mtpdevice_t *, LIBMTP_album_t const *const) |
int | LIBMTP_Set_Album_Name (LIBMTP_mtpdevice_t *, LIBMTP_album_t *, const char *) |
int LIBMTP_Create_New_Album | ( | LIBMTP_mtpdevice_t * | device, | |
LIBMTP_album_t *const | metadata | |||
) |
This routine creates a new album based on the metadata supplied. If the tracks
field of the metadata contains a track listing, these tracks will be added to the album.
device | a pointer to the device to create the new album on. | |
metadata | the metadata for the new album. If the function exits with success, the album_id field of this struct will contain the new ID of the album.
|
References LIBMTP_album_struct::album_id, LIBMTP_album_struct::artist, LIBMTP_album_struct::composer, LIBMTP_mtpdevice_struct::default_album_folder, LIBMTP_mtpdevice_struct::default_music_folder, LIBMTP_album_struct::genre, LIBMTP_album_struct::name, LIBMTP_album_struct::no_tracks, LIBMTP_album_struct::parent_id, LIBMTP_album_struct::storage_id, and LIBMTP_album_struct::tracks.
void LIBMTP_destroy_album_t | ( | LIBMTP_album_t * | album | ) |
This recursively deletes the memory for an album structure
album | structure to destroy |
References LIBMTP_album_struct::artist, LIBMTP_album_struct::composer, LIBMTP_album_struct::genre, LIBMTP_album_struct::name, and LIBMTP_album_struct::tracks.
LIBMTP_album_t* LIBMTP_Get_Album | ( | LIBMTP_mtpdevice_t * | device, | |
uint32_t const | albid | |||
) |
This function retrieves an individual album from the device.
device | a pointer to the device to get the album from. | |
albid | the unique ID of the album to retrieve. |
References LIBMTP_album_struct::album_id, LIBMTP_album_struct::artist, LIBMTP_album_struct::composer, LIBMTP_album_struct::genre, LIBMTP_new_album_t(), LIBMTP_album_struct::name, LIBMTP_album_struct::no_tracks, LIBMTP_mtpdevice_struct::params, LIBMTP_album_struct::parent_id, LIBMTP_album_struct::storage_id, and LIBMTP_album_struct::tracks.
LIBMTP_album_t* LIBMTP_Get_Album_List | ( | LIBMTP_mtpdevice_t * | device | ) |
This function returns a list of the albums available on the device.
device | a pointer to the device to get the album listing from. |
References LIBMTP_album_struct::album_id, LIBMTP_album_struct::artist, LIBMTP_album_struct::composer, LIBMTP_album_struct::genre, LIBMTP_new_album_t(), LIBMTP_album_struct::name, LIBMTP_album_struct::next, LIBMTP_album_struct::no_tracks, LIBMTP_mtpdevice_struct::params, LIBMTP_album_struct::parent_id, LIBMTP_album_struct::storage_id, and LIBMTP_album_struct::tracks.
LIBMTP_album_t* LIBMTP_new_album_t | ( | void | ) |
This creates a new album metadata structure and allocates memory for it. Notice that if you add strings to this structure they will be freed by the corresponding LIBMTP_destroy_album_t
operation later, so be careful of using strdup() when assigning strings.
References LIBMTP_album_struct::album_id.
Referenced by LIBMTP_Get_Album(), and LIBMTP_Get_Album_List().
int LIBMTP_Set_Album_Name | ( | LIBMTP_mtpdevice_t * | device, | |
LIBMTP_album_t * | album, | |||
const char * | newname | |||
) |
This function renames a single album. This simply means that the PTP_OPC_ObjectFileName
property is updated, if this is supported by the device. The album filename should nominally end with an extension like ".alb".
NOTE: if you want to change the metadata the device display about a playlist you must not use this function, use LIBMTP_Update_Album()
instead!
device | a pointer to the device that contains the file. | |
album | the album metadata of the album to rename. On success, the name member is updated. Be aware, that this name can be different than newname depending of device restrictions. | |
newname | the new name for this object. |
References LIBMTP_album_struct::album_id, and LIBMTP_album_struct::name.
int LIBMTP_Update_Album | ( | LIBMTP_mtpdevice_t * | device, | |
LIBMTP_album_t const *const | metadata | |||
) |
This routine updates an album based on the metadata supplied. If the tracks
field of the metadata contains a track listing, these tracks will be added to the album in place of those already present, i.e. the previous track listing will be deleted.
device | a pointer to the device to create the new album on. | |
metadata | the metadata for the album to be updated. notice that the field album_id must contain the apropriate album ID. |
References LIBMTP_album_struct::album_id, LIBMTP_album_struct::artist, LIBMTP_album_struct::composer, LIBMTP_album_struct::genre, LIBMTP_album_struct::name, LIBMTP_album_struct::no_tracks, and LIBMTP_album_struct::tracks.