Răsfoiți Sursa

baseline fix & itunes plugin shell added

LH 10 ani în urmă
părinte
comite
f5de54e008
63 a modificat fișierele cu 7390 adăugiri și 3 ștergeri
  1. 1 1
      .gitignore
  2. 3 0
      IZSetup/distPackagerBase/.gitignore
  3. 1 0
      iZplPlugins/ITunes/.gitignore
  4. 24 0
      iZplPlugins/ITunes/build.gradle
  5. BIN
      iZplPlugins/ITunes/lib/com4j.jar
  6. 18 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/ClassFactory.java
  7. 110 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITArtwork.java
  8. 58 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITArtworkCollection.java
  9. 128 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITAudioCDPlaylist.java
  10. 94 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITBrowserWindow.java
  11. 85 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITConvertOperationStatus.java
  12. 411 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITEQPreset.java
  13. 75 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITEQPresetCollection.java
  14. 42 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITEncoder.java
  15. 75 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITEncoderCollection.java
  16. 930 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITFileOrCDTrack.java
  17. 49 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITIPodSource.java
  18. 68 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITLibraryPlaylist.java
  19. 137 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITObject.java
  20. 47 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITOperationStatus.java
  21. 239 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITPlaylist.java
  22. 94 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITPlaylistCollection.java
  23. 47 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITPlaylistWindow.java
  24. 77 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITSource.java
  25. 94 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITSourceCollection.java
  26. 884 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITTrack.java
  27. 111 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITTrackCollection.java
  28. 265 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITURLTrack.java
  29. 199 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITUserPlaylist.java
  30. 27 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITVisual.java
  31. 75 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITVisualCollection.java
  32. 397 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITWindow.java
  33. 75 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITWindowCollection.java
  34. 1255 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IiTunes.java
  35. 38 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/_IITConvertOperationStatusEvents.java
  36. 126 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/_IiTunesEvents.java
  37. 32 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0001.java
  38. 26 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0002.java
  39. 26 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0003.java
  40. 44 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0004.java
  41. 26 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0005.java
  42. 43 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0006.java
  43. 73 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0073_0001.java
  44. 25 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0074_0001.java
  45. 32 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0075_0001.java
  46. 44 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0081_0001.java
  47. 26 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0081_0002.java
  48. 26 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0081_0003.java
  49. 44 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0081_0004.java
  50. 80 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0083_0001.java
  51. 56 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0086_0001.java
  52. 44 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0089_0001.java
  53. 32 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0089_0002.java
  54. 20 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0089_0003.java
  55. 44 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0095_0001.java
  56. 42 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/events/_IITConvertOperationStatusEvents.java
  57. 146 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/events/_IiTunesEvents.java
  58. 2 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/package.html
  59. 95 0
      iZplPlugins/ITunes/src/main/java/de/nplusc/izpl/plugins/itunes/ITunesAPI.java
  60. 1 1
      iZplPlugins/WMP/build.gradle
  61. BIN
      iZplPlugins/WMP/lib/com4j.jar
  62. BIN
      iZplPlugins/foobar2000_others/lib/swtx32.jar
  63. 2 1
      settings.gradle

+ 1 - 1
.gitignore

@@ -51,7 +51,7 @@ izsetup.izbundle
 IZSetup/distPackagerBase/dist/iZsetup_setup.jar
 IZSetup/distPackagerBase/64b/dist/iZsetup_setup.jar
 #special nonmaven libs
-!*/lib/*
+!**/lib/*
 #petzende files
 *.log
 !gradle/wrapper/*

+ 3 - 0
IZSetup/distPackagerBase/.gitignore

@@ -0,0 +1,3 @@
+#special nonmaven libs
+**/lib/*
+

+ 1 - 0
iZplPlugins/ITunes/.gitignore

@@ -0,0 +1 @@
+auxy

+ 24 - 0
iZplPlugins/ITunes/build.gradle

@@ -0,0 +1,24 @@
+apply plugin:'java'
+task distZip(dependsOn: 'fatJar') {
+	//NO-OPtask als redirect
+}
+
+task fatJar(type: Jar) {
+		manifest{
+		attributes 'Implementation-Title': 'iZSetup',
+					'Implementation-Version': 'SNAPSHOT',
+					'Main-Class': 'de.nplusc.izc.InstallPak.Main'
+					
+	}
+    baseName = project.name + '-all'
+    from { zipTree("lib/com4j.jar")  }
+    with jar
+}
+
+dependencies
+{
+	compile fileTree(dir: 'lib', include: '*.jar')
+	compile project(':iZpl')
+}
+
+

BIN
iZplPlugins/ITunes/lib/com4j.jar


+ 18 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/ClassFactory.java

@@ -0,0 +1,18 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * Defines methods to create COM objects
+ */
+public abstract class ClassFactory {
+  private ClassFactory() {} // instanciation is not allowed
+
+
+  /**
+   * iTunesApp Class
+   */
+  public static de.nplusc.izc.izpl.plugins.itunes.api.IiTunes createiTunesApp() {
+    return COM4J.createInstance( de.nplusc.izc.izpl.plugins.itunes.api.IiTunes.class, "{DC0C2640-1415-4644-875C-6F4D769839BA}" );
+  }
+}

+ 110 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITArtwork.java

