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.673 ]
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
cal2svg - brincando com shell script e arquivos vetoriais SVG
ShellBot - Crie Bots para Telegram em Shell Script
Apresentando o Yad - "zenity melhorado"
flock - Gerenciador de lockfiles
Nenhum comentário foi encontrado.
A combinação de WMs com compositores feitos por fora
Audacious, VLC e QMMP - que saudades do XMMS
SUNO OpenSource: Crie um servidor de gerador de música com IA
Instalação Completa e Configuração Básica do Void Linux
A Fundação da Confiança Digital: A Importância Estratégica de uma PKI CA na Segurança de Dados
Tenha opção de emblemas embutido no pcmanfm
Instalar o Microsoft Teams no Ubuntu e Derivados
Erro ao instalar o linux-headers (2)
O WiFi não reconhece minha rede depois que o processo de suspensão é r... (4)









