summaryrefslogtreecommitdiff
path: root/audio-autoAdjust.sh
diff options
context:
space:
mode:
Diffstat (limited to 'audio-autoAdjust.sh')
-rwxr-xr-xaudio-autoAdjust.sh62
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