Player de música em Shell com Yad
Publicado por Raimundo Alves Portela (última atualização em 24/06/2023)
[ Hits: 7.729 ]
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
Update no-ip utilizando Shell Script
Libera conectividade social em rede com squid
Criando Boot pelo USB para o VirtualBox no Linux KDu5
Adicionar usuarios em lote com senha padrao
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Como rodar o Folding@home no Linux
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
O Abismo entre o Código e o Chão: Saltos Tecnológicos e a Exclusão Estrutural no Brasil
Instalar e Configurar a santíssima trindade (PAP) no Void Linux
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Como compilar kernel no Linux Mint
Lançamento do Brutal DOOM test 6
Consertando o erro no Brave de webgl
Solução para ter de volta as bordas e barra de títulos das janelas em zenity no Debian 13.x
Seno, Coseno, Tangente em CLIPPER (0)
Inserir uma URL num arquvo pelo Ubuntu (CLIPPER) (0)
VMWare Player não conecta na rede nem consigo intercambiar arquivos (1)









