]> git.sesse.net Git - vlc/blobdiff - projects/activex/axvlc_idl.h
Release the display mode when we are done with it.
[vlc] / projects / activex / axvlc_idl.h
index ec6dbec88a7e171c4267c3b982f5542dc3c9ce1e..d7baa93753da6b9533150fc3e842135504d865df 100644 (file)
@@ -1,22 +1,31 @@
-/*** Autogenerated by WIDL 1.0 from axvlc.idl - Do not edit ***/
+/*** Autogenerated by WIDL 1.1.38 from axvlc.idl - Do not edit ***/
+
 #include <rpc.h>
 #include <rpcndr.h>
 
 #ifndef __WIDL_AXVLC_IDL_H
 #define __WIDL_AXVLC_IDL_H
+
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+/* Headers for imported files */
+
 #include <ocidl.h>
 
-DEFINE_GUID(LIBID_AXVLC, 0xdf2bbe39, 0x40a8, 0x433b, 0xa2,0x79, 0x07,0x3f,0x48,0xda,0x94,0xb6);
+/* Forward declarations */
 
 #ifndef __IVLCControl_FWD_DEFINED__
 #define __IVLCControl_FWD_DEFINED__
 typedef interface IVLCControl IVLCControl;
 #endif
 
+#ifndef __DVLCEvents_FWD_DEFINED__
+#define __DVLCEvents_FWD_DEFINED__
+typedef interface DVLCEvents DVLCEvents;
+#endif
+
 #ifndef __IVLCAudio_FWD_DEFINED__
 #define __IVLCAudio_FWD_DEFINED__
 typedef interface IVLCAudio IVLCAudio;
@@ -27,9 +36,19 @@ typedef interface IVLCAudio IVLCAudio;
 typedef interface IVLCInput IVLCInput;
 #endif
 
-#ifndef __IVLCLog_FWD_DEFINED__
-#define __IVLCLog_FWD_DEFINED__
-typedef interface IVLCLog IVLCLog;
+#ifndef __IVLCPlaylistItems_FWD_DEFINED__
+#define __IVLCPlaylistItems_FWD_DEFINED__
+typedef interface IVLCPlaylistItems IVLCPlaylistItems;
+#endif
+
+#ifndef __IVLCPlaylist_FWD_DEFINED__
+#define __IVLCPlaylist_FWD_DEFINED__
+typedef interface IVLCPlaylist IVLCPlaylist;
+#endif
+
+#ifndef __IVLCSubtitle_FWD_DEFINED__
+#define __IVLCSubtitle_FWD_DEFINED__
+typedef interface IVLCSubtitle IVLCSubtitle;
 #endif
 
 #ifndef __IVLCMarquee_FWD_DEFINED__
@@ -37,19 +56,68 @@ typedef interface IVLCLog IVLCLog;
 typedef interface IVLCMarquee IVLCMarquee;
 #endif
 
-#ifndef __IVLCMessage_FWD_DEFINED__
-#define __IVLCMessage_FWD_DEFINED__
-typedef interface IVLCMessage IVLCMessage;
+#ifndef __IVLCLogo_FWD_DEFINED__
+#define __IVLCLogo_FWD_DEFINED__
+typedef interface IVLCLogo IVLCLogo;
+#endif
+
+#ifndef __IVLCDeinterlace_FWD_DEFINED__
+#define __IVLCDeinterlace_FWD_DEFINED__
+typedef interface IVLCDeinterlace IVLCDeinterlace;
+#endif
+
+#ifndef __IVLCVideo_FWD_DEFINED__
+#define __IVLCVideo_FWD_DEFINED__
+typedef interface IVLCVideo IVLCVideo;
+#endif
+
+#ifndef __IVLCControl2_FWD_DEFINED__
+#define __IVLCControl2_FWD_DEFINED__
+typedef interface IVLCControl2 IVLCControl2;
+#endif
+
+#ifndef __VLCPlugin_FWD_DEFINED__
+#define __VLCPlugin_FWD_DEFINED__
+typedef struct VLCPlugin VLCPlugin;
+#endif /* defined __VLCPlugin_FWD_DEFINED__ */
+
+#ifndef __VLCPlugin2_FWD_DEFINED__
+#define __VLCPlugin2_FWD_DEFINED__
+typedef struct VLCPlugin2 VLCPlugin2;
+#endif /* defined __VLCPlugin2_FWD_DEFINED__ */
+
+
+
+DEFINE_GUID(LIBID_AXVLC, 0xdf2bbe39, 0x40a8, 0x433b, 0xa2,0x79, 0x07,0x3f,0x48,0xda,0x94,0xb6);
+
+#ifndef __IVLCControl_FWD_DEFINED__
+#define __IVLCControl_FWD_DEFINED__
+typedef interface IVLCControl IVLCControl;
+#endif
+
+#ifndef __IVLCAudio_FWD_DEFINED__
+#define __IVLCAudio_FWD_DEFINED__
+typedef interface IVLCAudio IVLCAudio;
+#endif
+
+#ifndef __IVLCInput_FWD_DEFINED__
+#define __IVLCInput_FWD_DEFINED__
+typedef interface IVLCInput IVLCInput;
+#endif
+
+#ifndef __IVLCLogo_FWD_DEFINED__
+#define __IVLCLogo_FWD_DEFINED__
+typedef interface IVLCLogo IVLCLogo;
 #endif
 
-#ifndef __IVLCMessageIterator_FWD_DEFINED__
-#define __IVLCMessageIterator_FWD_DEFINED__
-typedef interface IVLCMessageIterator IVLCMessageIterator;
+#ifndef __IVLCDeinterlace_FWD_DEFINED__
+#define __IVLCDeinterlace_FWD_DEFINED__
+typedef interface IVLCDeinterlace IVLCDeinterlace;
 #endif
 
-#ifndef __IVLCMessages_FWD_DEFINED__
-#define __IVLCMessages_FWD_DEFINED__
-typedef interface IVLCMessages IVLCMessages;
+#ifndef __IVLCMarquee_FWD_DEFINED__
+#define __IVLCMarquee_FWD_DEFINED__
+typedef interface IVLCMarquee IVLCMarquee;
 #endif
 
 #ifndef __IVLCPlaylist_FWD_DEFINED__
@@ -725,6 +793,34 @@ void __RPC_STUB IVLCControl_put_AutoLoop_Stub(
 
 #define DISPID_StopEvent (102)
 
+#define DISPID_MediaPlayerNothingSpecialEvent (200)
+
+#define DISPID_MediaPlayerOpeningEvent (201)
+
+#define DISPID_MediaPlayerBufferingEvent (202)
+
+#define DISPID_MediaPlayerPlayingEvent (203)
+
+#define DISPID_MediaPlayerPausedEvent (204)
+
+#define DISPID_MediaPlayerForwardEvent (205)
+
+#define DISPID_MediaPlayerBackwardEvent (206)
+
+#define DISPID_MediaPlayerEncounteredErrorEvent (207)
+
+#define DISPID_MediaPlayerEndReachedEvent (208)
+
+#define DISPID_MediaPlayerStoppedEvent (209)
+
+#define DISPID_MediaPlayerTimeChangedEvent (210)
+
+#define DISPID_MediaPlayerPositionChangedEvent (211)
+
+#define DISPID_MediaPlayerSeekableChangedEvent (212)
+
+#define DISPID_MediaPlayerPausableChangedEvent (213)
+
 /*****************************************************************************
  * DVLCEvents dispinterface
  */
@@ -821,32 +917,32 @@ interface IVLCAudio : public IDispatch
         VARIANT_BOOL muted) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE get_volume(
-        long *volume) = 0;
+        LONG *volume) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE put_volume(
-        long volume) = 0;
+        LONG volume) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE toggleMute(
         ) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE get_track(
-        long *track) = 0;
+        LONG *track) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE put_track(
-        long track) = 0;
+        LONG track) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE get_count(
-        long *trackNumber) = 0;
+        LONG *trackNumber) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE description(
-        long trackID,
+        LONG trackID,
         BSTR *name) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE get_channel(
-        long *channel) = 0;
+        LONG *channel) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE put_channel(
-        long channel) = 0;
+        LONG channel) = 0;
 
 };
 #else
@@ -906,39 +1002,39 @@ typedef struct IVLCAudioVtbl {
 
     HRESULT (STDMETHODCALLTYPE *get_volume)(
         IVLCAudio* This,
-        long *volume);
+        LONG *volume);
 
     HRESULT (STDMETHODCALLTYPE *put_volume)(
         IVLCAudio* This,
-        long volume);
+        LONG volume);
 
     HRESULT (STDMETHODCALLTYPE *toggleMute)(
         IVLCAudio* This);
 
     HRESULT (STDMETHODCALLTYPE *get_track)(
         IVLCAudio* This,
-        long *track);
+        LONG *track);
 
     HRESULT (STDMETHODCALLTYPE *put_track)(
         IVLCAudio* This,
-        long track);
+        LONG track);
 
     HRESULT (STDMETHODCALLTYPE *get_count)(
         IVLCAudio* This,
-        long *trackNumber);
+        LONG *trackNumber);
 
     HRESULT (STDMETHODCALLTYPE *description)(
         IVLCAudio* This,
-        long trackID,
+        LONG trackID,
         BSTR *name);
 
     HRESULT (STDMETHODCALLTYPE *get_channel)(
         IVLCAudio* This,
-        long *channel);
+        LONG *channel);
 
     HRESULT (STDMETHODCALLTYPE *put_channel)(
         IVLCAudio* This,
-        long channel);
+        LONG channel);
 
     END_INTERFACE
 } IVLCAudioVtbl;
@@ -990,7 +1086,7 @@ void __RPC_STUB IVLCAudio_put_mute_Stub(
     DWORD* pdwStubPhase);
 HRESULT STDMETHODCALLTYPE IVLCAudio_get_volume_Proxy(
     IVLCAudio* This,
-    long *volume);
+    LONG *volume);
 void __RPC_STUB IVLCAudio_get_volume_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -998,7 +1094,7 @@ void __RPC_STUB IVLCAudio_get_volume_Stub(
     DWORD* pdwStubPhase);
 HRESULT STDMETHODCALLTYPE IVLCAudio_put_volume_Proxy(
     IVLCAudio* This,
-    long volume);
+    LONG volume);
 void __RPC_STUB IVLCAudio_put_volume_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -1013,7 +1109,7 @@ void __RPC_STUB IVLCAudio_toggleMute_Stub(
     DWORD* pdwStubPhase);
 HRESULT STDMETHODCALLTYPE IVLCAudio_get_track_Proxy(
     IVLCAudio* This,
-    long *track);
+    LONG *track);
 void __RPC_STUB IVLCAudio_get_track_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -1021,7 +1117,7 @@ void __RPC_STUB IVLCAudio_get_track_Stub(
     DWORD* pdwStubPhase);
 HRESULT STDMETHODCALLTYPE IVLCAudio_put_track_Proxy(
     IVLCAudio* This,
-    long track);
+    LONG track);
 void __RPC_STUB IVLCAudio_put_track_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -1029,7 +1125,7 @@ void __RPC_STUB IVLCAudio_put_track_Stub(
     DWORD* pdwStubPhase);
 HRESULT STDMETHODCALLTYPE IVLCAudio_get_count_Proxy(
     IVLCAudio* This,
-    long *trackNumber);
+    LONG *trackNumber);
 void __RPC_STUB IVLCAudio_get_count_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -1037,7 +1133,7 @@ void __RPC_STUB IVLCAudio_get_count_Stub(
     DWORD* pdwStubPhase);
 HRESULT STDMETHODCALLTYPE IVLCAudio_description_Proxy(
     IVLCAudio* This,
-    long trackID,
+    LONG trackID,
     BSTR *name);
 void __RPC_STUB IVLCAudio_description_Stub(
     IRpcStubBuffer* This,
@@ -1046,7 +1142,7 @@ void __RPC_STUB IVLCAudio_description_Stub(
     DWORD* pdwStubPhase);
 HRESULT STDMETHODCALLTYPE IVLCAudio_get_channel_Proxy(
     IVLCAudio* This,
-    long *channel);
+    LONG *channel);
 void __RPC_STUB IVLCAudio_get_channel_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -1054,7 +1150,7 @@ void __RPC_STUB IVLCAudio_get_channel_Stub(
     DWORD* pdwStubPhase);
 HRESULT STDMETHODCALLTYPE IVLCAudio_put_channel_Proxy(
     IVLCAudio* This,
-    long channel);
+    LONG channel);
 void __RPC_STUB IVLCAudio_put_channel_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -1089,7 +1185,7 @@ interface IVLCInput : public IDispatch
         double time) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE get_state(
-        long *state) = 0;
+        LONG *state) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE get_rate(
         double *rate) = 0;
@@ -1173,7 +1269,7 @@ typedef struct IVLCInputVtbl {
 
     HRESULT (STDMETHODCALLTYPE *get_state)(
         IVLCInput* This,
-        long *state);
+        LONG *state);
 
     HRESULT (STDMETHODCALLTYPE *get_rate)(
         IVLCInput* This,
@@ -1264,7 +1360,7 @@ void __RPC_STUB IVLCInput_put_time_Stub(
     DWORD* pdwStubPhase);
 HRESULT STDMETHODCALLTYPE IVLCInput_get_state_Proxy(
     IVLCInput* This,
-    long *state);
+    LONG *state);
 void __RPC_STUB IVLCInput_get_state_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -1306,63 +1402,54 @@ void __RPC_STUB IVLCInput_get_hasVout_Stub(
 #endif  /* __IVLCInput_INTERFACE_DEFINED__ */
 
 /*****************************************************************************
- * IVLCMessage interface
+ * IVLCPlaylistItems interface
  */
-#ifndef __IVLCMessage_INTERFACE_DEFINED__
-#define __IVLCMessage_INTERFACE_DEFINED__
+#ifndef __IVLCPlaylistItems_INTERFACE_DEFINED__
+#define __IVLCPlaylistItems_INTERFACE_DEFINED__
 
-DEFINE_GUID(IID_IVLCMessage, 0x9ed00afa, 0x7bcd, 0x4fff, 0x8d,0x48, 0x7d,0xd4,0xdb,0x2c,0x80,0x0d);
+DEFINE_GUID(IID_IVLCPlaylistItems, 0xfd37fe32, 0x82bc, 0x4a25, 0xb0,0x56, 0x31,0x5f,0x4d,0xbb,0x19,0x4d);
 #if defined(__cplusplus) && !defined(CINTERFACE)
-interface IVLCMessage : public IDispatch
+interface IVLCPlaylistItems : public IDispatch
 {
-    virtual HRESULT STDMETHODCALLTYPE get__Value(
-        VARIANT *message) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE get_severity(
-        long *level) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE get_type(
-        BSTR *type) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE get_name(
-        BSTR *name) = 0;
+    virtual HRESULT STDMETHODCALLTYPE get_count(
+        LONG *count) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE get_header(
-        BSTR *header) = 0;
+    virtual HRESULT STDMETHODCALLTYPE clear(
+        ) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE get_message(
-        BSTR *message) = 0;
+    virtual HRESULT STDMETHODCALLTYPE remove(
+        LONG itemId) = 0;
 
 };
 #else
-typedef struct IVLCMessageVtbl {
+typedef struct IVLCPlaylistItemsVtbl {
     BEGIN_INTERFACE
 
     /*** IUnknown methods ***/
     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IVLCMessage* This,
+        IVLCPlaylistItems* This,
         REFIID riid,
         void **ppvObject);
 
     ULONG (STDMETHODCALLTYPE *AddRef)(
-        IVLCMessage* This);
+        IVLCPlaylistItems* This);
 
     ULONG (STDMETHODCALLTYPE *Release)(
-        IVLCMessage* This);
+        IVLCPlaylistItems* This);
 
     /*** IDispatch methods ***/
     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
-        IVLCMessage* This,
+        IVLCPlaylistItems* This,
         UINT *pctinfo);
 
     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
-        IVLCMessage* This,
+        IVLCPlaylistItems* This,
         UINT iTInfo,
         LCID lcid,
         ITypeInfo **ppTInfo);
 
     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
-        IVLCMessage* This,
+        IVLCPlaylistItems* This,
         REFIID riid,
         LPOLESTR *rgszNames,
         UINT cNames,
@@ -1370,7 +1457,7 @@ typedef struct IVLCMessageVtbl {
         DISPID *rgDispId);
 
     HRESULT (STDMETHODCALLTYPE *Invoke)(
-        IVLCMessage* This,
+        IVLCPlaylistItems* This,
         DISPID dispIdMember,
         REFIID riid,
         LCID lcid,
@@ -1380,155 +1467,147 @@ typedef struct IVLCMessageVtbl {
         EXCEPINFO *pExcepInfo,
         UINT *puArgErr);
 
-    /*** IVLCMessage methods ***/
-    HRESULT (STDMETHODCALLTYPE *get__Value)(
-        IVLCMessage* This,
-        VARIANT *message);
-
-    HRESULT (STDMETHODCALLTYPE *get_severity)(
-        IVLCMessage* This,
-        long *level);
-
-    HRESULT (STDMETHODCALLTYPE *get_type)(
-        IVLCMessage* This,
-        BSTR *type);
-
-    HRESULT (STDMETHODCALLTYPE *get_name)(
-        IVLCMessage* This,
-        BSTR *name);
+    /*** IVLCPlaylistItems methods ***/
+    HRESULT (STDMETHODCALLTYPE *get_count)(
+        IVLCPlaylistItems* This,
+        LONG *count);
 
-    HRESULT (STDMETHODCALLTYPE *get_header)(
-        IVLCMessage* This,
-        BSTR *header);
+    HRESULT (STDMETHODCALLTYPE *clear)(
+        IVLCPlaylistItems* This);
 
-    HRESULT (STDMETHODCALLTYPE *get_message)(
-        IVLCMessage* This,
-        BSTR *message);
+    HRESULT (STDMETHODCALLTYPE *remove)(
+        IVLCPlaylistItems* This,
+        LONG itemId);
 
     END_INTERFACE
-} IVLCMessageVtbl;
-interface IVLCMessage {
-    CONST_VTBL IVLCMessageVtbl* lpVtbl;
+} IVLCPlaylistItemsVtbl;
+interface IVLCPlaylistItems {
+    CONST_VTBL IVLCPlaylistItemsVtbl* lpVtbl;
 };
 
 #ifdef COBJMACROS
 /*** IUnknown methods ***/
-#define IVLCMessage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IVLCMessage_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IVLCMessage_Release(This) (This)->lpVtbl->Release(This)
+#define IVLCPlaylistItems_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IVLCPlaylistItems_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IVLCPlaylistItems_Release(This) (This)->lpVtbl->Release(This)
 /*** IDispatch methods ***/
-#define IVLCMessage_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
-#define IVLCMessage_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-#define IVLCMessage_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-#define IVLCMessage_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-/*** IVLCMessage methods ***/
-#define IVLCMessage_get__Value(This,message) (This)->lpVtbl->get__Value(This,message)
-#define IVLCMessage_get_severity(This,level) (This)->lpVtbl->get_severity(This,level)
-#define IVLCMessage_get_type(This,type) (This)->lpVtbl->get_type(This,type)
-#define IVLCMessage_get_name(This,name) (This)->lpVtbl->get_name(This,name)
-#define IVLCMessage_get_header(This,header) (This)->lpVtbl->get_header(This,header)
-#define IVLCMessage_get_message(This,message) (This)->lpVtbl->get_message(This,message)
+#define IVLCPlaylistItems_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
+#define IVLCPlaylistItems_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+#define IVLCPlaylistItems_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+#define IVLCPlaylistItems_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+/*** IVLCPlaylistItems methods ***/
+#define IVLCPlaylistItems_get_count(This,count) (This)->lpVtbl->get_count(This,count)
+#define IVLCPlaylistItems_clear(This) (This)->lpVtbl->clear(This)
+#define IVLCPlaylistItems_remove(This,itemId) (This)->lpVtbl->remove(This,itemId)
 #endif
 
 #endif
 
