Thank you for your donation!


Cloudsmith graciously provides open-source package management and distribution for our project.


UPNP OpenHome renderer: Remember Playlist / Queue after reboot
#1
Hello moOde fans,

I prefer to use BubbleUPNP to control my UPNP renderers.
With my own configurations using mpd/upmpdcli (openhome) the last used playlist was remembered.
I am interested in CamillaDSP and tried to prevent the manual setup by using moOde.

With moOde I have the problem that after a reboot or power cycle I do not get the previously used openhome renderer's playlist/queue but always the default radio stations.

Is it possible to configure moOde remembering the previously used playlist used as openhome renderer?

Thank you.
Reply
#2
Is there any way to preserve the queue which was created by upmpcli (openhome) after a reboot/power cycle?
Reply
#3
moOde's UPnP renderer just proxies tracks sent to it by UPnP control point into the MPD Queue. It doesn't know about whats in an upstream Queue on the control point. Whatever is in the MPD Queue should persist after reboot.
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#4
Thank you. But that's the problem, the queue does not persist.

That's my understanding:
Upmpdcli as OpenHome renderer creates the queue for MPD and moOde's frontend shows the queue correctly.
Usually, after a reboot, upmpdcli configured as OpenHome renderer loads MPD's queue and provides it to the control point as soon as it is requested.

But after a reboot or power cycle the MPD queue always contains the default playlist with radio stations. The previously created queue is gone.
Reply
#5
I have been able to make similar observations in my setup. However, for other reasons I am currently still using MoodeOS 8.1.2 (32-bit) with a manual upgrade to upmpdcli 1.7.2-1.

The UPnP renderer (OpenHome) is activated in Moode. Playback is controlled via the BubbleUPnP app for Android. A Minimserver serves as the UPnP server.

If tracks are added to the playlist from the UPnP server via BubbleUPnP, they also appear in the Moode playlist. Thanks to the OpenHome standard, it is also possible to control the playlist simultaneously from several smartphones.

If Moode is now restarted, in my case the tracks are still in the Moode playlist, but are no longer displayed in the BubbleUPnP playlist.

Only when an additional track is added to the playlist via the BubbleUPnP app is the entire playlist also displayed in the app.

In previous versions, an existing playlist (regardless of how it was created) was also displayed in the BubbleUPnP app on smartphones immediately after starting Moode.
If I remember correctly, this was the case until the upgrade for upmpdcli.

I would also like the playlist to be displayed again directly at the UPnP control points after Moode has been restarted.
Perhaps my experiences can help to restore the original behavior.
Reply
#6
@Fermion I do have a similar set-up and problem, as well as a solution - let me see if I can help.

Firstly, the MPD player in Moode keeps the Queue of the songs that have been played, unless the controller deletes it. This survives the reboot, and it is available again after the reboot. However, is the list of what has played, and not the playlist from the controller (unless you let it playing all through, which I do) . The reason you do not have it may very well be Bubble , since it deletes the queue with every new song it starts playing. The mConnect App (which I regularly use)  does not do that.

And here is the proof: I have turned on the log of MPD in Moode, and here are the commands sent by Bubble app/controller when I try to play a Queen album  from Qobuz (Library -> go to Album --> (three dots icon) --> Enqueue and play:

When starting the first song:


Feb 28 21:19 : client: [74] opened from 127.0.0.1:32948

Feb 28 21:19 : client: [74] process command "clear"
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [74] process command "repeat "0""
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [54] process command "status"
Feb 28 21:19 : client: [54] command returned 0
Feb 28 21:19 : client: [48] process command "status"
Feb 28 21:19 : client: [48] command returned 0
Feb 28 21:19 : client: [74] process command "random "0""
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [48] process command "currentsong"
Feb 28 21:19 : client: [48] command returned 0
Feb 28 21:19 : client: [54] process command "currentsong"
Feb 28 21:19 : client: [54] command returned 0
Feb 28 21:19 : client: [74] process command "single "0""
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [74] process command "consume "0""
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [74] process command "addid "http://192.168.178.113:57645/proxy/qobuz/D4BCF4D0FD1D20C40C918F316D7481F2.flac?proxy=false" "0""
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [74] process command "addtagid "14" "Artist" "Queen""
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [74] process command "addtagid "14" "Album" "Bohemian Rhapsody""
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [74] process command "addtagid "14" "Title" "20th Century Fox Fanfare""
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [74] process command "addtagid "14" "Track" "1""
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [74] process command "addtagid "14" "Comment" "client=upmpdcli;""
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [74] process command "status"
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [74] process command "stop"
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [74] process command "status"
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [48] process command "close"
Feb 28 21:19 : client: [48] command returned 4
Feb 28 21:19 : client: [48] closed
Feb 28 21:19 : client: [54] process command "close"
Feb 28 21:19 : client: [54] command returned 4
Feb 28 21:19 : client: [54] closed
Feb 28 21:19 : client: [75] opened from 127.0.0.1:32952
Feb 28 21:19 : client: [75] process command "status"
Feb 28 21:19 : client: [75] command returned 0
Feb 28 21:19 : client: [75] process command "idle"
Feb 28 21:19 : client: [75] command returned 1
Feb 28 21:19 : client: [74] process command "play"
Feb 28 21:19 : playlist: play 0:"http://192.168.178.113:57645/proxy/qobuz/D4BCF4D0FD1D20C40C918F316D7481F2.flac?proxy=false"
Feb 28 21:19 : client: [74] command returned 0

... and after finishing the first song and advancing to the second:

Feb 28 21:19 : client: [88] opened from 127.0.0.1:51966

Feb 28 21:19 : client: [88] process command "status"
Feb 28 21:19 : client: [88] command returned 0
Feb 28 21:19 : client: [88] process command "idle"
Feb 28 21:19 : client: [88] command returned 1
Feb 28 21:19 : client: [74] process command "clear"
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [74] process command "repeat "0""
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [74] process command "random "0""
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [88] process command "status"
Feb 28 21:19 : client: [88] command returned 0
Feb 28 21:19 : client: [74] process command "single "0""
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [74] process command "consume "0""
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [88] process command "currentsong"
Feb 28 21:19 : client: [88] command returned 0
Feb 28 21:19 : client: [74] process command "addid "http://192.168.178.113:57645/proxy/qobuz/93DA158F5A917EA56FECED27006474C2.flac?proxy=false" "0""
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [74] process command "addtagid "15" "Artist" "Queen""
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [74] process command "addtagid "15" "Album" "Bohemian Rhapsody""
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [74] process command "addtagid "15" "Title" "Somebody To Love (Remastered 2011)""
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [74] process command "addtagid "15" "Track" "2""
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [74] process command "addtagid "15" "Comment" "client=upmpdcli;""
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [74] process command "status"
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [74] process command "stop"
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [88] process command "close"
Feb 28 21:19 : client: [88] command returned 4
Feb 28 21:19 : client: [88] closed
Feb 28 21:19 : client: [74] process command "play"
Feb 28 21:19 : playlist: play 0:"http://192.168.178.113:57645/proxy/qobuz/93DA158F5A917EA56FECED27006474C2.flac?proxy=false"
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [74] process command "status"
Feb 28 21:19 : client: [74] command returned 0
Feb 28 21:19 : client: [74] process command "currentsong"
Feb 28 21:19 : client: [74] command returned 0

and so on for every following song in the Bubble playlist. Surprise Surprise : they clear the playlist before playing every song by sending the "clear" command, telling MPD to empty the playlist   Sleepy . As you can see mpc man page .Thus, your Moode/MPD playlist will only contain the last played song.

Now, if I do the same thing using mConnect App (on iOS), here is what I see:

First song playing clears the list in the same way:

Feb 28 19:54 : client: [464] process command "clear"
Feb 28 19:54 : client: [464] command returned 0
Feb 28 19:54 : client: [464] process command "repeat "0""
Feb 28 19:54 : client: [464] command returned 0
Feb 28 19:54 : client: [1021] process command "status"
Feb 28 19:54 : client: [1021] command returned 0
Feb 28 19:54 : client: [464] process command "random "0""
Feb 28 19:54 : client: [464] command returned 0
Feb 28 19:54 : client: [1021] process command "currentsong"
Feb 28 19:54 : client: [1021] command returned 0
Feb 28 19:54 : client: [464] process command "single "0""
Feb 28 19:54 : client: [464] command returned 0
Feb 28 19:54 : client: [464] process command "consume "0""
Feb 28 19:54 : client: [464] command returned 0
Feb 28 19:54 : client: [464] process command "addid "http://192.168.178.110:49149/qobuz/track?version=1&trackId=54650652" "0""
Feb 28 19:54 : client: [464] command returned 0
Feb 28 19:54 : client: [464] process command "addtagid "14" "Artist" "Queen""
Feb 28 19:54 : client: [464] command returned 0
Feb 28 19:54 : client: [464] process command "addtagid "14" "Album" "Bohemian Rhapsody""
Feb 28 19:54 : client: [464] command returned 0
Feb 28 19:54 : client: [464] process command "addtagid "14" "Title" "20th Century Fox Fanfare""
Feb 28 19:54 : client: [464] command returned 0
Feb 28 19:54 : client: [464] process command "addtagid "14" "Track" "1""
Feb 28 19:54 : client: [464] command returned 0
Feb 28 19:54 : client: [464] process command "addtagid "14" "Comment" "client=upmpdcli;""
Feb 28 19:54 : client: [464] command returned 0
Feb 28 19:54 : client: [464] process command "status"
Feb 28 19:54 : client: [464] command returned 0
Feb 28 19:54 : client: [464] process command "stop"
Feb 28 19:54 : client: [464] command returned 0
Feb 28 19:54 : client: [4] process command "idle playlist player mixer options"
Feb 28 19:54 : client: [4] command returned 1
Feb 28 19:54 : client: [464] process command "status"
Feb 28 19:54 : client: [464] command returned 0
Feb 28 19:54 : client: [1021] process command "close"
Feb 28 19:54 : client: [1021] command returned 4
Feb 28 19:54 : client: [1021] closed
Feb 28 19:54 : client: [464] process command "play"
Feb 28 19:54 : playlist: play 0:"http://192.168.178.110:49149/qobuz/track?version=1&trackId=54650652"
Feb 28 19:54 : client: [464] command returned 0
Feb 28 19:54 : client: [464] process command "status"
Feb 28 19:54 : client: [464] command returned 0
Feb 28 19:54 : client: [464] process command "currentsong"
Feb 28 19:54 : client: [464] command returned 0

... and later when the first song ends ... NO CLEAR command anymore, addid command will enqueue

Feb 28 19:28 : client: [464] process command "status"
Feb 28 19:28 : client: [464] command returned 0
Feb 28 19:28 : client: [464] process command "currentsong"
Feb 28 19:28 : client: [464] command returned 0
Feb 28 19:28 : client: [464] process command "playlistinfo "1""
Feb 28 19:28 : client: [464] command returned 0
Feb 28 19:28 : client: [464] process command "status"
Feb 28 19:28 : client: [464] command returned 0
Feb 28 19:28 : client: [464] process command "currentsong"
Feb 28 19:28 : client: [464] command returned 0
Feb 28 19:28 : client: [464] process command "playlistinfo "1""
Feb 28 19:28 : client: [464] command returned 0
Feb 28 19:28 : client: [464] process command "repeat "0""
Feb 28 19:28 : client: [464] command returned 0
Feb 28 19:28 : client: [464] process command "random "0""
Feb 28 19:28 : client: [464] command returned 0
Feb 28 19:28 : client: [464] process command "single "0""
Feb 28 19:28 : client: [464] command returned 0
Feb 28 19:28 : client: [464] process command "consume "0""
Feb 28 19:28 : client: [464] command returned 0
Feb 28 19:28 : client: [464] process command "addid "http://192.168.178.110:49149/qobuz/track?version=1&trackId=54650653" "1""
Feb 28 19:28 : playlist: queue song 1:"http://192.168.178.110:49149/qobuz/track?version=1&trackId=54650653"
Feb 28 19:28 : client: [464] command returned 0
Feb 28 19:28 : client: [464] process command "addtagid "6" "Artist" "Queen""
Feb 28 19:28 : client: [464] command returned 0
Feb 28 19:28 : client: [467] process command "status"
Feb 28 19:28 : client: [467] command returned 0
Feb 28 19:28 : client: [464] process command "addtagid "6" "Album" "Bohemian Rhapsody""
Feb 28 19:28 : client: [464] command returned 0
Feb 28 19:28 : client: [467] process command "currentsong"
Feb 28 19:28 : client: [467] command returned 0
Feb 28 19:28 : client: [464] process command "addtagid "6" "Title" "Somebody To Love""
Feb 28 19:28 : client: [464] command returned 0
Feb 28 19:28 : client: [464] process command "addtagid "6" "Track" "2""

This is why, if you let mConnect play the entire list, every played song will remain in Moode's queue. In fact, I have also saved it via Moode's interface in a local playlist, so I can start it again without the App later. If you select with your finger another song, they also clear the queue in MPD. So you really have to let it play once through :/

I hope it explains and helps,

Sergiu
Reply
#7
Thanks for the replies.

My previous configuration was an unmodified RaspiOS with mpd and upmpdcli (configured as OpenHome), minimserver on my Unraid server as docker container, BubbleUpnp as control point. I have used this configuration for many years (with different SBCs because of the USB issues before Raspi 4).

I have never had any problems with the playlist after a reboot on any of my SBCs with this configuration. That's one of the most important points of OpenHome to preserve the individual playlist/queue of any renderer independent of the control point, reboot etc.

It would be very nice if that worked with moOde again.
Reply
#8
Well, I did not use my Raspi 4 in 3 days. So no changes whatsoever.
But during my previous session I saved the default queue to a playlist using moOde's web frontend.

Today, suddenly it seems to work as expected.
BubbleUpnp loaded the previously used queue. I was really surprised.

I performed a reboot, all o.k.
I added something to the queue, reboot, all o.k.
I performed a power cycle again (I know... just to be sure) and again, all o.k.

I am sorry if I caused any inconvenience.

I will report back here if anything changes.
Reply
#9
Could be that moOde isn't actually in OpenHome mode. I've just had a play about on my minimserver/BubbleUPnP/moOde setup and was getting no album art, and the queue wasn't full either. The moOde UI showed OpenHome, but I toggled it to AV then back and pressed save, then exited and restarted BubbleUPnP. Album art appeared, the full queue was there and it survived a reboot.

I think there are command one can run to check what moOde is set to outside the UI, but I can't find them in the minute I spent searching.
----------------
Robert
Reply
#10
Thanks for the feedback.
My BubbleUPnP's renderer info reports upmpdcli 1.7.7 and "Family: OpenHome". That's a good way to check the mode.
It was in OpenHome mode before when I noticed the queue problem, I checked it.

But it is possible that your config was not saved properly.

I have no idea why my config "cured itself" so nicely. I would like to know, but hard/impossible to determine now, I guess.
Reply


Forum Jump: