feat: komplette Codebase vom Board ins Repo gespiegelt
app/ = /opt/callrec (Node-Backend, Vite-Frontend, Python-Inferenz, Audio-Skripte, rkllm_server.cpp), system/ = systemd-Units, WirePlumber/PipeWire-Drop-ins, sudoers. Modelle, Binaries, Aufnahmen und node_modules bleiben draussen (.gitignore). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
# Bridges USB gadget host volume (Windows slider) -> ES8323 sink volume/mute.
|
||||
# Host speaker volume appears on UAC2Gadget control numid=7 (PCM Capture Volume);
|
||||
# f_uac2 exposes it but does not scale samples, so we apply it here.
|
||||
set -u
|
||||
export XDG_RUNTIME_DIR=/run/user/1000
|
||||
CARD=UAC2Gadget
|
||||
SINK=alsa_output.platform-es8323-sound.stereo-fallback
|
||||
apply() {
|
||||
local v m
|
||||
v=$(amixer -c "$CARD" cget numid=7 2>/dev/null | awk -F= '/: values=/{print $2; exit}')
|
||||
m=$(amixer -c "$CARD" cget numid=6 2>/dev/null | awk -F= '/: values=/{print $2; exit}')
|
||||
[ -z "$v" ] && return 0
|
||||
pactl set-sink-volume "$SINK" "${v}%" 2>/dev/null
|
||||
case "$m" in
|
||||
off|0) pactl set-sink-mute "$SINK" 1 2>/dev/null ;;
|
||||
*) pactl set-sink-mute "$SINK" 0 2>/dev/null ;;
|
||||
esac
|
||||
}
|
||||
apply
|
||||
stdbuf -oL alsactl monitor hw:"$CARD" 2>/dev/null | while IFS= read -r _l; do apply; done
|
||||
Reference in New Issue
Block a user