# What is stompchain?

## The problem

The Line 6 HX Stomp is a small box holding a large amp-and-effects rig. Editing it from the hardware means three footswitches and a knob. Editing it from a computer means HX Edit, which is excellent, closed, and only runs on macOS and Windows. If your studio machine runs Linux, or you want to script your pedal, or you want to build something on top of the device, you were out of luck.

stompchain is an open-source editor for HX-family devices. It talks the same USB protocol HX Edit talks, edits the same scratch buffer, and runs on Linux, macOS, and Windows. Behind it sits the protocol itself, reverse-engineered from USB captures and written up in [PROTOCOL.md](https://github.com/crmne/stompchain/blob/main/PROTOCOL.md), so this editor is not the only thing that can ever be built on it.

![stompchain editing a preset on an HX Stomp](/screenshot.png)

## What it does

Everything HX Edit does on an HX Stomp, verified operation by operation against the hardware:

- **Your whole rig at a glance.** Blocks, branches, and knobs laid out like the pedalboard they are. Drag a block below the line to run it in parallel, drag the fork and merge to move where the path splits, and choose how it splits: Y, A/B, crossover, or dynamic.
- **Editing.** Swap models from a searchable thumbnail browser with HX Edit's own artwork, turn knobs with values formatted exactly as HX Edit formats them, drag to reorder, undo and redo with the keyboard.
- **Presets.** Select, rename, save, copy, paste, import, export, and back up a whole setlist. A preset travels as the device's own document, byte for byte, so nothing is lost in translation.
- **Snapshots, setlists, tempo, impulse responses, device settings.** Switch, rename, edit, upload, and clear, each verified end to end.
- **Live activity.** The editor follows what you do on the front panel.

## What it does not do yet

This is a young project, and it says so:

- The tested device is an HX Stomp on firmware 3.80. Helix and Helix LT parse and render (two DSP paths, four lanes), but they have not met real hardware yet.
- The tuner is not here because it is not an HX Edit feature either: it lives on the hardware.
- Model names, ranges, and artwork come from HX Edit's own data files, which are Line 6's and are not redistributed. A small extractor pulls them from the installer you download from Line 6. Without them everything still works, just with numbers where names would be.

If something misbehaves, [an issue](https://github.com/crmne/stompchain/issues) with the `stompchain chain` output and what you expected instead is gold.

## Where this is going

The next big thing is a community tone library: browse tones other players share, load one onto your pedal in a click, and publish your own straight from the editor. The editor you are reading about is the foundation for it.

## Prior art

stompchain stands on earlier efforts: [`kempline/helix_usb`](https://github.com/kempline/helix_usb) found the multi-channel structure, [`allansomensi/openhx`](https://github.com/allansomensi/openhx) listed and selected presets in Rust, and [`AntonyCorbett/HelixBackupFiles`](https://github.com/AntonyCorbett/HelixBackupFiles) and [`frankdeath/hx-tools`](https://github.com/frankdeath/hx-tools) decoded file formats.
