This directory contains the third-generation SBaGenX GUI effort.
This GUI is intended to be:
- a desktop application,
- built with
Tauri 2, - using a
Sveltefrontend, - backed directly by
sbagenxlib, - not a frontend for the
sbagenxCLI.
The current scaffold provides:
- a Tauri desktop shell,
- a Svelte/Vite frontend,
- a desktop-oriented multi-tab workspace shell,
- a direct Rust bridge into
sbagenxlib, - real
.sbg/.sbgfvalidation, - live
.sbgplayback throughsbagenxlib, .sbgexport throughsbagenxlib.
The current UI is still incomplete, but it is no longer just a shell. The next major work is packaging and broader runtime coverage.
Install dependencies:
npm installRun the frontend only:
npm run devRun the desktop app in development:
npm run tauri:devBuild the frontend:
npm run buildTypecheck the frontend:
npm run checkBuild the desktop app:
npm run tauri:buildBuild the Windows GUI bundle on a Windows host from the repo root:
bash windows-build-gui.shThe Windows GUI build script now tries to bootstrap missing prerequisites:
- on MSYS2 shells, it prefers
pacmanfor:noderust- the MinGW compilers required by
windows-build-sbagenx.sh
- if
nodeorrustare still missing, it falls back towingetwhere available - it intentionally installs the actual toolchain/runtime rather than
trying to install
nvm - on MSYS2 GNU shells such as
UCRT64, it prefers a native Windows Node.js installation for Tauri packaging instead of the MSYS2 GNUnoderuntime
Stage the current platform runtime libraries without building:
npm run prepare:runtime- The dev server is pinned to port
1420to align with the Tauri configuration. npm run tauri:buildnow stages runtime libraries intosrc-tauri/runtime-bundle/before bundle creation.- Runtime staging is platform-specific:
- Linux stages the newest stable
libsbagenx.so.X.Y.Zfromdist/aslibsbagenx.so.3, plus the codec/runtime shared libraries used by export and encoded mix playback - Windows stages the current
win32/win64sbagenxlibDLL plus the codec/runtime DLLs it depends on
- Linux stages the newest stable
windows-build-gui.shis intentionally separate fromwindows-build-sbagenx.sh.- the CLI/library build remains its own path
- the GUI build reuses the Windows
sbagenxlibartifacts, then runs the Tauri bundle build - staged Windows GUI artifacts are copied into
dist/gui/
- The packaged GUI still needs a full Windows installer validation pass.