notepat: fix needle-is-playhead + UDP MIDI default ON + bigger QR
Three fixes for the live-test feedback on turbo-swallow-sail:
1. UDP MIDI relay defaulted to TRUE in loadUdpMidiConfig().
Previously the flag required an explicit {"udpMidiBroadcast": true}
in /mnt/config.json, so every device that was OTA-updated into
the new build kept a pre-existing config (no flag) and silently
stayed off, showing "UDP MIDI OFF" even with WiFi + socket healthy.
Now the flag defaults on; an explicit {"udpMidiBroadcast": false}
still opts out.
2. Waveform strip — needle is now the PLAYHEAD where audio is written.
Previously the strip spanned the full width with oldest→newest
left-to-right, and the center needle was just a decoration overlaid
on the middle of a 4-second buffer. Now:
normal mode → the NEW sample lands immediately adjacent to the
needle; older samples extend away (left of needle).
Right side of strip stays empty — no future audio
to display.
reverse mode → when spacebar is held, the active half flips to
the RIGHT side of the needle. The new sample still
sits at the needle; past samples now extend to
the right, matching the backwards-replay cursor's
direction of travel.
This makes the needle read as a turntable stylus: "now" is always
under it, "then" stretches away in the direction of the playhead.
3. QR code bigger — scale=2 + 2-module quiet zone = 50×50 px. The top
status bar grows from 26 to 54 px tall, text row re-centered via
barY=22. Short URL still fits in version-1 (21 modules), so the
Reed-Solomon cost is unchanged — graph_qr's encode cache still
applies.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>