-HRESULT STDMETHODCALLTYPE IVLCMessage_get__Value_Proxy(
-    IVLCMessage* This,
-    VARIANT *message);
-void __RPC_STUB IVLCMessage_get__Value_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCMessage_get_severity_Proxy(
-    IVLCMessage* This,
-    long *level);
-void __RPC_STUB IVLCMessage_get_severity_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCMessage_get_type_Proxy(
-    IVLCMessage* This,
-    BSTR *type);
-void __RPC_STUB IVLCMessage_get_type_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCMessage_get_name_Proxy(
-    IVLCMessage* This,
-    BSTR *name);
-void __RPC_STUB IVLCMessage_get_name_Stub(
+HRESULT STDMETHODCALLTYPE IVLCPlaylistItems_get_count_Proxy(
+    IVLCPlaylistItems* This,
+    LONG *count);
+void __RPC_STUB IVLCPlaylistItems_get_count_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCMessage_get_header_Proxy(
-    IVLCMessage* This,
-    BSTR *header);
-void __RPC_STUB IVLCMessage_get_header_Stub(
+HRESULT STDMETHODCALLTYPE IVLCPlaylistItems_clear_Proxy(
+    IVLCPlaylistItems* This);
+void __RPC_STUB IVLCPlaylistItems_clear_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCMessage_get_message_Proxy(
-    IVLCMessage* This,
-    BSTR *message);
-void __RPC_STUB IVLCMessage_get_message_Stub(
+HRESULT STDMETHODCALLTYPE IVLCPlaylistItems_remove_Proxy(
+    IVLCPlaylistItems* This,
+    LONG itemId);
+void __RPC_STUB IVLCPlaylistItems_remove_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
 
-#endif  /* __IVLCMessage_INTERFACE_DEFINED__ */
+#endif  /* __IVLCPlaylistItems_INTERFACE_DEFINED__ */
 
 /*****************************************************************************
- * IVLCMessageIterator interface
+ * IVLCPlaylist interface
  */
-#ifndef __IVLCMessageIterator_INTERFACE_DEFINED__
-#define __IVLCMessageIterator_INTERFACE_DEFINED__
+#ifndef __IVLCPlaylist_INTERFACE_DEFINED__
+#define __IVLCPlaylist_INTERFACE_DEFINED__
 
-DEFINE_GUID(IID_IVLCMessageIterator, 0x15179cd8, 0xcc12, 0x4242, 0xa5,0x8e, 0xe4,0x12,0x21,0x7f,0xf3,0x43);
+DEFINE_GUID(IID_IVLCPlaylist, 0x54613049, 0x40bf, 0x4035, 0x9e,0x70, 0x0a,0x93,0x12,0xc0,0x18,0x8d);
 #if defined(__cplusplus) && !defined(CINTERFACE)
-interface IVLCMessageIterator : public IDispatch
+interface IVLCPlaylist : public IDispatch
 {
-    virtual HRESULT STDMETHODCALLTYPE get_hasNext(
-        VARIANT_BOOL *hasNext) = 0;
+    virtual HRESULT STDMETHODCALLTYPE get_itemCount(
+        LONG *count) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_isPlaying(
+        VARIANT_BOOL *playing) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE add(
+        BSTR uri,
+        VARIANT name,
+        VARIANT options,
+        LONG *itemId) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE play(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE playItem(
+        LONG itemId) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE togglePause(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE stop(
+        ) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE next(
-        IVLCMessage **msg) = 0;
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE prev(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE clear(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE removeItem(
+        LONG item) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_items(
+        IVLCPlaylistItems **obj) = 0;
 
 };
 #else
-typedef struct IVLCMessageIteratorVtbl {
+typedef struct IVLCPlaylistVtbl {
     BEGIN_INTERFACE
 
     /*** IUnknown methods ***/
     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IVLCMessageIterator* This,
+        IVLCPlaylist* This,
         REFIID riid,
         void **ppvObject);
 
     ULONG (STDMETHODCALLTYPE *AddRef)(
-        IVLCMessageIterator* This);
+        IVLCPlaylist* This);
 
     ULONG (STDMETHODCALLTYPE *Release)(
-        IVLCMessageIterator* This);
+        IVLCPlaylist* This);
 
     /*** IDispatch methods ***/
     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
-        IVLCMessageIterator* This,
+        IVLCPlaylist* This,
         UINT *pctinfo);
 
     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
-        IVLCMessageIterator* This,
+        IVLCPlaylist* This,
         UINT iTInfo,
         LCID lcid,
         ITypeInfo **ppTInfo);
 
     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
-        IVLCMessageIterator* This,
+        IVLCPlaylist* This,
         REFIID riid,
         LPOLESTR *rgszNames,
         UINT cNames,
@@ -1536,7 +1615,7 @@ typedef struct IVLCMessageIteratorVtbl {
         DISPID *rgDispId);
 
     HRESULT (STDMETHODCALLTYPE *Invoke)(
-        IVLCMessageIterator* This,
+        IVLCPlaylist* This,
         DISPID dispIdMember,
         REFIID riid,
         LCID lcid,
@@ -1546,610 +1625,56 @@ typedef struct IVLCMessageIteratorVtbl {
         EXCEPINFO *pExcepInfo,
         UINT *puArgErr);
 
-    /*** IVLCMessageIterator methods ***/
-    HRESULT (STDMETHODCALLTYPE *get_hasNext)(
-        IVLCMessageIterator* This,
-        VARIANT_BOOL *hasNext);
+    /*** IVLCPlaylist methods ***/
+    HRESULT (STDMETHODCALLTYPE *get_itemCount)(
+        IVLCPlaylist* This,
+        LONG *count);
 
-    HRESULT (STDMETHODCALLTYPE *next)(
-        IVLCMessageIterator* This,
-        IVLCMessage **msg);
+    HRESULT (STDMETHODCALLTYPE *get_isPlaying)(
+        IVLCPlaylist* This,
+        VARIANT_BOOL *playing);
 
-    END_INTERFACE
-} IVLCMessageIteratorVtbl;
-interface IVLCMessageIterator {
-    CONST_VTBL IVLCMessageIteratorVtbl* lpVtbl;
-};
+    HRESULT (STDMETHODCALLTYPE *add)(
+        IVLCPlaylist* This,
+        BSTR uri,
+        VARIANT name,
+        VARIANT options,
+        LONG *itemId);
 
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define IVLCMessageIterator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IVLCMessageIterator_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IVLCMessageIterator_Release(This) (This)->lpVtbl->Release(This)
-/*** IDispatch methods ***/
-#define IVLCMessageIterator_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
-#define IVLCMessageIterator_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-#define IVLCMessageIterator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-#define IVLCMessageIterator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-/*** IVLCMessageIterator methods ***/
-#define IVLCMessageIterator_get_hasNext(This,hasNext) (This)->lpVtbl->get_hasNext(This,hasNext)
-#define IVLCMessageIterator_next(This,msg) (This)->lpVtbl->next(This,msg)
-#endif
+    HRESULT (STDMETHODCALLTYPE *play)(
+        IVLCPlaylist* This);
 
-#endif
+    HRESULT (STDMETHODCALLTYPE *playItem)(
+        IVLCPlaylist* This,
+        LONG itemId);
 
-HRESULT STDMETHODCALLTYPE IVLCMessageIterator_get_hasNext_Proxy(
-    IVLCMessageIterator* This,
-    VARIANT_BOOL *hasNext);
-void __RPC_STUB IVLCMessageIterator_get_hasNext_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCMessageIterator_next_Proxy(
-    IVLCMessageIterator* This,
-    IVLCMessage **msg);
-void __RPC_STUB IVLCMessageIterator_next_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
+    HRESULT (STDMETHODCALLTYPE *togglePause)(
+        IVLCPlaylist* This);
 
-#endif  /* __IVLCMessageIterator_INTERFACE_DEFINED__ */
+    HRESULT (STDMETHODCALLTYPE *stop)(
+        IVLCPlaylist* This);
 
-/*****************************************************************************
- * IVLCMessages interface
- */
-#ifndef __IVLCMessages_INTERFACE_DEFINED__
-#define __IVLCMessages_INTERFACE_DEFINED__
+    HRESULT (STDMETHODCALLTYPE *next)(
+        IVLCPlaylist* This);
 
-DEFINE_GUID(IID_IVLCMessages, 0x6c5ce55d, 0x2d6c, 0x4aad, 0x82,0x99, 0xc6,0x2d,0x23,0x71,0xf1,0x06);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface IVLCMessages : public IDispatch
-{
-    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
-        IUnknown **_NewEnum) = 0;
+    HRESULT (STDMETHODCALLTYPE *prev)(
+        IVLCPlaylist* This);
 
-    virtual HRESULT STDMETHODCALLTYPE clear(
-        ) = 0;
+    HRESULT (STDMETHODCALLTYPE *clear)(
+        IVLCPlaylist* This);
 
-    virtual HRESULT STDMETHODCALLTYPE get_count(
-        long *count) = 0;
+    HRESULT (STDMETHODCALLTYPE *removeItem)(
+        IVLCPlaylist* This,
+        LONG item);
 
-    virtual HRESULT STDMETHODCALLTYPE iterator(
-        IVLCMessageIterator **iter) = 0;
+    HRESULT (STDMETHODCALLTYPE *get_items)(
+        IVLCPlaylist* This,
+        IVLCPlaylistItems **obj);
 
-};
-#else
-typedef struct IVLCMessagesVtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IVLCMessages* This,
-        REFIID riid,
-        void **ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IVLCMessages* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IVLCMessages* This);
-
-    /*** IDispatch methods ***/
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
-        IVLCMessages* This,
-        UINT *pctinfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
-        IVLCMessages* This,
-        UINT iTInfo,
-        LCID lcid,
-        ITypeInfo **ppTInfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
-        IVLCMessages* This,
-        REFIID riid,
-        LPOLESTR *rgszNames,
-        UINT cNames,
-        LCID lcid,
-        DISPID *rgDispId);
-
-    HRESULT (STDMETHODCALLTYPE *Invoke)(
-        IVLCMessages* This,
-        DISPID dispIdMember,
-        REFIID riid,
-        LCID lcid,
-        WORD wFlags,
-        DISPPARAMS *pDispParams,
-        VARIANT *pVarResult,
-        EXCEPINFO *pExcepInfo,
-        UINT *puArgErr);
-
-    /*** IVLCMessages methods ***/
-    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
-        IVLCMessages* This,
-        IUnknown **_NewEnum);
-
-    HRESULT (STDMETHODCALLTYPE *clear)(
-        IVLCMessages* This);
-
-    HRESULT (STDMETHODCALLTYPE *get_count)(
-        IVLCMessages* This,
-        long *count);
-
-    HRESULT (STDMETHODCALLTYPE *iterator)(
-        IVLCMessages* This,
-        IVLCMessageIterator **iter);
-
-    END_INTERFACE
-} IVLCMessagesVtbl;
-interface IVLCMessages {
-    CONST_VTBL IVLCMessagesVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define IVLCMessages_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IVLCMessages_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IVLCMessages_Release(This) (This)->lpVtbl->Release(This)
-/*** IDispatch methods ***/
-#define IVLCMessages_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
-#define IVLCMessages_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-#define IVLCMessages_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-#define IVLCMessages_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-/*** IVLCMessages methods ***/
-#define IVLCMessages_get__NewEnum(This,_NewEnum) (This)->lpVtbl->get__NewEnum(This,_NewEnum)
-#define IVLCMessages_clear(This) (This)->lpVtbl->clear(This)
-#define IVLCMessages_get_count(This,count) (This)->lpVtbl->get_count(This,count)
-#define IVLCMessages_iterator(This,iter) (This)->lpVtbl->iterator(This,iter)
-#endif
-
-#endif
-
-HRESULT STDMETHODCALLTYPE IVLCMessages_get__NewEnum_Proxy(
-    IVLCMessages* This,
-    IUnknown **_NewEnum);
-void __RPC_STUB IVLCMessages_get__NewEnum_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCMessages_clear_Proxy(
-    IVLCMessages* This);
-void __RPC_STUB IVLCMessages_clear_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCMessages_get_count_Proxy(
-    IVLCMessages* This,
-    long *count);
-void __RPC_STUB IVLCMessages_get_count_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCMessages_iterator_Proxy(
-    IVLCMessages* This,
-    IVLCMessageIterator **iter);
-void __RPC_STUB IVLCMessages_iterator_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-
-#endif  /* __IVLCMessages_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * IVLCLog interface
- */
-#ifndef __IVLCLog_INTERFACE_DEFINED__
-#define __IVLCLog_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_IVLCLog, 0x8e3bc3d9, 0x62e9, 0x48fb, 0x8a,0x6d, 0x99,0x3f,0x9a,0xbc,0x4a,0x0a);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface IVLCLog : public IDispatch
-{
-    virtual HRESULT STDMETHODCALLTYPE get_messages(
-        IVLCMessages **iter) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE get_verbosity(
-        long *level) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE put_verbosity(
-        long level) = 0;
-
-};
-#else
-typedef struct IVLCLogVtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IVLCLog* This,
-        REFIID riid,
-        void **ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IVLCLog* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IVLCLog* This);
-
-    /*** IDispatch methods ***/
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
-        IVLCLog* This,
-        UINT *pctinfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
-        IVLCLog* This,
-        UINT iTInfo,
-        LCID lcid,
-        ITypeInfo **ppTInfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
-        IVLCLog* This,
-        REFIID riid,
-        LPOLESTR *rgszNames,
-        UINT cNames,
-        LCID lcid,
-        DISPID *rgDispId);
-
-    HRESULT (STDMETHODCALLTYPE *Invoke)(
-        IVLCLog* This,
-        DISPID dispIdMember,
-        REFIID riid,
-        LCID lcid,
-        WORD wFlags,
-        DISPPARAMS *pDispParams,
-        VARIANT *pVarResult,
-        EXCEPINFO *pExcepInfo,
-        UINT *puArgErr);
-
-    /*** IVLCLog methods ***/
-    HRESULT (STDMETHODCALLTYPE *get_messages)(
-        IVLCLog* This,
-        IVLCMessages **iter);
-
-    HRESULT (STDMETHODCALLTYPE *get_verbosity)(
-        IVLCLog* This,
-        long *level);
-
-    HRESULT (STDMETHODCALLTYPE *put_verbosity)(
-        IVLCLog* This,
-        long level);
-
-    END_INTERFACE
-} IVLCLogVtbl;
-interface IVLCLog {
-    CONST_VTBL IVLCLogVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define IVLCLog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IVLCLog_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IVLCLog_Release(This) (This)->lpVtbl->Release(This)
-/*** IDispatch methods ***/
-#define IVLCLog_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
-#define IVLCLog_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-#define IVLCLog_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-#define IVLCLog_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-/*** IVLCLog methods ***/
-#define IVLCLog_get_messages(This,iter) (This)->lpVtbl->get_messages(This,iter)
-#define IVLCLog_get_verbosity(This,level) (This)->lpVtbl->get_verbosity(This,level)
-#define IVLCLog_put_verbosity(This,level) (This)->lpVtbl->put_verbosity(This,level)
-#endif
-
-#endif
-
-HRESULT STDMETHODCALLTYPE IVLCLog_get_messages_Proxy(
-    IVLCLog* This,
-    IVLCMessages **iter);
-void __RPC_STUB IVLCLog_get_messages_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCLog_get_verbosity_Proxy(
-    IVLCLog* This,
-    long *level);
-void __RPC_STUB IVLCLog_get_verbosity_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCLog_put_verbosity_Proxy(
-    IVLCLog* This,
-    long level);
-void __RPC_STUB IVLCLog_put_verbosity_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-
-#endif  /* __IVLCLog_INTERFACE_DEFINED__ */
-
-#ifndef __IVLCPlaylistItems_FWD_DEFINED__
-#define __IVLCPlaylistItems_FWD_DEFINED__
-typedef interface IVLCPlaylistItems IVLCPlaylistItems;
-#endif
-
-/*****************************************************************************
- * IVLCPlaylistItems interface
- */
-#ifndef __IVLCPlaylistItems_INTERFACE_DEFINED__
-#define __IVLCPlaylistItems_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_IVLCPlaylistItems, 0xfd37fe32, 0x82bc, 0x4a25, 0xb0,0x56, 0x31,0x5f,0x4d,0xbb,0x19,0x4d);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface IVLCPlaylistItems : public IDispatch
-{
-    virtual HRESULT STDMETHODCALLTYPE get_count(
-        long *count) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE clear(
-        ) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE remove(
-        long itemId) = 0;
-
-};
-#else
-typedef struct IVLCPlaylistItemsVtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IVLCPlaylistItems* This,
-        REFIID riid,
-        void **ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IVLCPlaylistItems* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IVLCPlaylistItems* This);
-
-    /*** IDispatch methods ***/
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
-        IVLCPlaylistItems* This,
-        UINT *pctinfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
-        IVLCPlaylistItems* This,
-        UINT iTInfo,
-        LCID lcid,
-        ITypeInfo **ppTInfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
-        IVLCPlaylistItems* This,
-        REFIID riid,
-        LPOLESTR *rgszNames,
-        UINT cNames,
-        LCID lcid,
-        DISPID *rgDispId);
-
-    HRESULT (STDMETHODCALLTYPE *Invoke)(
-        IVLCPlaylistItems* This,
-        DISPID dispIdMember,
-        REFIID riid,
-        LCID lcid,
-        WORD wFlags,
-        DISPPARAMS *pDispParams,
-        VARIANT *pVarResult,
-        EXCEPINFO *pExcepInfo,
-        UINT *puArgErr);
-
-    /*** IVLCPlaylistItems methods ***/
-    HRESULT (STDMETHODCALLTYPE *get_count)(
-        IVLCPlaylistItems* This,
-        long *count);
-
-    HRESULT (STDMETHODCALLTYPE *clear)(
-        IVLCPlaylistItems* This);
-
-    HRESULT (STDMETHODCALLTYPE *remove)(
-        IVLCPlaylistItems* This,
-        long itemId);
-
-    END_INTERFACE
-} IVLCPlaylistItemsVtbl;
-interface IVLCPlaylistItems {
-    CONST_VTBL IVLCPlaylistItemsVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define IVLCPlaylistItems_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IVLCPlaylistItems_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IVLCPlaylistItems_Release(This) (This)->lpVtbl->Release(This)
-/*** IDispatch methods ***/
-#define IVLCPlaylistItems_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
-#define IVLCPlaylistItems_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-#define IVLCPlaylistItems_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-#define IVLCPlaylistItems_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-/*** IVLCPlaylistItems methods ***/
-#define IVLCPlaylistItems_get_count(This,count) (This)->lpVtbl->get_count(This,count)
-#define IVLCPlaylistItems_clear(This) (This)->lpVtbl->clear(This)
-#define IVLCPlaylistItems_remove(This,itemId) (This)->lpVtbl->remove(This,itemId)
-#endif
-
-#endif
-
-HRESULT STDMETHODCALLTYPE IVLCPlaylistItems_get_count_Proxy(
-    IVLCPlaylistItems* This,
-    long *count);
-void __RPC_STUB IVLCPlaylistItems_get_count_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCPlaylistItems_clear_Proxy(
-    IVLCPlaylistItems* This);
-void __RPC_STUB IVLCPlaylistItems_clear_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCPlaylistItems_remove_Proxy(
-    IVLCPlaylistItems* This,
-    long itemId);
-void __RPC_STUB IVLCPlaylistItems_remove_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-
-#endif  /* __IVLCPlaylistItems_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * IVLCPlaylist interface
- */
-#ifndef __IVLCPlaylist_INTERFACE_DEFINED__
-#define __IVLCPlaylist_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_IVLCPlaylist, 0x54613049, 0x40bf, 0x4035, 0x9e,0x70, 0x0a,0x93,0x12,0xc0,0x18,0x8d);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface IVLCPlaylist : public IDispatch
-{
-    virtual HRESULT STDMETHODCALLTYPE get_itemCount(
-        long *count) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE get_isPlaying(
-        VARIANT_BOOL *playing) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE add(
-        BSTR uri,
-        VARIANT name,
-        VARIANT options,
-        long *itemId) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE play(
-        ) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE playItem(
-        long itemId) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE togglePause(
-        ) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE stop(
-        ) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE next(
-        ) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE prev(
-        ) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE clear(
-        ) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE removeItem(
-        long item) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE get_items(
-        IVLCPlaylistItems **obj) = 0;
-
-};
-#else
-typedef struct IVLCPlaylistVtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IVLCPlaylist* This,
-        REFIID riid,
-        void **ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IVLCPlaylist* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IVLCPlaylist* This);
-
-    /*** IDispatch methods ***/
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
-        IVLCPlaylist* This,
-        UINT *pctinfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
-        IVLCPlaylist* This,
-        UINT iTInfo,
-        LCID lcid,
-        ITypeInfo **ppTInfo);
-
-    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
-        IVLCPlaylist* This,
-        REFIID riid,
-        LPOLESTR *rgszNames,
-        UINT cNames,
-        LCID lcid,
-        DISPID *rgDispId);
-
-    HRESULT (STDMETHODCALLTYPE *Invoke)(
-        IVLCPlaylist* This,
-        DISPID dispIdMember,
-        REFIID riid,
-        LCID lcid,
-        WORD wFlags,
-        DISPPARAMS *pDispParams,
-        VARIANT *pVarResult,
-        EXCEPINFO *pExcepInfo,
-        UINT *puArgErr);
-
-    /*** IVLCPlaylist methods ***/
-    HRESULT (STDMETHODCALLTYPE *get_itemCount)(
-        IVLCPlaylist* This,
-        long *count);
-
-    HRESULT (STDMETHODCALLTYPE *get_isPlaying)(
-        IVLCPlaylist* This,
-        VARIANT_BOOL *playing);
-
-    HRESULT (STDMETHODCALLTYPE *add)(
-        IVLCPlaylist* This,
-        BSTR uri,
-        VARIANT name,
-        VARIANT options,
-        long *itemId);
-
-    HRESULT (STDMETHODCALLTYPE *play)(
-        IVLCPlaylist* This);
-
-    HRESULT (STDMETHODCALLTYPE *playItem)(
-        IVLCPlaylist* This,
-        long itemId);
-
-    HRESULT (STDMETHODCALLTYPE *togglePause)(
-        IVLCPlaylist* This);
-
-    HRESULT (STDMETHODCALLTYPE *stop)(
-        IVLCPlaylist* This);
-
-    HRESULT (STDMETHODCALLTYPE *next)(
-        IVLCPlaylist* This);
-
-    HRESULT (STDMETHODCALLTYPE *prev)(
-        IVLCPlaylist* This);
-
-    HRESULT (STDMETHODCALLTYPE *clear)(
-        IVLCPlaylist* This);
-
-    HRESULT (STDMETHODCALLTYPE *removeItem)(
-        IVLCPlaylist* This,
-        long item);
-
-    HRESULT (STDMETHODCALLTYPE *get_items)(
-        IVLCPlaylist* This,
-        IVLCPlaylistItems **obj);
-
-    END_INTERFACE
-} IVLCPlaylistVtbl;
-interface IVLCPlaylist {
-    CONST_VTBL IVLCPlaylistVtbl* lpVtbl;
+    END_INTERFACE
+} IVLCPlaylistVtbl;
+interface IVLCPlaylist {
+    CONST_VTBL IVLCPlaylistVtbl* lpVtbl;
 };
 
 #ifdef COBJMACROS
