Pages : 1
#1 Le 23/08/2016, à 12:10
- el_joko
Playlist Radio Meuh
bonjour à tous,
Ayant coutume d'écouter Radio Meuh une super radio (française et sans pub) http://www.radiomeuh.com/
j'ai écrit un script qui affiche le nom de l'artiste et du morceau diffusé.
Pour le fun j'ai rajouté l'option lolcat (à installer) :
sudo apt-get install lolcat
Voici le script
#!/bin/bash
#on change le titre de la fenêtre terminal
echo -ne "\033]0;♪ Playlist Radio Meuh ♪\007"
#on n'affiche pas le curseur
tput civis
#ci dessous la fonction qui récupère le fichier de radio meuh et ventile dans les variables
function aff {
rm -f playlist.php*
#on récupère le fichier d'info (il est au format xml)
wget http://www.radiomeuh.com/wp-content/player/muses2/playlist.php?_= 2>/dev/null
#on passe le fichier dans la vrariable xml
xml=$(cat playlist.php?_=)
#on analyse les infos du xml
artiste=$(echo "$xml"| grep 'artist>' | cut -d"[" -f3 | cut -d']' -f1)
titre=$(echo "$xml"| grep -o "titre.*\]\]><\/titre" | cut -d"[" -f3 | cut -d"]" -f1)
chaine="$artiste - $titre"
duree=$(echo "$xml"| grep -o "[0-9][0-9]*<\/expire"| cut -d"<" -f1)
#on récupère l'heure d'appel de la fonction qui correspond à l'heure de diffusion de la radio sauf pour le premier appel
heure_diff=$(date +"%H:%M")
#on tranforme duree exprimée en secondes au format xx minutes yy secondes
#comme il s'agit de morceaux ceux-ci n'excèdent pas l'heure (!)
((heure=$duree/3600))
((min=$duree-$heure*3600))
((min=$min/60))
#ci dessous modulo pour avoir les secondes
((sec=$duree % 60))
#on veut des données au format par exemple 02:03
#formatage min et sec
min=$(printf "%02d\n" $min)
sec=$(printf "%02d\n" $sec)
#on n'affiche que les 70 premiers caractères suivi de ... éventuellement
long_chaine=${#chaine} # taille de la chaine
coupe=70 #
if [ $long_chaine -gt $coupe ]
then
#on affichige que les n premiers caractere n=coupe
chaine=${chaine:0:coupe}
echo $heure_diff $chaine"...("$min':'$sec")" | lolcat #on affiche des points de suspension directement derrière chaine
else
echo $heure_diff $artiste - $titre "($min"':'"$sec)" | lolcat
fi
duree2=$(($duree + 20)) # le "20" correspond à un délai supplémentaire le temps de pouvoir recharger (côté serveur) le nouveau xml
}
clear
#boucle infinie
while true;do
aff
sleep $duree2
done
#on rend le curseur visible
tput cnorm
Bien à vous
Dernière modification par el_joko (Le 23/08/2016, à 12:11)
Hors ligne
#2 Le 23/08/2016, à 13:48
- kholo
Re : Playlist Radio Meuh
salut
testé direct !
ça me fait juste une ligne avec le titre en cours... je pense
dommage le player en flash sur le site...
et un petit lien pour lire avec VLC ou un player serait un plus...
mais ça c'est la popotte du site
Hors ligne
#3 Le 23/08/2016, à 19:29
- el_joko
Re : Playlist Radio Meuh
lien pour votre player préféré : http://ice4.infomaniak.ch:80/radiomeuh-64.aac
en fait ça affiche heure d'envoi de la fonction aff, l'artiste, le morceau et le temps restant
pour les n+1èmes morceaux on peut considérer que temps restant = durée morceau (à la louche)
l'affichage est donc en continu
ps1: parfois l'affichage se double c'est lié au wget
ps2: radio meuh est une "petite" radio qui a bien grandit, l'écoute depuis trois, y ai découvert beaucoup de musiques cool, de la fonke à la house en passant par l'afro et j'en passe
c'est pourquoi j'ai écrit ce petit script qui me renseigne sur les artistes et les titres.
ps3: ce script pourrait être utilisé avec un autre qui irait chercher sur youtube les vidéos du titre en cours qui nous l'afficherait dans un terminal... Et bien ce script existe !
déjà si celui-ci peut être utile à d'autres
(musicophiles et bidouilleurs de scripts)
à bien le bonjour ;-)
Hors ligne
#4 Le 24/08/2016, à 23:17
- GSXR
Re : Playlist Radio Meuh
Bonjour, sinon ouvres juste ce lien avec Clementine ou VLC (ou autres) :
http://radiomeuh.ice.infomaniak.ch:8000/radiomeuh-128.mp3
Tu as bien l'artiste et le titre qui s affiche en temps reel, contrairement a celui que tu donnes.
Le mieux c est de te faire un fichier .m3u avec ce lien a l'interieur, plus pratique pour l'ouvrir.
Pour les playlists, elles se recuperent sans probleme sur leur site.
Mais tu peux aussi installer Streamripper ( https://doc.ubuntu-fr.org/streamripper ) :
sudo apt-get install streamripper
et tout recuperer pendant que tu ecouteras la radio avec ton player préféré en tapant ceci (remplaces ton-nom):
streamripper http://radiomeuh.ice.infomaniak.ch:8000/radiomeuh-128.mp3 -d /home/ton-nom/
Un dossier du nom de la radio apparaitra dans ton home et tu auras tout les morceaux proprement coupés et taggés
qui s"enregistreront au fur et à mesure.
au plaisir.
Dernière modification par GSXR (Le 25/08/2016, à 00:39)
Ubuntu Mate 18.04 - x64 - Mate + Compton = No tearing - Cairo-Dock - Kernel 4.16.13
Asus P8Z77-V LX2 - I5 3570K @ 4,5Ghz - 16Go DDR3 G.Skill Extreme Series
MSI GTX 1080Ti Gaming X - 11Go + Tuner DVB T2/T/C TBS 6221 + Webcam Logitech C920
Moniteur Alienware A3418DW
Hors ligne
#5 Le 25/08/2016, à 06:17
- el_joko
Re : Playlist Radio Meuh
bonjour,
merci pour l'info
je vais remplacer le lien (pour tester)
le but du jeu c'était à la fois un exo de programmation en bash et pour une facilité d'utliisation extrême
d'autre part je me sers de ce script pour pouvoir télécharger un morceau sans rien à retaper.
pour la playlist les morceaux s'affichent directement dans le terminal les uns derrière les autres et ça me va bien.
enfin chacun fait comme il veut... :-)
Hors ligne
#6 Le 25/08/2016, à 09:00
- kholo
Re : Playlist Radio Meuh
@GSXR en bash /home/utilisateur est $HOME
tu peux le voir comme ça :
echo $HOME
pour la ligne à mettre sans avoir à adapter le nom :
streamripper http://radiomeuh.ice.infomaniak.ch:8000/radiomeuh-128.mp3 -d $HOME/
ou encore mieux :
streamripper http://radiomeuh.ice.infomaniak.ch:8000/radiomeuh-128.mp3 -d $HOME/Musique/
**********************************************************
je vais plus loin :
scripts pour écouter, lancer et arrêter l'enregistrement :
je fais un pas à pas pour les plus débutants
je reprend les installations :
sudo apt install streamripper
sudo apt install vlc
on crée un dossier bin qui sera ajouté automatiquement à $PATH
mkdir ~/bin
cd ~/bin
pour l'écoute :
nano radio_Meuh
copier / coller le script : (on peut adapter vlc avec un autre lecteur)
pour coller dans le terminal (clic droit / coller ou ctrl + maj + v)
#!/bin/bash
vlc http://radiomeuh.ice.infomaniak.ch:8000/radiomeuh-128.mp3 &
exit 0
NB : le & pour que que le script rende la main après lancement
pour fermer nano : ctrl + x
-> FAIRE : Ctrl + x puis o (pour oui) puis touche entrée
script pour lancer l'enregistrement
nano rec_radio_Meuh
#!/bin/bash
streamripper http://radiomeuh.ice.infomaniak.ch:8000/radiomeuh-128.mp3 -d $HOME/Musique/ &
exit 0
Ctrl + x puis o (pour oui) puis touche entrée
script pour arrêter l'enregistrement
nano rec_stop
#!/bin/bash
killall streamripper
exit 0
Ctrl + x puis o (pour oui) puis touche entrée
On rend les scripts exécutable
chmod +x radio_Meuh
chmod +x rec_stop
chmod +x rec_radio_Meuh
**********************************************************
Pour écouter :
radio_Meuh
(juste taper radio puis touche tabulation )
taper la touche entrée pour retrouver le prompt
Pour lancer l'enregistrement :
rec_radio_Meuh
(taper rec_r puis touche tabulation)
Pour stopper l'enregistrement
rec_stop
(taper rec_s puis touche tabulation)
reste à faire quelques améliorations :
mettre l'adresse dans un fichier texte séparé et des liens vers le bureau ou les programmes par exemple
il y a aussi les scripts de nautilus en créant un lien vers le dossiers
Hors ligne
#7 Le 25/08/2016, à 11:24
- el_joko
Re : Playlist Radio Meuh
tout cool tout ça !
on peut ensuite mettre toutes ces options dans un fichier desktop, ainsi au clic droit écouter, enregistrer, enregistrer playlist etc...
c'est pour ma part ce que j'ai fait (avec comme icone ♥♥ ♫ Une jolie vache.... ♫ )
Hors ligne
#8 Le 25/08/2016, à 13:29
- GSXR
Re : Playlist Radio Meuh
@GSXR en bash /home/utilisateur est $HOME
tu peux le voir comme ça :echo $HOME
Bonjour, oui je sais bien, mais les habitudes...
Pour le reste, je prefere utiliser des alias dans le .bashrc, mais la finalité est la même.
Neanmoins nul doute que cela en interessera beaucoup !!
Ubuntu Mate 18.04 - x64 - Mate + Compton = No tearing - Cairo-Dock - Kernel 4.16.13
Asus P8Z77-V LX2 - I5 3570K @ 4,5Ghz - 16Go DDR3 G.Skill Extreme Series
MSI GTX 1080Ti Gaming X - 11Go + Tuner DVB T2/T/C TBS 6221 + Webcam Logitech C920
Moniteur Alienware A3418DW
Hors ligne
Pages : 1