Re: External Plugin and sort sequence of tracks



Hey James,

You might want to have a look at bug 709723 as well.

I haven't thought about it in a bit, but I recall that some slight refactoring of how rygel-relational-_expression_.vala does its thing would be useful for supporting the musicTrack/musicAlbum/etc.

There's a patch I attached to the bug demonstrating a pattern that should allow for the UPnP class-specific properties to be added cleanly. I just didn't have time to follow through on it, unfortunately. (and the last thing Jens needs are more patches from me... ;^J)

To answer your question about dev tools: I've been using Geany for my Rygel development. It has limited symbolic capabilities. But it can invoke valac just fine, walk through compilers errors, etc. pretty well.

hth,

cp

On 2/7/15 9:54 AM, James Wyper wrote:
Hi

A couple of questions here:

1. As I mentioned last month, I'm developing my own external plug-in (DBus server) for rygel.  For small (and static) music collections it's working OK on most of the UPnP clients I've tested it with, apart from one.  This is a Roberts Stream 63i radio (so an embedded client), and the problem is that music tracks are being displayed in alphabetical order, not track sequence.  It only happens with this client, and the client works fine with other UPnP servers (minimserver, serviio, minidnla, mediatomb).

I'm using the most recent release (including the fix to bug 720672) so rygel should be passing through the sort sequence from the external plugin unchanged.  My DBus server is passing the items through in track sequence - and if I use the UPnPlay Android app with the "let server decide sequence" option the tracks appear in the correct order.

My hypothesis is that there's code in the Stream 63i that checks the upnp class of the container and sorts by name (or requests the items sorted by name) if the container isn't object.container.album.musicAlbum.  I've used uPnP-inspector to browse the same album shared from rygel and minidnla; uPnP-inspector displays the tracks in the correct order and the only meaningful difference between the two servers is the upnp class of the container (with rygel it's just object.container, with minidnla it's object.container.album.musicAlbum).

I've seen via http://comments.gmane.org/gmane.comp.gnome.apps.rygel/432 that there has been discussion about extending the MediaServer2 spec to allow containers to be identified as albums - is anyone still looking at this or has it been set aside for lack of time? Presumably all that needs to be done is to retrieve the new DBus property (if it is set) and then amend the upnp_class of the container object appropriately.

I might have a try at incorporating this myself... which leads me onto my second question

2.  I can code, but I've not worked on a multi-sourcefile project like rygel for 20+ years (the last IDE I used was Visual C++ 1.0). I know my way around Linux but have never done serious software building on it.  And I have no experience with vala of course.  So - (a) are the build instructions on the gnome wiki for rygel still up to date?, and (b) can you recommend an IDE?  What development tools work best for you?

Thanks
James

_______________________________________________
rygel-list mailing list
rygel-list gnome org
https://mail.gnome.org/mailman/listinfo/rygel-list


--

craig pratt

Caspia Consulting

craig ecaspia com

503.746.8008






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]