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>
17 lines
323 B
Plaintext
17 lines
323 B
Plaintext
# Android / Gradle / IDE build artifacts
|
|
.gradle/
|
|
build/
|
|
/app/build/
|
|
local.properties
|
|
captures/
|
|
.externalNativeBuild/
|
|
.cxx/
|
|
|
|
# Android Studio / IntelliJ
|
|
.idea/
|
|
*.iml
|
|
.DS_Store
|
|
|
|
# NOTE: gradle/wrapper/gradle-wrapper.jar IS committed (Gradle's recommended
|
|
# practice) so ./gradlew works on a fresh clone with no extra setup.
|