Feature: Add SiriusXM Stream
@vszander has been using https://github.com/andrew0/SiriusXM in combination with our internetradio stream to add basic support for SiriusXM stations and prototyping the integration here. A new Stream type will need to be added to enable support for multiple streams and simplify the station selection. Here's a checklist of what needs to be done:
- [ ] Test multiple simultaneous SiruisXM streams each playing on a different source
- [ ] Can 2 sources have the same station?
- [ ] How many sources can play different stations? Hopefully 4!
- [ ] Add a SiruisXM Stream class, this will likely piggy back off of internet radio since they both use VLC behind the scenes
- [ ] Automate launching the SiriusXM stream server, we will need to add something that only launches it if it doesn't exist. It looks like only one server is needed per AmpliPi
- [ ] Investigate song metadata, it looks like a scraper is available here
Thanks, Lincoln. I posted my solution (complete with instructions) in my github repo. If anyone is interested in participating in this stream type, feel free to follow that repository.
Added a TODO list based on my current understanding of the Task
I was originally under the impression that SiriusXM would only allow one streaming connection at a time / per subscription. Usually, if I was streaming on my computer - then switched to the SXM app on my phone, the app would alert me with a notification that I was about to terminate the previous session if I chose to continue. This would then be a problem with your first task - as I didn't expect that it would allow multiple simultaneous streams.
But, today while I left my AmpliPi streaming, I connected and listened on my phone. It didn't give me the warning I expected; and I returned a few hours later and the SXM stream was working and on the same channel I had left it on. I was surprised.
Let's do some testing and you can point me in a good direction for integration (especially on the other tasks ).
Also, anyone can signup for a 'promotional' account ( currently 3 months for $1 ) here. All of the cars I've purchased in the last few years have this option - and the streaming service, referenced here, is included.
One task I would add is: 'Now Playing' / Metadata. There is currently no API for this streaming service. However, I think (after I get some integration guidance from you) - I can adapt this 'scraping' method .
Added the scraping method.
A more up to date fork is: https://github.com/Nintendult/SiriusXM