我已经编写了这个小脚本来显示使用xmms客户端和pynotify在通知小部件上播放xmms2的当前曲目,因此当我运行它时,我可以使用xmmsclient方法查看具有当前艺术家和标题的小部件弹出窗口。
有人可以提供一些关于如何检测跟踪更改以自动通知而不必手动运行脚本的提示吗?
答案 0 :(得分:1)
将客户端库连接到主循环,并通过broadcast_ playback_current_id方法注册为侦听器。如果您希望脚本启动时当前正在播放的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()