barra de progresso DeaDBeeF para conky (código cipricus)

1

Olá cipricus ou alguém que possa ajudar.

Estou apenas começando a usar barra de progresso cony deadbeef by cipricus

Muito bom script, devo dizer, mas ... eu tenho um problema, se deadbeef for interrompido, a barra de progresso mostrando alguns números. Como você pode notar na figura abaixo.

Se o jogador estiver correndo ... todas as coisas aparecem corretas em relação à barra de progresso. Você tem alguma sugestão ou solução para tornar a barra de progresso visível mesmo se o jogador for interrompido?

Obrigado novamente!

    
por Nili 09.06.2017 / 23:28

1 resposta

1

Eu não tenho o programa deadbeef para testar, mas parece que quando é parado que a opção --nowplaying retornará a string "nothing". O script awk está esperando duas vezes, portanto, deve retornar uma divisão por erro zero. No entanto, o seu awk está retornando -2147483647 neste caso.

Você pode tentar editar o script awk para o seguinte para lidar com a verificação da string e também a verificação da divisão por zero no final:

#!/bin/bash
deadbeef --nowplaying "%e %l" |
awk '
/nothing/{ print "0";exit }
{ n = split("::" $1,t,":")
  elapsed = (t[n-2]*60+t[n-1])*60+t[n]
  n = split("::" $2,t,":")
  total = (t[n-2]*60+t[n-1])*60+t[n]
  if(total==0)total = 1
  printf "%d\n",elapsed*100/total
}'
    
por 10.06.2017 / 19:46