Player de música em Shell com Yad
Publicado por Raimundo Alves Portela (última atualização em 24/06/2023)
[ Hits: 7.541 ]
Homepage: http://portelanet.com
Download toca_musica_yad.sh (versão 2)
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.
Versão 2 - Enviado por Mario da Silva Santos em 22/06/2023
Changelog: As mudanças significativas foram:
1-trocar o Mplayer por Deadbeef (para funcionar no Puppy Linux Fossa 9.5)
2-e o find $HOME para find . e executar de dentro do diretorio com as musicas.
O Deadbeef toca do caminho completo ou de playlist .dbpl ou m3u
.dbpl eh o padrão, o próprio programa cria a lista no /root/.config/deadbeef
OBS: no Puppy Linux o usuário padrão eh o root
\o/'s a todos
#!/bin/bash
# Desenvolvido por Raimundo Portela - rai3mb@gmail.com
# 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
INSTALA TAR GZ COM MENU GRÁFICO ZENITY
Converter Imagens e Documentos para PDF
Monitorando o serviço do Squid utilizando como Proxy Transparente
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Problemas com Driver NVIDIA (5)
Warcraft II Remastered no Linux? (8)
Instalação dualboot Windows 11 e Debian 13 (7)









