2013-07-22 3 views
0

Я написал этот маленький скрипт, чтобы показать текущий трек, воспроизводимый на xmms2, в виджере уведомлений с использованием клиента xmms и pynotify, поэтому, когда я его запускаю, я вижу виджет всплывающего окна с текущим исполнителем и названием, используя методы xmmsclient.xmms2 обнаружение изменения дорожки для pynotify?

Может ли кто-нибудь дать подсказки о том, как обнаружить изменение дорожки, чтобы автоматически уведомлять об этом без необходимости запуска скрипта вручную?

ответ

1

Вы подключаете библиотеку клиентов к основному циклу и регистрируетесь в качестве слушателя через метод broadcast_ playback_current_id. Если вы хотите, чтобы текущий проигрываемый идентификатор запускался также, вы можете вызвать метод playback_current_id.

Вот небольшая адаптация tutorial6 in the xmms2-tutorial.git, которая использует GLib MainLoop для привода соединения:

import xmmsclient 
import xmmsclient.glib 
import os 
import sys 
import gobject 

def cb(result): 
    if not result.is_error(): 
     print "Current: %(artist)s - %(title)s" % result.value() 


ml = gobject.MainLoop(None, False) 

xc = xmmsclient.XMMS("stackoverflow") 
xc.connect() 

conn = xmmsclient.glib.GLibConnector(xc) 
xc.broadcast_playback_current_id(lambda r: xc.medialib_get_info(r.value(), cb)) 
ml.run() 
+0

Ницца, я не далеко от вашего ответа, спасибо большое! – deadPoet

Смежные вопросы