Initial commit
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Executable
+30
@@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env bash
|
||||
# hermes-robot: start Hermes with the robot as the default speaker and microphone,
|
||||
# then put your usual devices back when Hermes exits.
|
||||
#
|
||||
# Install: install -Dm755 hermes-robot ~/.local/bin/hermes-robot
|
||||
# Use: hermes-robot (any arguments are passed through to hermes)
|
||||
set -uo pipefail
|
||||
|
||||
SINK=robot_speaker
|
||||
SOURCE=robot_mic
|
||||
|
||||
has() { pactl list short "$1" | awk '{print $2}' | grep -qxF "$2"; }
|
||||
if ! has sinks "$SINK" || ! has sources "$SOURCE"; then
|
||||
echo "hermes-robot: the robot's audio devices aren't present." >&2
|
||||
echo " Is the robot powered and on Wi-Fi? Check with: pactl list short sources" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
prev_sink="$(pactl get-default-sink)"
|
||||
prev_source="$(pactl get-default-source)"
|
||||
restore() {
|
||||
pactl set-default-sink "$prev_sink" 2>/dev/null
|
||||
pactl set-default-source "$prev_source" 2>/dev/null
|
||||
}
|
||||
trap restore EXIT INT TERM
|
||||
|
||||
pactl set-default-sink "$SINK"
|
||||
pactl set-default-source "$SOURCE"
|
||||
|
||||
hermes "$@"
|
||||
Reference in New Issue
Block a user