Skip to content

Track UIDs and playlists

wargreen edited this page Jan 14, 2025 · 1 revision

This is all gesswork and need review!

Playlists seem to be standard tracks, with all related in the timeline. It seem to be a block with the mapping playlist > track and another with the tracks (or playlists) actually shown. Tracks (so playlists) are identified with an trackUID in theses mappings. For each track, we seem to have a "Glutter" playlist : a blank playlist used for the drag'n'drop operation. Ref : https://duc.avid.com/showpost.php?p=2576261&postcount=7

Identified blocks :

0x1015
        List of audio tracks
  0x1014
          Track definition :

        MONO track
                _____|_name size_|__________________________name  _____________________|__|___ChNbr___|ChID_|
                14 10 12 00 00 00 41 75 64 69 6F 20 4D 6F 6E 6F 20 54 69 63 6B 73 20 38 00 01 00 00 00 0F 00 00
                ________|__________Track UID________________|____________________|__Chnl ID__|___________|__
                00 00 00 2A 00 00 00 F7 5E A0 E3 ED BA F1 2E 00 00 00 00 00 00 00 0F 00 00 00 00 00 00 00 00

        STEREO track
                _____|_name size_|__________________________name  ________________________|__|__ChNbr____|ChAID|
                14 10 13 00 00 00 41 75 64 69 6F 20 53 74 65 72 65 6F 20 53 6D 70 6C 20 36 01 02 00 00 00 1A 00
                ChBID|___________|_________________TrackUID__________|_____|______________|_ChnlA ID__|_ChnlB ID
                1B 00 00 00 00 00 2A 00 00 00 0D 5F A0 E3 B3 D1 42 2F 01 00 01 00 00 00 00 1A 00 00 00 1B 00 00
                __|___________|
                00 01 00 00 00 00

        MONO playlist
                _____|_name size_|______________name  _______________|__|__ChNbr___ |_____|           |________
                14 10 0C 00 00 00 50 6C 79 6C 31 20 41 75 64 69 6F 32 00 01 00 00 00 04 00 00 00 00 00 2A 00 00
                _____TrackUID_____________|___________|________|__Chnl ID__|___________|__
                00 4B 51 A0 E3 6D F0 8F 11 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 00



0x202d
         List of playlist parameters ??
  0x202c
          Playlist param definition

                |_____|___PlID____|                       |_mapToTrk__|           |______________TrackUID_____________|
                 2C 20 02 00 00 00 00 00 00 00 01 00 00 00 05 00 00 00 00 00 00 00 2A 00 00 00 56 51 A0 E3 34 DF B7 11

                PlID : Number of the playlist (increment for each playlist)

0x2107
        List of shown tracks
  0x210b
          Shown tracks

For the trackUIDs :

In the log, when adding a track, save it and reload the session file we can read :

TTrack::SetUID = 8vPTem#OHgkaaaGk

So this UID is stored in the session file.


For this samples :

Audio 1 : 8vPTem#OHgkaaaGk <=> 2A 00 00 00 A1 A1 A3 E3 08 B6 95 7C 
Audio 2 : 8vz7uo#OHgkaaaGk <=> 2A 00 00 00 A1 A1 A3 E3 99 ED 95 7C 
Audio 3 : 8z5dHo#OHgkaaaGk <=> 2A 00 00 00 A1 A1 A3 E3 A5 0F 96 7C 

That can be converted with

base64cuscharset = 
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789#

8z5dHo#OHgkaaaGk > reverse the string > base64 with custom charset > 
0x2a 0x0 0x0 0x0 0xa1 0xa1 0xa3 0xe3 0xa1 0xf 0x96 0x7c
                                     ^^^^

Only one byte change : a char (the second at the left of #) seem to have an offset of 4 or 5. I don't understand that, but it seem sufficient for say that this hex store the TrackUID, so we can base the mapping of the playlists on that.

Clone this wiki locally