GSoC Report: Week of Mon 13 July

Alejandro Wainzinger aikawarazuni at gmail.com
Mon Jul 13 19:01:39 CEST 2009


GCDS was less fruitful in terms of actual code done, but lots of
ideas/plans were drawn out.  Here's what code actually got done:

- iPod initialization is back, which now correctly builds the SysInfo
file with both model and firewireguid for parsing iPod Classic and
newer iPods that require it.  The dialogs need a bit of love, but that
will come soon.
- Implementing a Media Device is now more incremental, and
capability-based.  As new capabilities are supported by the developer,
a new Capability class is implemented.  Right now, they are: Read,
Write, Playlist, Artwork, Podcast.  This way, the raw code required to
just test connecting to a new device is incredibly small, and then
simply implementing the ReadCapability allows for a basic media device
collection where you can read/play tracks.  This brings us much closer
to my idea with the refactor: minimize repetitive/unnecessary code to
implement a device, so that new developers can hop right in.

Other code not done by me but worth noting about devices:
- Seb begins implementing showing free space on device.  World
rejoices.  Hopefully more things like battery level,
connect/disconnect/eject coming soon to a MediaDeviceCollection near
you!
- Martin Aumueller comes back and begins implementing support for
iPhone OS3.  Turns out his work will go back into libgpod, and the
IpodCollection and friends don't have to be duplicated to support the
new phone which actually plugs in with usb.  Yay!
- Martin also has started work to force the mounting of a device if
discovered, eliminating the annoying need to mount the iPod before
using it in Amarok.
- Nikolaj begins reshaping AudioCD stuff to fit the new media devices
code.  CD's may be back soon, woot!

Current issues:
- playlist saving extremely tied to a single local sqlcollection.
Changing the code to not be dependent is not hard.  Having "save
playlist" make sense with tracks from multiple collections in the
playlist?  Quite an issue.  Many possibilities were discussed,
involving the return of showing stale tracks in the playlist (remember
the grayed out tracks in the playlist from 1.4?).  That is upcoming.

Plan:
Playlists _must_ be fully-working before doing generic media devices,
so that comes this week.

Progress:
The things left, stated in the timeline in the application:
- stale and orphaned for iPod
- playlist save/edit/delete
- GUI feedback
- UMS support

There's essentially 4 weeks left, if I'm to have the luxury of some
heavy testing/documentation time, and if not 5.  I can see playlists
taking up this week easily, UMS support taking a solid week, GUI
feedback less than a week, and stale and orphaned not too long.

Here's a list of other features to take up the rest of the time:
- scrobbling ipod plays
- adding support for mtp devices loaded with micro-SD cards as
separate collections
- setting custom device with mountpoint (mainly for ssh-fuse-mounted
iPhones/iPod Touches)
- primitive syncing of device with local collection
- artwork on mtp/ipod

Thoughts on what to work on?


More information about the Amarok-devel mailing list