Vous n'êtes pas identifié(e).
Dernière modification par Ralph W. Llama (10-02-2015 00:48:23)
Vivre libre ou mourir !
Hors ligne
Dernière modification par nono47 (08-02-2015 06:06:33)
Plus qu'à isoler les infos que je cherche avec grep et cut.
Seulement, j'ai un petit problème avec grep. Jugez plutôt :
Je voudrais avoir la ligne contenant le mot "artist", mais pas celle contenant le mot "album_artist". Comment faire ?
Merci d'avance pour vos réponses !
EDIT : trouvé, en utilisant sed au lieu de grep ! Plus qu'à mettre ça en forme, et j'explique ici ce que j'ai fait, pour ceux que ça intéresse.
REEDIT : donc voilà ce que j'ai fait. Dans un premier temps, le script perl que voici :
Et ensuite, comme je peux pas utiliser sed directement dans genmon, je dois passer par d'autres scripts. J'ai pensé au départ en créer un seul avec des variables :
mais le script est trop long à s'exécuter, c'est chiant. Du coup j'ai du faire plusieurs petits scripts, un pour chaque variable :
Plus qu'à mettre l'adresse des scripts dans des genmon sur le panel, et voilà le résultat :
Les boutons sont des lanceurs avec des commandes comme gmusicbrowser -cmd PlayPause, vous pouvez avoir une liste des commandes disponibles en tapant gmusicbrowser -listcmd.
Voilà ! Je m'y connais pas trop en scripts, donc ma solution n'est pas forcément la plus simple, mais elle marche. Tout suggestion d'amélioration est la bienvenue.
Dernière modification par Ralph W. Llama (10-02-2015 00:46:47)
Vivre libre ou mourir !
Hors ligne
J'ai créé le script sous le nom suivant : /home/antoine/.scripts/gmb.pl (j'ai créé un dossier dans mon /home pour mettre mes scripts à moi, ce qui ne me pose pas de problème vu que je n'ai qu'une session utilisateur sur mes ordis, mais c'est pas forcément le meilleur emplacement, je vous laisse donner votre avis...)
L'exécution de ce script me donne donc une liste d'information sur la lecture en cours :
Je dois donc extraire du résultat de cette commande les informations à afficher sur mon panel Xfce. Pour afficher les informations, j'utilise le greffon genmon. Je n'ai pas vérifié, mais il existe certainement des équivalents pour les autres environnements de bureau. Mais comme genmon ne peut donner que le retour d'une commande simple, je dois créer de nouveaux scripts, en utilisant les commandes sed et cut. Un petit exemple :
Pas bien compliqué, me direz vous. Seulement, si je ferme gmusicbrowser, voici ce que me donne la commande :
Je ne doit donc afficher le résultat de cette commande que si gmusicbrowser est lancé. En gros, me faut du if dans mon script, quoi. Mais if quoi ? Je n'ai pas trouvé de commande permettant de savoir si un logiciel était lancé, si vous avez quelque chose dans le genre les suggestions sont les bienvenues. En attendant, j'ai remarqué une chose : quand gmusicbrowser est fermé, la commande ~/.scripts/gmb.pl | sed -n 10p | cut -c 9-1000 qui permet d'afficher le numéro de la piste donnait un résultat vide. Voici donc le contenu de mon script d'affichage du titre, enregistré sous le nom ~/.scripts/gmb_title.sh :
Quand je le lance dans un terminal, voici ce que j'obtiens :
Seule la seconde ligne s'affiche dans le genmon, mais j'aimerais tout de même bien savoir ce qui cause la première. Une idée ?
Ensuite, mon deuxième script : ~/.scripts/gmb_artist.sh. Il est un peu plus compliqué, vu que je veux afficher dedans l'artiste et l'album, ainsi que le numéro de piste s'il n'est pas égal à 0. En effet, lors qu'il n'y a pas de numéro de piste enregistré dans les tags du fichier audio, la commande affichant ce dernier me donne 0. Voici donc le contenu du script :
Et voici son exécution dans un terminal :
Les crochets avec le numéro n'apparaissant pas si aucun numéro de piste n'est enregistré dans les tags. On note le même problème sur la première ligne, qui ne s'affiche toujours pas dans le genmon.
Tout cela, associé à des lanceurs avec les commandes suivantes :
et des icônes trouvés dans "Icônes des actions", une fois mis en forme avec les séparateurs qui vont bien, donne donc le résultat suivant :
Et quand gmusicbrowser est éteint :
Notez que les 4 lanceurs lancent gmusicbrowser lors qu'il est éteint.
Voilà, que pensez-vous de tout ça ? Que voyez-vous à améliorer ?
EDIT : j'ai trouvé comment rendre mes scripts plus propres :
En plus, plus de ligne bizarre, je n'obtiens que les informations que je veux :
Et sinon, j'en ai profité pour me créer des scripts, pour que les boutons ne fonctionnent que quand gmusicbrowser est lancé. Un exemple, ~/.scripts/gmb_playpause.sh :
A priori rien à modifier, qu'en pensez-vous ?
REEDIT : petite simplification du if, et je vire quelques echo qui servaient à rien :
Et je simplifie aussi les scripts des lanceurs :
Dernière modification par Ralph W. Llama (26-03-2015 14:08:17)
Vivre libre ou mourir !
Hors ligne