Ui24rsc
🐍 Ui24R Snapshot Converter
Install / Use
/learn @dmotte/Ui24rscREADME
ui24rsc

:snake: Ui24R Snapshot Converter.
The official Soundcraft Ui24R JSON snapshot export format is very hard to understand and work with; thus, manually editing mixer snapshots from code can be extremely uncomfortable. This Python script lets you convert snapshots exported from the mixer Web UI to other more human-readable formats and vice versa. It can read/write both JSON and YAML documents.
Note: this project is specific for Soundcraft JSON snapshot format, a.k.a. "Offline Files". It does not handle
.uisnapshotfiles.
Important: this has been tested with the firmware version 3.3.8293-ui24.
Installation
This utility is available as a Python package on PyPI:
python3 -mpip install ui24rsc
Usage
The first parameter of this command is ACTIONS, a comma-separated sequence of operations which will be used in order to process the input document and produce the output. See the code for more information on what each action does.
This is a basic example of how to convert from official Soundcraft JSON format to a custom tree-like, human-friendly, differential YAML format:
python3 -mui24rsc diff,tree original.json human-friendly.yml
And the opposite is:
python3 -mui24rsc dots,full human-friendly.yml official.json
For more details on how to use this command, you can also refer to its help message (--help).
Development
If you want to contribute to this project, you can create a Python virtual environment ("venv") with the package in editable mode:
python3 -mvenv venv
venv/bin/python3 -mpip install -e .
This will link the package to the original location, so any changes to the code will reflect directly in your environment (source).
If you want to run the tests:
venv/bin/python3 -mpip install pytest
venv/bin/python3 -mpytest test
Other useful stuff
The default-init.yml file was built by exporting the * Init * snapshot (from the Default show of the Soundcraft Ui24R), which should contain the mixer factory default settings, and then executing the following command:
python3 -mui24rsc tree,sort default-init.json default-init.yml
If you want to check that the two files are equivalent, you can install jq on your PC and then run:
diff <(jq --sort-keys < default-init.json) <(python3 -mui24rsc dots default-init.yml | jq --sort-keys)
In general, if you want to see the differences between two snapshot files in different formats, you can use the following command:
diff <(jq --sort-keys < snapshot01.json) <(python3 -mui24rsc dots,full snapshot01.yml | jq --sort-keys)
Related Skills
node-connect
348.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
109.1kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
109.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
348.5kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
