docs/USER_GUIDE.md: a full walkthrough of every screen — Tracker (transport, grid, note-offs, scrolling), the punch-in keyboard, Arrangement, Mix (channels, FX routing, recording), Toolbox (tile gestures, Synth/Sampler/ SF2-XI editors, effects, presets) and Setup (projects, audio routing, themes, input bindings). Also covers the four input methods incl. the new hold-to-repeat, file formats, recording, and default keyboard/gamepad/MIDI maps. 11 on-device screenshots under docs/screenshots/, linked from README. Also refresh the README's stale "NES synth" wording to "3-oscillator synth" (renamed in v0.5.0). Docs only — no code change, so no version bump or rebuild. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
75 lines
3.2 KiB
Markdown
75 lines
3.2 KiB
Markdown
# Sizzletracker (Android)
|
||
|
||
A retro, grid-based **music tracker** for Android — monospace UI, pixel icons,
|
||
demoscene-style pattern editing — playable equally with **touch, keyboard,
|
||
gamepad, and MIDI** (USB or Bluetooth).
|
||
|
||
<p>
|
||
<img alt="platform" src="https://img.shields.io/badge/platform-Android%208%2B-0b0d0e">
|
||
<img alt="language" src="https://img.shields.io/badge/kotlin-2.0-7cfc9a">
|
||
<img alt="ui" src="https://img.shields.io/badge/UI-Jetpack%20Compose-f2c14e">
|
||
<img alt="license" src="https://img.shields.io/badge/license-GPL--3.0--or--later-e05a4b">
|
||
</p>
|
||
|
||
📖 **[Full User Guide](docs/USER_GUIDE.md)** — a detailed, screenshot‑by‑screenshot
|
||
walkthrough of every tab, instrument, effect and control.
|
||
|
||
## Features at a glance
|
||
|
||
- **Tracker tab** — 4-track pattern grid (note / velocity-hex / MIDI-channel per
|
||
track), beat & bar coloring, tap-to-focus + drag-to-edit with haptics and
|
||
scale-aware note entry; plus an 8-lane arrangement piano-roll (up to 256 bars)
|
||
with A/B loop regions.
|
||
- **Mix tab** — 4 channels, each with an instrument + 4 FX slots, MIDI channel,
|
||
volume, mute/solo.
|
||
- **Toolbox tab** — 16 slots for instruments (3-oscillator synth, sampler, SF2/XI) and
|
||
effects (arp, transposer, LFO, tape delay, reverb, filters, 10-band EQ,
|
||
bitcrusher). Every device has an auto-generated editor and text presets.
|
||
- **Setup tab** — `.sng` project save/load, color themes (with import/export),
|
||
gamepad bindings, and searchable/collapsible MIDI bindings.
|
||
- **Master recording** — render the master bus (with FX tail) to a WAV file.
|
||
- **Background playback** with a media notification (Play/Pause/Stop).
|
||
- **Two-thread design** — Compose UI on the main thread, a sample-accurate sound
|
||
engine on its own high-priority thread.
|
||
|
||
There is also a standalone `tools/samplepack-builder.html` — an offline page for
|
||
assembling Sampler preset bundles (drop audio onto 16 note-labelled pads, then
|
||
download an importable `.zip`).
|
||
|
||
## Build & run
|
||
|
||
Open the project in **Android Studio** (2024.1+) and Run on an **API 26+**
|
||
device or emulator.
|
||
|
||
From the CLI (the Gradle wrapper is committed, so a fresh clone needs no setup):
|
||
```
|
||
./gradlew assembleDebug
|
||
```
|
||
|
||
## Where to start reading
|
||
|
||
See **[docs/DEVELOPER_HANDOVER.md](docs/DEVELOPER_HANDOVER.md)** — a from-scratch
|
||
tour written for a developer new to Android: architecture, the file map, the
|
||
"one action / one song / two threads" model, how to add an instrument or input,
|
||
and an honest **implemented-vs-TODO** list.
|
||
|
||
Fastest orientation in code:
|
||
`model/Project.kt` → `input/InputAction.kt` → `ui/AppViewModel.kt` →
|
||
`audio/AudioEngine.kt`.
|
||
|
||
## Project format
|
||
|
||
Songs use a human-readable `.sng` text format (see `io/ProjectIo.kt`), aligned in
|
||
spirit with the desktop
|
||
[Sizzletracker](https://github.com/reactorcoremeltdown/sizzletracker); a byte-exact
|
||
compatibility shim is a listed TODO in the handover doc.
|
||
|
||
## License
|
||
|
||
Sizzletracker is free software: you can redistribute it and/or modify it under
|
||
the terms of the **GNU General Public License v3.0 or later**
|
||
(`GPL-3.0-or-later`). See the [`LICENSE`](LICENSE) file for the full text; every
|
||
source file carries an SPDX `GPL-3.0-or-later` header.
|
||
|
||
Copyright © 2026 Reactorcoremeltdown
|