Releases: felipedbene/casquinha
Release list
Casquinha b55 — the preemptive decoder
Fix release of Casquinha — the b50→b55 arc: MP3 decode moves off the cooperative loop onto a preemptive Multiprocessing Services task, so menus, window drags and dialogs no longer kill the music.
What changed since b49:
- Decode survives the loop: an MPLibrary task pumps the new portable
cq_decringpipeline (compressed SPSC ring → minimp3 → PCM ring) every ~5 ms, preemptively — freezes never stop decode, short menu holds are fully seamless, and recovery from long ones is instant (no more machine-gun catch-up). Falls back to inline decode when MPLibrary is absent. - The event loop reads as the schedule it is:
HandleEvent/ComputeSleep/TickCaret/TickDiagnosticsextracted; the loop stays the only clock. - Radio physics documented, chaos removed: the deep-cushion/live-cut experiment ran its course in the field and is reverted — latency stays at the proven ~3 s. The conservation law (ear-lag == cushion) and the post-mortem live in
design/CUSHION-PHYSICS.md. - Server pairing (recommended):
design/SPEC-burst.md— Icecastqueue-size~2 MB stops slow-client disconnects during long UI freezes.
Requirements: Mac OS 9.x (PowerPC or emulated via UTM/QEMU), Open Transport, MPLibrary (ships with 8.6+; optional — inline fallback otherwise), a gopher-spot server on the LAN (default 10.0.100.112:70, configurable in Preferences ⌘,).
Files:
Casquinha-b55.bin— MacBinary-encoded applicationCasquinha-b55.dsk— mountable disk image containing the app
Host-side test suite: 231 checks green. Debug telemetry opt-in via the Casquinha Debug marker file — see the README.
🤖 Generated with Claude Code
Casquinha b49 — on air
First binary release of Casquinha, the native Mac OS 9.2 Spotify remote for gopher-spot — the b13→b49 arc in one artifact.
What it does, out of the box: launch it and it plays — auto-tune + a launch wake decided from real player state (hold ⌥ to start quiet). Now Playing with cover art, transport with instant "Skipping..." acknowledgment, click-to-seek, search + live queue in one window, native play-from contexts (/spot/api/1/play/from), and an in-app MP3 audio path built from scratch: Open Transport streaming → minimp3 → SndPlayDoubleBuffer ring, with radio physics (~3 s latency, graceful starvation) narrated live in the UI (tuning in... / buffering... N% / on air / playing out... / standing by).
Requirements: Mac OS 9.x (PowerPC or emulated via UTM/QEMU), Open Transport, a gopher-spot server on the LAN (default 10.0.100.112:70, configurable in Preferences ⌘,).
Files:
Casquinha-b49.bin— MacBinary-encoded application (decode with StuffIt Expander or any MacBinary tool on the classic side)Casquinha-b49.dsk— mountable disk image containing the app
Debug telemetry is opt-in via a Casquinha Debug marker file — see the README. Host-side test suite: 203 checks green.
🤖 Generated with Claude Code