Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/08/2016, à 13: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, à 13:11)

Hors ligne

#2 Le 23/08/2016, à 14: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 wink

Hors ligne

#3 Le 23/08/2016, à 20: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 ! big_smile

déjà si celui-ci peut être utile à d'autres
(musicophiles et bidouilleurs de scripts) smile

à bien le bonjour ;-)

Hors ligne

#4 Le 25/08/2016, à 00: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.

wink au plaisir.

Dernière modification par GSXR (Le 25/08/2016, à 01: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, à 07: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, à 10: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 cool )
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
wink

Hors ligne

#7 Le 25/08/2016, à 12: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, à 14:29

GSXR

Re : Playlist Radio Meuh

kholo a écrit :

@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 !! wink


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