diff options
Diffstat (limited to 'audio-autoAdjust.sh')
| -rwxr-xr-x | audio-autoAdjust.sh | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/audio-autoAdjust.sh b/audio-autoAdjust.sh new file mode 100755 index 0000000..31a4b4c --- /dev/null +++ b/audio-autoAdjust.sh @@ -0,0 +1,62 @@ +#!/usr/bin/bash + +# sys-def vars +# DO NOT TOUCH +VOL=0 +STATE=1 + +# usr-def vars +OTHERPLAYER_MUSIC_PERCENTAGE=35 +NORMAL_MUSIC_PLAYER_PERCENTAGE=50 + +function getMusicId() { + pulsemixer --list-sink | grep 'Name: spotify' | awk '{print $4}' | sed 's/,$//' +} + +function getVideoId() { + pulsemixer --list-sink | grep 'Name: Chromium' | awk '{print $4}' | sed 's/,$//' +} + +function lower_music() { + pulsemixer --id "$(getMusicId)" --set-volume $OTHERPLAYER_MUSIC_PERCENTAGE +} + +function normal_music() { + pulsemixer --id "$(getMusicId)" --set-volume $NORMAL_MUSIC_PLAYER_PERCENTAGE +} + +if [ "$1" ]; then + if [[ "$1" == '--help' || "$1" == '-h' ]]; then + /sbin/echo -e "Usage: $0 [OPTION]\n\nOptions:\n\t-l|--lower\tTo lower music volume\n\t-n|--normal\tTo set music volume to normal" + exit 0 + elif [[ "$1" == '--daemon' || "$1" == '-d' ]]; then + while true; do + if [[ "$(systemctl is-system-running)" == "running" || "$(systemctl is-system-running)" == "degraded" ]]; then + if [ $(getVideoId) ]; then + if [ $STATE -eq 0 ]; then + STATE=1 + echo VideoDetected + lower_music + fi + elif [ $(getMusicId) ] && [ $STATE -eq 1 ]; then + STATE=0 + echo VideoGone + normal_music + else + sleep 5 + fi + sleep 3 + fi + done + exit 0 + elif [[ "$1" == '--lower' || "$1" == '-l' ]]; then + lower_music + exit 0 + elif [[ "$1" == '--normal' || "$1" == '-n' ]]; then + normal_music + exit 0 + fi +fi + +/sbin/echo -e "Un-recornized option: '$@', Please use options:\n\t-l|--lower\tTo lower music volume\n\t-n|--normal\tTo set music volume to normal" +exit 1 |
