valveFM
What it is
Section titled “What it is”valveFM is a terminal internet-radio player styled as a vintage FM tuner — its whole interaction model is a tune dial. Left/Right “tunes the dial,” Up/Down browses stations, and the aesthetic leans hard into the radio-receiver metaphor. It pulls stations from radio-browser.info (sorted by popularity, paginated 200/page), has a country selector, favorites, and twelve named themes. Like pulsedeck.md, its value is a committed physical-device metaphor doing the UI’s organizing work — here specifically the dial/tuner, which is the one audio-control metaphor the rest of the Batch-8 stack doesn’t cover.
UI / interaction
Section titled “UI / interaction”- The tune-dial metaphor is the core interaction. Left / Right tunes the dial; Up / Down browses stations. The dial is the spatial spine of the UI — turning it is how you move through the audio space.
- Station list, paginated (
[/]previous/next page, 200 per page), sorted by popularity. - Country selector (
L), favorites view (V), search/(server-side in country mode, local in favorites),Ftoggle favorite. - Transport:
Enterplay,Spacestop/resume.?help,Q/Ctrl+Cquit. - Twelve themes (
Tto cycle), persisted to~/.config/valvefm/config.json: Vintage, Tokyo Night, Nord, Catppuccin Mocha, Catppuccin Latte, Gruvbox Dark, Dracula, Solarized Dark, One Dark, Rose Pine, Kanagawa, Everforest. (“Vintage” is the default and the on-brand one.)
Architecture
Section titled “Architecture”Go throughout; a built-in pure-Go MP3 player with no external dependency (optional mpv/ffplay for AAC/OGG and steadier streaming). Runs as TUI + system tray. Config and favorites persist locally under ~/.config/valvefm/. The radio-browser.info client supplies the station catalog.
Toneline-relevance (and Deckline note)
Section titled “Toneline-relevance (and Deckline note)”valveFM’s contribution is narrow and specific: the dial/tuner metaphor as a control idiom, which is genuinely useful for a music device and absent from the rest of the batch (sequencer grammar, spectrum, waveform, piano, library).
- The tune-dial is the right metaphor for the Toneline’s continuous “sweep” controls. Some Toneline parameters are best dialed, not typed: tempo (BPM), an FM operator’s frequency ratio, filter cutoff, a parameter sweep, scrubbing through an arrangement. A dial widget — Left/Right turns it, value shown as a position on an arc or a horizontal track — is the natural single-color control for these. valveFM is the reference for making the dial the spine of a surface, not just one widget among many.
- The radio-receiver framing reinforces the Toneline’s device identity. The Toneline is a self-contained music instrument with a physical-control character (the fiction’s knurled landscape clamshell, line-out, larger speaker). A tuner/dial idiom on screen matches that — the UI metaphor and the hardware metaphor agree, the way pulsedeck.md’s cassette-deck framing does. The Toneline’s “tune” the voice / “tune” the tempo reads naturally.
- Station browser + favorites + pagination maps to patch/voice browsing + favorites on the Toneline: a paginated list of FM patches or saved phrases, with a favorites set the operator pins for performance. Same browse/favorite/paginate UX, music-authoring content.
- Theme names are mood-board input. The Toneline is monochrome amber so valveFM’s palettes don’t transfer, but the naming convention for aesthetic modes is reusable — “Vintage” especially fits the KEC retro-hardware fiction. When the Deckline aesthetic-mode roster is named (cf. 4trk.md, aethertune.md theme registries), valveFM’s “Vintage” and the warm-retro vocabulary are a citation.
Deckline note: the dial widget is a general single-color control primitive the Deckline can use anywhere a continuous value is best adjusted by turning rather than typing — it complements upiano.md’s slider (slider = linear track; dial = rotary/arc), giving the Deckline UI kit both continuous-control idioms.
Single-color adaptation
Section titled “Single-color adaptation”valveFM ships twelve color themes, but the dial metaphor itself needs no color — it is geometry:
- The dial renders as an arc or a horizontal track with a position marker —
◄ ──────●──── ►or a radial sweep in box-drawing characters — carried entirely by position + character, amber on black. The value is the marker’s place on the track. - The active/tuned station (or selected patch) uses inversion, not a highlight color.
- The station/patch list and pagination are plain single-color lists with a position indicator (
p.3/12). - The “Vintage” theme’s intent — warm, old-receiver feel — is exactly the Deckline’s default amber-on-black, so valveFM’s on-brand mode is KN-86’s baseline aesthetic; the other eleven palettes are irrelevant to the monochrome device.

Source: GitHub social card for zorig/valvefm. Shows the tuner-styled radio interface with the dial and station list.
- One sharp takeaway: the dial/tuner control metaphor, the rotary complement to upiano’s linear slider — together they give the Toneline (and the Deckline UI kit) both continuous-control idioms.
- Cross-link upiano.md — slider (linear) vs dial (rotary): the two continuous-control widgets a music UI needs.
- Cross-link pulsedeck.md — same “commit fully to a physical-device metaphor” doctrine (cassette deck there, FM tuner here); both show the metaphor doing real UI work.
- Cross-link line.md — valveFM dials continuous values;
linetypes discrete phrases. The Toneline needs both input idioms over its parameter space.