Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Edward Yudanov                       2:5007/11.35   07 Dec 2004  21:51:53
 To : Alexander Nemtsev
 Subject : Re: скрипт
 -------------------------------------------------------------------------------- 
 
 
 Как сейчас помню Mon, 06 Dec 2004 15:40:04 +0700 ты писал(а):
 
  AN>никто не поделится сабжем для отслеживания
  AN>играемых композиций для mpg123 или mp3blaster?
 
 для mp3blaster одной из старых версий есть патч 
 http://fido.khakassia.ru/ru/files/tools/mp3blas.patch
 
 А для mpg123 у меня вот что сохранилось (Copyright утерян :(  ):
 
 ==================================================================
 #!/bin/bash
 
 PIPENAME=/tmp/.mpg123
 NOWPLAY=/tmp/track
 SIGNATURE=~/.signature
 
 parser() {
   N=1
   PLAYTRACK='eval echo LOAD \${$N}'
   STOPPLAY='{ echo "QUIT"; 
               TRACK="/dev/zero :)";
               [ -f $SIGNATURE ] && cat $SIGNATURE >$NOWPLAY;
               eval "echo $NOWPLAYFMT" >>$NOWPLAY;
               return 0; }'
   NEXTTRACK='N=$(($N+1)); [ $N -gt $# ] && '"$STOPPLAY;$PLAYTRACK"
   PREVTRACK='N=$(($N-1)); [ $N -lt 1 ] && '"$STOPPLAY;$PLAYTRACK"
   PAUSETRACK='echo "PAUSE"'
   NOWPLAYFMT='mpg123 играет: $TRACK'
   trap "$STOPPLAY" SIGTERM
   trap "$PAUSETRACK" SIGINT
   trap "$NEXTTRACK" SIGUSR1
   trap "$PREVTRACK" SIGUSR2
   while read LINE;
   do
     case "${LINE:0:2}" in
       (@E)
         ;;
       (@F)
         ;;
       (@I)
         [ -f $SIGNATURE ] && cat $SIGNATURE >$NOWPLAY
         if [ "${LINE:3:4}" = "ID3:" ];
         then
           TRACK="${LINE:37:30} - ${LINE:7:30}"
         else
           TRACK="${LINE:3:30}"
         fi
         eval "echo $NOWPLAYFMT" >>$NOWPLAY
         ;;
       (@P)
         [ "${LINE:3:1}" = "0" ] && eval "$NEXTTRACK"
         ;;
       (@R)
         eval "echo LOAD \${$N}"
         ;;
       (*)
         ;;
     esac
   done
 }
 
 PIDS=$(ps -C mp3play -o pid --no-heading)
 TPIDS=""
 for PID in $PIDS;
 do
   [ $PID -ne $$ ] && TPIDS="$TPIDS $PID"
 done
 SHUFFLE=0
 while [ "${1:0:1}" = "-" ];
 do
   case "${1:0:5}" in
     (-stop)
       [ -n "$TPIDS" ] && kill -SIGTERM $TPIDS
       ;;
     (-play)
       [ -n "$TPIDS" ] && kill -SIGINT $TPIDS
       ;;
     (-next)
       [ -n "$TPIDS" ] && kill -SIGUSR1 $TPIDS
       ;;
     (-prev)
       [ -n "$TPIDS" ] && kill -SIGUSR2 $TPIDS
       ;;
     (-z)
       SHUFFLE=1
       ;;
   esac
   shift
 done
 [ $# -eq 0 ] && exit 0
 [ -n "$TPIDS" ] && kill -SIGTERM $TPIDS
 [ ! -p $PIPENAME ] && { mkfifo $PIPENAME; chmod 770 $PIPENAME; }
 N=$#
 for((I=1;I<=$N;++I));
 do
    eval 'pl[$I]=${'"$I}"
 done
 if [ $SHUFFLE -ne 0 ];
 then
    for((I=$N;I>0;--I));
    do
       X=$(($RANDOM*$I/32768+1))
       pl1=${pl[$I]}
       pl[$I]=${pl[$X]}
       pl[$X]=$pl1
    done
    echo ${pl[@]}
 fi
 mpg123 -R new <$PIPENAME 2>/dev/null | parser "${pl[@]}" >$PIPENAME &
 =====================================================================
 
 -- 
 
 |> A.Simpson vs. Benni bros - Pieces.ogg
 
 --- slrn/0.9.8.0-asp (Linux)
  * Origin: [ RLU #316941  http://fido.khakassia.ru/ ] (2:5007/11.35)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 скрипт   Alexander Nemtsev   06 Dec 2004 16:40:04 
 Re: скрипт   Edward Yudanov   07 Dec 2004 21:51:53 
Архивное /ru.linux/32992c0867e4.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional