Aller au contenu

[Tuto]Afficher la musique en cours dans Adium


nemesis93_75

Messages recommandés

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 :modoreussi:

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.

:byebye: (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 :transpi: )

Lien vers le commentaire
Partager sur d’autres sites

Oui je pense qu'il marche avec iChat, je vais tester de suite pour voir et je te dis quoi :transpi:

EDIT: Marche très bien avec iChat ;)

Yay ! :transpi:

EDIT : Bon bah ça marche pas avec moi (j'utilise plus Adium donc j'ai pas test avec) avec iChat :transpi:

Voilà ce qu'il se passe dans mon Terminal :transpi:

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 :/

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

J'installe Chax pour voir :francais:

Je pense pas que le thème ai un rapport :incline:

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 :francais: )

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 ;)

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...