Guide · 06
Téléphone et télécommande
Pilotez amp depuis un shell, les touches multimédias ou un téléphone — comme télécommande, ou comme lecteur à part entière.
Depuis le shell
Ces commandes parlent au démon en cours d’exécution et rendent la main aussitôt. Elles n’en lancent jamais un.
amp --toggle # aussi --play, --pause, --stop, --next, --previous, --mute
amp --volume +5 # relatif ; --volume 60 est absolu (jusqu'à 150)
amp --seek -10 # secondes ; --seek 1:30 saute dans le morceau
amp --speed 1.25 # 0.5 à 2.0, hauteur conservée
amp --shuffle on # on, off, ou bascule sans valeur
amp --repeat one # off, all, one
amp --open ~/playlists/mix.m3u8 # met une playlist en file, ou joue l'URL d'un flux
amp --status # une ligne : ce qui joue
amp --status --json # tout, pour les scripts
Elles se combinent : amp --volume +5 --next --status. Une ligne d’état tmux, un raccourci de
gestionnaire de fenêtres :
set -g status-right '#(amp --status 2>/dev/null)'
bindsym XF86AudioPlay exec amp --toggle
Touches multimédias
amp répond aux touches multimédias du clavier et apparaît dans le Now Playing du système — via MPRIS sous Linux, nativement sous macOS et Windows. Rien à configurer.
Un téléphone ou un navigateur
Celle-ci est désactivée tant que vous ne l’activez pas. Dans config.toml :
[remote_http]
enabled = true
host = "0.0.0.0" # toutes les interfaces ; "127.0.0.1" la garde sur cette machine
port = 8420
Demandez ensuite à amp l’adresse et la clé d’appairage :
amp --http-remote-info
Ouvrez l’adresse sur le téléphone, tapez la clé une fois, et choisissez en haut de la page :
- Speakers — une télécommande pour les enceintes de cet ordinateur : transport, volume, file d’attente, bibliothèque.
- This device — la propre file d’attente du téléphone, sur les mêmes bibliothèques, jouée par le téléphone lui-même. L’ordinateur reste silencieux. Sous Quality, choisissez les fichiers d’origine ou un flux plus léger (Opus ou MP3, qui demandent ffmpeg sur l’ordinateur).
Chaque téléphone reste appairé jusqu’à ce qu’il se déconnecte. Depuis l’ordinateur :
amp daemon devices # les téléphones et navigateurs appairés, numérotés
amp daemon forget 3 # déconnecter celui-ci
Sur le réseau local, le trafic est en HTTP simple. Ne l’activez que sur un réseau de confiance — ou atteignez amp via un VPN ou un proxy, ci-dessous.
Depuis l’extérieur de la maison
amp ne fait pas de TLS lui-même. Placez-le derrière quelque chose qui en fait.
Tailscale (ou WireGuard) chiffre déjà : gardez host = "0.0.0.0" et définissez
public_url = "http://mybox.tailnet-name.ts.net:8420".
Caddy sur la même machine obtient le certificat lui-même :
amp.example.org {
reverse_proxy 127.0.0.1:8420
}
[remote_http]
enabled = true
host = "127.0.0.1" # seul le proxy atteint amp
public_url = "https://amp.example.org"
trusted_proxies = ["127.0.0.1"]
Avec nginx, transmettez les en-têtes Upgrade et Connection du WebSocket pour /ws.