nemesis93_75 Posted August 2, 2010 Posted August 2, 2010 Salut à tous, alors voilà, j'ai (enfin) trouvé le moyen d'afficher ce que j'écoute avec Spotify dans Adium. Avant toute chose, je préviens que ça supprime tout le status et le remplace par le groupe/chanteur + titre de la chanson. De plus, il vous faut Growl sur votre Mac. Voilà vous êtes prévenu Tout d'abord copier le code et sauvegarder le avec une extension en sh (pour shell ) : #!/bin/bash # messages have this format: # 'Mon Jul 5 13:25:05 azeef-macbook GrowlHelperApp[46245] <Warning>: Spotify: Do the Buildings and Cops Make You Smile? (Bedroom Walls\nThe 4400) - Priority 0' # which this script extracts as: # 'Spotify: Do the Buildings and Cops Make You Smile? (Bedroom Walls' # 'The 4400)' # or (a little more abstract): # '$song ($artist' # '$album)' # where $song = 'Spotify: $title' # The status will be set to 'Spotify: $title - $artist ($album)', dive into the code to change that;-) syslog -F '$Message' -w 1 -k Sender GrowlHelperApp | while read first do if [ -n "`echo $first | egrep '^Spotify: '`" ]; then # line starts with 'Spotify: ', so read second line read second # if you want the 'Spotify: ', comment the following line: first=${first/Spotify: /} # extract song, artist and album song=${first% (*} # reads 'Spotify: $title' from 'Spotify: $title ($artist' artist=${first##* (} # reads '$artist' from 'Spotify: $title ($artist' album=${second%%)*} # reads '$album' from '$album)' # this part makes sure no ads or spotify messages are posted as your status # the test reads: # - either the artist equals 'Spotify' (the x's cancel out) or # - the album's length is at least 8 (the length of the string 'spotify:') and it starts with 'spotify:' # this works, because Spotify plays it's messages with the artist 'Spotify' # and (almost all) ads have a link which starts with 'spotify:' embbedded as the album if [ "x$artist" = 'xSpotify' -o ${#album} -ge 8 -a "${album:0:8}" = 'spotify:' ]; then continue # skip this message if it's an ad fi status="$song - $artist" echo | osascript <<EOF tell application "System Events" if exists process "iChat" then tell application "iChat" to set the status message to "$status" if exists process "Adium" then tell application "Adium" to set status message of every account to "$status" end tell EOF fi done Personnellement je l'ai appeler nowPlayingSpotifyInAdum.sh. Dans le terminal, executer ces commandes qui permettent au script de récuperer les infos de Growl: defaults write com.Growl.GrowlHelperApp GrowlLoggingEnabled -int 1 Redémarrez Growl sudo killall GrowlHelperApp open ~/Library/PreferencePanes/Growl.prefPane/Contents/Resources/GrowlHelperApp.app Rendez le executable en tappant la commande dans votre terminal sudo chmod +x /LeCheminVersVotreFichier/VotreFichier.sh. Pour tester si ça marche, enregistrez le sur votre Bureau et ouvrez le terminal, faites cd Desktop puis ./lenomdevotrefichier.sh. Laissez votre terminal ouvert, et changer la musique en cours de lecture, si ça tombe sur une pub, attendez qu'elle passe, le script detecte quand c'est une pub et n'affiche rien. Si ça tombe sur une musique, regardez votre status, il a du changer Vous allez me dire: "Ouai c'est génial, mais bon le lancer à chaque fois c'est chiant...." Je suis d'accord, c'est pourquoi on va le rendre permanent. Fermer votre Terminal et télécharger Lingon. Cet utilitaire gère les scripts de démarrage de Mac, faites très attention à bien suivre mes recommandations. Placer votre script dans le dossier Bibliothèque, à la racine de votre disque dur. Si vous voulez le placer autre part, vous pouvez bien sur, mais retenez bien l'emplacement de votre fichier. Donc on considère mon fichier nowPlayingSpotifyInAdum.sh dans le dossier Bibliothèque (soit /Library/nowPlayingSpotifyInAdum.sh comme chemin dans le terminal) Lancer Lingon, cliquez sur New en haut à gauche et choisissez MyAgent. Alors, vous vous retrouvez avec une fenêtre, ou plusieurs champs sont disponibles. On va s'occuper de Label, ProgramArguments et RunAtLoad. Dans Label, vous allez marquer un peu ce que vous voulez, perso, j'ai garder la structure standard: com.nemesis.AdiumSpotifyNowPlaying Dans ProgramArguments, vous allez cliquer sur +, ecrire /bin/sh, recliquez sur + et écrire le chemin de votre fichier, donc dans mon exemple /Library/nowPlayingSpotifyInAdum.sh. Enfin, cliquez sur RunAtLoad si vous voulez lancer le script au démarrage. Cliquez sur Save&Load pour le sauvegarder et charger le script. Faites un changement de musique dans Spotify et si ça marche, vous pouvez me remercier Si ça marche pas, vérifiez bien le tout. (bien sur vous pouvez poster si vous avez des problèmes) PS: Je vais faire des screens pour essayer que ce soit plus simple EDIT: Si quelqu'un si connait un peu, y aurait un moyen d'enlever la musique quand on arrête de l'écouter (genre mettre 5 min sans changement on coupe...) comme ça, ça évitera de laisser le titre dans le status (seul truc "chiant" de cette solution )
nemesis93_75 Posted August 5, 2010 Author Posted August 5, 2010 Pas un merci Bon d'accord j'ai toujours pas mis mes screenshots
Eramdam Posted August 5, 2010 Posted August 5, 2010 Moi ça pourrait surtout m'intéresser pour iChat (je crois avoir vu que ton script marche avec, je vais essayer )
nemesis93_75 Posted August 5, 2010 Author Posted August 5, 2010 Oui je pense qu'il marche avec iChat, je vais tester de suite pour voir et je te dis quoi EDIT: Marche très bien avec iChat
Eramdam Posted August 6, 2010 Posted August 6, 2010 Oui je pense qu'il marche avec iChat, je vais tester de suite pour voir et je te dis quoi EDIT: Marche très bien avec iChat Yay ! EDIT : Bon bah ça marche pas avec moi (j'utilise plus Adium donc j'ai pas test avec) avec iChat Voilà ce qu'il se passe dans mon Terminal MacBook-Pro-de-Damien-Erambert:~ Damien$ cd Desktop/ MacBook-Pro-de-Damien-Erambert:Desktop Damien$ ./ichat.sh -bash: ./ichat.sh: Permission denied MacBook-Pro-de-Damien-Erambert:Desktop Damien$ sudo !! sudo ./ichat.sh Password: sudo: ./ichat.sh: command not found MacBook-Pro-de-Damien-Erambert:Desktop Damien$ chmod +x ichat.sh MacBook-Pro-de-Damien-Erambert:Desktop Damien$ mv ichat.sh ichat MacBook-Pro-de-Damien-Erambert:Desktop Damien$ ./ichat ^C MacBook-Pro-de-Damien-Erambert:Desktop Damien$ J'ai éventuellement rendu le .sh exécutable mais nada, ça veut pas :/
nemesis93_75 Posted August 6, 2010 Author Posted August 6, 2010 C'est vrai que j'avais oublier de dire de le rendre executable... Pourquoi as tu fais renommer ton fichier en ichat après l'avoir rendu executable? quand tu fais ton ./ichat, tu as changé de musique? ça n'a rien fait?
Eramdam Posted August 6, 2010 Posted August 6, 2010 C'est vrai que j'avais oublier de dire de le rendre executable...Pourquoi as tu fais renommer ton fichier en ichat après l'avoir rendu executable? quand tu fais ton ./ichat, tu as changé de musique? ça n'a rien fait? Rien à faire :/ J'ai beau changer de musique, il se passe rien. Peut être est-ce un rapport avec le thème Growl ? J'utilise Chax aussi, je sais pas si ça a à voir
nemesis93_75 Posted August 6, 2010 Author Posted August 6, 2010 J'installe Chax pour voir Je pense pas que le thème ai un rapport EDIT: Aucun problème de mon côté... Tu laisse bien lancé le script? Tu le coupe pas? EDIT2: J'avais oublié de dire un truc (parce que je me suis pris la tête avec le script toute la journée ) Dans le terminal, fait ça et retest: defaults write com.Growl.GrowlHelperApp GrowlLoggingEnabled -int 1 sudo killall GrowlHelperApp open /Library/PreferencePanes/Growl.prefPane/Contents/Resources/GrowlHelperApp.app EDITde3: File moi par MP ton contact iChat
Recommended Posts
Archived
This topic is now archived and is closed to further replies.