LIBMTP_track_struct(3)

πŸŽ€ LIBMTP_track_struct(3) πŸŽ€

okay bestie, sit down, hydrate, and let me tell you about LIBMTP_track_struct from the Library Functions Manual. this is The One struct that holds, like, one entire song's worth of metadata, and honestly? it's giving organized. πŸ’–


✨ NAME ✨

libmtp -

and then… nothing. the description slot is literally empty. a ghost town. a blank bio on a main character's profile. πŸ’€ anyway, the name is libmtp.


🌈 SYNOPSIS 🌈

#include <libmtp.h>

πŸ¦‹ Data Fields πŸ¦‹

here's the whole cast list, in the order the page throws them at you:

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 β€” that's it, that's the whole thing. one struct, one track, infinite playlist potential. slay. 🎧✨


🌸 Field Documentation 🌸

each field is about to get its own lil moment. no skips, no skims, we're doing the whole roster. periodt. πŸ’…

πŸ“ char* LIBMTP_track_struct::album

Album name for track. yes the whole album's name, not just the one song. album era energy. πŸ’Ώ

Examples:

  • tracks.c.

Referenced by LIBMTP_destroy_track_t(), and LIBMTP_Update_Track_Metadata().

🧚 char* LIBMTP_track_struct::artist

Name of recording artist. the person behind the mic, the one on the poster. 🎀

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. keep it inside that range, bestie, it's not a suggestion. πŸ“ˆ

Examples:

  • tracks.c.

Referenced by LIBMTP_Update_Track_Metadata().

πŸ¦‹ uint16_t LIBMTP_track_struct::bitratetype

0 = unused, 1 = constant, 2 = VBR, 3 = free. four little numbers, four whole personalities.

Examples:

  • tracks.c.

Referenced by LIBMTP_Update_Track_Metadata().

🌈 char* LIBMTP_track_struct::composer

Name of recording composer. the person who wrote the thing, separate from the artist who performed it. give them their flowers. πŸ’

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. as a string, okay? not a time_t, not a struct, a string. it said what it said. πŸ—“οΈ

Examples:

  • tracks.c.

Referenced by LIBMTP_destroy_track_t(), and LIBMTP_Update_Track_Metadata().

πŸ’œ uint32_t LIBMTP_track_struct::duration

Duration in milliseconds. milliseconds!! so multiply your minutes by 60000 and go off. ⏱️

Examples:

  • tracks.c.

Referenced by LIBMTP_Update_Track_Metadata().

πŸ“ char* LIBMTP_track_struct::filename

Original filename of this track. the raw, unedited, before-the-makeover name. πŸ“

Examples:

  • tracks.c.

Referenced by LIBMTP_destroy_track_t(), LIBMTP_Get_Tracklisting_With_Callback_For_Storage(), 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. 64 bits of it, because files are big now and we respect that. πŸ“¦

Examples:

  • tracks.c.

Referenced by LIBMTP_Get_Tracklisting_With_Callback_For_Storage(), 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. what kind of file we're bopping to. 🎡

Examples:

  • tracks.c.

Referenced by LIBMTP_Get_Tracklisting_With_Callback_For_Storage(), 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. is it pop? is it hyperpop? is it "unclassifiable" because ur taste is that eclectic? 🎧

Examples:

  • tracks.c.

Referenced by LIBMTP_destroy_track_t(), and LIBMTP_Update_Track_Metadata().

πŸ’… uint32_t LIBMTP_track_struct::item_id

Unique item ID. the track's legal name, its government name, its one-of-a-kind identifier. πŸͺͺ

Examples:

  • sendtr.c, and tracks.c.

Referenced by LIBMTP_Get_Tracklisting_With_Callback_For_Storage(), LIBMTP_Get_Trackmetadata(), 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. the glow-up timestamp. πŸ•°οΈ

Referenced by LIBMTP_Get_Tracklisting_With_Callback_For_Storage(), and LIBMTP_Get_Trackmetadata().

⭐ LIBMTP_track_t* LIBMTP_track_struct::next

Next track in list or NULL if last track. this is the linked-list hand-holding, the "and then…" of it all. when it's NULL, the playlist is over, bestie. 🫢

Referenced by LIBMTP_Get_Tracklisting_With_Callback_For_Storage().

🌈 uint16_t LIBMTP_track_struct::nochannels

Number of channels in this recording 0 = unknown, 1 or 2. mono, stereo, or a mystery. 🎚️

Examples:

  • tracks.c.

Referenced by LIBMTP_Update_Track_Metadata().

πŸŽ€ uint32_t LIBMTP_track_struct::parent_id

ID of parent folder. every track has a home, and this is the address of its home. 🏠

Referenced by LIBMTP_Get_Tracklisting_With_Callback_For_Storage(), 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). rate it or don't, but those are the numbers you get to play with. ⭐

Examples:

  • tracks.c.

Referenced by LIBMTP_Update_Track_Metadata().

πŸ“ uint32_t LIBMTP_track_struct::samplerate

Sample rate of original file, min 0x1f80 max 0xbb80. hex-coded boundaries, because of course. πŸŽ›οΈ

Examples:

  • tracks.c.

Referenced by LIBMTP_Update_Track_Metadata().

🧚 uint32_t LIBMTP_track_struct::storage_id

ID of storage holding this track. which little device/chunk of memory is currently housing ur bop. πŸ’Ύ

Examples:

  • sendtr.c.

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

πŸ‘‘ char* LIBMTP_track_struct::title

Track title. the name. the headline. the thing you scream-sing. πŸ”₯

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). yes, track 1 matters, yes, the order matters, no, shuffle is not a personality. πŸ”’

Examples:

  • tracks.c.

Referenced by LIBMTP_Update_Track_Metadata().

✨ uint32_t LIBMTP_track_struct::usecount

Number of times used/played. the play-count receipts are RIGHT THERE. πŸ‘€

Examples:

  • tracks.c.

Referenced by LIBMTP_Update_Track_Metadata().

πŸ¦‹ uint32_t LIBMTP_track_struct::wavecodec

FourCC wave codec name. four characters, one codec, zero chill. 🎢

Examples:

  • tracks.c.

Referenced by LIBMTP_Update_Track_Metadata().


🫢 Author 🫢

Generated automatically by Doxygen for libmtp from the source code. not a human, not a vibe curator, just Doxygen doing its little thing. πŸ€–


and that's the whole page!! from libmtp, Version 1.1.23, the one and only LIBMTP_track_struct(3) β€” go forth and populate ur structs responsibly, bestie. mwah. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from