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: Marlon Vagner Reck
Subject: Re: [shell-script] convertesor de musica com Zenity
Date: Mon, 5 Dec 2011 09:58:26 -0200
User-agent: KMail/1.13.7 (Linux/2.6.35.14-106.fc14.i686.PAE; KDE/4.6.5; i686; ; )

        Obrigado MrBiTs
        Vou usar o pastbin no futuro.

Atenciosamente
Marlon V. Reck
address@hidden

Em segunda-feira 05 dezembro 2011, às 09:37:01, você escreveu:
> -----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=0x6EC818FC2B3CA
> 5AB 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]