]> git.sesse.net Git - vlc/blobdiff - activex/axvlc.idl
Force fallback to realtime clock when clock selection is not supported...
[vlc] / activex / axvlc.idl
index b946e6e9c0e59765d9cbbe0b79a91395cb39f1f0..a0edad41e4bdbdc4353a81e7af6797689b59d45a 100644 (file)
@@ -4,6 +4,7 @@
  * Copyright (C) 2006 the VideoLAN team\r
  *\r
  * Authors: Damien Fouilleul <Damien.Fouilleul@laposte.net>\r
+ *          Jean-Paul Saman <jpsaman _at_ m2x _dot_ nl>\r
  *\r
  * This program is free software; you can redistribute it and/or modify\r
  * it under the terms of the GNU General Public License as published by\r
@@ -23,7 +24,7 @@
 //comments terminated by [t] are by tonsofpcs, regarding the string review.  April 02, 2006. [t]\r
 //Possibly change all instances of "the current playlist" to "the playlist" and "current playlist" to "the playlist" [t]\r
 \r
-import "oaidl.idl";\r
+import "ocidl.idl";\r
 \r
 [\r
   uuid(DF2BBE39-40A8-433b-A279-073F48DA94B6),\r
@@ -62,6 +63,8 @@ library AXVLC
     const int VLCPlayListEnd    = -666;\r
 \r
     // DISPID definitions\r
+    const int DISPID_BackColor  = -501;\r
+\r
     const int DISPID_Visible    = 100;\r
     const int DISPID_Playing    = 101;\r
     const int DISPID_Position   = 102;\r
@@ -79,7 +82,6 @@ library AXVLC
       uuid(C2FA41D0-B113-476e-AC8C-9BD14999C1C1),\r
       helpstring("VLC Control (deprecated)"),\r
       dual,\r
-      hidden,\r
       oleautomation\r
     ]\r
     interface IVLCControl : IDispatch\r
@@ -165,7 +167,6 @@ library AXVLC
     [\r
       uuid(DF48072F-5EF8-434e-9B40-E2F3AE759B5F),\r
       helpstring("Event interface for VLC control"),\r
-      hidden\r
     ]\r
     dispinterface DVLCEvents\r
     {\r
@@ -183,9 +184,7 @@ library AXVLC
       odl,\r
       uuid(9E0BD17B-2D3C-4656-B94D-03084F3FD9D4),\r
       helpstring("VLC Audio APIs"),\r
-      hidden,\r
       dual,\r
-      nonextensible,\r
       oleautomation\r
     ]\r
     interface IVLCAudio : IDispatch\r
@@ -202,15 +201,23 @@ library AXVLC
 \r
         [helpstring("Mute/unmute audio playback.")]\r
         HRESULT toggleMute();\r
+\r
+        [propget, helpstring("Returns/sets audio track used/to use.")]\r
+        HRESULT track([out, retval] long* track);\r
+        [propput, helpstring("Returns/sets audio track used/to use.")]\r
+        HRESULT track([in] long track);\r
+\r
+        [propget, helpstring("Returns audio channel [1-5] indicating; stereo, reverse stereo, left, right, dolby.")]\r
+        HRESULT channel([out, retval] long* channel);\r
+        [propput, helpstring("Sets audio channel to [1-5] indicating; stereo, reverse stereo, left, right, dolby.")]\r
+        HRESULT channel([in] long channel);\r
     };\r
 \r
     [\r
       odl,\r
       uuid(49E0DBD1-9440-466C-9C97-95C67190C603),\r
       helpstring("VLC Input APIs"),\r
-      hidden,\r
       dual,\r
-      nonextensible,\r
       oleautomation\r
     ]\r
     interface IVLCInput : IDispatch\r
@@ -247,9 +254,7 @@ library AXVLC
       odl,\r
       uuid(9ED00AFA-7BCD-4FFF-8D48-7DD4DB2C800D),\r
       helpstring("VLC Log Message"),\r
-      hidden,\r
       dual,\r
-      nonextensible,\r
       oleautomation\r
     ]\r
     interface IVLCMessage: IDispatch\r
@@ -277,9 +282,7 @@ library AXVLC
       odl,\r
       uuid(15179CD8-CC12-4242-A58E-E412217FF343),\r
       helpstring("VLC Log iterator"),\r
-      hidden,\r
       dual,\r
-      nonextensible,\r
       oleautomation\r
     ]\r
     interface IVLCMessageIterator : IDispatch\r
@@ -294,10 +297,8 @@ library AXVLC
     [\r
       odl,\r
       uuid(6C5CE55D-2D6C-4AAD-8299-C62D2371F106),\r
-      helpstring("VLC Log APIs"),\r
-      hidden,\r
+      helpstring("VLC Log Messages Collection."),\r
       dual,\r
-      nonextensible,\r
       oleautomation\r
     ]\r
     interface IVLCMessages : IDispatch\r
@@ -319,9 +320,7 @@ library AXVLC
       odl,\r
       uuid(8E3BC3D9-62E9-48FB-8A6D-993F9ABC4A0A),\r
       helpstring("VLC Log APIs"),\r
-      hidden,\r
       dual,\r
-      nonextensible,\r
       oleautomation\r
     ]\r
     interface IVLCLog : IDispatch\r
@@ -335,31 +334,48 @@ library AXVLC
         HRESULT verbosity([in] long level);\r
     };\r
 \r
