Autor Tópico: Alguém pode dar uma força com o Zenity (janela de progresso)  (Lida 5235 vezes)

Offline velox256

  • Usuário Ubuntu
  • *
  • Mensagens: 1.915
  • Debian é Debian... :)
    • Ver perfil
    • Linux Inside
Alguém pode dar uma força com o Zenity (janela de progresso)
« Online: 09 de Junho de 2009, 22:15 »
Moçada, eu estava querendo botar uma janela de progresso nesse script de conversão de vídeo usando o Zenity mas confesso que sou um zero à esquerda em programação e scripts. Alguém pode dar uma força aí? O script é:

Citar
#! /bin/sh
if [ "$2" = "" ]; then
   ffmpeg-amv -i "$1" -s 160x120 -r 16 -ac 1 -ar 22050 -qmin 3 -qmax 3 $1.amv
fi

Por exemplo, eu uso o script abaixo para converter mp3 pra wma e esse tem janela de progresso:

Citar
#!/bin/bash

for i in *.mp3
do o=`basename "$i" .mp3`
ffmpeg -y -i "$i" -acodec wmav2 "$o".wma 2>&1 | zenity --progress --pulsate --title="Convertendo" --text="$o" --auto-close
done

Eu tentei juntar os dois mas num rodou, hehehehe... Alguma ajuda aí?
« Última modificação: 09 de Junho de 2009, 22:28 por velox256 »
Computador perereca, com disco perereca, monitor perereca e sistema super xuxu. Visitem a minha página em http://sidserra.k6.com.br ou meu blog em http://sidserra.blogspot.com.br.

Offline clcampos

  • Administrador
  • Usuário Ubuntu
  • *****
  • Mensagens: 10.790
  • .:: User Linux #439596 ::.
    • Ver perfil
Re: Alguém pode dar uma força com o Zenity (janela de progresso)
« Resposta #1 Online: 10 de Junho de 2009, 00:06 »
Acho que o comando esta certo. Veja aqui onde também uso.

Só tem uma coisa, para tarefas rápidas ele realmente não vai aparecer.
Cristiano/Timóteo - MG
.: Como Fazer Perguntas de Forma Inteligente :.                
Com dúvida? pesquise!

Offline raidicar

  • Usuário Ubuntu
  • *
  • Mensagens: 576
  • Quad Shot of Ubuntu
    • Ver perfil
Re: Alguém pode dar uma força com o Zenity (janela de progresso)
« Resposta #2 Online: 10 de Junho de 2009, 00:21 »
Código: [Selecionar]
#! /bin/sh
if [ "$2" = "" ]; then
   ffmpeg-amv -i "$1" -s 160x120 -r 16 -ac 1 -ar 22050 -qmin 3 -qmax 3 $1.amv 2>&1 | zenity --progress --pulsate --title="Convertendo" --text="$o" --auto-close
fi
Nao vejo por que nao funcionar, se a tarefa e executada muito rapido, tira o --auto-close para ver a janela.
Ou voce quer outro tipo de barra de progresso?
Quem ama extremamente, deixa de viver em si e vive no que ama. Na vida três coisas são certas, o amor, a morte e o Linux !
Se Platão disse, então realmente sofremos de uma perigosa doença mental.

Offline velox256

  • Usuário Ubuntu
  • *
  • Mensagens: 1.915
  • Debian é Debian... :)
    • Ver perfil
    • Linux Inside
Re: Alguém pode dar uma força com o Zenity (janela de progresso)
« Resposta #3 Online: 10 de Junho de 2009, 08:03 »
Legal, funcionou, não estava aparecendo a janela e nem convertendo pq ficaram faltando dois caracteres, hehehehe... Mas não dava pra fazer uma janela de progresso mais incrementada, tipo mostrando a evolução da tarefa? Só de ficar naquele vai e vem já valeu, mas se fosse possível um indicador de progresso poderia dar uma noção de qto tempo a tarefa duraria. O --percentage não serve pq ele só serve pra mostrar a barra de progresso fixa de determinado tamanho inicial.

Mas já valeu o que está mostrado aqui, valeu!



Código: [Selecionar]
#! /bin/sh
if [ "$2" = "" ]; then
   ffmpeg-amv -i "$1" -s 160x120 -r 16 -ac 1 -ar 22050 -qmin 3 -qmax 3 $1.amv 2>&1 | zenity --progress --pulsate --title="Convertendo" --text="$o" --auto-close
fi
Nao vejo por que nao funcionar, se a tarefa e executada muito rapido, tira o --auto-close para ver a janela.
Ou voce quer outro tipo de barra de progresso?

Computador perereca, com disco perereca, monitor perereca e sistema super xuxu. Visitem a minha página em http://sidserra.k6.com.br ou meu blog em http://sidserra.blogspot.com.br.

Offline raidicar

  • Usuário Ubuntu
  • *
  • Mensagens: 576
  • Quad Shot of Ubuntu
    • Ver perfil
Re: Alguém pode dar uma força com o Zenity (janela de progresso)
« Resposta #4 Online: 10 de Junho de 2009, 22:20 »
Não seria somente a barra de progresso, sem nenhum adereço? ou seja, apenas sem o complemento --pulsate?
Código: [Selecionar]
zenity --progress --title="Convertendo" --text="$o" --auto-closeOu eu entendi errado?
« Última modificação: 11 de Junho de 2009, 00:16 por raidicar »
Quem ama extremamente, deixa de viver em si e vive no que ama. Na vida três coisas são certas, o amor, a morte e o Linux !
Se Platão disse, então realmente sofremos de uma perigosa doença mental.

