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 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