Moode Audio Player for Raspberry Pi

If you don't mind, refresh my memory on this issue. There have been a number of posts regarding track x/y etc and I'm not sure what to focus on.

Currently the actual "Track" metadata value is displayed. For example if an album had ten tracks and the 3rd track was located in position 53 of an 85 track Playlist, "Track 3" would be displayed.

There have been requests to display "Track 53/85", or to display "Track 3" but also display "85 Tracks in Playlist" somewhere on the Playback panel.

-Tim

maybe someone already responded something, but anyways
My preferred implementation for X/Y is "current offset in(index to) the playlist" / total number of tracks of the playlist.
Track number in a given album become irrelevant when i make a playlist picking up only some songs from albums.
 
Last edited:
Hi @dukeg,

If you don't mind, refresh my memory on this issue. There have been a number of posts regarding track x/y etc and I'm not sure what to focus on.

Currently the actual "Track" metadata value is displayed. For example if an album had ten tracks and the 3rd track was located in position 53 of an 85 track Playlist, "Track 3" would be displayed.

There have been requests to display "Track 53/85", or to display "Track 3" but also display "85 Tracks in Playlist" somewhere on the Playback panel.

-Tim

At least 50 percent of my listening is classical, opera, musical, theme albums. What I really want is to have consistently tagged my tracks so I know, for example, I'm playing movement 3 - scherzo, rather than track 3. Sadly, my metadata are a complete jumble (generated over years using various tools and public data sources while in varying states of mind) so displaying the album track number from the track metadata remains useful. I can't say no to also displaying the playlist position, e.g., "Track 53/85". I just don't have the need.

Regards,
Kent
 
moOde and Tidal

Gentle persons.

i'm one of Tim's 4.0beta testers. I don't know if you noticed in his announcement of upcoming features that this release will support several music subscription services including Tidal. This feature comes to us via recent additions to the third-party program upmpdcli which Tim integrated into moOde to provide UPnP AV service.

I've been happy with Tim's Web-based UI and have had no need for UPnP AV, but Tidal seems a big win so I've been wringing it out.

For this test, I'm running local UPnP media servers via an OpenMediaVault plug-in (on that Odroid HC-1 I mentioned earlier) and minimserver on my laptop, the BubbleUPnP app on Android devices as my UPnP control point, and moOde 4.0b1 as my UPnP media renderer. This all works fine (which I assume was the case already). I hand-edited my Tidal credentials into the upmpdcli configuration file (this will be incorporated into the moOde configuration screen in the general release) and now Tidal works fine too. Yay.

The fly in the ointment for me is the need for a UPnP control point separate and distinct from moOde's UI but AFAIK this problem is common to all the RPi music players employing web-based UIs over mpd. I'm also wrestling with cover art. It is displayed in the control point but not the moOde playback panel. It's early days and there are other wrinkles getting ironed out so maybe this one will be too if it's technically possible. For those who've added an LCD panel to their moOde player as a local display this feature would be nice.

Thanks, Tim, for continuing to extend the features of moOde.

Regards,
Kent
 
appreciate, Kent
>OpenMediaVault plug-in (on that Odroid HC-1 I mentioned earlier)
i just ordered that device hoping make it to my home media server ;)
am using my own developed plugin to good old Winamp to control UPNP server/renderer
so far it's working quite good with Moode 3.x ;)
i believe i can build stand alone UPnP control point app separated from old WinAmp or even multi platform control point, if my weekend time permits ;)
having said, yep, i know the solution is already available, but the point is that I build it ha ha.
 
Last edited:
Any provision to use existing off the shelf remotes ?
a PS3 bluetooth remote (not the controller) could be used ? :D

Pretty straightforward - after all, BT remotes have been used for Kodi/XBMC for ages.

Just need to get the key mapping for MPD sorted, but no different to any other ir remote in that regard.

If you've got a Pi3, no need for a BT dongle.

There are guides for OSMC that should be applicable - hybridise them with the instructions for a remote for MPD and you should be able to sort it.
 
I have previously installed and used IR remote using v3.1 on a Pi 2 with Justboom Digihat and encountered no real problems however installing same on v3.8.4 has proved a non-starter.

I have basically used the procedure outlined here:
How To Configure JustBoom IR Remote With LIRC • JustBoom

... but get stuck every time at the first reboot (Stage 4) which simply results in a non-responsive Pi requiring a reflash (I have tried this with three different micro cards with exactly the same result every time)

OK - I did say I would report back ...
The result of further delving makes it pretty clear to me that there is a definite compatibility problem with the JB DigiHAT and their recommended IR installation procedure with Moode 3.8.4.

I swapped HATs with an IQaudio Pi-DAC+ and followed the procedure mentioned in the quote above and outlined here. With one caveat*, it worked flawlessly and resulted in a fully functional unit controllable by IR remote. I then swapped back to the JB DigiHAT. After reconfiguring to the JB HAT (in the Audio section) and rebooting, the whole thing went pear shaped - MPD config was inaccessible and the system unusable.
I will take it up with the Justboom Support team and report back if I get a response.


*Even with the Pi-Dac+, I still encountered a crash with ‘sudo reboot’ at the end of Stage 4. I overcame this by doing a full shutdown via the Moode menu instead and this cured the problem.
 
Last edited:
Gentle persons.

i'm one of Tim's 4.0beta testers. I don't know if you noticed in his announcement of upcoming features that this release will support several music subscription services including Tidal. This feature comes to us via recent additions to the third-party program upmpdcli which Tim integrated into moOde to provide UPnP AV service.

I've been happy with Tim's Web-based UI and have had no need for UPnP AV, but Tidal seems a big win so I've been wringing it out.

For this test, I'm running local UPnP media servers via an OpenMediaVault plug-in (on that Odroid HC-1 I mentioned earlier) and minimserver on my laptop, the BubbleUPnP app on Android devices as my UPnP control point, and moOde 4.0b1 as my UPnP media renderer. This all works fine (which I assume was the case already). I hand-edited my Tidal credentials into the upmpdcli configuration file (this will be incorporated into the moOde configuration screen in the general release) and now Tidal works fine too. Yay.

The fly in the ointment for me is the need for a UPnP control point separate and distinct from moOde's UI but AFAIK this problem is common to all the RPi music players employing web-based UIs over mpd. I'm also wrestling with cover art. It is displayed in the control point but not the moOde playback panel. It's early days and there are other wrinkles getting ironed out so maybe this one will be too if it's technically possible. For those who've added an LCD panel to their moOde player as a local display this feature would be nice.

Thanks, Tim, for continuing to extend the features of moOde.

Regards,
Kent
It's interesting that you say that it does not display the cover art. I have been using this feature for a long time and it always works with with the Qobuz and did work with Tidal when I had a free trial of that.

Can I ask what control point you are using?

Also are you using more than one Pi in the house, if so can can you make sure that that the hostname is different and more importantly that the upnp name is different.

The upexplorer program that Tim uses to extract the cover art discovers all upnp servers on your network, if it finds two devices with the same name it appends the final octet to the name to differentiate them.

It could be that Tim's call to get the album artwork cannot find the device because of this.

I have broken the spring lock on my RPI 2 so cannot test.

Also don't forget Tim's mention of the bug that leaves the freindly name entry in the config file commented out as well.

To discover the upnp devices on your network ssh to the pi and run

Sudo upexplorer -l

And see what comes up.
 
Hi,
......The question is: is the raspberry usb too slow to properly transfer large FLAC, DSD or AIFF files to the player?

Remy

My experience is quite the opposite....

If I use a 2Tb HD directly connected to my raspberry Pi3 via USB, I do not have particular problems with DSD files, both DSD 64 or DSD 128.
I say "no particular problems" because I do experience some occasional drop off or interruption in music.

On the contrary, if I connect the HDD to another raspberry (PI2, Kodi installed) acting as my personal "NAS" serving music to Moode through the LAN, both DSD64 and DS128 are completely un-listenable, while all my other flac up and including 24/192 do play flawlessly,
I do understand that in the second scenario described above, the bottleneck could well be on the Pi2 side.
So, IMO, if you are planning to use a NAS, be sure it is "performant enough" in terms of read sustained speed.
 
@TheOldPresbyope

On a computer now, can you try the following from a command prompt?

upexplorer -u -l

This will list you upnp servers and renderers with their urls, with this you can see if you have repeated names.

Since I have one I get this

Code:
UPnP devices:
Allo Moode UPNP-mediaserver     (urn:schemas-upnp-org:device:MediaServer:1) [url]http://192.168.xx.xx:49153/[/url]
          Allo Moode UPNP   (urn:schemas-upnp-org:device:MediaRenderer:1) [url]http://192.168.xx.xx:49152/[/url]

The first entry is the Media server that is created when you put your Qobuz or Tidal details in, basically its a upnp interface to a streaming service.

The second entry is the Renderer, the name displayed , in my case Allo Moode UPNP is the friendly name from the config file. If you have not uncommented this line (its a bug) the name will be UpMpd.

If you get something like Moode UPNP-45 and another one Moode UPNP-50 then you have two devices with the same UPNP name and upexplorer adds the 4th octet of the ip address at the end.

To extract the artwork for the web front end Tim calls the album art function with the name set in the web config page, if it does not match what's on the config page then I guess it cannot find it the media renderer playing (try the syslog?)


Play something from Tidal or your other media server and then then run the following command where the bit in quotes is the UPNP name seen when you run the above.

Code:
upexplorer --album-art "Allo Moode UPNP"
It should return the url of the playing track, you should be able to see what I was playing.

https://static.qobuz.com/images/covers/31/02/4012957370231_600.jpg
 
Last edited:
@TheOldPresbyope

On a computer now, can you try the following from a command prompt?

upexplorer -u -l

This will list you upnp servers and renderers with their urls, with this you can see if you have repeated names.

Since I have one I get this

Code:
UPnP devices:
Allo Moode UPNP-mediaserver     (urn:schemas-upnp-org:device:MediaServer:1) [url]http://192.168.xx.xx:49153/[/url]
          Allo Moode UPNP   (urn:schemas-upnp-org:device:MediaRenderer:1) [url]http://192.168.xx.xx:49152/[/url]

The first entry is the Media server that is created when you put your Qobuz or Tidal details in, basically its a upnp interface to a streaming service.

The second entry is the Renderer, the name displayed , in my case Allo Moode UPNP is the friendly name from the config file. If you have not uncommented this line (its a bug) the name will be UpMpd.

If you get something like Moode UPNP-45 and another one Moode UPNP-50 then you have two devices with the same UPNP name and upexplorer adds the 4th octet of the ip address at the end.

To extract the artwork for the web front end Tim calls the album art function with the name set in the web config page, if it does not match what's on the config page then I guess it cannot find it the media renderer playing (try the syslog?)


Play something from Tidal or your other media server and then then run the following command where the bit in quotes is the UPNP name seen when you run the above.

Code:
upexplorer --album-art "Allo Moode UPNP"
It should return the url of the playing track, you should be able to see what I was playing.

https://static.qobuz.com/images/covers/31/02/4012957370231_600.jpg

Just FIY.
Out of curiosity I tried on my raspbery pi3 running Moode 3.8.3

Code:
pi@moode383:~ $ upexplorer -u -l
upexplorer: invalid option -- 'u'
upexplorer: usage:
 -l : list devices
 -r <server> <objid> list object id (root is '0')
 -s <server> <searchstring> search for string
 -m <server> <objid> : list object metadata
 -c <server> get search capabilities
 -M <renderer>: monitor AVTransport
 -v <renderer> get volume
 -V <renderer> <volume> set volume
 -p <renderer> 1|0 play/stop
 -P <renderer>  pause
 --album-art <renderer> print album art uri for playing track

For now all <renderer> and <server> params should be "friendly names", not UUIDs
 
pi@moode383:~ $ which upexplorer
/usr/bin/upexplorer

Removing the "-u" invalid option and redirecting stderr I got the "expected" output

Code:
pi@moode383:~ $ upexplorer  -l 2>/tmp/upexplorer-output.txt
UPnP devices:
Volumio (urn:schemas-upnp-org:device:MediaRenderer:1)
BubbleUPnP Server Services (urn:bubblesoftapps-com:device:BubbleUPnPServer:1)
Moode UPNP 383 (OpenHome) (urn:linn-co-uk:device:Source:1)
Moode UPNP 383 (urn:schemas-upnp-org:device:MediaRenderer:1)
Logitech Media Server [TonidoPlug2] (urn:schemas-upnp-org:device:MediaServer:1)
Moode (urn:schemas-upnp-org:device:MediaRenderer:1)
Actiontec "Wireless Broadband Router"LAN DeviceWAN DeviceWANConnection DeviceWAN DeviceWANConnection DeviceLAN Device (urn:schemas-upnp-org:device:InternetGatewayDevice:1urn:schemas-upnp-org:device:LANDevice:1urn:schemas-upnp-org:device:WANDevice:1urn:schemas-upnp-org:device:WANConnectionDevice:1urn:schemas-upnp-org:device:WANDevice:1urn:schemas-upnp-org:device:WANConnectionDevice:1urn:schemas-upnp-org:device:LANDevice:1)
 
It's interesting that you say that it does not display the cover art. I have been using this feature for a long time and it always works with with the Qobuz and did work with Tidal when I had a free trial of that.
moOde 4.0b1 has been our hands all of 5 days. You must have a fast metabolism if that is "a long time":D
Can I ask what control point you are using?
As I said, it's BubbleUPnP on Android. I have no other to play with. I loaded up BubbleUPnP and got a trial subscription to Tidal so I could exercise as many of the features in moOde 4.0b1 as I can. The role of a tester isn't to prove something works (ask a logician how that goes), it's to try to find ways to break it and fail.

I cut out everything in your two messages about items which are in fact done correctly in my configuration.
...
To extract the artwork for the web front end Tim calls the album art function with the name set in the web config page....

Play something from Tidal or your other media server and then then run the following command where the bit in quotes is the UPNP name seen when you run the above.

