From 32b75696c24baa94eb4d5b1360da251472e8b8f1 Mon Sep 17 00:00:00 2001 From: polyfloyd Date: Sun, 1 Jun 2025 21:37:30 +0200 Subject: [PATCH] music/librespot: Use jackaudio backend --- roles/music/handlers/main.yaml | 2 +- roles/music/tasks/librespot.yaml | 7 +++++++ roles/music/templates/librespot.service | 12 ++++++++---- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/roles/music/handlers/main.yaml b/roles/music/handlers/main.yaml index 28b6f59..71351d1 100644 --- a/roles/music/handlers/main.yaml +++ b/roles/music/handlers/main.yaml @@ -48,7 +48,7 @@ - name: rebuild librespot ansible.builtin.command: - cmd: /root/.cargo/bin/cargo build --release --features pulseaudio-backend + cmd: /root/.cargo/bin/cargo build --release --features pulseaudio-backend,jackaudio-backend args: chdir: /opt/librespot diff --git a/roles/music/tasks/librespot.yaml b/roles/music/tasks/librespot.yaml index 9d062ce..0857eaa 100644 --- a/roles/music/tasks/librespot.yaml +++ b/roles/music/tasks/librespot.yaml @@ -1,4 +1,11 @@ --- +- name: Install apt dependencies + apt: + name: + - libasound2-dev + - libjack-dev + - pkg-config + - name: Create librespot user user: name: "{{ music_librespot_user }}" diff --git a/roles/music/templates/librespot.service b/roles/music/templates/librespot.service index e90c3cb..419d52b 100644 --- a/roles/music/templates/librespot.service +++ b/roles/music/templates/librespot.service @@ -7,10 +7,14 @@ After=network.target [Service] Type=simple Restart=always -RestartSec=2s -ExecStart=/opt/librespot/target/release/librespot --name Trollibox --backend pulseaudio --volume-ctrl linear -Environment="PULSE_SERVER={{ music_pulse_server }}" -User={{ music_librespot_user }} +RestartSec=10s +ExecStart=/usr/bin/pw-jack -s 44100 /opt/librespot/target/release/librespot --name Trollibox --backend jackaudio +ExecStartPost=/usr/bin/sleep 4 +ExecStartPost=-/usr/bin/pw-link librespot:out_0 alsa_output.usb-ASUS_Xonar_U7_MKII-00.analog-stereo:playback_FL +ExecStartPost=-/usr/bin/pw-link librespot:out_1 alsa_output.usb-ASUS_Xonar_U7_MKII-00.analog-stereo:playback_FR +# User={{ music_librespot_user }} +User=root +Environment="XDG_RUNTIME_DIR=/run/user/{{ music_audio_user_id }}" [Install] WantedBy=multi-user.target