starting from scratch on mediadevice

Bart Cerneels bart.cerneels at kde.org
Fri Oct 22 20:44:31 CEST 2010


Hi all

There are a number of people who've shown interest in fixing the
mediadevice code but no one has seemed to take initiative yet. Let's
get that situation fixed with this mail.

I propose to start from scratch, anyone familiar with the code or it's
crashes know it's broken beyond repair. The original design might have
been based on a good idea (make it easy to implement new devices) but
something clearly went wrong during implementation.
At lot of abstraction overhead and complicated engineering was added
unnecessary.

I propose we stick to the abstraction present in CollectionFactory,
Collection, CollectionLocation and the PlaylistProvider classes, i.e.
let's not add another layer of abstraction. Any code that can be
shared will reveal itself after a few implementations have been
brought to a functional state. It's easier to refactor lightweight
code then design a complete system free from mistakes.

As I just mentioned there is no additional infrastructure needed to
get started (i.e. nothing blocking) and since we have some volunteers
already, let's split up the work.
The people I remember that have volunteered:
stuffcorpse
jtduncan
stecchino (me)

I already have some experience with USB Mass Storage having
implemented the UMS PodcastProvider (the only podcast implementation
for a mediadevice at the moment). With that experience I think I can
handle a MemoryCollection based implementation of the track parts as
well as a playlist implementation using playlist files based on
PlaylistFileProvider.

We'll need new implementations of MTP and iPod. The best would be
someone with such a device that feels the itch takes on those.

We should set up a weekly meeting or even 2 meetings per week to
exchange ideas and keep good progress. How about Monday and Thursday
at 19:00 GMT?

I also propose to set up a git clone we all work on in branches. That
way, if any common code is required or existing infrastructure classes
need to be changed we can do so without interfering with the regular
development track.

ping me on IRC to discuss.

Bart


More information about the Amarok-devel mailing list