Jukebox com dialog para PCs antigos
Publicado por wellington (última atualização em 27/06/2018)
[ Hits: 1.559 ]
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
Atualizar status do Twitter pelo terminal
Soma múltiplos de 3 ou 5 abaixo de 1000
Nenhum comentário foi encontrado.
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Slackpkg+ (Slackpkg Plus) está de volta!
Como dividir duas janelas igualmente e lado-a-lado na sua tela
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Youtube e networkmeneger para de funcionar (5)
Minha rede tem um espaço invisível que não dá pra digitar o nome da re... (1)
Pedagogia no brasil não passa de alfabetização por m4sturbação mental ... (2)
compilação samba 4.22 rock linux 9.5 (3)
Erro de segmentação «Segmentation fault (core dumped)» ao retornar obj... (7)