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: 13.944 ]
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
Apresentando o Yad - "zenity melhorado"
flock - Gerenciador de lockfiles
Aprendendo a melhorar os seus scripts
BackRE - Seu script de backup remoto
Nenhum comentário foi encontrado.
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
VMs e Interfaces de Rede desapareceram (4)
Desde que seja DDR3, posso colocar qualquer memória? (5)
Tem como deixar um processo rodando mesmo após o desligamento da maqui... (5)