Represents an Apple iPod device


The following tables list the members exposed by IPod.

Public Properties

  Name Description
Public property DatabaseVersion Version number of the iPod's iTunesDB database.
Public property DeviceInfo List of supported artwork formats for this iPod. This list is used when adding album art to tracks. Only supported for later-model iPods which support the SCSI data enquiry command. Type and generation of iPod (Mini, Shuffle, Video etc.) Only supported for later-model iPods which support the SCSI data enquiry command.
Public property DriveLetter Drive the iPod is using.
Public property FileSystem The DeviceFileSystem is an abstraction of the file system used by a specific iPod. Currently, this is either standard or iPhone
Public property IsWritable True if changes can be made to iPod.
Public property NeedsSaving Returns true if there are in-memory changes that will be persisted to the iPod when SaveChanges() is called.
Public property Playlists List of all playlists on the iPod. Use this to add/remove/enumerate playlists
Public property Tracks List of all tracks on the iPod. Use this to add/remove/enumerate tracks
Top

Public Methods

  Name Description
Public method AcquireLock Opens the ipod_control\iTunes\iTunesLock file and locks it for exclusive access. This means if the user tries to 'Safely remove hardware' from the system tray, Windows will disallow removal. Otherwise, the device will likely be able to be disconnected. Note: You must call ReleaseLock() when you're done with the iPod.
Public method AssertIsWritable Throws UnsupportedITunesVersionException if writing is not supported.
Public method Eject Eject iPod from Windows. If you try to Eject the iPod, and your code is running on the iPod, an exception will be thrown directing the user to close the app and use the standard windows feature.
Public method Equals Determines whether the specified Object is equal to the current Object. (inherited from Object)
Public method Static GetAllConnectedIPods Returns all connected iPods. This is slower than GetConnectediPod as it must enumerate all drives, so only use if you know you need to handle multiple iPods at once.
Public method Static GetConnectedIPod Overloaded. Returns the first detected iPod. Do not sync PlayCounts file.
Public method GetHashCode Serves as a hash function for a particular type. GetHashCode is suitable for use in hashing algorithms and data structures like a hash table. (inherited from Object)
Public method Static GetiPodByDrive Loads the iPod from the specified drive. If you already know the iPod's drive letter, this is more performant than calling GetConnectedIPod().
Public method GetType Gets the Type of the current instance. (inherited from Object)
Public method ReleaseLock Closes and deletes the iTunesLock file locked in the AcquireLock() call.
Public method SaveChanges Save changes to iPod database (DeviceFileSystem.iTunesDBPath, DeviceFileSystem.ArtworkDBPath). This will only perform a save if changes have been made, otherwise will immediately return.
Public method ToString Overridden.  
Top

See Also