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.556 ]
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
Extracttext - como extrair texto de uma área selecionada da tela
Criando Autoridades Certificadores e Certificados de Testes no Linux
BackRE - Seu script de backup remoto
Automatizando digitação de códigos 2FA no browser
Yad 0.16 - Eu quero sempre mais de ti
Nenhum comentário foi encontrado.
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
[Resolvido] Algo deu errado ao abrir seu perfil
Usando o VNSTAT para medir o seu consumo de internet
Habilitando clipboard manager no ambiente COSMIC
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (2)
Quando vocês pararam de testar distros? (10)









