SharePodLib 3.9.7 (27 Nov 2010)
SharePodLib 3.9.5 (8 Apr 2010)
- Added: iTunes 10.1 & 2 support
- Added: iTunes 9.1 support
Version 3.9.3 (8 July 2009)
- Added: iPhone / iTouch firmware 3.x read-write support
- Added: Nano 5G support
Version 3.9 (10 March 2009)
- Added: iPhone / iTouch firmware 3.x read-only support
Version 3.8.9 (13 February 2009)
- Added: Photo access and backup
Version 3.8.6 (4 August 2008)
- Added: iPhone 3G / iTouch firmware 2.x support
- Fixed: iPhone/iTouch artwork not always set correctly
- Fixed: Duplicate song entries in browser and Coverflow created in some cases
- Fixed: Artwork folder created if doesnt exist
- Added: Detection of new iPhone 3G / iTouch 2.0 devices
- iPhone & iPod Touch support, including artwork (except Coverflow)
Added: Full podcast support
Added: Track artist alphabetization ('The Beatles' will appear under 'B', not 'T'
in the Artists list)
Added: Playlists ordered by name
Added: Add/remove album artwork support
Added: Track.RememberPosition flag to tell the iPod to auto-resume the track. This
is true by default for videos. Added: DeviceInfo to IPod class. This now holds the
serial number, firewireId, supported artwork formats and raw device xml straight
from the iPod.
Added: NewTrack now has an ArtworkFile property which can be any image file to set
as the track's artwork.
Changed: NewTrack now has a mandatory IsVideo flag.
Changed: iPod.Eject() now only works when when the code executing is not running
from the iPod drive
. Although its possible in some cases to get away with
doing this, often Windows would give a nasty error message. Also this method will
now throw an exception, rather than just return false on error.
Added: .wav file support
Added: AlbumArtist field
Added: AlbumTrackCount, DiscNumber, TotalDiscCount fields to NewTrack
is a list of tokens you can use for the CopyFormat ([Title], [Artist] etc.)
Added: Device disconnected notification
Added: DeviceProfile as a first step to supporting iPhone/iPod Touch
Added: Overrides on all the GetIPod..() methods to specifiy whether to sync the
PlayCounts or not.
Added: We now .Flush() the iTunesDB file after writing rather than just .Close()'ing
Changed: All GetIPod..() methods have been moved from SharePodLib.SharePod to SharePodLib.IPod
Changed: Device notification events moved from SharePodLib.SharePod to SharePodLib.Device
SharePod itself now uses TagLib-Sharp (http://www.taglib-sharp.com/) for all file
tag information. If you are using the MediaReader class (+ dlls) from the SharePodUtil
source, I recommend using taglib-sharp instead. Its much better!
(thrown on iPod.Tracks.Add(...)
now contains the existing track.
Added: Support for the new iPod Classic/Nano 3G slightly different menu structure.
- Constructor only takes iPod object
- PerformCopy has option to create iTunes import .xml files
- PerformCopy returns List
of copied filenames.
- Fixed: NullRef exception when ProgressEvent or ProgressErrorEvent wasn't hooked
Changed: Can now delete Smart Playlists
Fixed: Error when setting track fields (eg Artist) to an empty string.
Fixed: Few random bugfixes.
This version was going to support Smart Playlist track adding/removing, but it turns
out that the iPod looks at the smart playlist rules and rebuilds the playlist after
SharePod edits it. I am investigating a flag which might control this behaviour.
This is the first offical SharePodLib release which supports the iPod Classic and
Nano 3G devices. These devices require a database hash value, which is generated
from the device's FirewireId. As a result, SharePodLib now needs administrator rights
to run properly on Windows Vista. For an example of how to force administrator rights
in Vista, see the AddVistaRequireAdminResource.bat file in the SharePodUtility source
Most of the changes in this version are under the hood to support the new database,
but there is a new event on the static SharePod class to listen for iPods being
plugged into the PC.
SharePod.iPodConnected += new iPodConnectedHandler(SharePod_iPodConnected); //connect
up the event handler
SharePod.ListenForDeviceChanges(myWindow.Handle); //tell SharePodLib to listen for
new iPods, passing the handle of your app's window.
SharePod.StopListeningForDeviceChanges(); //tell SharePodLib to stop listening for