@@ -0,0 +1,110 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITArtwork Interface
+ */
+@IID("{D0A6C1F8-BF3D-4CD8-AC47-FE32BDD17257}")
+public interface IITArtwork extends Com4jObject {
+  // Methods:
+  /**
+   * <p>
+   * Delete this piece of artwork from the track.
+   * </p>
+   */
+
+  @DISPID(1610743808) //= 0x60020000. The runtime will prefer the VTID if present
+  @VTID(7)
+  void delete();
+
+
+  /**
+   * <p>
+   * Replace existing artwork data with new artwork from an image file.
+   * </p>
+   * @param filePath Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610743809) //= 0x60020001. The runtime will prefer the VTID if present
+  @VTID(8)
+  void setArtworkFromFile(
+    java.lang.String filePath);
+
+
+  /**
+   * <p>
+   * Save artwork data to an image file.
+   * </p>
+   * @param filePath Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610743810) //= 0x60020002. The runtime will prefer the VTID if present
+  @VTID(9)
+  void saveArtworkToFile(
+    java.lang.String filePath);
+
+
+  /**
+   * <p>
+   * The format of the artwork.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Format"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0075_0001
+   */
+
+  @DISPID(1610743811) //= 0x60020003. The runtime will prefer the VTID if present
+  @VTID(10)
+  de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0075_0001 format();
+
+
+  /**
+   * <p>
+   * True if the artwork was downloaded by iTunes.
+   * </p>
+   * <p>
+   * Getter method for the COM property "IsDownloadedArtwork"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610743812) //= 0x60020004. The runtime will prefer the VTID if present
+  @VTID(11)
+  boolean isDownloadedArtwork();
+
+
+  /**
+   * <p>
+   * The description for the artwork.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Description"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610743813) //= 0x60020005. The runtime will prefer the VTID if present
+  @VTID(12)
+  java.lang.String description();
+
+
+  /**
+   * <p>
+   * The description for the artwork.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Description"
+   * </p>
+   * @param description Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610743813) //= 0x60020005. The runtime will prefer the VTID if present
+  @VTID(13)
+  void description(
+    java.lang.String description);
+
+
+  // Properties:
+}

+ 58 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITArtworkCollection.java

@@ -0,0 +1,58 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITArtworkCollection Interface
+ */
+@IID("{BF2742D7-418C-4858-9AF9-2981B062D23E}")
+public interface IITArtworkCollection extends Com4jObject,Iterable<Com4jObject> {
+  // Methods:
+  /**
+   * <p>
+   * Returns the number of pieces of artwork in the collection.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Count"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610743808) //= 0x60020000. The runtime will prefer the VTID if present
+  @VTID(7)
+  int count();
+
+
+  /**
+   * <p>
+   * Returns an IITArtwork object corresponding to the given index (1-based).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Item"
+   * </p>
+   * @param index Mandatory int parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITArtwork
+   */
+
+  @DISPID(0) //= 0x0. The runtime will prefer the VTID if present
+  @VTID(8)
+  @DefaultMethod
+  de.nplusc.izc.izpl.plugins.itunes.api.IITArtwork item(
+    int index);
+
+
+  /**
+   * <p>
+   * Returns an IEnumVARIANT object which can enumerate the collection.
+   * </p>
+   * <p>
+   * Getter method for the COM property "_NewEnum"
+   * </p>
+   */
+
+  @DISPID(-4) //= 0xfffffffc. The runtime will prefer the VTID if present
+  @VTID(9)
+  java.util.Iterator<Com4jObject> iterator();
+
+  // Properties:
+}

+ 128 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITAudioCDPlaylist.java

@@ -0,0 +1,128 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITAudioCDPlaylist Interface
+ */
+@IID("{CF496DF3-0FED-4D7D-9BD8-529B6E8A082E}")
+public interface IITAudioCDPlaylist extends de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist {
+  // Methods:
+  /**
+   * <p>
+   * The artist of the CD.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Artist"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610874880) //= 0x60040000. The runtime will prefer the VTID if present
+  @VTID(30)
+  java.lang.String artist();
+
+
+  /**
+   * <p>
+   * True if this CD is a compilation album.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Compilation"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610874881) //= 0x60040001. The runtime will prefer the VTID if present
+  @VTID(31)
+  boolean compilation();
+
+
+  /**
+   * <p>
+   * The composer of the CD.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Composer"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610874882) //= 0x60040002. The runtime will prefer the VTID if present
+  @VTID(32)
+  java.lang.String composer();
+
+
+  /**
+   * <p>
+   * The total number of discs in this CD's album.
+   * </p>
+   * <p>
+   * Getter method for the COM property "DiscCount"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610874883) //= 0x60040003. The runtime will prefer the VTID if present
+  @VTID(33)
+  int discCount();
+
+
+  /**
+   * <p>
+   * The index of the CD disc in the source album.
+   * </p>
+   * <p>
+   * Getter method for the COM property "DiscNumber"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610874884) //= 0x60040004. The runtime will prefer the VTID if present
+  @VTID(34)
+  int discNumber();
+
+
+  /**
+   * <p>
+   * The genre of the CD.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Genre"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610874885) //= 0x60040005. The runtime will prefer the VTID if present
+  @VTID(35)
+  java.lang.String genre();
+
+
+  /**
+   * <p>
+   * The year the album was recorded/released.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Year"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610874886) //= 0x60040006. The runtime will prefer the VTID if present
+  @VTID(36)
+  int year();
+
+
+  /**
+   * <p>
+   * Reveal the CD playlist in the main browser window.
+   * </p>
+   */
+
+  @DISPID(1610874887) //= 0x60040007. The runtime will prefer the VTID if present
+  @VTID(37)
+  void reveal();
+
+
+  // Properties:
+}

+ 94 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITBrowserWindow.java

@@ -0,0 +1,94 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITBrowserWindow Interface
+ */
+@IID("{C999F455-C4D5-4AA4-8277-F99753699974}")
+public interface IITBrowserWindow extends de.nplusc.izc.izpl.plugins.itunes.api.IITWindow {
+  // Methods:
+  /**
+   * <p>
+   * True if window is in Mini Player mode.
+   * </p>
+   * <p>
+   * Getter method for the COM property "MiniPlayer"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610809344) //= 0x60030000. The runtime will prefer the VTID if present
+  @VTID(32)
+  boolean miniPlayer();
+
+
+  /**
+   * <p>
+   * True if window is in Mini Player mode.
+   * </p>
+   * <p>
+   * Setter method for the COM property "MiniPlayer"
+   * </p>
+   * @param isMiniPlayer Mandatory boolean parameter.
+   */
+
+  @DISPID(1610809344) //= 0x60030000. The runtime will prefer the VTID if present
+  @VTID(33)
+  void miniPlayer(
+    boolean isMiniPlayer);
+
+
+  /**
+   * <p>
+   * Returns a collection containing the currently selected track or tracks.
+   * </p>
+   * <p>
+   * Getter method for the COM property "SelectedTracks"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITTrackCollection
+   */
+
+  @DISPID(1610809346) //= 0x60030002. The runtime will prefer the VTID if present
+  @VTID(34)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITTrackCollection selectedTracks();
+
+
+  @VTID(34)
+  @ReturnValue(defaultPropertyThrough={de.nplusc.izc.izpl.plugins.itunes.api.IITTrackCollection.class})
+  de.nplusc.izc.izpl.plugins.itunes.api.IITTrack selectedTracks(
+    int index);
+
+  /**
+   * <p>
+   * The currently selected playlist in the Source list.
+   * </p>
+   * <p>
+   * Getter method for the COM property "SelectedPlaylist"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist
+   */
+
+  @DISPID(1610809347) //= 0x60030003. The runtime will prefer the VTID if present
+  @VTID(35)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist selectedPlaylist();
+
+
+  /**
+   * <p>
+   * The currently selected playlist in the Source list.
+   * </p>
+   * <p>
+   * Setter method for the COM property "SelectedPlaylist"
+   * </p>
+   * @param iPlaylist Mandatory java.lang.Object parameter.
+   */
+
+  @DISPID(1610809347) //= 0x60030003. The runtime will prefer the VTID if present
+  @VTID(36)
+  void selectedPlaylist(
+    java.lang.Object iPlaylist);
+
+
+  // Properties:
+}

+ 85 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITConvertOperationStatus.java

@@ -0,0 +1,85 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITConvertOperationStatus Interface
+ */
+@IID("{7063AAF6-ABA0-493B-B4FC-920A9F105875}")
+public interface IITConvertOperationStatus extends de.nplusc.izc.izpl.plugins.itunes.api.IITOperationStatus {
+  // Methods:
+  /**
+   * <p>
+   * Returns the current conversion status.
+   * </p>
+   * @param trackName Mandatory Holder<java.lang.String> parameter.
+   * @param progressValue Mandatory Holder<Integer> parameter.
+   * @param maxProgressValue Mandatory Holder<Integer> parameter.
+   */
+
+  @DISPID(1610809344) //= 0x60030000. The runtime will prefer the VTID if present
+  @VTID(9)
+  void getConversionStatus(
+    Holder<java.lang.String> trackName,
+    Holder<Integer> progressValue,
+    Holder<Integer> maxProgressValue);
+
+
+  /**
+   * <p>
+   * Stops the current conversion operation.
+   * </p>
+   */
+
+  @DISPID(1610809345) //= 0x60030001. The runtime will prefer the VTID if present
+  @VTID(10)
+  void stopConversion();
+
+
+  /**
+   * <p>
+   * Returns the name of the track currently being converted.
+   * </p>
+   * <p>
+   * Getter method for the COM property "trackName"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610809346) //= 0x60030002. The runtime will prefer the VTID if present
+  @VTID(11)
+  java.lang.String trackName();
+
+
+  /**
+   * <p>
+   * Returns the current progress value for the track being converted.
+   * </p>
+   * <p>
+   * Getter method for the COM property "progressValue"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610809347) //= 0x60030003. The runtime will prefer the VTID if present
+  @VTID(12)
+  int progressValue();
+
+
+  /**
+   * <p>
+   * Returns the maximum progress value for the track being converted.
+   * </p>
+   * <p>
+   * Getter method for the COM property "maxProgressValue"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610809348) //= 0x60030004. The runtime will prefer the VTID if present
+  @VTID(13)
+  int maxProgressValue();
+
+
+  // Properties:
+}

+ 411 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITEQPreset.java

@@ -0,0 +1,411 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITEQPreset Interface
+ */
+@IID("{5BE75F4F-68FA-4212-ACB7-BE44EA569759}")
+public interface IITEQPreset extends Com4jObject {
+  // Methods:
+  /**
+   * <p>
+   * The name of the the EQ preset.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Name"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610743808) //= 0x60020000. The runtime will prefer the VTID if present
+  @VTID(7)
+  java.lang.String name();
+
+
+  /**
+   * <p>
+   * True if this EQ preset can be modified.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Modifiable"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610743809) //= 0x60020001. The runtime will prefer the VTID if present
+  @VTID(8)
+  boolean modifiable();
+
+
+  /**
+   * <p>
+   * The equalizer preamp level (-12.0 db to +12.0 db).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Preamp"
+   * </p>
+   * @return  Returns a value of type double
+   */
+
+  @DISPID(1610743810) //= 0x60020002. The runtime will prefer the VTID if present
+  @VTID(9)
+  double preamp();
+
+
+  /**
+   * <p>
+   * The equalizer preamp level (-12.0 db to +12.0 db).
+   * </p>
+   * <p>
+   * Setter method for the COM property "Preamp"
+   * </p>
+   * @param level Mandatory double parameter.
+   */
+
+  @DISPID(1610743810) //= 0x60020002. The runtime will prefer the VTID if present
+  @VTID(10)
+  void preamp(
+    double level);
+
+
+  /**
+   * <p>
+   * The equalizer 32Hz band level (-12.0 db to +12.0 db).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Band1"
+   * </p>
+   * @return  Returns a value of type double
+   */
+
+  @DISPID(1610743812) //= 0x60020004. The runtime will prefer the VTID if present
+  @VTID(11)
+  double band1();
+
+
+  /**
+   * <p>
+   * The equalizer 32Hz band level (-12.0 db to +12.0 db).
+   * </p>
+   * <p>
+   * Setter method for the COM property "Band1"
+   * </p>
+   * @param level Mandatory double parameter.
+   */
+
+  @DISPID(1610743812) //= 0x60020004. The runtime will prefer the VTID if present
+  @VTID(12)
+  void band1(
+    double level);
+
+
+  /**
+   * <p>
+   * The equalizer 64Hz band level (-12.0 db to +12.0 db).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Band2"
+   * </p>
+   * @return  Returns a value of type double
+   */
+
+  @DISPID(1610743814) //= 0x60020006. The runtime will prefer the VTID if present
+  @VTID(13)
+  double band2();
+
+
+  /**
+   * <p>
+   * The equalizer 64Hz band level (-12.0 db to +12.0 db).
+   * </p>
+   * <p>
+   * Setter method for the COM property "Band2"
+   * </p>
+   * @param level Mandatory double parameter.
+   */
+
+  @DISPID(1610743814) //= 0x60020006. The runtime will prefer the VTID if present
+  @VTID(14)
+  void band2(
+    double level);
+
+
+  /**
+   * <p>
+   * The equalizer 125Hz band level (-12.0 db to +12.0 db).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Band3"
+   * </p>
+   * @return  Returns a value of type double
+   */
+
+  @DISPID(1610743816) //= 0x60020008. The runtime will prefer the VTID if present
+  @VTID(15)
+  double band3();
+
+
+  /**
+   * <p>
+   * The equalizer 125Hz band level (-12.0 db to +12.0 db).
+   * </p>
+   * <p>
+   * Setter method for the COM property "Band3"
+   * </p>
+   * @param level Mandatory double parameter.
+   */
+
+  @DISPID(1610743816) //= 0x60020008. The runtime will prefer the VTID if present
+  @VTID(16)
+  void band3(
+    double level);
+
+
+  /**
+   * <p>
+   * The equalizer 250Hz band level (-12.0 db to +12.0 db).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Band4"
+   * </p>
+   * @return  Returns a value of type double
+   */
+
+  @DISPID(1610743818) //= 0x6002000a. The runtime will prefer the VTID if present
+  @VTID(17)
+  double band4();
+
+
+  /**
+   * <p>
+   * The equalizer 250Hz band level (-12.0 db to +12.0 db).
+   * </p>
+   * <p>
+   * Setter method for the COM property "Band4"
+   * </p>
+   * @param level Mandatory double parameter.
+   */
+
+  @DISPID(1610743818) //= 0x6002000a. The runtime will prefer the VTID if present
+  @VTID(18)
+  void band4(
+    double level);
+
+
+  /**
+   * <p>
+   * The equalizer 500Hz band level (-12.0 db to +12.0 db).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Band5"
+   * </p>
+   * @return  Returns a value of type double
+   */
+
+  @DISPID(1610743820) //= 0x6002000c. The runtime will prefer the VTID if present
+  @VTID(19)
+  double band5();
+
+
+  /**
+   * <p>
+   * The equalizer 500Hz band level (-12.0 db to +12.0 db).
+   * </p>
+   * <p>
+   * Setter method for the COM property "Band5"
+   * </p>
+   * @param level Mandatory double parameter.
+   */
+
+  @DISPID(1610743820) //= 0x6002000c. The runtime will prefer the VTID if present
+  @VTID(20)
+  void band5(
+    double level);
+
+
+  /**
+   * <p>
+   * The equalizer 1KHz band level (-12.0 db to +12.0 db).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Band6"
+   * </p>
+   * @return  Returns a value of type double
+   */
+
+  @DISPID(1610743822) //= 0x6002000e. The runtime will prefer the VTID if present
+  @VTID(21)
+  double band6();
+
+
+  /**
+   * <p>
+   * The equalizer 1KHz band level (-12.0 db to +12.0 db).
+   * </p>
+   * <p>
+   * Setter method for the COM property "Band6"
+   * </p>
+   * @param level Mandatory double parameter.
+   */
+
+  @DISPID(1610743822) //= 0x6002000e. The runtime will prefer the VTID if present
+  @VTID(22)
+  void band6(
+    double level);
+
+
+  /**
+   * <p>
+   * The equalizer 2KHz band level (-12.0 db to +12.0 db).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Band7"
+   * </p>
+   * @return  Returns a value of type double
+   */
+
+  @DISPID(1610743824) //= 0x60020010. The runtime will prefer the VTID if present
+  @VTID(23)
+  double band7();
+
+
+  /**
+   * <p>
+   * The equalizer 2KHz band level (-12.0 db to +12.0 db).
+   * </p>
+   * <p>
+   * Setter method for the COM property "Band7"
+   * </p>
+   * @param level Mandatory double parameter.
+   */
+
+  @DISPID(1610743824) //= 0x60020010. The runtime will prefer the VTID if present
+  @VTID(24)
+  void band7(
+    double level);
+
+
+  /**
+   * <p>
+   * The equalizer 4KHz band level (-12.0 db to +12.0 db).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Band8"
+   * </p>
+   * @return  Returns a value of type double
+   */
+
+  @DISPID(1610743826) //= 0x60020012. The runtime will prefer the VTID if present
+  @VTID(25)
+  double band8();
+
+
+  /**
+   * <p>
+   * The equalizer 4KHz band level (-12.0 db to +12.0 db).
+   * </p>
+   * <p>
+   * Setter method for the COM property "Band8"
+   * </p>
+   * @param level Mandatory double parameter.
+   */
+
+  @DISPID(1610743826) //= 0x60020012. The runtime will prefer the VTID if present
+  @VTID(26)
+  void band8(
+    double level);
+
+
+  /**
+   * <p>
+   * The equalizer 8KHz band level (-12.0 db to +12.0 db).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Band9"
+   * </p>
+   * @return  Returns a value of type double
+   */
+
+  @DISPID(1610743828) //= 0x60020014. The runtime will prefer the VTID if present
+  @VTID(27)
+  double band9();
+
+
+  /**
+   * <p>
+   * The equalizer 8KHz band level (-12.0 db to +12.0 db).
+   * </p>
+   * <p>
+   * Setter method for the COM property "Band9"
+   * </p>
+   * @param level Mandatory double parameter.
+   */
+
+  @DISPID(1610743828) //= 0x60020014. The runtime will prefer the VTID if present
+  @VTID(28)
+  void band9(
+    double level);
+
+
+  /**
+   * <p>
+   * The equalizer 16KHz band level (-12.0 db to +12.0 db).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Band10"
+   * </p>
+   * @return  Returns a value of type double
+   */
+
+  @DISPID(1610743830) //= 0x60020016. The runtime will prefer the VTID if present
+  @VTID(29)
+  double band10();
+
+
+  /**
+   * <p>
+   * The equalizer 16KHz band level (-12.0 db to +12.0 db).
+   * </p>
+   * <p>
+   * Setter method for the COM property "Band10"
+   * </p>
+   * @param level Mandatory double parameter.
+   */
+
+  @DISPID(1610743830) //= 0x60020016. The runtime will prefer the VTID if present
+  @VTID(30)
+  void band10(
+    double level);
+
+
+  /**
+   * <p>
+   * Delete this EQ preset.
+   * </p>
+   * @param updateAllTracks Mandatory boolean parameter.
+   */
+
+  @DISPID(1610743832) //= 0x60020018. The runtime will prefer the VTID if present
+  @VTID(31)
+  void delete(
+    boolean updateAllTracks);
+
+
+  /**
+   * <p>
+   * Rename this EQ preset.
+   * </p>
+   * @param newName Mandatory java.lang.String parameter.
+   * @param updateAllTracks Mandatory boolean parameter.
+   */
+
+  @DISPID(1610743833) //= 0x60020019. The runtime will prefer the VTID if present
+  @VTID(32)
+  void rename(
+    java.lang.String newName,
+    boolean updateAllTracks);
+
+
+  // Properties:
+}

+ 75 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITEQPresetCollection.java

@@ -0,0 +1,75 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITEQPresetCollection Interface
+ */
+@IID("{AEF4D111-3331-48DA-B0C2-B468D5D61D08}")
+public interface IITEQPresetCollection extends Com4jObject,Iterable<Com4jObject> {
+  // Methods:
+  /**
+   * <p>
+   * Returns the number of EQ presets in the collection.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Count"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610743808) //= 0x60020000. The runtime will prefer the VTID if present
+  @VTID(7)
+  int count();
+
+
+  /**
+   * <p>
+   * Returns an IITEQPreset object corresponding to the given index (1-based).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Item"
+   * </p>
+   * @param index Mandatory int parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITEQPreset
+   */
+
+  @DISPID(0) //= 0x0. The runtime will prefer the VTID if present
+  @VTID(8)
+  @DefaultMethod
+  de.nplusc.izc.izpl.plugins.itunes.api.IITEQPreset item(
+    int index);
+
+
+  /**
+   * <p>
+   * Returns an IITEQPreset object with the specified name.
+   * </p>
+   * <p>
+   * Getter method for the COM property "ItemByName"
+   * </p>
+   * @param name Mandatory java.lang.String parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITEQPreset
+   */
+
+  @DISPID(1610743810) //= 0x60020002. The runtime will prefer the VTID if present
+  @VTID(9)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITEQPreset itemByName(
+    java.lang.String name);
+
+
+  /**
+   * <p>
+   * Returns an IEnumVARIANT object which can enumerate the collection.
+   * </p>
+   * <p>
+   * Getter method for the COM property "_NewEnum"
+   * </p>
+   */
+
+  @DISPID(-4) //= 0xfffffffc. The runtime will prefer the VTID if present
+  @VTID(10)
+  java.util.Iterator<Com4jObject> iterator();
+
+  // Properties:
+}

+ 42 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITEncoder.java

@@ -0,0 +1,42 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITEncoder Interface
+ */
+@IID("{1CF95A1C-55FE-4F45-A2D3-85AC6C504A73}")
+public interface IITEncoder extends Com4jObject {
+  // Methods:
+  /**
+   * <p>
+   * The name of the the encoder.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Name"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610743808) //= 0x60020000. The runtime will prefer the VTID if present
+  @VTID(7)
+  java.lang.String name();
+
+
+  /**
+   * <p>
+   * The data format created by the encoder.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Format"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610743809) //= 0x60020001. The runtime will prefer the VTID if present
+  @VTID(8)
+  java.lang.String format();
+
+
+  // Properties:
+}

+ 75 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITEncoderCollection.java

@@ -0,0 +1,75 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITEncoderCollection Interface
+ */
+@IID("{8862BCA9-168D-4549-A9D5-ADB35E553BA6}")
+public interface IITEncoderCollection extends Com4jObject,Iterable<Com4jObject> {
+  // Methods:
+  /**
+   * <p>
+   * Returns the number of encoders in the collection.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Count"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610743808) //= 0x60020000. The runtime will prefer the VTID if present
+  @VTID(7)
+  int count();
+
+
+  /**
+   * <p>
+   * Returns an IITEncoder object corresponding to the given index (1-based).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Item"
+   * </p>
+   * @param index Mandatory int parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITEncoder
+   */
+
+  @DISPID(0) //= 0x0. The runtime will prefer the VTID if present
+  @VTID(8)
+  @DefaultMethod
+  de.nplusc.izc.izpl.plugins.itunes.api.IITEncoder item(
+    int index);
+
+
+  /**
+   * <p>
+   * Returns an IITEncoder object with the specified name.
+   * </p>
+   * <p>
+   * Getter method for the COM property "ItemByName"
+   * </p>
+   * @param name Mandatory java.lang.String parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITEncoder
+   */
+
+  @DISPID(1610743810) //= 0x60020002. The runtime will prefer the VTID if present
+  @VTID(9)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITEncoder itemByName(
+    java.lang.String name);
+
+
+  /**
+   * <p>
+   * Returns an IEnumVARIANT object which can enumerate the collection.
+   * </p>
+   * <p>
+   * Getter method for the COM property "_NewEnum"
+   * </p>
+   */
+
+  @DISPID(-4) //= 0xfffffffc. The runtime will prefer the VTID if present
+  @VTID(10)
+  java.util.Iterator<Com4jObject> iterator();
+
+  // Properties:
+}

+ 930 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITFileOrCDTrack.java

@@ -0,0 +1,930 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITFileOrCDTrack Interface
+ */
+@IID("{00D7FE99-7868-4CC7-AD9E-ACFD70D09566}")
+public interface IITFileOrCDTrack extends de.nplusc.izc.izpl.plugins.itunes.api.IITTrack {
+  // Methods:
+  /**
+   * <p>
+   * The full path to the file represented by this track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Location"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610874880) //= 0x60040000. The runtime will prefer the VTID if present
+  @VTID(72)
+  java.lang.String location();
+
+
+  /**
+   * <p>
+   * Update this track's information with the information stored in its file.
+   * </p>
+   */
+
+  @DISPID(1610874881) //= 0x60040001. The runtime will prefer the VTID if present
+  @VTID(73)
+  void updateInfoFromFile();
+
+
+  /**
+   * <p>
+   * True if this is a podcast track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Podcast"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610874882) //= 0x60040002. The runtime will prefer the VTID if present
+  @VTID(74)
+  boolean podcast();
+
+
+  /**
+   * <p>
+   * Update the podcast feed for this track.
+   * </p>
+   */
+
+  @DISPID(1610874883) //= 0x60040003. The runtime will prefer the VTID if present
+  @VTID(75)
+  void updatePodcastFeed();
+
+
+  /**
+   * <p>
+   * True if playback position is remembered.
+   * </p>
+   * <p>
+   * Getter method for the COM property "RememberBookmark"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610874884) //= 0x60040004. The runtime will prefer the VTID if present
+  @VTID(76)
+  boolean rememberBookmark();
+
+
+  /**
+   * <p>
+   * True if playback position is remembered.
+   * </p>
+   * <p>
+   * Setter method for the COM property "RememberBookmark"
+   * </p>
+   * @param rememberBookmark Mandatory boolean parameter.
+   */
+
+  @DISPID(1610874884) //= 0x60040004. The runtime will prefer the VTID if present
+  @VTID(77)
+  void rememberBookmark(
+    boolean rememberBookmark);
+
+
+  /**
+   * <p>
+   * True if track is skipped when shuffling.
+   * </p>
+   * <p>
+   * Getter method for the COM property "ExcludeFromShuffle"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610874886) //= 0x60040006. The runtime will prefer the VTID if present
+  @VTID(78)
+  boolean excludeFromShuffle();
+
+
+  /**
+   * <p>
+   * True if track is skipped when shuffling.
+   * </p>
+   * <p>
+   * Setter method for the COM property "ExcludeFromShuffle"
+   * </p>
+   * @param excludeFromShuffle Mandatory boolean parameter.
+   */
+
+  @DISPID(1610874886) //= 0x60040006. The runtime will prefer the VTID if present
+  @VTID(79)
+  void excludeFromShuffle(
+    boolean excludeFromShuffle);
+
+
+  /**
+   * <p>
+   * Lyrics for the track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Lyrics"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610874888) //= 0x60040008. The runtime will prefer the VTID if present
+  @VTID(80)
+  java.lang.String lyrics();
+
+
+  /**
+   * <p>
+   * Lyrics for the track.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Lyrics"
+   * </p>
+   * @param lyrics Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610874888) //= 0x60040008. The runtime will prefer the VTID if present
+  @VTID(81)
+  void lyrics(
+    java.lang.String lyrics);
+
+
+  /**
+   * <p>
+   * Category for the track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Category"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610874890) //= 0x6004000a. The runtime will prefer the VTID if present
+  @VTID(82)
+  java.lang.String category();
+
+
+  /**
+   * <p>
+   * Category for the track.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Category"
+   * </p>
+   * @param category Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610874890) //= 0x6004000a. The runtime will prefer the VTID if present
+  @VTID(83)
+  void category(
+    java.lang.String category);
+
+
+  /**
+   * <p>
+   * Description for the track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Description"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610874892) //= 0x6004000c. The runtime will prefer the VTID if present
+  @VTID(84)
+  java.lang.String description();
+
+
+  /**
+   * <p>
+   * Description for the track.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Description"
+   * </p>
+   * @param description Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610874892) //= 0x6004000c. The runtime will prefer the VTID if present
+  @VTID(85)
+  void description(
+    java.lang.String description);
+
+
+  /**
+   * <p>
+   * Long description for the track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "LongDescription"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610874894) //= 0x6004000e. The runtime will prefer the VTID if present
+  @VTID(86)
+  java.lang.String longDescription();
+
+
+  /**
+   * <p>
+   * Long description for the track.
+   * </p>
+   * <p>
+   * Setter method for the COM property "LongDescription"
+   * </p>
+   * @param longDescription Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610874894) //= 0x6004000e. The runtime will prefer the VTID if present
+  @VTID(87)
+  void longDescription(
+    java.lang.String longDescription);
+
+
+  /**
+   * <p>
+   * The bookmark time of the track (in seconds).
+   * </p>
+   * <p>
+   * Getter method for the COM property "BookmarkTime"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610874896) //= 0x60040010. The runtime will prefer the VTID if present
+  @VTID(88)
+  int bookmarkTime();
+
+
+  /**
+   * <p>
+   * The bookmark time of the track (in seconds).
+   * </p>
+   * <p>
+   * Setter method for the COM property "BookmarkTime"
+   * </p>
+   * @param bookmarkTime Mandatory int parameter.
+   */
+
+  @DISPID(1610874896) //= 0x60040010. The runtime will prefer the VTID if present
+  @VTID(89)
+  void bookmarkTime(
+    int bookmarkTime);
+
+
+  /**
+   * <p>
+   * The video track kind.
+   * </p>
+   * <p>
+   * Getter method for the COM property "VideoKind"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0089_0002
+   */
+
+  @DISPID(1610874898) //= 0x60040012. The runtime will prefer the VTID if present
+  @VTID(90)
+  de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0089_0002 videoKind();
+
+
+  /**
+   * <p>
+   * The video track kind.
+   * </p>
+   * <p>
+   * Setter method for the COM property "VideoKind"
+   * </p>
+   * @param videoKind Mandatory de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0089_0002 parameter.
+   */
+
+  @DISPID(1610874898) //= 0x60040012. The runtime will prefer the VTID if present
+  @VTID(91)
+  void videoKind(
+    de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0089_0002 videoKind);
+
+
+  /**
+   * <p>
+   * The number of times the track has been skipped.
+   * </p>
+   * <p>
+   * Getter method for the COM property "SkippedCount"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610874900) //= 0x60040014. The runtime will prefer the VTID if present
+  @VTID(92)
+  int skippedCount();
+
+
+  /**
+   * <p>
+   * The number of times the track has been skipped.
+   * </p>
+   * <p>
+   * Setter method for the COM property "SkippedCount"
+   * </p>
+   * @param skippedCount Mandatory int parameter.
+   */
+
+  @DISPID(1610874900) //= 0x60040014. The runtime will prefer the VTID if present
+  @VTID(93)
+  void skippedCount(
+    int skippedCount);
+
+
+  /**
+   * <p>
+   * The date and time the track was last skipped.  A value of zero means no skipped date.
+   * </p>
+   * <p>
+   * Getter method for the COM property "SkippedDate"
+   * </p>
+   * @return  Returns a value of type java.util.Date
+   */
+
+  @DISPID(1610874902) //= 0x60040016. The runtime will prefer the VTID if present
+  @VTID(94)
+  java.util.Date skippedDate();
+
+
+  /**
+   * <p>
+   * The date and time the track was last skipped.  A value of zero means no skipped date.
+   * </p>
+   * <p>
+   * Setter method for the COM property "SkippedDate"
+   * </p>
+   * @param skippedDate Mandatory java.util.Date parameter.
+   */
+
+  @DISPID(1610874902) //= 0x60040016. The runtime will prefer the VTID if present
+  @VTID(95)
+  void skippedDate(
+    java.util.Date skippedDate);
+
+
+  /**
+   * <p>
+   * True if track is part of a gapless album.
+   * </p>
+   * <p>
+   * Getter method for the COM property "PartOfGaplessAlbum"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610874904) //= 0x60040018. The runtime will prefer the VTID if present
+  @VTID(96)
+  boolean partOfGaplessAlbum();
+
+
+  /**
+   * <p>
+   * True if track is part of a gapless album.
+   * </p>
+   * <p>
+   * Setter method for the COM property "PartOfGaplessAlbum"
+   * </p>
+   * @param partOfGaplessAlbum Mandatory boolean parameter.
+   */
+
+  @DISPID(1610874904) //= 0x60040018. The runtime will prefer the VTID if present
+  @VTID(97)
+  void partOfGaplessAlbum(
+    boolean partOfGaplessAlbum);
+
+
+  /**
+   * <p>
+   * The album artist of the track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "AlbumArtist"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610874906) //= 0x6004001a. The runtime will prefer the VTID if present
+  @VTID(98)
+  java.lang.String albumArtist();
+
+
+  /**
+   * <p>
+   * The album artist of the track.
+   * </p>
+   * <p>
+   * Setter method for the COM property "AlbumArtist"
+   * </p>
+   * @param albumArtist Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610874906) //= 0x6004001a. The runtime will prefer the VTID if present
+  @VTID(99)
+  void albumArtist(
+    java.lang.String albumArtist);
+
+
+  /**
+   * <p>
+   * The show name of the track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Show"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610874908) //= 0x6004001c. The runtime will prefer the VTID if present
+  @VTID(100)
+  java.lang.String show();
+
+
+  /**
+   * <p>
+   * The show name of the track.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Show"
+   * </p>
+   * @param showName Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610874908) //= 0x6004001c. The runtime will prefer the VTID if present
+  @VTID(101)
+  void show(
+    java.lang.String showName);
+
+
+  /**
+   * <p>
+   * The season number of the track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "SeasonNumber"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610874910) //= 0x6004001e. The runtime will prefer the VTID if present
+  @VTID(102)
+  int seasonNumber();
+
+
+  /**
+   * <p>
+   * The season number of the track.
+   * </p>
+   * <p>
+   * Setter method for the COM property "SeasonNumber"
+   * </p>
+   * @param seasonNumber Mandatory int parameter.
+   */
+
+  @DISPID(1610874910) //= 0x6004001e. The runtime will prefer the VTID if present
+  @VTID(103)
+  void seasonNumber(
+    int seasonNumber);
+
+
+  /**
+   * <p>
+   * The episode ID of the track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "EpisodeID"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610874912) //= 0x60040020. The runtime will prefer the VTID if present
+  @VTID(104)
+  java.lang.String episodeID();
+
+
+  /**
+   * <p>
+   * The episode ID of the track.
+   * </p>
+   * <p>
+   * Setter method for the COM property "EpisodeID"
+   * </p>
+   * @param episodeID Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610874912) //= 0x60040020. The runtime will prefer the VTID if present
+  @VTID(105)
+  void episodeID(
+    java.lang.String episodeID);
+
+
+  /**
+   * <p>
+   * The episode number of the track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "EpisodeNumber"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610874914) //= 0x60040022. The runtime will prefer the VTID if present
+  @VTID(106)
+  int episodeNumber();
+
+
+  /**
+   * <p>
+   * The episode number of the track.
+   * </p>
+   * <p>
+   * Setter method for the COM property "EpisodeNumber"
+   * </p>
+   * @param episodeNumber Mandatory int parameter.
+   */
+
+  @DISPID(1610874914) //= 0x60040022. The runtime will prefer the VTID if present
+  @VTID(107)
+  void episodeNumber(
+    int episodeNumber);
+
+
+  /**
+   * <p>
+   * The high 32-bits of the size of the track (in bytes).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Size64High"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610874916) //= 0x60040024. The runtime will prefer the VTID if present
+  @VTID(108)
+  int size64High();
+
+
+  /**
+   * <p>
+   * The low 32-bits of the size of the track (in bytes).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Size64Low"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610874917) //= 0x60040025. The runtime will prefer the VTID if present
+  @VTID(109)
+  int size64Low();
+
+
+  /**
+   * <p>
+   * True if track has not been played.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Unplayed"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610874918) //= 0x60040026. The runtime will prefer the VTID if present
+  @VTID(110)
+  boolean unplayed();
+
+
+  /**
+   * <p>
+   * True if track has not been played.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Unplayed"
+   * </p>
+   * @param isUnplayed Mandatory boolean parameter.
+   */
+
+  @DISPID(1610874918) //= 0x60040026. The runtime will prefer the VTID if present
+  @VTID(111)
+  void unplayed(
+    boolean isUnplayed);
+
+
+  /**
+   * <p>
+   * The album used for sorting.
+   * </p>
+   * <p>
+   * Getter method for the COM property "SortAlbum"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610874920) //= 0x60040028. The runtime will prefer the VTID if present
+  @VTID(112)
+  java.lang.String sortAlbum();
+
+
+  /**
+   * <p>
+   * The album used for sorting.
+   * </p>
+   * <p>
+   * Setter method for the COM property "SortAlbum"
+   * </p>
+   * @param album Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610874920) //= 0x60040028. The runtime will prefer the VTID if present
+  @VTID(113)
+  void sortAlbum(
+    java.lang.String album);
+
+
+  /**
+   * <p>
+   * The album artist used for sorting.
+   * </p>
+   * <p>
+   * Getter method for the COM property "SortAlbumArtist"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610874922) //= 0x6004002a. The runtime will prefer the VTID if present
+  @VTID(114)
+  java.lang.String sortAlbumArtist();
+
+
+  /**
+   * <p>
+   * The album artist used for sorting.
+   * </p>
+   * <p>
+   * Setter method for the COM property "SortAlbumArtist"
+   * </p>
+   * @param albumArtist Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610874922) //= 0x6004002a. The runtime will prefer the VTID if present
+  @VTID(115)
+  void sortAlbumArtist(
+    java.lang.String albumArtist);
+
+
+  /**
+   * <p>
+   * The artist used for sorting.
+   * </p>
+   * <p>
+   * Getter method for the COM property "SortArtist"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610874924) //= 0x6004002c. The runtime will prefer the VTID if present
+  @VTID(116)
+  java.lang.String sortArtist();
+
+
+  /**
+   * <p>
+   * The artist used for sorting.
+   * </p>
+   * <p>
+   * Setter method for the COM property "SortArtist"
+   * </p>
+   * @param artist Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610874924) //= 0x6004002c. The runtime will prefer the VTID if present
+  @VTID(117)
+  void sortArtist(
+    java.lang.String artist);
+
+
+  /**
+   * <p>
+   * The composer used for sorting.
+   * </p>
+   * <p>
+   * Getter method for the COM property "SortComposer"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610874926) //= 0x6004002e. The runtime will prefer the VTID if present
+  @VTID(118)
+  java.lang.String sortComposer();
+
+
+  /**
+   * <p>
+   * The composer used for sorting.
+   * </p>
+   * <p>
+   * Setter method for the COM property "SortComposer"
+   * </p>
+   * @param composer Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610874926) //= 0x6004002e. The runtime will prefer the VTID if present
+  @VTID(119)
+  void sortComposer(
+    java.lang.String composer);
+
+
+  /**
+   * <p>
+   * The track name used for sorting.
+   * </p>
+   * <p>
+   * Getter method for the COM property "SortName"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610874928) //= 0x60040030. The runtime will prefer the VTID if present
+  @VTID(120)
+  java.lang.String sortName();
+
+
+  /**
+   * <p>
+   * The track name used for sorting.
+   * </p>
+   * <p>
+   * Setter method for the COM property "SortName"
+   * </p>
+   * @param name Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610874928) //= 0x60040030. The runtime will prefer the VTID if present
+  @VTID(121)
+  void sortName(
+    java.lang.String name);
+
+
+  /**
+   * <p>
+   * The show name used for sorting.
+   * </p>
+   * <p>
+   * Getter method for the COM property "SortShow"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610874930) //= 0x60040032. The runtime will prefer the VTID if present
+  @VTID(122)
+  java.lang.String sortShow();
+
+
+  /**
+   * <p>
+   * The show name used for sorting.
+   * </p>
+   * <p>
+   * Setter method for the COM property "SortShow"
+   * </p>
+   * @param showName Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610874930) //= 0x60040032. The runtime will prefer the VTID if present
+  @VTID(123)
+  void sortShow(
+    java.lang.String showName);
+
+
+  /**
+   * <p>
+   * Reveal the track in the main browser window.
+   * </p>
+   */
+
+  @DISPID(1610874932) //= 0x60040034. The runtime will prefer the VTID if present
+  @VTID(124)
+  void reveal();
+
+
+  /**
+   * <p>
+   * The user or computed rating of the album that this track belongs to (0 to 100).
+   * </p>
+   * <p>
+   * Getter method for the COM property "AlbumRating"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610874933) //= 0x60040035. The runtime will prefer the VTID if present
+  @VTID(125)
+  int albumRating();
+
+
+  /**
+   * <p>
+   * The user or computed rating of the album that this track belongs to (0 to 100).
+   * </p>
+   * <p>
+   * Setter method for the COM property "AlbumRating"
+   * </p>
+   * @param rating Mandatory int parameter.
+   */
+
+  @DISPID(1610874933) //= 0x60040035. The runtime will prefer the VTID if present
+  @VTID(126)
+  void albumRating(
+    int rating);
+
+
+  /**
+   * <p>
+   * The album rating kind.
+   * </p>
+   * <p>
+   * Getter method for the COM property "AlbumRatingKind"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0089_0003
+   */
+
+  @DISPID(1610874935) //= 0x60040037. The runtime will prefer the VTID if present
+  @VTID(127)
+  de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0089_0003 albumRatingKind();
+
+
+  /**
+   * <p>
+   * The track rating kind.
+   * </p>
+   * <p>
+   * Getter method for the COM property "ratingKind"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0089_0003
+   */
+
+  @DISPID(1610874936) //= 0x60040038. The runtime will prefer the VTID if present
+  @VTID(128)
+  de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0089_0003 ratingKind();
+
+
+  /**
+   * <p>
+   * Returns a collection of playlists that contain the song that this track represents.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Playlists"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylistCollection
+   */
+
+  @DISPID(1610874937) //= 0x60040039. The runtime will prefer the VTID if present
+  @VTID(129)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylistCollection playlists();
+
+
+  @VTID(129)
+  @ReturnValue(defaultPropertyThrough={de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylistCollection.class})
+  de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist playlists(
+    int index);
+
+  /**
+   * <p>
+   * The full path to the file represented by this track.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Location"
+   * </p>
+   * @param location Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610874880) //= 0x60040000. The runtime will prefer the VTID if present
+  @VTID(130)
+  void location(
+    java.lang.String location);
+
+
+  /**
+   * <p>
+   * The release date of the track.  A value of zero means no release date.
+   * </p>
+   * <p>
+   * Getter method for the COM property "ReleaseDate"
+   * </p>
+   * @return  Returns a value of type java.util.Date
+   */
+
+  @DISPID(1610874939) //= 0x6004003b. The runtime will prefer the VTID if present
+  @VTID(131)
+  java.util.Date releaseDate();
+
+
+  // Properties:
+}

+ 49 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITIPodSource.java

@@ -0,0 +1,49 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITIPodSource Interface
+ */
+@IID("{CF4D8ACE-1720-4FB9-B0AE-9877249E89B0}")
+public interface IITIPodSource extends de.nplusc.izc.izpl.plugins.itunes.api.IITSource {
+  // Methods:
+  /**
+   * <p>
+   * Update the contents of the iPod.
+   * </p>
+   */
+
+  @DISPID(1610874880) //= 0x60040000. The runtime will prefer the VTID if present
+  @VTID(19)
+  void updateIPod();
+
+
+  /**
+   * <p>
+   * Eject the iPod.
+   * </p>
+   */
+
+  @DISPID(1610874881) //= 0x60040001. The runtime will prefer the VTID if present
+  @VTID(20)
+  void ejectIPod();
+
+
+  /**
+   * <p>
+   * The iPod software version.
+   * </p>
+   * <p>
+   * Getter method for the COM property "SoftwareVersion"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610874882) //= 0x60040002. The runtime will prefer the VTID if present
+  @VTID(21)
+  java.lang.String softwareVersion();
+
+
+  // Properties:
+}

+ 68 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITLibraryPlaylist.java

@@ -0,0 +1,68 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITLibraryPlaylist Interface
+ */
+@IID("{53AE1704-491C-4289-94A0-958815675A3D}")
+public interface IITLibraryPlaylist extends de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist {
+  // Methods:
+  /**
+   * <p>
+   * Add the specified file path to the library.
+   * </p>
+   * @param filePath Mandatory java.lang.String parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITOperationStatus
+   */
+
+  @DISPID(1610874880) //= 0x60040000. The runtime will prefer the VTID if present
+  @VTID(30)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITOperationStatus addFile(
+    java.lang.String filePath);
+
+
+  /**
+   * <p>
+   * Add the specified array of file paths to the library. filePaths can be of type VT_ARRAY|VT_VARIANT, where each entry is a VT_BSTR, or VT_ARRAY|VT_BSTR.  You can also pass a JScript Array object.
+   * </p>
+   * @param filePaths Mandatory java.lang.Object parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITOperationStatus
+   */
+
+  @DISPID(1610874881) //= 0x60040001. The runtime will prefer the VTID if present
+  @VTID(31)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITOperationStatus addFiles(
+    java.lang.Object filePaths);
+
+
+  /**
+   * <p>
+   * Add the specified streaming audio URL to the library.
+   * </p>
+   * @param url Mandatory java.lang.String parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITURLTrack
+   */
+
+  @DISPID(1610874882) //= 0x60040002. The runtime will prefer the VTID if present
+  @VTID(32)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITURLTrack addURL(
+    java.lang.String url);
+
+
+  /**
+   * <p>
+   * Add the specified track to the library.  iTrackToAdd is a VARIANT of type VT_DISPATCH that points to an IITTrack.
+   * </p>
+   * @param iTrackToAdd Mandatory java.lang.Object parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITTrack
+   */
+
+  @DISPID(1610874883) //= 0x60040003. The runtime will prefer the VTID if present
+  @VTID(33)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITTrack addTrack(
+    java.lang.Object iTrackToAdd);
+
+
+  // Properties:
+}

+ 137 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITObject.java

@@ -0,0 +1,137 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITObject Interface
+ */
+@IID("{9FAB0E27-70D7-4E3A-9965-B0C8B8869BB6}")
+public interface IITObject extends Com4jObject {
+  // Methods:
+  /**
+   * <p>
+   * Returns the four IDs that uniquely identify this object.
+   * </p>
+   * @param sourceID Mandatory Holder<Integer> parameter.
+   * @param playlistID Mandatory Holder<Integer> parameter.
+   * @param trackID Mandatory Holder<Integer> parameter.
+   * @param databaseID Mandatory Holder<Integer> parameter.
+   */
+
+  @DISPID(1610743808) //= 0x60020000. The runtime will prefer the VTID if present
+  @VTID(7)
+  void getITObjectIDs(
+    Holder<Integer> sourceID,
+    Holder<Integer> playlistID,
+    Holder<Integer> trackID,
+    Holder<Integer> databaseID);
+
+
+  /**
+   * <p>
+   * The name of the object.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Name"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610743809) //= 0x60020001. The runtime will prefer the VTID if present
+  @VTID(8)
+  java.lang.String name();
+
+
+  /**
+   * <p>
+   * The name of the object.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Name"
+   * </p>
+   * @param name Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610743809) //= 0x60020001. The runtime will prefer the VTID if present
+  @VTID(9)
+  void name(
+    java.lang.String name);
+
+
+  /**
+   * <p>
+   * The index of the object in internal application order (1-based).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Index"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610743811) //= 0x60020003. The runtime will prefer the VTID if present
+  @VTID(10)
+  int index();
+
+
+  /**
+   * <p>
+   * The source ID of the object.
+   * </p>
+   * <p>
+   * Getter method for the COM property "sourceID"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610743812) //= 0x60020004. The runtime will prefer the VTID if present
+  @VTID(11)
+  int sourceID();
+
+
+  /**
+   * <p>
+   * The playlist ID of the object.
+   * </p>
+   * <p>
+   * Getter method for the COM property "playlistID"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610743813) //= 0x60020005. The runtime will prefer the VTID if present
+  @VTID(12)
+  int playlistID();
+
+
+  /**
+   * <p>
+   * The track ID of the object.
+   * </p>
+   * <p>
+   * Getter method for the COM property "trackID"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610743814) //= 0x60020006. The runtime will prefer the VTID if present
+  @VTID(13)
+  int trackID();
+
+
+  /**
+   * <p>
+   * The track database ID of the object.
+   * </p>
+   * <p>
+   * Getter method for the COM property "TrackDatabaseID"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610743815) //= 0x60020007. The runtime will prefer the VTID if present
+  @VTID(14)
+  int trackDatabaseID();
+
+
+  // Properties:
+}

+ 47 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITOperationStatus.java

@@ -0,0 +1,47 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITOperationStatus Interface
+ */
+@IID("{206479C9-FE32-4F9B-A18A-475AC939B479}")
+public interface IITOperationStatus extends Com4jObject {
+  // Methods:
+  /**
+   * <p>
+   * True if the operation is still in progress.
+   * </p>
+   * <p>
+   * Getter method for the COM property "InProgress"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610743808) //= 0x60020000. The runtime will prefer the VTID if present
+  @VTID(7)
+  boolean inProgress();
+
+
+  /**
+   * <p>
+   * Returns a collection containing the tracks that were generated by the operation.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Tracks"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITTrackCollection
+   */
+
+  @DISPID(1610743809) //= 0x60020001. The runtime will prefer the VTID if present
+  @VTID(8)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITTrackCollection tracks();
+
+
+  @VTID(8)
+  @ReturnValue(defaultPropertyThrough={de.nplusc.izc.izpl.plugins.itunes.api.IITTrackCollection.class})
+  de.nplusc.izc.izpl.plugins.itunes.api.IITTrack tracks(
+    int index);
+
+  // Properties:
+}

+ 239 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITPlaylist.java

@@ -0,0 +1,239 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITPlaylist Interface
+ */
+@IID("{3D5E072F-2A77-4B17-9E73-E03B77CCCCA9}")
+public interface IITPlaylist extends de.nplusc.izc.izpl.plugins.itunes.api.IITObject {
+  // Methods:
+  /**
+   * <p>
+   * Delete this playlist.
+   * </p>
+   */
+
+  @DISPID(1610809344) //= 0x60030000. The runtime will prefer the VTID if present
+  @VTID(15)
+  void delete();
+
+
+  /**
+   * <p>
+   * Start playing the first track in this playlist.
+   * </p>
+   */
+
+  @DISPID(1610809345) //= 0x60030001. The runtime will prefer the VTID if present
+  @VTID(16)
+  void playFirstTrack();
+
+
+  /**
+   * <p>
+   * Print this playlist.
+   * </p>
+   * @param showPrintDialog Mandatory boolean parameter.
+   * @param printKind Mandatory de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0081_0003 parameter.
+   * @param theme Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610809346) //= 0x60030002. The runtime will prefer the VTID if present
+  @VTID(17)
+  void print(
+    boolean showPrintDialog,
+    de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0081_0003 printKind,
+    java.lang.String theme);
+
+
+  /**
+   * <p>
+   * Search tracks in this playlist for the specified string.
+   * </p>
+   * @param searchText Mandatory java.lang.String parameter.
+   * @param searchFields Mandatory de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0081_0004 parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITTrackCollection
+   */
+
+  @DISPID(1610809347) //= 0x60030003. The runtime will prefer the VTID if present
+  @VTID(18)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITTrackCollection search(
+    java.lang.String searchText,
+    de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0081_0004 searchFields);
+
+
+  /**
+   * <p>
+   * The playlist kind.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Kind"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0081_0001
+   */
+
+  @DISPID(1610809348) //= 0x60030004. The runtime will prefer the VTID if present
+  @VTID(19)
+  de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0081_0001 kind();
+
+
+  /**
+   * <p>
+   * The source that contains this playlist.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Source"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITSource
+   */
+
+  @DISPID(1610809349) //= 0x60030005. The runtime will prefer the VTID if present
+  @VTID(20)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITSource source();
+
+
+  /**
+   * <p>
+   * The total length of all songs in the playlist (in seconds).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Duration"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610809350) //= 0x60030006. The runtime will prefer the VTID if present
+  @VTID(21)
+  int duration();
+
+
+  /**
+   * <p>
+   * True if songs in the playlist are played in random order.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Shuffle"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610809351) //= 0x60030007. The runtime will prefer the VTID if present
+  @VTID(22)
+  boolean shuffle();
+
+
+  /**
+   * <p>
+   * True if songs in the playlist are played in random order.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Shuffle"
+   * </p>
+   * @param isShuffle Mandatory boolean parameter.
+   */
+
+  @DISPID(1610809351) //= 0x60030007. The runtime will prefer the VTID if present
+  @VTID(23)
+  void shuffle(
+    boolean isShuffle);
+
+
+  /**
+   * <p>
+   * The total size of all songs in the playlist (in bytes).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Size"
+   * </p>
+   * @return  Returns a value of type double
+   */
+
+  @DISPID(1610809353) //= 0x60030009. The runtime will prefer the VTID if present
+  @VTID(24)
+  double size();
+
+
+  /**
+   * <p>
+   * The playback repeat mode.
+   * </p>
+   * <p>
+   * Getter method for the COM property "SongRepeat"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0081_0002
+   */
+
+  @DISPID(1610809354) //= 0x6003000a. The runtime will prefer the VTID if present
+  @VTID(25)
+  de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0081_0002 songRepeat();
+
+
+  /**
+   * <p>
+   * The playback repeat mode.
+   * </p>
+   * <p>
+   * Setter method for the COM property "SongRepeat"
+   * </p>
+   * @param repeatMode Mandatory de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0081_0002 parameter.
+   */
+
+  @DISPID(1610809354) //= 0x6003000a. The runtime will prefer the VTID if present
+  @VTID(26)
+  void songRepeat(
+    de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0081_0002 repeatMode);
+
+
+  /**
+   * <p>
+   * The total length of all songs in the playlist (in MM:SS format).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Time"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610809356) //= 0x6003000c. The runtime will prefer the VTID if present
+  @VTID(27)
+  java.lang.String time();
+
+
+  /**
+   * <p>
+   * True if the playlist is visible in the Source list.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Visible"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610809357) //= 0x6003000d. The runtime will prefer the VTID if present
+  @VTID(28)
+  boolean visible();
+
+
+  /**
+   * <p>
+   * Returns a collection of tracks in this playlist.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Tracks"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITTrackCollection
+   */
+
+  @DISPID(1610809358) //= 0x6003000e. The runtime will prefer the VTID if present
+  @VTID(29)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITTrackCollection tracks();
+
+
+  @VTID(29)
+  @ReturnValue(defaultPropertyThrough={de.nplusc.izc.izpl.plugins.itunes.api.IITTrackCollection.class})
+  de.nplusc.izc.izpl.plugins.itunes.api.IITTrack tracks(
+    int index);
+
+  // Properties:
+}

+ 94 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITPlaylistCollection.java

@@ -0,0 +1,94 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITPlaylistCollection Interface
+ */
+@IID("{FF194254-909D-4437-9C50-3AAC2AE6305C}")
+public interface IITPlaylistCollection extends Com4jObject,Iterable<Com4jObject> {
+  // Methods:
+  /**
+   * <p>
+   * Returns the number of playlists in the collection.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Count"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610743808) //= 0x60020000. The runtime will prefer the VTID if present
+  @VTID(7)
+  int count();
+
+
+  /**
+   * <p>
+   * Returns an IITPlaylist object corresponding to the given index (1-based).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Item"
+   * </p>
+   * @param index Mandatory int parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist
+   */
+
+  @DISPID(0) //= 0x0. The runtime will prefer the VTID if present
+  @VTID(8)
+  @DefaultMethod
+  de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist item(
+    int index);
+
+
+  /**
+   * <p>
+   * Returns an IITPlaylist object with the specified name.
+   * </p>
+   * <p>
+   * Getter method for the COM property "ItemByName"
+   * </p>
+   * @param name Mandatory java.lang.String parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist
+   */
+
+  @DISPID(1610743810) //= 0x60020002. The runtime will prefer the VTID if present
+  @VTID(9)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist itemByName(
+    java.lang.String name);
+
+
+  /**
+   * <p>
+   * Returns an IEnumVARIANT object which can enumerate the collection.
+   * </p>
+   * <p>
+   * Getter method for the COM property "_NewEnum"
+   * </p>
+   */
+
+  @DISPID(-4) //= 0xfffffffc. The runtime will prefer the VTID if present
+  @VTID(10)
+  java.util.Iterator<Com4jObject> iterator();
+
+  /**
+   * <p>
+   * Returns an IITPlaylist object with the specified persistent ID.
+   * </p>
+   * <p>
+   * Getter method for the COM property "ItemByPersistentID"
+   * </p>
+   * @param highID Mandatory int parameter.
+   * @param lowID Mandatory int parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist
+   */
+
+  @DISPID(1610743812) //= 0x60020004. The runtime will prefer the VTID if present
+  @VTID(11)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist itemByPersistentID(
+    int highID,
+    int lowID);
+
+
+  // Properties:
+}

+ 47 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITPlaylistWindow.java

@@ -0,0 +1,47 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITPlaylistWindow Interface
+ */
+@IID("{349CBB45-2E5A-4822-8E4A-A75555A186F7}")
+public interface IITPlaylistWindow extends de.nplusc.izc.izpl.plugins.itunes.api.IITWindow {
+  // Methods:
+  /**
+   * <p>
+   * Returns a collection containing the currently selected track or tracks.
+   * </p>
+   * <p>
+   * Getter method for the COM property "SelectedTracks"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITTrackCollection
+   */
+
+  @DISPID(1610809344) //= 0x60030000. The runtime will prefer the VTID if present
+  @VTID(32)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITTrackCollection selectedTracks();
+
+
+  @VTID(32)
+  @ReturnValue(defaultPropertyThrough={de.nplusc.izc.izpl.plugins.itunes.api.IITTrackCollection.class})
+  de.nplusc.izc.izpl.plugins.itunes.api.IITTrack selectedTracks(
+    int index);
+
+  /**
+   * <p>
+   * The playlist displayed in the window.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Playlist"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist
+   */
+
+  @DISPID(1610809345) //= 0x60030001. The runtime will prefer the VTID if present
+  @VTID(33)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist playlist();
+
+
+  // Properties:
+}

+ 77 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITSource.java

@@ -0,0 +1,77 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITSource Interface
+ */
+@IID("{AEC1C4D3-AEF1-4255-B892-3E3D13ADFDF9}")
+public interface IITSource extends de.nplusc.izc.izpl.plugins.itunes.api.IITObject {
+  // Methods:
+  /**
+   * <p>
+   * The source kind.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Kind"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0086_0001
+   */
+
+  @DISPID(1610809344) //= 0x60030000. The runtime will prefer the VTID if present
+  @VTID(15)
+  de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0086_0001 kind();
+
+
+  /**
+   * <p>
+   * The total size of the source, if it has a fixed size.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Capacity"
+   * </p>
+   * @return  Returns a value of type double
+   */
+
+  @DISPID(1610809345) //= 0x60030001. The runtime will prefer the VTID if present
+  @VTID(16)
+  double capacity();
+
+
+  /**
+   * <p>
+   * The free space on the source, if it has a fixed size.
+   * </p>
+   * <p>
+   * Getter method for the COM property "FreeSpace"
+   * </p>
+   * @return  Returns a value of type double
+   */
+
+  @DISPID(1610809346) //= 0x60030002. The runtime will prefer the VTID if present
+  @VTID(17)
+  double freeSpace();
+
+
+  /**
+   * <p>
+   * Returns a collection of playlists.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Playlists"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylistCollection
+   */
+
+  @DISPID(1610809347) //= 0x60030003. The runtime will prefer the VTID if present
+  @VTID(18)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylistCollection playlists();
+
+
+  @VTID(18)
+  @ReturnValue(defaultPropertyThrough={de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylistCollection.class})
+  de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist playlists(
+    int index);
+
+  // Properties:
+}

+ 94 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITSourceCollection.java

@@ -0,0 +1,94 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITSourceCollection Interface
+ */
+@IID("{2FF6CE20-FF87-4183-B0B3-F323D047AF41}")
+public interface IITSourceCollection extends Com4jObject,Iterable<Com4jObject> {
+  // Methods:
+  /**
+   * <p>
+   * Returns the number of sources in the collection.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Count"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610743808) //= 0x60020000. The runtime will prefer the VTID if present
+  @VTID(7)
+  int count();
+
+
+  /**
+   * <p>
+   * Returns an IITSource object corresponding to the given index (1-based).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Item"
+   * </p>
+   * @param index Mandatory int parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITSource
+   */
+
+  @DISPID(0) //= 0x0. The runtime will prefer the VTID if present
+  @VTID(8)
+  @DefaultMethod
+  de.nplusc.izc.izpl.plugins.itunes.api.IITSource item(
+    int index);
+
+
+  /**
+   * <p>
+   * Returns an IITSource object with the specified name.
+   * </p>
+   * <p>
+   * Getter method for the COM property "ItemByName"
+   * </p>
+   * @param name Mandatory java.lang.String parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITSource
+   */
+
+  @DISPID(1610743810) //= 0x60020002. The runtime will prefer the VTID if present
+  @VTID(9)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITSource itemByName(
+    java.lang.String name);
+
+
+  /**
+   * <p>
+   * Returns an IEnumVARIANT object which can enumerate the collection.
+   * </p>
+   * <p>
+   * Getter method for the COM property "_NewEnum"
+   * </p>
+   */
+
+  @DISPID(-4) //= 0xfffffffc. The runtime will prefer the VTID if present
+  @VTID(10)
+  java.util.Iterator<Com4jObject> iterator();
+
+  /**
+   * <p>
+   * Returns an IITSource object with the specified persistent ID.
+   * </p>
+   * <p>
+   * Getter method for the COM property "ItemByPersistentID"
+   * </p>
+   * @param highID Mandatory int parameter.
+   * @param lowID Mandatory int parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITSource
+   */
+
+  @DISPID(1610743812) //= 0x60020004. The runtime will prefer the VTID if present
+  @VTID(11)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITSource itemByPersistentID(
+    int highID,
+    int lowID);
+
+
+  // Properties:
+}

+ 884 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITTrack.java

@@ -0,0 +1,884 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITTrack Interface
+ */
+@IID("{4CB0915D-1E54-4727-BAF3-CE6CC9A225A1}")
+public interface IITTrack extends de.nplusc.izc.izpl.plugins.itunes.api.IITObject {
+  // Methods:
+  /**
+   * <p>
+   * Delete this track.
+   * </p>
+   */
+
+  @DISPID(1610809344) //= 0x60030000. The runtime will prefer the VTID if present
+  @VTID(15)
+  void delete();
+
+
+  /**
+   * <p>
+   * Start playing this track.
+   * </p>
+   */
+
+  @DISPID(1610809345) //= 0x60030001. The runtime will prefer the VTID if present
+  @VTID(16)
+  void play();
+
+
+  /**
+   * <p>
+   * Add artwork from an image file to this track.
+   * </p>
+   * @param filePath Mandatory java.lang.String parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITArtwork
+   */
+
+  @DISPID(1610809346) //= 0x60030002. The runtime will prefer the VTID if present
+  @VTID(17)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITArtwork addArtworkFromFile(
+    java.lang.String filePath);
+
+
+  /**
+   * <p>
+   * The track kind.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Kind"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0089_0001
+   */
+
+  @DISPID(1610809347) //= 0x60030003. The runtime will prefer the VTID if present
+  @VTID(18)
+  de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0089_0001 kind();
+
+
+  /**
+   * <p>
+   * The playlist that contains this track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Playlist"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist
+   */
+
+  @DISPID(1610809348) //= 0x60030004. The runtime will prefer the VTID if present
+  @VTID(19)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist playlist();
+
+
+  /**
+   * <p>
+   * The album containing the track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Album"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610809349) //= 0x60030005. The runtime will prefer the VTID if present
+  @VTID(20)
+  java.lang.String album();
+
+
+  /**
+   * <p>
+   * The album containing the track.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Album"
+   * </p>
+   * @param album Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610809349) //= 0x60030005. The runtime will prefer the VTID if present
+  @VTID(21)
+  void album(
+    java.lang.String album);
+
+
+  /**
+   * <p>
+   * The artist/source of the track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Artist"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610809351) //= 0x60030007. The runtime will prefer the VTID if present
+  @VTID(22)
+  java.lang.String artist();
+
+
+  /**
+   * <p>
+   * The artist/source of the track.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Artist"
+   * </p>
+   * @param artist Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610809351) //= 0x60030007. The runtime will prefer the VTID if present
+  @VTID(23)
+  void artist(
+    java.lang.String artist);
+
+
+  /**
+   * <p>
+   * The bit rate of the track (in kbps).
+   * </p>
+   * <p>
+   * Getter method for the COM property "BitRate"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610809353) //= 0x60030009. The runtime will prefer the VTID if present
+  @VTID(24)
+  int bitRate();
+
+
+  /**
+   * <p>
+   * The tempo of the track (in beats per minute).
+   * </p>
+   * <p>
+   * Getter method for the COM property "BPM"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610809354) //= 0x6003000a. The runtime will prefer the VTID if present
+  @VTID(25)
+  int bpm();
+
+
+  /**
+   * <p>
+   * The tempo of the track (in beats per minute).
+   * </p>
+   * <p>
+   * Setter method for the COM property "BPM"
+   * </p>
+   * @param beatsPerMinute Mandatory int parameter.
+   */
+
+  @DISPID(1610809354) //= 0x6003000a. The runtime will prefer the VTID if present
+  @VTID(26)
+  void bpm(
+    int beatsPerMinute);
+
+
+  /**
+   * <p>
+   * Freeform notes about the track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Comment"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610809356) //= 0x6003000c. The runtime will prefer the VTID if present
+  @VTID(27)
+  java.lang.String comment();
+
+
+  /**
+   * <p>
+   * Freeform notes about the track.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Comment"
+   * </p>
+   * @param comment Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610809356) //= 0x6003000c. The runtime will prefer the VTID if present
+  @VTID(28)
+  void comment(
+    java.lang.String comment);
+
+
+  /**
+   * <p>
+   * True if this track is from a compilation album.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Compilation"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610809358) //= 0x6003000e. The runtime will prefer the VTID if present
+  @VTID(29)
+  boolean compilation();
+
+
+  /**
+   * <p>
+   * True if this track is from a compilation album.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Compilation"
+   * </p>
+   * @param isCompilation Mandatory boolean parameter.
+   */
+
+  @DISPID(1610809358) //= 0x6003000e. The runtime will prefer the VTID if present
+  @VTID(30)
+  void compilation(
+    boolean isCompilation);
+
+
+  /**
+   * <p>
+   * The composer of the track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Composer"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610809360) //= 0x60030010. The runtime will prefer the VTID if present
+  @VTID(31)
+  java.lang.String composer();
+
+
+  /**
+   * <p>
+   * The composer of the track.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Composer"
+   * </p>
+   * @param composer Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610809360) //= 0x60030010. The runtime will prefer the VTID if present
+  @VTID(32)
+  void composer(
+    java.lang.String composer);
+
+
+  /**
+   * <p>
+   * The date the track was added to the playlist.
+   * </p>
+   * <p>
+   * Getter method for the COM property "DateAdded"
+   * </p>
+   * @return  Returns a value of type java.util.Date
+   */
+
+  @DISPID(1610809362) //= 0x60030012. The runtime will prefer the VTID if present
+  @VTID(33)
+  java.util.Date dateAdded();
+
+
+  /**
+   * <p>
+   * The total number of discs in the source album.
+   * </p>
+   * <p>
+   * Getter method for the COM property "DiscCount"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610809363) //= 0x60030013. The runtime will prefer the VTID if present
+  @VTID(34)
+  int discCount();
+
+
+  /**
+   * <p>
+   * The total number of discs in the source album.
+   * </p>
+   * <p>
+   * Setter method for the COM property "DiscCount"
+   * </p>
+   * @param discCount Mandatory int parameter.
+   */
+
+  @DISPID(1610809363) //= 0x60030013. The runtime will prefer the VTID if present
+  @VTID(35)
+  void discCount(
+    int discCount);
+
+
+  /**
+   * <p>
+   * The index of the disc containing the track on the source album.
+   * </p>
+   * <p>
+   * Getter method for the COM property "DiscNumber"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610809365) //= 0x60030015. The runtime will prefer the VTID if present
+  @VTID(36)
+  int discNumber();
+
+
+  /**
+   * <p>
+   * The index of the disc containing the track on the source album.
+   * </p>
+   * <p>
+   * Setter method for the COM property "DiscNumber"
+   * </p>
+   * @param discNumber Mandatory int parameter.
+   */
+
+  @DISPID(1610809365) //= 0x60030015. The runtime will prefer the VTID if present
+  @VTID(37)
+  void discNumber(
+    int discNumber);
+
+
+  /**
+   * <p>
+   * The length of the track (in seconds).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Duration"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610809367) //= 0x60030017. The runtime will prefer the VTID if present
+  @VTID(38)
+  int duration();
+
+
+  /**
+   * <p>
+   * True if the track is checked for playback.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Enabled"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610809368) //= 0x60030018. The runtime will prefer the VTID if present
+  @VTID(39)
+  boolean enabled();
+
+
+  /**
+   * <p>
+   * True if the track is checked for playback.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Enabled"
+   * </p>
+   * @param isEnabled Mandatory boolean parameter.
+   */
+
+  @DISPID(1610809368) //= 0x60030018. The runtime will prefer the VTID if present
+  @VTID(40)
+  void enabled(
+    boolean isEnabled);
+
+
+  /**
+   * <p>
+   * The name of the EQ preset of the track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "EQ"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610809370) //= 0x6003001a. The runtime will prefer the VTID if present
+  @VTID(41)
+  java.lang.String eq();
+
+
+  /**
+   * <p>
+   * The name of the EQ preset of the track.
+   * </p>
+   * <p>
+   * Setter method for the COM property "EQ"
+   * </p>
+   * @param eq Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610809370) //= 0x6003001a. The runtime will prefer the VTID if present
+  @VTID(42)
+  void eq(
+    java.lang.String eq);
+
+
+  /**
+   * <p>
+   * The stop time of the track (in seconds).
+   * </p>
+   * <p>
+   * Setter method for the COM property "Finish"
+   * </p>
+   * @param finish Mandatory int parameter.
+   */
+
+  @DISPID(1610809372) //= 0x6003001c. The runtime will prefer the VTID if present
+  @VTID(43)
+  void finish(
+    int finish);
+
+
+  /**
+   * <p>
+   * The stop time of the track (in seconds).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Finish"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610809372) //= 0x6003001c. The runtime will prefer the VTID if present
+  @VTID(44)
+  int finish();
+
+
+  /**
+   * <p>
+   * The music/audio genre (category) of the track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Genre"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610809374) //= 0x6003001e. The runtime will prefer the VTID if present
+  @VTID(45)
+  java.lang.String genre();
+
+
+  /**
+   * <p>
+   * The music/audio genre (category) of the track.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Genre"
+   * </p>
+   * @param genre Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610809374) //= 0x6003001e. The runtime will prefer the VTID if present
+  @VTID(46)
+  void genre(
+    java.lang.String genre);
+
+
+  /**
+   * <p>
+   * The grouping (piece) of the track.  Generally used to denote movements within classical work.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Grouping"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610809376) //= 0x60030020. The runtime will prefer the VTID if present
+  @VTID(47)
+  java.lang.String grouping();
+
+
+  /**
+   * <p>
+   * The grouping (piece) of the track.  Generally used to denote movements within classical work.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Grouping"
+   * </p>
+   * @param grouping Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610809376) //= 0x60030020. The runtime will prefer the VTID if present
+  @VTID(48)
+  void grouping(
+    java.lang.String grouping);
+
+
+  /**
+   * <p>
+   * A text description of the track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "KindAsString"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610809378) //= 0x60030022. The runtime will prefer the VTID if present
+  @VTID(49)
+  java.lang.String kindAsString();
+
+
+  /**
+   * <p>
+   * The modification date of the content of the track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "ModificationDate"
+   * </p>
+   * @return  Returns a value of type java.util.Date
+   */
+
+  @DISPID(1610809379) //= 0x60030023. The runtime will prefer the VTID if present
+  @VTID(50)
+  java.util.Date modificationDate();
+
+
+  /**
+   * <p>
+   * The number of times the track has been played.
+   * </p>
+   * <p>
+   * Getter method for the COM property "PlayedCount"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610809380) //= 0x60030024. The runtime will prefer the VTID if present
+  @VTID(51)
+  int playedCount();
+
+
+  /**
+   * <p>
+   * The number of times the track has been played.
+   * </p>
+   * <p>
+   * Setter method for the COM property "PlayedCount"
+   * </p>
+   * @param playedCount Mandatory int parameter.
+   */
+
+  @DISPID(1610809380) //= 0x60030024. The runtime will prefer the VTID if present
+  @VTID(52)
+  void playedCount(
+    int playedCount);
+
+
+  /**
+   * <p>
+   * The date and time the track was last played.  A value of zero means no played date.
+   * </p>
+   * <p>
+   * Getter method for the COM property "PlayedDate"
+   * </p>
+   * @return  Returns a value of type java.util.Date
+   */
+
+  @DISPID(1610809382) //= 0x60030026. The runtime will prefer the VTID if present
+  @VTID(53)
+  java.util.Date playedDate();
+
+
+  /**
+   * <p>
+   * The date and time the track was last played.  A value of zero means no played date.
+   * </p>
+   * <p>
+   * Setter method for the COM property "PlayedDate"
+   * </p>
+   * @param playedDate Mandatory java.util.Date parameter.
+   */
+
+  @DISPID(1610809382) //= 0x60030026. The runtime will prefer the VTID if present
+  @VTID(54)
+  void playedDate(
+    java.util.Date playedDate);
+
+
+  /**
+   * <p>
+   * The play order index of the track in the owner playlist (1-based).
+   * </p>
+   * <p>
+   * Getter method for the COM property "PlayOrderIndex"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610809384) //= 0x60030028. The runtime will prefer the VTID if present
+  @VTID(55)
+  int playOrderIndex();
+
+
+  /**
+   * <p>
+   * The rating of the track (0 to 100).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Rating"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610809385) //= 0x60030029. The runtime will prefer the VTID if present
+  @VTID(56)
+  int rating();
+
+
+  /**
+   * <p>
+   * The rating of the track (0 to 100).
+   * </p>
+   * <p>
+   * Setter method for the COM property "Rating"
+   * </p>
+   * @param rating Mandatory int parameter.
+   */
+
+  @DISPID(1610809385) //= 0x60030029. The runtime will prefer the VTID if present
+  @VTID(57)
+  void rating(
+    int rating);
+
+
+  /**
+   * <p>
+   * The sample rate of the track (in Hz).
+   * </p>
+   * <p>
+   * Getter method for the COM property "SampleRate"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610809387) //= 0x6003002b. The runtime will prefer the VTID if present
+  @VTID(58)
+  int sampleRate();
+
+
+  /**
+   * <p>
+   * The size of the track (in bytes).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Size"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610809388) //= 0x6003002c. The runtime will prefer the VTID if present
+  @VTID(59)
+  int size();
+
+
+  /**
+   * <p>
+   * The start time of the track (in seconds).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Start"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610809389) //= 0x6003002d. The runtime will prefer the VTID if present
+  @VTID(60)
+  int start();
+
+
+  /**
+   * <p>
+   * The start time of the track (in seconds).
+   * </p>
+   * <p>
+   * Setter method for the COM property "Start"
+   * </p>
+   * @param start Mandatory int parameter.
+   */
+
+  @DISPID(1610809389) //= 0x6003002d. The runtime will prefer the VTID if present
+  @VTID(61)
+  void start(
+    int start);
+
+
+  /**
+   * <p>
+   * The length of the track (in MM:SS format).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Time"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610809391) //= 0x6003002f. The runtime will prefer the VTID if present
+  @VTID(62)
+  java.lang.String time();
+
+
+  /**
+   * <p>
+   * The total number of tracks on the source album.
+   * </p>
+   * <p>
+   * Getter method for the COM property "TrackCount"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610809392) //= 0x60030030. The runtime will prefer the VTID if present
+  @VTID(63)
+  int trackCount();
+
+
+  /**
+   * <p>
+   * The total number of tracks on the source album.
+   * </p>
+   * <p>
+   * Setter method for the COM property "TrackCount"
+   * </p>
+   * @param trackCount Mandatory int parameter.
+   */
+
+  @DISPID(1610809392) //= 0x60030030. The runtime will prefer the VTID if present
+  @VTID(64)
+  void trackCount(
+    int trackCount);
+
+
+  /**
+   * <p>
+   * The index of the track on the source album.
+   * </p>
+   * <p>
+   * Getter method for the COM property "TrackNumber"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610809394) //= 0x60030032. The runtime will prefer the VTID if present
+  @VTID(65)
+  int trackNumber();
+
+
+  /**
+   * <p>
+   * The index of the track on the source album.
+   * </p>
+   * <p>
+   * Setter method for the COM property "TrackNumber"
+   * </p>
+   * @param trackNumber Mandatory int parameter.
+   */
+
+  @DISPID(1610809394) //= 0x60030032. The runtime will prefer the VTID if present
+  @VTID(66)
+  void trackNumber(
+    int trackNumber);
+
+
+  /**
+   * <p>
+   * The relative volume adjustment of the track (-100% to 100%).
+   * </p>
+   * <p>
+   * Getter method for the COM property "VolumeAdjustment"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610809396) //= 0x60030034. The runtime will prefer the VTID if present
+  @VTID(67)
+  int volumeAdjustment();
+
+
+  /**
+   * <p>
+   * The relative volume adjustment of the track (-100% to 100%).
+   * </p>
+   * <p>
+   * Setter method for the COM property "VolumeAdjustment"
+   * </p>
+   * @param volumeAdjustment Mandatory int parameter.
+   */
+
+  @DISPID(1610809396) //= 0x60030034. The runtime will prefer the VTID if present
+  @VTID(68)
+  void volumeAdjustment(
+    int volumeAdjustment);
+
+
+  /**
+   * <p>
+   * The year the track was recorded/released.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Year"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610809398) //= 0x60030036. The runtime will prefer the VTID if present
+  @VTID(69)
+  int year();
+
+
+  /**
+   * <p>
+   * The year the track was recorded/released.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Year"
+   * </p>
+   * @param year Mandatory int parameter.
+   */
+
+  @DISPID(1610809398) //= 0x60030036. The runtime will prefer the VTID if present
+  @VTID(70)
+  void year(
+    int year);
+
+
+  /**
+   * <p>
+   * Returns a collection of artwork.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Artwork"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITArtworkCollection
+   */
+
+  @DISPID(1610809400) //= 0x60030038. The runtime will prefer the VTID if present
+  @VTID(71)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITArtworkCollection artwork();
+
+
+  @VTID(71)
+  @ReturnValue(defaultPropertyThrough={de.nplusc.izc.izpl.plugins.itunes.api.IITArtworkCollection.class})
+  de.nplusc.izc.izpl.plugins.itunes.api.IITArtwork artwork(
+    int index);
+
+  // Properties:
+}

+ 111 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITTrackCollection.java

@@ -0,0 +1,111 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITTrackCollection Interface
+ */
+@IID("{755D76F1-6B85-4CE4-8F5F-F88D9743DCD8}")
+public interface IITTrackCollection extends Com4jObject,Iterable<Com4jObject> {
+  // Methods:
+  /**
+   * <p>
+   * Returns the number of tracks in the collection.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Count"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610743808) //= 0x60020000. The runtime will prefer the VTID if present
+  @VTID(7)
+  int count();
+
+
+  /**
+   * <p>
+   * Returns an IITTrack object corresponding to the given fixed index, where the index is independent of the play order (1-based).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Item"
+   * </p>
+   * @param index Mandatory int parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITTrack
+   */
+
+  @DISPID(0) //= 0x0. The runtime will prefer the VTID if present
+  @VTID(8)
+  @DefaultMethod
+  de.nplusc.izc.izpl.plugins.itunes.api.IITTrack item(
+    int index);
+
+
+  /**
+   * <p>
+   * Returns an IITTrack object corresponding to the given index, where the index is defined by the play order of the playlist containing the track collection (1-based).
+   * </p>
+   * <p>
+   * Getter method for the COM property "ItemByPlayOrder"
+   * </p>
+   * @param index Mandatory int parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITTrack
+   */
+
+  @DISPID(1610743810) //= 0x60020002. The runtime will prefer the VTID if present
+  @VTID(9)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITTrack itemByPlayOrder(
+    int index);
+
+
+  /**
+   * <p>
+   * Returns an IITTrack object with the specified name.
+   * </p>
+   * <p>
+   * Getter method for the COM property "ItemByName"
+   * </p>
+   * @param name Mandatory java.lang.String parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITTrack
+   */
+
+  @DISPID(1610743811) //= 0x60020003. The runtime will prefer the VTID if present
+  @VTID(10)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITTrack itemByName(
+    java.lang.String name);
+
+
+  /**
+   * <p>
+   * Returns an IEnumVARIANT object which can enumerate the collection.
+   * </p>
+   * <p>
+   * Getter method for the COM property "_NewEnum"
+   * </p>
+   */
+
+  @DISPID(-4) //= 0xfffffffc. The runtime will prefer the VTID if present
+  @VTID(11)
+  java.util.Iterator<Com4jObject> iterator();
+
+  /**
+   * <p>
+   * Returns an IITTrack object with the specified persistent ID.
+   * </p>
+   * <p>
+   * Getter method for the COM property "ItemByPersistentID"
+   * </p>
+   * @param highID Mandatory int parameter.
+   * @param lowID Mandatory int parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITTrack
+   */
+
+  @DISPID(1610743813) //= 0x60020005. The runtime will prefer the VTID if present
+  @VTID(12)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITTrack itemByPersistentID(
+    int highID,
+    int lowID);
+
+
+  // Properties:
+}

+ 265 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITURLTrack.java

@@ -0,0 +1,265 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITURLTrack Interface
+ */
+@IID("{1116E3B5-29FD-4393-A7BD-454E5E327900}")
+public interface IITURLTrack extends de.nplusc.izc.izpl.plugins.itunes.api.IITTrack {
+  // Methods:
+  /**
+   * <p>
+   * The URL of the stream represented by this track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "URL"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610874880) //= 0x60040000. The runtime will prefer the VTID if present
+  @VTID(72)
+  java.lang.String url();
+
+
+  /**
+   * <p>
+   * The URL of the stream represented by this track.
+   * </p>
+   * <p>
+   * Setter method for the COM property "URL"
+   * </p>
+   * @param url Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610874880) //= 0x60040000. The runtime will prefer the VTID if present
+  @VTID(73)
+  void url(
+    java.lang.String url);
+
+
+  /**
+   * <p>
+   * True if this is a podcast track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Podcast"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610874882) //= 0x60040002. The runtime will prefer the VTID if present
+  @VTID(74)
+  boolean podcast();
+
+
+  /**
+   * <p>
+   * Update the podcast feed for this track.
+   * </p>
+   */
+
+  @DISPID(1610874883) //= 0x60040003. The runtime will prefer the VTID if present
+  @VTID(75)
+  void updatePodcastFeed();
+
+
+  /**
+   * <p>
+   * Start downloading the podcast episode that corresponds to this track.
+   * </p>
+   */
+
+  @DISPID(1610874884) //= 0x60040004. The runtime will prefer the VTID if present
+  @VTID(76)
+  void downloadPodcastEpisode();
+
+
+  /**
+   * <p>
+   * Category for the track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Category"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610874885) //= 0x60040005. The runtime will prefer the VTID if present
+  @VTID(77)
+  java.lang.String category();
+
+
+  /**
+   * <p>
+   * Category for the track.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Category"
+   * </p>
+   * @param category Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610874885) //= 0x60040005. The runtime will prefer the VTID if present
+  @VTID(78)
+  void category(
+    java.lang.String category);
+
+
+  /**
+   * <p>
+   * Description for the track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Description"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610874887) //= 0x60040007. The runtime will prefer the VTID if present
+  @VTID(79)
+  java.lang.String description();
+
+
+  /**
+   * <p>
+   * Description for the track.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Description"
+   * </p>
+   * @param description Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610874887) //= 0x60040007. The runtime will prefer the VTID if present
+  @VTID(80)
+  void description(
+    java.lang.String description);
+
+
+  /**
+   * <p>
+   * Long description for the track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "LongDescription"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610874889) //= 0x60040009. The runtime will prefer the VTID if present
+  @VTID(81)
+  java.lang.String longDescription();
+
+
+  /**
+   * <p>
+   * Long description for the track.
+   * </p>
+   * <p>
+   * Setter method for the COM property "LongDescription"
+   * </p>
+   * @param longDescription Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610874889) //= 0x60040009. The runtime will prefer the VTID if present
+  @VTID(82)
+  void longDescription(
+    java.lang.String longDescription);
+
+
+  /**
+   * <p>
+   * Reveal the track in the main browser window.
+   * </p>
+   */
+
+  @DISPID(1610874891) //= 0x6004000b. The runtime will prefer the VTID if present
+  @VTID(83)
+  void reveal();
+
+
+  /**
+   * <p>
+   * The user or computed rating of the album that this track belongs to (0 to 100).
+   * </p>
+   * <p>
+   * Getter method for the COM property "AlbumRating"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610874892) //= 0x6004000c. The runtime will prefer the VTID if present
+  @VTID(84)
+  int albumRating();
+
+
+  /**
+   * <p>
+   * The user or computed rating of the album that this track belongs to (0 to 100).
+   * </p>
+   * <p>
+   * Setter method for the COM property "AlbumRating"
+   * </p>
+   * @param rating Mandatory int parameter.
+   */
+
+  @DISPID(1610874892) //= 0x6004000c. The runtime will prefer the VTID if present
+  @VTID(85)
+  void albumRating(
+    int rating);
+
+
+  /**
+   * <p>
+   * The album rating kind.
+   * </p>
+   * <p>
+   * Getter method for the COM property "AlbumRatingKind"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0089_0003
+   */
+
+  @DISPID(1610874894) //= 0x6004000e. The runtime will prefer the VTID if present
+  @VTID(86)
+  de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0089_0003 albumRatingKind();
+
+
+  /**
+   * <p>
+   * The track rating kind.
+   * </p>
+   * <p>
+   * Getter method for the COM property "ratingKind"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0089_0003
+   */
+
+  @DISPID(1610874895) //= 0x6004000f. The runtime will prefer the VTID if present
+  @VTID(87)
+  de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0089_0003 ratingKind();
+
+
+  /**
+   * <p>
+   * Returns a collection of playlists that contain the song that this track represents.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Playlists"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylistCollection
+   */
+
+  @DISPID(1610874896) //= 0x60040010. The runtime will prefer the VTID if present
+  @VTID(88)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylistCollection playlists();
+
+
+  @VTID(88)
+  @ReturnValue(defaultPropertyThrough={de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylistCollection.class})
+  de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist playlists(
+    int index);
+
+  // Properties:
+}

+ 199 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITUserPlaylist.java

@@ -0,0 +1,199 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITUserPlaylist Interface
+ */
+@IID("{0A504DED-A0B5-465A-8A94-50E20D7DF692}")
+public interface IITUserPlaylist extends de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist {
+  // Methods:
+  /**
+   * <p>
+   * Add the specified file path to the user playlist.
+   * </p>
+   * @param filePath Mandatory java.lang.String parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITOperationStatus
+   */
+
+  @DISPID(1610874880) //= 0x60040000. The runtime will prefer the VTID if present
+  @VTID(30)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITOperationStatus addFile(
+    java.lang.String filePath);
+
+
+  /**
+   * <p>
+   * Add the specified array of file paths to the user playlist. filePaths can be of type VT_ARRAY|VT_VARIANT, where each entry is a VT_BSTR, or VT_ARRAY|VT_BSTR.  You can also pass a JScript Array object.
+   * </p>
+   * @param filePaths Mandatory java.lang.Object parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITOperationStatus
+   */
+
+  @DISPID(1610874881) //= 0x60040001. The runtime will prefer the VTID if present
+  @VTID(31)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITOperationStatus addFiles(
+    java.lang.Object filePaths);
+
+
+  /**
+   * <p>
+   * Add the specified streaming audio URL to the user playlist.
+   * </p>
+   * @param url Mandatory java.lang.String parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITURLTrack
+   */
+
+  @DISPID(1610874882) //= 0x60040002. The runtime will prefer the VTID if present
+  @VTID(32)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITURLTrack addURL(
+    java.lang.String url);
+
+
+  /**
+   * <p>
+   * Add the specified track to the user playlist.  iTrackToAdd is a VARIANT of type VT_DISPATCH that points to an IITTrack.
+   * </p>
+   * @param iTrackToAdd Mandatory java.lang.Object parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITTrack
+   */
+
+  @DISPID(1610874883) //= 0x60040003. The runtime will prefer the VTID if present
+  @VTID(33)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITTrack addTrack(
+    java.lang.Object iTrackToAdd);
+
+
+  /**
+   * <p>
+   * True if the user playlist is being shared.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Shared"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610874884) //= 0x60040004. The runtime will prefer the VTID if present
+  @VTID(34)
+  boolean shared();
+
+
+  /**
+   * <p>
+   * True if the user playlist is being shared.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Shared"
+   * </p>
+   * @param isShared Mandatory boolean parameter.
+   */
+
+  @DISPID(1610874884) //= 0x60040004. The runtime will prefer the VTID if present
+  @VTID(35)
+  void shared(
+    boolean isShared);
+
+
+  /**
+   * <p>
+   * True if this is a smart playlist.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Smart"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610874886) //= 0x60040006. The runtime will prefer the VTID if present
+  @VTID(36)
+  boolean smart();
+
+
+  /**
+   * <p>
+   * The playlist special kind.
+   * </p>
+   * <p>
+   * Getter method for the COM property "SpecialKind"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0083_0001
+   */
+
+  @DISPID(1610874887) //= 0x60040007. The runtime will prefer the VTID if present
+  @VTID(37)
+  de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0083_0001 specialKind();
+
+
+  /**
+   * <p>
+   * The parent of this playlist.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Parent"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITUserPlaylist
+   */
+
+  @DISPID(1610874888) //= 0x60040008. The runtime will prefer the VTID if present
+  @VTID(38)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITUserPlaylist parent();
+
+
+  /**
+   * <p>
+   * Creates a new playlist in a folder playlist.
+   * </p>
+   * @param playlistName Mandatory java.lang.String parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist
+   */
+
+  @DISPID(1610874889) //= 0x60040009. The runtime will prefer the VTID if present
+  @VTID(39)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist createPlaylist(
+    java.lang.String playlistName);
+
+
+  /**
+   * <p>
+   * Creates a new folder in a folder playlist.
+   * </p>
+   * @param folderName Mandatory java.lang.String parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist
+   */
+
+  @DISPID(1610874890) //= 0x6004000a. The runtime will prefer the VTID if present
+  @VTID(40)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist createFolder(
+    java.lang.String folderName);
+
+
+  /**
+   * <p>
+   * The parent of this playlist.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Parent"
+   * </p>
+   * @param iParentPlayList Mandatory java.lang.Object parameter.
+   */
+
+  @DISPID(1610874888) //= 0x60040008. The runtime will prefer the VTID if present
+  @VTID(41)
+  void parent(
+    java.lang.Object iParentPlayList);
+
+
+  /**
+   * <p>
+   * Reveal the user playlist in the main browser window.
+   * </p>
+   */
+
+  @DISPID(1610874892) //= 0x6004000c. The runtime will prefer the VTID if present
+  @VTID(42)
+  void reveal();
+
+
+  // Properties:
+}

+ 27 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITVisual.java

@@ -0,0 +1,27 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITVisual Interface
+ */
+@IID("{340F3315-ED72-4C09-9ACF-21EB4BDF9931}")
+public interface IITVisual extends Com4jObject {
+  // Methods:
+  /**
+   * <p>
+   * The name of the the visual plug-in.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Name"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610743808) //= 0x60020000. The runtime will prefer the VTID if present
+  @VTID(7)
+  java.lang.String name();
+
+
+  // Properties:
+}

+ 75 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITVisualCollection.java

@@ -0,0 +1,75 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITVisualCollection Interface
+ */
+@IID("{88A4CCDD-114F-4043-B69B-84D4E6274957}")
+public interface IITVisualCollection extends Com4jObject,Iterable<Com4jObject> {
+  // Methods:
+  /**
+   * <p>
+   * Returns the number of visual plug-ins in the collection.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Count"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610743808) //= 0x60020000. The runtime will prefer the VTID if present
+  @VTID(7)
+  int count();
+
+
+  /**
+   * <p>
+   * Returns an IITVisual object corresponding to the given index (1-based).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Item"
+   * </p>
+   * @param index Mandatory int parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITVisual
+   */
+
+  @DISPID(0) //= 0x0. The runtime will prefer the VTID if present
+  @VTID(8)
+  @DefaultMethod
+  de.nplusc.izc.izpl.plugins.itunes.api.IITVisual item(
+    int index);
+
+
+  /**
+   * <p>
+   * Returns an IITVisual object with the specified name.
+   * </p>
+   * <p>
+   * Getter method for the COM property "ItemByName"
+   * </p>
+   * @param name Mandatory java.lang.String parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITVisual
+   */
+
+  @DISPID(1610743810) //= 0x60020002. The runtime will prefer the VTID if present
+  @VTID(9)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITVisual itemByName(
+    java.lang.String name);
+
+
+  /**
+   * <p>
+   * Returns an IEnumVARIANT object which can enumerate the collection.
+   * </p>
+   * <p>
+   * Getter method for the COM property "_NewEnum"
+   * </p>
+   */
+
+  @DISPID(-4) //= 0xfffffffc. The runtime will prefer the VTID if present
+  @VTID(10)
+  java.util.Iterator<Com4jObject> iterator();
+
+  // Properties:
+}

+ 397 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITWindow.java

@@ -0,0 +1,397 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITWindow Interface
+ */
+@IID("{370D7BE0-3A89-4A42-B902-C75FC138BE09}")
+public interface IITWindow extends Com4jObject {
+  // Methods:
+  /**
+   * <p>
+   * The title of the window.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Name"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610743808) //= 0x60020000. The runtime will prefer the VTID if present
+  @VTID(7)
+  java.lang.String name();
+
+
+  /**
+   * <p>
+   * The window kind.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Kind"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0095_0001
+   */
+
+  @DISPID(1610743809) //= 0x60020001. The runtime will prefer the VTID if present
+  @VTID(8)
+  de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0095_0001 kind();
+
+
+  /**
+   * <p>
+   * True if the window is visible. Note that the main browser window cannot be hidden.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Visible"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610743810) //= 0x60020002. The runtime will prefer the VTID if present
+  @VTID(9)
+  boolean visible();
+
+
+  /**
+   * <p>
+   * True if the window is visible. Note that the main browser window cannot be hidden.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Visible"
+   * </p>
+   * @param isVisible Mandatory boolean parameter.
+   */
+
+  @DISPID(1610743810) //= 0x60020002. The runtime will prefer the VTID if present
+  @VTID(10)
+  void visible(
+    boolean isVisible);
+
+
+  /**
+   * <p>
+   * True if the window is resizable.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Resizable"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610743812) //= 0x60020004. The runtime will prefer the VTID if present
+  @VTID(11)
+  boolean resizable();
+
+
+  /**
+   * <p>
+   * True if the window is minimized.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Minimized"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610743813) //= 0x60020005. The runtime will prefer the VTID if present
+  @VTID(12)
+  boolean minimized();
+
+
+  /**
+   * <p>
+   * True if the window is minimized.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Minimized"
+   * </p>
+   * @param isMinimized Mandatory boolean parameter.
+   */
+
+  @DISPID(1610743813) //= 0x60020005. The runtime will prefer the VTID if present
+  @VTID(13)
+  void minimized(
+    boolean isMinimized);
+
+
+  /**
+   * <p>
+   * True if the window is maximizable.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Maximizable"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610743815) //= 0x60020007. The runtime will prefer the VTID if present
+  @VTID(14)
+  boolean maximizable();
+
+
+  /**
+   * <p>
+   * True if the window is maximized.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Maximized"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610743816) //= 0x60020008. The runtime will prefer the VTID if present
+  @VTID(15)
+  boolean maximized();
+
+
+  /**
+   * <p>
+   * True if the window is maximized.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Maximized"
+   * </p>
+   * @param isMaximized Mandatory boolean parameter.
+   */
+
+  @DISPID(1610743816) //= 0x60020008. The runtime will prefer the VTID if present
+  @VTID(16)
+  void maximized(
+    boolean isMaximized);
+
+
+  /**
+   * <p>
+   * True if the window is zoomable.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Zoomable"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610743818) //= 0x6002000a. The runtime will prefer the VTID if present
+  @VTID(17)
+  boolean zoomable();
+
+
+  /**
+   * <p>
+   * True if the window is zoomed.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Zoomed"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610743819) //= 0x6002000b. The runtime will prefer the VTID if present
+  @VTID(18)
+  boolean zoomed();
+
+
+  /**
+   * <p>
+   * True if the window is zoomed.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Zoomed"
+   * </p>
+   * @param isZoomed Mandatory boolean parameter.
+   */
+
+  @DISPID(1610743819) //= 0x6002000b. The runtime will prefer the VTID if present
+  @VTID(19)
+  void zoomed(
+    boolean isZoomed);
+
+
+  /**
+   * <p>
+   * The screen coordinate of the top edge of the window.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Top"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610743821) //= 0x6002000d. The runtime will prefer the VTID if present
+  @VTID(20)
+  int top();
+
+
+  /**
+   * <p>
+   * The screen coordinate of the top edge of the window.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Top"
+   * </p>
+   * @param top Mandatory int parameter.
+   */
+
+  @DISPID(1610743821) //= 0x6002000d. The runtime will prefer the VTID if present
+  @VTID(21)
+  void top(
+    int top);
+
+
+  /**
+   * <p>
+   * The screen coordinate of the left edge of the window.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Left"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610743823) //= 0x6002000f. The runtime will prefer the VTID if present
+  @VTID(22)
+  int left();
+
+
+  /**
+   * <p>
+   * The screen coordinate of the left edge of the window.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Left"
+   * </p>
+   * @param left Mandatory int parameter.
+   */
+
+  @DISPID(1610743823) //= 0x6002000f. The runtime will prefer the VTID if present
+  @VTID(23)
+  void left(
+    int left);
+
+
+  /**
+   * <p>
+   * The screen coordinate of the bottom edge of the window.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Bottom"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610743825) //= 0x60020011. The runtime will prefer the VTID if present
+  @VTID(24)
+  int bottom();
+
+
+  /**
+   * <p>
+   * The screen coordinate of the bottom edge of the window.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Bottom"
+   * </p>
+   * @param bottom Mandatory int parameter.
+   */
+
+  @DISPID(1610743825) //= 0x60020011. The runtime will prefer the VTID if present
+  @VTID(25)
+  void bottom(
+    int bottom);
+
+
+  /**
+   * <p>
+   * The screen coordinate of the right edge of the window.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Right"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610743827) //= 0x60020013. The runtime will prefer the VTID if present
+  @VTID(26)
+  int right();
+
+
+  /**
+   * <p>
+   * The screen coordinate of the right edge of the window.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Right"
+   * </p>
+   * @param right Mandatory int parameter.
+   */
+
+  @DISPID(1610743827) //= 0x60020013. The runtime will prefer the VTID if present
+  @VTID(27)
+  void right(
+    int right);
+
+
+  /**
+   * <p>
+   * The width of the window.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Width"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610743829) //= 0x60020015. The runtime will prefer the VTID if present
+  @VTID(28)
+  int width();
+
+
+  /**
+   * <p>
+   * The width of the window.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Width"
+   * </p>
+   * @param width Mandatory int parameter.
+   */
+
+  @DISPID(1610743829) //= 0x60020015. The runtime will prefer the VTID if present
+  @VTID(29)
+  void width(
+    int width);
+
+
+  /**
+   * <p>
+   * The height of the window.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Height"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610743831) //= 0x60020017. The runtime will prefer the VTID if present
+  @VTID(30)
+  int height();
+
+
+  /**
+   * <p>
+   * The height of the window.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Height"
+   * </p>
+   * @param height Mandatory int parameter.
+   */
+
+  @DISPID(1610743831) //= 0x60020017. The runtime will prefer the VTID if present
+  @VTID(31)
+  void height(
+    int height);
+
+
+  // Properties:
+}

+ 75 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IITWindowCollection.java

@@ -0,0 +1,75 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IITWindowCollection Interface
+ */
+@IID("{3D8DE381-6C0E-481F-A865-E2385F59FA43}")
+public interface IITWindowCollection extends Com4jObject,Iterable<Com4jObject> {
+  // Methods:
+  /**
+   * <p>
+   * Returns the number of windows in the collection.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Count"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610743808) //= 0x60020000. The runtime will prefer the VTID if present
+  @VTID(7)
+  int count();
+
+
+  /**
+   * <p>
+   * Returns an IITWindow object corresponding to the given index (1-based).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Item"
+   * </p>
+   * @param index Mandatory int parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITWindow
+   */
+
+  @DISPID(0) //= 0x0. The runtime will prefer the VTID if present
+  @VTID(8)
+  @DefaultMethod
+  de.nplusc.izc.izpl.plugins.itunes.api.IITWindow item(
+    int index);
+
+
+  /**
+   * <p>
+   * Returns an IITWindow object with the specified name.
+   * </p>
+   * <p>
+   * Getter method for the COM property "ItemByName"
+   * </p>
+   * @param name Mandatory java.lang.String parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITWindow
+   */
+
+  @DISPID(1610743810) //= 0x60020002. The runtime will prefer the VTID if present
+  @VTID(9)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITWindow itemByName(
+    java.lang.String name);
+
+
+  /**
+   * <p>
+   * Returns an IEnumVARIANT object which can enumerate the collection.
+   * </p>
+   * <p>
+   * Getter method for the COM property "_NewEnum"
+   * </p>
+   */
+
+  @DISPID(-4) //= 0xfffffffc. The runtime will prefer the VTID if present
+  @VTID(10)
+  java.util.Iterator<Com4jObject> iterator();
+
+  // Properties:
+}

+ 1255 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/IiTunes.java

@@ -0,0 +1,1255 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * IiTunes Interface
+ */
+@IID("{9DD6680B-3EDC-40DB-A771-E6FE4832E34A}")
+public interface IiTunes extends Com4jObject {
+  // Methods:
+  /**
+   * <p>
+   * Reposition to the beginning of the current track or go to the previous track if already at start of current track.
+   * </p>
+   */
+
+  @DISPID(1610743808) //= 0x60020000. The runtime will prefer the VTID if present
+  @VTID(7)
+  void backTrack();
+
+
+  /**
+   * <p>
+   * Skip forward in a playing track.
+   * </p>
+   */
+
+  @DISPID(1610743809) //= 0x60020001. The runtime will prefer the VTID if present
+  @VTID(8)
+  void fastForward();
+
+
+  /**
+   * <p>
+   * Advance to the next track in the current playlist.
+   * </p>
+   */
+
+  @DISPID(1610743810) //= 0x60020002. The runtime will prefer the VTID if present
+  @VTID(9)
+  void nextTrack();
+
+
+  /**
+   * <p>
+   * Pause playback.
+   * </p>
+   */
+
+  @DISPID(1610743811) //= 0x60020003. The runtime will prefer the VTID if present
+  @VTID(10)
+  void pause();
+
+
+  /**
+   * <p>
+   * Play the currently targeted track.
+   * </p>
+   */
+
+  @DISPID(1610743812) //= 0x60020004. The runtime will prefer the VTID if present
+  @VTID(11)
+  void play();
+
+
+  /**
+   * <p>
+   * Play the specified file path, adding it to the library if not already present.
+   * </p>
+   * @param filePath Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610743813) //= 0x60020005. The runtime will prefer the VTID if present
+  @VTID(12)
+  void playFile(
+    java.lang.String filePath);
+
+
+  /**
+   * <p>
+   * Toggle the playing/paused state of the current track.
+   * </p>
+   */
+
+  @DISPID(1610743814) //= 0x60020006. The runtime will prefer the VTID if present
+  @VTID(13)
+  void playPause();
+
+
+  /**
+   * <p>
+   * Return to the previous track in the current playlist.
+   * </p>
+   */
+
+  @DISPID(1610743815) //= 0x60020007. The runtime will prefer the VTID if present
+  @VTID(14)
+  void previousTrack();
+
+
+  /**
+   * <p>
+   * Disable fast forward/rewind and resume playback, if playing.
+   * </p>
+   */
+
+  @DISPID(1610743816) //= 0x60020008. The runtime will prefer the VTID if present
+  @VTID(15)
+  void resume();
+
+
+  /**
+   * <p>
+   * Skip backwards in a playing track.
+   * </p>
+   */
+
+  @DISPID(1610743817) //= 0x60020009. The runtime will prefer the VTID if present
+  @VTID(16)
+  void rewind();
+
+
+  /**
+   * <p>
+   * Stop playback.
+   * </p>
+   */
+
+  @DISPID(1610743818) //= 0x6002000a. The runtime will prefer the VTID if present
+  @VTID(17)
+  void stop();
+
+
+  /**
+   * <p>
+   * Start converting the specified file path.
+   * </p>
+   * @param filePath Mandatory java.lang.String parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITOperationStatus
+   */
+
+  @DISPID(1610743819) //= 0x6002000b. The runtime will prefer the VTID if present
+  @VTID(18)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITOperationStatus convertFile(
+    java.lang.String filePath);
+
+
+  /**
+   * <p>
+   * Start converting the specified array of file paths. filePaths can be of type VT_ARRAY|VT_VARIANT, where each entry is a VT_BSTR, or VT_ARRAY|VT_BSTR.  You can also pass a JScript Array object.
+   * </p>
+   * @param filePaths Mandatory java.lang.Object parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITOperationStatus
+   */
+
+  @DISPID(1610743820) //= 0x6002000c. The runtime will prefer the VTID if present
+  @VTID(19)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITOperationStatus convertFiles(
+    java.lang.Object filePaths);
+
+
+  /**
+   * <p>
+   * Start converting the specified track.  iTrackToConvert is a VARIANT of type VT_DISPATCH that points to an IITTrack.
+   * </p>
+   * @param iTrackToConvert Mandatory java.lang.Object parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITOperationStatus
+   */
+
+  @DISPID(1610743821) //= 0x6002000d. The runtime will prefer the VTID if present
+  @VTID(20)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITOperationStatus convertTrack(
+    java.lang.Object iTrackToConvert);
+
+
+  /**
+   * <p>
+   * Start converting the specified tracks.  iTracksToConvert is a VARIANT of type VT_DISPATCH that points to an IITTrackCollection.
+   * </p>
+   * @param iTracksToConvert Mandatory java.lang.Object parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITOperationStatus
+   */
+
+  @DISPID(1610743822) //= 0x6002000e. The runtime will prefer the VTID if present
+  @VTID(21)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITOperationStatus convertTracks(
+    java.lang.Object iTracksToConvert);
+
+
+  /**
+   * <p>
+   * Returns true if this version of the iTunes type library is compatible with the specified version.
+   * </p>
+   * @param majorVersion Mandatory int parameter.
+   * @param minorVersion Mandatory int parameter.
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610743823) //= 0x6002000f. The runtime will prefer the VTID if present
+  @VTID(22)
+  boolean checkVersion(
+    int majorVersion,
+    int minorVersion);
+
+
+  /**
+   * <p>
+   * Returns an IITObject corresponding to the specified IDs.
+   * </p>
+   * @param sourceID Mandatory int parameter.
+   * @param playlistID Mandatory int parameter.
+   * @param trackID Mandatory int parameter.
+   * @param databaseID Mandatory int parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITObject
+   */
+
+  @DISPID(1610743824) //= 0x60020010. The runtime will prefer the VTID if present
+  @VTID(23)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITObject getITObjectByID(
+    int sourceID,
+    int playlistID,
+    int trackID,
+    int databaseID);
+
+
+  /**
+   * <p>
+   * Creates a new playlist in the main library.
+   * </p>
+   * @param playlistName Mandatory java.lang.String parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist
+   */
+
+  @DISPID(1610743825) //= 0x60020011. The runtime will prefer the VTID if present
+  @VTID(24)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist createPlaylist(
+    java.lang.String playlistName);
+
+
+  /**
+   * <p>
+   * Open the specified iTunes Store or streaming audio URL.
+   * </p>
+   * @param url Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610743826) //= 0x60020012. The runtime will prefer the VTID if present
+  @VTID(25)
+  void openURL(
+    java.lang.String url);
+
+
+  /**
+   * <p>
+   * Go to the iTunes Store home page.
+   * </p>
+   */
+
+  @DISPID(1610743827) //= 0x60020013. The runtime will prefer the VTID if present
+  @VTID(26)
+  void gotoMusicStoreHomePage();
+
+
+  /**
+   * <p>
+   * Update the contents of the iPod.
+   * </p>
+   */
+
+  @DISPID(1610743828) //= 0x60020014. The runtime will prefer the VTID if present
+  @VTID(27)
+  void updateIPod();
+
+
+  /**
+   * @param numElems Mandatory int parameter.
+   * @param data Mandatory java.lang.Object parameter.
+   * @param names Mandatory Holder<java.lang.String> parameter.
+   */
+
+  @DISPID(1610743829) //= 0x60020015. The runtime will prefer the VTID if present
+  @VTID(28)
+  void authorize(
+    int numElems,
+    java.lang.Object data,
+    Holder<java.lang.String> names);
+
+
+  /**
+   * <p>
+   * Exits the iTunes application.
+   * </p>
+   */
+
+  @DISPID(1610743830) //= 0x60020016. The runtime will prefer the VTID if present
+  @VTID(29)
+  void quit();
+
+
+  /**
+   * <p>
+   * Returns a collection of music sources (music library, CD, device, etc.).
+   * </p>
+   * <p>
+   * Getter method for the COM property "Sources"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITSourceCollection
+   */
+
+  @DISPID(1610743831) //= 0x60020017. The runtime will prefer the VTID if present
+  @VTID(30)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITSourceCollection sources();
+
+
+  @VTID(30)
+  @ReturnValue(defaultPropertyThrough={de.nplusc.izc.izpl.plugins.itunes.api.IITSourceCollection.class})
+  de.nplusc.izc.izpl.plugins.itunes.api.IITSource sources(
+    int index);
+
+  /**
+   * <p>
+   * Returns a collection of encoders.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Encoders"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITEncoderCollection
+   */
+
+  @DISPID(1610743832) //= 0x60020018. The runtime will prefer the VTID if present
+  @VTID(31)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITEncoderCollection encoders();
+
+
+  @VTID(31)
+  @ReturnValue(defaultPropertyThrough={de.nplusc.izc.izpl.plugins.itunes.api.IITEncoderCollection.class})
+  de.nplusc.izc.izpl.plugins.itunes.api.IITEncoder encoders(
+    int index);
+
+  /**
+   * <p>
+   * Returns a collection of EQ presets.
+   * </p>
+   * <p>
+   * Getter method for the COM property "EQPresets"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITEQPresetCollection
+   */
+
+  @DISPID(1610743833) //= 0x60020019. The runtime will prefer the VTID if present
+  @VTID(32)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITEQPresetCollection eqPresets();
+
+
+  @VTID(32)
+  @ReturnValue(defaultPropertyThrough={de.nplusc.izc.izpl.plugins.itunes.api.IITEQPresetCollection.class})
+  de.nplusc.izc.izpl.plugins.itunes.api.IITEQPreset eqPresets(
+    int index);
+
+  /**
+   * <p>
+   * Returns a collection of visual plug-ins.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Visuals"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITVisualCollection
+   */
+
+  @DISPID(1610743834) //= 0x6002001a. The runtime will prefer the VTID if present
+  @VTID(33)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITVisualCollection visuals();
+
+
+  @VTID(33)
+  @ReturnValue(defaultPropertyThrough={de.nplusc.izc.izpl.plugins.itunes.api.IITVisualCollection.class})
+  de.nplusc.izc.izpl.plugins.itunes.api.IITVisual visuals(
+    int index);
+
+  /**
+   * <p>
+   * Returns a collection of windows.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Windows"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITWindowCollection
+   */
+
+  @DISPID(1610743835) //= 0x6002001b. The runtime will prefer the VTID if present
+  @VTID(34)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITWindowCollection windows();
+
+
+  @VTID(34)
+  @ReturnValue(defaultPropertyThrough={de.nplusc.izc.izpl.plugins.itunes.api.IITWindowCollection.class})
+  de.nplusc.izc.izpl.plugins.itunes.api.IITWindow windows(
+    int index);
+
+  /**
+   * <p>
+   * Returns the sound output volume (0 = minimum, 100 = maximum).
+   * </p>
+   * <p>
+   * Getter method for the COM property "SoundVolume"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610743836) //= 0x6002001c. The runtime will prefer the VTID if present
+  @VTID(35)
+  int soundVolume();
+
+
+  /**
+   * <p>
+   * Returns the sound output volume (0 = minimum, 100 = maximum).
+   * </p>
+   * <p>
+   * Setter method for the COM property "SoundVolume"
+   * </p>
+   * @param volume Mandatory int parameter.
+   */
+
+  @DISPID(1610743836) //= 0x6002001c. The runtime will prefer the VTID if present
+  @VTID(36)
+  void soundVolume(
+    int volume);
+
+
+  /**
+   * <p>
+   * True if sound output is muted.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Mute"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610743838) //= 0x6002001e. The runtime will prefer the VTID if present
+  @VTID(37)
+  boolean mute();
+
+
+  /**
+   * <p>
+   * True if sound output is muted.
+   * </p>
+   * <p>
+   * Setter method for the COM property "Mute"
+   * </p>
+   * @param isMuted Mandatory boolean parameter.
+   */
+
+  @DISPID(1610743838) //= 0x6002001e. The runtime will prefer the VTID if present
+  @VTID(38)
+  void mute(
+    boolean isMuted);
+
+
+  /**
+   * <p>
+   * Returns the current player state.
+   * </p>
+   * <p>
+   * Getter method for the COM property "PlayerState"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0001
+   */
+
+  @DISPID(1610743840) //= 0x60020020. The runtime will prefer the VTID if present
+  @VTID(39)
+  de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0001 playerState();
+
+
+  /**
+   * <p>
+   * Returns the player's position within the currently playing track in seconds.
+   * </p>
+   * <p>
+   * Getter method for the COM property "PlayerPosition"
+   * </p>
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610743841) //= 0x60020021. The runtime will prefer the VTID if present
+  @VTID(40)
+  int playerPosition();
+
+
+  /**
+   * <p>
+   * Returns the player's position within the currently playing track in seconds.
+   * </p>
+   * <p>
+   * Setter method for the COM property "PlayerPosition"
+   * </p>
+   * @param playerPos Mandatory int parameter.
+   */
+
+  @DISPID(1610743841) //= 0x60020021. The runtime will prefer the VTID if present
+  @VTID(41)
+  void playerPosition(
+    int playerPos);
+
+
+  /**
+   * <p>
+   * Returns the currently selected encoder (AAC, MP3, AIFF, WAV, etc.).
+   * </p>
+   * <p>
+   * Getter method for the COM property "CurrentEncoder"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITEncoder
+   */
+
+  @DISPID(1610743843) //= 0x60020023. The runtime will prefer the VTID if present
+  @VTID(42)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITEncoder currentEncoder();
+
+
+  /**
+   * <p>
+   * Returns the currently selected encoder (AAC, MP3, AIFF, WAV, etc.).
+   * </p>
+   * <p>
+   * Setter method for the COM property "CurrentEncoder"
+   * </p>
+   * @param iEncoder Mandatory de.nplusc.izc.izpl.plugins.itunes.api.IITEncoder parameter.
+   */
+
+  @DISPID(1610743843) //= 0x60020023. The runtime will prefer the VTID if present
+  @VTID(43)
+  void currentEncoder(
+    de.nplusc.izc.izpl.plugins.itunes.api.IITEncoder iEncoder);
+
+
+  /**
+   * <p>
+   * True if visuals are currently being displayed.
+   * </p>
+   * <p>
+   * Getter method for the COM property "VisualsEnabled"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610743845) //= 0x60020025. The runtime will prefer the VTID if present
+  @VTID(44)
+  boolean visualsEnabled();
+
+
+  /**
+   * <p>
+   * True if visuals are currently being displayed.
+   * </p>
+   * <p>
+   * Setter method for the COM property "VisualsEnabled"
+   * </p>
+   * @param isEnabled Mandatory boolean parameter.
+   */
+
+  @DISPID(1610743845) //= 0x60020025. The runtime will prefer the VTID if present
+  @VTID(45)
+  void visualsEnabled(
+    boolean isEnabled);
+
+
+  /**
+   * <p>
+   * True if the visuals are displayed using the entire screen.
+   * </p>
+   * <p>
+   * Getter method for the COM property "FullScreenVisuals"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610743847) //= 0x60020027. The runtime will prefer the VTID if present
+  @VTID(46)
+  boolean fullScreenVisuals();
+
+
+  /**
+   * <p>
+   * True if the visuals are displayed using the entire screen.
+   * </p>
+   * <p>
+   * Setter method for the COM property "FullScreenVisuals"
+   * </p>
+   * @param isFullScreen Mandatory boolean parameter.
+   */
+
+  @DISPID(1610743847) //= 0x60020027. The runtime will prefer the VTID if present
+  @VTID(47)
+  void fullScreenVisuals(
+    boolean isFullScreen);
+
+
+  /**
+   * <p>
+   * Returns the size of the displayed visual.
+   * </p>
+   * <p>
+   * Getter method for the COM property "VisualSize"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0002
+   */
+
+  @DISPID(1610743849) //= 0x60020029. The runtime will prefer the VTID if present
+  @VTID(48)
+  de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0002 visualSize();
+
+
+  /**
+   * <p>
+   * Returns the size of the displayed visual.
+   * </p>
+   * <p>
+   * Setter method for the COM property "VisualSize"
+   * </p>
+   * @param visualSize Mandatory de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0002 parameter.
+   */
+
+  @DISPID(1610743849) //= 0x60020029. The runtime will prefer the VTID if present
+  @VTID(49)
+  void visualSize(
+    de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0002 visualSize);
+
+
+  /**
+   * <p>
+   * Returns the currently selected visual plug-in.
+   * </p>
+   * <p>
+   * Getter method for the COM property "CurrentVisual"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITVisual
+   */
+
+  @DISPID(1610743851) //= 0x6002002b. The runtime will prefer the VTID if present
+  @VTID(50)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITVisual currentVisual();
+
+
+  /**
+   * <p>
+   * Returns the currently selected visual plug-in.
+   * </p>
+   * <p>
+   * Setter method for the COM property "CurrentVisual"
+   * </p>
+   * @param iVisual Mandatory de.nplusc.izc.izpl.plugins.itunes.api.IITVisual parameter.
+   */
+
+  @DISPID(1610743851) //= 0x6002002b. The runtime will prefer the VTID if present
+  @VTID(51)
+  void currentVisual(
+    de.nplusc.izc.izpl.plugins.itunes.api.IITVisual iVisual);
+
+
+  /**
+   * <p>
+   * True if the equalizer is enabled.
+   * </p>
+   * <p>
+   * Getter method for the COM property "EQEnabled"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610743853) //= 0x6002002d. The runtime will prefer the VTID if present
+  @VTID(52)
+  boolean eqEnabled();
+
+
+  /**
+   * <p>
+   * True if the equalizer is enabled.
+   * </p>
+   * <p>
+   * Setter method for the COM property "EQEnabled"
+   * </p>
+   * @param isEnabled Mandatory boolean parameter.
+   */
+
+  @DISPID(1610743853) //= 0x6002002d. The runtime will prefer the VTID if present
+  @VTID(53)
+  void eqEnabled(
+    boolean isEnabled);
+
+
+  /**
+   * <p>
+   * Returns the currently selected EQ preset.
+   * </p>
+   * <p>
+   * Getter method for the COM property "CurrentEQPreset"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITEQPreset
+   */
+
+  @DISPID(1610743855) //= 0x6002002f. The runtime will prefer the VTID if present
+  @VTID(54)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITEQPreset currentEQPreset();
+
+
+  /**
+   * <p>
+   * Returns the currently selected EQ preset.
+   * </p>
+   * <p>
+   * Setter method for the COM property "CurrentEQPreset"
+   * </p>
+   * @param iEQPreset Mandatory de.nplusc.izc.izpl.plugins.itunes.api.IITEQPreset parameter.
+   */
+
+  @DISPID(1610743855) //= 0x6002002f. The runtime will prefer the VTID if present
+  @VTID(55)
+  void currentEQPreset(
+    de.nplusc.izc.izpl.plugins.itunes.api.IITEQPreset iEQPreset);
+
+
+  /**
+   * <p>
+   * The name of the current song in the playing stream (provided by streaming server).
+   * </p>
+   * <p>
+   * Getter method for the COM property "CurrentStreamTitle"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610743857) //= 0x60020031. The runtime will prefer the VTID if present
+  @VTID(56)
+  java.lang.String currentStreamTitle();
+
+
+  /**
+   * <p>
+   * The URL of the playing stream or streaming web site (provided by streaming server).
+   * </p>
+   * <p>
+   * Getter method for the COM property "CurrentStreamURL"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610743858) //= 0x60020032. The runtime will prefer the VTID if present
+  @VTID(57)
+  java.lang.String currentStreamURL();
+
+
+  /**
+   * <p>
+   * Returns the main iTunes browser window.
+   * </p>
+   * <p>
+   * Getter method for the COM property "BrowserWindow"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITBrowserWindow
+   */
+
+  @DISPID(1610743859) //= 0x60020033. The runtime will prefer the VTID if present
+  @VTID(58)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITBrowserWindow browserWindow();
+
+
+  /**
+   * <p>
+   * Returns the EQ window.
+   * </p>
+   * <p>
+   * Getter method for the COM property "EQWindow"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITWindow
+   */
+
+  @DISPID(1610743860) //= 0x60020034. The runtime will prefer the VTID if present
+  @VTID(59)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITWindow eqWindow();
+
+
+  /**
+   * <p>
+   * Returns the source that represents the main library.
+   * </p>
+   * <p>
+   * Getter method for the COM property "LibrarySource"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITSource
+   */
+
+  @DISPID(1610743861) //= 0x60020035. The runtime will prefer the VTID if present
+  @VTID(60)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITSource librarySource();
+
+
+  /**
+   * <p>
+   * Returns the main library playlist in the main library source.
+   * </p>
+   * <p>
+   * Getter method for the COM property "LibraryPlaylist"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITLibraryPlaylist
+   */
+
+  @DISPID(1610743862) //= 0x60020036. The runtime will prefer the VTID if present
+  @VTID(61)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITLibraryPlaylist libraryPlaylist();
+
+
+  /**
+   * <p>
+   * Returns the currently targeted track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "CurrentTrack"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITTrack
+   */
+
+  @DISPID(1610743863) //= 0x60020037. The runtime will prefer the VTID if present
+  @VTID(62)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITTrack currentTrack();
+
+
+  /**
+   * <p>
+   * Returns the playlist containing the currently targeted track.
+   * </p>
+   * <p>
+   * Getter method for the COM property "CurrentPlaylist"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist
+   */
+
+  @DISPID(1610743864) //= 0x60020038. The runtime will prefer the VTID if present
+  @VTID(63)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist currentPlaylist();
+
+
+  /**
+   * <p>
+   * Returns a collection containing the currently selected track or tracks.
+   * </p>
+   * <p>
+   * Getter method for the COM property "SelectedTracks"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITTrackCollection
+   */
+
+  @DISPID(1610743865) //= 0x60020039. The runtime will prefer the VTID if present
+  @VTID(64)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITTrackCollection selectedTracks();
+
+
+  @VTID(64)
+  @ReturnValue(defaultPropertyThrough={de.nplusc.izc.izpl.plugins.itunes.api.IITTrackCollection.class})
+  de.nplusc.izc.izpl.plugins.itunes.api.IITTrack selectedTracks(
+    int index);
+
+  /**
+   * <p>
+   * Returns the version of the iTunes application.
+   * </p>
+   * <p>
+   * Getter method for the COM property "Version"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610743866) //= 0x6002003a. The runtime will prefer the VTID if present
+  @VTID(65)
+  java.lang.String version();
+
+
+  /**
+   * @param options Mandatory int parameter.
+   */
+
+  @DISPID(1610743867) //= 0x6002003b. The runtime will prefer the VTID if present
+  @VTID(66)
+  void setOptions(
+    int options);
+
+
+  /**
+   * <p>
+   * Start converting the specified file path.
+   * </p>
+   * @param filePath Mandatory java.lang.String parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITConvertOperationStatus
+   */
+
+  @DISPID(1610743868) //= 0x6002003c. The runtime will prefer the VTID if present
+  @VTID(67)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITConvertOperationStatus convertFile2(
+    java.lang.String filePath);
+
+
+  /**
+   * <p>
+   * Start converting the specified array of file paths. filePaths can be of type VT_ARRAY|VT_VARIANT, where each entry is a VT_BSTR, or VT_ARRAY|VT_BSTR.  You can also pass a JScript Array object.
+   * </p>
+   * @param filePaths Mandatory java.lang.Object parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITConvertOperationStatus
+   */
+
+  @DISPID(1610743869) //= 0x6002003d. The runtime will prefer the VTID if present
+  @VTID(68)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITConvertOperationStatus convertFiles2(
+    java.lang.Object filePaths);
+
+
+  /**
+   * <p>
+   * Start converting the specified track.  iTrackToConvert is a VARIANT of type VT_DISPATCH that points to an IITTrack.
+   * </p>
+   * @param iTrackToConvert Mandatory java.lang.Object parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITConvertOperationStatus
+   */
+
+  @DISPID(1610743870) //= 0x6002003e. The runtime will prefer the VTID if present
+  @VTID(69)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITConvertOperationStatus convertTrack2(
+    java.lang.Object iTrackToConvert);
+
+
+  /**
+   * <p>
+   * Start converting the specified tracks.  iTracksToConvert is a VARIANT of type VT_DISPATCH that points to an IITTrackCollection.
+   * </p>
+   * @param iTracksToConvert Mandatory java.lang.Object parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITConvertOperationStatus
+   */
+
+  @DISPID(1610743871) //= 0x6002003f. The runtime will prefer the VTID if present
+  @VTID(70)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITConvertOperationStatus convertTracks2(
+    java.lang.Object iTracksToConvert);
+
+
+  /**
+   * <p>
+   * True if iTunes will process APPCOMMAND Windows messages.
+   * </p>
+   * <p>
+   * Getter method for the COM property "AppCommandMessageProcessingEnabled"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610743872) //= 0x60020040. The runtime will prefer the VTID if present
+  @VTID(71)
+  boolean appCommandMessageProcessingEnabled();
+
+
+  /**
+   * <p>
+   * True if iTunes will process APPCOMMAND Windows messages.
+   * </p>
+   * <p>
+   * Setter method for the COM property "AppCommandMessageProcessingEnabled"
+   * </p>
+   * @param isEnabled Mandatory boolean parameter.
+   */
+
+  @DISPID(1610743872) //= 0x60020040. The runtime will prefer the VTID if present
+  @VTID(72)
+  void appCommandMessageProcessingEnabled(
+    boolean isEnabled);
+
+
+  /**
+   * <p>
+   * True if iTunes will force itself to be the foreground application when it displays a dialog.
+   * </p>
+   * <p>
+   * Getter method for the COM property "ForceToForegroundOnDialog"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610743874) //= 0x60020042. The runtime will prefer the VTID if present
+  @VTID(73)
+  boolean forceToForegroundOnDialog();
+
+
+  /**
+   * <p>
+   * True if iTunes will force itself to be the foreground application when it displays a dialog.
+   * </p>
+   * <p>
+   * Setter method for the COM property "ForceToForegroundOnDialog"
+   * </p>
+   * @param forceToForegroundOnDialog Mandatory boolean parameter.
+   */
+
+  @DISPID(1610743874) //= 0x60020042. The runtime will prefer the VTID if present
+  @VTID(74)
+  void forceToForegroundOnDialog(
+    boolean forceToForegroundOnDialog);
+
+
+  /**
+   * <p>
+   * Create a new EQ preset.
+   * </p>
+   * @param eqPresetName Mandatory java.lang.String parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITEQPreset
+   */
+
+  @DISPID(1610743876) //= 0x60020044. The runtime will prefer the VTID if present
+  @VTID(75)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITEQPreset createEQPreset(
+    java.lang.String eqPresetName);
+
+
+  /**
+   * <p>
+   * Creates a new playlist in an existing source.
+   * </p>
+   * @param playlistName Mandatory java.lang.String parameter.
+   * @param iSource Mandatory java.lang.Object parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist
+   */
+
+  @DISPID(1610743877) //= 0x60020045. The runtime will prefer the VTID if present
+  @VTID(76)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist createPlaylistInSource(
+    java.lang.String playlistName,
+    java.lang.Object iSource);
+
+
+  /**
+   * <p>
+   * Retrieves the current state of the player buttons.
+   * </p>
+   * @param previousEnabled Mandatory Holder<Boolean> parameter.
+   * @param playPauseStopState Mandatory Holder<de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0004> parameter.
+   * @param nextEnabled Mandatory Holder<Boolean> parameter.
+   */
+
+  @DISPID(1610743878) //= 0x60020046. The runtime will prefer the VTID if present
+  @VTID(77)
+  void getPlayerButtonsState(
+    Holder<Boolean> previousEnabled,
+    Holder<de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0004> playPauseStopState,
+    Holder<Boolean> nextEnabled);
+
+
+  /**
+   * <p>
+   * Simulate click on a player control button.
+   * </p>
+   * @param playerButton Mandatory de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0005 parameter.
+   * @param playerButtonModifierKeys Mandatory int parameter.
+   */
+
+  @DISPID(1610743879) //= 0x60020047. The runtime will prefer the VTID if present
+  @VTID(78)
+  void playerButtonClicked(
+    de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0005 playerButton,
+    int playerButtonModifierKeys);
+
+
+  /**
+   * <p>
+   * True if the Shuffle property is writable for the specified playlist.
+   * </p>
+   * <p>
+   * Getter method for the COM property "CanSetShuffle"
+   * </p>
+   * @param iPlaylist Mandatory java.lang.Object parameter.
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610743880) //= 0x60020048. The runtime will prefer the VTID if present
+  @VTID(79)
+  boolean canSetShuffle(
+    java.lang.Object iPlaylist);
+
+
+  /**
+   * <p>
+   * True if the SongRepeat property is writable for the specified playlist.
+   * </p>
+   * <p>
+   * Getter method for the COM property "CanSetSongRepeat"
+   * </p>
+   * @param iPlaylist Mandatory java.lang.Object parameter.
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610743881) //= 0x60020049. The runtime will prefer the VTID if present
+  @VTID(80)
+  boolean canSetSongRepeat(
+    java.lang.Object iPlaylist);
+
+
+  /**
+   * <p>
+   * Returns an IITConvertOperationStatus object if there is currently a conversion in progress.
+   * </p>
+   * <p>
+   * Getter method for the COM property "ConvertOperationStatus"
+   * </p>
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITConvertOperationStatus
+   */
+
+  @DISPID(1610743882) //= 0x6002004a. The runtime will prefer the VTID if present
+  @VTID(81)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITConvertOperationStatus convertOperationStatus();
+
+
+  /**
+   * <p>
+   * Subscribe to the specified podcast feed URL.
+   * </p>
+   * @param url Mandatory java.lang.String parameter.
+   */
+
+  @DISPID(1610743883) //= 0x6002004b. The runtime will prefer the VTID if present
+  @VTID(82)
+  void subscribeToPodcast(
+    java.lang.String url);
+
+
+  /**
+   * <p>
+   * Update all podcast feeds.
+   * </p>
+   */
+
+  @DISPID(1610743884) //= 0x6002004c. The runtime will prefer the VTID if present
+  @VTID(83)
+  void updatePodcastFeeds();
+
+
+  /**
+   * <p>
+   * Creates a new folder in the main library.
+   * </p>
+   * @param folderName Mandatory java.lang.String parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist
+   */
+
+  @DISPID(1610743885) //= 0x6002004d. The runtime will prefer the VTID if present
+  @VTID(84)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist createFolder(
+    java.lang.String folderName);
+
+
+  /**
+   * <p>
+   * Creates a new folder in an existing source.
+   * </p>
+   * @param folderName Mandatory java.lang.String parameter.
+   * @param iSource Mandatory java.lang.Object parameter.
+   * @return  Returns a value of type de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist
+   */
+
+  @DISPID(1610743886) //= 0x6002004e. The runtime will prefer the VTID if present
+  @VTID(85)
+  de.nplusc.izc.izpl.plugins.itunes.api.IITPlaylist createFolderInSource(
+    java.lang.String folderName,
+    java.lang.Object iSource);
+
+
+  /**
+   * <p>
+   * True if the sound volume control is enabled.
+   * </p>
+   * <p>
+   * Getter method for the COM property "SoundVolumeControlEnabled"
+   * </p>
+   * @return  Returns a value of type boolean
+   */
+
+  @DISPID(1610743887) //= 0x6002004f. The runtime will prefer the VTID if present
+  @VTID(86)
+  boolean soundVolumeControlEnabled();
+
+
+  /**
+   * <p>
+   * The full path to the current iTunes library XML file.
+   * </p>
+   * <p>
+   * Getter method for the COM property "LibraryXMLPath"
+   * </p>
+   * @return  Returns a value of type java.lang.String
+   */
+
+  @DISPID(1610743888) //= 0x60020050. The runtime will prefer the VTID if present
+  @VTID(87)
+  java.lang.String libraryXMLPath();
+
+
+  /**
+   * <p>
+   * Returns the high 32 bits of the persistent ID of the specified IITObject.
+   * </p>
+   * <p>
+   * Getter method for the COM property "ITObjectPersistentIDHigh"
+   * </p>
+   * @param iObject Mandatory java.lang.Object parameter.
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610743889) //= 0x60020051. The runtime will prefer the VTID if present
+  @VTID(88)
+  int itObjectPersistentIDHigh(
+    java.lang.Object iObject);
+
+
+  /**
+   * <p>
+   * Returns the low 32 bits of the persistent ID of the specified IITObject.
+   * </p>
+   * <p>
+   * Getter method for the COM property "ITObjectPersistentIDLow"
+   * </p>
+   * @param iObject Mandatory java.lang.Object parameter.
+   * @return  Returns a value of type int
+   */
+
+  @DISPID(1610743890) //= 0x60020052. The runtime will prefer the VTID if present
+  @VTID(89)
+  int itObjectPersistentIDLow(
+    java.lang.Object iObject);
+
+
+  /**
+   * <p>
+   * Returns the high and low 32 bits of the persistent ID of the specified IITObject.
+   * </p>
+   * @param iObject Mandatory java.lang.Object parameter.
+   * @param highID Mandatory Holder<Integer> parameter.
+   * @param lowID Mandatory Holder<Integer> parameter.
+   */
+
+  @DISPID(1610743891) //= 0x60020053. The runtime will prefer the VTID if present
+  @VTID(90)
+  void getITObjectPersistentIDs(
+    java.lang.Object iObject,
+    Holder<Integer> highID,
+    Holder<Integer> lowID);
+
+
+  // Properties:
+}

+ 38 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/_IITConvertOperationStatusEvents.java

@@ -0,0 +1,38 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * _IITConvertOperationStatusEvents Interface
+ */
+@IID("{00020400-0000-0000-C000-000000000046}")
+public interface _IITConvertOperationStatusEvents extends Com4jObject {
+  // Methods:
+  /**
+   * <p>
+   * Fired when status about the conversion operation has changed.
+   * </p>
+   * @param trackName Mandatory java.lang.String parameter.
+   * @param progressValue Mandatory int parameter.
+   * @param maxProgressValue Mandatory int parameter.
+   */
+
+  @DISPID(1)
+  void onConvertOperationStatusChangedEvent(
+    java.lang.String trackName,
+    int progressValue,
+    int maxProgressValue);
+
+
+  /**
+   * <p>
+   * Fired when the conversion operation has completed.
+   * </p>
+   */
+
+  @DISPID(2)
+  void onConvertOperationCompleteEvent();
+
+
+  // Properties:
+}

+ 126 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/_IiTunesEvents.java

@@ -0,0 +1,126 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ * _IiTunesEvents Interface
+ */
+@IID("{00020400-0000-0000-C000-000000000046}")
+public interface _IiTunesEvents extends Com4jObject {
+  // Methods:
+  /**
+   * <p>
+   * Fired when a database change occurs.
+   * </p>
+   * @param deletedObjectIDs Mandatory java.lang.Object parameter.
+   * @param changedObjectIDs Mandatory java.lang.Object parameter.
+   */
+
+  @DISPID(1)
+  void onDatabaseChangedEvent(
+    java.lang.Object deletedObjectIDs,
+    java.lang.Object changedObjectIDs);
+
+
+  /**
+   * <p>
+   * Fired when a track has started playing.
+   * </p>
+   * @param iTrack Mandatory java.lang.Object parameter.
+   */
+
+  @DISPID(2)
+  void onPlayerPlayEvent(
+    java.lang.Object iTrack);
+
+
+  /**
+   * <p>
+   * Fired when a track has stopped playing.
+   * </p>
+   * @param iTrack Mandatory java.lang.Object parameter.
+   */
+
+  @DISPID(3)
+  void onPlayerStopEvent(
+    java.lang.Object iTrack);
+
+
+  /**
+   * <p>
+   * Fired when information about the currently playing track has changed.
+   * </p>
+   * @param iTrack Mandatory java.lang.Object parameter.
+   */
+
+  @DISPID(4)
+  void onPlayerPlayingTrackChangedEvent(
+    java.lang.Object iTrack);
+
+
+  /**
+   * <p>
+   * Fired when the iTunes user interface is no longer disabled.
+   * </p>
+   */
+
+  @DISPID(5)
+  void onUserInterfaceEnabledEvent();
+
+
+  /**
+   * <p>
+   * Fired when calls to the iTunes COM interface will be deferred.
+   * </p>
+   * @param reason Mandatory de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0003 parameter.
+   */
+
+  @DISPID(6)
+  void onCOMCallsDisabledEvent(
+    de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0003 reason);
+
+
+  /**
+   * <p>
+   * Fired when calls to the iTunes COM interface will no longer be deferred.
+   * </p>
+   */
+
+  @DISPID(7)
+  void onCOMCallsEnabledEvent();
+
+
+  /**
+   * <p>
+   * Fired when iTunes is about to quit.
+   * </p>
+   */
+
+  @DISPID(8)
+  void onQuittingEvent();
+
+
+  /**
+   * <p>
+   * Fired when iTunes is about to prompt the user to quit.
+   * </p>
+   */
+
+  @DISPID(9)
+  void onAboutToPromptUserToQuitEvent();
+
+
+  /**
+   * <p>
+   * Fired when the sound output volume has changed.
+   * </p>
+   * @param newVolume Mandatory int parameter.
+   */
+
+  @DISPID(10)
+  void onSoundVolumeChangedEvent(
+    int newVolume);
+
+
+  // Properties:
+}

+ 32 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0001.java

@@ -0,0 +1,32 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ */
+public enum __MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0001 {
+  /**
+   * <p>
+   * The value of this constant is 0
+   * </p>
+   */
+  ITPlayerStateStopped, // 0
+  /**
+   * <p>
+   * The value of this constant is 1
+   * </p>
+   */
+  ITPlayerStatePlaying, // 1
+  /**
+   * <p>
+   * The value of this constant is 2
+   * </p>
+   */
+  ITPlayerStateFastForward, // 2
+  /**
+   * <p>
+   * The value of this constant is 3
+   * </p>
+   */
+  ITPlayerStateRewind, // 3
+}

+ 26 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0002.java

@@ -0,0 +1,26 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ */
+public enum __MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0002 {
+  /**
+   * <p>
+   * The value of this constant is 0
+   * </p>
+   */
+  ITVisualSizeSmall, // 0
+  /**
+   * <p>
+   * The value of this constant is 1
+   * </p>
+   */
+  ITVisualSizeMedium, // 1
+  /**
+   * <p>
+   * The value of this constant is 2
+   * </p>
+   */
+  ITVisualSizeLarge, // 2
+}

+ 26 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0003.java

@@ -0,0 +1,26 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ */
+public enum __MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0003 {
+  /**
+   * <p>
+   * The value of this constant is 0
+   * </p>
+   */
+  ITCOMDisabledReasonOther, // 0
+  /**
+   * <p>
+   * The value of this constant is 1
+   * </p>
+   */
+  ITCOMDisabledReasonDialog, // 1
+  /**
+   * <p>
+   * The value of this constant is 2
+   * </p>
+   */
+  ITCOMDisabledReasonQuitting, // 2
+}

+ 44 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0004.java

@@ -0,0 +1,44 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ */
+public enum __MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0004 {
+  /**
+   * <p>
+   * The value of this constant is 0
+   * </p>
+   */
+  ITPlayButtonStatePlayDisabled, // 0
+  /**
+   * <p>
+   * The value of this constant is 1
+   * </p>
+   */
+  ITPlayButtonStatePlayEnabled, // 1
+  /**
+   * <p>
+   * The value of this constant is 2
+   * </p>
+   */
+  ITPlayButtonStatePauseEnabled, // 2
+  /**
+   * <p>
+   * The value of this constant is 3
+   * </p>
+   */
+  ITPlayButtonStatePauseDisabled, // 3
+  /**
+   * <p>
+   * The value of this constant is 4
+   * </p>
+   */
+  ITPlayButtonStateStopEnabled, // 4
+  /**
+   * <p>
+   * The value of this constant is 5
+   * </p>
+   */
+  ITPlayButtonStateStopDisabled, // 5
+}

+ 26 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0005.java

@@ -0,0 +1,26 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ */
+public enum __MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0005 {
+  /**
+   * <p>
+   * The value of this constant is 0
+   * </p>
+   */
+  ITPlayerButtonPrevious, // 0
+  /**
+   * <p>
+   * The value of this constant is 1
+   * </p>
+   */
+  ITPlayerButtonPlay, // 1
+  /**
+   * <p>
+   * The value of this constant is 2
+   * </p>
+   */
+  ITPlayerButtonNext, // 2
+}

+ 43 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0006.java

@@ -0,0 +1,43 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ */
+public enum __MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0006 implements ComEnum {
+  /**
+   * <p>
+   * The value of this constant is 0
+   * </p>
+   */
+  ITPlayerButtonModifierKeyNone(0),
+  /**
+   * <p>
+   * The value of this constant is 1
+   * </p>
+   */
+  ITPlayerButtonModifierKeyShift(1),
+  /**
+   * <p>
+   * The value of this constant is 2
+   * </p>
+   */
+  ITPlayerButtonModifierKeyControl(2),
+  /**
+   * <p>
+   * The value of this constant is 4
+   * </p>
+   */
+  ITPlayerButtonModifierKeyAlt(4),
+  /**
+   * <p>
+   * The value of this constant is 8
+   * </p>
+   */
+  ITPlayerButtonModifierKeyCapsLock(8),
+  ;
+
+  private final int value;
+  __MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0006(int value) { this.value=value; }
+  public int comEnumValue() { return value; }
+}

+ 73 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0073_0001.java

@@ -0,0 +1,73 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ */
+public enum __MIDL___MIDL_itf_iTunesCOMInterface_0001_0073_0001 implements ComEnum {
+  /**
+   * <p>
+   * The value of this constant is 1
+   * </p>
+   */
+  ITEventDatabaseChanged(1),
+  /**
+   * <p>
+   * The value of this constant is 2
+   * </p>
+   */
+  ITEventPlayerPlay(2),
+  /**
+   * <p>
+   * The value of this constant is 3
+   * </p>
+   */
+  ITEventPlayerStop(3),
+  /**
+   * <p>
+   * The value of this constant is 4
+   * </p>
+   */
+  ITEventPlayerPlayingTrackChanged(4),
+  /**
+   * <p>
+   * The value of this constant is 5
+   * </p>
+   */
+  ITEventUserInterfaceEnabled(5),
+  /**
+   * <p>
+   * The value of this constant is 6
+   * </p>
+   */
+  ITEventCOMCallsDisabled(6),
+  /**
+   * <p>
+   * The value of this constant is 7
+   * </p>
+   */
+  ITEventCOMCallsEnabled(7),
+  /**
+   * <p>
+   * The value of this constant is 8
+   * </p>
+   */
+  ITEventQuitting(8),
+  /**
+   * <p>
+   * The value of this constant is 9
+   * </p>
+   */
+  ITEventAboutToPromptUserToQuit(9),
+  /**
+   * <p>
+   * The value of this constant is 10
+   * </p>
+   */
+  ITEventSoundVolumeChanged(10),
+  ;
+
+  private final int value;
+  __MIDL___MIDL_itf_iTunesCOMInterface_0001_0073_0001(int value) { this.value=value; }
+  public int comEnumValue() { return value; }
+}

+ 25 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0074_0001.java

@@ -0,0 +1,25 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ */
+public enum __MIDL___MIDL_itf_iTunesCOMInterface_0001_0074_0001 implements ComEnum {
+  /**
+   * <p>
+   * The value of this constant is 1
+   * </p>
+   */
+  ITConvertOperationStatusChanged(1),
+  /**
+   * <p>
+   * The value of this constant is 2
+   * </p>
+   */
+  ITConvertOperationComplete(2),
+  ;
+
+  private final int value;
+  __MIDL___MIDL_itf_iTunesCOMInterface_0001_0074_0001(int value) { this.value=value; }
+  public int comEnumValue() { return value; }
+}

+ 32 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0075_0001.java

@@ -0,0 +1,32 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ */
+public enum __MIDL___MIDL_itf_iTunesCOMInterface_0001_0075_0001 {
+  /**
+   * <p>
+   * The value of this constant is 0
+   * </p>
+   */
+  ITArtworkFormatUnknown, // 0
+  /**
+   * <p>
+   * The value of this constant is 1
+   * </p>
+   */
+  ITArtworkFormatJPEG, // 1
+  /**
+   * <p>
+   * The value of this constant is 2
+   * </p>
+   */
+  ITArtworkFormatPNG, // 2
+  /**
+   * <p>
+   * The value of this constant is 3
+   * </p>
+   */
+  ITArtworkFormatBMP, // 3
+}

+ 44 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0081_0001.java

@@ -0,0 +1,44 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ */
+public enum __MIDL___MIDL_itf_iTunesCOMInterface_0001_0081_0001 {
+  /**
+   * <p>
+   * The value of this constant is 0
+   * </p>
+   */
+  ITPlaylistKindUnknown, // 0
+  /**
+   * <p>
+   * The value of this constant is 1
+   * </p>
+   */
+  ITPlaylistKindLibrary, // 1
+  /**
+   * <p>
+   * The value of this constant is 2
+   * </p>
+   */
+  ITPlaylistKindUser, // 2
+  /**
+   * <p>
+   * The value of this constant is 3
+   * </p>
+   */
+  ITPlaylistKindCD, // 3
+  /**
+   * <p>
+   * The value of this constant is 4
+   * </p>
+   */
+  ITPlaylistKindDevice, // 4
+  /**
+   * <p>
+   * The value of this constant is 5
+   * </p>
+   */
+  ITPlaylistKindRadioTuner, // 5
+}

+ 26 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0081_0002.java

@@ -0,0 +1,26 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ */
+public enum __MIDL___MIDL_itf_iTunesCOMInterface_0001_0081_0002 {
+  /**
+   * <p>
+   * The value of this constant is 0
+   * </p>
+   */
+  ITPlaylistRepeatModeOff, // 0
+  /**
+   * <p>
+   * The value of this constant is 1
+   * </p>
+   */
+  ITPlaylistRepeatModeOne, // 1
+  /**
+   * <p>
+   * The value of this constant is 2
+   * </p>
+   */
+  ITPlaylistRepeatModeAll, // 2
+}

+ 26 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0081_0003.java

@@ -0,0 +1,26 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ */
+public enum __MIDL___MIDL_itf_iTunesCOMInterface_0001_0081_0003 {
+  /**
+   * <p>
+   * The value of this constant is 0
+   * </p>
+   */
+  ITPlaylistPrintKindPlaylist, // 0
+  /**
+   * <p>
+   * The value of this constant is 1
+   * </p>
+   */
+  ITPlaylistPrintKindAlbumlist, // 1
+  /**
+   * <p>
+   * The value of this constant is 2
+   * </p>
+   */
+  ITPlaylistPrintKindInsert, // 2
+}

+ 44 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0081_0004.java

@@ -0,0 +1,44 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ */
+public enum __MIDL___MIDL_itf_iTunesCOMInterface_0001_0081_0004 {
+  /**
+   * <p>
+   * The value of this constant is 0
+   * </p>
+   */
+  ITPlaylistSearchFieldAll, // 0
+  /**
+   * <p>
+   * The value of this constant is 1
+   * </p>
+   */
+  ITPlaylistSearchFieldVisible, // 1
+  /**
+   * <p>
+   * The value of this constant is 2
+   * </p>
+   */
+  ITPlaylistSearchFieldArtists, // 2
+  /**
+   * <p>
+   * The value of this constant is 3
+   * </p>
+   */
+  ITPlaylistSearchFieldAlbums, // 3
+  /**
+   * <p>
+   * The value of this constant is 4
+   * </p>
+   */
+  ITPlaylistSearchFieldComposers, // 4
+  /**
+   * <p>
+   * The value of this constant is 5
+   * </p>
+   */
+  ITPlaylistSearchFieldSongNames, // 5
+}

+ 80 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0083_0001.java

@@ -0,0 +1,80 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ */
+public enum __MIDL___MIDL_itf_iTunesCOMInterface_0001_0083_0001 {
+  /**
+   * <p>
+   * The value of this constant is 0
+   * </p>
+   */
+  ITUserPlaylistSpecialKindNone, // 0
+  /**
+   * <p>
+   * The value of this constant is 1
+   * </p>
+   */
+  ITUserPlaylistSpecialKindPurchases, // 1
+  /**
+   * <p>
+   * The value of this constant is 2
+   * </p>
+   */
+  ITUserPlaylistSpecialKindITunesDJ, // 2
+  /**
+   * <p>
+   * The value of this constant is 3
+   * </p>
+   */
+  ITUserPlaylistSpecialKindPodcasts, // 3
+  /**
+   * <p>
+   * The value of this constant is 4
+   * </p>
+   */
+  ITUserPlaylistSpecialKindFolder, // 4
+  /**
+   * <p>
+   * The value of this constant is 5
+   * </p>
+   */
+  ITUserPlaylistSpecialKindVideos, // 5
+  /**
+   * <p>
+   * The value of this constant is 6
+   * </p>
+   */
+  ITUserPlaylistSpecialKindMusic, // 6
+  /**
+   * <p>
+   * The value of this constant is 7
+   * </p>
+   */
+  ITUserPlaylistSpecialKindMovies, // 7
+  /**
+   * <p>
+   * The value of this constant is 8
+   * </p>
+   */
+  ITUserPlaylistSpecialKindTVShows, // 8
+  /**
+   * <p>
+   * The value of this constant is 9
+   * </p>
+   */
+  ITUserPlaylistSpecialKindBooks, // 9
+  /**
+   * <p>
+   * The value of this constant is 10
+   * </p>
+   */
+  ITUserPlaylistSpecialKindITunesU, // 10
+  /**
+   * <p>
+   * The value of this constant is 11
+   * </p>
+   */
+  ITUserPlaylistSpecialKindGenius, // 11
+}

+ 56 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0086_0001.java

@@ -0,0 +1,56 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ */
+public enum __MIDL___MIDL_itf_iTunesCOMInterface_0001_0086_0001 {
+  /**
+   * <p>
+   * The value of this constant is 0
+   * </p>
+   */
+  ITSourceKindUnknown, // 0
+  /**
+   * <p>
+   * The value of this constant is 1
+   * </p>
+   */
+  ITSourceKindLibrary, // 1
+  /**
+   * <p>
+   * The value of this constant is 2
+   * </p>
+   */
+  ITSourceKindIPod, // 2
+  /**
+   * <p>
+   * The value of this constant is 3
+   * </p>
+   */
+  ITSourceKindAudioCD, // 3
+  /**
+   * <p>
+   * The value of this constant is 4
+   * </p>
+   */
+  ITSourceKindMP3CD, // 4
+  /**
+   * <p>
+   * The value of this constant is 5
+   * </p>
+   */
+  ITSourceKindDevice, // 5
+  /**
+   * <p>
+   * The value of this constant is 6
+   * </p>
+   */
+  ITSourceKindRadioTuner, // 6
+  /**
+   * <p>
+   * The value of this constant is 7
+   * </p>
+   */
+  ITSourceKindSharedLibrary, // 7
+}

+ 44 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0089_0001.java

@@ -0,0 +1,44 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ */
+public enum __MIDL___MIDL_itf_iTunesCOMInterface_0001_0089_0001 {
+  /**
+   * <p>
+   * The value of this constant is 0
+   * </p>
+   */
+  ITTrackKindUnknown, // 0
+  /**
+   * <p>
+   * The value of this constant is 1
+   * </p>
+   */
+  ITTrackKindFile, // 1
+  /**
+   * <p>
+   * The value of this constant is 2
+   * </p>
+   */
+  ITTrackKindCD, // 2
+  /**
+   * <p>
+   * The value of this constant is 3
+   * </p>
+   */
+  ITTrackKindURL, // 3
+  /**
+   * <p>
+   * The value of this constant is 4
+   * </p>
+   */
+  ITTrackKindDevice, // 4
+  /**
+   * <p>
+   * The value of this constant is 5
+   * </p>
+   */
+  ITTrackKindSharedLibrary, // 5
+}

+ 32 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0089_0002.java

@@ -0,0 +1,32 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ */
+public enum __MIDL___MIDL_itf_iTunesCOMInterface_0001_0089_0002 {
+  /**
+   * <p>
+   * The value of this constant is 0
+   * </p>
+   */
+  ITVideoKindNone, // 0
+  /**
+   * <p>
+   * The value of this constant is 1
+   * </p>
+   */
+  ITVideoKindMovie, // 1
+  /**
+   * <p>
+   * The value of this constant is 2
+   * </p>
+   */
+  ITVideoKindMusicVideo, // 2
+  /**
+   * <p>
+   * The value of this constant is 3
+   * </p>
+   */
+  ITVideoKindTVShow, // 3
+}

+ 20 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0089_0003.java

@@ -0,0 +1,20 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ */
+public enum __MIDL___MIDL_itf_iTunesCOMInterface_0001_0089_0003 {
+  /**
+   * <p>
+   * The value of this constant is 0
+   * </p>
+   */
+  ITRatingKindUser, // 0
+  /**
+   * <p>
+   * The value of this constant is 1
+   * </p>
+   */
+  ITRatingKindComputed, // 1
+}

+ 44 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/__MIDL___MIDL_itf_iTunesCOMInterface_0001_0095_0001.java

@@ -0,0 +1,44 @@
+package de.nplusc.izc.izpl.plugins.itunes.api  ;
+
+import com4j.*;
+
+/**
+ */
+public enum __MIDL___MIDL_itf_iTunesCOMInterface_0001_0095_0001 {
+  /**
+   * <p>
+   * The value of this constant is 0
+   * </p>
+   */
+  ITWindowKindUnknown, // 0
+  /**
+   * <p>
+   * The value of this constant is 1
+   * </p>
+   */
+  ITWindowKindBrowser, // 1
+  /**
+   * <p>
+   * The value of this constant is 2
+   * </p>
+   */
+  ITWindowKindPlaylist, // 2
+  /**
+   * <p>
+   * The value of this constant is 3
+   * </p>
+   */
+  ITWindowKindEQ, // 3
+  /**
+   * <p>
+   * The value of this constant is 4
+   * </p>
+   */
+  ITWindowKindArtwork, // 4
+  /**
+   * <p>
+   * The value of this constant is 5
+   * </p>
+   */
+  ITWindowKindNowPlaying, // 5
+}

+ 42 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/events/_IITConvertOperationStatusEvents.java

@@ -0,0 +1,42 @@
+package de.nplusc.izc.izpl.plugins.itunes.api.events;
+
+import com4j.*;
+
+/**
+ * _IITConvertOperationStatusEvents Interface
+ */
+@IID("{5C47A705-8E8A-45A1-9EED-71C993F0BF60}")
+public abstract class _IITConvertOperationStatusEvents {
+  // Methods:
+  /**
+   * <p>
+   * Fired when status about the conversion operation has changed.
+   * </p>
+   * @param trackName Mandatory java.lang.String parameter.
+   * @param progressValue Mandatory int parameter.
+   * @param maxProgressValue Mandatory int parameter.
+   */
+
+  @DISPID(1)
+  public void onConvertOperationStatusChangedEvent(
+    java.lang.String trackName,
+    int progressValue,
+    int maxProgressValue) {
+        throw new UnsupportedOperationException();
+  }
+
+
+  /**
+   * <p>
+   * Fired when the conversion operation has completed.
+   * </p>
+   */
+
+  @DISPID(2)
+  public void onConvertOperationCompleteEvent() {
+        throw new UnsupportedOperationException();
+  }
+
+
+  // Properties:
+}

+ 146 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/events/_IiTunesEvents.java

@@ -0,0 +1,146 @@
+package de.nplusc.izc.izpl.plugins.itunes.api.events;
+
+import com4j.*;
+
+/**
+ * _IiTunesEvents Interface
+ */
+@IID("{5846EB78-317E-4B6F-B0C3-11EE8C8FEEF2}")
+public abstract class _IiTunesEvents {
+  // Methods:
+  /**
+   * <p>
+   * Fired when a database change occurs.
+   * </p>
+   * @param deletedObjectIDs Mandatory java.lang.Object parameter.
+   * @param changedObjectIDs Mandatory java.lang.Object parameter.
+   */
+
+  @DISPID(1)
+  public void onDatabaseChangedEvent(
+    java.lang.Object deletedObjectIDs,
+    java.lang.Object changedObjectIDs) {
+        throw new UnsupportedOperationException();
+  }
+
+
+  /**
+   * <p>
+   * Fired when a track has started playing.
+   * </p>
+   * @param iTrack Mandatory java.lang.Object parameter.
+   */
+
+  @DISPID(2)
+  public void onPlayerPlayEvent(
+    java.lang.Object iTrack) {
+        throw new UnsupportedOperationException();
+  }
+
+
+  /**
+   * <p>
+   * Fired when a track has stopped playing.
+   * </p>
+   * @param iTrack Mandatory java.lang.Object parameter.
+   */
+
+  @DISPID(3)
+  public void onPlayerStopEvent(
+    java.lang.Object iTrack) {
+        throw new UnsupportedOperationException();
+  }
+
+
+  /**
+   * <p>
+   * Fired when information about the currently playing track has changed.
+   * </p>
+   * @param iTrack Mandatory java.lang.Object parameter.
+   */
+
+  @DISPID(4)
+  public void onPlayerPlayingTrackChangedEvent(
+    java.lang.Object iTrack) {
+        throw new UnsupportedOperationException();
+  }
+
+
+  /**
+   * <p>
+   * Fired when the iTunes user interface is no longer disabled.
+   * </p>
+   */
+
+  @DISPID(5)
+  public void onUserInterfaceEnabledEvent() {
+        throw new UnsupportedOperationException();
+  }
+
+
+  /**
+   * <p>
+   * Fired when calls to the iTunes COM interface will be deferred.
+   * </p>
+   * @param reason Mandatory de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0003 parameter.
+   */
+
+  @DISPID(6)
+  public void onCOMCallsDisabledEvent(
+    de.nplusc.izc.izpl.plugins.itunes.api.__MIDL___MIDL_itf_iTunesCOMInterface_0001_0070_0003 reason) {
+        throw new UnsupportedOperationException();
+  }
+
+
+  /**
+   * <p>
+   * Fired when calls to the iTunes COM interface will no longer be deferred.
+   * </p>
+   */
+
+  @DISPID(7)
+  public void onCOMCallsEnabledEvent() {
+        throw new UnsupportedOperationException();
+  }
+
+
+  /**
+   * <p>
+   * Fired when iTunes is about to quit.
+   * </p>
+   */
+
+  @DISPID(8)
+  public void onQuittingEvent() {
+        throw new UnsupportedOperationException();
+  }
+
+
+  /**
+   * <p>
+   * Fired when iTunes is about to prompt the user to quit.
+   * </p>
+   */
+
+  @DISPID(9)
+  public void onAboutToPromptUserToQuitEvent() {
+        throw new UnsupportedOperationException();
+  }
+
+
+  /**
+   * <p>
+   * Fired when the sound output volume has changed.
+   * </p>
+   * @param newVolume Mandatory int parameter.
+   */
+
+  @DISPID(10)
+  public void onSoundVolumeChangedEvent(
+    int newVolume) {
+        throw new UnsupportedOperationException();
+  }
+
+
+  // Properties:
+}

+ 2 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izc/izpl/plugins/itunes/api/package.html

@@ -0,0 +1,2 @@
+<html><body>
+<h2>iTunesLib</h2><p>iTunes 1.13 Type Library</p></html></body>

+ 95 - 0
iZplPlugins/ITunes/src/main/java/de/nplusc/izpl/plugins/itunes/ITunesAPI.java

@@ -0,0 +1,95 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package de.nplusc.izpl.plugins.itunes;
+
+import de.nplusc.izc.iZpl.API.PlayListItem;
+import de.nplusc.izc.iZpl.API.PlaybackPlugin;
+import java.io.File;
+/**
+ *
+ * @author iZc <nplusc.de>
+ */
+public class ITunesAPI implements PlaybackPlugin
+{
+    
+    
+    
+    
+    
+    @Override
+    public void setTitleToPlay(PlayListItem i)
+    {
+        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+    }
+
+    @Override
+    public int getLengthInSeconds()
+    {
+        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+    }
+
+    @Override
+    public int getPosition()
+    {
+        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+    }
+
+    @Override
+    public void seek(int sekunde)
+    {
+        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+    }
+
+    @Override
+    public void skipTitle()
+    {
+        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+    }
+
+    @Override
+    public void play()
+    {
+        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+    }
+
+    @Override
+    public void pause()
+    {
+        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+    }
+
+    @Override
+    public PlayListItem getCurrentTitle()
+    {
+        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+    }
+
+    @Override
+    public void connectToPlayer()
+    {
+        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+    }
+
+    @Override
+    public String getPluginName()
+    {
+        return "ITunes ActiveX Interface";
+    }
+
+    @Override
+    public void initializePlugin()
+    {
+        //TODO EXTRACT NATIVES
+    }
+
+    @Override
+    public void prepareUpgrade()
+    {
+        //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+    }
+    
+}

+ 1 - 1
iZplPlugins/WMP/build.gradle

@@ -1,5 +1,5 @@
 apply plugin:'java'
-task distZip(dependsOn: 'jar') {
+task distZip(dependsOn: 'fatJar') {
 	//NO-OPtask als redirect
 }
 

BIN
iZplPlugins/WMP/lib/com4j.jar


BIN
iZplPlugins/foobar2000_others/lib/swtx32.jar


+ 2 - 1
settings.gradle

@@ -1 +1,2 @@
-include 'ToolKit','iZpl',  'izsetup','WPCMgr','UpidTK', 'izstreamer', 'LogBlockHeatMapper','DefaultUIFile','iZlaunch','iZpaqSFX','MazeViewer','TWPUtil',"iZplPlugins:WMP","iZplPlugins:foobar2000_others"
+include 'ToolKit','iZpl',  'izsetup','WPCMgr','UpidTK', 'izstreamer', 'LogBlockHeatMapper','DefaultUIFile','iZlaunch',
+'iZpaqSFX','MazeViewer','TWPUtil',"iZplPlugins:WMP","iZplPlugins:foobar2000_others","iZplPlugins:itunes"