makepad/apps/amp/README.md
Admin ec2bb0f985 apps: Camera, splash-live, Translator, Amp, Code, Route offline
New Camera app whose shots show up in Photos, and the splash_live example
(streamed live coding of Splash UI and shaders). Translator: speech and
photos run where the models run (hub or on-device), microphone opened only
on record. Amp: cubic volume, meters after volume, visualizer on the phone,
output open only while playing. Code: run errors marked in the editor,
start_app/list_apps through the WM. Route works offline from its cache.
apps/video plays through the platform's player.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-14 07:24:22 +02:00

37 lines
1.9 KiB
Markdown

# Amp
Makepad Amp is one music player for the music systems installed on the
machine, drawn as a piece of hardware. Each system is a `MusicSource`
(`src/source`): Spotify through the command line its desktop app ships, the
Spotify desktop app's own player, D-Bus players on Linux, and local files
(mp3, ogg, flac) that Amp plays itself.
- A 20-band graphic equalizer and output level on the sound the player
makes (Amp taps the player's output on macOS; macOS asks once).
- The screen shows a spectrum or the Visualizer: presets rendered from the
sound (`libs/milkdrop`). Amp ships a few presets of its own
(`resources/visualizer`); the preset browser downloads a larger pack on
request. A tap on the picture shows it alone, a sideways swipe changes
the preset, and a pop-out window shows it edge to edge. On a phone the
picture renders at a fixed pixel budget, scaled up to the screen.
- With no music system to connect to (a phone, Spotify not running) Amp
opens on the cached songs, and Play plays them.
- Styles (`resources/styles`) and layouts (`resources/layouts`) restyle and
rearrange the device; the AI stylist writes styles and visualizer presets
with your own Claude Code or Codex.
- A queue, folders, playlists and search over every connected system.
```sh
cargo run --release -p makepad-app-amp
cargo run -p makepad-run --release -- run makepad-app-amp # makepad run (JIT)
```
Data lives in `local/amp/` inside the Makepad checkout (an Amp installed
outside a checkout uses the app's data folder). The portable offline
library is `local/amp/offline/` (`songdb.json`, `songs/`, `art/`): Amp shows
and plays those songs without a Spotify connection, and copying the folder
to another checkout carries the songs, metadata and artwork along.
`AMP_DATA_DIR` overrides the data folder for an isolated run. Environment:
`MUSIC_MUTE=1` processes the sound without playing it (test runs).
Credits and third-party notes: [CREDITS.md](CREDITS.md).