tracks(3) | libmtp | tracks(3) |
libmtp - tracks
LIBMTP_track_t * LIBMTP_new_track_t (void)
void LIBMTP_destroy_track_t (LIBMTP_track_t *)
LIBMTP_track_t * LIBMTP_Get_Tracklisting
(LIBMTP_mtpdevice_t *)
LIBMTP_track_t * LIBMTP_Get_Tracklisting_With_Callback
(LIBMTP_mtpdevice_t *, LIBMTP_progressfunc_t const, void const
*const)
LIBMTP_track_t *
LIBMTP_Get_Tracklisting_With_Callback_For_Storage
(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_progressfunc_t
const, void const *const)
LIBMTP_track_t * LIBMTP_Get_Trackmetadata
(LIBMTP_mtpdevice_t *, uint32_t const)
int LIBMTP_Get_Track_To_File (LIBMTP_mtpdevice_t *, uint32_t,
char const *const, LIBMTP_progressfunc_t const, void const *const)
int LIBMTP_Get_Track_To_File_Descriptor (LIBMTP_mtpdevice_t *,
uint32_t const, int const, LIBMTP_progressfunc_t const, void const
*const)
int LIBMTP_Get_Track_To_Handler (LIBMTP_mtpdevice_t *, uint32_t
const, MTPDataPutFunc, void *, LIBMTP_progressfunc_t const,
void const *const)
int LIBMTP_Send_Track_From_File (LIBMTP_mtpdevice_t *, char
const *const, LIBMTP_track_t *const, LIBMTP_progressfunc_t
const, void const *const)
int LIBMTP_Send_Track_From_File_Descriptor (LIBMTP_mtpdevice_t
*, int const, LIBMTP_track_t *const, LIBMTP_progressfunc_t
const, void const *const)
int LIBMTP_Send_Track_From_Handler (LIBMTP_mtpdevice_t *,
MTPDataGetFunc, void *, LIBMTP_track_t *const,
LIBMTP_progressfunc_t const, void const *const)
int LIBMTP_Update_Track_Metadata (LIBMTP_mtpdevice_t *,
LIBMTP_track_t const *const)
int LIBMTP_Track_Exists (LIBMTP_mtpdevice_t *, uint32_t const)
int LIBMTP_Set_Track_Name (LIBMTP_mtpdevice_t *,
LIBMTP_track_t *, const char *)
This destroys a track metadata structure and deallocates the memory used by it, including any strings. Never use a track metadata structure again after calling this function on it.
Parameters
See also
References LIBMTP_track_struct::album, LIBMTP_track_struct::artist, LIBMTP_track_struct::composer, LIBMTP_track_struct::date, LIBMTP_track_struct::filename, LIBMTP_track_struct::genre, and LIBMTP_track_struct::title.
This gets a track off the device to a file identified by a filename. This is actually just a wrapper for the LIBMTP_Get_Track_To_File() function.
Parameters
Returns
See also
References LIBMTP_Get_File_To_File().
This gets a track off the device to a file identified by a file descriptor. This is actually just a wrapper for the LIBMTP_Get_File_To_File_Descriptor() function.
Parameters
Returns
See also
References LIBMTP_Get_File_To_File_Descriptor().
This gets a track off the device to a handler function. This is actually just a wrapper for the LIBMTP_Get_File_To_Handler() function.
Parameters
Returns
References LIBMTP_Get_File_To_Handler().
THIS FUNCTION IS DEPRECATED. PLEASE UPDATE YOUR CODE IN ORDER NOT TO USE IT.
See also
References LIBMTP_Get_Tracklisting_With_Callback().
This returns a long list of all tracks available on the current MTP device. Tracks include multimedia objects, both music tracks and video tracks. Typical usage:
LIBMTP_track_t *tracklist; tracklist = LIBMTP_Get_Tracklisting_With_Callback(device, callback, data); while (tracklist != NULL) {
LIBMTP_track_t *tmp;
// Do something on each element in the list here...
tmp = tracklist;
tracklist = tracklist->next;
LIBMTP_destroy_track_t(tmp); }
If you want to group your track listing by storage (per storage unit) or arrange tracks into folders, you must dereference the storage_id and/or parent_id field of the returned LIBMTP_track_t struct. To arrange by folders or files you typically have to create the proper trees by calls to LIBMTP_Get_Storage() and/or LIBMTP_Get_Folder_List() first.
Parameters
Returns
See also
References LIBMTP_Get_Tracklisting_With_Callback_For_Storage().
Referenced by LIBMTP_Get_Tracklisting().
This returns a long list of all tracks available on the current MTP device. Tracks include multimedia objects, both music tracks and video tracks. Typical usage:
LIBMTP_track_t *tracklist; tracklist = LIBMTP_Get_Tracklisting_With_Callback_For_Storage(device, storage_id, callback, data); while (tracklist != NULL) {
LIBMTP_track_t *tmp;
// Do something on each element in the list here...
tmp = tracklist;
tracklist = tracklist->next;
LIBMTP_destroy_track_t(tmp); }
If you want to group your track listing by storage (per storage unit) or arrange tracks into folders, you must dereference the storage_id and/or parent_id field of the returned LIBMTP_track_t struct. To arrange by folders or files you typically have to create the proper trees by calls to LIBMTP_Get_Storage() and/or LIBMTP_Get_Folder_List() first.
Parameters
Returns
See also
References LIBMTP_mtpdevice_struct::params, and LIBMTP_mtpdevice_struct::usbinfo.
Referenced by LIBMTP_Get_Tracklisting_With_Callback().
This function retrieves the metadata for a single track off the device.
Do not call this function repeatedly! The track handles are linearly searched O(n) and the call may involve (slow) USB traffic, so use LIBMTP_Get_Tracklisting() and cache the tracks, preferably as an efficient data structure such as a hash list.
Parameters
Returns
See also
References LIBMTP_mtpdevice_struct::params, and LIBMTP_mtpdevice_struct::usbinfo.
This creates a new track 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_track_t operation later, so be careful of using strdup() when assigning strings, e.g.:
LIBMTP_track_t *track = LIBMTP_new_track_t(); track->title = strdup(titlestr); .... LIBMTP_destroy_track_t(track);
Returns
See also
References LIBMTP_track_struct::item_id.
This function sends a track from a local file to an MTP device. A filename and a set of metadata must be given as input.
Parameters
callback a progress indicator function or NULL to ignore.
data a user-defined pointer that is passed along to the progress
function in order to pass along some user defined data to the progress
updates. If not used, set this to NULL.
Returns
See also
LIBMTP_Send_File_From_File()
LIBMTP_Delete_Object()
This function sends a track from a file descriptor to an MTP device. A filename and a set of metadata must be given as input.
Parameters
callback a progress indicator function or NULL to ignore.
data a user-defined pointer that is passed along to the progress
function in order to pass along some user defined data to the progress
updates. If not used, set this to NULL.
Returns
See also
LIBMTP_Delete_Object()
References LIBMTP_track_struct::filetype, LIBMTP_FILETYPE_IS_TRACK, LIBMTP_mtpdevice_struct::params, and LIBMTP_mtpdevice_struct::usbinfo.
This function sends a track from a handler function to an MTP device. A filename and a set of metadata must be given as input.
Parameters
callback a progress indicator function or NULL to ignore.
data a user-defined pointer that is passed along to the progress
function in order to pass along some user defined data to the progress
updates. If not used, set this to NULL.
Returns
See also
LIBMTP_Delete_Object()
References LIBMTP_track_struct::filetype, LIBMTP_FILETYPE_IS_TRACK, LIBMTP_mtpdevice_struct::params, and LIBMTP_mtpdevice_struct::usbinfo.
This function renames a single track. This simply means that the PTP_OPC_ObjectFileName property is updated, if this is supported by the device.
Parameters
Returns
Helper function. This indicates if a track exists on the device
Parameters
Returns
References LIBMTP_mtpdevice_struct::params.
This function updates the MTP track object metadata on a single file identified by an object ID.
Parameters
Returns
References LIBMTP_mtpdevice_struct::params, and LIBMTP_mtpdevice_struct::usbinfo.
Generated automatically by Doxygen for libmtp from the source code.
Fri Jul 22 2022 | Version 1.1.20 |