@@ -2181,7 +1706,7 @@ interface IVLCPlaylist {
 
 HRESULT STDMETHODCALLTYPE IVLCPlaylist_get_itemCount_Proxy(
     IVLCPlaylist* This,
-    long *count);
+    LONG *count);
 void __RPC_STUB IVLCPlaylist_get_itemCount_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -2200,7 +1725,7 @@ HRESULT STDMETHODCALLTYPE IVLCPlaylist_add_Proxy(
     BSTR uri,
     VARIANT name,
     VARIANT options,
-    long *itemId);
+    LONG *itemId);
 void __RPC_STUB IVLCPlaylist_add_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -2215,7 +1740,7 @@ void __RPC_STUB IVLCPlaylist_play_Stub(
     DWORD* pdwStubPhase);
 HRESULT STDMETHODCALLTYPE IVLCPlaylist_playItem_Proxy(
     IVLCPlaylist* This,
-    long itemId);
+    LONG itemId);
 void __RPC_STUB IVLCPlaylist_playItem_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -2258,7 +1783,7 @@ void __RPC_STUB IVLCPlaylist_clear_Stub(
     DWORD* pdwStubPhase);
 HRESULT STDMETHODCALLTYPE IVLCPlaylist_removeItem_Proxy(
     IVLCPlaylist* This,
-    long item);
+    LONG item);
 void __RPC_STUB IVLCPlaylist_removeItem_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -2286,16 +1811,16 @@ DEFINE_GUID(IID_IVLCSubtitle, 0x465e787a, 0x0556, 0x452f, 0x94,0x77, 0x95,0x4e,0
 interface IVLCSubtitle : public IDispatch
 {
     virtual HRESULT STDMETHODCALLTYPE get_track(
-        long *spu) = 0;
+        LONG *spu) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE put_track(
-        long spu) = 0;
+        LONG spu) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE get_count(
-        long *spuNumber) = 0;
+        LONG *spuNumber) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE description(
-        long nameID,
+        LONG nameID,
         BSTR *name) = 0;
 
 };
