Files
sizzletracker-android/README.md
Reactorcoremeltdown 3a180eb983 Add detailed user guide with screenshots
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>
2026-07-18 15:25:58 +02:00

75 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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, screenshotbyscreenshot
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