Code:
upexplorer --album-art "Allo Moode UPNP"
It should return the url of the playing track, you should be able to see what I was playing.

https://static.qobuz.com/images/covers/31/02/4012957370231_600.jpg
And here it gets interesting. When I play a Tidal track,
Code:
~ $ sudo upexplorer --album-art "Moode UPNP"
[url]http://192.168.1.153:57645/proxy/H4sIAAAAAAAAAA3DjQ6AEBQG0DfyUYTexs8lLWPR1uPX2c4xZ9-Bm0Z77kCDzRLdxUKrKNVlGhDJS7NqD-4Ch6S0wShHsHKRwpPVUXNoxd8_O3v-AAr9IZVSAAAA.jpg[/url], [url]http://192.168.1.153:57645/proxy/H4sIAAAAAAAAAA3DCQqAIBQFwBv5tMyl27h8zUiUNOj4NTDHnH0HbhrtuQMNNkt0FwutolSXaUAkL82qPbgLHJKSgtkcwcpFCk9WR80hFH__7Oz5A97L53NSAAAA.jpg[/url]
This is a URL to legitimate artwork proxied by my BubbleUPnP app (I get the correct artwork if I plug it into my browser) but it's given twice.

I don't speak UPnP AV. Can the album art service legitimately return a list of URLs? If so, this is a problem with moOde 4.0b1. If not, this is a problem with BubbleUPnP. That would be sad because it appears to be the best available for Android---certainly it's worked well in every other respect and it knows the subscription services. I can ping the BubbleUPnP developer but who knows what that will accomplish and when.

Thanks for pointing out features of upexplorer I hadn't twigged to. It's essentially undocumented (unless one reads C++) but after all these years, one would think I would automatically invoke --help on any executable handed to me.

Regards,
Kent
 
Just FIY.
Out of curiosity I tried on my raspbery pi3 running Moode 3.8.3

Code:
pi@moode383:~ $ upexplorer -u -l
upexplorer: invalid option -- 'u'
upexplorer: usage:
 -l : list devices
 -r <server> <objid> list object id (root is '0')
 -s <server> <searchstring> search for string
 -m <server> <objid> : list object metadata
 -c <server> get search capabilities
 -M <renderer>: monitor AVTransport
 -v <renderer> get volume
 -V <renderer> <volume> set volume
 -p <renderer> 1|0 play/stop
 -P <renderer>  pause
 --album-art <renderer> print album art uri for playing track

For now all <renderer> and <server> params should be "friendly names", not UUIDs
 
pi@moode383:~ $ which upexplorer
/usr/bin/upexplorer

Removing the "-u" invalid option and redirecting stderr I got the "expected" output

Code:
pi@moode383:~ $ upexplorer  -l 2>/tmp/upexplorer-output.txt
UPnP devices:
Volumio (urn:schemas-upnp-org:device:MediaRenderer:1)
BubbleUPnP Server Services (urn:bubblesoftapps-com:device:BubbleUPnPServer:1)
Moode UPNP 383 (OpenHome) (urn:linn-co-uk:device:Source:1)
Moode UPNP 383 (urn:schemas-upnp-org:device:MediaRenderer:1)
Logitech Media Server [TonidoPlug2] (urn:schemas-upnp-org:device:MediaServer:1)
Moode (urn:schemas-upnp-org:device:MediaRenderer:1)
Actiontec "Wireless Broadband Router"LAN DeviceWAN DeviceWANConnection DeviceWAN DeviceWANConnection DeviceLAN Device (urn:schemas-upnp-org:device:InternetGatewayDevice:1urn:schemas-upnp-org:device:LANDevice:1urn:schemas-upnp-org:device:WANDevice:1urn:schemas-upnp-org:device:WANConnectionDevice:1urn:schemas-upnp-org:device:WANDevice:1urn:schemas-upnp-org:device:WANConnectionDevice:1urn:schemas-upnp-org:device:LANDevice:1)

@franz159

Serverbaboon and I are discussing moOde 4.0b1 which comes with a later version of upexplorer that does recognize the -u option (but it must be in the order -l -u).

I have been getting the same information from my network using a UPnP scanner on Android. My Android tablet and phone are loaded up with scanners for APs, IPs on a network, Bluetooth, zeroconf, and UPnP, not to mention ssh. Very handy for diagnosis. (And fun to use when out and about. The world is full of talkative devices.)

Regards,
Kent
 
Pretty straightforward - after all, BT remotes have been used for Kodi/XBMC for ages.

Just need to get the key mapping for MPD sorted, but no different to any other ir remote in that regard.

If you've got a Pi3, no need for a BT dongle.

There are guides for OSMC that should be applicable - hybridise them with the instructions for a remote for MPD and you should be able to sort it.

Cheers Zootalaws.
I will look in to it.