Airplay 'Now Playing' module - help badly needed
I’m just dropping by to express my encouragement for this effort! I would love to have a now-playing module that used the shairport-sync metadata
Are there any updates to this module?
I’m also interested in the development of this module.
I’ve started to recompile Shairport-sync so it can write a plain .TXT file with the metadata each time a new song is detected, now I have to read the last line of this TXT file through a MM-module. But I don’t know if this is the right direction, editing the core of Shairport-sync seems like a bad idea (no updates, etc). I wish I could read metadatas via the pipe in a less complex way. Anyone has worked on this ? Thanks !
ANNOUNCE: Check out https://github.com/surekap/MMM-ShairportMetadata
Its my first attempt at writing anything in node.js so I basically wrote a python script to translate the XML from shairport-sync into json objects.
The module manages a child process which pipes the XML to the Py script and reads the json and displays it.
Thanks a lot @surekap for this amazing module. It works !
Quick suggestions :
- hide the module if no airplay device is connected / no song playing
- align text & image on left/right depending on the module position (currently both centered in its container)
@Brice changes made. Check out the “alignment” config option.
The hide behaviour is not perfect - takes a few seconds to hide the module - this is because we issue the hide command in case of ‘pfls’ [play flush] and ‘pend’ [play end] metadata commands. Unfortunately, the ‘pfls’ command is followed up with fresh metadata and it takes a few seconds for the ‘pend’ to come from the iPhone.
Tested with playing and pausing repeatedly.