#!/bin/sh # Craig Jennings # convenience script to switch audio devices # need bluez and bluez-utils # DEVICE MAC ADDRESSES marshall_earbuds_device="00:25:D1:1B:39:CA" marshall_headset_device="9C:0D:AC:05:1E:C9" # SINKS (Audio Out) marshall_headset_sink="bluez_output.9C_0D_AC_05_1E_C9.a2dp-sink" marshall_earbuds_sink="bluez_output.00_25_D1_1B_39_CA.a2dp_sink" builtin_sink="alsa_output.pci-0000_00_1f.3.analog-stereo" jabra_510_sink="alsa_output.usb-0b0e_Jabra_SPEAK_510_USB_1C48F9C067D5020A00-00.analog-stereo" steelseries_sink="alsa_output.usb-SteelSeries_SteelSeries_Arctis_7-00.stereo-game" emberton_sink="bluez_sink.04_21_44_89_D0_BE.a2dp_sink" # SOURCES (Audio In) jabra_510_source="alsa_input.usb-0b0e_Jabra_SPEAK_510_USB_1C48F9C067D5020A00-00.mono-fallback" builtin_source="alsa_input.pci-0000_00_1f.3.analog-stereo" steelseries_source="alsa_input.usb-SteelSeries_SteelSeries_Arctis_7-00.mono-chat" CHOICES="Cancel\nToggle Mute Speaker\nToggle Mute Mic\nMarshall Headset & Jabra Mic\nMarshall Headset & Default Mic\nMarshall Earbuds & Jabra Mic\nJabra Speaker & Mic\nBuilt-In Audio" CHOSEN=$(echo -e "$CHOICES" | dmenu -l 10) case "$CHOSEN" in "Toggle Mute Speaker") pactl set-sink-mute 0 toggle ;; "Toggle Mute Mic") pactl set-source-mute 0 toggle ;; "Marshall Headset & Jabra Mic") bluetooth power on bluetoothctl connect $marshall_headset_device pactl set-default-sink $marshall_headset_sink pactl set-default-source $jabra_510_source ;; "Marshall Headset & Default Mic") bluetooth power on bluetoothctl connect $marshall_headset_device pactl set-default-sink $marshall_headset_sink pactl set-default-source $builtin_source ;; "Marshall Earbuds & Jabra Mic") bluetooth power on bluetoothctl connect $marshall_earbuds_device pactl set-default-sink $marshall_earbuds_sink pactl set-default-source $jabra_510_source ;; "Built-In Audio") pactl set-default-sink $builtin_audio_sink pactl set-default-source $builtin_audio_source ;; "Jabra Speaker & Mic") pactl set-default-sink $jabra_510_sink pactl set-default-source $jabra_510_source ;; "Emberton & Built-In") pactl set-default-sink $emberton_sink pactl set-default-source $builtin_audio_source ;; "Steelseries Headset") pactl set-default-sink $steelseries_sink pactl set-default-source $steelseries_source ;; esac