Re: [Rhythmbox-devel] GNOME GSoC 09 question



On Mon, Mar 16, 2009 at 11:59:45PM +0530, Easwar Hariharan wrote:
> On Mon, Mar 16, 2009 at 10:09 AM, Alexandre <airmind gmail com> wrote:
> >
> > I have some experience writing Python plugins for Rhythmbox, so I'm hoping I
> > can help you a bit.
> >
> > On Sun, Mar 15, 2009 at 3:06 PM, Adam Schreiber <sadam clemson edu> wrote:
> >>
> >> Reposting reply to list.
> >>
> >> >> Hi,
> >> >> I received this email address for you from a friend on IRC,and he
> >> >> mentioned that you are the GNOME admin for GSoC 09 and queries whether
> >> >> ideas could be a valid GSoC project could be directed to you.Please
> >> >> correct me if I'm mistaken,while I expound my idea.
> >> >>
> >> >> IDEA:
> >> >> A plug-in for Rhythmbox to preferentially play a track from hard disk
> >> >> than from a Last.FM stream using the bitrate metadata as a parameter
> >> >> to determine which audio is of better quality in Python,and add it to
> >> >> the play queue while removing it from the stream,or,in an alternative
> >> >> idea,to allow the user to see that he has the same track on disk,and
> >> >> decide which to play.
> >> >>

I think this idea is too simple and small in scope for SoC.  It doesn't
add anything visible to the application (the user would have to
specifically go looking to see if it was working at all), and it would
only give you experience with a few concepts in rhythmbox, rather than
learning something useful about GNOME as a whole.

On the matter of scale, I think I could implement this in about two
hours and with less than 100 lines of code.  Comparing this with past
rhythmbox SoC projects (DAAP, a system for streaming music to IM
contacts, and the predictive playback project from last year), this
doesn't even come close.

> > You are going to have problems implementing a separate plugin for this using
> > Python. The Rhythmbox internals is not entirely exposed in Python and the
> > Last.fm streaming plugin is written in C. You are going to have difficulties
> > interfacing with the Last.fm plugin in Python, or you'll end up rewriting
> > the Last.fm streaming code in Python to do all you want.
> 
> Insurmountable difficulties as in enough difficulties to prevent me
> from completing the project during SOC,or difficulties which can be
> worked around with a bit of brain wracking?

It doesn't really matter whether it's possible to do this or not.
Implementing this feature as a separate plugin is a bad idea, and it's
bad programming practice.  There's one obvious place where this feature
should be added, and that's in the existing last.fm plugin.  Adding it
anywhere else is just wrong.
 
> >
> > Can I give another suggestion instead? You could make a plugin that takes
> > any Last.fm feed (such as http://www.last.fm/api/show?service=285) and
> > generates playlists with the Rhythmbox database. This would allow playing
> > local music with data from Last.fm, giving an experience close to Last.fm
> > stations without the streaming. And this could be implemented entirelly as a
> > Python plugin, probably as a Rhythmbox source, with some nice GUI on top.
> > I would really love if these (http://www.last.fm/api/show?service=301 and
> > http://www.last.fm/api/show?service=329) APIs would be accessible that way.
> 
> Hmm,the services themselves look interesting,specially the loved
> tracks one.What I think I might have a problem with is with
> implementing it as a RB source,IIRC,RB is written in glade(that's what
> a programmer friend told me),plugin looks easier.

This is a much more interesting and valuable project.  I think you should
investigate how rhythmbox plugins work, how sources are implemented,
what glade is, and how rhythmbox uses it before you base any decisions
on your understanding of those things.



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