Détection (pourrie) de fin de fichier. :( :( :( :(
This commit is contained in:
parent
0874703f3b
commit
3d5348deb7
4
mplayerd
4
mplayerd
|
@ -5,7 +5,7 @@ source "$(dirname "$0")/config"
|
|||
if [ "$1" == "stop" ]; then
|
||||
if [ -e /dev/shm/mplayer-pid ]; then
|
||||
if ! kill "$(<"$MP_PID")"; then
|
||||
echo "Failed to kill mplayer"
|
||||
echo "Failed to kill mplayer."
|
||||
exit 2
|
||||
fi
|
||||
else
|
||||
|
@ -17,5 +17,5 @@ else
|
|||
[ -p "$MP_OUTPUT" ] || mkfifo "$MP_OUTPUT"
|
||||
|
||||
mplayer -quiet -slave -input file="$MP_CONTROL" -idle > "$MP_OUTPUT" 2> "$MP_ERROR" &
|
||||
echo "$!" > /dev/shm/mplayer-pid
|
||||
echo "$!" > "$MP_PID"
|
||||
fi
|
||||
|
|
|
@ -13,6 +13,10 @@ old_album=""
|
|||
|
||||
cat "$MP_OUTPUT" \
|
||||
| while read ligne; do
|
||||
# Détection de la fin de fichier (voir commentaire dans mplayerd-play.
|
||||
if [ "$ligne" == "Playing /dev/null." ]; then
|
||||
echo "EOF"
|
||||
fi
|
||||
# TODO : utiliser grep n'est pas du tout efficace !
|
||||
if grep -q "^[a-zA-Z_][a-zA-Z0-9_]*='"<<<"$ligne"; then
|
||||
modif=0
|
||||
|
|
|
@ -3,3 +3,9 @@
|
|||
source "$(dirname "$0")/config"
|
||||
|
||||
echo "loadfile '$(readlink -f "$1")' 0" > "$MP_CONTROL"
|
||||
|
||||
# On lit /dev/null après le fichier, pour détecter la fin du fichier.
|
||||
# Sinon, mplayer ne donne aucune indication comme quoi il est arrivé
|
||||
# à la fin du fichier (en fait il affiche un "\n", mais c'est dur à
|
||||
# détecter et il se peut que d'autres évènements en génèrent un aussi).
|
||||
echo "loadfile '/dev/null' 1" > "$MP_CONTROL"
|
||||
|
|
Loading…
Reference in New Issue
Block a user