Gerar músicas aleatórias com YAD (Modo Gráfico)
Este script com interface gráfica (em YAD), irá gerar músicas aleatórias da pasta selecionada. Você pode escolher uma pasta
específica de uma determinada banda, a sua pasta de música ou até mesmo selecionar a raiz de seu sistema. Você poderá
escolher quantas músicas deseja reproduzir e salvar sua Playlist gerada para ouvi-las futuramente.[ Hits: 14.642 ]
Por: Alexandre Gonçalves Monteiro da Silva em 18/12/2011 | Blog: https://www.vivaolinux.com.br/~alexandre_gms


#!/bin/bash
RAND="/tmp/random.txt"
MUSIC="/tmp/music.txt"
INICIO()
{
yad --title='RANDOM MUSIC' \
--width='280' \
--height='100' \
--button=gtk-yes:0 --button=gtk-no:1 \
--center \
--text "DESEJA VOLTAR AO INICIO?" \
if [ $? -eq 0 ]; then
MENU
else
exit 1
fi
}
RANDOM_MUSIC()
{
if [ -f $RAND ] || [ -f $MUSIC ]; then
rm -f $RAND $MUSIC &> /dev/null || exit 1
fi
PASTA=$(\
yad --file --directory --title "SELECIONE A PASTA MUSICAS: " \
--width='600' --height='400' \
)
test ! -z $PASTA || exit 2
QUANT=$(find $PASTA -type f -iname '*.mp3' -o -iname '*.wma' -o -iname '*.wav' -o -iname '*.ogg' | wc -l)
NUMERO=$(\
yad --entry \
--entry-label="Quantas musicas deseja buscar?" \
--entry-text="Digite aqui" \
--completion \
--editable \
--title="RANDOM MUSIC" \
--width="500" \
)
test ! -z $NUMERO || exit 2
if [ $NUMERO -ge $QUANT ]; then
yad --title="RANDOM MUSIC" \
--text="A QUANTIDADE ESCOLHIDA DE MUSICAS EH MAIOR QUE O NUMERO TOTAL DE SOM NA PASTA" \
--width="650" \
--height="100" \
--button=gtk-ok:0 \
if [ $? -eq 0 ]; then
rm -f $MUSIC $RAND &> /dev/null
INICIO
fi
fi
for ((i=0; i<$NUMERO; i++))
do
echo $(($RANDOM % $QUANT)) >> $RAND
done
test -f $RAND || exit 2
j=0
find $PASTA -type f -iname '*.mp3' -o -iname '*.wma' -o -iname '*.wav' -o -iname '*.ogg' | \
while read line
do
for k in `cat $RAND`
do
if [ $j -eq $k ]; then
echo "$line" >> $MUSIC
fi
done
let j++
done | \
yad --progress \
--title 'RANDOM MUSIC' \
--width='500' \
--progress-text='Gerando lista randomica...' \
--pulsate \
--auto-close \
--auto-kill \
cat $MUSIC | awk -F"/" '{print $NF}' | \
yad --list \
--title 'RANDOM MUSIC' \
--column 'DESEJA OUVIR ESTAS MUSICAS? ' \
--width="500" \
--height="500" \
--button=gtk-yes:0 --button=gtk-no:1 \
if [ $? -eq 1 ]; then
INICIO
fi
mplayer -quiet -playlist $MUSIC 2> /dev/null
yad --title='RANDOM MUSIC' \
--width='280' \
--height='100' \
--button=gtk-yes:0 --button=gtk-no:1 \
--center \
--text "Deseja salvar esta lista de Reprodução?"
if [ $? -eq 0 ]; then
PLAYLIST=$(\
yad --entry \
--entry-label="Nome: " \
--entry-text="Digite aqui o nome de sua PlayList" \
--completion \
--editable \
--title="RANDOM MUSIC" \
--width="500" \
)
cp -p $MUSIC ~/$PLAYLIST
if [ $? -eq 0 ]; then
yad --title 'RANDOM MUSIC' --text "\nARQUIVO $PLAYLIST SALVO NO HOME DO USUARIO\n"
else
yad --title 'RANDOM MUSIC' --text "\nPROBLEMAS AO SALVAR O ARQUIVO $PLAYLIST \n"
exit 1
fi
fi
INICIO
}
FUNC_PLAYLIST()
{
cd ~
ARQUIVO_PLAY=$(\
yad --file --title "SELECIONE A SUA PLAYLIST: " \
--width='600' --height='400' \
)
test -z $ARQUIVO_PLAY && exit 1
cat $ARQUIVO_PLAY | awk -F"/" '{print $NF}' | \
yad --list \
--title 'RANDOM MUSIC' \
--column 'DESEJA OUVIR AS MUSICAS DA SUA PLAYLIST?' \
--width="500" \
--height="500" \
--button=gtk-yes:0 --button=gtk-no:1 \
if [ $? -eq 0 ]; then
mplayer -quiet -playlist $ARQUIVO_PLAY 2> /dev/null
else
INICIO
fi
}
MENU()
{
while OPCOES=$(\
yad --list \
--title='RANDOM MUSIC' \
--column="OP":NUM \
--column=" ESCOLHA UMA OPÇÃO:":TEXT \
--print-column=1 --hide-column=1 \
--width='270' --height='200' \
--button='_Sair:1' --button='_Acessar:0' \
"1" "Gerar Musicas Aleatorias" \
"2" "Executar uma PlayList" \
)
do
case $OPCOES in
1\|) RANDOM_MUSIC
;;
2\|) FUNC_PLAYLIST
;;
esac
done
}
MENU
Script com muitas utilidades para arquivos e pastas
Backup automatizado com HD externo
Entendendo, criando e editando pacotes Debian (.deb)
Simples sistema de backup com acesso remoto
Relatório do sistema (Shel Script + PHP)
Nenhum comentário foi encontrado.
A Fundação da Confiança Digital: A Importância Estratégica de uma PKI CA na Segurança de Dados
Como enviar dicas ou artigos para o Viva o Linux
Como Ativar a Aceleração por GPU (ROCm) no Ollama para AMD Navi 10 (RX 5700 XT / 5600) no Gentoo
Cairo Dock ainda funcional nos dias de hoje
Configuração de IP fixo via nmcli e resolução de nomes via /etc/hosts no Gentoo
Removendo o bloqueio por erros de senha no Gentoo (systemd)
Papel de Parede Animado no KDE Plasma 6 (Com dicas para Gentoo)
Homebrew: o gerenciador de pacotes que faltava para o Linux!
Ajudante para criar dicas e artigos no VOL (29)
Hardware (corpo), Software (mente) e Kernel (conexão) (0)
Tentando fazer um "linux ricing" mas falhando miseravelmente... (3)









