- Add set-audio-defaults.sh script for audio setup - Add set-audio-defaults.service systemd service - Add wireplumber_0.5.1.bbappend recipe extension
Signed-off-by: Paresh Bhagat <[email protected]> --- .../wireplumber/set-audio-defaults.service | 14 +++++++++ .../wireplumber/set-audio-defaults.sh | 30 +++++++++++++++++++ .../wireplumber/wireplumber_0.5.1.bbappend | 25 ++++++++++++++++ 3 files changed, 69 insertions(+) create mode 100644 meta-arago-distro/recipes-multimedia/wireplumber/wireplumber/set-audio-defaults.service create mode 100755 meta-arago-distro/recipes-multimedia/wireplumber/wireplumber/set-audio-defaults.sh create mode 100644 meta-arago-distro/recipes-multimedia/wireplumber/wireplumber_0.5.1.bbappend diff --git a/meta-arago-distro/recipes-multimedia/wireplumber/wireplumber/set-audio-defaults.service b/meta-arago-distro/recipes-multimedia/wireplumber/wireplumber/set-audio-defaults.service new file mode 100644 index 00000000..18881553 --- /dev/null +++ b/meta-arago-distro/recipes-multimedia/wireplumber/wireplumber/set-audio-defaults.service @@ -0,0 +1,14 @@ +[Unit] +Description=Set PipeWire Default Audio Devices +After=wireplumber.service +Wants=wireplumber.service + +[Service] +Type=oneshot +ExecStart=/usr/bin/set-audio-defaults.sh +StandardOutput=append:/var/log/set-audio-defaults-output.log +StandardError=append:/var/log/set-audio-defaults-error.log +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/meta-arago-distro/recipes-multimedia/wireplumber/wireplumber/set-audio-defaults.sh b/meta-arago-distro/recipes-multimedia/wireplumber/wireplumber/set-audio-defaults.sh new file mode 100755 index 00000000..cd193d02 --- /dev/null +++ b/meta-arago-distro/recipes-multimedia/wireplumber/wireplumber/set-audio-defaults.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +# Wait for WirePlumber to be ready +for i in {1..30}; do + wpctl status &>/dev/null && break + sleep 1 +done + +# Additional delay for nodes to appear +sleep 2 + +# Find McASP sink ID +SINK_ID=$(pw-cli info alsa_multidac_8ch 2>/dev/null | head -n 1 | awk '{print $2}') +if [[ -n "$SINK_ID" ]]; then + wpctl set-default "$SINK_ID" + echo "Set default sink to ID: $SINK_ID (alsa_multidac_8ch)" +else + echo "Could not find alsa_multidac_8ch sink" +fi + +# Find PCM source ID +SOURCE_ID=$(pw-cli info alsa_multidac_4ch_capture 2>/dev/null | head -n 1 | awk '{print $2}') +if [[ -n "$SOURCE_ID" ]]; then + wpctl set-default "$SOURCE_ID" + echo "Set default source to ID: $SOURCE_ID (alsa_multidac_4ch_capture)" +else + echo "Could not find alsa_multidac_4ch_capture" +fi + +echo "Done" diff --git a/meta-arago-distro/recipes-multimedia/wireplumber/wireplumber_0.5.1.bbappend b/meta-arago-distro/recipes-multimedia/wireplumber/wireplumber_0.5.1.bbappend new file mode 100644 index 00000000..f6e5ff91 --- /dev/null +++ b/meta-arago-distro/recipes-multimedia/wireplumber/wireplumber_0.5.1.bbappend @@ -0,0 +1,25 @@ +SRC_URI += " \ + file://set-audio-defaults.sh \ + file://set-audio-defaults.service \ +" + +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +do_install:append() { + # Install the script + install -d ${D}${bindir} + install -m 0755 ${WORKDIR}/set-audio-defaults.sh ${D}${bindir}/ + + # Install the systemd service + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/set-audio-defaults.service ${D}${systemd_system_unitdir}/ +} + +inherit systemd + +RDEPENDS:${PN} += "bash" +SYSTEMD_SERVICE:${PN} = "set-audio-defaults.service" + +FILES:${PN} += " \ + ${bindir} \ +" -- 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#17024): https://lists.yoctoproject.org/g/meta-arago/message/17024 Mute This Topic: https://lists.yoctoproject.org/mt/117414046/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/meta-arago/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
