diff --git a/usr/bin/mb-music b/usr/bin/mb-music
index 68c6650..046fab5 100755
--- a/usr/bin/mb-music
+++ b/usr/bin/mb-music
@@ -1,5 +1,7 @@
#!/bin/bash
# mb-music - play Internet streams with mpv or PyRadio
+me="${0##*/} ipc"
+
wmctrl -R cavatransparent
mkdir -p "$HOME/.config/mabox/mb-music/"
@@ -43,59 +45,73 @@ NOWPLAYYT="$HOME/.config/mabox/mb-music/.yt-mpv"
menu() {
case $LANG in
pl*)
- SNM="Dźwięk i Muzyka"
- VOL="Sterowanie głośnością"
- RADIO="Radio Internetowe"
- PYRADIO="Uruchom PyRadio"
- LISTEN="Słuchaj radia..."
- EDITSTATIONS="Edytuj listę stacji radiowych"
- RADIOBROWSER="Szukaj stacji online"
- MPV="Odtwarzaj (za pomocą mpv - bez gui)"
- CAVA="Wizualizacja (cava)"
- STOP="Wyłącz"
- YTMUSIC="Odtwarzacz MPV"
- PLAYYT="Odtwarzaj..."
- EDITPLAYLIST="Edytuj listę"
- SETTINGS="Ustawienia"
+ _SNM="Dźwięk i Muzyka"
+ _VOL="Sterowanie głośnością"
+ _RADIO="Radio Internetowe"
+ _PYRADIO="Uruchom PyRadio"
+ _LISTEN="Słuchaj radia..."
+ _EDITSTATIONS="Edytuj listę stacji radiowych"
+ _RADIOBROWSER="Szukaj stacji online"
+ _MPV="Odtwarzaj (za pomocą mpv - bez gui)"
+ _CAVA="Wizualizacja (cava)"
+ _STOP="Wyłącz"
+ _PAUSE="Pauza"
+ _PLAY="Graj"
+ _YTMUSIC="Odtwarzacz MPV"
+ _PLAYYT="Odtwarzaj..."
+ _EDITPLAYLIST="Edytuj listę"
+ _SETTINGS="Ustawienia"
;;
*)
- SNM="Sound and Music"
- VOL="Volume Control"
- RADIO="Internet Radio"
- PYRADIO="Launch PyRadio"
- LISTEN="Listen to the radio..."
- EDITSTATIONS="Edit radio stations list"
- RADIOBROWSER="Search Radio Stations online"
- MPV="Play (with mpv - no gui)"
- CAVA="Visualiser (cava)"
- STOP="Stop"
- YTMUSIC="MPV Player"
- PLAYYT="Play..."
- EDITPLAYLIST="Edit MPV playlist"
- SETTINGS="Settings"
+ _SNM="Music & Sound Menu"
+ _VOL="Volume Control"
+ _RADIO="Internet Radio"
+ _PYRADIO="Launch PyRadio"
+ _LISTEN="Listen to the radio..."
+ _EDITSTATIONS="Edit radio stations list"
+ _RADIOBROWSER="Search Radio Stations online"
+ _MPV="Play (with mpv - no gui)"
+ _CAVA="Visualiser (cava)"
+ _STOP="Quit"
+ _PAUSE="Pause"
+ _PLAY="Play"
+ _YTMUSIC="MPV Player"
+ _PLAYYT="Play..."
+ _EDITPLAYLIST="Edit MPV playlist"
+ _SETTINGS="Settings"
;;
esac
-out+=("^sep($SNM)")
-out+=(" $VOL W + v ,pavucontrol")
-out+=("^sep($RADIO)")
-out+=("$PYRADIO W + r ,terminator --icon=/usr/share/icons/pyradio.png --geometry=564x440-20-20 -x pyradio -lt")
+#out+=("^sep($_SNM)")
+out+=(" $_VOL + v ,pavucontrol")
+out+=("^sep($_RADIO)")
+out+=("$_PYRADIO + r ,terminator --icon=/usr/share/icons/pyradio.png --geometry=564x440-20-20 -x pyradio -lt")
out+=("^sep()")
NOWPL="0"
-pgrep -f radio-mpv > /dev/null && NOW="$(<"$NOWPLAY")" NOWPL="1" out0+=(" $STOP $NOW,pkill -f radio-mpv;pkill -f yt-mpv")
-out+=("$LISTEN,^checkout(mpvradio)")
+#pgrep -f radio-mpv > /dev/null && NOW="$(<"$NOWPLAY")" NOWPL="1" out0+=(" $STOP $NOW,pkill -f radio-mpv;pkill -f yt-mpv")
+
+if pgrep -f radio-mpv > /dev/null
+then
+status="$(playerctl -p mpv status)"
+NOW="$(<"$NOWPLAY")" NOWPL="1"
+[[ "$status" == "Playing" ]] && out0+=(" $_PAUSE,playerctl -p mpv pause;${me}") || out0+=(" $_PLAY,playerctl -p mpv play;${me}")
+out0+=(" $_STOP,pkill -f yt-mpv;pkill -f radio-mpv")
+out0+=("^sep()")
+fi
+
+out+=("$_LISTEN,^checkout(mpvradio)")
out2+=("^tag(mpvradio)")
-out2+=("^sep($LISTEN)")
+out2+=("^sep($_LISTEN)")
#mapfile -t stations < "$PLAYLIST"
grp=0
while IFS=$'\r\n' read -r line
do
url=${line#*,}
name=${line%,*}
- if [ ${url} == "-" ];then
+ if [[ "${url}" == "-" ]];then
((grp++))
out2+=("${name},^checkout(${grp})")
out3+=("^tag($grp)")
@@ -112,8 +128,16 @@ done <<< $(grep -v '^\s*$\|^#\|^\s*#' $PLAYLIST)
-out+=("^sep($YTMUSIC)")
-pgrep -f yt-mpv > /dev/null && NOW="$(<"$NOWPLAYYT")" NOWPL="1" out0+=(" $STOP $NOW,pkill -f yt-mpv;pkill -f radio-mpv")
+out+=("^sep($_YTMUSIC)")
+#pgrep -f yt-mpv > /dev/null && NOW="$(<"$NOWPLAYYT")" NOWPL="1" out0+=(" $STOP $NOW,pkill -f yt-mpv;pkill -f radio-mpv")
+if pgrep -f yt-mpv > /dev/null
+then
+status="$(playerctl -p mpv status)"
+NOW="$(<"$NOWPLAYYT")" NOWPL="1"
+[[ "$status" == "Playing" ]] && out0+=(" $_PAUSE,playerctl -p mpv pause;${me}") || out0+=(" $_PLAY,playerctl -p mpv play;${me}")
+out0+=(" $_STOP,pkill -f yt-mpv;pkill -f radio-mpv")
+out0+=("^sep()")
+fi
n=$(grep -v '^\s*$\|^#\|^\s*#' ${PLAYLISTYT} |wc -l)
@@ -130,9 +154,9 @@ if (( $n <= 24 ));then #flat view in rootmenu
fi
done <<< $(grep -v '^\s*$\|^#\|^\s*#' $PLAYLISTYT)
elif (( $n <= 30 ));then # flat view in submenu
- out+=("$PLAYYT ,^checkout(ytmusic)")
+ out+=("$_PLAYYT ,^checkout(ytmusic)")
out2+=("^tag(ytmusic)")
- out2+=("^sep($YTMUSIC)")
+ out2+=("^sep($_YTMUSIC)")
grp=0
while IFS=$'\r\n' read -r line
do
@@ -145,11 +169,11 @@ elif (( $n <= 30 ));then # flat view in submenu
fi
done <<< $(grep -v '^\s*$\|^#\|^\s*#' $PLAYLISTYT)
out2+=("^sep()")
- out2+=("$EDITPLAYLIST,xdg-open $PLAYLISTYT")
+ out2+=("$_EDITPLAYLIST,xdg-open $PLAYLISTYT")
else # n > 30
- out+=("$PLAYYT ,^checkout(ytmusic)")
+ out+=("$_PLAYYT ,^checkout(ytmusic)")
out2+=("^tag(ytmusic)")
- out2+=("^sep($YTMUSIC)")
+ out2+=("^sep($_YTMUSIC)")
grp=0
while IFS=$'\r\n' read -r line
do
@@ -172,16 +196,16 @@ else # n > 30
fi
out+=("^sep(VISUALIZER)")
-pgrep -f cavatransparent > /dev/null && out+=("$STOP $CAVA,mb-music cavakill;mb-music ipc" "Colorize Cava,colorizer-cava -s") || out+=(" $CAVA,mb-music cavastart;mb-music ipc")
+pgrep -f cavatransparent > /dev/null && out+=("$_STOP $_CAVA,mb-music cavakill;mb-music ipc" "Colorize Cava,colorizer-cava -s") || out+=(" $_CAVA,mb-music cavastart;mb-music ipc")
out+=("^sep()")
-out+=(" $SETTINGS,^checkout(settings)")
+out+=(" $_SETTINGS,^checkout(settings)")
out2+=("^tag(settings)")
-out2+=("^sep($RADIO)")
-out2+=(" $EDITSTATIONS,xdg-open $PLAYLIST")
-out2+=(" $RADIOBROWSER,xdg-open https://www.radio-browser.info")
-out2+=("^sep($YTMUSIC)")
-out2+=(" $EDITPLAYLIST,xdg-open $PLAYLISTYT")
+out2+=("^sep($_RADIO)")
+out2+=(" $_EDITSTATIONS,xdg-open $PLAYLIST")
+out2+=(" $_RADIOBROWSER,xdg-open https://www.radio-browser.info")
+out2+=("^sep($_YTMUSIC)")
+out2+=(" $_EDITPLAYLIST,xdg-open $PLAYLISTYT")
### RUN
if [[ "$1" == "-s" || "$1" == "ipc" ]]; then
@@ -194,7 +218,8 @@ elif [[ $panels_heightpos == "bottom" ]]; then
MENU_VALIGN="bottom"
MENU_MARGIN_Y=${panels_topmargin:-0}
else
- MENU_VALIGN="top"
+ MENU_VALIGN="center"
+ menu_margin_x=4
fi
MENU_PADDING_TOP=$((jgtools_padding+102))
@@ -217,32 +242,36 @@ mkconfigfile
if [[ "$NOWPL" == "1" ]];then
clr="#22FF22"
read -r -d '' NOWPLAYLINES <${NOW}"""
+#@rect,,${jgtools_padding},$((jgtools_padding+74)),298,24,0,left,top,,#222222 60,
+@rect,,$((jgtools_padding+16)),$((jgtools_padding+70)),$((JGWIDTH-2*jgtools_padding-32)),20,4,left,top,,#222222 75,
+@text,,$((jgtools_padding+20)),$((jgtools_padding+70)),$((JGWIDTH-2*jgtools_padding)),20,0,left,top,#FFFFFF 90,,""" ${NOW}"""
EOF
else
-clr="#444444"
+clr="#666666"
+read -r -d '' NOWPLAYLINES < + m """
+EOF
fi
cat < ${MENU_ITEMS}
-@rect,,${jgtools_padding},${jgtools_padding},300,100,0,left,top,,#ffffff 15,
+@rect,,${jgtools_padding},${jgtools_padding},300,100,4,left,top,,#111111 25,
-@rect,,${jgtools_padding},$((jgtools_padding+64)),18,36,0,left,top,,${clr} 100,
-@rect,,$((jgtools_padding+20)),$((jgtools_padding+44)),18,56,0,left,top,,${clr} 100,
-@rect,,$((jgtools_padding+40)),$((jgtools_padding+64)),18,36,0,left,top,,${clr} 100,
-@rect,,$((jgtools_padding+60)),$((jgtools_padding+14)),18,86,0,left,top,,${clr} 100,
-@rect,,$((jgtools_padding+80)),$((jgtools_padding+64)),18,36,0,left,top,,${clr} 100,
-@rect,,$((jgtools_padding+100)),$((jgtools_padding+54)),18,46,0,left,top,,${clr} 100,
-@rect,,$((jgtools_padding+120)),$((jgtools_padding+34)),18,66,0,left,top,,${clr} 100,
-@rect,,$((jgtools_padding+140)),$((jgtools_padding+54)),18,46,0,left,top,,${clr} 100,
-@rect,,$((jgtools_padding+160)),$((jgtools_padding+84)),18,16,0,left,top,,${clr} 100,
-@rect,,$((jgtools_padding+180)),$((jgtools_padding+94)),18,6,0,left,top,,${clr} 100,
-@rect,,$((jgtools_padding+200)),$((jgtools_padding+95)),18,5,0,left,top,,${clr} 100,
-@rect,,$((jgtools_padding+220)),$((jgtools_padding+96)),18,4,0,left,top,,${clr} 100,
-@rect,,$((jgtools_padding+240)),$((jgtools_padding+81)),18,19,0,left,top,,${clr} 100,
-@rect,,$((jgtools_padding+260)),$((jgtools_padding+90)),18,10,0,left,top,,${clr} 100,
-@rect,,$((jgtools_padding+280)),$((jgtools_padding+64)),18,36,0,left,top,,${clr} 100,
+@rect,,$((jgtools_padding+1)),$((jgtools_padding+63)),18,36,2,left,top,,${clr} 100,
+@rect,,$((jgtools_padding+21)),$((jgtools_padding+43)),18,56,2,left,top,,${clr} 100,
+@rect,,$((jgtools_padding+41)),$((jgtools_padding+38)),18,61,2,left,top,,${clr} 100,
+@rect,,$((jgtools_padding+61)),$((jgtools_padding+13)),18,86,2,left,top,,${clr} 100,
+@rect,,$((jgtools_padding+81)),$((jgtools_padding+43)),18,56,2,left,top,,${clr} 100,
+@rect,,$((jgtools_padding+101)),$((jgtools_padding+53)),18,46,2,left,top,,${clr} 100,
+@rect,,$((jgtools_padding+121)),$((jgtools_padding+33)),18,66,2,left,top,,${clr} 100,
+@rect,,$((jgtools_padding+141)),$((jgtools_padding+53)),18,46,2,left,top,,${clr} 100,
+@rect,,$((jgtools_padding+161)),$((jgtools_padding+83)),18,16,2,left,top,,${clr} 100,
+@rect,,$((jgtools_padding+181)),$((jgtools_padding+93)),18,6,2,left,top,,${clr} 100,
+@rect,,$((jgtools_padding+201)),$((jgtools_padding+97)),18,2,2,left,top,,${clr} 100,
+@rect,,$((jgtools_padding+221)),$((jgtools_padding+86)),18,13,2,left,top,,${clr} 100,
+@rect,,$((jgtools_padding+241)),$((jgtools_padding+80)),18,19,2,left,top,,${clr} 100,
+@rect,,$((jgtools_padding+261)),$((jgtools_padding+58)),18,41,2,left,top,,${clr} 100,
+@rect,,$((jgtools_padding+281)),$((jgtools_padding+43)),18,56,2,left,top,,${clr} 100,
${NOWPLAYLINES}