M4L Player Console

Publicado por Slackjeff (última atualização em 24/01/2018)

[ Hits: 1.661 ]

Homepage: https://slackjeff.com.br

Download m4l




M4L é um player de música via CLI que é totalmente leve/simpático e direto!
A base a qual ele utiliza é o mpg123.

LICENÇAS:
M4L is licensed under the GNU Lesser/Library General Public License, LGPL, version 2.1
mpg123 is licensed under the GNU Lesser/Library General Public License, LGPL, version 2.1


MODO DE USO:
1- Dê permissão de execução, chmod +x m4l
2- Rode o programa ./m4l
3- Digite ajuda para saber mais informações!

CONTROLES DISPONIVEIS NO M4L:
q = Para sair da música/playlist.
ESPAÇO = Para pausar e voltar a música.
f = Próxima música.
d = Volta a música anterior.
+ = Aumenta volume da música.
- = Diminui o volume da música.
. = Pula de 1 em 1 segundo.
, = Volta musica de 1 em 1 segundo.

CHANGELOG:
(Versão 1.0b) - Jefferson Rocha

-Lançado programa em versão beta
(Versão 1.1) - Jefferson Rocha

-Arrumado e melhorado Cabeçalho
-Adicionado função de verificação de parâmetro nulo
-Adicionado ajuda em linha.
-Adicionado parâmetro --stereo no mpg123
-Adicionado parâmetro -C (controle keys) no mpg123
-Trocado sáida de erro /dev/null por 2>&- no tocador mpg123
-Adicionado Animação (Espectrum) enquanto toca a música.
-Adicionado função para centralizar logo de acordo com a tela.
-Retirado subtitulo que ficava após o logo.
-Retirado váriaveis (mover e mover_sub).

  



Esconder código-fonte

#!/bin/bash
#---------------HEADER--------------------------------------------------------------------|
#AUTOR:
# Jefferson Rocha <lrcjefferson@gmail.com>
#
#PROGRAMA:
# M4L - Music for life.
#
#DESCRIÇÃO:
# Tocador de música completo via CLI, utilizando o mpg123 como base.
# Tem como objetivo ser simples/minimalista e agradável, fácil de usar.
#
#LICENSE
# M4L is licensed under the GNU Lesser/Library General Public License, LGPL, version 2.1
# mpg123  is licensed under the GNU Lesser/Library General Public License, LGPL, version 2.1
#
#CHANGELOG:
# (Versão 1.0b) - Jefferson Rocha
#  -Lançado programa em versão beta
#
# (Versão 1.1) - Jefferson Rocha
#  -Arrumado e melhorado Cabeçalho
#  -Adicionado função de verificação de parâmetro nulo
#  -Adicionado ajuda em linha.
#  -Adicionado parâmetro --stereo no mpg123
#  -Adicionado parâmetro -C (controle keys) no mpg123
#  -Trocado sáida de erro /dev/null por 2>&- no tocador mpg123
#  -Adicionado Animação (Espectrum) enquanto toca a música.
#  -Adicionado função para centralizar logo de acordo com a tela.
#  -Retirado subtitulo que ficava após o logo.
#  -Retirado váriaveis (mover e mover_sub).
#-----------------------------------------------------------------------------------------|

#-----------------------(VÁRIAVEIS GLOBAIS DO PROGRAMA)

# Configurações--!
programa="M4L Player V1.1"
TOCADOR="mpg123 --title --stereo -C" # tocador
# Testes--!
mpg_existe=$(which mpg123)
# Cores--!
bold="\033[1m"
a="\033[36;40;1m"      # cor legenda/opções
f="\033[m"              # fecha cores
rosa="\033[35;1m"      # Rosa
vermelho="\033[31;1m"  # Vermelho

#----------------------------------------------!

#-----------------------(FUNÇÕES)

variavel_nula() {
   [ "$param1" ] || {
     echo -e "\t$rosa Ops. Selecione uma música rapaz!$f"
   }
}

# agora o logo fica no centro!
centro() {
  local cent=$(tput cols)
  local centralizando=$(($cent/2))
  printf "\t%*s\n" $centralizando " M4L - PLAYER "
}

espectrum() (
# helice, executado em segundo plano,
# enquanto rola a música.
  while :; do
    for a in / - \\ \|; do
      echo -ne "\b$a"
    done
  done & "$@"
  kill $!
  echo
)

#-------------------------------!

#-----------------------(TESTES INICIAIS)

# mpg123 existe no sistema?
# se não existir instala vagabundo riaria
[ "$mpg_existe" ] || {
   echo -e "$vermelho\tVocê deve instalar o mpg123 para continuar.$f"
   exit 1
}

#---------------------------------------!

# Inicio programa
clear; centro   # chama logo do programa

while (true); do
   read -ep $'\033[34;1m| &#9835; | \033[m' param param1
   case $param in

   #----Opções do player
   play|tocar)
        variavel_nula  # sem música ?
        espectrum eval $TOCADOR "$param1" 2>&- ;;

      playlist)
         read -ep $'\033[36;40;1mCaminho completo da pasta:\033[m\n' param1
              variavel_nula  # sem música ?
         espectrum eval $TOCADOR "$param1"*.mp3 2>&- ;;

   #----Opções navegação
   licença|license) echo -e "$vermelho M4L is licensed under the GNU Lesser/Library General Public License, LGPL, version 2.1
 mpg123  is licensed under the GNU Lesser/Library General Public License, LGPL, version 2.1$f" ;;

   sair|quit) exit 0 ;;

   cd) cd $param1 ;;

   pwd) pwd ;;

   ls|lista) ls --color ;;

   *|ajuda|help)
         echo -e "
$bold Comandos utilizados em linha:$f
  $vermelho cd$f = Para navegar até uma pasta específica
  $vermelho ls/lista$f = Para listar todos arquivos em uma pasta
  $vermelho pwd$f = Para saber em que diretório está.
  $vermelho play/tocar$f = Toca uma música, desde que esteja na pasta.
  $vermelho playlist$f = Selecione uma pasta com todas as músicas.
  $vermelho sair/quit$f = Para sair do M4L

$bold Funçoes do M4L:$f
  $vermelho q$f = Para sair da música/playlist.
  $vermelho ESPAÇO$f = Para pausar e voltar a música.
  $vermelho f$f = Próxima música.
  $vermelho d$f = Volta a música anterior.
  $vermelho +$f = Aumenta volume da música.
  $vermelho -$f = Diminui o volume da música.
  $vermelho .$f = Pula de 1 em 1 segundo.
  $vermelho ,$f = Volta musica de 1 em 1 segundo.
"
  esac
done # Fecha while principal

Scripts recomendados

Backup mysqldump usando Shell Script

Instalador automatizado SAMBA 4 AD e File Server CentOS 7

BackUp Mensal de Relatórios Diários

Shell Script básico para gerenciar usuários e bancos no MySQL ou MariaDB

Cryporange - criptografador de mensagens


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts