mirror of
https://github.com/badaix/snapcast
synced 2025-02-22 14:54:30 +01:00
.. | ||
airplay_stream.cpp | ||
airplay_stream.hpp | ||
alsa_stream.cpp | ||
alsa_stream.hpp | ||
asio_stream.hpp | ||
control_error.cpp | ||
control_error.hpp | ||
file_stream.cpp | ||
file_stream.hpp | ||
jack_stream.cpp | ||
jack_stream.hpp | ||
librespot_stream.cpp | ||
librespot_stream.hpp | ||
meta_stream.cpp | ||
meta_stream.hpp | ||
metadata.cpp | ||
metadata.hpp | ||
pcm_stream.cpp | ||
pcm_stream.hpp | ||
pipe_stream.cpp | ||
pipe_stream.hpp | ||
process_stream.cpp | ||
process_stream.hpp | ||
properties.cpp | ||
properties.hpp | ||
README.meta | ||
stream_control.cpp | ||
stream_control.hpp | ||
stream_manager.cpp | ||
stream_manager.hpp | ||
stream_uri.cpp | ||
stream_uri.hpp | ||
tcp_stream.cpp | ||
tcp_stream.hpp | ||
watchdog.cpp | ||
watchdog.hpp |
Metadata tags ============= The metatag interface will propegate anything to the client, ie no restrictions on the tags. But, to avoid total confusion in the tag display app (like Kodi), we need some groundrules. My suggestion is to stick with the Vorbis standard as described in: http://www.xiph.org/vorbis/doc/v-comment.html https://wiki.xiph.org/Field_names In addition we should accept unique identifiers of the stream such as Spotify track ID or MusicBrainz id which can be used to lookup additional information online. Example: ARTIST: Pink Floyd ALBUM: Dark Side of the Moon TITLE: Money METADATA_BLOCK_PICTURE: base64 (https://xiph.org/flac/format.html#metadata_block_picture) Parsing tags from streams ========================= I've implemented parsing tags from Librespot, but, as Librespot doesn't export anything more than track title I added a patch 'librespot-meta.patch' to apply to get artist/title. TBH, the meta tag output from players are a mess, neither Librespot nor Shairport-sync associate metadata with their audio interfaces, ie they don't even export metadata when the audio interface supports it, at least Shairport-sync exports a ritch set of data. So, to get artist/album apply the patch to librespot and recompile, otherwise you will only get the track title. Or, you can build librespot from https://github.com/frafall/librespot.git