Skip to content

Map Logic ProjectData chunk payloads (starts with AuRg or Trak) #3

Description

@sepehrsadri

The Logic ProjectData container is decoded — 24-byte header, magic 23 47 C0 AB, little-endian FourCC records — and we can enumerate 22 chunk tags across 2,069 records. The payloads are not decoded.

That gap is the difference between "3 regions were added" and "the region 'Deep Down Shaker.1' moved from bar 12 to bar 16".

What is already known (see docs/FORMATS.md)

Tag Meaning Observed across saves
AuFl audio files 35 → 37 (matches MetaData.plist exactly)
AuCU plugins 70 → 76 → 265
AuRg regions 79 → 90 → 96
Trak tracks 248 → 256 → 260
MSeq/EvSq sequences 147 → 155 → 159

Region names are already readable directly from AuRg payloads.

The task

Pick one tag and map its payload structure: field offsets, types, and meaning. AuRg (regions) or Trak (tracks) are the highest value. Document findings in docs/FORMATS.md and, ideally, add a parser to experiments/.

Method that worked for the container

Diff the same record across sequential saves in Alternatives/000/Project File Backups/00..08 where you know what the user changed, and correlate with MetaData.plist.

Bonus: this also covers GarageBand. It uses the same container (23 47 C0 AB, gnoS), differing only in a version word — so one parser serves both.

⚠️ Work only on copies. Never modify a real project.

Metadata

Metadata

Assignees

No one assigned

    Labels

    format-researchReverse-engineering a DAW project formathelp wantedExtra attention is neededm20.0 pilot milestone (see docs/ROADMAP.md 'Now: the 0.0 pilot')phase-3Logic and GarageBand milestone — post-0.0 write-path roadmap

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions