Jukebox com dialog para PCs antigos
Publicado por wellington (última atualização em 27/06/2018)
[ Hits: 1.844 ]
Este script cria uma playlist com o dialog e executa os MP3 da pasta selecionada com uma interface simples e fácil, ideal para ser usada em um PC de poucos recursos.
Quem puder contribuir com alguma melhoria, será bem vindo ;)
#!/bin/bash
#criando o loop principal
proxima=primeira
while : ; do
case "$proxima" in
primeira)
proxima=segunda
#mudando para o diretório de músicas
cd /ntfs2/Musica
#corrigindo o nome das pastas para serem lidas corretamente no dialog
#(este comando só precisa ser executado uma vez para retirar os espaços dos nomes dos diretórios e depois pode ser comentado/retirado).
#find . -name "*" -type d | while read line; do mv "$line" "$(echo $line | sed 's/ /_/g')"; done
#criando a primeira lista (lista de estilos) dessa forma ela é atualizada cada vez que se executa a jukebox
ls > /tmp/lista1.txt
LISTA1=/tmp/lista1.txt
PASTA1=$(dialog --backtitle 'by well' \
--title "JukeBox" \
--stdout \
--menu 'Escolha o que quer ouvir' 0 0 0 \
$( cat $LISTA1 | sed 's/$/ \\/'))
;;
segunda)
proxima=terceira
anterior=primeira
cd $PASTA1
#criando a segunda lista (lista de "bandas") dessa forma ela é atualizada cada vez que se executa a jukebox
ls > /tmp/lista2.txt
LISTA2=/tmp/lista2.txt
PASTA2=$(dialog --backtitle 'by well' \
--title "JukeBox" \
--stdout \
--menu 'Escolha a Banda' 0 0 0 \
$(cat $LISTA2 | sed 's/$/ \\/'))
;;
terceira)
proxima=final
anterior=segunda
cd $PASTA2
#aqui, caso na segunda lista já tenhamos músicas elas serão executadas, se forem diretórios partiremos para a última lista
mp3=$(ls -al | grep '^-' | awk '{ print $9 }')
pasta=$(ls -al | grep '^d' | awk '{ print $9 }')
for dir in $pasta;
do
if [ $dir != '.' ]; then
if [ $dir != '..' ]; then
#em caso de diretório será criando a terceira lista (lista de albúns) dessa forma ela é atualizada cada vez que se executa a jukebox
ls > /tmp/lista3.txt ; LISTA3=/tmp/lista3.txt
fi
fi
done
for arq in $mp3;
do
#em caso de mp3's serão executadas
ls -1 *.mp3 > lista.m3u ;
#aqui temos um infoxbox com as músicas que serão tocadas
dialog --cr-wrap --sleep 2 \
--backtitle '(Sair q) (Próxima f) (Anterior d) (Pause/Start s) (Volume + -)' \
--title 'JukeBox' \
--infobox \
"Músicas que você escolheu
Tipo : $PASTA1
Banda : $PASTA2
Disco : $PASTA3
Músicas : \n`cat lista.m3u`
" 0 0 ;
mpg123 -@ lista.m3u -C -q ;
exit
done
PASTA3=$(dialog --backtitle 'by well' --title "JukeBox" --stdout --menu 'Escolha o Disco' 0 0 0 $(cat $LISTA3 | sed 's/$/ \\/'))
;;
final)
anterior=terceira
cd $PASTA3
ls -1 *.mp3 > lista.m3u
#aqui temos um infoxbox com as músicas que serão tocadas
dialog --cr-wrap --sleep 2 \
--backtitle '(Sair q) (Próxima f) (Anterior d) (Pause/Start s) (Volume + -)' \
--title 'JukeBox' \
--infobox \
"Músicas que você escolheu
Tipo : $PASTA1
Banda : $PASTA2
Disco : $PASTA3
Músicas : \n`cat lista.m3u`
" 0 0
mpg123 -@ lista.m3u -C -q
break
;;
*)
esac
#aqui o fim do loop
retorno=$?
[ $retorno -eq 1 ] && proxima=$anterior # cancelar
[ $retorno -eq 255 ] && break # Esc
done
exit
Automação em cópia de arquivos de backup
Script de inicialização do PostgreSQL 8 com suporte a acesso remoto - Fedora 7
Nenhum comentário foi encontrado.
Papagaiando o XFCE com temas e recursos
WhatsApp com Chamadas no Linux via Waydroid
XFCE - quase um Gnome ou Plasma mas muito mais leve
LXQT - funcional para máquinas pererecas e usuários menos exigentes
Atualizações de Segurança Automáticas no Debian
Como cortar as partes de um vídeo com passagens de áudio em branco
Tiling automático no KDE Plasma
SNMP Scan no OCS Inventory só funciona com HTTPS corretamente configurado
Alguém tem que acabar com ANATEL!!! (1)
Reflexão sobre a sobrevivência do Gentoo Linux (0)
GOG confirma suporte oficial ao sistema Linux: "o trabalho começo... (4)









