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.444 ]
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
Assinatura de documentos PDF em lote via Bash
Shell Script como serviço no Windows
Relatório de sistema via browser (shell script + CGI)
pam_mount e CiD - Gerenciamento centralizado dos mapeamentos de unidades de rede no Ubuntu
Enviando mensagens de WhatsApp no Linux usando Shell Script e ADB
Nenhum comentário foi encontrado.
Como agendar um backup automático do PostgreSQL no Cron evitando o problema de senha
Como preparar o Vim/Neovim para corrigir ortografia em português
Dark Web e Malwares na internet, quanto custa?
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Como verificar o hash de um arquivo baixado da Internet e como criar um hash
Debian 12 - IPTABLES - removendo NFTABLES
OverWatch 2 - Abrindo portas do jogo no Iptables.
Como instalar o adaptador wifi USB Intelbras ACtion A1200 no Linux Mint
Como normalizar seus arquivos MP3 para que fiquem no mesmo volume
Instalação do Programa Imposto de Renda Pessoa Física 2023 [RESOLVIDO]... (6)
Instalando e compilando o GCC/G++ erro (4)
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba
[Shell Script] Tire screenshots com Scrot facilmente com Zscrot
[Shell Script] DioPSI - Script multidistro para instalar programas
[Shell Script] ARS Vídeos - Cortador de vídeos e webcam shooter