Skip to main content

Terminal UI for helixgen: tone library, setlists, and Line 6 Helix Stadium device control.

Project description

helixgen-tui

A terminal UI for helixgen: manage your tone library, setlists, and a Line 6 Helix Stadium over the LAN — from the terminal, no editor app.

⚠️ Unofficial tool — use at your own risk. Not affiliated with or endorsed by Line 6 / Yamaha. Line 6, Helix, and HX are trademarks of Yamaha Guitar Group, Inc. The MIT LICENSE disclaims all warranty.

Repo family

Repo What it is
helixgen-core The helixgen Python package: libs, CLI, MCP server
helixgen The Claude Code plugin — /tone, /setup, /device skills + marketplace
helixgen-tui (this repo) Terminal UI for tones, setlists, and device control

Install

uv tool install helixgen-tui
# or
pipx install helixgen-tui

Then run it as helixgen-tui or the shorter hxg.

Usage

The app is the librarian: browse and manage tones, setlists, and device sync, plus setting the active tone on the hardware — all inside a tabbed shell:

Tab Key What it does
Library 1 Browse tones, view details, filter, make a tone active, sync it to the device
Setlists 2 Manage setlist membership and order, sync a setlist or all setlists
IRs 3 Push local IRs to the device, rename/delete/prune device IRs
Device 4 Device info, active tone, backup/restore, lock status, retry connect

Press ? anywhere for the full key-binding reference, q to quit.

Tone editor: press enter on a Library tone to open its signal chain. The chain renders left-to-right — an input node, the blocks (both DSP paths stacked when parallel-routed), then the output node. Arrow keys walk the chain; tab switches to the params inspector, where left/right nudge a value and enter types one. Structural keys: a add a block, x remove, b bypass/enable, w swap the model. Selecting the output node edits its level/pan; the input node's source is read-only. Add/remove refuse on a parallel-routed path. Edits write to the local library file on s — never to the device.

Offline-first: the app works fully with no device on the LAN — Library, Setlists, and IRs stay browsable from local state. Device-mutating actions (activate, sync, push, backup, restore, ...) simply refuse with a reason in the status bar when no Helix is reachable, and reconnect automatically (or via r on the Device tab) once one is.

Design principle: slots are invisible. The UI speaks in tones and setlists only — slot addresses like 5A are an implementation detail the user never sees or types.

Note: device restore and device-side tone delete are not yet wired — they await core-side verbs (a restore that carries its target preset, and a single-pool-preset delete). The UI surfaces a clear reason until then. See docs/BACKLOG.md #6.

The long-term goal is full parity with the Helix Stadium desktop app (tracked in helixgen-core's docs/stadium-app-parity.md); this v1 ships the librarian and the tone editor (param editing plus signal-flow editing — block add/remove/swap, bypass, output level/pan), with more screens (global settings, tuner/meters) to follow. See docs/BACKLOG.md.

Development

Managed with uv; the package layout is src/helixgen_tui/, depending on helixgen[device] from PyPI (never vendor core source here).

uv run pytest          # test suite
uv run ruff check .    # lint
uv run helixgen-tui    # run the app
uv build               # sdist + wheel

CI (GitHub Actions) runs ruff + pytest on every PR and push to main; publish.yml releases to PyPI via OIDC trusted publishing on v* tags.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

helixgen_tui-0.3.0.tar.gz (50.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

helixgen_tui-0.3.0-py3-none-any.whl (56.3 kB view details)

Uploaded Python 3

File details

Details for the file helixgen_tui-0.3.0.tar.gz.

File metadata

  • Download URL: helixgen_tui-0.3.0.tar.gz
  • Upload date:
  • Size: 50.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for helixgen_tui-0.3.0.tar.gz
Algorithm Hash digest
SHA256 39e58273f806f16fb7860b3c3f59cb4450ada5779f182dc824a7c703187913f9
MD5 c978e5c2df62e7a60d7823d4f8c85c06
BLAKE2b-256 1b7f4785c85eef41702533bd1f0c9d56ffe12377d20087f948b8a7f49e369b47

See more details on using hashes here.

Provenance

The following attestation bundles were made for helixgen_tui-0.3.0.tar.gz:

Publisher: publish.yml on sheax0r/helixgen-tui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file helixgen_tui-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: helixgen_tui-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 56.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for helixgen_tui-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 78e6777a585c49a7f3fa735e1fd11aa05cbf30cd064b752ac33bbb5f84275393
MD5 069a37b5e796c9cd4f6ce0fcaaa2c7a9
BLAKE2b-256 83950e81ca7247aacabbbe6f63fa085f016661b15a6206cf1b2fbd12e2a1d681

See more details on using hashes here.

Provenance

The following attestation bundles were made for helixgen_tui-0.3.0-py3-none-any.whl:

Publisher: publish.yml on sheax0r/helixgen-tui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page