[Banshee-List] Uncle Scott Wants YOU! To help out with UPnP support



Hello list!
I am without the equipment or the time to do development work right now, so I could use the help of anyone who is interested in working on Banshee's UPnP support. If that sounds like you, read on!

Mono.Upnp
This is the core library. It is in development. There is much more work to be done, but I would like to wait until I am able to devote my attention to it. If you feel strangely compelled to seriously hack on this, let me know and we can talk. Otherwise, you will just be using this library to work on a Banshee UPnP extension.

You can get Mono.Upnp by checking out the mono-upnp module from Mono's SVN repo. Autotools DOES NOT WORK. You will have to build from the MonoDevelop solution. Also, some of the projects in the solution may not build - just disable the compilation of those projects. Sorry about the awful state of building the project - I didn't have a chance to clean it up before I moved.

The Mono.Upnp project is pretty highly compartmentalized. Client and sever APIs are split into their own assemblies (this makes the library better suited for use on embedded devices with limited memory). The client assemblies are much further along than the server stack. We will just be developing a Banshee UPnP client plugin right now - the server stack is not yet in a state to support a Banshee server plugin. The UPnP MediaServer protocol, which is built on top of the core UPnP protocol, is in its own assembly. Mono.Upnp.Dcp.MediaServer.Client.dll is the main assembly you will be using to build the Banshee plugin.

The Banshee Plugin
Like I said, we'll just be writing the UPnP client plugin first. Ultimately, we'll do a separate server plugin which makes a Banshee library visible over UPnP. In terms of user interface, it would be nice if the DAAP and UPnP plugins were part of the same "Shared Music" UI. This might require abstracting some of the DAAP plugin into a new assembly for use by both the DAAP and UPnP plugins. I'd like to discuss this with Aaron. There are also some interesting implementation questions: do we attempt to suck down the entire list of content on a UPnP server before displaying it to the user, or do we fetch it as-needed? Our ListView could conceptually handle the later, but blocking on a network request is a problem. Perhaps we could have some clever asynchronous solution. These and other interesting problems await the brave soul to undertake this MARVELOUS ADVENTURE.

So if you're interested, let me know!


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