@@ -2348,19 +1873,19 @@ typedef struct IVLCSubtitleVtbl {
     /*** IVLCSubtitle methods ***/
     HRESULT (STDMETHODCALLTYPE *get_track)(
         IVLCSubtitle* This,
-        long *spu);
+        LONG *spu);
 
     HRESULT (STDMETHODCALLTYPE *put_track)(
         IVLCSubtitle* This,
-        long spu);
+        LONG spu);
 
     HRESULT (STDMETHODCALLTYPE *get_count)(
         IVLCSubtitle* This,
-        long *spuNumber);
+        LONG *spuNumber);
 
     HRESULT (STDMETHODCALLTYPE *description)(
         IVLCSubtitle* This,
-        long nameID,
+        LONG nameID,
         BSTR *name);
 
     END_INTERFACE
@@ -2390,49 +1915,447 @@ interface IVLCSubtitle {
 
 HRESULT STDMETHODCALLTYPE IVLCSubtitle_get_track_Proxy(
     IVLCSubtitle* This,
-    long *spu);
+    LONG *spu);
 void __RPC_STUB IVLCSubtitle_get_track_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCSubtitle_put_track_Proxy(
-    IVLCSubtitle* This,
-    long spu);
-void __RPC_STUB IVLCSubtitle_put_track_Stub(
+HRESULT STDMETHODCALLTYPE IVLCSubtitle_put_track_Proxy(
+    IVLCSubtitle* This,
+    LONG spu);
+void __RPC_STUB IVLCSubtitle_put_track_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCSubtitle_get_count_Proxy(
+    IVLCSubtitle* This,
+    LONG *spuNumber);
+void __RPC_STUB IVLCSubtitle_get_count_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCSubtitle_description_Proxy(
+    IVLCSubtitle* This,
+    LONG nameID,
+    BSTR *name);
+void __RPC_STUB IVLCSubtitle_description_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+
+#endif  /* __IVLCSubtitle_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * IVLCMarquee interface
+ */
+#ifndef __IVLCMarquee_INTERFACE_DEFINED__
+#define __IVLCMarquee_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_IVLCMarquee, 0x8d076ad6, 0x9b6f, 0x4150, 0xa0,0xfd, 0x5d,0x7e,0x8c,0x8c,0xb0,0x2c);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface IVLCMarquee : public IDispatch
+{
+    virtual HRESULT STDMETHODCALLTYPE enable(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE disable(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_text(
+        BSTR *val) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_text(
+        BSTR val) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_color(
+        LONG *val) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_color(
+        LONG val) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_opacity(
+        LONG *val) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_opacity(
+        LONG val) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_position(
+        BSTR *val) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_position(
+        BSTR val) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_refresh(
+        LONG *val) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_refresh(
+        LONG val) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_size(
+        LONG *val) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_size(
+        LONG val) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_timeout(
+        LONG *val) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_timeout(
+        LONG val) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_x(
+        LONG *val) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_x(
+        LONG val) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_y(
+        LONG *val) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_y(
+        LONG val) = 0;
+
+};
+#else
+typedef struct IVLCMarqueeVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        IVLCMarquee* This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        IVLCMarquee* This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        IVLCMarquee* This);
+
+    /*** IDispatch methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
+        IVLCMarquee* This,
+        UINT *pctinfo);
+
+    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
+        IVLCMarquee* This,
+        UINT iTInfo,
+        LCID lcid,
+        ITypeInfo **ppTInfo);
+
+    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
+        IVLCMarquee* This,
+        REFIID riid,
+        LPOLESTR *rgszNames,
+        UINT cNames,
+        LCID lcid,
+        DISPID *rgDispId);
+
+    HRESULT (STDMETHODCALLTYPE *Invoke)(
+        IVLCMarquee* This,
+        DISPID dispIdMember,
+        REFIID riid,
+        LCID lcid,
+        WORD wFlags,
+        DISPPARAMS *pDispParams,
+        VARIANT *pVarResult,
+        EXCEPINFO *pExcepInfo,
+        UINT *puArgErr);
+
+    /*** IVLCMarquee methods ***/
+    HRESULT (STDMETHODCALLTYPE *enable)(
+        IVLCMarquee* This);
+
+    HRESULT (STDMETHODCALLTYPE *disable)(
+        IVLCMarquee* This);
+
+    HRESULT (STDMETHODCALLTYPE *get_text)(
+        IVLCMarquee* This,
+        BSTR *val);
+
+    HRESULT (STDMETHODCALLTYPE *put_text)(
+        IVLCMarquee* This,
+        BSTR val);
+
+    HRESULT (STDMETHODCALLTYPE *get_color)(
+        IVLCMarquee* This,
+        LONG *val);
+
+    HRESULT (STDMETHODCALLTYPE *put_color)(
+        IVLCMarquee* This,
+        LONG val);
+
+    HRESULT (STDMETHODCALLTYPE *get_opacity)(
+        IVLCMarquee* This,
+        LONG *val);
+
+    HRESULT (STDMETHODCALLTYPE *put_opacity)(
+        IVLCMarquee* This,
+        LONG val);
+
+    HRESULT (STDMETHODCALLTYPE *get_position)(
+        IVLCMarquee* This,
+        BSTR *val);
+
+    HRESULT (STDMETHODCALLTYPE *put_position)(
+        IVLCMarquee* This,
+        BSTR val);
+
+    HRESULT (STDMETHODCALLTYPE *get_refresh)(
+        IVLCMarquee* This,
+        LONG *val);
+
+    HRESULT (STDMETHODCALLTYPE *put_refresh)(
+        IVLCMarquee* This,
+        LONG val);
+
+    HRESULT (STDMETHODCALLTYPE *get_size)(
+        IVLCMarquee* This,
+        LONG *val);
+
+    HRESULT (STDMETHODCALLTYPE *put_size)(
+        IVLCMarquee* This,
+        LONG val);
+
+    HRESULT (STDMETHODCALLTYPE *get_timeout)(
+        IVLCMarquee* This,
+        LONG *val);
+
+    HRESULT (STDMETHODCALLTYPE *put_timeout)(
+        IVLCMarquee* This,
+        LONG val);
+
+    HRESULT (STDMETHODCALLTYPE *get_x)(
+        IVLCMarquee* This,
+        LONG *val);
+
+    HRESULT (STDMETHODCALLTYPE *put_x)(
+        IVLCMarquee* This,
+        LONG val);
+
+    HRESULT (STDMETHODCALLTYPE *get_y)(
+        IVLCMarquee* This,
+        LONG *val);
+
+    HRESULT (STDMETHODCALLTYPE *put_y)(
+        IVLCMarquee* This,
+        LONG val);
+
+    END_INTERFACE
+} IVLCMarqueeVtbl;
+interface IVLCMarquee {
+    CONST_VTBL IVLCMarqueeVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define IVLCMarquee_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IVLCMarquee_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IVLCMarquee_Release(This) (This)->lpVtbl->Release(This)
+/*** IDispatch methods ***/
+#define IVLCMarquee_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
+#define IVLCMarquee_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+#define IVLCMarquee_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+#define IVLCMarquee_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+/*** IVLCMarquee methods ***/
+#define IVLCMarquee_enable(This) (This)->lpVtbl->enable(This)
+#define IVLCMarquee_disable(This) (This)->lpVtbl->disable(This)
+#define IVLCMarquee_get_text(This,val) (This)->lpVtbl->get_text(This,val)
+#define IVLCMarquee_put_text(This,val) (This)->lpVtbl->put_text(This,val)
+#define IVLCMarquee_get_color(This,val) (This)->lpVtbl->get_color(This,val)
+#define IVLCMarquee_put_color(This,val) (This)->lpVtbl->put_color(This,val)
+#define IVLCMarquee_get_opacity(This,val) (This)->lpVtbl->get_opacity(This,val)
+#define IVLCMarquee_put_opacity(This,val) (This)->lpVtbl->put_opacity(This,val)
+#define IVLCMarquee_get_position(This,val) (This)->lpVtbl->get_position(This,val)
+#define IVLCMarquee_put_position(This,val) (This)->lpVtbl->put_position(This,val)
+#define IVLCMarquee_get_refresh(This,val) (This)->lpVtbl->get_refresh(This,val)
+#define IVLCMarquee_put_refresh(This,val) (This)->lpVtbl->put_refresh(This,val)
+#define IVLCMarquee_get_size(This,val) (This)->lpVtbl->get_size(This,val)
+#define IVLCMarquee_put_size(This,val) (This)->lpVtbl->put_size(This,val)
+#define IVLCMarquee_get_timeout(This,val) (This)->lpVtbl->get_timeout(This,val)
+#define IVLCMarquee_put_timeout(This,val) (This)->lpVtbl->put_timeout(This,val)
+#define IVLCMarquee_get_x(This,val) (This)->lpVtbl->get_x(This,val)
+#define IVLCMarquee_put_x(This,val) (This)->lpVtbl->put_x(This,val)
+#define IVLCMarquee_get_y(This,val) (This)->lpVtbl->get_y(This,val)
+#define IVLCMarquee_put_y(This,val) (This)->lpVtbl->put_y(This,val)
+#endif
+
+#endif
+
+HRESULT STDMETHODCALLTYPE IVLCMarquee_enable_Proxy(
+    IVLCMarquee* This);
+void __RPC_STUB IVLCMarquee_enable_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCMarquee_disable_Proxy(
+    IVLCMarquee* This);
+void __RPC_STUB IVLCMarquee_disable_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCMarquee_get_text_Proxy(
+    IVLCMarquee* This,
+    BSTR *val);
+void __RPC_STUB IVLCMarquee_get_text_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCMarquee_put_text_Proxy(
+    IVLCMarquee* This,
+    BSTR val);
+void __RPC_STUB IVLCMarquee_put_text_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCMarquee_get_color_Proxy(
+    IVLCMarquee* This,
+    LONG *val);
+void __RPC_STUB IVLCMarquee_get_color_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCMarquee_put_color_Proxy(
+    IVLCMarquee* This,
+    LONG val);
+void __RPC_STUB IVLCMarquee_put_color_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCMarquee_get_opacity_Proxy(
+    IVLCMarquee* This,
+    LONG *val);
+void __RPC_STUB IVLCMarquee_get_opacity_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCMarquee_put_opacity_Proxy(
+    IVLCMarquee* This,
+    LONG val);
+void __RPC_STUB IVLCMarquee_put_opacity_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCMarquee_get_position_Proxy(
+    IVLCMarquee* This,
+    BSTR *val);
+void __RPC_STUB IVLCMarquee_get_position_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCMarquee_put_position_Proxy(
+    IVLCMarquee* This,
+    BSTR val);
+void __RPC_STUB IVLCMarquee_put_position_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCMarquee_get_refresh_Proxy(
+    IVLCMarquee* This,
+    LONG *val);
+void __RPC_STUB IVLCMarquee_get_refresh_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCMarquee_put_refresh_Proxy(
+    IVLCMarquee* This,
+    LONG val);
+void __RPC_STUB IVLCMarquee_put_refresh_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCMarquee_get_size_Proxy(
+    IVLCMarquee* This,
+    LONG *val);
+void __RPC_STUB IVLCMarquee_get_size_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCSubtitle_get_count_Proxy(
-    IVLCSubtitle* This,
-    long *spuNumber);
-void __RPC_STUB IVLCSubtitle_get_count_Stub(
+HRESULT STDMETHODCALLTYPE IVLCMarquee_put_size_Proxy(
+    IVLCMarquee* This,
+    LONG val);
+void __RPC_STUB IVLCMarquee_put_size_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCSubtitle_description_Proxy(
-    IVLCSubtitle* This,
-    long nameID,
-    BSTR *name);
-void __RPC_STUB IVLCSubtitle_description_Stub(
+HRESULT STDMETHODCALLTYPE IVLCMarquee_get_timeout_Proxy(
+    IVLCMarquee* This,
+    LONG *val);
+void __RPC_STUB IVLCMarquee_get_timeout_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCMarquee_put_timeout_Proxy(
+    IVLCMarquee* This,
+    LONG val);
+void __RPC_STUB IVLCMarquee_put_timeout_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCMarquee_get_x_Proxy(
+    IVLCMarquee* This,
+    LONG *val);
+void __RPC_STUB IVLCMarquee_get_x_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCMarquee_put_x_Proxy(
+    IVLCMarquee* This,
+    LONG val);
+void __RPC_STUB IVLCMarquee_put_x_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCMarquee_get_y_Proxy(
+    IVLCMarquee* This,
+    LONG *val);
+void __RPC_STUB IVLCMarquee_get_y_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCMarquee_put_y_Proxy(
+    IVLCMarquee* This,
+    LONG val);
+void __RPC_STUB IVLCMarquee_put_y_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
 
-#endif  /* __IVLCSubtitle_INTERFACE_DEFINED__ */
+#endif  /* __IVLCMarquee_INTERFACE_DEFINED__ */
 
 /*****************************************************************************
- * IVLCMarquee interface
+ * IVLCLogo interface
  */
-#ifndef __IVLCMarquee_INTERFACE_DEFINED__
-#define __IVLCMarquee_INTERFACE_DEFINED__
+#ifndef __IVLCLogo_INTERFACE_DEFINED__
+#define __IVLCLogo_INTERFACE_DEFINED__
 
-DEFINE_GUID(IID_IVLCMarquee, 0x8d076ad6, 0x9b6f, 0x4150, 0xa0,0xfd, 0x5d,0x7e,0x8c,0x8c,0xb0,0x2c);
+DEFINE_GUID(IID_IVLCLogo, 0x8a4a20c2, 0x93f3, 0x44e8, 0x86,0x44, 0xbe,0xb2,0xe3,0x48,0x7e,0x84);
 #if defined(__cplusplus) && !defined(CINTERFACE)
-interface IVLCMarquee : public IDispatch
+interface IVLCLogo : public IDispatch
 {
     virtual HRESULT STDMETHODCALLTYPE enable(
         ) = 0;
@@ -2440,63 +2363,75 @@ interface IVLCMarquee : public IDispatch
     virtual HRESULT STDMETHODCALLTYPE disable(
         ) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE text(
-        BSTR text) = 0;
+    virtual HRESULT STDMETHODCALLTYPE file(
+        BSTR fname) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_delay(
+        LONG *val) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_delay(
+        LONG val) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_repeat(
+        LONG *val) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE color(
-        long val) = 0;
+    virtual HRESULT STDMETHODCALLTYPE put_repeat(
+        LONG val) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE opacity(
-        long val) = 0;
+    virtual HRESULT STDMETHODCALLTYPE get_opacity(
+        LONG *val) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE position(
-        long val) = 0;
+    virtual HRESULT STDMETHODCALLTYPE put_opacity(
+        LONG val) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE refresh(
-        long val) = 0;
+    virtual HRESULT STDMETHODCALLTYPE get_position(
+        BSTR *val) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_position(
+        BSTR val) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE size(
-        long val) = 0;
+    virtual HRESULT STDMETHODCALLTYPE get_x(
+        LONG *val) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE timeout(
-        long val) = 0;
+    virtual HRESULT STDMETHODCALLTYPE put_x(
+        LONG val) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE x(
-        long val) = 0;
+    virtual HRESULT STDMETHODCALLTYPE get_y(
+        LONG *val) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE y(
-        long val) = 0;
+    virtual HRESULT STDMETHODCALLTYPE put_y(
+        LONG val) = 0;
 
 };
 #else
-typedef struct IVLCMarqueeVtbl {
+typedef struct IVLCLogoVtbl {
     BEGIN_INTERFACE
 
     /*** IUnknown methods ***/
     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IVLCMarquee* This,
+        IVLCLogo* This,
         REFIID riid,
         void **ppvObject);
 
     ULONG (STDMETHODCALLTYPE *AddRef)(
-        IVLCMarquee* This);
+        IVLCLogo* This);
 
     ULONG (STDMETHODCALLTYPE *Release)(
-        IVLCMarquee* This);
+        IVLCLogo* This);
 
     /*** IDispatch methods ***/
     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
-        IVLCMarquee* This,
+        IVLCLogo* This,
         UINT *pctinfo);
 
     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
-        IVLCMarquee* This,
+        IVLCLogo* This,
         UINT iTInfo,
         LCID lcid,
         ITypeInfo **ppTInfo);
 
     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
-        IVLCMarquee* This,
+        IVLCLogo* This,
         REFIID riid,
         LPOLESTR *rgszNames,
         UINT cNames,
@@ -2504,7 +2439,7 @@ typedef struct IVLCMarqueeVtbl {
         DISPID *rgDispId);
 
     HRESULT (STDMETHODCALLTYPE *Invoke)(
-        IVLCMarquee* This,
+        IVLCLogo* This,
         DISPID dispIdMember,
         REFIID riid,
         LCID lcid,
@@ -2514,169 +2449,333 @@ typedef struct IVLCMarqueeVtbl {
         EXCEPINFO *pExcepInfo,
         UINT *puArgErr);
 
-    /*** IVLCMarquee methods ***/
+    /*** IVLCLogo methods ***/
     HRESULT (STDMETHODCALLTYPE *enable)(
-        IVLCMarquee* This);
+        IVLCLogo* This);
 
     HRESULT (STDMETHODCALLTYPE *disable)(
-        IVLCMarquee* This);
+        IVLCLogo* This);
 