+    [\r
+      odl,\r
+      uuid(FD37FE32-82BC-4A25-B056-315F4DBB194D),\r
+      helpstring("VLC Playlist Items collection"),\r
+      dual,\r
+      oleautomation\r
+    ]\r
+    interface IVLCPlaylistItems : IDispatch\r
+    {\r
+        [propget, helpstring("Returns number of items in playlist.")]\r
+        HRESULT count([out, retval] long* count);\r
+\r
+        [helpstring("Remove all items from playlist.")]\r
+        HRESULT clear();\r
+\r
+        [helpstring("remove item from playlist.")]\r
+        HRESULT remove([in] long itemId);\r
+    };\r
+\r
     [\r
       odl,\r
       uuid(54613049-40BF-4035-9E70-0A9312C0188D),\r
       helpstring("VLC Playlist APIs"),\r
-      hidden,\r
       dual,\r
-      nonextensible,\r
       oleautomation\r
     ]\r
     interface IVLCPlaylist : IDispatch\r
     {\r
-        [propget, helpstring("Returns number of items in playlist.")]\r
+        [hidden, propget, helpstring("Returns number of items in playlist. (deprecated)")]\r
         HRESULT itemCount([out, retval] long* count);\r
 \r
         [propget, helpstring("Returns whether playback displays video.")]\r
         HRESULT isPlaying([out, retval] VARIANT_BOOL* playing);\r
 \r
         [helpstring("Add a playlist item.")]\r
-        HRESULT add([in] BSTR uri, [in, optional] VARIANT name, [in, optional] VARIANT options, [out, retval] long* item);\r
+        HRESULT add([in] BSTR uri, [in, optional] VARIANT name, [in, optional] VARIANT options, [out, retval] long* itemId);\r
 \r
         [helpstring("Play/Resume the playlist.")]\r
         HRESULT play();\r
 \r
         [helpstring("Play item in playlist.")]\r
-        HRESULT playItem([in] long item);\r
+        HRESULT playItem([in] long itemId);\r
 \r
         [helpstring("Play/Pause current clip.")]\r
         HRESULT togglePause();\r
@@ -373,20 +389,21 @@ library AXVLC
         [helpstring("Advance to previous item in playlist.")]\r
         HRESULT prev();\r
 \r
-        [helpstring("Remove all items from playlist.")]\r
+        [hidden, helpstring("Remove all items from playlist. (deprecated)")]\r
         HRESULT clear();\r
 \r
-        [helpstring("remove item from playlist.")]\r
+        [hidden, helpstring("Remove item from playlist. (deprecated)")]\r
         HRESULT removeItem([in] long item);\r
+\r
+        [propget, helpstring("Returns the playlist items collection object.")]\r
+        HRESULT items([out, retval] IVLCPlaylistItems** obj);\r
     };\r
 \r
     [\r
       odl,\r
       uuid(0AAEDF0B-D333-4B27-A0C6-BBF31413A42E),\r
       helpstring("VLC Video APIs"),\r
-      hidden,\r
       dual,\r
-      nonextensible,\r
       oleautomation\r
     ]\r
     interface IVLCVideo : IDispatch\r
@@ -403,19 +420,36 @@ library AXVLC
         HRESULT height([out, retval] long* height);\r
 \r
         [propget, helpstring("Returns video aspect ratio.")]\r
-        HRESULT aspectRatio([out, retval] BSTR aspect);\r
+        HRESULT aspectRatio([out, retval] BSTR* aspect);\r
         [propput, helpstring("Sets video aspect ratio.")]\r
         HRESULT aspectRatio([in] BSTR aspect);\r
 \r
+        [propget, helpstring("Returns video subtitle used.")]\r
+        HRESULT subtitle([out, retval] long* spu);\r
+        [propput, helpstring("Sets video subtitle to use.")]\r
+        HRESULT subtitle([in] long spu);\r
+\r
+        [propget, helpstring("Returns crop filter geometry.")]\r
+        HRESULT crop([out, retval] BSTR* geometry);\r
+        [propput, helpstring("Sets crop filter geometry.")]\r
+        HRESULT crop([in] BSTR geometry);\r
+\r
+        [propget, helpstring("Returns teletext page used.")]\r
+        HRESULT subtitle([out, retval] long* page);\r
+        [propput, helpstring("Sets teletext page to use.")]\r
+        HRESULT subtitle([in] long page);\r
+\r
         [helpstring("toggle fullscreen/windowed state.")]\r
         HRESULT toggleFullscreen();\r
+\r
+        [helpstring("take video snapshot and save it into picture object.")]\r
+        HRESULT takeSnapshot([out, retval] IPictureDisp** picture);\r
     };\r
 \r
     [\r
       odl,\r
       uuid(2D719729-5333-406C-BF12-8DE787FD65E3),\r
       helpstring("VLC Control"),\r
-      hidden,\r
       dual,\r
       oleautomation\r
     ]\r
@@ -459,6 +493,11 @@ library AXVLC
         [id(DISPID_Volume), propput, helpstring("Returns/sets default audio volume.")]\r
         HRESULT Volume([in] long volume);\r
 \r
+        [id(DISPID_BackColor), propget, helpstring("Returns/sets background color.")]\r
+        HRESULT BackColor([out, retval] OLE_COLOR* backcolor);\r
+        [id(DISPID_BackColor), propput, helpstring("Returns/sets background color.")]\r
+        HRESULT BackColor([in] OLE_COLOR backcolor);\r
+\r
         [propget, helpstring("Returns the audio object.")]\r
         HRESULT audio([out, retval] IVLCAudio** obj);\r
 \r
@@ -496,6 +535,5 @@ library AXVLC
     {\r
         [default] interface IVLCControl2;\r
         interface IVLCControl;\r
-        [default, source] dispinterface DVLCEvents;\r
     };\r
 };\r