AmpliPi icon indicating copy to clipboard operation
AmpliPi copied to clipboard

Feature: Add SiriusXM Stream

Open linknum23 opened this issue 3 years ago • 5 comments

@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

linknum23 avatar Jul 06 '22 16:07 linknum23

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.

vszander avatar Jul 07 '22 00:07 vszander

Added a TODO list based on my current understanding of the Task

linknum23 avatar Jul 07 '22 18:07 linknum23

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 .

vszander avatar Jul 08 '22 00:07 vszander

Added the scraping method.

linknum23 avatar Jul 08 '22 15:07 linknum23

A more up to date fork is: https://github.com/Nintendult/SiriusXM

linknum23 avatar Feb 27 '23 18:02 linknum23