-    HRESULT (STDMETHODCALLTYPE *text)(
-        IVLCMarquee* This,
-        BSTR text);
+    HRESULT (STDMETHODCALLTYPE *file)(
+        IVLCLogo* This,
+        BSTR fname);
 
-    HRESULT (STDMETHODCALLTYPE *color)(
-        IVLCMarquee* This,
-        long val);
+    HRESULT (STDMETHODCALLTYPE *get_delay)(
+        IVLCLogo* This,
+        LONG *val);
 
-    HRESULT (STDMETHODCALLTYPE *opacity)(
-        IVLCMarquee* This,
-        long val);
+    HRESULT (STDMETHODCALLTYPE *put_delay)(
+        IVLCLogo* This,
+        LONG val);
 
-    HRESULT (STDMETHODCALLTYPE *position)(
-        IVLCMarquee* This,
-        long val);
+    HRESULT (STDMETHODCALLTYPE *get_repeat)(
+        IVLCLogo* This,
+        LONG *val);
 
-    HRESULT (STDMETHODCALLTYPE *refresh)(
-        IVLCMarquee* This,
-        long val);
+    HRESULT (STDMETHODCALLTYPE *put_repeat)(
+        IVLCLogo* This,
+        LONG val);
 
-    HRESULT (STDMETHODCALLTYPE *size)(
-        IVLCMarquee* This,
-        long val);
+    HRESULT (STDMETHODCALLTYPE *get_opacity)(
+        IVLCLogo* This,
+        LONG *val);
 
-    HRESULT (STDMETHODCALLTYPE *timeout)(
-        IVLCMarquee* This,
-        long val);
+    HRESULT (STDMETHODCALLTYPE *put_opacity)(
+        IVLCLogo* This,
+        LONG val);
 
-    HRESULT (STDMETHODCALLTYPE *x)(
-        IVLCMarquee* This,
-        long val);
+    HRESULT (STDMETHODCALLTYPE *get_position)(
+        IVLCLogo* This,
+        BSTR *val);
 
-    HRESULT (STDMETHODCALLTYPE *y)(
-        IVLCMarquee* This,
-        long val);
+    HRESULT (STDMETHODCALLTYPE *put_position)(
+        IVLCLogo* This,
+        BSTR val);
+
+    HRESULT (STDMETHODCALLTYPE *get_x)(
+        IVLCLogo* This,
+        LONG *val);
+
+    HRESULT (STDMETHODCALLTYPE *put_x)(
+        IVLCLogo* This,
+        LONG val);
+
+    HRESULT (STDMETHODCALLTYPE *get_y)(
+        IVLCLogo* This,
+        LONG *val);
+
+    HRESULT (STDMETHODCALLTYPE *put_y)(
+        IVLCLogo* This,
+        LONG val);
 
     END_INTERFACE
-} IVLCMarqueeVtbl;
-interface IVLCMarquee {
-    CONST_VTBL IVLCMarqueeVtbl* lpVtbl;
+} IVLCLogoVtbl;
+interface IVLCLogo {
+    CONST_VTBL IVLCLogoVtbl* lpVtbl;
 };
 
 #ifdef COBJMACROS
 /*** IUnknown methods ***/
-#define IVLCMarquee_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IVLCMarquee_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IVLCMarquee_Release(This) (This)->lpVtbl->Release(This)
+#define IVLCLogo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IVLCLogo_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IVLCLogo_Release(This) (This)->lpVtbl->Release(This)
 /*** IDispatch methods ***/
-#define IVLCMarquee_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
-#define IVLCMarquee_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-#define IVLCMarquee_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-#define IVLCMarquee_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-/*** IVLCMarquee methods ***/
-#define IVLCMarquee_enable(This) (This)->lpVtbl->enable(This)
-#define IVLCMarquee_disable(This) (This)->lpVtbl->disable(This)
-#define IVLCMarquee_text(This,text) (This)->lpVtbl->text(This,text)
-#define IVLCMarquee_color(This,val) (This)->lpVtbl->color(This,val)
-#define IVLCMarquee_opacity(This,val) (This)->lpVtbl->opacity(This,val)
-#define IVLCMarquee_position(This,val) (This)->lpVtbl->position(This,val)
-#define IVLCMarquee_refresh(This,val) (This)->lpVtbl->refresh(This,val)
-#define IVLCMarquee_size(This,val) (This)->lpVtbl->size(This,val)
-#define IVLCMarquee_timeout(This,val) (This)->lpVtbl->timeout(This,val)
-#define IVLCMarquee_x(This,val) (This)->lpVtbl->x(This,val)
-#define IVLCMarquee_y(This,val) (This)->lpVtbl->y(This,val)
+#define IVLCLogo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
+#define IVLCLogo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+#define IVLCLogo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+#define IVLCLogo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+/*** IVLCLogo methods ***/
+#define IVLCLogo_enable(This) (This)->lpVtbl->enable(This)
+#define IVLCLogo_disable(This) (This)->lpVtbl->disable(This)
+#define IVLCLogo_file(This,fname) (This)->lpVtbl->file(This,fname)
+#define IVLCLogo_get_delay(This,val) (This)->lpVtbl->get_delay(This,val)
+#define IVLCLogo_put_delay(This,val) (This)->lpVtbl->put_delay(This,val)
+#define IVLCLogo_get_repeat(This,val) (This)->lpVtbl->get_repeat(This,val)
+#define IVLCLogo_put_repeat(This,val) (This)->lpVtbl->put_repeat(This,val)
+#define IVLCLogo_get_opacity(This,val) (This)->lpVtbl->get_opacity(This,val)
+#define IVLCLogo_put_opacity(This,val) (This)->lpVtbl->put_opacity(This,val)
+#define IVLCLogo_get_position(This,val) (This)->lpVtbl->get_position(This,val)
+#define IVLCLogo_put_position(This,val) (This)->lpVtbl->put_position(This,val)
+#define IVLCLogo_get_x(This,val) (This)->lpVtbl->get_x(This,val)
+#define IVLCLogo_put_x(This,val) (This)->lpVtbl->put_x(This,val)
+#define IVLCLogo_get_y(This,val) (This)->lpVtbl->get_y(This,val)
+#define IVLCLogo_put_y(This,val) (This)->lpVtbl->put_y(This,val)
 #endif
 
 #endif
 
-HRESULT STDMETHODCALLTYPE IVLCMarquee_enable_Proxy(
-    IVLCMarquee* This);
-void __RPC_STUB IVLCMarquee_enable_Stub(
+HRESULT STDMETHODCALLTYPE IVLCLogo_enable_Proxy(
+    IVLCLogo* This);
+void __RPC_STUB IVLCLogo_enable_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCMarquee_disable_Proxy(
-    IVLCMarquee* This);
-void __RPC_STUB IVLCMarquee_disable_Stub(
+HRESULT STDMETHODCALLTYPE IVLCLogo_disable_Proxy(
+    IVLCLogo* This);
+void __RPC_STUB IVLCLogo_disable_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCMarquee_text_Proxy(
-    IVLCMarquee* This,
-    BSTR text);
-void __RPC_STUB IVLCMarquee_text_Stub(
+HRESULT STDMETHODCALLTYPE IVLCLogo_file_Proxy(
+    IVLCLogo* This,
+    BSTR fname);
+void __RPC_STUB IVLCLogo_file_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCMarquee_color_Proxy(
-    IVLCMarquee* This,
-    long val);
-void __RPC_STUB IVLCMarquee_color_Stub(
+HRESULT STDMETHODCALLTYPE IVLCLogo_get_delay_Proxy(
+    IVLCLogo* This,
+    LONG *val);
+void __RPC_STUB IVLCLogo_get_delay_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCMarquee_opacity_Proxy(
-    IVLCMarquee* This,
-    long val);
-void __RPC_STUB IVLCMarquee_opacity_Stub(
+HRESULT STDMETHODCALLTYPE IVLCLogo_put_delay_Proxy(
+    IVLCLogo* This,
+    LONG val);
+void __RPC_STUB IVLCLogo_put_delay_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCMarquee_position_Proxy(
-    IVLCMarquee* This,
-    long val);
-void __RPC_STUB IVLCMarquee_position_Stub(
+HRESULT STDMETHODCALLTYPE IVLCLogo_get_repeat_Proxy(
+    IVLCLogo* This,
+    LONG *val);
+void __RPC_STUB IVLCLogo_get_repeat_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCMarquee_refresh_Proxy(
-    IVLCMarquee* This,
-    long val);
-void __RPC_STUB IVLCMarquee_refresh_Stub(
+HRESULT STDMETHODCALLTYPE IVLCLogo_put_repeat_Proxy(
+    IVLCLogo* This,
+    LONG val);
+void __RPC_STUB IVLCLogo_put_repeat_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCMarquee_size_Proxy(
-    IVLCMarquee* This,
-    long val);
-void __RPC_STUB IVLCMarquee_size_Stub(
+HRESULT STDMETHODCALLTYPE IVLCLogo_get_opacity_Proxy(
+    IVLCLogo* This,
+    LONG *val);
+void __RPC_STUB IVLCLogo_get_opacity_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCMarquee_timeout_Proxy(
-    IVLCMarquee* This,
-    long val);
-void __RPC_STUB IVLCMarquee_timeout_Stub(
+HRESULT STDMETHODCALLTYPE IVLCLogo_put_opacity_Proxy(
+    IVLCLogo* This,
+    LONG val);
+void __RPC_STUB IVLCLogo_put_opacity_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCMarquee_x_Proxy(
-    IVLCMarquee* This,
-    long val);
-void __RPC_STUB IVLCMarquee_x_Stub(
+HRESULT STDMETHODCALLTYPE IVLCLogo_get_position_Proxy(
+    IVLCLogo* This,
+    BSTR *val);
+void __RPC_STUB IVLCLogo_get_position_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCMarquee_y_Proxy(
-    IVLCMarquee* This,
-    long val);
-void __RPC_STUB IVLCMarquee_y_Stub(
+HRESULT STDMETHODCALLTYPE IVLCLogo_put_position_Proxy(
+    IVLCLogo* This,
+    BSTR val);
+void __RPC_STUB IVLCLogo_put_position_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCLogo_get_x_Proxy(
+    IVLCLogo* This,
+    LONG *val);
+void __RPC_STUB IVLCLogo_get_x_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCLogo_put_x_Proxy(
+    IVLCLogo* This,
+    LONG val);
+void __RPC_STUB IVLCLogo_put_x_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCLogo_get_y_Proxy(
+    IVLCLogo* This,
+    LONG *val);
+void __RPC_STUB IVLCLogo_get_y_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCLogo_put_y_Proxy(
+    IVLCLogo* This,
+    LONG val);
+void __RPC_STUB IVLCLogo_put_y_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
 
-#endif  /* __IVLCMarquee_INTERFACE_DEFINED__ */
+#endif  /* __IVLCLogo_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * IVLCDeinterlace interface
+ */
+#ifndef __IVLCDeinterlace_INTERFACE_DEFINED__
+#define __IVLCDeinterlace_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_IVLCDeinterlace, 0xbc97469f, 0xcb11, 0x4037, 0x8d,0xce, 0x5f,0xc9,0xf5,0xf8,0x53,0x07);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface IVLCDeinterlace : public IDispatch
+{
+    virtual HRESULT STDMETHODCALLTYPE enable(
+        BSTR mode) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE disable(
+        ) = 0;
+
+};
+#else
+typedef struct IVLCDeinterlaceVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        IVLCDeinterlace* This,
+        REFIID riid,
+        void **ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        IVLCDeinterlace* This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        IVLCDeinterlace* This);
+
+    /*** IDispatch methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
+        IVLCDeinterlace* This,
+        UINT *pctinfo);
+
+    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
+        IVLCDeinterlace* This,
+        UINT iTInfo,
+        LCID lcid,
+        ITypeInfo **ppTInfo);
+
+    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
+        IVLCDeinterlace* This,
+        REFIID riid,
+        LPOLESTR *rgszNames,
+        UINT cNames,
+        LCID lcid,
+        DISPID *rgDispId);
+
+    HRESULT (STDMETHODCALLTYPE *Invoke)(
+        IVLCDeinterlace* This,
+        DISPID dispIdMember,
+        REFIID riid,
+        LCID lcid,
+        WORD wFlags,
+        DISPPARAMS *pDispParams,
+        VARIANT *pVarResult,
+        EXCEPINFO *pExcepInfo,
+        UINT *puArgErr);
+
+    /*** IVLCDeinterlace methods ***/
+    HRESULT (STDMETHODCALLTYPE *enable)(
+        IVLCDeinterlace* This,
+        BSTR mode);
+
+    HRESULT (STDMETHODCALLTYPE *disable)(
+        IVLCDeinterlace* This);
+
+    END_INTERFACE
+} IVLCDeinterlaceVtbl;
+interface IVLCDeinterlace {
+    CONST_VTBL IVLCDeinterlaceVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define IVLCDeinterlace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IVLCDeinterlace_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IVLCDeinterlace_Release(This) (This)->lpVtbl->Release(This)
+/*** IDispatch methods ***/
+#define IVLCDeinterlace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
+#define IVLCDeinterlace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
+#define IVLCDeinterlace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
+#define IVLCDeinterlace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
+/*** IVLCDeinterlace methods ***/
+#define IVLCDeinterlace_enable(This,mode) (This)->lpVtbl->enable(This,mode)
+#define IVLCDeinterlace_disable(This) (This)->lpVtbl->disable(This)
+#endif
+
+#endif
+
+HRESULT STDMETHODCALLTYPE IVLCDeinterlace_enable_Proxy(
+    IVLCDeinterlace* This,
+    BSTR mode);
+void __RPC_STUB IVLCDeinterlace_enable_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCDeinterlace_disable_Proxy(
+    IVLCDeinterlace* This);
+void __RPC_STUB IVLCDeinterlace_disable_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+
+#endif  /* __IVLCDeinterlace_INTERFACE_DEFINED__ */
 
 /*****************************************************************************
  * IVLCVideo interface
@@ -2695,10 +2794,10 @@ interface IVLCVideo : public IDispatch
         VARIANT_BOOL fullscreen) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE get_width(
-        long *width) = 0;
+        LONG *width) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE get_height(
-        long *height) = 0;
+        LONG *height) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE get_aspectRatio(
         BSTR *aspect) = 0;
@@ -2707,10 +2806,10 @@ interface IVLCVideo : public IDispatch
         BSTR aspect) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE get_subtitle(
-        long *spu) = 0;
+        LONG *spu) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE put_subtitle(
-        long spu) = 0;
+        LONG spu) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE get_crop(
         BSTR *geometry) = 0;
@@ -2719,16 +2818,10 @@ interface IVLCVideo : public IDispatch
         BSTR geometry) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE get_teletext(
-        long *page) = 0;
+        LONG *page) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE put_teletext(
-        long page) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE deinterlaceEnable(
-        BSTR mode) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE deinterlaceDisable(
-        ) = 0;
+        LONG page) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE toggleFullscreen(
         ) = 0;
@@ -2742,6 +2835,12 @@ interface IVLCVideo : public IDispatch
     virtual HRESULT STDMETHODCALLTYPE get_marquee(
         IVLCMarquee **obj) = 0;
 
+    virtual HRESULT STDMETHODCALLTYPE get_logo(
+        IVLCLogo **obj) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_deinterlace(
+        IVLCDeinterlace **obj) = 0;
+
 };
 #else
 typedef struct IVLCVideoVtbl {
@@ -2800,11 +2899,11 @@ typedef struct IVLCVideoVtbl {
 
     HRESULT (STDMETHODCALLTYPE *get_width)(
         IVLCVideo* This,
-        long *width);
+        LONG *width);
 
     HRESULT (STDMETHODCALLTYPE *get_height)(
         IVLCVideo* This,
-        long *height);
+        LONG *height);
 
     HRESULT (STDMETHODCALLTYPE *get_aspectRatio)(
         IVLCVideo* This,
@@ -2816,11 +2915,11 @@ typedef struct IVLCVideoVtbl {
 
     HRESULT (STDMETHODCALLTYPE *get_subtitle)(
         IVLCVideo* This,
-        long *spu);
+        LONG *spu);
 
     HRESULT (STDMETHODCALLTYPE *put_subtitle)(
         IVLCVideo* This,
-        long spu);
+        LONG spu);
 
     HRESULT (STDMETHODCALLTYPE *get_crop)(
         IVLCVideo* This,
@@ -2832,18 +2931,11 @@ typedef struct IVLCVideoVtbl {
 
     HRESULT (STDMETHODCALLTYPE *get_teletext)(
         IVLCVideo* This,
-        long *page);
+        LONG *page);
 
     HRESULT (STDMETHODCALLTYPE *put_teletext)(
         IVLCVideo* This,
-        long page);
-
-    HRESULT (STDMETHODCALLTYPE *deinterlaceEnable)(
-        IVLCVideo* This,
-        BSTR mode);
-
-    HRESULT (STDMETHODCALLTYPE *deinterlaceDisable)(
-        IVLCVideo* This);
+        LONG page);
 
     HRESULT (STDMETHODCALLTYPE *toggleFullscreen)(
         IVLCVideo* This);
@@ -2859,6 +2951,14 @@ typedef struct IVLCVideoVtbl {
         IVLCVideo* This,
         IVLCMarquee **obj);
 
+    HRESULT (STDMETHODCALLTYPE *get_logo)(
+        IVLCVideo* This,
+        IVLCLogo **obj);
+
+    HRESULT (STDMETHODCALLTYPE *get_deinterlace)(
+        IVLCVideo* This,
+        IVLCDeinterlace **obj);
+
     END_INTERFACE
 } IVLCVideoVtbl;
 interface IVLCVideo {
@@ -2888,12 +2988,12 @@ interface IVLCVideo {
 #define IVLCVideo_put_crop(This,geometry) (This)->lpVtbl->put_crop(This,geometry)
 #define IVLCVideo_get_teletext(This,page) (This)->lpVtbl->get_teletext(This,page)
 #define IVLCVideo_put_teletext(This,page) (This)->lpVtbl->put_teletext(This,page)
-#define IVLCVideo_deinterlaceEnable(This,mode) (This)->lpVtbl->deinterlaceEnable(This,mode)
-#define IVLCVideo_deinterlaceDisable(This) (This)->lpVtbl->deinterlaceDisable(This)
 #define IVLCVideo_toggleFullscreen(This) (This)->lpVtbl->toggleFullscreen(This)
 #define IVLCVideo_takeSnapshot(This,picture) (This)->lpVtbl->takeSnapshot(This,picture)
 #define IVLCVideo_toggleTeletext(This) (This)->lpVtbl->toggleTeletext(This)
 #define IVLCVideo_get_marquee(This,obj) (This)->lpVtbl->get_marquee(This,obj)
+#define IVLCVideo_get_logo(This,obj) (This)->lpVtbl->get_logo(This,obj)
+#define IVLCVideo_get_deinterlace(This,obj) (This)->lpVtbl->get_deinterlace(This,obj)
 #endif
 
 #endif
@@ -2916,7 +3016,7 @@ void __RPC_STUB IVLCVideo_put_fullscreen_Stub(
     DWORD* pdwStubPhase);
 HRESULT STDMETHODCALLTYPE IVLCVideo_get_width_Proxy(
     IVLCVideo* This,
-    long *width);
+    LONG *width);
 void __RPC_STUB IVLCVideo_get_width_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -2924,7 +3024,7 @@ void __RPC_STUB IVLCVideo_get_width_Stub(
     DWORD* pdwStubPhase);
 HRESULT STDMETHODCALLTYPE IVLCVideo_get_height_Proxy(
     IVLCVideo* This,
-    long *height);
+    LONG *height);
 void __RPC_STUB IVLCVideo_get_height_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -2948,7 +3048,7 @@ void __RPC_STUB IVLCVideo_put_aspectRatio_Stub(
     DWORD* pdwStubPhase);
 HRESULT STDMETHODCALLTYPE IVLCVideo_get_subtitle_Proxy(
     IVLCVideo* This,
-    long *spu);
+    LONG *spu);
 void __RPC_STUB IVLCVideo_get_subtitle_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -2956,7 +3056,7 @@ void __RPC_STUB IVLCVideo_get_subtitle_Stub(
     DWORD* pdwStubPhase);
 HRESULT STDMETHODCALLTYPE IVLCVideo_put_subtitle_Proxy(
     IVLCVideo* This,
-    long spu);
+    LONG spu);
 void __RPC_STUB IVLCVideo_put_subtitle_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -2980,7 +3080,7 @@ void __RPC_STUB IVLCVideo_put_crop_Stub(
     DWORD* pdwStubPhase);
 HRESULT STDMETHODCALLTYPE IVLCVideo_get_teletext_Proxy(
     IVLCVideo* This,
-    long *page);
+    LONG *page);
 void __RPC_STUB IVLCVideo_get_teletext_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -2988,27 +3088,12 @@ void __RPC_STUB IVLCVideo_get_teletext_Stub(
     DWORD* pdwStubPhase);
 HRESULT STDMETHODCALLTYPE IVLCVideo_put_teletext_Proxy(
     IVLCVideo* This,
-    long page);
+    LONG page);
 void __RPC_STUB IVLCVideo_put_teletext_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCVideo_deinterlaceEnable_Proxy(
-    IVLCVideo* This,
-    BSTR mode);
-void __RPC_STUB IVLCVideo_deinterlaceEnable_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCVideo_deinterlaceDisable_Proxy(
-    IVLCVideo* This);
-void __RPC_STUB IVLCVideo_deinterlaceDisable_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
 HRESULT STDMETHODCALLTYPE IVLCVideo_toggleFullscreen_Proxy(
     IVLCVideo* This);
 void __RPC_STUB IVLCVideo_toggleFullscreen_Stub(
@@ -3039,6 +3124,22 @@ void __RPC_STUB IVLCVideo_get_marquee_Stub(
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCVideo_get_logo_Proxy(
+    IVLCVideo* This,
+    IVLCLogo **obj);
+void __RPC_STUB IVLCVideo_get_logo_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE IVLCVideo_get_deinterlace_Proxy(
+    IVLCVideo* This,
+    IVLCDeinterlace **obj);
+void __RPC_STUB IVLCVideo_get_deinterlace_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
 
 #endif  /* __IVLCVideo_INTERFACE_DEFINED__ */
 
@@ -3071,10 +3172,10 @@ interface IVLCControl2 : public IDispatch
         BSTR url) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE get_StartTime(
-        long *seconds) = 0;
+        LONG *seconds) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE put_StartTime(
-        long seconds) = 0;
+        LONG seconds) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE get_MRL(
         BSTR *mrl) = 0;
@@ -3092,10 +3193,10 @@ interface IVLCControl2 : public IDispatch
         VARIANT_BOOL visible) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE get_Volume(
-        long *volume) = 0;
+        LONG *volume) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE put_Volume(
-        long volume) = 0;
+        LONG volume) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE get_BackColor(
         OLE_COLOR *backcolor) = 0;
@@ -3115,9 +3216,6 @@ interface IVLCControl2 : public IDispatch
     virtual HRESULT STDMETHODCALLTYPE get_input(
         IVLCInput **obj) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE get_log(
-        IVLCLog **obj) = 0;
-
     virtual HRESULT STDMETHODCALLTYPE get_playlist(
         IVLCPlaylist **obj) = 0;
 
@@ -3201,11 +3299,11 @@ typedef struct IVLCControl2Vtbl {
 
     HRESULT (STDMETHODCALLTYPE *get_StartTime)(
         IVLCControl2* This,
-        long *seconds);
+        LONG *seconds);
 
     HRESULT (STDMETHODCALLTYPE *put_StartTime)(
         IVLCControl2* This,
-        long seconds);
+        LONG seconds);
 
     HRESULT (STDMETHODCALLTYPE *get_MRL)(
         IVLCControl2* This,
@@ -3229,11 +3327,11 @@ typedef struct IVLCControl2Vtbl {
 
     HRESULT (STDMETHODCALLTYPE *get_Volume)(
         IVLCControl2* This,
-        long *volume);
+        LONG *volume);
 
     HRESULT (STDMETHODCALLTYPE *put_Volume)(
         IVLCControl2* This,
-        long volume);
+        LONG volume);
 
     HRESULT (STDMETHODCALLTYPE *get_BackColor)(
         IVLCControl2* This,
@@ -3259,10 +3357,6 @@ typedef struct IVLCControl2Vtbl {
         IVLCControl2* This,
         IVLCInput **obj);
 
-    HRESULT (STDMETHODCALLTYPE *get_log)(
-        IVLCControl2* This,
-        IVLCLog **obj);
-
     HRESULT (STDMETHODCALLTYPE *get_playlist)(
         IVLCControl2* This,
         IVLCPlaylist **obj);
@@ -3313,7 +3407,6 @@ interface IVLCControl2 {
 #define IVLCControl2_put_Toolbar(This,visible) (This)->lpVtbl->put_Toolbar(This,visible)
 #define IVLCControl2_get_audio(This,obj) (This)->lpVtbl->get_audio(This,obj)
 #define IVLCControl2_get_input(This,obj) (This)->lpVtbl->get_input(This,obj)
-#define IVLCControl2_get_log(This,obj) (This)->lpVtbl->get_log(This,obj)
 #define IVLCControl2_get_playlist(This,obj) (This)->lpVtbl->get_playlist(This,obj)
 #define IVLCControl2_get_subtitle(This,obj) (This)->lpVtbl->get_subtitle(This,obj)
 #define IVLCControl2_get_video(This,obj) (This)->lpVtbl->get_video(This,obj)
@@ -3371,7 +3464,7 @@ void __RPC_STUB IVLCControl2_put_BaseURL_Stub(
     DWORD* pdwStubPhase);
 HRESULT STDMETHODCALLTYPE IVLCControl2_get_StartTime_Proxy(
     IVLCControl2* This,
-    long *seconds);
+    LONG *seconds);
 void __RPC_STUB IVLCControl2_get_StartTime_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -3379,7 +3472,7 @@ void __RPC_STUB IVLCControl2_get_StartTime_Stub(
     DWORD* pdwStubPhase);
 HRESULT STDMETHODCALLTYPE IVLCControl2_put_StartTime_Proxy(
     IVLCControl2* This,
-    long seconds);
+    LONG seconds);
 void __RPC_STUB IVLCControl2_put_StartTime_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -3427,7 +3520,7 @@ void __RPC_STUB IVLCControl2_put_Visible_Stub(
     DWORD* pdwStubPhase);
 HRESULT STDMETHODCALLTYPE IVLCControl2_get_Volume_Proxy(
     IVLCControl2* This,
-    long *volume);
+    LONG *volume);
 void __RPC_STUB IVLCControl2_get_Volume_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -3435,7 +3528,7 @@ void __RPC_STUB IVLCControl2_get_Volume_Stub(
     DWORD* pdwStubPhase);
 HRESULT STDMETHODCALLTYPE IVLCControl2_put_Volume_Proxy(
     IVLCControl2* This,
-    long volume);
+    LONG volume);
 void __RPC_STUB IVLCControl2_put_Volume_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -3489,14 +3582,6 @@ void __RPC_STUB IVLCControl2_get_input_Stub(
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IVLCControl2_get_log_Proxy(
-    IVLCControl2* This,
-    IVLCLog **obj);
-void __RPC_STUB IVLCControl2_get_log_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
 HRESULT STDMETHODCALLTYPE IVLCControl2_get_playlist_Proxy(
     IVLCControl2* This,
     IVLCPlaylist **obj);
@@ -3530,22 +3615,12 @@ void __RPC_STUB IVLCControl2_get_video_Stub(
 
 DEFINE_GUID(CLSID_VLCPlugin, 0xe23fe9c6, 0x778e, 0x49d4, 0xb5,0x37, 0x38,0xfc,0xde,0x48,0x87,0xd8);
 
-#ifndef __VLCPlugin_FWD_DEFINED__
-#define __VLCPlugin_FWD_DEFINED__
-typedef struct VLCPlugin VLCPlugin;
-#endif /* defined __VLCPlugin_FWD_DEFINED__ */
-
 /*****************************************************************************
  * VLCPlugin2 coclass
  */
 
 DEFINE_GUID(CLSID_VLCPlugin2, 0x9be31822, 0xfdad, 0x461b, 0xad,0x51, 0xbe,0x1d,0x1c,0x15,0x99,0x21);
 
-#ifndef __VLCPlugin2_FWD_DEFINED__
-#define __VLCPlugin2_FWD_DEFINED__
-typedef struct VLCPlugin2 VLCPlugin2;
-#endif /* defined __VLCPlugin2_FWD_DEFINED__ */
-
 /* Begin additional prototypes for all interfaces */
 
 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);