textModeMusicPlayer

Publicado por José Lopes 12/08/2006

[ Hits: 3.849 ]

Homepage: https://lopes.id

Download textModeMusicPlayer




Este script recebe um parâmetro, especificando se as músicas devem ser tocadas continuamente ou aleatóriamente e o repositório de músicas e gerencia a execução das músicas. Roda totalmente em modo texto sendo útil pra quem utiliza este ambiente e está cansado de ter que trocar toda hora de música, manualmente. Caso o player que o script utiliza (SOX) não esteja instalado, pode-se inserir chamada para outro facilmente.

  



Esconder código-fonte

#!/bin/bash
# AUTHOR ......: José Lopes de Oliveira Júnior
# NAME ........: textMusicModePlayer
# VERSION .....: 0.5
# DESCRIPTION .: Este script cria uma interface entre o usuário e seu player de
#    música de modo texto, possibilitando que o usuário escolha como quer ouvir
#    suas músicas (de forma contínua ou aleatória) e informando o diretório onde
#    se encontram as músicas. Feito isso, o script se encarrega de gerenciar a
#    forma com que as músicas são tocadas, evitando que o usuário tenha que, a
#    todo momento, mandar tocar outra música.
# WARNINGS ....: Este script usa o comando PLAY, do pacote SOX (Sound eXchange),
#    por isso requer que este pacote esteja instalado e configurado no sistema.
#    O usuário deve se lembrar que, ao informar o diretório onde se encontram
#    as músicas, o caminho completo do mesmo deve ser informado. Além disso,
#    é de suma importância que hajam APENAS músicas neste diretório  e que,
#    nos nomes dos arquivos das músicas, NÃO hajam espaços! Caso estes avisos
#    não sejam observados, o autor não garante como o script se comportará.

# FUNÇÕES NECESSÁRIAS AO SCRIPT

# usage
# Mostra ao usuário, a maneira correta de se usar o script.
usage()
{
   echo "Usage $0 [options] [musics_complete_path]"
   echo "Where options is \"-c\" or \"-s\", to play"
   echo "   continous ou shuffle."
   exit 1
} # usage

# playContinous
# Toca a listagem de músicas de forma contínua - da primeira até a última música.
playContinous()
{
   i=1
   
   # Varia, da primeira, até a última música.
   while [ $i -le $NFILES ]; do
      # Obtém a música, na posição escolhida aleatóriamente.
      MUSIC=`echo $FILES | cut -d ' ' -f $i`
      
      # Gera o caminho completo da música.
      MUSICPATH=$REPOSITORIO/$MUSIC
      
      # Toca a música...
      play $MUSICPATH 2> /dev/null
      
      # Incrementando a variável de controle, em um.
      i=`echo "$i + 1" | bc`
   done
} # playContinous

# playShuffle
# Toca a listagem de músicas de forma aleatória, infinitamente.
playShuffle()
{
   # Loop eterno.
   while [ 7 = 7 ]; do
      # Escolhe um número aleatório, entre 1 e o número de arquivos.
      ((NUMBER=RANDOM%NFILES+1))
      
      # Obtém a música, na posição escolhida aleatóriamente.
      MUSIC=`echo $FILES | cut -d ' ' -f $NUMBER`
      
      # Gera o caminho completo da música.
      MUSICPATH=$REPOSITORIO/$MUSIC
      
      # Toca a música...
      play $MUSICPATH 2> /dev/null
   done
} # playShuffle

# ---> INÍCIO DA EXECUÇÃO DO SCRIPT

# Verificando o número de parâmetros passados ao script.
if [ $# -lt 2 ]; then
   usage
fi

# O caminho COMPLETO do repositório, passado ao script.
REPOSITORIO=$2

# A listagem dos arquivos do repositório.
FILES=`ls -1 $REPOSITORIO`

# O número de arquivos do repositório.
NFILES=`echo $FILES | wc -w`

# Avaliando a opção passada ao script.
case "$1" in
   "-c")
      playContinous
      ;;
   
   "-s")
      playShuffle
      ;;
   
   *)
      usage
      ;;
esac

# Se chegar aqui, sai com sucesso...
exit 0

Scripts recomendados

Script para executar o giFT daemon e uma interface de usuário

Wine System Font 1.0

Remover arquivos duplicados

Popcorn-Time via shell script

Visualizar os processos que mais consomem memória


  

Comentários
[1] Comentário enviado por thewolf em 30/07/2015 - 17:36h

Ótimo script me ajudou com nosso pabx.

[2] Comentário enviado por forkd em 31/07/2015 - 09:07h


[1] Comentário enviado por thewolf em 30/07/2015 - 17:36h

Ótimo script me ajudou com nosso pabx.


Que ótimo! Essa notícia foi um presente de 9 anos adiantado do script. :-)

[3] Comentário enviado por thewolf em 31/07/2015 - 15:15h

Verdade não tinha prestrado atenção na data ... hahahahah


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts