Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#51 06-03-2015 19:17:44

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 4.8.10
(G)UI : openbox
Inscription : 26-08-2010

Re : conky / mpd - afficher pochette album

Je viens de tester chez moi, ça marche toujours, encore faut-il que « library » soit défini avec la
bonne valeur.

Essaye ce qui suit dans un shell :


library='/home/user/Musique/'
pochette="$(dirname ${library}/$(mpc --port 6660 --format %file% |head -n1))/cover.jpg"
echo "$pochette"
 


Évidemment, il faut remplacer « user » par ton nom d'utilisateur  (tu l'as appelé user ?… non ! wink)

Sinon, décrit moi mieux ce qu'il manque. Ce n'est pas bien clair, vu comme ça.


La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#52 06-03-2015 19:29:40

nIQnutn
Modérateur
Lieu : Lyon
Distrib. : Jessie
Noyau : Linux 3.16-amd64
(G)UI : XFCE
Inscription : 16-03-2012
Site Web

Re : conky / mpd - afficher pochette album

le retour

  echo "$pochette"
/home/quentin/Musique
Croze
.
.
.
.
.
.
(2007)
.
.
.
./cover.jpg
 

Hors ligne

#53 06-03-2015 19:33:59

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 4.8.10
(G)UI : openbox
Inscription : 26-08-2010

Re : conky / mpd - afficher pochette album

Bizarre ! Maintenant, je voudrais savoir quel devrait être le bon résultat.

La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#54 06-03-2015 19:39:19

nIQnutn
Modérateur
Lieu : Lyon
Distrib. : Jessie
Noyau : Linux 3.16-amd64
(G)UI : XFCE
Inscription : 16-03-2012
Site Web

Re : conky / mpd - afficher pochette album

 mpc --port 6660 --format %file% |head -n1
Pauline Croze/Pauline Croze - Un bruit qui court (2007)/05 - Jour de foule.mp3
 



le précieux est ici

/home/quentin/Musique/Pauline Croze/Pauline Croze - Un bruit qui court (2007)/cover.jpg

Hors ligne

#55 06-03-2015 20:00:42

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 4.8.10
(G)UI : openbox
Inscription : 26-08-2010

Re : conky / mpd - afficher pochette album

J'ai compris ce qui gêne, ce sont les espaces. dirname a été conçu pour prendre
plusieurs arguments. Il faut trouver un moyen pour que bash ne découpe pas en
plusieurs arguments ce qui est passé à dirname. Et je ne vois pas encore comment
faire, à part en plusieurs étapes :


library="/home/user/Musique"
fichier="${library}$(mpc --port 6660 --format %file% |head -n1)"
repertoire=$(dirname "$fichier")
pochette="${repertoire}/cover.jpg"
echo $pochette
 



Évidemment, avec sed, on n'a pas cet inconvénient…
On m'avait bien dit que l'enfer était pavé de bonnes intentions big_smile

Dernière modification par enicar (06-03-2015 20:01:42)


La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#56 06-03-2015 20:12:40

nIQnutn
Modérateur
Lieu : Lyon
Distrib. : Jessie
Noyau : Linux 3.16-amd64
(G)UI : XFCE
Inscription : 16-03-2012
Site Web

Re : conky / mpd - afficher pochette album

merci. personnellement cette solution est plus facilement compréhensible et modifiable.

Est ce qu'il ne serait pas intéressant de passer la variable library en dur ?

 fichier="/home/user/Musique/$(mpc --port 6660 --format %file% |head -n1)"





# suppression de l'ancienne pochette de l'album
# rm /tmp/conky_cover.jpg

# copie de la pochette d'album dans le dossier /tmp
cp -f  "${library}/${current_song_cover}" /tmp/conky_cover.jpg
 


du coup, je ne vois pas l'interet du rm si je lance cp -f et ça fait une ligne en moins.

Hors ligne

#57 06-03-2015 20:27:36

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 4.8.10
(G)UI : openbox
Inscription : 26-08-2010

Re : conky / mpd - afficher pochette album

Tu peux mettre « library » en dur, si tu veux. C'est mieux de ne pas le mettre en dur
mais bon…

À la place du cp, tu devrais faire un ln -sf :


ln -sf "${library}/${current_song_cover}" /tmp/conky_cover.jpg
 



Tu n'as pas besoin de rm, dans les deux cas. L'avantage de ln est de
ne pas copier le fichier. C'est un peu plus efficace.


La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#58 06-03-2015 20:42:44

nIQnutn
Modérateur
Lieu : Lyon
Distrib. : Jessie
Noyau : Linux 3.16-amd64
(G)UI : XFCE
Inscription : 16-03-2012
Site Web

Re : conky / mpd - afficher pochette album

enicar a écrit :

Tu peux mettre « library » en dur, si tu veux. C'est mieux de ne pas le mettre en dur
mais bon…

À la place du cp, tu devrais faire un ln -sf :


ln -sf "${library}/${current_song_cover}" /tmp/conky_cover.jpg
 



Tu n'as pas besoin de rm, dans les deux cas. L'avantage de ln est de
ne pas copier le fichier. C'est un peu plus efficace.



sauf que ça ne pointe que sur /tmp et quand le lecteur n'est pas en lecture, je n'ai pas besoin d'accéder au disque.
Il y a certainement le cache du disque mais c'est au delà de mes compétences

Hors ligne

#59 06-03-2015 20:49:40

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 4.8.10
(G)UI : openbox
Inscription : 26-08-2010

Re : conky / mpd - afficher pochette album

Je n'ai pas compris ce que tu veux dire… il va falloir développer.
Un lien symbolique peut pointer n'importe où, même sur un fichier
qui n'existe pas.

Remarque, dans tous les cas, quand mpd est arrêté, il faut
supprimer le fichier /tmp/conky_cover.jpg

Dernière modification par enicar (06-03-2015 20:50:03)


La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#60 06-03-2015 20:57:10

nIQnutn
Modérateur
Lieu : Lyon
Distrib. : Jessie
Noyau : Linux 3.16-amd64
(G)UI : XFCE
Inscription : 16-03-2012
Site Web

Re : conky / mpd - afficher pochette album

dans les paramètres de conky, l'image est constamment actualisé. c'est logique quand on mpd est en lecture mais quand on est en pause ça n'est pas nécessaire.

du coup, en lecture je copie le fichier sur /tmp et lu par conky
en pause, je lis uniquement /tmp. pas d'accès sur mon DD

Hors ligne

#61 06-03-2015 21:10:43

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 4.8.10
(G)UI : openbox
Inscription : 26-08-2010

Re : conky / mpd - afficher pochette album

Ok, je pense avoir compris wink

La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#62 11-03-2015 12:49:34

nIQnutn
Modérateur
Lieu : Lyon
Distrib. : Jessie
Noyau : Linux 3.16-amd64
(G)UI : XFCE
Inscription : 16-03-2012
Site Web

Re : conky / mpd - afficher pochette album

j'ai pensé à modifié le script

##!/bin/bash

library='/home/user/Musique/'

previous_song=$(cat /tmp/conky_mpd.song)

current_song=$(mpc --port 6660 --format %file%  | head -n1)

  if [ "$current_song" != "$previous_song" ]; then  
    fichier="${library}$(mpc --port 6660 --format %file% |head -n1)"
    repertoire=$(dirname "$fichier")
    pochette="${repertoire}/cover.jpg"
    cp -f  "${pochette}" /tmp/conky_mpd.cover.jpg
  fi
 
echo "$current_song" > /tmp/conky_mpd.song


en gros, on récupère la pochette uniquement quand on change de chanson.
Pb: je passe par un fichier .txt pour stocker l'ancienne chanson.
Pb2: je ne peux pas mettre ~/Musique à la place de /home/user/Musique/

Hors ligne

#63 11-03-2015 12:54:25

paskal
autobahn
Lieu : ailleurs
Inscription : 14-06-2011
Site Web

Re : conky / mpd - afficher pochette album

nIQnutn a écrit :

Pb: je passe par un fichier .txt pour stocker l'ancienne chanson.

il contient quoi, ce fichier ?


I'd love to change the world
But I don't know what to do
So I'll leave it up to you...

logo-sur-fond.png

Hors ligne

#64 11-03-2015 13:03:44

nIQnutn
Modérateur
Lieu : Lyon
Distrib. : Jessie
Noyau : Linux 3.16-amd64
(G)UI : XFCE
Inscription : 16-03-2012
Site Web

Re : conky / mpd - afficher pochette album

j'utilise un fichier .txt pour stocker l'ancienne chanson. c'est le résultat de

mpc --port 6660 --format %file%  | head -n1



du coup ça peut donner

Iron Maiden/Iron Maiden - Fear of the Dark (1992)/12 - Fear of the Dark.mp3

Hors ligne

#65 11-03-2015 13:10:15

paskal
autobahn
Lieu : ailleurs
Inscription : 14-06-2011
Site Web

Re : conky / mpd - afficher pochette album

Et ça ne pourrait pas être placé dans une variable du shell, accédée par exec ou execi : http://wiki.gentoo.org/wiki/Conky/HOWTO … _variables  ?

I'd love to change the world
But I don't know what to do
So I'll leave it up to you...

logo-sur-fond.png

Hors ligne

#66 11-03-2015 13:16:57

nIQnutn
Modérateur
Lieu : Lyon
Distrib. : Jessie
Noyau : Linux 3.16-amd64
(G)UI : XFCE
Inscription : 16-03-2012
Site Web

Re : conky / mpd - afficher pochette album

dans le conky, j'ai bien

...
${execpi 2 ~/.conky/conky_mpd.sh}
...

Hors ligne

#67 11-03-2015 13:19:52

paskal
autobahn
Lieu : ailleurs
Inscription : 14-06-2011
Site Web

Re : conky / mpd - afficher pochette album

je pensais au résultat de

mpc --port 6660 --format %file%  | head -n1


cette ligne est dans conky_mpd.sh ?


I'd love to change the world
But I don't know what to do
So I'll leave it up to you...

logo-sur-fond.png

Hors ligne

#68 11-03-2015 13:25:00

nIQnutn
Modérateur
Lieu : Lyon
Distrib. : Jessie
Noyau : Linux 3.16-amd64
(G)UI : XFCE
Inscription : 16-03-2012
Site Web

Re : conky / mpd - afficher pochette album

oui, mais je cherche à afficher la pochette de l'album en cours.

Il y a une variable qui existe sous conky et qui fait la même chose

$mpd_file


mais après on peut rien en faire. c'est bien le pb.

Hors ligne

#69 11-03-2015 13:41:57

paskal
autobahn
Lieu : ailleurs
Inscription : 14-06-2011
Site Web

Re : conky / mpd - afficher pochette album


I'd love to change the world
But I don't know what to do
So I'll leave it up to you...

logo-sur-fond.png

Hors ligne

#70 11-03-2015 15:53:55

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 4.8.10
(G)UI : openbox
Inscription : 26-08-2010

Re : conky / mpd - afficher pochette album

nIQnutn a écrit :

Pb2: je ne peux pas mettre ~/Musique à la place de /home/user/Musique/



Au lieu de faire :


library='/home/user/Musique'
 



Tu peux faire :


library=~/Musique
 


Il suffit de ne pas protéger la chaine de caractère, en plus dans le cas présent ça ne sert à rien.

Alternativement, tu peux aussi utiliser la variable HOME :


library="${HOME}/Musique"
 


Dans ce cas il faut utiliser des guillemets plutôt que des « simples quotes » pour
que bash fasse la substitution de la variable.

Dernière modification par enicar (11-03-2015 22:06:05)


La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#71 11-03-2015 16:21:42

nIQnutn
Modérateur
Lieu : Lyon
Distrib. : Jessie
Noyau : Linux 3.16-amd64
(G)UI : XFCE
Inscription : 16-03-2012
Site Web

Re : conky / mpd - afficher pochette album

enicar a écrit :

nIQnutn a écrit :

Pb2: je ne peux pas mettre ~/Musique à la place de /home/user/Musique/



Au lieu de faire :


library='/home/suer/Musique'
 



Tu peux faire :


library=~/Musique
 


Il suffit de ne pas protéger la chaine de caractère, en plus dans le cas présent ça ne sert à rien.

Alternativement, tu peux aussi utiliser la variable HOME :


library="${HOME}/Musique"
 


Dans ce cas il faut utiliser des guillemets plutôt que des « simples quotes » pour
que bash fasse la substitution de la variable.



merci, je trouvais ça bizarre.
Il faut être rigoureux, mais j'apprends doucement grâce à ton aide.

Hors ligne

#72 11-03-2015 21:00:50

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 4.8.10
(G)UI : openbox
Inscription : 26-08-2010

Re : conky / mpd - afficher pochette album

nIQnutn a écrit :

merci, je trouvais ça bizarre.


Je t'en prie. Il faut reconnaître que ça n'a rien d'évident wink

Le mieux serait de lire un bon bouquin sur la programmation shell avec bash ; encore
faut-il en avoir le temps…


La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

Pied de page des forums