Player de música em Shell com Yad

Publicado por Raimundo Alves Portela (última atualização em 02/01/2012)

[ Hits: 5.336 ]

Homepage: http://portelanet.com

Download play_music_yad.sh




Mais um script para demonstrar as novas funcionalidades do Yad 0.16.x, dessa vez fiz um Tocador de musica em mp3 usando os Dialogs --form e --entry do Yad.

Para executá-lo você vai precisar do Mplayer e do Yad.

Para executar use:

./play_music_yad

Bom proveito.

  



Esconder código-fonte

#!/bin/bash
# Desenvolvido por Raimundo Portela - [email protected]
# Desenvolvido para demonstrar novas funcionalidades do Yad
#------------------------------------------------------------------------------------------------------------------------------------
function barra() {
   tail -f $0 | yad --progress --title='Procurando...' --progress-text="buscando... $VALOR" --no-buttons --auto-close --undecorated
}
   
function _buscar() {
   VALOR=$( \
      yad --entry --title='Buscar músicas' --on-top --center \
         --entry-label="Buscar músicas sobre:" --entry-text="Digite aqui"  \
         --ricon="gtk-clear" --ricon-action="echo " \
         --button='Cancelar':1 --button='Buscar':0
      )

   [ -z "$VALOR" ] && _main
   
   echo -n > "$LISTA"
   barra & find -L "$HOME"/Music "$HOME"/Musicas "$HOME"/Músicas -iname "*${VALOR}*.mp3" -exec echo "{}" >> "$LISTA" \; 2>/dev/null
   
   mv "$LISTA" "/tmp/temp.txt"
   echo -n > "$LISTA"
   
   while read MUSICA
   do
      echo "$MUSICA : \"${MUSICA##/*/}\"" >> "$LISTA"
   done < "/tmp/temp.txt"

   killall tail
   _main
}

function _tocar() {
   MUSICA=$(cat "$LISTA" | grep "$1" | cut -d: -f1)
   mplayer $MUSICA
}

function _main() {
   if [ ! -f "$LISTA" ]; then
      export LISTA='/tmp/lista_musicas.list'
      _buscar
   fi

   if yad --form --title='Player Musicas Shell Yad' --columns=3 --center \
   --field='Musica':CB "$(cat $LISTA | cut -d':' -f2 | tr '\n' '!' )" \
   --field='Tocar':BTN "./music_play.sh tocar %1" --field='Parar':BTN "killall -9 mplayer" --button='Fechar':1 --button='Buscar outro':0
   then
      _buscar
   fi
   killall mplayer
   exit
}

case "$1" in
'buscar') shift; _buscar $* ;;
'tocar') shift; _tocar $* ;;
*) _main ;;
esac

Scripts recomendados

Init Service for Slackware

mkzeowmp - zeo mount point para PZP (python, zope e plone)

consamba.sh

POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - CRIANDO USUÁRIOS

Pra quem não usa WhatsUp e Nagios mas tem um *inx.


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário