shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] convertesor de musica com Zenity


From: MrBiTs
Subject: Re: [shell-script] convertesor de musica com Zenity
Date: Mon, 05 Dec 2011 09:37:01 -0200
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:8.0) Gecko/20111105 Thunderbird/8.0

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Bom dia

Bacana o "convertesor". Com esse nome, de ser das Organizações Tabajara :)

Eu recomendo que ele (e quaisquer outros códigos que precisem ser enviados) 
sejam postados num paste-bin da vida, para evitar que
formatação de e-mail quebre o script.

Se você notar, as linhas mais extensas aparecem assim na mensagem:
      novoformato=$(zenity --list --height=280 --title "Conversor de música" 
--text "Novo formato" --radiolist --column "Marque"
- --column "Extensão" FALSE wma FALSE flac FALSE ogg FALSE wav TRUE mp3 FALSE 
aac FALSE flv)

Se alguém simplesmente copiar e colar o código num arquivo, vai ter erros que, 
talvez, ele não tenha interesse de procurar e
corrigir, e seu código não será aproveitado, invalidando então a sua 
contribuição. No caso de um problema, seu código pode não ser
analizado, e você ficará sem sua resposta.

A sorte de muitas pessoas é que nossa lista é muito boa e temos várias pessoas 
que não se importam em adivinhar o que o
participante está perguntando, não se importam em corrigir código, mas isso não 
é assim em todos os lugares, então fica a minha
recomendação.

Não testei o código, mas parabéns ao seu amigo.

Um abraço

