35 lines
1.3 KiB
Fish
Executable File
35 lines
1.3 KiB
Fish
Executable File
#!/usr/bin/env fish
|
|
|
|
set opts "Fone\nSpeaker\nHDMI\nPhone"
|
|
set out (printf $opts | wdmenu -p "Output: ")
|
|
set vol (pamixer --get-volume)
|
|
|
|
switch "$out"
|
|
case Fone
|
|
pactl set-card-profile 0 output:analog-stereo+input:analog-stereo
|
|
pactl set-default-sink (pactl list sinks short | grep alsa | head -n1 | cut -f2)
|
|
pactl set-sink-port @DEFAULT_SINK@ analog-output-headphones
|
|
case Speaker
|
|
pactl set-card-profile 0 output:analog-stereo+input:analog-stereo
|
|
pactl set-default-sink (pactl list sinks short | grep alsa | head -n1 | cut -f2:)
|
|
pactl set-sink-port @DEFAULT_SINK@ analog-output-speaker
|
|
case HDMI
|
|
pactl set-card-profile 0 (
|
|
env LC_ALL=C pactl list cards |
|
|
string replace -raf '^\s*(output:hdmi-stereo.*?input.*?): .*' '$1' |
|
|
head -n1 )
|
|
pactl set-default-sink (pactl list sinks short | grep hdmi | head -n1 | cut -f2)
|
|
case Phone
|
|
pactl unload-module module-null-sink
|
|
pactl unload-module module-rtp-send
|
|
|
|
pactl load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=48000
|
|
pactl load-module module-rtp-send source=rtp.monitor destination=192.168.0.169 port=4010 mtu=320
|
|
|
|
pactl set-default-sink rtp
|
|
end
|
|
|
|
pamixer --set-volume "$vol"
|
|
|
|
# vim: ft=fish
|