Bundle the recovered numbered scene bank, support sixteen slots, and keep editable current state and overrides in the local overlay. Validate legacy control mapping. Validation: 27 release tests passed.
45 lines
2.4 KiB
Markdown
45 lines
2.4 KiB
Markdown
# Recovered handmade DMX scenes
|
||
|
||
These 16 numbered files are byte-for-byte copies of
|
||
`local/dmx_recovered/makepad-backup_local_dmx/dmx0.ron` through `dmx15.ron`, recovered from
|
||
`makepad-backup/local/dmx` and duplicated identically in
|
||
`makepad_broken2/local/dmx`. Their sizes and SHA-256 hashes were checked against
|
||
`local/dmx_recovered/index.tsv` (124 files in nine directories).
|
||
|
||
The bank is selected by its current-state snapshot date, **2025-04-30**, the
|
||
second distinct snapshot date before `makepad7/dmx.ron` on 2025-05-03. The
|
||
numbered files themselves have 2025-04-11 timestamps. The recovered `dmx.ron`
|
||
current state is deliberately excluded; selecting this bank does not load it.
|
||
Duplicate scenes (including 8–11) retain their original slots.
|
||
|
||
`dmxN.ron` supplies zero-based slot N, displayed as P(N+1). Slots 0–12 use
|
||
`ControllerState` directly. Slots 13–15 use the older `dial_a/b/c` layout,
|
||
translated according to the January 14, 2025 hardware migration in
|
||
`683bbf60654836458bfe8c1eb3a5950718393179`, `experiments/huedmx/src/app.rs`:
|
||
|
||
| Legacy control | Modern control |
|
||
| --- | --- |
|
||
| `fade[1]`, `fade[2]` | `fade[2]`, `fade[1]` (outer/inner movers) |
|
||
| `fade[6]`, `fade[7]` | `fade[7]`, `fade[6]` (UV) |
|
||
| `dial_a[0..=5]` | `dial_1[0..=5]` |
|
||
| `dial_c[0, 2, 1, 3]` | `dial_top[0, 1, 2, 3]` |
|
||
| `dial_b[1]` | `dial_top[5]` |
|
||
| `dial_b[0, 2, 3, 4]` | `dial_5[0..4]` |
|
||
| `dial_b[5, 6, 7]` | `dial_0[0..3]` |
|
||
| `dial_a[6]`, `dial_a[7]` | `tempo`, only when the two speeds agree |
|
||
|
||
Both legacy speed values are zero in all three selected files. Conflicting
|
||
speeds in a legacy override are rejected. Other faders retain their values;
|
||
unused legacy `dial_c[4..8]` have no active destination in the migration.
|
||
Unused modern controls default to zero. Scene loading still preserves the
|
||
desk's existing entire `dial_0` smoke-timing bank after conversion.
|
||
|
||
Missing `preset_NN.ron` slots fall back to these compiled-in originals.
|
||
Saves use the separate checkout-local `local/vj/dmx/2025-04-30` overlay,
|
||
resolved from the crate's build-time absolute path, or `VJ_DMX_PRESET_DIR`
|
||
when set. Existing invalid/unreadable overrides fail instead of falling back.
|
||
Only an overlay's `current.ron` can restore current state. The recovery
|
||
originals and `examples/automate/local/dmx` are not save destinations by default.
|
||
|
||
Hardware remains note 52/channels 0–7 → P1–P8 and notes 82–86 → P9–P13.
|
||
P14–P16 are on-screen only; clip-grid notes 0–39 and CC 15 remain reserved to VJ.
|