#!/bin/bash
CONF="$HOME/.config/clickradio"
PDIR="$HOME/.config/clickradio/plist"
PLAYR="/usr/bin/mpv"
EICON='/usr/share/click-radio/icons/error.svg'

plist(){
while read data; do
echo "$data" | sed 's/&/&amp;/g' 2>/dev/null
done | tee >(lisT)
}
function lisT(){
SELECT=$(yad \
--title="Click Radio" \
--window-icon="/usr/share/click-radio/icons/click-radio16.png" \
--width=550 --height=375 --center --on-top \
--list --column="Playlist Information" --grid-lines=hor --text="<span font_desc='Sans Bold Italic 10' foreground='#BE7F00'>Double Click To Play Menu Items</span>" \
--button=Delete!/usr/share/click-radio/icons/stop.svg:2 \
--button=Cancel!/usr/share/click-radio/icons/cancel.svg:1)
if [ $? = 2 ]; then
echo "$SELECT" | sed 's/[|].*//' | awk 'NR==1{print $0}' > $CONF/.delete 
DEL=$(cat "$CONF/.delete")
if [ -z "$DEL" ]; then
echo ""
else
/usr/share/click-radio/menu/notify/playlist_remove.py 2>/dev/null &
fi 
rm -f "$PDIR/$DEL" > /dev/null 2>&1
"$CONF/plist-info"
fi |
if [ $? = 0 ]; then
echo "$SELECT" | sed 's/[|].*//'| sed 's/amp;/&/' | sed 's/amp;//g'| sed "s/[.].*//" | awk 'NR==1{print $0}' > $CONF/sfplay
echo "$SELECT" | sed 's/[|].*//'| sed 's/amp;/&/' | sed 's/amp;//g' | awk 'NR==1{print $0}' > $CONF/.tmp
exec /usr/share/click-radio/menu/app/kill &
play=$(cat $CONF/.tmp | awk 'NR==1{print $0}')
sleep 0.50
if ! grep -q '[^[:space:]]' "$CONF/.tmp"; then
  $(yad --width=425 --height=100 --center --fixed \
--text="\nNo music file was selected from the playlist!\n\nSelect and play a song from the playlist\n" \
--window-icon=$EICON \
--image=$EICON \
--title='Error' \
--button="Cancel"!/usr/share/click-radio/icons/cancel.svg:1 \
--button="Ok"!/usr/share/click-radio/icons/ok.svg:0) 
if [ $? = 0 ]; then
pkill -f "Click Radio" &
$CONF/plist-info &
python3 /usr/share/click-radio/menu/notify/sfplay/"Click Radio" 2>/dev/null
fi 
else
$PLAYR --audio-display=no --loop "$PDIR"/"$play" 2>&1 &
python3 /usr/share/click-radio/menu/notify/sfplay/"Click Radio" 2>/dev/null
fi 
 fi 
}
if ! test -d "$PDIR" 2>/dev/null; then 
$(yad --width=450 --height=100 --center --fixed \
--text="\nNo music files in playlist!\nCreate playlist from main menu" \
--window-icon=$EICON \
--image=$EICON \
--title='Error' \
--button="Cancel"!/usr/share/click-radio/icons/cancel.svg:1)
exit 0
else
find "$PDIR" -type f \( -name "*.mp3" -o -name "*.aac" -o -name "*.ogg" -o -name "*.pls" -o -name "*.m3u" -o -name "*.wav" -o -name "*.m4a" -o -name "*.flac" -o -name "*.opus -o -name "*.webm"" \)| sort |awk -F'/' '{print $NF}'| plist | awk 'NR % 3 == 0;fflush()'  > /dev/null 2>&1 
fi