> 
> Bom dia
> 
> Estes dias um colega de trabalho pediu para converter umas músicas de wma 
> para mp3. Tranquilo de fazer usando o "ffmpeg", só
> que eram mais de uma, então usei um laço "for". Como ele ainda é novo no 
> linux, resolver fazer tudo com zenity para que ele
> possa usar sem abrir o terminal. O resultado esta abaixo, estou 
> compartilhando para que se interessar, em funções com retorno e
> menu com ida e vinda.
> 
> #!/bin/bash
> 
> 
> #Script para converter múscisas #Criado: 03/12/2011 #Autor: Marlon V. Reck 
> #e-mail: address@hidden
> 
> 
> #variaveis contador=0 totalarq=0 cont=0 g_retorno=tela_original
> 
> function baybay { local retorno="$1" test "$retorno" -eq 1 && exit }
> 
> #verifica se é arquivo ou diretório function verifica_diretorio { local 
> dir="$diretorio" local ori="$original" local verifica 
> for verifica in "$dir"/*."$ori";do if [ -f "$verifica" ]; then 
> g_retorno=tela_novof else zenity --error --text="Arquivo não
> encontrado no diretório indicado.\nTente novamente!" --title="Conversor de 
> música"; g_retorno=tela_diretorio fi done }
> 
> #verifica se os formatos são iguais function verifica_extensao { local 
> arqorig="$original" local arqnovo="$novoformato" if [
> "$arqorig" = "$arqnovo" ]; then zenity --error --text="Os formatos escolhidos 
> são iguais.\nTente novamente!" --title="Conversor
> de música"; g_retorno=tela_novof else g_retorno=tela_qualidade fi }
> 
> while [ "$g_retorno" != fim ]; do case "$g_retorno" in tela_original) #tela 
> para escolha do arquivo que vai ser convertido 
> original=$(zenity --list --height=280 --title "Conversor de música" --text 
> "Formato original" --radiolist --column "Marque" -- 
> column "Extensão" TRUE wma FALSE flac FALSE ogg FALSE wav FALSE mp3 FALSE aac 
> FALSE flv) baybay "$?" g_retorno=tela_diretorio 
> ;;
> 
> tela_diretorio) #tela para escolher onde esta o arquivo diretorio=$(zenity 
> --file-selection --directory --title="Selecione o
> diretório dos arquivos "$original"." --file-filter="*.$original") baybay "$?" 
> verifica_diretorio "$diretorio" "$original" ;;
> 
> tela_novof) #tela para escolher o novo formato do arquivo 
> novoformato=$(zenity --list --height=280 --title "Conversor de
> música" --text "Novo formato" --radiolist --column "Marque" --column 
> "Extensão" FALSE wma FALSE flac FALSE ogg FALSE wav TRUE
> mp3 FALSE aac FALSE flv) baybay "$?" verifica_extensao "$original" 
> "$novoformato" ;;
> 
> tela_qualidade) #tela para escolher a qualidade do arquivo qualidade=$(zenity 
> --list --height=280 --title "Conversor de música"
> --text "Escolha a qualidade do arquivo convertido" -- radiolist --column 
> "Marque" --column "kbps" FALSE 64 FALSE 96 TRUE 128
> FALSE 192 FALSE 256 FALSE 320) baybay "$?"
> 
> #contador de arquivos for contador in "$diretorio"/*."$original";do let 
> totalarq++; done #acrescenta +1 no total de arquivos 
> totalarq=$((totalarq+1))
> 
> #conversão if [ "$novoformato" = "ogg" ]; then codec="-acodec libvorbis" else 
> codec="-acodec libmp3lame" fi
> 
> for nome in "$diretorio"/*."$original"; do # echo para montar a barra de 
> progresso echo "# Convertendo "$nome"" echo $((++cont
> * 100/$totalarq)) #pega o nome do arquivo sem extensão x=$(echo "$nome" | cut 
> -f1 -d".") ffmpeg -loglevel quiet -i "$nome" -f
> "$novoformato" $codec -ab "$qualidade""k" -ar 44100 "$x"."$novoformato" done 
> | zenity --progress --auto-close --width 290
> --no-cancel --title="Convertendo "$original" para "$novoformato"" 
> g_retorno=fim ;; esac done; 
> 
> Atenciosamente Marlon V. Reck address@hidden
> 
> 
> ------------------------------------
> 
> --------------------------------------------------------------------- Esta 
> lista não admite a abordagem de outras liguagens de
> programação, como perl, C etc. Quem insistir em não seguir esta regra será 
> moderado sem prévio aviso. 
> --------------------------------------------------------------------- Sair da 
> lista:
> address@hidden 
> --------------------------------------------------------------------- Esta 
> lista é
> moderada de acordo com o previsto em http://www.listas-discussao.cjb.net 
> --------------------------------------------------------------------- 
> Servidor Newsgroup da lista: news.gmane.org Grupo:
> gmane.org.user-groups.programming.shell.brazil
> 
> Links do Yahoo! Grupos
> 
> 
> 


- -- 

LLAP

.0. MrBiTs .'. - address@hidden
..0 GnuPG  - 
http://keyserver.fug.com.br:11371/pks/lookup?op=get&search=0x6EC818FC2B3CA5AB
000 http://www.mrbits.com.br


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (Darwin)

iQEcBAEBCAAGBQJO3KzdAAoJEG7IGPwrPKWrg0cH/15d3mHvHSbJKoFQsb0AzTfw
gjvkIkRidt8X4HEN0b/ShM2m98dDjhv3Cd5uz3CCl4xts+CCpOg9ZaV83jtFTJo2
9l6XrscvbBLaQbXhhOqS4xHqlDi5VHONlprKiS17GTQNDEjnkX0bL+jEjpuR+toL
xA/znJSuzyO8/xG6f9ciId0GocJJ5jUlpjCvcIDZ9RrlngSYrRbBdSQOG3twuQSb
IYbgDEbQXVCjMNknG+z9xgiB5tintEfQ8JEvDk0vYr78sfVIEjODsHfNBz9tYzh/
1iyiAXlNAGgjinO991LjIziInGsJ7q8Vo7YoZ/lgfpPs3u0fZpEjvxarYUx0TyU=
=XSop
-----END PGP SIGNATURE-----


reply via email to

[Prev in Thread] Current Thread [Next in Thread]