valentine

Terminal control panel for the Focusrite Scarlett 18i20 — a from-scratch replacement for Focusrite Control.
Log | Files | Refs | README | LICENSE

valentine.tar.gz (source) · valentine.bundle (full git history — download, then git clone valentine.bundle)

DateCommit messageAuthorFiles+-
2026-06-02 05:10add MIT LICENSE (public release)Matthew Gantenbein1+21-0
2026-06-02 04:37feat: install.sh + uninstall.sh, updated README (no dmg — TUI ships as scripts)Matthew Gantenbein3+79-13
2026-06-02 04:29fix: persist theme name + transparency across restarts (Hydra parity)Matthew Gantenbein2+87-7
2026-06-02 04:07themes: make red-pink 'Ember' the default (drop Hydra's neutral default)Matthew Gantenbein2+27-26
2026-06-02 04:01themes: ship exactly 10, remove Navi from the repoMatthew Gantenbein4+4-67
2026-06-02 03:46feat: sync 10 themes with Hydra + transparency toggle; separate Navi themesMatthew Gantenbein15+310-141
2026-06-01 22:54revert: remove monitor-via-mixer fader from the UI (device-safe)Matthew Gantenbein2+7-209
2026-06-01 21:18test: offline mux round-trip suite disproves 4 corruption theoriesMatthew Gantenbein1+97-0
2026-06-01 20:59feat(spike): adatverify — fresh-process read of actual ADAT routingMatthew Gantenbein2+61-0
2026-06-01 20:48feat: full TOML theme support — --theme CLI, bundled registry, in-app switcherMatthew Gantenbein4+262-9
2026-06-01 20:40diag(spike): adatset writes each routing table separately to find 0x3Matthew Gantenbein2+36-11
2026-06-01 20:32chore(spike): adatset reports which write throws the errorMatthew Gantenbein1+14-2
2026-06-01 20:30feat(spike): adatset — persisting ADAT attenuation listen-testMatthew Gantenbein2+63-0
2026-06-01 20:18fix: faders effective by default — no toggle neededMatthew Gantenbein3+77-33
2026-06-01 20:12feat(spike): adatfader — trace the ADAT via-mixer fader chain on hardwareMatthew Gantenbein2+96-0
2026-06-01 19:58fix: coalesce fader writes per-frame so the fader actually worksMatthew Gantenbein1+37-15
2026-06-01 19:33fix: drain queued input after each key so slow writes can't cascadeMatthew Gantenbein1+8-0
2026-06-01 19:18feat(spike): adatcheck — diagnose hot ADAT output (routing + DAW levels)Matthew Gantenbein2+90-0
2026-06-01 19:13feat: generalize monitor fader to groups; add ADAT 1-8 groupMatthew Gantenbein3+158-84
2026-06-01 19:02feat: software monitor fader via mixer-inserted output pathMatthew Gantenbein3+205-10
2026-06-01 18:51feat: 'c' clears the mixer to silence (auto-backs-up first)Matthew Gantenbein3+34-1
2026-06-01 18:46feat(spike): presetcheck — read-only mixer loudness diagnosticMatthew Gantenbein2+62-0
2026-06-01 18:39fix: presets capture+apply routing; p-only picker with instant Y/N confirmMatthew Gantenbein2+100-39
2026-06-01 18:23feat: multi-preset support + cross-screen picker/save modalsMatthew Gantenbein1+216-40
2026-06-01 18:18feat: routing grouped by stereo pairs, staged + atomic pair writesMatthew Gantenbein3+196-59
2026-06-01 18:10feat: stage-then-confirm for routing changes and preset loadMatthew Gantenbein2+159-63
2026-06-01 18:01feat: interactive routing edit (hardware-verified write path)Matthew Gantenbein4+188-44
2026-06-01 16:14feat(spike): muxcheck --write-noop — verify write path with a no-op rewriteMatthew Gantenbein1+28-1
2026-06-01 16:13feat(core): routing (mux) model + write encoding + read-only safety probeMatthew Gantenbein5+414-1
2026-06-01 15:56fix: unify meters tab + inputs panel onto one dBFS scale (clip=0dB)Matthew Gantenbein4+32-27
2026-06-01 15:50tune: hotter input meters — -48dB window, amber@-18 red@-6Matthew Gantenbein2+8-5
2026-06-01 15:41fix: meter each input where it's routed (PCM capture), dBFS barsMatthew Gantenbein5+149-17
2026-06-01 15:25feat(spike): metermap v2 — dump routing + peak-hold every raw indexMatthew Gantenbein1+87-78
2026-06-01 15:20feat: live per-input meters on the inputs page (hardware-verified mapping)Matthew Gantenbein4+85-11
2026-06-01 02:30feat(spike): read-only metermap probe to verify source->meter mappingMatthew Gantenbein2+121-0
2026-06-01 02:23feat(core): port kernel meter-level remap (dest->raw index)Matthew Gantenbein2+130-0
2026-06-01 02:06feat: stereo-pair input view (default) with mono toggleMatthew Gantenbein2+176-63
2026-06-01 01:57fix: reconcile inputs panel with real sources API; add source catalogMatthew Gantenbein13+302-84
2026-05-31 23:18feat: Implement Inputs panel rewrite to support all input types with per-channel strips and meters.Matthew Gantenbein1+28-31
2026-05-31 23:18fix: correct capitalization in input panel titleMatthew Gantenbein1+1-1
2026-05-31 22:02Valentine: terminal control panel for Scarlett 18i20 3rd GenMatthew Gantenbein28+4977-0