Initial commit: Sizzletracker Android music tracker
A retro, grid-based music tracker for Android (Kotlin + Jetpack Compose, single Activity) with four equally-capable input methods (touch, keyboard, gamepad, MIDI) and four tabs: tracker, mixer, toolbox, settings. Highlights: - Tracker: Canvas-drawn 4-track pattern grid over an 8-lane arrangement roll, with a glyph cache and draw-phase state reads so the playhead and edits redraw without per-frame recomposition. - Audio: sample-accurate sequencer feeding a shared AudioEngine, driven by either a Kotlin AudioTrack loop or native Oboe/AAudio via JNI (16 KB-aligned native libs). media3 MediaSession for lock-screen/headset transport. - Toolbox: 16 instrument/effect slots with a 2-octave audition keyboard; single-tap select, double-tap edit, long-press clear. - Note entry: long-press cell popups (piano keyboard / value steppers) plus keyboard/gamepad stepping that resumes from the last note/channel entered. Velocity capped at 0x7F, channel at 16. - Selection/clipboard (cut/copy/paste/delete) and .sng import/export compatible with the reference desktop tool. - A `profile` build type (non-debuggable, debug-signed) for realistic on-device performance testing. - Developer handover documentation under docs/. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
28
samples/demo.sng
Normal file
28
samples/demo.sng
Normal file
@@ -0,0 +1,28 @@
|
||||
SIZZLETRACKER-SNG 1
|
||||
NAME=demo
|
||||
TEMPO=120.0
|
||||
SIG=FOUR_FOUR
|
||||
SCALE=MINOR
|
||||
ROOT=9
|
||||
ACTIVE=0
|
||||
[PATTERN id=0 name=LEAD len=16]
|
||||
0,0,57,128,1
|
||||
0,4,60,128,1
|
||||
0,8,64,110,1
|
||||
0,12,60,120,1
|
||||
1,0,45,90,2
|
||||
1,8,45,90,2
|
||||
[ARRANGEMENT len=16 loop=0]
|
||||
0,0,0
|
||||
0,1,0
|
||||
0,2,0
|
||||
0,3,0
|
||||
[REGION A en=0 s=0 e=0 r=2]
|
||||
[REGION B en=0 s=0 e=0 r=2]
|
||||
[MIXER]
|
||||
0,0,-1,-1,-1,-1,1,0.8,0,0
|
||||
1,-1,-1,-1,-1,-1,2,0.8,0,0
|
||||
2,-1,-1,-1,-1,-1,3,0.8,0,0
|
||||
3,-1,-1,-1,-1,-1,4,0.8,0,0
|
||||
[TOOLBOX]
|
||||
0=NES_SYNTH;Lead;wave=Pulse25,attack=0.01,decay=0.15,sustain=0.6,release=0.1
|
||||
Reference in New Issue
Block a user