Since the old version was found useful by at least one other person than me (and actually I think it showed up in some other project as well) I'm making a new version of my python module for interacting with xmms and its descendants available. I just wrote it now so I haven't, I'm sure, caught all the bugs. The motivation behind this is that the new version of audacious no longer supports the simple socket- or ctypes-based method of remote interaction (the xmmsctrl.h/beepctrl.h era), and only supports dbus, which, like their decision to use XSPF instead of M3U playlists, probably is has technical justifications but is mostly annoying to me. (Actually the ability of dbus to send out notifications is likely to be extremely useful, so.) The new version (witness my incredible source control system in action!) can interact, using the same interface, to either dbus- or non-dbus-using xmms descendants, though I've only actually tested parts of the dbus interface and that only with audacious—despite the supposed existence of a standard dbus interface for media players, I wouldn't be a bit surprised if the different players (xmms2 supposedly also has a dbus interface, as does bmpx, which—holy moly—interfaces with soulseek) actually work differently.
None of the notification capabilities of the dbus players are reflected in the code; this is partially a stopgap to enable my old tools to continue working. However, it wouldn't be difficult at all to add that stuff.
An annoyance: with the ctypes method, one could have a daemon running without needing to check whether or not audacious was running. But with dbus you need to wait until the relevant app is running to connect.
Comments