filyb.info

mercredi 3 janvier 2007

gmmkeys 0.2 : touches multimédia de Gnome dans Amarok

Je vous avais déjà parlé d'un plugin Amarok pour que ce dernier gère les touches multimédia de Gnome, et j'en avais publié un prototype.

Désormais, le code a été poli, le script correctement empaqueté, et publié sur kde-apps.org est disponible en version 0.2.

Si vous souhaitez le télécharger, l'archive est ici : gmmkeys.amarokscript.tar.bz2, mais le plus simple reste encore de le récupérer directement via Amarok (Outils > Gestionnaire de scripts > Obtenir plus de scripts).

Comme le prototype, ce plugin utilise un module binaire mmkeys.so provenant de Exaile. Mon archive propose le module compilé pour i386, pour les autres architectures, vous pouvez utiliser les modules compilés pour le projet Exaile, ou le compiler à l'aide du code source présent dans celui d'Exaile.

mercredi 27 septembre 2006

Touches multimédia pour Amarok sous Gnome

Imaginez que vous venez de passer sous Gnome, mais que vous ne pouvez pas vous passer du lecteur de musique Amarok, car ni Listen, ni Exaile ne font le poids.

Mais contrairement à ces deux derniers, Amarok n'est pas capable d'être affecté par les raccourcis clavier Gnome concernant les lecteurs de médias (Lecture, Pause, etc.). Et - bien sûr - vous avez un clavier avec des touches multimédia, parfaitement gérées par Gnome. Et vous aimeriez que cela fonctionne aussi avec Amarok... Il existe sûrement des solutions consistant à aller récupérer quelque part les codes de ces fameuses touches, et charger un programme au démarrage de la session pour lancer une commande lors de la pression de ces touches - mais pourquoi ne pas plutôt intégrer Amarok dans Gnome en le faisant réagir aux raccourcis de Gnome ?

