Jukebox com dialog para PCs antigos
Publicado por wellington (última atualização em 27/06/2018)
[ Hits: 1.722 ]
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
Script para manutenção de um servidor asterisk
Informações de processador, memória e dispositivos
Capturando tela em modo gráfico (Melhorado)
Instalar Apache2, PHP5 e MySQL5 no Ubuntu 7.04 "Feisty Fawn"
Convertendo avi para mp3, wmv para avi e flw para avi
Nenhum comentário foi encontrado.
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
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Assinador JNLP do Site Portal da Nota Fiscal Eletrônica (2)
O programa assinador digital (3)
Warcraft II Remastered no Linux? (2)









