diff --git a/roles/music/tasks/base.yaml b/roles/music/tasks/base.yaml index 7961b70..a17d7d3 100644 --- a/roles/music/tasks/base.yaml +++ b/roles/music/tasks/base.yaml @@ -7,7 +7,6 @@ - pipewire-pulse - pulseaudio-utils - pulsemixer - - wireplumber state: present - name: Add audio group diff --git a/roles/music/tasks/mpd.yaml b/roles/music/tasks/mpd.yaml index ebf2406..317df4e 100644 --- a/roles/music/tasks/mpd.yaml +++ b/roles/music/tasks/mpd.yaml @@ -51,3 +51,34 @@ state: started enabled: true daemon_reload: true + +- name: Install skipbutton depedencies + ansible.builtin.apt: + name: + - python3-mpd + - python3-serial + state: present + +- name: Clone skipbutton source + ansible.builtin.git: + repo: https://github.com/bitlair/skipbutton.git + version: master + dest: /opt/skipbutton + accept_hostkey: yes + notify: Restart skipbutton + +- name: Install skipbutton service + ansible.builtin.template: + src: skipbutton.service + dest: /etc/systemd/system/skipbutton.service + owner: root + group: root + mode: 0644 + notify: Restart skipbutton + +- name: Enable skipbutton + ansible.builtin.systemd: + name: skipbutton + state: started + enabled: true + daemon_reload: true diff --git a/roles/music/templates/mpd-volume-to-mqtt.sh b/roles/music/templates/mpd-volume-to-mqtt.sh index 5f89374..ac3230b 100644 --- a/roles/music/templates/mpd-volume-to-mqtt.sh +++ b/roles/music/templates/mpd-volume-to-mqtt.sh @@ -14,7 +14,7 @@ prev_volume=x if [ $event = "mixer" ]; then volume=`mpc volume | sed -nr 's/^volume: ([0-9]+)%$/\1/p'` if [ "$prev_volume" != "$volume" ]; then - mqtt-simple -h {{ mqtt_internal_host }} -p '{{ music_mqtt_mpd_volume }}' -r -m "$volume" + mqtt-simple -h {{ mqtt_internal_host }} -p '{{ music_mqtt_mpd_volume }} -r' -m "$volume" fi prev_volume=$volume fi diff --git a/roles/music/templates/skipbutton.service b/roles/music/templates/skipbutton.service new file mode 100644 index 0000000..f2a5d6f --- /dev/null +++ b/roles/music/templates/skipbutton.service @@ -0,0 +1,17 @@ +# {{ ansible_managed }} + +[Unit] +Description=MPD Skipbutton +After=network.target +Requires=mpd.service + +[Service] +Type=simple +Restart=always +RestartSec=10s +ExecStart=/opt/skipbutton/skipbutton.py /dev/ttyS0 +DynamicUser=true +Group=dialout + +[Install] +WantedBy=multi-user.target