M4L Player Console
Publicado por Slackjeff (última atualização em 24/01/2018)
[ Hits: 2.091 ]
Homepage: https://slackjeff.com.br
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).
#!/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| ♫ | \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
Monitoramento de espaco em disco, load e usuarios logados na maquina por e-mail
BKP Completo Sem compactação (com exclusao)
Instala o InterNet Explorer for Linux
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Como automatizar sua instalação do Ubuntu para desenvolvimento de software.
Fiz uma pergunta no fórum mas não consigo localizar (13)
Quais os códigos mais dificeis que vcs sabem fazer? (2)
Não consigo instalar distro antiga no virtualbox nem direto no hd (7)
Servidor Ubuntu 24.04 HD 500 não tenho espaço na \home\adminis... [RES... (8)
Dá para criar um bom jogo usando a linguagem de programação C? [RESOLV... (1)









