Programa de músicas

Publicado por Alentz (última atualização em 08/07/2016)

[ Hits: 4.553 ]

Download programa

Download 1466206471.programa (versão 2)




O programa serve pra visualizar as músicas que estão na sua pasta Música, tocar música pedida e tocar todas em sequência.

Este é meu primeiro script, depois que li o artigo: https://www.vivaolinux.com.br/artigo/Introducao-ao-Shell-Script-1/

Criei este script voltado pra iniciantes como eu, expliquei todas as linhas que escrevi pra um bom entendimento do código (assim espero :D ).

Para o programa rodar precisa ter instalado o mpg321:

$ sudo apt-get install mpg321

IMPORTANTE! Na primeira vez que for rodar o programa, digite:

$ ./programa instalar
ou
$ bash programa instalar

isso vai criar 1 diretório e 3 arquivos na sua pasta pessoal, importantes pra interação do programa, se tiver dúvidas de onde será criado o diretório e os arquivos dê uma visualizada no começo do script.

Caso encontre algum erro no código ou uma opção melhor de comandos pra implementar no programa me mande por e-mail :  lexandre.199713@hotmail.com

  



Versões atualizadas deste script

Versão 2 - Enviado por Alentz em 17/06/2016

Changelog: O programa serve pra visualizar as músicas que estão na sua pasta Música, tocar música pedida e tocar todas elas em sequência.

Este é meu primeiro script, depois que li o artigo: https://www.vivaolinux.com.br/artigo/Introducao-ao-Shell-Script-1/

Criei este script voltado pra iniciantes como eu, expliquei todas as linhas que escrevi pra um bom entendimento do código (assim espero :D ).

Para o programa rodar precisa ter instalado o mpg321:

$ sudo apt-get install mpg321

IMPORTANTE! Na primeira vez que for rodar o programa, digite:
$ ./programa instalar
ou
$ bash programa instalar
Esse parâmetro "instalar" vai criar 1 diretório e 3 arquivos na sua pasta pessoal, importantes pra interação do programa, se tiver dúvidas de onde será criado o diretório e os arquivos dê uma visualizada no começo do script.

Importante : Para encerrar uma música ou passar de música , aperte Ctrl + c .

Caso encontre algum erro no código ou uma opção melhor de comandos pra implementar no programa me mande por e-mail : alexandre.199713@hotmail.com

Download 1466206471.programa


Esconder código-fonte

#!/bin/bash

# pra rodar esse script é importante usar primeiro um dos comandos ./programa instalar ou bash programa instalar
# depois de ter feito isso não é necessário repetir o comando . Use ./programa ou bash programa

usuário=$(whoami)  # essa variável vai ter o valor do usuário que estiver rodando o programa .

$1  # esse parametro serve pra instalar o programade musica .Ex : ./programa instalar ou bash programa instalar

if [ "$1" = "instalar" ];then  # verificando o valor do parametro dado , se o valor do parametro $1 não for dado ,
# o programa não ira rodar perfeitamente .

mkdir /home/$usuario/programademusica  # criando pasta pro programa , na pasta pessoal do usuario .
touch /home/$usuario/programademusica/localdemusicas # arquivo pra interação do programa
touch /home/$usuario/programademusica/musica # arquivo pra interação do programa
touch /home/$usuario/programademusica/playlist # arquivo pra interação do programa .

fi


lista(){    # primeira função , lista as musicas que estiverem na pasta Música na pasta pessoal do usuario ($usuario)

ls /home/$usuario/Música > /home/$usuario/programademusica/localdemusicas # aqui ele lista com o ls a pasta Música e manda usando ">" 
# pro arquivo localdemusicas , criado no comeco do script .

faixas=$(cat /home/$usuario/programademusica/localdemusicas) # variavel faixas vai ter valor do arquivo localdemusicas . 
# localdemusicas tem o valor do ls dado na pasta Música .
 
if [ -n "$faixas" ];then  # nessa parte eu verifico se tem musicas na pasta Música , 
# se tiver mostra na tela o arquivo localdemusicas se não vai pro menu .
# o -n (não nulo) verifica se na variavel faixas tem valor , no caso musicas .

clear    # limpa a tela
echo     # pula linha

figlet MUSICAS     # figlet é o comando que deixa a palavra ou texto, legal .

echo    # pula linha
cat /home/$usuario/programademusica/localdemusicas  # vai listar na tela as musicas , que estão listadas no arquivo localdemusicas 
echo # pula linha
echo # pula linha
echo SELECIONE A FAIXA DA MUSICA .  # pede pra selecionar a faixa .
read numerodamusica  # pegando a faixa dada
escolha   # vai pra função escolha 

else  # se na comparação do if , faixas não tiver valor (musicas) , vai pro menu .
echo VOCE NÃO TEM NENHUMA MUSICA ! # informa que não tem musica
read # dando um tempo pro usuario ler a informação .
menu # vai pra função menu , essa função esta no final do script .
fi
}

escolha(){ # os comandos que estão nessa função podiam estar dentro da função lista entre o if , 
# mas achei melhor separar . uma tentativa de deixar mais legivel o script ^^ 
clear # limpa a tela
figlet musica  # figlet , comando pra deixar a letra bacana 

sed -n "$numerodamusica"p /home/$usuario/programademusica/localdemusicas > /home/$usuario/programademusica/musica 
# aqui entra o sed , ele vai pegar a parte da linha informada pela variavel $numerodamusica no arquivo localdemusicas . 
# depois de pego vai mandar o resultado pro arquivo musica .

pegando=$(cat /home/$usuario/programademusica/musica) # $pegando vai pegar como valor o arquivo musica .
# O que tem dentro do arquivo musica é o resultado do comando sed .

mpg321 /home/$usuario/Música/"$pegando" # mpg321 aciona a musica .
#é essa linha do codigo que eu gosto , usei duas variaveis importantes pro script pra indicar o caminho pro mpg321 . 
#e tbm é nessa linha q torna o script funcional com qualquer usuario e musica . 

menu # vai pra função menu depois que acabar a musica .

}


playlist(){  # função pra tocar todas musicas que estiverem na pasta Música

proximo=$'1' # definindo a variavel pro loop e comparação . 

while [ $proximo > 0 ];do
sed -n "$proximo"p /home/$usuario/programademusica/localdemusicas > /home/$usuario/programademusica/playlist
# esse sed é quase igual o da função escolha . ele não usa read pra pegar valor , usa a variavel $proximo pra dar continuação nas musicas .
# tbm esse sed envia o resultado pra um outro arquivo , a playlist .

pegando=$(cat /home/$usuario/programademusica/playlist) 
# essa variavel $pegando vai servir pra verificar se ainda tem musicas para serem tocadas .

if [ -z "$pegando" ];then # -z (nulo), se não tiver valor ( musicas para serem tocadas ) ir pro menu .
menu # indo pra função menu . 

else # se caso $pegando tiver valor , pode continuar com o codigo .
clear #limpa a tela
figlet PLAYLIST # letra bacana
echo  
mpg321 /home/$usuario/Música/"$pegando"  
# mpg321 toca a musica dada pela variavel pegando . O valor dela é o resultado do comando sed la em cima .

proximo=$(($proximo + 1))  # aqui ele vai aumentar o valor de $proximo pra +1 . 
# criando um loop . Só irá parar quando a variavel pegando não tiver valor ^^ ,
# quando passar pelo if e $pegando n tiver valor (musicas) o programa ira pro menu .

fi 
done # volta pro while ^
}



menu(){ # função menu , aqui o programa só ira se apresentar .
clear
echo
echo -e "\033[01;33m"  # \033[00;33m cor amarela no texto .
figlet BEM VINDO
sleep 1  # dorme durante 1 segundo
echo
echo  "=================================="
echo  "= ESTE É O PROGRAMA DE MÚSICAS.  =" 
echo  "= VOCE PODE VISUALIZAR SUAS      ="
echo  "= MUSICAS , PRODUZILAS E         ="
echo  "= ESCUTAR TODAS EM SEQUENCIA.    ="
echo  "=================================="
echo  -e "\033[01;31m=================================="
echo  "= Autor: Alentz                  ="
echo  -e "==================================\033[01;31m" # aqui quebro a cor amarela e coloco a vermelha , 31m
sleep 2  # 2 segundos
echo
echo
echo -e "OQUE VOCE DESEJA ACESSAR ? INFORME COM O NUMERO !" 
sleep 1
echo 
echo -e "\033[01;33m=================================" # volta pra amarela 33m
echo "=== 1 )  Titulos  ==============="
echo "=== 2 ) Reproduzir todas ========"
echo "================================="
read acesso    # pega o valor dado pelo usuario
if [ "$acesso" = "1" ];then 
lista # vai pra função lista
fi
if [ "$acesso" = "2" ];then
playlist  # aqui pra playlist
fi

}

menu # começa o programa . Chamo a função menu .

for((loop=2;loop>1;loop++))do # este for é pra caso se o usuario digitar errado ele vai ser direcionado denovo pro menu .

menu

done

Scripts recomendados

Shell Script simples usando case

Personalizar teclado, alterar função de uma tecla

Calculadora v0.0.2

Exibir configurações de REDE de maneira amigavel.

Backup em FTP


  

Comentários
[1] Comentário enviado por Alentz em 17/06/2016 - 18:46h

email:alexandre.199713@hotmail.com


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts