|
| 1 | +alias:: [[Ableton/File Types]], [[Ableton File Types]], [[Ableton/File/Concept/Storing in Git]] |
| 2 | +tags:: [[Diataxis/Explanation]] |
| 3 | + |
| 4 | +- # Ableton File Types – Conceptual Overview |
| 5 | + - ## Overview |
| 6 | + - Ableton Live uses a variety of proprietary file types to represent sets, clips, presets, and metadata. Some are human-readable (XML or JSON), others are binary. Understanding these formats is essential for workflows involving version control (e.g., Git). |
| 7 | + - ## Context |
| 8 | + - Many Ableton users want to store projects in Git for collaboration, history, and diffs. The challenge is that some file types are opaque binaries, while others can be normalized for text-based diffs. Knowing which is which helps decide what to commit, ignore, or preprocess. |
| 9 | + - ## Key Principles |
| 10 | + - **Textual formats** (XML/JSON) are git-friendly with proper filters. |
| 11 | + - **Binary formats** (analysis files, waveforms, grooves) are not useful to version and can be regenerated. |
| 12 | + - **Archive formats** (packs) should be treated as immutable binaries. |
| 13 | + - **Programmatically generated files** (e.g., `.asd`) should be excluded since Live will recreate them. |
| 14 | + - ## File Types & Internal Structure |
| 15 | + - {{embed [[Ableton/File/.als]]}} |
| 16 | + - {{embed [[Ableton/File/.alc]]}} |
| 17 | + - {{embed [[Ableton/File/.adg]]}} |
| 18 | + - {{embed [[Ableton/File/.adv]]}} |
| 19 | + - {{embed [[Ableton/File/.amxd]]}} |
| 20 | + - {{embed [[Ableton/File/.ask]]}} |
| 21 | + - {{embed [[Ableton/File/.alp]]}} |
| 22 | + - {{embed [[Ableton/File/.asd]]}} |
| 23 | + - {{embed [[Ableton/File/.ams]]}} |
| 24 | + - {{embed [[Ableton/File/.agr]]}} |
| 25 | + - ## Misconceptions |
| 26 | + - **Myth**: All Ableton files are binary and unsuitable for Git. |
| 27 | + **Reality**: Many are gzipped XML or JSON and can be made git-friendly with filters. |
| 28 | + - **Myth**: `.asd` files must be backed up. |
| 29 | + **Reality**: They’re metadata caches and should be ignored in source control. |
| 30 | + - ## Recommendations for Git |
| 31 | + - **Store with filters**: `.als`, `.alc`, `.adg`, `.adv`, `.amxd`, `.ask`. |
| 32 | + - **Ignore**: `.asd` (auto-regenerated). |
| 33 | + - **Store as binary**: `.alp`, `.ams`, `.agr` (no useful diffs). |
| 34 | + - **Use custom diff drivers**: |
| 35 | + - `.als`/`.alc`/`.adg`/`.adv`: `gzip -cd`. |
| 36 | + - `.amxd`: strip header, parse JSON. |
| 37 | + - `.ask`: plain XML diff. |
| 38 | + - ## See Also |
| 39 | + - [[Person/Zack Steinkamp/blog/posts/2022-02-15-git-diff-amxd-max]] |
| 40 | + - [[GitHub/codekiln/ableton-live-git-hooks]] |
0 commit comments