aboutsummaryrefslogtreecommitdiff
path: root/musicMode.sh
diff options
context:
space:
mode:
Diffstat (limited to 'musicMode.sh')
-rwxr-xr-xmusicMode.sh26
1 files changed, 14 insertions, 12 deletions
diff --git a/musicMode.sh b/musicMode.sh
index 574a58d..14b97ba 100755
--- a/musicMode.sh
+++ b/musicMode.sh
@@ -1,28 +1,30 @@
#!/bin/sh
-[ "$(pgrep -x musicMode.sh)" != "$$" ] && notify-send -t 3000 "Already running! Exiting this new instance." && exit 0 #Check if already running
-[ -z "$(pgrep -x cmus)" ] && notify-send -t 3000 "cmus not running. Open it first." && exit 0 #Check that cmus is running
+[ "$(pgrep -x musicMode.sh)" != "$$" ] && dunstify -t 3000 "Already running! Exiting this new instance." && exit 0 #Check if already running
+[ -z "$(pgrep -x cmus)" ] && dunstify -t 3000 "cmus not running. Open it first." && exit 0 #Check that cmus is running
-mkdir /tmp/musicMode
-coverPath="/tmp/musicMode/cover.jpg"
+coverPath="/tmp/musicMode.png"
i3-msg "workspace 6" >/dev/null #Switch to music workspace
i3-msg "gaps inner current set 0; gaps outer current set 0; bar mode hide"
i3-msg "exec urxvt -title 'noborder' -sh 100 -fn xft:monospace:size=4 -e vis -c ~/.config/vis/configMusicMode" # Start music visualizer
-# Loop checking current song and checking background
+# Loop checking current song and setting background
file=""
while [ true ]
do
+ # Check if current file has changed
if [ "$file" != "$(cmus-remote -Q | grep "^file" | cut -d' ' -f2-)" ]; then
+ # Set $file to current playing file if it has changed
file="$(cmus-remote -Q | grep ^file | cut -d' ' -f2-)"
rm $coverPath >/dev/null
- title="$(cmus-remote -Q | grep "tag title " | cut -d' ' -f3-)"
- [ -z "$title" ] && title="[$(basename "$(cmus-remote -Q | grep "file " | cut -d'/' -f5-)")]"
- notify-send -h string:x-canonical-private-synchronous:musicMode -t 0 "$(~/scripts/i3blocks/i3music.sh)"
- ffmpeg -i "$file" $coverPath >/dev/null
- feh --no-fehbg --bg-max $coverPath >/dev/null
- videoFile="$(ls -d ~/videos/music/* | grep "$title")"
+ # Get title. It is only used for video search.
+ title="$(cmus-remote -Q | grep "^tag title " | cut -d' ' -f3-)"
+ [ -z "$title" ] && title="$(basename "$(cmus-remote -Q | grep "^file" | cut -d' ' -f2- | cut -d'.' -f1 )")"
+ dunstify -r $(dunstifyIDs.sh musicMode) -t 0 "$(~/scripts/i3blocks/i3music.sh)"
+ ffmpeg -i "$file" "$coverPath" >/dev/null
+ feh --no-fehbg --bg-max "$coverPath" >/dev/null #|| feh --no-fehbg --bg-max $HOME/images/wallpapers/bg_* >/dev/null
+ videoFile="$(ls -d $HOME/videos/music/* | grep "$title")"
if [ "$videoFile" ]; then # videoclip found
cmus-remote -u
mpv --fs "$videoFile"
@@ -33,6 +35,6 @@ do
cmus-remote -n
fi
fi
- [ -z "$(pgrep -x cmus)" ] && notify-send "Cmus closed." && closeMusicMode.sh
+ [ -z "$(pgrep -x cmus)" ] && closeMusicMode.sh
sleep 1
done