WiiM Pro, Raspberry Pi 4 8GB

Following a nudge from @d6jg of this parish on the back of a post here about using a python server to display track details iirc, the author of the Radio Now Playing (RNP) plugin on LMS Paul Webster enhanced it to pick up the metadata from a stream playing on a WiiM device and display album art etc in LMS itself. It works by getting LMS to play from the piCorePlayer audio input which in my case was null - it just acts as a means to allow RNP to inspect the WiiM stream.

The screenshots below are from me playing Amazon Music on my Ultra and then instructing LMS to “play” the pcp input stream via a favourite with the url http://lmshost:9100/S16_LE/44100/2/F/?rnptype=wiim&player=wiim1&ip=192.168.x.xxx

It relies on using RNP 0.0.47 and LMSv9 I understand.

I’m sure @d6jg can explain the background etc more eloquently than I’ve done here. I may also drop a note to the author asking if they can pick up the bit depth etc from the WiiM stream itself rather than the pcp audio input and display that too.

View attachment 14697
View attachment 14699
In the screenshot Burnside is displaying the info from the Music & Artist Information plugin which also works if installed.
 
Music & Artist Information plugin which also works if installed.
In fact this enhancement to the RNP plugin on LMS opens up the possibility to use a range of other LMS plugins with the audio input from a Wiim.
For example, an RPi running PCP taking input from a Wiim Mini means I can cast to Airplay ,Chromecast , or DLNA/UPnP endpoints on my network from the Mini.
I can also bring up a now playing screen for the Mini on any device on my network that supports a web browser.
Kudos to @d6jg for being instrumental in getting this change developed and helping with the testing.
 
Last edited:
In fact this enhancement to the RNP plugin on LMS opens up the possibility to use a range of other LMS plugins with the audio input from a Wiim.
For example, an RPi running PCP taking input from a Wiim Mini means I can cast to Airplay ,Chromecast , or DLNA/UPnP endpoints on my network from the Mini.
I can also bring up a now playing screen for the Mini on any device on my network that supports a web browser.
Kudos to @d6jg for being instrumental in getting this change developed and helping with the testing.
If I am interpreting this post correctly then does this mean RPi LMS users now have a means of being able to AirPlay cast - as well as Chromecast and DLNA cast - from WiiM devices (again)? I had previously assumed this functionality would probably require WiiM’s DLNA Cast feature to become available in order to make use of LMS’s ability to search for uPnP servers (Advanced->Remote Music Libraries) and then AirPlay cast from there, but if this achieves the same objective then it is a very significant development. Indeed, if LMS’s Chrome and DLNA casting can maintain hi-res then that would be an added bonus.
Can also enquire what control the LMS end has (if any) of the WiiM input? I ask since this may then allow some sort of control of Amazon Music within LMS.
Lastly, I have held back from updating to LMS 9.x (if it ain’t broke etc), so do I need to take the plunge before installing the RNP plugin with this functionality?
 
A lot mixed in here I think..
If I am interpreting this post correctly then does this mean RPi LMS users now have a means of being able to AirPlay cast - as well as Chromecast and DLNA cast - from WiiM devices (again)?

I don’t think “again” comes into it tbh - what this is doing is taking audio into piCorePlayer and then allowing LMS to distribute it as required. It just so happens the audio is coming from a physically connected WiiM device. If I recall, @d6jg has been using this method to play his turntable across his LMS speakers well before the RNP Wiim enhancement. The new WiiM related functionality in RNP piggy backs on that to interpret the WiiM device stream that just happens to be getting fed over that audio stream. To a degree, it could connect to the stream of a totally different WiiM device than the one outputting its audio into the LMS server.

I had previously assumed this functionality would probably require WiiM’s DLNA Cast feature to become available in order to make use of LMS’s ability to search for uPnP servers (Advanced->Remote Music Libraries) and then AirPlay cast from there, but if this achieves the same objective then it is a very significant development. Indeed, if LMS’s Chrome and DLNA casting can maintain hi-res then that would be an added bonus.

As I understand it, it’s the UPNPBridge and related plugins that allow LMS to search for renderers to send audio to, not to search for UPNP servers.

Can also enquire what control the LMS end has (if any) of the WiiM input? I ask since this may then allow some sort of control of Amazon Music within LMS.
No control of WiiM devices as such, just stopping or starting the audio stream whether that be from a turntable or a WiiM device.

Lastly, I have held back from updating to LMS 9.x (if it ain’t broke etc), so do I need to take the plunge before installing the RNP plugin with this functionality?
I believe so.
 
As I understand it, it’s the UPNPBridge and related plugins that allow LMS to search for renderers to send audio to, not to search for UPNP servers.
This was my understanding too until I happened to come across this historic thread on the Lyrion Community forum with advice from philippe_44 on how this can be achieved directly within LMS I.e not a plugin, in theory at least:
https://forums.slimdevices.com/foru...h-media-server/100094-stream-from-dlna-to-lms
Posts #6, 11 and 26 seem most relevant. The option in post #26 certainly still exists in LMS, although the end of the thread casts some doubt on how well it currently works.
If this ability to search for UPNP servers did work then I assumed that WiiM’s DLNA cast feature, when it arrives, would allow wireless transfer from WiiM to LMS and then for LMS to cast the same music through AirPlay etc. as required.
 
Last edited:
This was my understanding too until I happened to come across this historic thread on the Lyrion Community forum with advice from philippe_44 on how this can be achieved directly within LMS I.e not a plugin, in theory at least:
https://forums.slimdevices.com/foru...h-media-server/100094-stream-from-dlna-to-lms
Posts #6, 11 and 26 seem most relevant. The option in post #26 certainly still exists in LMS, although the end of the thread casts some doubt on how well it currently works.
If this ability to search for UPNP servers did work then I assumed that WiiM’s DLNA cast feature, when it arrives, would allow wireless transfer from WiiM to LMS and then for LMS to cast the same music through AirPlay etc. as required.
Thanks for that link - I enabled it and now see all my upnp servers as remote libraries in LMS, and can use the Material skin to access their contents just as I would my LMS library (which has the same contents anyway). It’ll probably replace the WiiM Home app as my UPNP control point ;)

However, I think it’s a big leap of faith to think this and DLNA cast will provide wireless integration in the manner you describe. The remote library feature in LMS allows LMS to act as a UPNP control point and send that audio to whichever players it sees over whichever protocol/bridge plugin it is using. However, I wouldn’t see WiiM’s DLNA cast feature being exposed as a UPNP server/ library to LMS in the same manner. I see DLNA cast doing what LMS is doing to some degree - accessing tracks from the sources WiiM supports and then playing that to UPNP renderers. In that scenario, I don’t see LMS appearing as a UPNP endpoint/player.

I think we’re still talking about a physical connection between a WiiM device and the LMS platform to get the integration you describe. As I mention above, the RNP feature is picking up the metadata from a specific WiiM stream, it’s not actually playing that stream thru LMS - that’s done by the physical input connection.
 
Thinking about this a bit more, you’d need a plugin for LMS for it to appear as a UPNP renderer/player so that it would appear as a target device to WiiM’s DLNA cast - sort of turning the upnpbridge on its head…
 
Thinking about this a bit more, you’d need a plugin for LMS for it to appear as a UPNP renderer/player so that it would appear as a target device to WiiM’s DLNA cast.
I have just managed to try out something which I thought might provide a proof of concept (or not) while we await WiiM’s DLNA Cast. I first set up LMS to enable it to look for UPnP servers (as described in the immediate previous posts above) and then added Shairtunes as an LMS plugin. When I opened Amazon Music on my iPhone, piCorePlayer became an AirPlay option to cast to. After connecting to it I was then able to use LMS to AirPlay cast synchronised music to multiple devices, in my case a WiiM Mini and a Sonos soundbar (see picture). IMG_0368.jpeg

It means that currently I am listening to music through the following pathway:
Amazon Music on iPhone > Shairtunes LMS plugin (presumably AirPlay 1) > piCorePlayer (wirelessly) > LMS AirPlay > multiple AirPlay receiving devices (presumably using AirPlay 2).

My understanding is that Shairtunes effectively DLNA casts to suitable devices, so it seems just possible that if/when WiiM’s DLNA Cast feature becomes available then Raspberry Pi LMS users may be able to use this to also AirPlay cast to multiple devices in synchrony. Of course, this will depend on piCorePlayer being able to be ‘seen’.
 
I have just managed to try out something which I thought might provide a proof of concept (or not) while we await WiiM’s DLNA Cast. I first set up LMS to enable it to look for UPnP servers (as described in the immediate previous posts above) and then added Shairtunes as an LMS plugin. When I opened Amazon Music on my iPhone, piCorePlayer became an AirPlay option to cast to. After connecting to it I was then able to use LMS to AirPlay cast synchronised music to multiple devices, in my case a WiiM Mini and a Sonos soundbar (see picture). View attachment 15713

It means that currently I am listening to music through the following pathway:
Amazon Music on iPhone > Shairtunes LMS plugin (presumably AirPlay 1) > piCorePlayer (wirelessly) > LMS AirPlay > multiple AirPlay receiving devices (presumably using AirPlay 2).

My understanding is that Shairtunes effectively DLNA casts to suitable devices, so it seems just possible that if/when WiiM’s DLNA Cast feature becomes available then Raspberry Pi LMS users may be able to use this to also AirPlay cast to multiple devices in synchrony. Of course, this will depend on piCorePlayer being able to be ‘seen’.
You don’t need the UPnP/DLNA Media Interface plugin for this - just the Shairtunes plugin but it is Airplay 1 so will sync up to 16/48. I think if you install the Group Player plugin you can easily use Shairtunes to stream to a preconfigured LMS group.

NB The UPnP/DLNA Media Interface is supposed to enable LMS players as UPnP Renderers but IME it rarely works.
 
I have just managed to try out something which I thought might provide a proof of concept (or not) while we await WiiM’s DLNA Cast. I first set up LMS to enable it to look for UPnP servers (as described in the immediate previous posts above) and then added Shairtunes as an LMS plugin. When I opened Amazon Music on my iPhone, piCorePlayer became an AirPlay option to cast to. After connecting to it I was then able to use LMS to AirPlay cast synchronised music to multiple devices, in my case a WiiM Mini and a Sonos soundbar (see picture). View attachment 15713

It means that currently I am listening to music through the following pathway:
Amazon Music on iPhone > Shairtunes LMS plugin (presumably AirPlay 1) > piCorePlayer (wirelessly) > LMS AirPlay > multiple AirPlay receiving devices (presumably using AirPlay 2).

My understanding is that Shairtunes effectively DLNA casts to suitable devices, so it seems just possible that if/when WiiM’s DLNA Cast feature becomes available then Raspberry Pi LMS users may be able to use this to also AirPlay cast to multiple devices in synchrony. Of course, this will depend on piCorePlayer being able to be ‘seen’.

Can I borrow that box you’re thinking outside of? 😉😂

Worth playing around with :)
 
You don’t need the UPnP/DLNA Media Interface plugin for this - just the Shairtunes plugin but it is Airplay 1 so will sync up to 16/48. I think if you install the Group Player plugin you can easily use Shairtunes to stream to a preconfigured LMS group.

NB The UPnP/DLNA Media Interface is supposed to enable LMS players as UPnP Renderers but IME it rarely works.
I am fairly sure what I am referring to is not the (A Grundman) Media Interface plugin, but rather a setting in LMS itself which it can see remote UPnP servers (allowing @Burnside to now access his NAS libraries). The setup mentioned by me seems to turn AirPlay 1 into an AirPlay 2 casting source via PiCorePlayer/LMS. I am not sure if that is of any advantage or not over what you are describing.

The current DLNA Cast beta firmware does not 'see' PCP local players
Is it possible that changing the LMS setting as described above (Advanced>Remote Music Libraries) will then allow it to be seen?
 
I have just managed to try out something which I thought might provide a proof of concept (or not) while we await WiiM’s DLNA Cast. I first set up LMS to enable it to look for UPnP servers (as described in the immediate previous posts above) and then added Shairtunes as an LMS plugin. When I opened Amazon Music on my iPhone, piCorePlayer became an AirPlay option to cast to. After connecting to it I was then able to use LMS to AirPlay cast synchronised music to multiple devices, in my case a WiiM Mini and a Sonos soundbar (see picture). View attachment 15713

It means that currently I am listening to music through the following pathway:
Amazon Music on iPhone > Shairtunes LMS plugin (presumably AirPlay 1) > piCorePlayer (wirelessly) > LMS AirPlay > multiple AirPlay receiving devices (presumably using AirPlay 2).

My understanding is that Shairtunes effectively DLNA casts to suitable devices, so it seems just possible that if/when WiiM’s DLNA Cast feature becomes available then Raspberry Pi LMS users may be able to use this to also AirPlay cast to multiple devices in synchrony. Of course, this will depend on piCorePlayer being able to be ‘seen’.

Hi, I couldn’t see my piCorePlayer as an AirPlay target even thought I had that Shairtunes plugin already installed - I had to enable shairport-sync in the piCorePlayer tweaks page. Maybe you don’t need the plugin unless you want to airplay out from LMS. I’ll have a play around with the shairport-sync configuration settings.
 
Hi, I couldn’t see my piCorePlayer as an AirPlay target even thought I had that Shairtunes plugin already installed - I had to enable shairport-sync in the piCorePlayer tweaks page. Maybe you don’t need the plugin unless you want to airplay out from LMS. I’ll have a play around with the shairport-sync configuration settings.
It’s a shame it is not an obviously reproducible finding. I do not have shairport-sync installed.
IMG_6305.png
 
I am fairly sure what I am referring to is not the (A Grundman) Media Interface plugin, but rather a setting in LMS itself which it can see remote UPnP servers (allowing @Burnside to now access his NAS libraries). The setup mentioned by me seems to turn AirPlay 1 into an AirPlay 2 casting source via PiCorePlayer/LMS. I am not sure if that is of any advantage or not over what you are describing.


Is it possible that changing the LMS setting as described above (Advanced>Remote Music Libraries) will then allow it to be seen?
The Remote Library setting has very limited functionality. Yes you can see everything that is on the Remote Library Server when you browse but nothing gets indexed but you are correct it has zilch to do with Andy Grundman’s plugin.
 
The Remote Library setting has very limited functionality. Yes you can see everything that is on the Remote Library Server when you browse but nothing gets indexed but you are correct it has zilch to do with Andy Grundman’s plugin.
But at least it gives you a nicer client via the Material skin than another UPNP client might. Here’s Minimserver controlled by it - maybe @simbun might convert 🤣

IMG_9192.jpeg
 
But at least it gives you a nicer client via the Material skin than another UPNP client might. Here’s Minimserver controlled by it - maybe @simbun might convert 🤣
I looked at that plugin a long time ago thinking that I might be able to use MinimServer as a source for LMS indexing (that would allow me to use tags not indexed by LMS) but it's only a control point.

I've just had another look and whilst it did discover my local server I couldn't get it to play, but that could be because I have both running in sandboxes.

I suppose if I absolutely had to have my WiiM and Ropieee (which can run squeezelite) endpoints synchronised without another server indexing my collection it's an option.
 
I can’t imagine for one second that @simbun would be in the slightest bit interested. Not sure why. 😜
I don't dislike LMS I just don't need an integrated solution; if I did, or I cared about multiroom I would consider it, especially with the good work that darrell has done over the last year or so.
 
I looked at that plugin a long time ago thinking that I might be able to use MinimServer as a source for LMS indexing (that would allow me to use tags not indexed by LMS) but it's only a control point.

I've just had another look and whilst it did discover my local server I couldn't get it to play, but that could be because I have both running in sandboxes.

I suppose if I absolutely had to have my WiiM and Ropieee (which can run squeezelite) endpoints synchronised without another server indexing my collection it's an option.
I think recent changes to LMS allow virtually any tag you like. I haven't used the feature but it was new in LMS 9.
 
Back
Top