From 1574c372e52ccc8f2cbd1c3bcfadc764d232cb9b Mon Sep 17 00:00:00 2001 From: "Aaron K. Clark (CryptoJones)" Date: Sun, 5 Jul 2026 09:37:18 -0500 Subject: [PATCH] Fix font glyphs (/ ( ) and \); safe install pre-warm; v3.5.4 Font: the bitmap font's '/' was coded as a backslash (it shifted by 6-row, top- left -> bottom-right), so "STEREO / METERS", "BUILD / DROP", and "CLIP 0/0" all rendered with a backslash; '(' and ')' fell through to blank, so the tab label "KEYS (COMPOSE)" showed as "KEYS COMPOSE". Fixed '/' to draw bottom-left -> top-right, added a real '\' glyph, and added '(' / ')' glyphs. Verified the shapes with a standalone ASCII render. install.sh: replaced the fragile GUI pre-warm (open -gj + osascript quit, which re-used an existing instance and could hang / leave a lingering audio-hogging VLC) with a safe headless run (VLC -I dummy vlc://quit) that loads + signature- checks the app and rebuilds the plugin scan, then exits cleanly in a few seconds -- no window, no lingering process. Plus an honest one-line heads-up that the first post-install launch may still spin briefly while macOS verifies the app. Bumps DIX_VERSION to 3.5.4. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01JpVzsy8Wrc9DYEXns2Njzb --- install.sh | 12 ++++++++++++ waveform.c | 10 ++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/install.sh b/install.sh index f5f55f0..ef7c4eb 100755 --- a/install.sh +++ b/install.sh @@ -73,6 +73,18 @@ if [ "$OS" = "Darwin" ]; then echo " installed + re-sealed: $BUNDLE_PLUGINS/$PLUGIN_DYLIB" echo " (VLC.app is now ad-hoc signed; a future VLC reinstall restores the" echo " original signature — just re-run ./install.sh afterward.)" + + # Pre-warm: re-signing makes macOS re-verify the app and VLC rescan its plugins + # on the next launch, which can show up as a spinning beachball. Do it now with a + # headless run that loads + code-signature-checks the app and rebuilds the plugin + # scan, then quits cleanly on its own (~a few seconds) -- no window, no lingering + # instance to hog the audio device. Skipped if VLC is already running. + if ! pgrep -f "MacOS/VLC" >/dev/null 2>&1; then + echo " pre-warming (signature check + plugin scan) so first launch is snappy..." + "$VLC_APP/Contents/MacOS/VLC" -I dummy --quiet vlc://quit >/dev/null 2>&1 || true + fi + echo " NOTE: the very first launch after install may still spin for a couple" + echo " seconds while macOS finishes verifying the re-signed app. Normal." else echo " WARNING: $VLC_APP not found — skipping bundle install." echo " Set VLC_APP=/path/to/VLC.app and re-run if VLC lives elsewhere." diff --git a/waveform.c b/waveform.c index 569484c..6475b8c 100644 --- a/waveform.c +++ b/waveform.c @@ -29,7 +29,7 @@ #include "dix_pitch.h" /* pure pitch/chroma/key DSP (unit-tested standalone) */ #include "dix_lufs.h" /* ITU-R BS.1770 loudness (unit-tested standalone) */ -#define DIX_VERSION "3.5.3" +#define DIX_VERSION "3.5.4" #define DIX_W 1280 #define DIX_H 720 #define DIX_MAX_FFT 8192 @@ -387,8 +387,14 @@ static uint8_t glyph_row( char c, int row ) return (uint8_t[]){ 0x0a, 0x1f, 0x0a, 0x0a, 0x1f, 0x0a, 0x00 }[row]; case ':': return ( row == 2 || row == 5 ) ? 0x04 : 0; - case '/': + case '/': /* forward slash: bottom-left -> top-right */ + return (uint8_t)( 0x01 << ( row > 4 ? 4 : row ) ); + case '\\': /* backslash: top-left -> bottom-right */ return (uint8_t)( 0x01 << ( 6 - row > 4 ? 4 : ( 6 - row < 0 ? 0 : 6 - row ) ) ); + case '(': + return (uint8_t[]){ 0x02, 0x04, 0x08, 0x08, 0x08, 0x04, 0x02 }[row]; + case ')': + return (uint8_t[]){ 0x08, 0x04, 0x02, 0x02, 0x02, 0x04, 0x08 }[row]; case '%': return (uint8_t[]){ 0x19, 0x1a, 0x02, 0x04, 0x08, 0x0b, 0x13 }[row]; default: