SBaGenX Android is the mobile frontend for sbagenxlib: edit .sbg and .sbgf documents, validate them natively, preview beat graphs, and play sessions on-device with the same core engine used by desktop SBaGenX.
- Android app frontend for the SBaGenX engine
- React Native UI with a Kotlin/JNI native bridge
- Native validation, beat preview, and playback through
sbagenxlib - Native mix-input support for WAV, OGG, MP3, and FLAC
This project is currently alpha/tester-oriented.
- use the latest APK from the releases page if you want to test the app
- expect rapid changes in UI, storage, and native bridge behavior
- if you want the most mature experience today, start with the desktop/core repo: SBaGenX
- check the releases page for the latest APK
- install the latest alpha build
- open a bundled example or create a new
.sbg/.sbgfdocument
source ~/.nvm/nvm.sh
nvm use 22
npm startIn another terminal:
source ~/.nvm/nvm.sh
nvm use 22
npm run android- native
.sbgand.sbgfvalidation - built-in program mode for
drop,sigmoid,slide, andcurve - native beat-preview plotting sampled from
sbagenxlib - on-device playback via
AudioTrack - mix-input support for WAV/raw, OGG, MP3, and FLAC
SBAGEN_LOOPERoverride state and embedded-tag prepopulation- Android document library storage plus folder/document pickers
- bundled
river1.oggandriver2.oggapp assets for desktop-style examples
- richer plot coverage beyond beat preview
- export workflows
- more polished product/demo presentation near the top of this repo
- iOS parity
- Core CLI, desktop GUI, and shared library: SBaGenX
- Android codec vendoring protocol:
docs/android-codecs.md - Native bridge notes:
docs/android-native-bridge.md - Vendored engine snapshot provenance:
native/sbagenxlib/SNAPSHOT.md
src/: React Native UI and JS bridge wrappersandroid/: Android app and Kotlin native module wiringnative/jni/: JNI and CMake entry pointnative/sbagenxlib/: vendored engine snapshot used by the Android bridgedocs/: Android-specific notes and vendoring protocol
See CONTRIBUTING.md.
Important project rule:
- if a change belongs in the shared engine, land it in the parent
SBaGenXrepo first and then vendor a pinned snapshot into this repo
The vendored sbagenxlib sources and codec archives in this repo are currently pinned to parent SBaGenX tag v3.9.0-alpha.13 at commit 4c388641d0fc599a746a979de327ccc893873358.
See:
