Player de música em Shell com Yad

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

[ Hits: 4.986 ]

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

Reativando Placa Wifi

Script de compilação do Xorg 7.2 otimizado para Slackware 64 bits (Slamd64)

Gerador de PPP para USB (Palm OS e Pocket PC)

Barra de progresso em shell

Implementando Statement e RecordSet em bash script


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts