import xmmsclientimport xmmsclient.glib as xgimport xmmsclient.collections as xcimport osimport gobjectloop = gobject.MainLoop()xmms = xmmsclient.XMMS("pygnt-test")xmms.connect(os.getenv("XMMS_PATH"))conn = xg.GLibConnector(xmms)def got_list_of_songs_in_pl(result): list = result.value() for p,song in enumerate(list): def _(p,song): def got_song_details(result): info = result.value() def safe(ar, at): try: return str(ar[at]) except: return "" position = str(p) # XXX: This does NOT work title = safe(info, 'title') artist = safe(info, 'artist') album = safe(info, 'album') time = safe(info, 'time') # XXX: What should I really use? print position, " | ", title, " | ", artist, " | ", album, " | ", time # song is the medialib id xmms.medialib_get_info(song, _(p,song))xmms.playlist_list_entries(None, got_list_of_songs_in_pl)loop.run()