diff --git a/client/sjnmusic b/client/sjnmusic new file mode 100755 index 0000000..f63757b --- /dev/null +++ b/client/sjnmusic @@ -0,0 +1,36 @@ +#!/usr/bin/env python3 + +import json +import socket +import sys + +SOCKET_PATH = "/tmp/sjnmusic.sock" + +def main(): + if len(sys.argv) < 2: + print("usage: sjnmusic [value]") + sys.exit(1) + + cmd = sys.argv[1] + value = " ".join(sys.argv[2:]) + + if cmd == "play": + payload = {"Play": value} + elif cmd == "add": + payload = {"Add": value} + elif cmd == "del": + payload = {"Del": value} + elif cmd == "init": + payload = {"Init": value} + else: + print(f"unknown command: {cmd}") + sys.exit(1) + + sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + sock.connect(SOCKET_PATH) + + sock.sendall(json.dumps(payload).encode()) + sock.close() + +if __name__ == "__main__": + main() diff --git a/daemon/systemd/sjnmusicd.service b/daemon/systemd/sjnmusicd.service index 3707301..144681d 100644 --- a/daemon/systemd/sjnmusicd.service +++ b/daemon/systemd/sjnmusicd.service @@ -1,14 +1,10 @@ [Unit] -Description=SJNmusic Daemon -After=network.target +Description=sjnmusic daemon +After=pipewire.service pulseaudio.service [Service] -Type=simple ExecStart=/usr/bin/sjnmusicd -Restart=always -RestartSec=2 -StandardOutput=journal -StandardError=journal +Restart=on-failure [Install] -WantedBy=multi-user.target \ No newline at end of file +WantedBy=default.target