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

1.9 KiB

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.
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.