dhrone / pydPiper

A general purpose program to display song metadata on LCD and OLED devices
MIT License
78 stars 36 forks source link

Shairport-sync data source (non-Volumio) #40

Open davidjroos opened 5 years ago

davidjroos commented 5 years ago

Volumio works to display airplay content (not sure exactly how), and pydPiper works with it subsequently.

But volumio has a variety of options, and moOde, max2olay etc users are out in the cold.

Shairplay-sync has the ability to provide metadata: https://github.com/mikebrady/shairport-sync-metadata-reader

An example project here: https://github.com/luckydonald/shairport-decoder

Any chance? :)

dhrone commented 5 years ago

Producing a driver that pulls data from Shairplay-sync would be possible. That said, there is already support for Mo0de and max2play. Is the issue specifically metadata for Spotify?

davidjroos commented 5 years ago

[edit]

I might just be showing my ignorance of Moode here: it seems that it should be collecting and presenting airplay metadata, and it working this was negates the need for what I have requested above. I will look into this some more

[/edit]

The support exists for when moOde and max2play are playing 'their' songs via MPD only tough, right? There is no way for the pydPiper script to show the track details from the moOde Airplay instance (or did I miss that somehow? It doesn't appear to do anything when I try)

Thinking though, an shairport-sync only input wouldn't really help me, as then pydPiper would need to be set to that, and not MPD, meaning that it would only show track details from airplay and not moOde - is that correct?

remy1961 commented 5 years ago

Hi. Looks like we have the same concern. I asked the question to Tim, the creator of moode audio. The link given in your post contains interesting information. Remy

davidjroos commented 5 years ago

Right so it has been removed at some point. I've +1'd your thread

dhrone commented 5 years ago

Under the covers, pydPiper is able to pull information from multiple metadata sources so accessing MPD and shairport-sync data would not be a problem. I'd just need to code a new source for shairport-sync. I haven't looked that deeply into Moode though. Does it in fact use shairport-sync for it's airport support and if yes is it configured to produce metadata?

dhrone commented 5 years ago

I forgot to mention, Moode can provide metadata by writing out a file every three seconds with the current information. Unfortunately, the file does not contain the data that would be needed to calculate the elapsed, elapsed_formatted and remaining data fields. This is why pydPiper currently pulls the data directly from MPD for Moode installations.

davidjroos commented 5 years ago

Yes I found that option and have enabled, but it doesn't produce anything when airplay is active - moOde owner indicated he would just set it to say "airplay" in v4.3 coming out (shortly?)

Having pydPiper able to pick up mpd track data through moOde as well as shairport-sync track simultaneously would be amazing! I personally only care about 'artist'+'track title' but understand others care about other details...

Everything I see indicates Shairport-sync, it's running in the processes and listening on port 5000

pi@moode:~ $ shairport-sync -v
Value read for output rate is 44100.
alsa output device name is "default".
Version: "3.1.7-OpenSSL-Avahi-ALSA-stdout-soxr-metadata-sysconfdir:/usr/local/etc"
statistics_requester status is 0.
daemon status is 0.
deamon pid file is "/var/run/shairport-sync/shairport-sync.pid".
rtsp listening port is 5000.
udp base port is 6001.
udp port range is 100.
player name is "Moode".