# LIBMTP_track_struct Struct Reference
[libmtp data structures]

`#include <libmtp.h>`

## Data Fields
uint32_t | item_id
uint32_t | parent_id
uint32_t | storage_id
char * | title
char * | artist
char * | composer
char * | genre
char * | album
char * | date
char * | filename
uint16_t | tracknumber
uint32_t | duration
uint32_t | samplerate
uint16_t | nochannels
uint32_t | wavecodec
uint32_t | bitrate
uint16_t | bitratetype
uint16_t | rating
uint32_t | usecount
uint64_t | filesize
time_t | modificationdate
LIBMTP_filetype_t | filetype
LIBMTP_track_t * | next

## Detailed Description

MTP track struct

Examples:

  getplaylist.c, playlists.c, sendtr.c, and tracks.c.

## Field Documentation

char* LIBMTP_track_struct::album

Album name for track

Examples:
  tracks.c.

Referenced by LIBMTP_destroy_track_t(), and LIBMTP_Update_Track_Metadata().

char* LIBMTP_track_struct::artist

Name of recording artist

Examples:
  getplaylist.c, playlists.c, and tracks.c.

Referenced by LIBMTP_destroy_track_t(), and LIBMTP_Update_Track_Metadata().

uint32_t LIBMTP_track_struct::bitrate

(Average) bitrate for this file min=1 max=0x16e360

Examples:
  tracks.c.

Referenced by LIBMTP_Update_Track_Metadata().

uint16_t LIBMTP_track_struct::bitratetype

0 = unused, 1 = constant, 2 = VBR, 3 = free

Examples:
  tracks.c.

Referenced by LIBMTP_Update_Track_Metadata().

char* LIBMTP_track_struct::composer

Name of recording composer

Examples:
  tracks.c.

Referenced by LIBMTP_destroy_track_t(), and LIBMTP_Update_Track_Metadata().

char* LIBMTP_track_struct::date

Date of original recording as a string

Examples:
  tracks.c.

Referenced by LIBMTP_destroy_track_t(), and LIBMTP_Update_Track_Metadata().

uint32_t LIBMTP_track_struct::duration

Duration in milliseconds

Examples:
  tracks.c.

Referenced by LIBMTP_Update_Track_Metadata().

char* LIBMTP_track_struct::filename

Original filename of this track

Examples:
  tracks.c.

Referenced by LIBMTP_destroy_track_t(), LIBMTP_Get_Tracklisting_With_Callback(), LIBMTP_Get_Trackmetadata(), LIBMTP_Send_Track_From_File_Descriptor(), LIBMTP_Send_Track_From_Handler(), and LIBMTP_Set_Track_Name().

uint64_t LIBMTP_track_struct::filesize

Size of track file in bytes

Examples:
  tracks.c.

Referenced by LIBMTP_Get_Tracklisting_With_Callback(), LIBMTP_Get_Trackmetadata(), LIBMTP_Send_Track_From_File_Descriptor(), and LIBMTP_Send_Track_From_Handler().

LIBMTP_filetype_t LIBMTP_track_struct::filetype

Filetype used for the current track

Examples:
  tracks.c.

Referenced by LIBMTP_Get_Tracklisting_With_Callback(), LIBMTP_Get_Trackmetadata(), LIBMTP_Send_Track_From_File_Descriptor(), LIBMTP_Send_Track_From_Handler(), LIBMTP_Set_Track_Name(), and LIBMTP_Update_Track_Metadata().

char* LIBMTP_track_struct::genre

Genre name for track

Examples:
  tracks.c.

Referenced by LIBMTP_destroy_track_t(), and LIBMTP_Update_Track_Metadata().

uint32_t LIBMTP_track_struct::item_id

Unique item ID

Examples:
  sendtr.c, and tracks.c.

Referenced by LIBMTP_Get_Tracklisting_With_Callback(), LIBMTP_Get_Trackmetadata(), LIBMTP_new_track_t(), LIBMTP_Send_Track_From_File_Descriptor(), LIBMTP_Send_Track_From_Handler(), LIBMTP_Set_Track_Name(), and LIBMTP_Update_Track_Metadata().

time_t LIBMTP_track_struct::modificationdate

Date of last alteration of the track

Referenced by LIBMTP_Get_Tracklisting_With_Callback(), and LIBMTP_Get_Trackmetadata().

LIBMTP_track_t* LIBMTP_track_struct::next

Next track in list or NULL if last track

Examples:
  tracks.c.

Referenced by LIBMTP_Get_Tracklisting_With_Callback().

uint16_t LIBMTP_track_struct::nochannels

Number of channels in this recording 0 = unknown, 1 or 2

Examples:
  tracks.c.

Referenced by LIBMTP_Update_Track_Metadata().

uint32_t LIBMTP_track_struct::parent_id

ID of parent folder

Referenced by LIBMTP_Get_Tracklisting_With_Callback(), LIBMTP_Get_Trackmetadata(), LIBMTP_Send_Track_From_File_Descriptor(), and LIBMTP_Send_Track_From_Handler().

uint16_t LIBMTP_track_struct::rating

User rating 0-100 (0x00-0x64)

Examples:
  tracks.c.

Referenced by LIBMTP_Update_Track_Metadata().

uint32_t LIBMTP_track_struct::samplerate

Sample rate of original file, min 0x1f80 max 0xbb80

Examples:
  tracks.c.

Referenced by LIBMTP_Update_Track_Metadata().

uint32_t LIBMTP_track_struct::storage_id

ID of storage holding this track

Examples:
  sendtr.c.

Referenced by LIBMTP_Get_Tracklisting_With_Callback(), LIBMTP_Get_Trackmetadata(), LIBMTP_Send_Track_From_File_Descriptor(), and LIBMTP_Send_Track_From_Handler().

char* LIBMTP_track_struct::title

Track title

Examples:
  getplaylist.c, playlists.c, and tracks.c.

Referenced by LIBMTP_destroy_track_t(), and LIBMTP_Update_Track_Metadata().

uint16_t LIBMTP_track_struct::tracknumber

Track number (in sequence on recording)

Examples:
  tracks.c.

Referenced by LIBMTP_Update_Track_Metadata().

uint32_t LIBMTP_track_struct::usecount

Number of times used/played

Examples:
  tracks.c.

Referenced by LIBMTP_Update_Track_Metadata().

uint32_t LIBMTP_track_struct::wavecodec

FourCC wave codec name

Examples:
  tracks.c.

Referenced by LIBMTP_Update_Track_Metadata().

The documentation for this struct was generated from the following file:

- /tmp/libmtp-1.0.1/src/libmtp.h