Offline velox256

  • Usuário Ubuntu
  • *
  • Mensagens: 1.915
  • Debian é Debian... :)
    • Ver perfil
    • Linux Inside
Re: Alguém pode dar uma força com o Zenity (janela de progresso)
« Resposta #5 Online: 11 de Junho de 2009, 00:25 »
Não é isso, eu quero a janela de progresso, mas esse do zenity em modo --pulsate a barra só fica pra lá e pra cá, sem dar uma noção de tempo do progresso da conversão. Por exemplo, vc sabe a quantas anda o carregamento do sistema qdo aparece aquela barra de progresso do Ubuntu, certo? Ou qdo se está baixando alguma coisa, a janela de progresso do download vai sendo completada de acordo com o passar do download, ou seja, uma barra vai se 'iluminando' do início até o fim de acordo com o andamento do download, dando uma noção de tempo de qto tempo falta pra terminar a tarefa; em vez de barra de progresso, poderia ser algo mostrando em porcentagem também, é isso que eu quero.


Não seria somente a barra de progresso, sem nenhum adereço? ou seja, apenas sem o complemento --pulsate?
Código: [Selecionar]
zenity --progress --title="Convertendo" --text="$o" --auto-closeOu eu entendi errado?
Computador perereca, com disco perereca, monitor perereca e sistema super xuxu. Visitem a minha página em http://sidserra.k6.com.br ou meu blog em http://sidserra.blogspot.com.br.

Offline Gunfree

  • Usuário Ubuntu
  • *
  • Mensagens: 208
    • Ver perfil
Re: Alguém pode dar uma força com o Zenity (janela de progresso)
« Resposta #6 Online: 11 de Junho de 2009, 03:15 »
É porque você não está indicando o progresso ao zenity, use o --percentage=0 (para iniciar em 0%)
Linux Registered User: #491793

Offline velox256

  • Usuário Ubuntu
  • *
  • Mensagens: 1.915
  • Debian é Debian... :)
    • Ver perfil
    • Linux Inside
Re: Alguém pode dar uma força com o Zenity (janela de progresso)
« Resposta #7 Online: 11 de Junho de 2009, 08:51 »
Já fiz isso e o máximo que esse parâmetro faz é colocar uma barra de progresso já "iluminada" mas que não acompanha a evolução da tarefa, ou seja, se eu colocar em 20% (--percentage=20), a janela com a barra de progresso vai aparecer com o tamanho fixo inicial de 20% e não progride, permanece nos mesmos 20% ao final da tarefa.


É porque você não está indicando o progresso ao zenity, use o --percentage=0 (para iniciar em 0%)
Computador perereca, com disco perereca, monitor perereca e sistema super xuxu. Visitem a minha página em http://sidserra.k6.com.br ou meu blog em http://sidserra.blogspot.com.br.

Offline Gunfree

  • Usuário Ubuntu
  • *
  • Mensagens: 208
    • Ver perfil
Re: Alguém pode dar uma força com o Zenity (janela de progresso)
« Resposta #8 Online: 11 de Junho de 2009, 15:40 »
Eu fiz um teste simples e consegui fazer a barra rodar com o progress.
Roda aí e veja se é o que você deseja.
Código: [Selecionar]
$ for i in 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100; do echo $i; echo "# $i%"; sleep 1; done | zenity --progress --title='Progresso'
Se for, basta adaptar pro que você quer.

Linux Registered User: #491793

Offline velox256

  • Usuário Ubuntu
  • *
  • Mensagens: 1.915
  • Debian é Debian... :)
    • Ver perfil
    • Linux Inside
Re: Alguém pode dar uma força com o Zenity (janela de progresso)
« Resposta #9 Online: 12 de Junho de 2009, 11:00 »
Eu "melhorei" o script, mas ainda não consegui fazer uma barra de progressos mostrando a qtas anda REALMENTE o trabalho de conversão:

Citar
#! /bin/sh
cropesq=$(zenity --entry --text "Digite o valor do crop esquerdo"); echo $cropesq
cropdir=$(zenity --entry --text "Digite o valor do crop direito"); echo $cropdir
resol=$(zenity --entry --text "Digite o valor da resolução desejada" --entry-text "160x120"); echo $resol
quad=$(zenity --entry --text "Digite o valor do FPS do vídeo de saída" --entry-text "16"); echo $quad
if [ "$2" = "" ]; then
   ffmpeg-amv -i "$1" -croptop 0 -cropbottom 0 -cropleft $cropesq -cropright $cropdir -s $resol -r $quad -ac 1 -ar 22050 -qmin 3 -qmax 3 $1.amv 2>&1 | zenity --progress --pulsate --title="Convertendo" --text="$1" --auto-close
fi

Pelo que eu li, tenho que "ecoar" alguma coisa, vou continuar pesquisando...
Computador perereca, com disco perereca, monitor perereca e sistema super xuxu. Visitem a minha página em http://sidserra.k6.com.br ou meu blog em http://sidserra.blogspot.com.br.

Offline Gunfree

  • Usuário Ubuntu
  • *
  • Mensagens: 208
    • Ver perfil
Re: Alguém pode dar uma força com o Zenity (janela de progresso)
« Resposta #10 Online: 12 de Junho de 2009, 11:44 »
Exatamente. Que tal cuspir pro zenity (dentro do for), o andamento do tamanho do arquivo? Acho que se você conseguir fazer isso, resolveria.

[]'s
Linux Registered User: #491793