Pages : 1
#1 Le 19/01/2008, à 21:35
- Coolaman
[Resolu]script bash lecture mpd
J'essaye de faire un petit script pour écouter ma musique avec mpd .
Seulement le script ne fonctionne pas au premier lancement, seulement au deuxième. Et si je reselectionne ce fichier après avoir écouter autre chose, il n y a plus de problème. En temporisant avec la commande sleep, cela fonctionne a peu pres s'il n'y a pas trop de fichier dans le répertoire. Si un à¢me charitable a une solution,je suis preneur, c'est dommage de ralentir le démon pour que le script fonctionne.
Le script :
#!/bin/bash
## Repertoire ou est stocké la musique
music="/mnt/Archives/Archives/Musique"
## Variables
name=`basename "$1" `
dir=`dirname "$1"`
ext=`echo "$name" | awk -F. '{print $NF}' `
## Choix :
case "$ext" in
mp3 | ogg | wma | flac | wav )
# Lancement mpc
rm "$music/Temp/"*
ln -s "$dir"/*.$ext "$music/Temp"
mpc update Temp
sleep 0.5
mpc clear
mpc add Temp
# Numero de chanson
n=`ls "$music/Temp" | sed '/./=' | sed '/./N; s/\n/ /' | grep "$name" | awk -F" " '{print $1}' `
mpc play "$n"
;;
pls)
mpc clear
grep '^File[0-9]*' "$1" | sed -e 's/^File[0-9]*=//' | mpc add
mpc play
;;
m3u)
mpc clear
cat "$1" | mpc add
mpc play
;;
esac
# Lancement interface graphique
sonata --hidden
Dernière modification par Coolaman (Le 21/01/2008, à 15:01)
Hors ligne
#2 Le 21/01/2008, à 15:03
- Coolaman
Re : [Resolu]script bash lecture mpd
Bon j'ai juste fait une tempo rapide. Je profite enfin de la rapidité de mpd ( le son demarre avant l'interface graphique).
Le script final :
#!/bin/bash
## Repertoire ou est stocké la musique
music="/mnt/Archives/Musique"
## Variables
name=`basename "$1" `
dir=`dirname "$1"`
ext=`echo "$name" | awk -F. '{print $NF}' `
## Choix :
case "$ext" in
mp3 | ogg | mp4 | flac | wav )
# Lien
rm "$music/Temp/"*
ln -s "$dir"/*.$ext "$music/Temp"
fin_list=`ls "$music/Temp" | sed '$!d'`
# Update et tempo
mpc update Temp
while :
do
fin_list_mpc=`mpc ls Temp | sed -n '$p' | cut -f2 -d"/" `
if [ "$fin_list_mpc" != "$fin_list" ] ; then sleep 0.01
else break
fi
done
# Ajout
mpc clear
mpc add Temp
# Numero de chanson
n=`ls "$music/Temp" | sed '/./=' | sed '/./N; s/\n/ /' | grep "$name" | awk -F" " '{print $1}' `
mpc play "$n"
;;
pls)
mpc clear
grep '^File[0-9]*' "$1" | sed -e 's/^File[0-9]*=//' | mpc add
mpc play
;;
m3u)
mpc clear
cat "$1" | mpc add
mpc play
;;
esac
# Lancement interface graphique
sonata --hidden
Dernière modification par Coolaman (Le 18/02/2008, à 10:14)
Hors ligne
#3 Le 05/02/2008, à 18:20
- pmd
Re : [Resolu]script bash lecture mpd
Salut, ça m'a l'air pas mal ce script ^^
Sinon, tu arrive à lire les wma avec mpd ?
Hors ligne
#4 Le 18/02/2008, à 10:13
- Coolaman
Re : [Resolu]script bash lecture mpd
Effectivement j'ai été un peu vite ( en fait j'ai mis tout ce qui me passait par la tete a ce moment la sans verifier )
Par contre j'ai encore un probleme avec les encodages ( utf8 iso ) sur les accents comme d'hab. Les tags doivent etre Ok sinon le script tourne en boucle . Je suis en train de regarder comment je peux bidouiller ca.
Hors ligne