syndicate_utils/mpv.config-example.pr

57 lines
1.4 KiB
Plaintext

let ?socketPath = "/run/user/1000/mpv.sock"
let ?mpvSpace = dataspace
$mpvSpace [
; announce the dataspace when the translator is connected
? <connected $socketPath> [
$config <mpv $mpvSpace>
]
; translate <play-file …> to an MPV command
?? <play-file ?file> [
$log ! <log "-" { line: <play-file $file> }>
! <send-json { "command": ["loadfile" $file "append-play"] }>
]
; log anything that comes back from MPV
; ?? <recv-json ?js> [ $log ! <log "-" { mpv: $js }> ]
; clear the playlist on idle so it doesn't grow indefinitely
?? <recv-json {"event": "idle"}> [
! <send-json { "command": ["playlist-clear"] }>
]
]
; need the translator and the translator needs the daemon
<require-service <daemon mpv-translator>>
<depends-on <daemon mpv-translator> <service-state <daemon mpv-server> ready>>
? <service-object <daemon mpv-translator> ?cap> [
$cap {
dataspace: $mpvSpace
socket: $socketPath
}
]
; assert and retract the daemon as the daemon is built (this is a testing artifact)
? <built json_socket_translator ?path ?sum> [
<daemon mpv-translator {
argv: [$path]
protocol: application/syndicate
env: {BUILD_SUM: $sum}
}>
]
; start mpv regardless
<daemon mpv-server {
argv: [
"/run/current-system/sw/bin/mpv"
"--really-quiet"
"--idle=yes"
"--no-audio-display"
"--input-ipc-server=/run/user/1000/mpv.sock"
]
protocol: none
}>