Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Conky + Banshee?  (gelezen 1583 keer)

Offline JSMT

  • Lid
Conky + Banshee?
« Gepost op: 2009/05/29, 17:34:33 »
Hallo,

Ik heb Conky geinstalleerd en het werkt allemaal gewoon goed, maar ik zou nog graag één ding willen toevoegen en dat is: De naam van de artiest en het nummer en misschien de Albumart weergeven in Conky. Ik gebruik voor het muziek spelen Banshee. Is dat misschien mogelijk?

Alvast bedankt

JSMT

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Conky + Banshee?
« Reactie #1 Gepost op: 2009/05/29, 17:48:13 »
Een tijdje terug heb ik dat opgelost via een los Python script.
Sla de volgende code op in je home map, onder bijvoorbeeld de naam banshee-conky.py

#!/usr/bin/env python

# http://ubuntuforums.org/showpost.php?p=7115805&postcount=20
 
import sys,os,dbus

if sys.argv[1] == "--help":
print("Usage: <script> --artist | --name | --album | --percent | --track")
else:
rc = os.system( "ps -ef | grep -v grep | grep -c 'banshee' > /dev/null" )

if rc == 0:


    bus = dbus.SessionBus()
    banshee = bus.get_object("org.bansheeproject.Banshee", "/org/bansheeproject/Banshee/PlayerEngine")
   
    state = banshee.GetCurrentState()

    if state == 'playing':
   
        if sys.argv[1] == "--artist":
            print(banshee.GetCurrentTrack()['artist'])

        elif sys.argv[1] == "--name":
            print(banshee.GetCurrentTrack()['name'])

        elif sys.argv[1] == "--album":
            print(banshee.GetCurrentTrack()['album'])

        elif sys.argv[1] == "--percent":
            print(100*banshee.GetPosition()/banshee.GetLength())

        elif sys.argv[1] == "--track":
            print(banshee.GetCurrentTrack()['track-number'])

        elif sys.argv[1] == "--percent":
            print(100*banshee.GetPosition()/banshee.GetLength())

        elif sys.argv[1] == "--status":
            print(state)
    else:
        if sys.argv[1] == "--status":
            print(state)
else:
        print "Banshee not running"
Vervolgens ga je met de bestandsbeheerder naar je home map en rechtsklik je op het bestand.
Daarna kies je voor eigenschappen. In het 3e tabblad zet je een vinkje, zodat het programma uitgevoerd mag worden.

Nu kan je het script in Conky gebruiken op de standaardmanier ( $exec of $execi )
Je kan het ook rechtstreeks in de terminal uitvoeren:
./banshee-conky.py --help
Hiermee zie je de opties.

Je kan de volgende opties gebruiken:
--artist
--name
--album
--percent
--track

Ze spreken wel voor zich denk ik ;)
het script is niet perfect, maar werkt hier prima.

Album art is niet mogelijk in Conky, omdat het alleen maar tekst weer kan geven, geen plaatjes.

Offline JSMT

  • Lid
Re: Conky + Banshee?
« Reactie #2 Gepost op: 2009/05/29, 20:25:48 »
Ok. Ik heb het geprobeerd, maar ik het het volgennde probleem:

Als ik m'n laptop opnieuw opstart dan komt er in het begin er wel bij te staan als ik nog geen internet verbinding heb, maar als de info over m'n internet verbinding heb dan gaat de muziek weer weg.

Iemand een idee?

Offline JSMT

  • Lid
Re: Conky + Banshee?
« Reactie #3 Gepost op: 2009/05/30, 08:22:41 »


Zoals je ziet is Banshee wel aan, maar doet Conky het niet. Misschien moet je Conky refreshen ofzo?

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Conky + Banshee?
« Reactie #4 Gepost op: 2009/05/30, 16:11:11 »
Zie je wel de goede info als je conky afsluit en weer opnieuw start?
"killall conky" intikken in de terminal vind ik het makkelijkst om hem af te schieten.

Offline JSMT

  • Lid
Re: Conky + Banshee?
« Reactie #5 Gepost op: 2009/05/30, 16:34:40 »
Nee nog steeds hetzelfde resultaat :S

Ik heb hem al wel werkend gekregen met dit scripteje:

${exec banshee-1 --query-artist}
${exec banshee-1 --query-title}
${exec banshee-1 --query-album}

Alleen ik zou er wel graag zon progressbar bij willen hebben en dat kan niet met dat scriptje en wel met die andere, maar die werkt niet