Jukebox com dialog para PCs antigos
Publicado por wellington (última atualização em 27/06/2018)
[ Hits: 1.831 ]
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
Enviando faixas tocadas no Amarok 2 para o Twitter
Agenda telefônica em Shell Script
Acelerar leitura e escrita no hd
Nenhum comentário foi encontrado.
Cinnamon seria a aposta acertada frente às outras interfaces gráficas mais populares?
KDE Plasma - porque pode ser a melhor opção de interface gráfica
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Vou destruir sua infância:) (8)
Interface gráfica com problema (2)
Instalar Linux em notebook Sony Vaio VPCEG13EB (13)









