Playlist ou recherche Youtube


 

Utilité : Permet d'ajouter les playlists de Youtube dans Mpd avec le programme youtube-dl ou d'effectuer une recherche .

Pas tres rapide mais fontionnel.

 Dependance : youtube-dl ( evidemment !)

 Fonctionnement : télécharge les liens de musiques Youtube et les insèrent dans une playlist pls + petite anmation pour patienter.

 Utilisation : ./le_script 1 ou 2

Script

#!/bin/bash
spinner()
{
 local pid=$1
    local delay=0.25
    local spinstr='\|/-\\'
    while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do
        local temp=${spinstr#?}
        printf " [%c]  " "$spinstr"
        local spinstr=$temp${spinstr%"$temp"}
        sleep $delay
        printf "\b\b\b\b\b\b"
    done
    printf "    \b\b\b\b"
}

case $1 in
1)echo -n "Lien: " ; read lien

LIEN (){
youtube-dl -f bestaudio -e -g -i "$lien" > /dev/shm/playlist
N=1
while read line
  do
    if [ -z $(echo $line | grep https ) ] ; then echo "Title$N="Youtube:$line"" >> /dev/shm/youtube.pls
    else echo "File$N=$line" >> /dev/shm/youtube.pls
    echo "Length$N=-1" >> /dev/shm/youtube.pls ; N=$(($N+1)) ;fi
  done < /dev/shm/playlist
sed -i '1i[playlist]' /dev/shm/youtube.pls
echo "NumberOfEntries=$N" >> /dev/shm/youtube.pls
echo "Version=2" >> /dev/shm/youtube.pls
cp /dev/shm/youtube.pls /media/freebox/Playlist/
mpc update --wait && mpc load Playlist/youtube.pls
rm /dev/shm/youtube.pls 
}
LIEN &
spinner $!
;;

2)echo -n "Recherche : " ; read recherche
youtube-dl -g -e -f bestaudio ytsearch20:"$recherche" > /dev/shm/resul_recherche &
spinner $!
cat -n /dev/shm/resul_recherche | sed '/https/d'

echo -n "Numero : "; read numero
 for i in $numero
  do
        if [ $((i%2)) == 0 ]
        then
        echo "Erreur de choix : $i"
        else
        mpc add $(head -$(($i+1)) /dev/shm/resul_recherche | tail -1)
        fi
 done
;;

*) echo " 1 pour Lien ou 2 pour Recherche"
;;
esac