github byrongamatos/slopsmith-desktop v0.2.9-alpha.6

4 hours ago

Slopsmith Desktop v0.2.9-alpha.6

Sixth alpha in the 0.2.9 cycle — biggest payload of the cycle so far. Headline items: the editor tones+notation overhaul, a brand-new minigames framework (with the first minigame already bundled), and a stack of drum highway polish. Plus pitch-preserving speed control on JUCE, ASIO routing flexibility, WhisperX lyrics for sloppaks, and a fresh round of community plugins.

Caution

Alpha quality — for testers. Install alongside your stable build, not instead of it.


🎮 Minigames framework — gaming SDK

Slopsmith now ships a minigames hub as a bundled core plugin. The plugin adds a top-level Minigames nav link (alongside Library / Favorites / Upload), a library-style card grid of installed minigames, and a shared profile layer (XP, level, per-game leaderboards, cross-minigame unlocks).

It's a full SDK for plugin authors to ship games on top of Slopsmith without rolling their own DSP or backend:

  • Scoring primitivescreateContinuous (self-contained YIN tracker), createDiscrete / createChord (wrap note_detect's createNoteDetector)
  • HUD primitives, run persistence, scheduler
  • Backend endpoints under /api/plugins/minigames/{runs,profile,registry}
  • Settings export integration — profile bundled with settings/export

Other plugins register a minigame by adding a minigame block to plugin.json and calling window.slopsmithMinigames.register(spec).

First minigameslopsmith-plugin-flappy-bend, now bundled in the desktop build. Flappy Bird, but you control the bird's altitude by bending a guitar string.


🎼 Editor — tones + full guitar notation

The editor plugin's "PR3" stack (six PRs) lands the full guitar notation set on the XML save path and surfaces it through the UI. Edits made in Slopsmith now round-trip back to the source format with every technique intact, not just the basics.

  • PR3 (#34) — tones + full notation on the XML save path. Tone changes, bends with mid-bend points, slides (legato + shift), tap/pop/slap, harmonics + pinch harmonics, vibrato, pre-bend, hammer-on/pull-off, mute/palm-mute, tremolo, accent, etc. — all persisted to the saved XML in the shape the downstream toolchain expects.
  • PR3a (#35) — UI hookups for the new note techniques (toolbar/keyboard).
  • PR3b (#36)inspector panel for the selected note's attributes. Pick a note, see its bend curve, mute flags, harmonic type, sustain, etc. in a side panel — edit numerically when the visual handles aren't precise enough.
  • PR3c (#37)tone lane + slot-rename modal + a build-time warning when the chart references tones that aren't defined.
  • PR3d (#38)manual anchor lane for placing chord shapes / position anchors explicitly.
  • #29 — fix: build no longer drops chords from non-flattened arrangements.

PRs: editor#29, #34, #35, #36, #37, #38. Companion core PR slopsmith#385 extends Note with the new technique attributes.


🥁 Drums

  • drum_highway_3d #6 — fix: screen-aligned icon billboards so side-lane drum icons no longer roll when the camera tilts.
  • drum_highway_3d #7 — fix: reduce synth playback latency on MIDI drum hits — pads now respond on the attack, not 30ms later.

Plus from earlier alphas in this cycle (already shipped in alpha.5, still relevant): drum vocabulary expanded to 18 pieces (stack + bell), unmapped GP/MIDI percussion now surfaces as a warning instead of silently dropping.


⏱️ Pitch-preserving speed control

Slowing down a hard passage no longer detunes it. The speed slider now uses time-stretch instead of resampling, so the song stays at concert pitch whether you play it at 0.5× or 1.5×.


🎛️ Audio engine

  • ASIO input + non-ASIO output (slopsmith-desktop#232) — pick an ASIO input device (e.g. a guitar interface) while routing playback through a non-ASIO output (system mixer, Bluetooth, virtual cable). Previously ASIO was all-or-nothing.
  • Windows build fix (slopsmith-desktop#239) — wrap std::numeric_limits::max() so MSVC's windows.h max macro doesn't break compilation.

🎤 Lyrics

  • WhisperX lyric transcription fallback (slopsmith#381) — sloppak converter now auto-transcribes lyrics from the vocals stem when the source PSARC doesn't carry an XML/SNG vocals track. Manifest tags the result with lyrics_source: whisperx so downstream UI knows it's machine-generated.
  • Karaoke per-syllable pitch in convert (slopsmith#395) — the converter now extracts per-syllable pitch during the convert step and writes vocal_pitch.json into the sloppak, ready for the Lyrics Karaoke plugin's pitch ribbon.
  • PSARC preview clip preserved (slopsmith#406) — sloppaks converted on this build embed the short PSARC preview WEM as preview.ogg, so Song Preview's library hover-preview plays a real short clip instead of seeking into the full audio.

🎨 UX polish

  • Highway 3D — hit/miss feedback colors, arpeggio overhaul, chord frame polish (slopsmith#351)
  • Smart arrangement naming (slopsmith#399) — auto-disambiguates duplicate Lead/Rhythm names when a PSARC ships several of each.
  • Updated play/pause and seek buttons (slopsmith#314)
  • Play button no longer lies (slopsmith#393, #394) — rejected audio.play() promises are caught and surfaced; aria-busy correctly marks loading state.
  • Alpha-build heads-up banner (slopsmith#404) — passive amber notice on alpha versions.

🔌 Bundled plugins changes

Change Plugin PR
➕ Added slopsmith-plugin-flappy-bend (first minigame) #238
➕ Added slopsmith-plugin-nam-rig-builder #228
➕ Added slopsmith-plugin-slopscale #234
➖ Removed slopsmith-plugin-the-daily (still installable via Available Plugins) #235
🔁 Re-hosted song-preview — moved from DeathlySin's repo (404'd) to byrongamatos; bumped to v1.2.0 (volume control, keyboard nav, accent-themed progress ring, loose-folder support) #240

Other community plugin notables:

  • nam-rig-builder#11VST/AU support, chain editor, master chain, library browser — full-chain neural rig builder is now plugin-VST aware.
  • sloppak-converter#27transcribe-lyrics button + queue for sloppaks missing lyrics.

⚙️ Infra / build

  • CI build-artifact retention capped at 7 days (slopsmith-desktop#233) — default 90-day retention had snowballed the org Actions storage cap. Past matrix runs auto-expire now.
  • stem_separation manifest block (slopsmith#390) — structured engine/model/version metadata per #357 spec.

🙏 Contributors

@bhill777, @byrongamatos, @ChrisBeWithYou, @Jafz2001, @mariolopjr, @mbanks850, @mbrackney, @rodsakuramoto, @saleemk, @topkoa

Plus the editor PR3 design discussions and the minigames-SDK shape feedback from everyone in #dev — thank you 🙏.


Full changelog: v0.2.9-alpha.5...v0.2.9-alpha.6

Don't miss a new slopsmith-desktop release

NewReleases is sending notifications on new releases.