[Weekly Report] Rhythmbox iPod/MTP Syncing



This last week I have begun implementing the syncing mechanisms. Thus far, I've done most of my work on the iPod plugin. A lot of my confusion thus far was on the hashing for comparison. I didn't quite understand the hashing last week, and think I have a much better understanding of it now. I'll be implementing that this week. Stuff I did last week includes:
- Fought with Git (Yay, for losing all my changes to one file!)
- Set up a pc-side file for the plugin to store data in.
- created rb_ipod_source_load_file() and rb_ipod_source_save_file() to support saving and loading of the iPod properties. - I was most concerned with getting it saving and loading a file. Now that that is done I will be refactoring the code so that all iPod plugin data is stored in a single GKeyFile - Created a function rb_ipod_helpers_get_serial() and volume_get_serial() which use HAL to query usb_device.serial. These will eventually probably go into libgpod, as HAL is phased out.
- Finished college Finals! Yay!

It feels great to finally be done with college, and just have the GSoC Project to focus on. This will be my first full week solely focusing on the project. For the next two weeks I will be working on the Sync-ing mechanism, and getting that working. I think, my first focus will be on the hashing. From my discussion with Cristophe the most efficient way of doing it will be to put both libraries (local and iPod) into a GHashTable, then compare between them to generate lists needing addition and removal. I will be timing this method, to make sure it is not too costly.

For this pc-side file for the iPod plugin, It will be used to store the contents of the Properties panel, and associate it with each iPod. The properties panel will allow you to select what to sync, and whether to sync automatically. This will then be stored in the file, along with the iPod's serial number, so that you won't need to re-select the options each time you reconnect the device.

Paul Bellamy



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