Ecouter fip dans un terminal - retour accueil
git clone git://bebou.netlib.re/fip
Log | Files | Refs | README |
commit 2a397cedd531896804de16665fe9d214e6768961 parent 3f27915e8675803d85cb9d42fd584f0f28a3815e Auterice: arthur <arthur.pons@unistra.fr> Date: Thu, 23 Nov 2023 14:25:24 +0100 Aller cette fois-ci c'est la bonne Je crois que c'est bon Je sais pas pourquoi checker la valeur de la variable tite ne fonctionnait pas Il me semble que lorsque title est vide, end est toujours vide aussi Diffstat:
M | fip | | | 69 | +++++++++++++++++++++++++++++++++------------------------------------ |
1 file changed, 33 insertions(+), 36 deletions(-)
diff --git a/fip b/fip @@ -46,7 +46,7 @@ current_track() { # Sinon on fait le coup de jq pour récupérer les infos echo "$in" | grep -q "null" && - echo "null" || + echo "" || echo "$in" | jq -r ' ( .data.live.song | ([.track.mainArtists[], " - ", .track.title]|join("")), .end)' } @@ -57,46 +57,43 @@ enjoy() { # local ne marche pas en shell POSIX !!! for it; do read -r "${it?}"; done - # On vérifie que l'api ait bien renvoyé une chanson sinon on vérifie que le temps - # de fin n'est pas dans le passé - if [ "$title" = "null" -o "$end" -le $(date +"%s") ] - then - # Si oui on dort 4 secondes - echo "machin" + # On vérifie que l'api ait bien renvoyé une chanson + if [ ! "$title" ];then + # Si non on attend 4 secondes puis on quitte la fonction + # pour requêter l'api une nouvelle fois sleep 4 - else - # On calcul la différence entre le moment où le morceau se termine et - # maintenant - pause=$(date +"$end - %s" | bc) + return 0 + fi + # On calcul la différence entre le moment où le morceau se termine et + # maintenant + pause=$(date +"$end - %s" | bc) - # On affiche les infos - echo "$title" - # On les ajoute dans le fichier de session - echo "$title $(date)" >> ~/git/fip/session - # on attend la fin du morceau - # sleep $(( $pause + 1 )) 2>/dev/null + # On affiche les infos + echo "$title" + # On les ajoute dans le fichier de session + echo "$title $(date)" >> ~/git/fip/session + # on attend la fin du morceau + # sleep $(( $pause + 1 )) 2>/dev/null - # Puisque la barre de progression fait 58 "-" de long - # on calcul combien de secondes doivent faire les 58 incréments - # de temps entre le début et la fin de la chanson - inc=$(echo "($end - $(date +%s))/58" | bc -l) - for i in $(seq 1 58);do - # Pour chacun de ces incrément on affiche la barre de progression et - # on attend le nombre de secondes - echo "$barlines" | sed -E "1,$i s/-/=/g" | tr -d '\n' - sleep $inc - # Puis on efface la barre pour affichier la nouvelle - eraseline - done - sleep 1 + # Puisque la barre de progression fait 58 "-" de long + # on calcul combien de secondes doivent faire les 58 incréments + # de temps entre le début et la fin de la chanson + inc=$(echo "($end - $(date +%s))/58" | bc -l) + for i in $(seq 1 58);do + # Pour chacun de ces incrément on affiche la barre de progression et + # on attend le nombre de secondes + echo "$barlines" | sed -E "1,$i s/-/=/g" | tr -d '\n' + sleep $inc + # Puis on efface la barre pour affichier la nouvelle + eraseline + done + sleep 1 - # Affichage de la couverture, supprimer si on s'en fiche - # Ou si l'on veut économiser des ressources - # Malheureusement les couverture ne sont plus dispos ? :( - # curl -Ls "$cover" --output - | catimg -w 80 - - - fi + # Affichage de la couverture, supprimer si on s'en fiche + # Ou si l'on veut économiser des ressources + # Malheureusement les couverture ne sont plus dispos ? :( + # curl -Ls "$cover" --output - | catimg -w 80 - } ( while :; do