Project Structure#

In Zrythm, work is saved inside projects. Projects consist of a directory with a project file describing the project along with additional files and directories used by the project, such as audio files and plugin states.

Backups#

Backups are also kept in the project directory, and each backup is a standalone project on its own - ie, it contains all the files it needs to load as a separate project.

Projects inside the backups dir of a parent project are considered backups of the parent project.

Petunjuk

Zrythm will keep backups automatically by default during autosave. You can change the autosave interval or turn it off in the preferences.

Project Directory#

~/zrythm/Projects/myproject # Project directory
├── backups # Project backups
│   ├── myproject.bak
│   │   ├── exports
│   │   │   └── stems
│   │   ├── plugins
│   │   │   ├── ext_file_copies
│   │   │   ├── ext_file_links
│   │   │   └── states
│   │   │       ├── LSP Multi-Sampler x12 Stereo_IDSDZ0
│   │   │       ├── Vital_QSQHZ0
│   │   │       ├── Vital_TPMNZ0
│   │   │       └── Vital_Y3N3Y0
│   │   └── project.zpj
│   └── myproject.bak1
│       ├── exports
│       │   └── stems
│       ├── plugins
│       │   ├── ext_file_copies
│       │   ├── ext_file_links
│       │   └── states
│       │       ├── LSP Multi-Sampler x12 Stereo_IDSDZ0
│       │       ├── Vital_QSQHZ0
│       │       ├── Vital_TPMNZ0
│       │       └── Vital_Y3N3Y0
│       └── project.zpj
├── exports # Project exports
│   ├── stems
│   └── mixdown.FLAC
├── plugins # Plugin states
│   ├── ext_file_copies
│   ├── ext_file_links
│   │   ├── lo-fi-cow.wav
│   │   ├── sn1.wav
│   │   ├── sn2.wav
│   │   ├── sn3.wav
│   │   └── sn4.wav
│   └── states
│       ├── LSP Multi-Sampler x12 DirectOut_0NVNZ0
│       │   ├── lo-fi-cow.wav
│       │   ├── manifest.ttl
│       │   ├── sn1.wav
│       │   ├── sn2.wav
│       │   ├── sn3.wav
│       │   ├── sn4.wav
│       │   └── state.ttl
│       ├── LSP Multi-Sampler x12 DirectOut_G7EBZ0
│       │   ├── manifest.ttl
│       │   └── state.ttl
│       ├── LSP Multi-Sampler x12 Stereo_IDSDZ0
│       │   └── state.carla
│       ├── LSP Multi-Sampler x24 Stereo_XC88Y0
│       │   ├── manifest.ttl
│       │   └── state.ttl
│       ├── Rubber Band Stereo Pitch Shifter_1NPNZ0
│       │   └── state.carla
│       ├── ToTape6_8MNJZ0
│       │   └── state.carla
│       ├── Vital_9S87Y0
│       │   └── state.carla
│       └── Vital_Y3N3Y0
│           └── state.carla
├── pool # Audio file pool
│   ├── perfect_kick_body_5.wav
│   ├── Audio Track - lane 1 - recording.wav
│   └── Audio Track - lane 2 - recording.wav
└── project.zpj # Project file

Project File Format#

Zrythm uses a custom MIME type x-zrythm-project (which is an alias of application/zstd) for its project files (project.zpj). This is a zstd-compressed YAML file that can be decompressed (converted to YAML) for inspection using zrythm --zpj-to-yaml.

Audio Pool#

The audio pool (pool directory) contains all audio files currently used by the project. Zrythm will automatically delete unused files during save.

Catatan

These files will be copied to backups as well.