[Rhythmbox-devel] [Weekly Report] Week 9: Rhythmbox iPod/MTP Syncing

Hi all,
This last week I was beginning work on the MTP plugin. I had previously done the prototyping in the iPod plugin, so was moving the code from there. Earlier in the project I had created two classes (RBMediaPlayerSource and RBMediaPlayerPrefs). RBMediaPlayerSource is the superclass of RBiPodSource and RBMtpSource. So the class chain now goes ...->RBRemovableMediaSource->RBMediaPlayerSource->RBiPodSource (or RBMtpSource). This RBMediaPlayerSource is non-instantiable, but provides the syncing capabilities for the devices. RBMediaPlayerPrefs tracks the preferences for the device. It handles saving them to "media-player-prefs.conf", and loading them from there. It is used to show the Properties dialog, and when syncing. Additionally it calculates the lists of what needs syncing, and what needs removal. Now, the RBiPodSource and RBMtpSource will be mostly just implementing the player-specific virtual methods that RBMediaPlayerSource needs (get_capacity, add_track, etc). This limits duplicate code. It took me basically the entire week to get the prototype iPod code moved into RBMediaPlayerSource, tested, and running smoothly again.

When writing my project proposal, I factored in for unforseen problems by allowing myself two weeks at the end of the project (now), to 'catch up'. So this next week I will be continuing on the MTP Plugin, implementing it as a child of RBMediaPlayerSource, so that it will inherit 'sync-ability'. The week after that I will, hopefully, be adding the capability to sync playlists. Syncing playlists is a bit tricky, because it is a many-to-many relationship between playlists and tracks, so I had left it to the end to revisit.

By the end of this week (or shortly thereafter) I am hoping to have the MTP plugin syncing.


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