Jukebox com dialog para PCs antigos
Publicado por wellington (última atualização em 27/06/2018)
[ Hits: 1.610 ]
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
Front-end tosco para Xmame (kdialog)
Configução básica de uma rede local, roteando e habilitando o firewall
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Quebra de linha na data e hora no Linux Mint
Organizando seus PDF com o Zotero
tentando instalar em um notebook antigo o Linux LegacyOS_2023... [RESO... (9)
Problema com Conexão Outlook via Firewall (OpenSUSE) com Internet Fibr... (5)