Pour faire cela, je suis allé fouiner dans le code source d'Exaile, qui est écris en Python. Celui-ci utilise un module python écris en C, nommé mmkeys, qui permet de connecter des fonctions pythons aux raccourcis clavier de Gnome. J'ai donc écris un script Amarok en Python utilisant ce module. Voici la procédure d'installation :

  1. Vous devez installer en premier les programmes suivants : Amarok, Python et PyGTK (paquet python-gtk2 sous Ubuntu). Vous devez aussi avoir dans un coin le fichier mmkeys.so. La façon la plus simple est d'installer Exaile, mon script l'utilise depuis l'installation d'Exaile. Vous pouvez aussi chercher ses sources dans l'archive d'Exaile, et le compiler vous-même (dans ce cas n'oubliez pas de changer le dossier dans le script).
  2. Vérifiez l'existence du dossier des scripts d'Amarok : mkdir ~/.kde/share/apps/amarok/scripts
  3. Téléchargez le script gnomemm.py :

    #! /usr/bin/python
    
    # Path for searching mmkeys
    import sys
    sys.path.append('/usr/share/exaile')
    # Import others modules
    import signal
    import os
    import mmkeys
    import gtk
    
    # amarok mm functions
    def previous(a, b):
        """Go to the amarok previous track"""
        print "prev"
        os.system("dcop amarok player prev")
        
    def next(a, b):
        """Go to the amarok next track"""
        print "next"
        os.system("dcop amarok player next")
        
    def stop(a, b):
        """Stop amarok"""
        print "stop"
        os.system("dcop amarok player stop")
    
    def playpause(a, b):
        """Play or pause amarok"""
        print "play/pause"
        os.system("dcop amarok player playPause")
    
    # misc functions
    def end(signum, frame):
        print 'Script was terminated.'
        sys.exit()
    
    # connect gnome mmkeys to functions
    keys = mmkeys.MmKeys()
    keys.connect("mm_prev", previous)
    keys.connect("mm_next", next)
    keys.connect("mm_stop", stop)
    keys.connect("mm_playpause", playpause)
     
    signal.signal(signal.SIGTERM, end)
    
    gtk.main()
    

    Par exemple par la commande : wget http://filyb.info/prog/sh/gnomemm.py.txt && mv gnomemm.py.txt gnomemm.py

  4. Copiez ce script dans le dossier des scripts d'Amarok : cp gnomemm.py ~/.kde/share/apps/amarok/scripts
  5. Rendez exécutable ce script : chmod +x ~/.kde/share/apps/amarok/scripts/gnomemm.py
  6. Lancez Amarok, allez dans Outils > Gestionnaire de scripts, et lancez gnomemm.
  7. Testez !

Si j'ai le temps et le courrage, je ferai un joli package incluant le fichier mmkey.so, installable dans Amarok depuis internet, tout ça...

mercredi 6 septembre 2006

En vrac

dimanche 3 septembre 2006

Permettre à Amarok de gérer les balados (podcasts) Itunes dans Mozilla Firefox

Vous avez peut-être remarquez sur certains sites des balados (podcasts) utilisant le protocole itpc, pour Itunes Podcast (signalé par cette image : Icône des balados itunes). Si vous désirez que ceux-ci soient ajoutés dans Amarok à l'aide d'un clique dans Mozilla Firefox, suivez la procédure suivante :

  1. Ouvrez une fenêtre/un onglet dans Mozilla Firefox, et entrez l'adresse suivante : about:config.
  2. Faites un clique droit dans la liste, puis Nouvelle > Valeur booléenne.
  3. Entrez comme nom :

    network.protocol-handler.external.itpc

    Et comme valeur True.

  4. Faites un clique droit dans la liste, puis Nouvelle > Chaîne de caractères.
  5. Entrez comme nom :

    network.protocol-handler.app.itpc

    Et comme valeur, l'emplacement de l'exécutable d'Amarok, par exemple :

    /usr/bin/amarok

Désormais, vous pourrez cliquer sur un icône de balados, par exemple celui des émissions de Là-bas si j'y suis. Le balados sera automatiquement ajouté dans Amarok. Notez que la première fois que vous le ferez, un message vous avertira que vous utilisez un logiciel externe. Vous pouvez cocher la case pour que ce message ne s'affiche plus.

mercredi 5 juillet 2006

Ouvrir les radios last.fm dans Amarok depuis Mozilla Firefox et Konqueror

La nouvelle version d'Amarok (1.4.1) permet de lire les radios last.fm en se passant de scripts. Mais comment faire qu'un clique sur une radio sur le site de last.fm lance sa lecture dans Amarok ? Nous verrons la solution tant dans Mozilla Firefox que dans Konqueror.

Mozilla Firefox

Tout d'abord, rendez-vous sur la page about:config (entrez cela dans votre barre d'adresse, le mieux étant d'ouvrir un nouvel onglet ou une nouvelle fenêtre).

Note : si vous aviez déjà une intégration des radios last.fm dans Mozilla Firefox (faite manuellement, ou via le script LastamaroK, par exemple), au lieu de créer les variables demandées, faites une recherche avec le nom de ces variables (en les inscrivants dans la barre en haut de la page), et modifiez leur valeur comme demandé.

  1. Créez une nouvelle valeur de type booléen (clique droit > nouveau > booléen), avec pour nom :

    network.protocol-handler.external.last.fm

    et pour valeur :

    true

  2. Créez une nouvelle valeur de chaîne de caractères (clique droit > nouveau > chaîne de caractères), avec pour nom :

    network.protocol-handler.app.lastfm

    et pour valeur l'emplacement de la commande Amarok, chez moi :

    /usr/bin/amarok

Et vous pouvez tester directement, ça devrai marcher. Il est possible que Mozilla Firefox vous demande si vous êtes vraiment sûr de vouloir lancer Amarok, faites moi confiance et répondez : Oui, je le veux (en cochant la case tout le temps).

Ces paramètres sont entrez dans le profil courant. Si vous utilisez plusieurs profils, ou que vous voulez répéter cette manipulation pour plusieurs utilisateurs, vous devez recommencer pour chaque profil.

Konqueror

Ouvrez votre éditeur de texte préféré (kwrite, gedit, vim, emacs, nano, OpenOffice.org Writer), créez un nouveau fichier et entrez ce qui suit :

[Protocol]
exec="/usr/bin/amarok %u"
protocol=lastfm
input=none
output=none
helper=true
listing=false
reading=false
writing=false
makedir=false
deleting=false
Icon="/usr/share/apps/amarok/icons/hicolor/22x22/actions/amarok_audioscrobbler.png"

Vous pouvez remplacer /usr/bin/amarok par le chemin de votre exécutable Amarok, et l'icône de la dernière ligne (j'ai pris l'icône des radios last.fm d'Amarok).

Enregistrez ce fichier dans le dossier :

/home/login/.kde/share/services

sous le nom :

lastfm.protocol

Remplacez bien sûr login par votre nom d'utilisateur dans le chemin du dossier. Notez que vous aurez peut-être besoin d'afficher les dossier cachés pour trouver le dossier .kde. Si le fichier existe déjà (une précédente intégration, avec le script LastamaroK, par exemple), remplacez-le.

Vous devrez peut-être redémarrer Konqueror ou KDE pour que la manipulation prenne effet.

Cette manipulation n'est valide que pour un utilisateur. Si vous voulez l'utiliser pour plusieurs utilisateurs, répétez la manipulation.

- page 1 de 2