Thank you for your donation!


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


DLNA to moode
#41
Right its just kind of a nightmare
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#42
Wink 
Hi @Tim Curtis @TheOldPresbyope ,

Thanks for the feedback and hints. I've done this now, and let me share it here:

- I have downloaded and compiled and installed the same mpd version as delivered with Moode, but  with the upnp plug-in support
- I have changed the mpd.conf file to disable the db_file and activate the upnp Plug-in. I do have a synology nas where I have enabled the UPNP server
- I disabled upmpdcli temporarily, because there was a port clash with the upnp plug-in

Now I can see my NAS in the Library / Folder list. I see the structure, I can navigate through the virtual structure exposed by the UPNP server and I can see and play individual songs, as well as "play all" for "folders" like Albums as well as playlists. The songs are retrieved with metadata, and they play gapless. Please see the attached pics.

What is not so nice is: no cover art, somehow player controls do not work (previous / next / cue), however the playlist advances in playing when the song is finished. I need to check how to fix that, should not be rocket science.

All in all: this is a folder-like experience, which is similar with mConnect working with umpmdcli for Qobuz streaming. I totally understand that this is by far not the most delightful user experience to manage, search and play music from the DLNA server, however it is helpful to browse and play songs from DLNA server as well as Qobuz (via umpmdcli) without a mobile phone. Not better not worse than the upnp controller function of mConnect.

I am pretty sure that people who have a DLNA server with all their music on it will have an app for that already  with full features if they want. If not, they'd mount it rather as a network drive and let MPD index it directly. So I would  not be afraid to disappoint them. I think such a solution is a low hanging fruit for the users who sometimes want (themselves, their families or guests) to be able to quickly play something app-less , maybe even controlled from an embedded touchscreen. Hence, here is my suggestion / ask: would it be possible to

- include a mpd binary compiled with the upnp plugin already in the distribution
- adapt configurations so mpd upnp plug-in and upmpdcli work on different ports
- add a control to enable UPNP sources in the Library / Music Library
- check why the controls do not work

What do you think ? I can continue to investigate and help fixing these, if you think my help is needed. I think this is a relatively small effort that enables users to listen to remote music (upnp and streaming through upmpdcli) in an app-less manner. However, I fully respect if you say that you'd rather include a full-fledged upnp controller or nothing at all.

Thank you!

Sertgiu

@pepus if you feel that is serving your use-case, you can repeat the steps on your own and play app-lessly from your dlna server.


Attached Files Thumbnail(s)
       
Reply
#43
I have no interest in UPnP so I'm withdrawing from the discussion.

When features are added or changed in moOde I try to test them as thoroughly as possible to help Tim stomp out bugs. That's the only reason I have several different Media Servers running on my LAN and an assortment of Control Points on my mobile devices, so I can test both UPNP-A/V and OpenHome flavored protocols.

Regards,
Kend
Reply
#44
(03-01-2024, 11:01 AM)TheOldPresbyope Wrote: Well, since the link to Jean-Francois' discussion of his effort has already been posted, https://www.lesbonscomptes.com/pages/mpd-upnp.html, why don't we read it?

Once you get past all the niff-naff about building his MPD plugin (now part of the MPD distro), you get to the good stuff like


Quote:Once mpd is running, your client should see a list of the network Media Servers as the top level directory.

Under the top level, you will see the hierarchy chosen by the type of Media Server, which usually has little to do with the file tree (so this is quite different from the usual MPD).

Note that you should always follow the 'Browse by Folder' options from the MPD client (these can have various names depending on the MPD client). Options to browse by artist or album, as provided by MPD will not work. You will find equivalent lists inside the tree shown by the UPnP server.

UPnP servers do not expose functionality which could be used to implement the direct tag-based browsing offered by an MPD server.
...

and

Quote:Known issues

Loading playlists should work, but saving them probably won’t.

Recursive directory add does not work fully: the depth is limited to 1, so this is ok to add an album directory, but it won’t go further.

Things based on VisitUniqueTags, like requesting all genres, or all artists, does not work, so the metadata browsers in most clients do not work. UPnP just does not work like this. Browse the database tree instead: it will usually have a directory with all the artists, one with the albums, the genres.

There is a fundamental difference about track identifiers between MPD and UPnP. As far as I understand, for MPD, the pathname is the fundamental identifier. This is not the case at all for UPnP, where a given track will be seen under several pathnames in the virtual tree, and objects are identified by an arbitrary unique Id.

The MPD plugin synthetizes paths based on track or container title attributes, but this means that a directory can contain apparently identical paths (if several entries have the same title).

There could be ways around this (the title could be made unique in some way), but I did not pursue them. Simply adding other fields may not be enough, so this would have to be based on the object id, or some other arbitrary value.

The consequences are mostly for searching. The normal pathnames are mostly useless as search results (typically a search for "Satisfaction" may have the UPnP server respond with entries under "All Music", all with the same title).

In this situation the MPD plugin choses to respond with arbitrary and recognizable paths based on the object ID, but clients which directly display them end up showing garbage. Happily enough most clients retrieve the object attributes for display, which works fine. Notably, phpmp does not.
...

As Tim says, basically like djmount and for the same reasons.

Regards,
Kent

Just to make sure I am not misunderstood: I do NOT suggest to replace the upmpdcli (as the choice and comparison is the main theme of the link that we both reffer to). In fact, I like it and use it every day and I even contributed in fixing it after Qobuz changes. Without this, I would not be able to decently listen to Qobuz. It is the first thing I connected the plug-in to in my tests.

However, I would like to be able to browse it from Moode directly ... sometimes Smile, even if just a folder-like experience.

Furthermore, to the mentioned points:
- Recursive directory add does not work fully: the depth is limited to 1, - seems no longer true. I can navigate through several levels back and forth
- All search and path issues: not really relevant in the folder view. Same experience as browsing the file system.
As I mentioned in the previous post, all these limitations also exist e.g. when using mConnect with upmpdcli , even if I pay for mConnect :Smile

But once again, this is not meant to push something in Moode, but rather to help with an issue that other and myself have as well, as we all here believe in giving back to the community ;Wink My issue is solved now, and I am thankful than Moode exists Smile
Reply
#45
Its a no-go for me because (1) its already got breakage and (2) it would be a complete nightmare to support.
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#46
Hi @Tim Curtis thanks for the reply!

This is my last post on this thread,I promise Smile And a last question of course :

Can we at least get the mpd compiled with upnp AND the latest upmpdcli (1.8.8) delivered with Moode ? That's it, nothing more.
Please see Jean-Francoise comment on the 1.8.8 version and Moode here: https://framagit.org/medoc92/upmpdcli/-/issues/122 - he suggests the repository link for this.

Thank you,

Sergiu
Reply
#47
(03-02-2024, 01:01 PM)bsergiu Wrote: Hi @Tim Curtis thanks for the reply!

This is my last post on this thread,I promise Smile And a last question of course :

Can we at least get the mpd compiled with upnp AND the latest upmpdcli (1.8.8) delivered with Moode ? That's it, nothing more.
Please see Jean-Francoise comment on the 1.8.8 version and Moode here: https://framagit.org/medoc92/upmpdcli/-/issues/122 - he suggests the repository link for this.

Thank you,

Sergiu

We will be bumping to latest upnp stack for our upcoming Bookworm/Pi-5 release (Timing TBD) but I see no reason to add this option to MPD compile since it's never going to be implemented and will only serve to generate support tickets.
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#48
(03-01-2024, 04:31 PM)bsergiu Wrote: Now I can see my NAS in the Library / Folder list. I see the structure, I can navigate through the virtual structure exposed by the UPNP server and I can see and play individual songs, as well as "play all" for "folders" like Albums as well as playlists. The songs are retrieved with metadata, and they play gapless. Please see the attached pics.

Wow!

That looks exactly like what I was looking for.


According to the course of the thread, however, it does not seem as if an implementation is in sight.
When the Bookworm release is out, could you create a tutorial for those like me so that others could use the feature if needed?
Reply
#49
Thumbs Up 
(03-02-2024, 07:57 PM)psychofaktory Wrote:
(03-01-2024, 04:31 PM)bsergiu Wrote: Now I can see my NAS in the Library / Folder list. I see the structure, I can navigate through the virtual structure exposed by the UPNP server and I can see and play individual songs, as well as "play all" for "folders" like Albums as well as playlists. The songs are retrieved with metadata, and they play gapless. Please see the attached pics.

Wow!

That looks exactly like what I was looking for.


According to the course of the thread, however, it does not seem as if an implementation is in sight.
When the Bookworm release is out, could you create a tutorial for those like me so that others could use the feature if needed?

Sure!
Reply


Forum Jump: