From f9c25c0e7110689cc1781e4f57a352ebc6de7c78 Mon Sep 17 00:00:00 2001 From: OzGav Date: Thu, 24 Jul 2025 16:48:16 +1000 Subject: [PATCH 1/7] Add bbc sounds --- mkdocs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/mkdocs.yml b/mkdocs.yml index 836ccd85d..9ecc6de27 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -41,6 +41,7 @@ nav: - Apple Music: music-providers/apple-music.md - Audible: music-providers/audible.md - Audiobookshelf: music-providers/audiobookshelf.md + - BBC Sounds: music-providers/bbc-sounds.md - Builtin: music-providers/builtin.md - Deezer: music-providers/deezer.md - gPodder: music-providers/gpodder.md From 6f9f64e1bca3d94d5e9855d4ca1c4cb691afbde9 Mon Sep 17 00:00:00 2001 From: OzGav Date: Thu, 24 Jul 2025 16:54:18 +1000 Subject: [PATCH 2/7] Create bbc-sounds.md --- docs/music-providers/bbc-sounds.md | 40 ++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 docs/music-providers/bbc-sounds.md diff --git a/docs/music-providers/bbc-sounds.md b/docs/music-providers/bbc-sounds.md new file mode 100644 index 000000000..f0f0e5a26 --- /dev/null +++ b/docs/music-providers/bbc-sounds.md @@ -0,0 +1,40 @@ +# BBC Sounds Provider ![Preview image](../assets/icons/bbcsounds-icon.png){ width=70 align=right } + +Music Assistant has support for streaming from BBC Sounds. Contributed and maintained by [Keiran Hogg](https://github.com/keiranhogg) + +!!! note + A paid subscription is required for this provider + +## Features + +| | | +|:-----------------------|:---------------------:| +| Subscription FREE | Yes | +| Self-Hosted Local Media | No | +| Media Types Supported | ???? | +| [Recommendations](../ui.md#view-home) Supported | No | +| Lyrics Supported | No | +| [Radio Mode](../ui.md#track-menu) | No | +| Maximum Stream Quality | Lossy, AAC-LC(320kbps) | +| Login Method | Password | + +### Other + +- The + +## Configuration + +To set up the BBC Sounds provider, follow these steps: + +1. Select the ions. +2. Click the "vider. + +Note: If you need to re-authenticate or change the marketplace, you will have to go through the authentication process again. + +## Known Issues / Notes + +- Last playback position is not currently reported back to ered devices during development, it's worth noting that Audible has various content license requirements. If a user has material with a device license restriction then having many registered devices might cause issues + +## Not Yet Supported + +- Browsing From b4909e3c3d3f86b7dbc4b093f22908523bda7134 Mon Sep 17 00:00:00 2001 From: OzGav Date: Thu, 24 Jul 2025 20:12:16 +1000 Subject: [PATCH 3/7] Add files via upload --- docs/assets/icons/bbcsounds-logo.png | Bin 0 -> 31221 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/assets/icons/bbcsounds-logo.png diff --git a/docs/assets/icons/bbcsounds-logo.png b/docs/assets/icons/bbcsounds-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..43d84fd5933f9f0a153cefa007ffcd34d17c8c6b GIT binary patch literal 31221 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 literal 0 HcmV?d00001 From a8431ce927893418eee08d4102a515705c5c7f07 Mon Sep 17 00:00:00 2001 From: OzGav Date: Thu, 24 Jul 2025 20:13:03 +1000 Subject: [PATCH 4/7] Update bbc-sounds.md --- docs/music-providers/bbc-sounds.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/music-providers/bbc-sounds.md b/docs/music-providers/bbc-sounds.md index f0f0e5a26..c5c5fdabe 100644 --- a/docs/music-providers/bbc-sounds.md +++ b/docs/music-providers/bbc-sounds.md @@ -1,4 +1,4 @@ -# BBC Sounds Provider ![Preview image](../assets/icons/bbcsounds-icon.png){ width=70 align=right } +# BBC Sounds Provider ![Preview image](../assets/icons/bbcsounds-logo.png){ width=70 align=right } Music Assistant has support for streaming from BBC Sounds. Contributed and maintained by [Keiran Hogg](https://github.com/keiranhogg) From 8f7ab6f484674ef24a0419902e3a5d82b5ed62ea Mon Sep 17 00:00:00 2001 From: OzGav Date: Thu, 30 Oct 2025 00:08:25 +1100 Subject: [PATCH 5/7] Revise BBC Sounds provider details and features Updated BBC Sounds provider documentation to reflect new features and configuration options. --- docs/music-providers/bbc-sounds.md | 36 ++++++++++++++++++------------ 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/docs/music-providers/bbc-sounds.md b/docs/music-providers/bbc-sounds.md index c5c5fdabe..419b4baa0 100644 --- a/docs/music-providers/bbc-sounds.md +++ b/docs/music-providers/bbc-sounds.md @@ -2,39 +2,47 @@ Music Assistant has support for streaming from BBC Sounds. Contributed and maintained by [Keiran Hogg](https://github.com/keiranhogg) -!!! note - A paid subscription is required for this provider - ## Features | | | |:-----------------------|:---------------------:| | Subscription FREE | Yes | | Self-Hosted Local Media | No | -| Media Types Supported | ???? | -| [Recommendations](../ui.md#view-home) Supported | No | +| Media Types Supported | Radio, Podcasts | +| [Recommendations](../ui.md#view-home) Supported | Yes | | Lyrics Supported | No | | [Radio Mode](../ui.md#track-menu) | No | | Maximum Stream Quality | Lossy, AAC-LC(320kbps) | -| Login Method | Password | +| Login Method | None | ### Other -- The +- Stream live BBC radio shows, podcast series and on-demand audio +- Shows the currently playing song when streaming radio stations +- Access your personalised BBC Sounds content* +- Keeps your My Sounds listen history up to date with your Music Assistant activity* -## Configuration +*Requires a logged in BBC account -To set up the BBC Sounds provider, follow these steps: +## Configuration -1. Select the ions. -2. Click the "vider. +The provider works without a login, but you will be restricted to the limited International version of the Sounds menu -Note: If you need to re-authenticate or change the marketplace, you will have to go through the authentication process again. +### Settings +- Enable UK Sounds content. This toggle should be selected on for UK based listeners to unlock the full catalogue +- Username and Password. A BBC Sounds account is optional, but some UK-only content may not work without being logged in +- Advanced - Show local radio stations Define the maximum stream bitrate +- Advanced - Show 'now playing' details Show details of the currently playing track instead of the station details +- Advanced - Player update interval (seconds) How often to check for now playing updates +- Advanced - Show recommendations BBC Sounds has several recommendation categories, configure if and where these are shown ## Known Issues / Notes -- Last playback position is not currently reported back to ered devices during development, it's worth noting that Audible has various content license requirements. If a user has material with a device license restriction then having many registered devices might cause issues +The full functionality is enabled when you are a UK-based listener, and signed in to your BBC account. The BBC has slowly been moving towards excluding non-UK listeners from using its Sounds platform, more details [here](https://www.bbc.co.uk/sounds/help/questions/listening-outside-the-uk/outside-uk-changes). This provider currently allows access to live and catch up radio to International listeners via the Sounds API, but this could be restricted in the future. ## Not Yet Supported -- Browsing +- Pausing and seeking live radio +- The international menu should show avaiable podcasts, this will be supported in a future release, but is not currently +- Showing the currently playing song on catch-up +- For signed-in users, accessing your subscribed content through the library is not yet supported, but is planned From 5fdbd5be5f475aaf722389a83ea51f019bc0018e Mon Sep 17 00:00:00 2001 From: OzGav Date: Thu, 30 Oct 2025 00:23:48 +1100 Subject: [PATCH 6/7] Update media types and login method for BBC Sounds --- docs/music-providers/bbc-sounds.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/music-providers/bbc-sounds.md b/docs/music-providers/bbc-sounds.md index 419b4baa0..002486c69 100644 --- a/docs/music-providers/bbc-sounds.md +++ b/docs/music-providers/bbc-sounds.md @@ -8,12 +8,12 @@ Music Assistant has support for streaming from BBC Sounds. Contributed and maint |:-----------------------|:---------------------:| | Subscription FREE | Yes | | Self-Hosted Local Media | No | -| Media Types Supported | Radio, Podcasts | +| Media Types Supported | Tracks, Radio, Podcasts | | [Recommendations](../ui.md#view-home) Supported | Yes | | Lyrics Supported | No | | [Radio Mode](../ui.md#track-menu) | No | | Maximum Stream Quality | Lossy, AAC-LC(320kbps) | -| Login Method | None | +| Login Method | None or Password | ### Other From 3688f1ef7d48764feadbd851dd87fd0459e9f389 Mon Sep 17 00:00:00 2001 From: OzGav Date: Thu, 30 Oct 2025 07:50:48 +1000 Subject: [PATCH 7/7] Bad spelling --- docs/music-providers/bbc-sounds.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/music-providers/bbc-sounds.md b/docs/music-providers/bbc-sounds.md index 002486c69..b4ee2c4c2 100644 --- a/docs/music-providers/bbc-sounds.md +++ b/docs/music-providers/bbc-sounds.md @@ -1,6 +1,6 @@ # BBC Sounds Provider ![Preview image](../assets/icons/bbcsounds-logo.png){ width=70 align=right } -Music Assistant has support for streaming from BBC Sounds. Contributed and maintained by [Keiran Hogg](https://github.com/keiranhogg) +Music Assistant has support for streaming from BBC Sounds. Contributed and maintained by [Kieran Hogg](https://github.com/kieranhogg) ## Features