Jukebox com dialog para PCs antigos
Publicado por wellington (última atualização em 27/06/2018)
[ Hits: 1.464 ]
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
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta