Unified Online Music Library front-end GUI and Addons API for Online Music Services?
#1
Lightbulb 
How should XBMC GUI (and underlying API/ABI) work with new unconventional music services such as Grooveshark and Spotify? Huh

http://en.wikipedia.org/wiki/Grooveshark
http://listen.grooveshark.com

http://en.wikipedia.org/wiki/Spotify
http://www.spotify.com

Unified Online Music Library front-end GUI and Addons API for music services such as Grooveshark and Spotify?

It would be very nice to be able to use Grooveshark or Spotify in XBMC now that they booth have announced their APIs, but even before that could happen I guess we would first have to try to figure out how the end-user would interface with a such service in the XBMC GUI, as right now they would not fit into XBMC's 'classic' way of browsing for music.

For those who are unfamiliar with these IMHO great and almost revolutionary services, Grooveshark and Spotify are two relativly new on-demand music services which are searched based, so there is by default not really any 'classic' interface to simply browse by artist or genre, (although if one has a user-account then one has the possibility to add music artists to "My Music" after you found something that you like, and there is also a "Popular"). So Grooveshark and Spotify works by you searching for the song or artist you want to play, then once you find that you can also continue to browse to similar songs or similar artists, or continue to play other songs and albums by the same artist.

The question is really how to handle such services in XBMC now that they made public APIs available. Should they be be coded nativly into XBMC, be plugins, or script, or should a new addon/plugin API be created for them? ...or could we maybe even reuse the new addon API that Alasdair and Alwin are working on for the unified PVR project and retask that to also work with possible addon plugins for Grooveshark and Spotify? And how should the XBMC interface be made to work with the searched based nature of services like Grooveshark and Spotify?

The possibility for Grooveshark and Spotify as a python plugin or script have is by the way already being discussed here without much progress:
http://forum.xbmc.org/showthread.php?tid=50972
http://forum.xbmc.org/showthread.php?tid=48402

Note! For internal development our developers will of course need full premium accounts to test and develop services like Grooveshark and Spotify.


PS! I personally think that unless the RIAA or MPAA finds a way to outlaw services like Grooveshark and Spotify then these are really the future for on-demand music services, also Netflix and Voddler is coming soon with something similar online services for Movies and TV Shows. In addition, for the purpose of this discussion I think that it is will probably be best to first look at Grooveshark (before Spotify) as an example because unlike Spotify it works all over the world, and one can even try out Grooveshark without logging in or installing a client.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#2
I don't think that we should do it natively in XBMC. For example, for Pandora we did everything in python.
Reply
#3
agree python is the way to go..
Reply
#4
Lightbulb 
OK for python scripts as the 'backend addons' for these types of music services, but what about the frontend and library database?

Similar to the unified PVR frontend concept, how about a unified front-end for these types of music services with library integration?

...and what about online video services and sources such as Hulu, iPlayer, SVT Play, Netflix, LoveFilm, and Voddler?

How about enabling a unified front-end with a uniformed and seamless Music /Video Library GUI interface?
...and add a unified back-end framework and API that can support multiple online music / video services?


Huh

The unified PVR frontend concept is to have a common front-end GUI interface written in C++ code that is skinnable and nativly integrated into the XBMC GUI engine, then have have an API which allows for third-party addons that are programming language independent so can be written as python scripts or DLL files coded in C/C++

If we could somehow reuse the addon API for unified PVR frontend concept for this then XBMC could support clients for Grooveshark, Spotify, and maybe also similar services like Pandora and LastFM. All looking and working very similar in XBMC GUI to the end-users, (similar to plugins), for a consistent user interface no matter which of these music services that the end-user choose to use in XBMC.


From the XBMC Dev Con 2009 notes on the new addon API:
Quote:Addons Interface

Alasdair to coordinate. Essentially dealing with the "dll" interfaces at the
moment, such as screensavers, visualisations, pvrclients. Handles settings
etc. in a unied manor.

Addons manager handles which proles have access to which plugin or
script, etc., allowing restriction per profile.

Not incorporating plugins or scripts, and there may be some problems with
the current interface for plugins/scripts - some calls are made without a
unique id for instance, thus we're assuming only one plugin can run at a
time.

The addons stuff will be merged as soon as it's ready to go (i.e. ASAP),
so that further work on the PVR branch can continue with a standardized
interface.

Action: Alasdair to do up some dis and post on trac for review.
I know that it is also planned that this new addon interface should someday also handle python scripts as addon 'clients' for PVR backends.

So in addition to this new addon interface handling screensavers, visualisations, and pvrclients, how about also extending it to handle music addons as well in a similar manor?

Note! This could maybe also be reused on the video side for online movie services like Voddler, Netflix, and Amazon VOD (Video On Demand).


Good idea? If so then how should the common interface in XBMC GUI be like to be seamlessly integrated into existing music/video library?

Huh


[EDIT:] It seams like akezeke has achived something like this for Spotify with a serie of patches. could some of his code be reused here?:
http://trac.xbmc.org/ticket/8929
http://forum.xbmc.org/showthread.php?tid=67012
http://www.youtube.com/watch?v=p5axU8oY8gg
http://spotyxbmc.tumblr.com/
http://github.com/akezeke/spotyxbmc
Reply

Logout Mark Read Team Forum Stats Members Help
Unified Online Music Library front-end GUI and Addons API for Online Music Services?0