GoSoC 2009 UPnP Proposal -draft 3

Jeff Balinsky jebsky at gmail.com
Wed Mar 18 19:49:36 UTC 2009


My third draft. Thanks for the input again. Did amarok get accepted by
google for GoSoC?


I think I am on top of things now.

*
*

*Amarok UPnP support*


 *Jeff Balinsky*


 *Summary*


 Many modern home entertainment devices (most notably the Xbox 360 and PS3)
have the ability to play content of of UPnP shares. In the public domain
there are several backends allowing a user to set up a mediaserver on their
linux pc (coherence, ushare) and others allowing the browsing of and
rendering of those shares(coherence, djmount).

UPnP is a standard maintained by the DLNA (digital living network alliance).
The standard has several types of devices. Most notable for amarok and this
project are:


 DMS (DLNA Digital Media Server) - These devices store content and make it
available to networked *digital media players (DMP)* and *digital media
renderers (DMR)*.


 DMP (DLNA Digital Media Player) - These devices find content on *digital
media servers (DMS)* and provide playback and rendering capabilities.


 DMC (DLNA Digital Media Controller) - These devices find content on *digital
media servers (DMS)* and play it on *digital media renderers (DMR)*.


 -I do not believe DMR would be that useful to amarok or its users

DMR (DLNA Digital Media Renderer) - These devices play content received from
a *digital media controller (DMC)*, which will find content from a *digital
media server (DMS)*.


  *Goals – *I now understand the DLNA classes better so this is much more
concise


 [http://www.dlna.org/digital_living/devices/]

* *

DLNA – DMP


 The most useful for amarok and its user base would to be able to play
content off of networked DMS. This is also probably the least complicated.
This is the primary goal of this project.


 DLNA – DMS


 Also useful would be the ability to share the content of the amarok library
as a DMS allowing other DMPs and DMRs to play the content. The secondary
goal of this project will be DMS functionality. An amarok goal for this part
would be to update the amarok library on a remote play.


 DLNA – DMC


 Useful to some users would be DMC functionality (those that have both a DMS
and DMR on the network). A tertiary goal of this project will be DMC
functionality.


 DLNA – DMR


 This is not ruled out for this project. This is only of use to people that
have a DMS and a DMC on the network and want to use amarok to render content
remotely.


 *Details/Implementation*

Coherence (http://coherence.beebits.net/) is to be used as a backend for the
implementation of this project. It has “an emerging DBus API”. It is to be
used by kdelibs for a KIO slave and is multiplatform. I am told that I will
need to work with the coherence developers in progressing their API.

 For the DMP functionality I will write a new Collection and Media class.
Allowing files on a DMS to be inserted in the playlist.


 I plan implement the DMS as a script. This allows it to be optional for the
end user and also allows it to be upgraded fairly easily.

 Possibilities for DMC functionality include the writing of a custom
plasmoid. This plasmoid could be the external DMRs playlist. You would drag
from the new DMS browsing collection and media class(that I will write for
DMP functionality) into the custom plasmoid.


 DMR functionality could be implemented so for the user it is similar to
playing a radio stream. Just drag to the playlist and select


 *Fuzzy Work Timeline*

GoSoC Has two evaluation deadlines midterm in early July (~6 weeks in) and
final in late August thus I will probably split this in two parts. It is
around 13 weeks long.


 Start May 23rd

~1-2 weeks make sure I am set up. Investigate Coherence, Collection and
Media Classes and DLNA compliance specifications

~1 week write DMS Browser Collection and media class.

~1 week raise to DLNA DMP full compliance specifications

~1-2 weeks Investigate Scripting in amarok possibly more into Coherence
(Qtscript whatever I need)

- Midterm evaluation?

~1-2 week write DMS script

~1 week raise to DLNA DMS full compliance

~1 week Investigate Plasma more Coherence

~1-2 weeks write DMC plasmoid



 *Qualifications*

In the fall of '09 I will be a senior CS major at Hood College (
http://cs.hood.edu). I have been programming for about 5 years through high
school and college. I am currently using Qt and C++ and am comfortable with
both. The idea of using kdelibs doesn't particularly bother me. I consider
myself functionally knowledgeable in networking and data com theory. I want
to do more network type programming.


*Other
*

I spent some time with the amarok svn last week. I had never used svn
before. Got it to compile and run eventually. Got to say I really liked the
last.fm stuff. And the idea of a more customizable playlist.
**
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/amarok/attachments/20090318/78ca8591/attachment.html>


More information about the Amarok mailing list