Contents |
IPOD API MIGRATION DOCUMENTATION
Introduction
The iPod extension for 0.5 is based on the old devicesobsolete. This document covers the migration of the iPod extension to the new devices API.
Goals
By user
- [Business] The company is prioritizing implementation of this feature to support one device api codebase, to stress test the device api and to reduce the amount of time we continue to invest in the existing ipod addon.
- [User] This will appeal to ipod owners looking for an alternative to itunes (and existing Songbird users who used the ipod addon and found it to be buggy.)
- [Developer] Device developers will appreciate a mature device api that we have built more than one integration on top of.
Tasks
Key: Task name (cost) [initial-assignee]
- Create a new iPod extension directory and skeleton addon (0) [erik] 8182
- Develop a minimal Marshall and Controller:
- Port chrome to the new device API:
- Stub device (1) [erik] 8191
- Service pane node (1) [erik] 8192
- Mounting - create library and make playlists (1) [erik] 8193
- Hook into device requests - add/remove items/playlists (3) 8194
- Device status (1) 8195
- Properties - prefs / device name / capacity (2) 8196
- Finish Marshall and Controller (1) 8197
- Change dialogs to use the prompt service and wait for a window to come up (2) 8198
- Sync from the device - play counts / on the go playlists (1) 8199
- Switch to the new device space API (3) 8200
- Sync library (3) 8200
- Sync playlists (2) 8205
Known Risks
There's a risk that the MTP Sync support won't be complete in time to integrate it into the iPod. In that case we can just keep the iPod's existing sync support.
If we fail to be complete or stable by the time we're ready to ship 0.6 then we could ship the existing iPod extension (the one using devicesobsolete) and continue work on the new iPod extension in parallel. This is unlikely.
Future
- Model-specific icons
- Capacity display by media type
- On-the-go playlist support included in v2.1.5
- Bidirectional media item transfer
- Reset to factory settings included in v2.1.5
- Reset warning messages included in v2.1.5
- Firmware update support
- Auto-launch Songbird when the device is detected
- Transcoding media items and metadata
- Migrating reused UI code and assets to core
- Album art




songbird 0.7 can't see my iPod.
I can test your code if you want and send you feed back. I'm also a computer science undergrad so if you need help coding just whistle.