]> git.sesse.net Git - vlc/blobdiff - activex/axvlc_idl.h
Unbreak a bit windows
[vlc] / activex / axvlc_idl.h
index d83300ee0393534d1918c4c6eefe84d4eacf48ea..6b779a45dd60a6455808d0238d611b22da63e774 100644 (file)
@@ -26,6 +26,26 @@ typedef interface IVLCAudio IVLCAudio;
 typedef interface IVLCInput IVLCInput;
 #endif
 
+#ifndef __IVLCLog_FWD_DEFINED__
+#define __IVLCLog_FWD_DEFINED__
+typedef interface IVLCLog IVLCLog;
+#endif
+
+#ifndef __IVLCMessage_FWD_DEFINED__
+#define __IVLCMessage_FWD_DEFINED__
+typedef interface IVLCMessage IVLCMessage;
+#endif
+
+#ifndef __IVLCMessageIterator_FWD_DEFINED__
+#define __IVLCMessageIterator_FWD_DEFINED__
+typedef interface IVLCMessageIterator IVLCMessageIterator;
+#endif
+
+#ifndef __IVLCMessages_FWD_DEFINED__
+#define __IVLCMessages_FWD_DEFINED__
+typedef interface IVLCMessages IVLCMessages;
+#endif
+
 #ifndef __IVLCPlaylist_FWD_DEFINED__
 #define __IVLCPlaylist_FWD_DEFINED__
 typedef interface IVLCPlaylist IVLCPlaylist;
@@ -786,10 +806,10 @@ interface IVLCAudio : public IDispatch
         VARIANT_BOOL muted) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE get_volume(
-        int* volume) = 0;
+        long* volume) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE put_volume(
-        int volume) = 0;
+        long volume) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE toggleMute(
         ) = 0;
@@ -852,11 +872,11 @@ typedef struct IVLCAudioVtbl {
 
     HRESULT (STDMETHODCALLTYPE *get_volume)(
         IVLCAudio* This,
-        int* volume);
+        long* volume);
 
     HRESULT (STDMETHODCALLTYPE *put_volume)(
         IVLCAudio* This,
-        int volume);
+        long volume);
 
     HRESULT (STDMETHODCALLTYPE *toggleMute)(
         IVLCAudio* This);
@@ -905,7 +925,7 @@ void __RPC_STUB IVLCAudio_put_mute_Stub(
     DWORD* pdwStubPhase);
 HRESULT CALLBACK IVLCAudio_get_volume_Proxy(
     IVLCAudio* This,
-    int* volume);
+    long* volume);
 void __RPC_STUB IVLCAudio_get_volume_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -913,7 +933,7 @@ void __RPC_STUB IVLCAudio_get_volume_Stub(
     DWORD* pdwStubPhase);
 HRESULT CALLBACK IVLCAudio_put_volume_Proxy(
     IVLCAudio* This,
-    int volume);
+    long volume);
 void __RPC_STUB IVLCAudio_put_volume_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -940,31 +960,31 @@ DEFINE_GUID(IID_IVLCInput, 0x49e0dbd1, 0x9440, 0x466c, 0x9c,0x97, 0x95,0xc6,0x71
 interface IVLCInput : public IDispatch
 {
     virtual HRESULT STDMETHODCALLTYPE get_length(
-        __int64* length) = 0;
+        double* length) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE get_position(
-        float* position) = 0;
+        double* position) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE put_position(
-        float position) = 0;
+        double position) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE get_time(
-        __int64* time) = 0;
+        double* time) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE put_time(
-        __int64 time) = 0;
+        double time) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE get_state(
-        int* state) = 0;
+        long* state) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE get_rate(
-        float* rate) = 0;
+        double* rate) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE put_rate(
-        float rate) = 0;
+        double rate) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE get_fps(
-        float* fps) = 0;
+        double* fps) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE get_hasVout(
         VARIANT_BOOL* hasVout) = 0;
@@ -1019,39 +1039,39 @@ typedef struct IVLCInputVtbl {
     /*** IVLCInput methods ***/
     HRESULT (STDMETHODCALLTYPE *get_length)(
         IVLCInput* This,
-        __int64* length);
+        double* length);
 
     HRESULT (STDMETHODCALLTYPE *get_position)(
         IVLCInput* This,
-        float* position);
+        double* position);
 
     HRESULT (STDMETHODCALLTYPE *put_position)(
         IVLCInput* This,
-        float position);
+        double position);
 
     HRESULT (STDMETHODCALLTYPE *get_time)(
         IVLCInput* This,
-        __int64* time);
+        double* time);
 
     HRESULT (STDMETHODCALLTYPE *put_time)(
         IVLCInput* This,
-        __int64 time);
+        double time);
 
     HRESULT (STDMETHODCALLTYPE *get_state)(
         IVLCInput* This,
-        int* state);
+        long* state);
 
     HRESULT (STDMETHODCALLTYPE *get_rate)(
         IVLCInput* This,
-        float* rate);
+        double* rate);
 
     HRESULT (STDMETHODCALLTYPE *put_rate)(
         IVLCInput* This,
-        float rate);
+        double rate);
 
     HRESULT (STDMETHODCALLTYPE *get_fps)(
         IVLCInput* This,
-        float* fps);
+        double* fps);
 
     HRESULT (STDMETHODCALLTYPE *get_hasVout)(
         IVLCInput* This,
@@ -1090,7 +1110,7 @@ interface IVLCInput {
 
 HRESULT CALLBACK IVLCInput_get_length_Proxy(
     IVLCInput* This,
-    __int64* length);
+    double* length);
 void __RPC_STUB IVLCInput_get_length_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -1098,7 +1118,7 @@ void __RPC_STUB IVLCInput_get_length_Stub(
     DWORD* pdwStubPhase);
 HRESULT CALLBACK IVLCInput_get_position_Proxy(
     IVLCInput* This,
-    float* position);
+    double* position);
 void __RPC_STUB IVLCInput_get_position_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -1106,7 +1126,7 @@ void __RPC_STUB IVLCInput_get_position_Stub(
     DWORD* pdwStubPhase);
 HRESULT CALLBACK IVLCInput_put_position_Proxy(
     IVLCInput* This,
-    float position);
+    double position);
 void __RPC_STUB IVLCInput_put_position_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -1114,7 +1134,7 @@ void __RPC_STUB IVLCInput_put_position_Stub(
     DWORD* pdwStubPhase);
 HRESULT CALLBACK IVLCInput_get_time_Proxy(
     IVLCInput* This,
-    __int64* time);
+    double* time);
 void __RPC_STUB IVLCInput_get_time_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -1122,7 +1142,7 @@ void __RPC_STUB IVLCInput_get_time_Stub(
     DWORD* pdwStubPhase);
 HRESULT CALLBACK IVLCInput_put_time_Proxy(
     IVLCInput* This,
-    __int64 time);
+    double time);
 void __RPC_STUB IVLCInput_put_time_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -1130,7 +1150,7 @@ void __RPC_STUB IVLCInput_put_time_Stub(
     DWORD* pdwStubPhase);
 HRESULT CALLBACK IVLCInput_get_state_Proxy(
     IVLCInput* This,
-    int* state);
+    long* state);
 void __RPC_STUB IVLCInput_get_state_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -1138,7 +1158,7 @@ void __RPC_STUB IVLCInput_get_state_Stub(
     DWORD* pdwStubPhase);
 HRESULT CALLBACK IVLCInput_get_rate_Proxy(
     IVLCInput* This,
-    float* rate);
+    double* rate);
 void __RPC_STUB IVLCInput_get_rate_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -1146,7 +1166,7 @@ void __RPC_STUB IVLCInput_get_rate_Stub(
     DWORD* pdwStubPhase);
 HRESULT CALLBACK IVLCInput_put_rate_Proxy(
     IVLCInput* This,
-    float rate);
+    double rate);
 void __RPC_STUB IVLCInput_put_rate_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -1154,7 +1174,7 @@ void __RPC_STUB IVLCInput_put_rate_Stub(
     DWORD* pdwStubPhase);
 HRESULT CALLBACK IVLCInput_get_fps_Proxy(
     IVLCInput* This,
-    float* fps);
+    double* fps);
 void __RPC_STUB IVLCInput_get_fps_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
@@ -1172,81 +1192,63 @@ void __RPC_STUB IVLCInput_get_hasVout_Stub(
 #endif  /* __IVLCInput_INTERFACE_DEFINED__ */
 
 /*****************************************************************************
- * IVLCPlaylist interface
+ * IVLCMessage interface
  */
-#ifndef __IVLCPlaylist_INTERFACE_DEFINED__
-#define __IVLCPlaylist_INTERFACE_DEFINED__
+#ifndef __IVLCMessage_INTERFACE_DEFINED__
+#define __IVLCMessage_INTERFACE_DEFINED__
 
-DEFINE_GUID(IID_IVLCPlaylist, 0x54613049, 0x40bf, 0x4035, 0x9e,0x70, 0x0a,0x93,0x12,0xc0,0x18,0x8d);
+DEFINE_GUID(IID_IVLCMessage, 0x9ed00afa, 0x7bcd, 0x4fff, 0x8d,0x48, 0x7d,0xd4,0xdb,0x2c,0x80,0x0d);
 #if defined(__cplusplus) && !defined(CINTERFACE)
-interface IVLCPlaylist : public IDispatch
+interface IVLCMessage : public IDispatch
 {
-    virtual HRESULT STDMETHODCALLTYPE get_itemCount(
-        int* count) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE get_isPlaying(
-        VARIANT_BOOL* playing) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE add(
-        BSTR uri,
-        VARIANT name,
-        VARIANT options,
-        int* item) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE play(
-        ) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE playItem(
-        int item) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE togglePause(
-        ) = 0;
+    virtual HRESULT STDMETHODCALLTYPE get__Value(
+        VARIANT* message) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE stop(
-        ) = 0;
+    virtual HRESULT STDMETHODCALLTYPE get_severity(
+        long* level) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE next(
-        ) = 0;
+    virtual HRESULT STDMETHODCALLTYPE get_type(
+        BSTR* type) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE prev(
-        ) = 0;
+    virtual HRESULT STDMETHODCALLTYPE get_name(
+        BSTR* name) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE clear(
-        ) = 0;
+    virtual HRESULT STDMETHODCALLTYPE get_header(
+        BSTR* header) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE removeItem(
-        int item) = 0;
+    virtual HRESULT STDMETHODCALLTYPE get_message(
+        BSTR* message) = 0;
 
 };
 #else
-typedef struct IVLCPlaylistVtbl {
+typedef struct IVLCMessageVtbl {
     BEGIN_INTERFACE
 
     /*** IUnknown methods ***/
     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IVLCPlaylist* This,
+        IVLCMessage* This,
         REFIID riid,
         void** ppvObject);
 
     ULONG (STDMETHODCALLTYPE *AddRef)(
-        IVLCPlaylist* This);
+        IVLCMessage* This);
 
     ULONG (STDMETHODCALLTYPE *Release)(
-        IVLCPlaylist* This);
+        IVLCMessage* This);
 
     /*** IDispatch methods ***/
     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
-        IVLCPlaylist* This,
+        IVLCMessage* This,
         UINT* pctinfo);
 
     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
-        IVLCPlaylist* This,
+        IVLCMessage* This,
         UINT iTInfo,
         LCID lcid,
         ITypeInfo** ppTInfo);
 
     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
-        IVLCPlaylist* This,
+        IVLCMessage* This,
         REFIID riid,
         LPOLESTR* rgszNames,
         UINT cNames,
@@ -1254,7 +1256,7 @@ typedef struct IVLCPlaylistVtbl {
         DISPID* rgDispId);
 
     HRESULT (STDMETHODCALLTYPE *Invoke)(
-        IVLCPlaylist* This,
+        IVLCMessage* This,
         DISPID dispIdMember,
         REFIID riid,
         LCID lcid,
@@ -1264,220 +1266,155 @@ typedef struct IVLCPlaylistVtbl {
         EXCEPINFO* pExcepInfo,
         UINT* puArgErr);
 
-    /*** IVLCPlaylist methods ***/
-    HRESULT (STDMETHODCALLTYPE *get_itemCount)(
-        IVLCPlaylist* This,
-        int* count);
-
-    HRESULT (STDMETHODCALLTYPE *get_isPlaying)(
-        IVLCPlaylist* This,
-        VARIANT_BOOL* playing);
-
-    HRESULT (STDMETHODCALLTYPE *add)(
-        IVLCPlaylist* This,
-        BSTR uri,
-        VARIANT name,
-        VARIANT options,
-        int* item);
-
-    HRESULT (STDMETHODCALLTYPE *play)(
-        IVLCPlaylist* This);
-
-    HRESULT (STDMETHODCALLTYPE *playItem)(
-        IVLCPlaylist* This,
-        int item);
-
-    HRESULT (STDMETHODCALLTYPE *togglePause)(
-        IVLCPlaylist* This);
+    /*** IVLCMessage methods ***/
+    HRESULT (STDMETHODCALLTYPE *get__Value)(
+        IVLCMessage* This,
+        VARIANT* message);
 
-    HRESULT (STDMETHODCALLTYPE *stop)(
-        IVLCPlaylist* This);
+    HRESULT (STDMETHODCALLTYPE *get_severity)(
+        IVLCMessage* This,
+        long* level);
 
-    HRESULT (STDMETHODCALLTYPE *next)(
-        IVLCPlaylist* This);
+    HRESULT (STDMETHODCALLTYPE *get_type)(
+        IVLCMessage* This,
+        BSTR* type);
 
-    HRESULT (STDMETHODCALLTYPE *prev)(
-        IVLCPlaylist* This);
+    HRESULT (STDMETHODCALLTYPE *get_name)(
+        IVLCMessage* This,
+        BSTR* name);
 
-    HRESULT (STDMETHODCALLTYPE *clear)(
-        IVLCPlaylist* This);
+    HRESULT (STDMETHODCALLTYPE *get_header)(
+        IVLCMessage* This,
+        BSTR* header);
 
-    HRESULT (STDMETHODCALLTYPE *removeItem)(
-        IVLCPlaylist* This,
-        int item);
+    HRESULT (STDMETHODCALLTYPE *get_message)(
+        IVLCMessage* This,
+        BSTR* message);
 
     END_INTERFACE
-} IVLCPlaylistVtbl;
-interface IVLCPlaylist {
-    const IVLCPlaylistVtbl* lpVtbl;
+} IVLCMessageVtbl;
+interface IVLCMessage {
+    const IVLCMessageVtbl* lpVtbl;
 };
 
 #ifdef COBJMACROS
 /*** IUnknown methods ***/
-#define IVLCPlaylist_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IVLCPlaylist_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IVLCPlaylist_Release(p) (p)->lpVtbl->Release(p)
+#define IVLCMessage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IVLCMessage_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IVLCMessage_Release(p) (p)->lpVtbl->Release(p)
 /*** IDispatch methods ***/
-#define IVLCPlaylist_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
-#define IVLCPlaylist_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
-#define IVLCPlaylist_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
-#define IVLCPlaylist_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
-/*** IVLCPlaylist methods ***/
-#define IVLCPlaylist_get_itemCount(p,a) (p)->lpVtbl->get_itemCount(p,a)
-#define IVLCPlaylist_get_isPlaying(p,a) (p)->lpVtbl->get_isPlaying(p,a)
-#define IVLCPlaylist_add(p,a,b,c,d) (p)->lpVtbl->add(p,a,b,c,d)
-#define IVLCPlaylist_play(p) (p)->lpVtbl->play(p)
-#define IVLCPlaylist_playItem(p,a) (p)->lpVtbl->playItem(p,a)
-#define IVLCPlaylist_togglePause(p) (p)->lpVtbl->togglePause(p)
-#define IVLCPlaylist_stop(p) (p)->lpVtbl->stop(p)
-#define IVLCPlaylist_next(p) (p)->lpVtbl->next(p)
-#define IVLCPlaylist_prev(p) (p)->lpVtbl->prev(p)
-#define IVLCPlaylist_clear(p) (p)->lpVtbl->clear(p)
-#define IVLCPlaylist_removeItem(p,a) (p)->lpVtbl->removeItem(p,a)
+#define IVLCMessage_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
+#define IVLCMessage_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
+#define IVLCMessage_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
+#define IVLCMessage_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
+/*** IVLCMessage methods ***/
+#define IVLCMessage_get__Value(p,a) (p)->lpVtbl->get__Value(p,a)
+#define IVLCMessage_get_severity(p,a) (p)->lpVtbl->get_severity(p,a)
+#define IVLCMessage_get_type(p,a) (p)->lpVtbl->get_type(p,a)
+#define IVLCMessage_get_name(p,a) (p)->lpVtbl->get_name(p,a)
+#define IVLCMessage_get_header(p,a) (p)->lpVtbl->get_header(p,a)
+#define IVLCMessage_get_message(p,a) (p)->lpVtbl->get_message(p,a)
 #endif
 
 #endif
 
-HRESULT CALLBACK IVLCPlaylist_get_itemCount_Proxy(
-    IVLCPlaylist* This,
-    int* count);
-void __RPC_STUB IVLCPlaylist_get_itemCount_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCPlaylist_get_isPlaying_Proxy(
-    IVLCPlaylist* This,
-    VARIANT_BOOL* playing);
-void __RPC_STUB IVLCPlaylist_get_isPlaying_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCPlaylist_add_Proxy(
-    IVLCPlaylist* This,
-    BSTR uri,
-    VARIANT name,
-    VARIANT options,
-    int* item);
-void __RPC_STUB IVLCPlaylist_add_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCPlaylist_play_Proxy(
-    IVLCPlaylist* This);
-void __RPC_STUB IVLCPlaylist_play_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCPlaylist_playItem_Proxy(
-    IVLCPlaylist* This,
-    int item);
-void __RPC_STUB IVLCPlaylist_playItem_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCPlaylist_togglePause_Proxy(
-    IVLCPlaylist* This);
-void __RPC_STUB IVLCPlaylist_togglePause_Stub(
+HRESULT CALLBACK 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 CALLBACK IVLCPlaylist_stop_Proxy(
-    IVLCPlaylist* This);
-void __RPC_STUB IVLCPlaylist_stop_Stub(
+HRESULT CALLBACK 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 CALLBACK IVLCPlaylist_next_Proxy(
-    IVLCPlaylist* This);
-void __RPC_STUB IVLCPlaylist_next_Stub(
+HRESULT CALLBACK 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 CALLBACK IVLCPlaylist_prev_Proxy(
-    IVLCPlaylist* This);
-void __RPC_STUB IVLCPlaylist_prev_Stub(
+HRESULT CALLBACK IVLCMessage_get_name_Proxy(
+    IVLCMessage* This,
+    BSTR* name);
+void __RPC_STUB IVLCMessage_get_name_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCPlaylist_clear_Proxy(
-    IVLCPlaylist* This);
-void __RPC_STUB IVLCPlaylist_clear_Stub(
+HRESULT CALLBACK IVLCMessage_get_header_Proxy(
+    IVLCMessage* This,
+    BSTR* header);
+void __RPC_STUB IVLCMessage_get_header_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCPlaylist_removeItem_Proxy(
-    IVLCPlaylist* This,
-    int item);
-void __RPC_STUB IVLCPlaylist_removeItem_Stub(
+HRESULT CALLBACK IVLCMessage_get_message_Proxy(
+    IVLCMessage* This,
+    BSTR* message);
+void __RPC_STUB IVLCMessage_get_message_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
 
-#endif  /* __IVLCPlaylist_INTERFACE_DEFINED__ */
+#endif  /* __IVLCMessage_INTERFACE_DEFINED__ */
 
 /*****************************************************************************
- * IVLCVideo interface
+ * IVLCMessageIterator interface
  */
-#ifndef __IVLCVideo_INTERFACE_DEFINED__
-#define __IVLCVideo_INTERFACE_DEFINED__
+#ifndef __IVLCMessageIterator_INTERFACE_DEFINED__
+#define __IVLCMessageIterator_INTERFACE_DEFINED__
 
-DEFINE_GUID(IID_IVLCVideo, 0x0aaedf0b, 0xd333, 0x4b27, 0xa0,0xc6, 0xbb,0xf3,0x14,0x13,0xa4,0x2e);
+DEFINE_GUID(IID_IVLCMessageIterator, 0x15179cd8, 0xcc12, 0x4242, 0xa5,0x8e, 0xe4,0x12,0x21,0x7f,0xf3,0x43);
 #if defined(__cplusplus) && !defined(CINTERFACE)
-interface IVLCVideo : public IDispatch
+interface IVLCMessageIterator : public IDispatch
 {
-    virtual HRESULT STDMETHODCALLTYPE get_fullscreen(
-        VARIANT_BOOL* fullscreen) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE put_fullscreen(
-        VARIANT_BOOL fullscreen) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE get_width(
-        int* width) = 0;
+    virtual HRESULT STDMETHODCALLTYPE get_hasNext(
+        VARIANT_BOOL* hasNext) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE get_height(
-        int* height) = 0;
+    virtual HRESULT STDMETHODCALLTYPE next(
+        IVLCMessage** msg) = 0;
 
 };
 #else
-typedef struct IVLCVideoVtbl {
+typedef struct IVLCMessageIteratorVtbl {
     BEGIN_INTERFACE
 
     /*** IUnknown methods ***/
     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IVLCVideo* This,
+        IVLCMessageIterator* This,
         REFIID riid,
         void** ppvObject);
 
     ULONG (STDMETHODCALLTYPE *AddRef)(
-        IVLCVideo* This);
+        IVLCMessageIterator* This);
 
     ULONG (STDMETHODCALLTYPE *Release)(
-        IVLCVideo* This);
+        IVLCMessageIterator* This);
 
     /*** IDispatch methods ***/
     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
-        IVLCVideo* This,
+        IVLCMessageIterator* This,
         UINT* pctinfo);
 
     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
-        IVLCVideo* This,
+        IVLCMessageIterator* This,
         UINT iTInfo,
         LCID lcid,
         ITypeInfo** ppTInfo);
 
     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
-        IVLCVideo* This,
+        IVLCMessageIterator* This,
         REFIID riid,
         LPOLESTR* rgszNames,
         UINT cNames,
@@ -1485,7 +1422,7 @@ typedef struct IVLCVideoVtbl {
         DISPID* rgDispId);
 
     HRESULT (STDMETHODCALLTYPE *Invoke)(
-        IVLCVideo* This,
+        IVLCMessageIterator* This,
         DISPID dispIdMember,
         REFIID riid,
         LCID lcid,
@@ -1495,173 +1432,250 @@ typedef struct IVLCVideoVtbl {
         EXCEPINFO* pExcepInfo,
         UINT* puArgErr);
 
-    /*** IVLCVideo methods ***/
-    HRESULT (STDMETHODCALLTYPE *get_fullscreen)(
-        IVLCVideo* This,
-        VARIANT_BOOL* fullscreen);
-
-    HRESULT (STDMETHODCALLTYPE *put_fullscreen)(
-        IVLCVideo* This,
-        VARIANT_BOOL fullscreen);
-
-    HRESULT (STDMETHODCALLTYPE *get_width)(
-        IVLCVideo* This,
-        int* width);
+    /*** IVLCMessageIterator methods ***/
+    HRESULT (STDMETHODCALLTYPE *get_hasNext)(
+        IVLCMessageIterator* This,
+        VARIANT_BOOL* hasNext);
 
-    HRESULT (STDMETHODCALLTYPE *get_height)(
-        IVLCVideo* This,
-        int* height);
+    HRESULT (STDMETHODCALLTYPE *next)(
+        IVLCMessageIterator* This,
+        IVLCMessage** msg);
 
     END_INTERFACE
-} IVLCVideoVtbl;
-interface IVLCVideo {
-    const IVLCVideoVtbl* lpVtbl;
+} IVLCMessageIteratorVtbl;
+interface IVLCMessageIterator {
+    const IVLCMessageIteratorVtbl* lpVtbl;
 };
 
 #ifdef COBJMACROS
 /*** IUnknown methods ***/
-#define IVLCVideo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IVLCVideo_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IVLCVideo_Release(p) (p)->lpVtbl->Release(p)
+#define IVLCMessageIterator_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IVLCMessageIterator_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IVLCMessageIterator_Release(p) (p)->lpVtbl->Release(p)
 /*** IDispatch methods ***/
-#define IVLCVideo_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
-#define IVLCVideo_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
-#define IVLCVideo_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
-#define IVLCVideo_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
-/*** IVLCVideo methods ***/
-#define IVLCVideo_get_fullscreen(p,a) (p)->lpVtbl->get_fullscreen(p,a)
-#define IVLCVideo_put_fullscreen(p,a) (p)->lpVtbl->put_fullscreen(p,a)
-#define IVLCVideo_get_width(p,a) (p)->lpVtbl->get_width(p,a)
-#define IVLCVideo_get_height(p,a) (p)->lpVtbl->get_height(p,a)
+#define IVLCMessageIterator_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
+#define IVLCMessageIterator_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
+#define IVLCMessageIterator_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
+#define IVLCMessageIterator_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
+/*** IVLCMessageIterator methods ***/
+#define IVLCMessageIterator_get_hasNext(p,a) (p)->lpVtbl->get_hasNext(p,a)
+#define IVLCMessageIterator_next(p,a) (p)->lpVtbl->next(p,a)
 #endif
 
 #endif
 
-HRESULT CALLBACK IVLCVideo_get_fullscreen_Proxy(
-    IVLCVideo* This,
-    VARIANT_BOOL* fullscreen);
-void __RPC_STUB IVLCVideo_get_fullscreen_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCVideo_put_fullscreen_Proxy(
-    IVLCVideo* This,
-    VARIANT_BOOL fullscreen);
-void __RPC_STUB IVLCVideo_put_fullscreen_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCVideo_get_width_Proxy(
-    IVLCVideo* This,
-    int* width);
-void __RPC_STUB IVLCVideo_get_width_Stub(
+HRESULT CALLBACK 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 CALLBACK IVLCVideo_get_height_Proxy(
-    IVLCVideo* This,
-    int* height);
-void __RPC_STUB IVLCVideo_get_height_Stub(
+HRESULT CALLBACK IVLCMessageIterator_next_Proxy(
+    IVLCMessageIterator* This,
+    IVLCMessage** msg);
+void __RPC_STUB IVLCMessageIterator_next_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
 
-#endif  /* __IVLCVideo_INTERFACE_DEFINED__ */
-
-#ifndef __IVLCConfiguration_FWD_DEFINED__
-#define __IVLCConfiguration_FWD_DEFINED__
-typedef interface IVLCConfiguration IVLCConfiguration;
-#endif
+#endif  /* __IVLCMessageIterator_INTERFACE_DEFINED__ */
 
 /*****************************************************************************
- * IVLCConfiguration interface
+ * IVLCMessages interface
  */
-#ifndef __IVLCConfiguration_INTERFACE_DEFINED__
-#define __IVLCConfiguration_INTERFACE_DEFINED__
+#ifndef __IVLCMessages_INTERFACE_DEFINED__
+#define __IVLCMessages_INTERFACE_DEFINED__
 
-DEFINE_GUID(IID_IVLCConfiguration, 0x15179cd8, 0xcc12, 0x4242, 0xa5,0x8e, 0xe4,0x12,0x21,0x7f,0xf3,0x43);
+DEFINE_GUID(IID_IVLCMessages, 0x6c5ce55d, 0x2d6c, 0x4aad, 0x82,0x99, 0xc6,0x2d,0x23,0x71,0xf1,0x06);
 #if defined(__cplusplus) && !defined(CINTERFACE)
-interface IVLCConfiguration : public IDispatch
+interface IVLCMessages : public IDispatch
 {
-    virtual HRESULT STDMETHODCALLTYPE get_AutoLoop(
-        VARIANT_BOOL* autoloop) = 0;
+    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
+        IUnknown** _NewEnum) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE put_AutoLoop(
-        VARIANT_BOOL autoloop) = 0;
+    virtual HRESULT STDMETHODCALLTYPE clear(
+        ) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE get_AutoPlay(
-        VARIANT_BOOL* autoplay) = 0;
+    virtual HRESULT STDMETHODCALLTYPE get_count(
+        long* count) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE put_AutoPlay(
-        VARIANT_BOOL autoplay) = 0;
+    virtual HRESULT STDMETHODCALLTYPE iterator(
+        IVLCMessageIterator** iter) = 0;
 
-    virtual HRESULT STDMETHODCALLTYPE get_BaseURL(
-        BSTR* url) = 0;
+};
+#else
+typedef struct IVLCMessagesVtbl {
+    BEGIN_INTERFACE
 
-    virtual HRESULT STDMETHODCALLTYPE put_BaseURL(
-        BSTR url) = 0;
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        IVLCMessages* This,
+        REFIID riid,
+        void** ppvObject);
 
-    virtual HRESULT STDMETHODCALLTYPE get_StartTime(
-        int* seconds) = 0;
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        IVLCMessages* This);
 
-    virtual HRESULT STDMETHODCALLTYPE put_StartTime(
-        int seconds) = 0;
+    ULONG (STDMETHODCALLTYPE *Release)(
+        IVLCMessages* This);
 
-    virtual HRESULT STDMETHODCALLTYPE get_MRL(
-        BSTR* mrl) = 0;
+    /*** IDispatch methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
+        IVLCMessages* This,
+        UINT* pctinfo);
 
-    virtual HRESULT STDMETHODCALLTYPE put_MRL(
-        BSTR mrl) = 0;
+    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
+        IVLCMessages* This,
+        UINT iTInfo,
+        LCID lcid,
+        ITypeInfo** ppTInfo);
 
-    virtual HRESULT STDMETHODCALLTYPE get_VersionInfo(
-        BSTR* version) = 0;
+    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
+        IVLCMessages* This,
+        REFIID riid,
+        LPOLESTR* rgszNames,
+        UINT cNames,
+        LCID lcid,
+        DISPID* rgDispId);
 
-    virtual HRESULT STDMETHODCALLTYPE get_Visible(
-        VARIANT_BOOL* visible) = 0;
+    HRESULT (STDMETHODCALLTYPE *Invoke)(
+        IVLCMessages* This,
+        DISPID dispIdMember,
+        REFIID riid,
+        LCID lcid,
+        WORD wFlags,
+        DISPPARAMS* pDispParams,
+        VARIANT* pVarResult,
+        EXCEPINFO* pExcepInfo,
+        UINT* puArgErr);
 
-    virtual HRESULT STDMETHODCALLTYPE put_Visible(
-        VARIANT_BOOL visible) = 0;
+    /*** IVLCMessages methods ***/
+    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
+        IVLCMessages* This,
+        IUnknown** _NewEnum);
 
-    virtual HRESULT STDMETHODCALLTYPE get_Volume(
-        int* volume) = 0;
+    HRESULT (STDMETHODCALLTYPE *clear)(
+        IVLCMessages* This);
 
-    virtual HRESULT STDMETHODCALLTYPE put_Volume(
-        int volume) = 0;
+    HRESULT (STDMETHODCALLTYPE *get_count)(
+        IVLCMessages* This,
+        long* count);
+
+    HRESULT (STDMETHODCALLTYPE *iterator)(
+        IVLCMessages* This,
+        IVLCMessageIterator** iter);
+
+    END_INTERFACE
+} IVLCMessagesVtbl;
+interface IVLCMessages {
+    const IVLCMessagesVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define IVLCMessages_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IVLCMessages_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IVLCMessages_Release(p) (p)->lpVtbl->Release(p)
+/*** IDispatch methods ***/
+#define IVLCMessages_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
+#define IVLCMessages_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
+#define IVLCMessages_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
+#define IVLCMessages_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
+/*** IVLCMessages methods ***/
+#define IVLCMessages_get__NewEnum(p,a) (p)->lpVtbl->get__NewEnum(p,a)
+#define IVLCMessages_clear(p) (p)->lpVtbl->clear(p)
+#define IVLCMessages_get_count(p,a) (p)->lpVtbl->get_count(p,a)
+#define IVLCMessages_iterator(p,a) (p)->lpVtbl->iterator(p,a)
+#endif
+
+#endif
+
+HRESULT CALLBACK 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 CALLBACK IVLCMessages_clear_Proxy(
+    IVLCMessages* This);
+void __RPC_STUB IVLCMessages_clear_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT CALLBACK 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 CALLBACK 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 IVLCConfigurationVtbl {
+typedef struct IVLCLogVtbl {
     BEGIN_INTERFACE
 
     /*** IUnknown methods ***/
     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IVLCConfiguration* This,
+        IVLCLog* This,
         REFIID riid,
         void** ppvObject);
 
     ULONG (STDMETHODCALLTYPE *AddRef)(
-        IVLCConfiguration* This);
+        IVLCLog* This);
 
     ULONG (STDMETHODCALLTYPE *Release)(
-        IVLCConfiguration* This);
+        IVLCLog* This);
 
     /*** IDispatch methods ***/
     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
-        IVLCConfiguration* This,
+        IVLCLog* This,
         UINT* pctinfo);
 
     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
-        IVLCConfiguration* This,
+        IVLCLog* This,
         UINT iTInfo,
         LCID lcid,
         ITypeInfo** ppTInfo);
 
     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
-        IVLCConfiguration* This,
+        IVLCLog* This,
         REFIID riid,
         LPOLESTR* rgszNames,
         UINT cNames,
@@ -1669,7 +1683,7 @@ typedef struct IVLCConfigurationVtbl {
         DISPID* rgDispId);
 
     HRESULT (STDMETHODCALLTYPE *Invoke)(
-        IVLCConfiguration* This,
+        IVLCLog* This,
         DISPID dispIdMember,
         REFIID riid,
         LCID lcid,
@@ -1679,225 +1693,516 @@ typedef struct IVLCConfigurationVtbl {
         EXCEPINFO* pExcepInfo,
         UINT* puArgErr);
 
-    /*** IVLCConfiguration methods ***/
-    HRESULT (STDMETHODCALLTYPE *get_AutoLoop)(
-        IVLCConfiguration* This,
-        VARIANT_BOOL* autoloop);
+    /*** IVLCLog methods ***/
+    HRESULT (STDMETHODCALLTYPE *get_messages)(
+        IVLCLog* This,
+        IVLCMessages** iter);
 
-    HRESULT (STDMETHODCALLTYPE *put_AutoLoop)(
-        IVLCConfiguration* This,
-        VARIANT_BOOL autoloop);
+    HRESULT (STDMETHODCALLTYPE *get_verbosity)(
+        IVLCLog* This,
+        long* level);
 
-    HRESULT (STDMETHODCALLTYPE *get_AutoPlay)(
-        IVLCConfiguration* This,
-        VARIANT_BOOL* autoplay);
+    HRESULT (STDMETHODCALLTYPE *put_verbosity)(
+        IVLCLog* This,
+        long level);
 
-    HRESULT (STDMETHODCALLTYPE *put_AutoPlay)(
-        IVLCConfiguration* This,
-        VARIANT_BOOL autoplay);
+    END_INTERFACE
+} IVLCLogVtbl;
+interface IVLCLog {
+    const IVLCLogVtbl* lpVtbl;
+};
 
-    HRESULT (STDMETHODCALLTYPE *get_BaseURL)(
-        IVLCConfiguration* This,
-        BSTR* url);
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define IVLCLog_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IVLCLog_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IVLCLog_Release(p) (p)->lpVtbl->Release(p)
+/*** IDispatch methods ***/
+#define IVLCLog_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
+#define IVLCLog_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
+#define IVLCLog_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
+#define IVLCLog_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
+/*** IVLCLog methods ***/
+#define IVLCLog_get_messages(p,a) (p)->lpVtbl->get_messages(p,a)
+#define IVLCLog_get_verbosity(p,a) (p)->lpVtbl->get_verbosity(p,a)
+#define IVLCLog_put_verbosity(p,a) (p)->lpVtbl->put_verbosity(p,a)
+#endif
 
-    HRESULT (STDMETHODCALLTYPE *put_BaseURL)(
-        IVLCConfiguration* This,
-        BSTR url);
+#endif
 
-    HRESULT (STDMETHODCALLTYPE *get_StartTime)(
-        IVLCConfiguration* This,
-        int* seconds);
+HRESULT CALLBACK 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 CALLBACK 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 CALLBACK IVLCLog_put_verbosity_Proxy(
+    IVLCLog* This,
+    long level);
+void __RPC_STUB IVLCLog_put_verbosity_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
 
-    HRESULT (STDMETHODCALLTYPE *put_StartTime)(
-        IVLCConfiguration* This,
-        int seconds);
+#endif  /* __IVLCLog_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* item) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE play(
+        ) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE playItem(
+        long item) = 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;
+
+};
+#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* item);
+
+    HRESULT (STDMETHODCALLTYPE *play)(
+        IVLCPlaylist* This);
+
+    HRESULT (STDMETHODCALLTYPE *playItem)(
+        IVLCPlaylist* This,
+        long item);
+
+    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);
+
+    END_INTERFACE
+} IVLCPlaylistVtbl;
+interface IVLCPlaylist {
+    const IVLCPlaylistVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define IVLCPlaylist_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IVLCPlaylist_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IVLCPlaylist_Release(p) (p)->lpVtbl->Release(p)
+/*** IDispatch methods ***/
+#define IVLCPlaylist_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
+#define IVLCPlaylist_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
+#define IVLCPlaylist_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
+#define IVLCPlaylist_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
+/*** IVLCPlaylist methods ***/
+#define IVLCPlaylist_get_itemCount(p,a) (p)->lpVtbl->get_itemCount(p,a)
+#define IVLCPlaylist_get_isPlaying(p,a) (p)->lpVtbl->get_isPlaying(p,a)
+#define IVLCPlaylist_add(p,a,b,c,d) (p)->lpVtbl->add(p,a,b,c,d)
+#define IVLCPlaylist_play(p) (p)->lpVtbl->play(p)
+#define IVLCPlaylist_playItem(p,a) (p)->lpVtbl->playItem(p,a)
+#define IVLCPlaylist_togglePause(p) (p)->lpVtbl->togglePause(p)
+#define IVLCPlaylist_stop(p) (p)->lpVtbl->stop(p)
+#define IVLCPlaylist_next(p) (p)->lpVtbl->next(p)
+#define IVLCPlaylist_prev(p) (p)->lpVtbl->prev(p)
+#define IVLCPlaylist_clear(p) (p)->lpVtbl->clear(p)
+#define IVLCPlaylist_removeItem(p,a) (p)->lpVtbl->removeItem(p,a)
+#endif
+
+#endif
+
+HRESULT CALLBACK IVLCPlaylist_get_itemCount_Proxy(
+    IVLCPlaylist* This,
+    long* count);
+void __RPC_STUB IVLCPlaylist_get_itemCount_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT CALLBACK IVLCPlaylist_get_isPlaying_Proxy(
+    IVLCPlaylist* This,
+    VARIANT_BOOL* playing);
+void __RPC_STUB IVLCPlaylist_get_isPlaying_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT CALLBACK IVLCPlaylist_add_Proxy(
+    IVLCPlaylist* This,
+    BSTR uri,
+    VARIANT name,
+    VARIANT options,
+    long* item);
+void __RPC_STUB IVLCPlaylist_add_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT CALLBACK IVLCPlaylist_play_Proxy(
+    IVLCPlaylist* This);
+void __RPC_STUB IVLCPlaylist_play_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT CALLBACK IVLCPlaylist_playItem_Proxy(
+    IVLCPlaylist* This,
+    long item);
+void __RPC_STUB IVLCPlaylist_playItem_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT CALLBACK IVLCPlaylist_togglePause_Proxy(
+    IVLCPlaylist* This);
+void __RPC_STUB IVLCPlaylist_togglePause_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT CALLBACK IVLCPlaylist_stop_Proxy(
+    IVLCPlaylist* This);
+void __RPC_STUB IVLCPlaylist_stop_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT CALLBACK IVLCPlaylist_next_Proxy(
+    IVLCPlaylist* This);
+void __RPC_STUB IVLCPlaylist_next_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT CALLBACK IVLCPlaylist_prev_Proxy(
+    IVLCPlaylist* This);
+void __RPC_STUB IVLCPlaylist_prev_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT CALLBACK IVLCPlaylist_clear_Proxy(
+    IVLCPlaylist* This);
+void __RPC_STUB IVLCPlaylist_clear_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT CALLBACK IVLCPlaylist_removeItem_Proxy(
+    IVLCPlaylist* This,
+    long item);
+void __RPC_STUB IVLCPlaylist_removeItem_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+
+#endif  /* __IVLCPlaylist_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * IVLCVideo interface
+ */
+#ifndef __IVLCVideo_INTERFACE_DEFINED__
+#define __IVLCVideo_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_IVLCVideo, 0x0aaedf0b, 0xd333, 0x4b27, 0xa0,0xc6, 0xbb,0xf3,0x14,0x13,0xa4,0x2e);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+interface IVLCVideo : public IDispatch
+{
+    virtual HRESULT STDMETHODCALLTYPE get_fullscreen(
+        VARIANT_BOOL* fullscreen) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_fullscreen(
+        VARIANT_BOOL fullscreen) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_width(
+        long* width) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_height(
+        long* height) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_aspectRatio(
+        BSTR aspect) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_aspectRatio(
+        BSTR aspect) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE toggleFullscreen(
+        ) = 0;
+
+};
+#else
+typedef struct IVLCVideoVtbl {
+    BEGIN_INTERFACE
+
+    /*** IUnknown methods ***/
+    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+        IVLCVideo* This,
+        REFIID riid,
+        void** ppvObject);
+
+    ULONG (STDMETHODCALLTYPE *AddRef)(
+        IVLCVideo* This);
+
+    ULONG (STDMETHODCALLTYPE *Release)(
+        IVLCVideo* This);
+
+    /*** IDispatch methods ***/
+    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
+        IVLCVideo* This,
+        UINT* pctinfo);
+
+    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
+        IVLCVideo* This,
+        UINT iTInfo,
+        LCID lcid,
+        ITypeInfo** ppTInfo);
+
+    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
+        IVLCVideo* This,
+        REFIID riid,
+        LPOLESTR* rgszNames,
+        UINT cNames,
+        LCID lcid,
+        DISPID* rgDispId);
+
+    HRESULT (STDMETHODCALLTYPE *Invoke)(
+        IVLCVideo* This,
+        DISPID dispIdMember,
+        REFIID riid,
+        LCID lcid,
+        WORD wFlags,
+        DISPPARAMS* pDispParams,
+        VARIANT* pVarResult,
+        EXCEPINFO* pExcepInfo,
+        UINT* puArgErr);
 
-    HRESULT (STDMETHODCALLTYPE *get_MRL)(
-        IVLCConfiguration* This,
-        BSTR* mrl);
+    /*** IVLCVideo methods ***/
+    HRESULT (STDMETHODCALLTYPE *get_fullscreen)(
+        IVLCVideo* This,
+        VARIANT_BOOL* fullscreen);
 
-    HRESULT (STDMETHODCALLTYPE *put_MRL)(
-        IVLCConfiguration* This,
-        BSTR mrl);
+    HRESULT (STDMETHODCALLTYPE *put_fullscreen)(
+        IVLCVideo* This,
+        VARIANT_BOOL fullscreen);
 
-    HRESULT (STDMETHODCALLTYPE *get_VersionInfo)(
-        IVLCConfiguration* This,
-        BSTR* version);
+    HRESULT (STDMETHODCALLTYPE *get_width)(
+        IVLCVideo* This,
+        long* width);
 
-    HRESULT (STDMETHODCALLTYPE *get_Visible)(
-        IVLCConfiguration* This,
-        VARIANT_BOOL* visible);
+    HRESULT (STDMETHODCALLTYPE *get_height)(
+        IVLCVideo* This,
+        long* height);
 
-    HRESULT (STDMETHODCALLTYPE *put_Visible)(
-        IVLCConfiguration* This,
-        VARIANT_BOOL visible);
+    HRESULT (STDMETHODCALLTYPE *get_aspectRatio)(
+        IVLCVideo* This,
+        BSTR aspect);
 
-    HRESULT (STDMETHODCALLTYPE *get_Volume)(
-        IVLCConfiguration* This,
-        int* volume);
+    HRESULT (STDMETHODCALLTYPE *put_aspectRatio)(
+        IVLCVideo* This,
+        BSTR aspect);
 
-    HRESULT (STDMETHODCALLTYPE *put_Volume)(
-        IVLCConfiguration* This,
-        int volume);
+    HRESULT (STDMETHODCALLTYPE *toggleFullscreen)(
+        IVLCVideo* This);
 
     END_INTERFACE
-} IVLCConfigurationVtbl;
-interface IVLCConfiguration {
-    const IVLCConfigurationVtbl* lpVtbl;
+} IVLCVideoVtbl;
+interface IVLCVideo {
+    const IVLCVideoVtbl* lpVtbl;
 };
 
 #ifdef COBJMACROS
 /*** IUnknown methods ***/
-#define IVLCConfiguration_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IVLCConfiguration_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IVLCConfiguration_Release(p) (p)->lpVtbl->Release(p)
+#define IVLCVideo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IVLCVideo_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IVLCVideo_Release(p) (p)->lpVtbl->Release(p)
 /*** IDispatch methods ***/
-#define IVLCConfiguration_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
-#define IVLCConfiguration_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
-#define IVLCConfiguration_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
-#define IVLCConfiguration_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
-/*** IVLCConfiguration methods ***/
-#define IVLCConfiguration_get_AutoLoop(p,a) (p)->lpVtbl->get_AutoLoop(p,a)
-#define IVLCConfiguration_put_AutoLoop(p,a) (p)->lpVtbl->put_AutoLoop(p,a)
-#define IVLCConfiguration_get_AutoPlay(p,a) (p)->lpVtbl->get_AutoPlay(p,a)
-#define IVLCConfiguration_put_AutoPlay(p,a) (p)->lpVtbl->put_AutoPlay(p,a)
-#define IVLCConfiguration_get_BaseURL(p,a) (p)->lpVtbl->get_BaseURL(p,a)
-#define IVLCConfiguration_put_BaseURL(p,a) (p)->lpVtbl->put_BaseURL(p,a)
-#define IVLCConfiguration_get_StartTime(p,a) (p)->lpVtbl->get_StartTime(p,a)
-#define IVLCConfiguration_put_StartTime(p,a) (p)->lpVtbl->put_StartTime(p,a)
-#define IVLCConfiguration_get_MRL(p,a) (p)->lpVtbl->get_MRL(p,a)
-#define IVLCConfiguration_put_MRL(p,a) (p)->lpVtbl->put_MRL(p,a)
-#define IVLCConfiguration_get_VersionInfo(p,a) (p)->lpVtbl->get_VersionInfo(p,a)
-#define IVLCConfiguration_get_Visible(p,a) (p)->lpVtbl->get_Visible(p,a)
-#define IVLCConfiguration_put_Visible(p,a) (p)->lpVtbl->put_Visible(p,a)
-#define IVLCConfiguration_get_Volume(p,a) (p)->lpVtbl->get_Volume(p,a)
-#define IVLCConfiguration_put_Volume(p,a) (p)->lpVtbl->put_Volume(p,a)
+#define IVLCVideo_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
+#define IVLCVideo_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
+#define IVLCVideo_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
+#define IVLCVideo_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
+/*** IVLCVideo methods ***/
+#define IVLCVideo_get_fullscreen(p,a) (p)->lpVtbl->get_fullscreen(p,a)
+#define IVLCVideo_put_fullscreen(p,a) (p)->lpVtbl->put_fullscreen(p,a)
+#define IVLCVideo_get_width(p,a) (p)->lpVtbl->get_width(p,a)
+#define IVLCVideo_get_height(p,a) (p)->lpVtbl->get_height(p,a)
+#define IVLCVideo_get_aspectRatio(p,a) (p)->lpVtbl->get_aspectRatio(p,a)
+#define IVLCVideo_put_aspectRatio(p,a) (p)->lpVtbl->put_aspectRatio(p,a)
+#define IVLCVideo_toggleFullscreen(p) (p)->lpVtbl->toggleFullscreen(p)
 #endif
 
 #endif
 
-HRESULT CALLBACK IVLCConfiguration_get_AutoLoop_Proxy(
-    IVLCConfiguration* This,
-    VARIANT_BOOL* autoloop);
-void __RPC_STUB IVLCConfiguration_get_AutoLoop_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCConfiguration_put_AutoLoop_Proxy(
-    IVLCConfiguration* This,
-    VARIANT_BOOL autoloop);
-void __RPC_STUB IVLCConfiguration_put_AutoLoop_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCConfiguration_get_AutoPlay_Proxy(
-    IVLCConfiguration* This,
-    VARIANT_BOOL* autoplay);
-void __RPC_STUB IVLCConfiguration_get_AutoPlay_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCConfiguration_put_AutoPlay_Proxy(
-    IVLCConfiguration* This,
-    VARIANT_BOOL autoplay);
-void __RPC_STUB IVLCConfiguration_put_AutoPlay_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCConfiguration_get_BaseURL_Proxy(
-    IVLCConfiguration* This,
-    BSTR* url);
-void __RPC_STUB IVLCConfiguration_get_BaseURL_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCConfiguration_put_BaseURL_Proxy(
-    IVLCConfiguration* This,
-    BSTR url);
-void __RPC_STUB IVLCConfiguration_put_BaseURL_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCConfiguration_get_StartTime_Proxy(
-    IVLCConfiguration* This,
-    int* seconds);
-void __RPC_STUB IVLCConfiguration_get_StartTime_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCConfiguration_put_StartTime_Proxy(
-    IVLCConfiguration* This,
-    int seconds);
-void __RPC_STUB IVLCConfiguration_put_StartTime_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCConfiguration_get_MRL_Proxy(
-    IVLCConfiguration* This,
-    BSTR* mrl);
-void __RPC_STUB IVLCConfiguration_get_MRL_Stub(
+HRESULT CALLBACK IVLCVideo_get_fullscreen_Proxy(
+    IVLCVideo* This,
+    VARIANT_BOOL* fullscreen);
+void __RPC_STUB IVLCVideo_get_fullscreen_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCConfiguration_put_MRL_Proxy(
-    IVLCConfiguration* This,
-    BSTR mrl);
-void __RPC_STUB IVLCConfiguration_put_MRL_Stub(
+HRESULT CALLBACK IVLCVideo_put_fullscreen_Proxy(
+    IVLCVideo* This,
+    VARIANT_BOOL fullscreen);
+void __RPC_STUB IVLCVideo_put_fullscreen_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCConfiguration_get_VersionInfo_Proxy(
-    IVLCConfiguration* This,
-    BSTR* version);
-void __RPC_STUB IVLCConfiguration_get_VersionInfo_Stub(
+HRESULT CALLBACK IVLCVideo_get_width_Proxy(
+    IVLCVideo* This,
+    long* width);
+void __RPC_STUB IVLCVideo_get_width_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCConfiguration_get_Visible_Proxy(
-    IVLCConfiguration* This,
-    VARIANT_BOOL* visible);
-void __RPC_STUB IVLCConfiguration_get_Visible_Stub(
+HRESULT CALLBACK IVLCVideo_get_height_Proxy(
+    IVLCVideo* This,
+    long* height);
+void __RPC_STUB IVLCVideo_get_height_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCConfiguration_put_Visible_Proxy(
-    IVLCConfiguration* This,
-    VARIANT_BOOL visible);
-void __RPC_STUB IVLCConfiguration_put_Visible_Stub(
+HRESULT CALLBACK IVLCVideo_get_aspectRatio_Proxy(
+    IVLCVideo* This,
+    BSTR aspect);
+void __RPC_STUB IVLCVideo_get_aspectRatio_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCConfiguration_get_Volume_Proxy(
-    IVLCConfiguration* This,
-    int* volume);
-void __RPC_STUB IVLCConfiguration_get_Volume_Stub(
+HRESULT CALLBACK IVLCVideo_put_aspectRatio_Proxy(
+    IVLCVideo* This,
+    BSTR aspect);
+void __RPC_STUB IVLCVideo_put_aspectRatio_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
-HRESULT CALLBACK IVLCConfiguration_put_Volume_Proxy(
-    IVLCConfiguration* This,
-    int volume);
-void __RPC_STUB IVLCConfiguration_put_Volume_Stub(
+HRESULT CALLBACK IVLCVideo_toggleFullscreen_Proxy(
+    IVLCVideo* This);
+void __RPC_STUB IVLCVideo_toggleFullscreen_Stub(
     IRpcStubBuffer* This,
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
 
-#endif  /* __IVLCConfiguration_INTERFACE_DEFINED__ */
+#endif  /* __IVLCVideo_INTERFACE_DEFINED__ */
 
 /*****************************************************************************
  * IVLCControl2 interface
@@ -1907,14 +2212,62 @@ void __RPC_STUB IVLCConfiguration_put_Volume_Stub(
 
 DEFINE_GUID(IID_IVLCControl2, 0x2d719729, 0x5333, 0x406c, 0xbf,0x12, 0x8d,0xe7,0x87,0xfd,0x65,0xe3);
 #if defined(__cplusplus) && !defined(CINTERFACE)
-interface IVLCControl2 : public IVLCConfiguration
+interface IVLCControl2 : public IDispatch
 {
+    virtual HRESULT STDMETHODCALLTYPE get_AutoLoop(
+        VARIANT_BOOL* autoloop) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_AutoLoop(
+        VARIANT_BOOL autoloop) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_AutoPlay(
+        VARIANT_BOOL* autoplay) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_AutoPlay(
+        VARIANT_BOOL autoplay) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_BaseURL(
+        BSTR* url) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_BaseURL(
+        BSTR url) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_StartTime(
+        long* seconds) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_StartTime(
+        long seconds) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_MRL(
+        BSTR* mrl) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_MRL(
+        BSTR mrl) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_VersionInfo(
+        BSTR* version) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_Visible(
+        VARIANT_BOOL* visible) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_Visible(
+        VARIANT_BOOL visible) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE get_Volume(
+        long* volume) = 0;
+
+    virtual HRESULT STDMETHODCALLTYPE put_Volume(
+        long volume) = 0;
+
     virtual HRESULT STDMETHODCALLTYPE get_audio(
         IVLCAudio** obj) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE get_input(
         IVLCInput** obj) = 0;
 
+    virtual HRESULT STDMETHODCALLTYPE get_log(
+        IVLCLog** obj) = 0;
+
     virtual HRESULT STDMETHODCALLTYPE get_playlist(
         IVLCPlaylist** obj) = 0;
 
@@ -1968,7 +2321,7 @@ typedef struct IVLCControl2Vtbl {
         EXCEPINFO* pExcepInfo,
         UINT* puArgErr);
 
-    /*** IVLCConfiguration methods ***/
+    /*** IVLCControl2 methods ***/
     HRESULT (STDMETHODCALLTYPE *get_AutoLoop)(
         IVLCControl2* This,
         VARIANT_BOOL* autoloop);
@@ -1995,11 +2348,11 @@ typedef struct IVLCControl2Vtbl {
 
     HRESULT (STDMETHODCALLTYPE *get_StartTime)(
         IVLCControl2* This,
-        int* seconds);
+        long* seconds);
 
     HRESULT (STDMETHODCALLTYPE *put_StartTime)(
         IVLCControl2* This,
-        int seconds);
+        long seconds);
 
     HRESULT (STDMETHODCALLTYPE *get_MRL)(
         IVLCControl2* This,
@@ -2023,13 +2376,12 @@ typedef struct IVLCControl2Vtbl {
 
     HRESULT (STDMETHODCALLTYPE *get_Volume)(
         IVLCControl2* This,
-        int* volume);
+        long* volume);
 
     HRESULT (STDMETHODCALLTYPE *put_Volume)(
         IVLCControl2* This,
-        int volume);
+        long volume);
 
-    /*** IVLCControl2 methods ***/
     HRESULT (STDMETHODCALLTYPE *get_audio)(
         IVLCControl2* This,
         IVLCAudio** obj);
@@ -2038,6 +2390,10 @@ typedef struct IVLCControl2Vtbl {
         IVLCControl2* This,
         IVLCInput** obj);
 
+    HRESULT (STDMETHODCALLTYPE *get_log)(
+        IVLCControl2* This,
+        IVLCLog** obj);
+
     HRESULT (STDMETHODCALLTYPE *get_playlist)(
         IVLCControl2* This,
         IVLCPlaylist** obj);
@@ -2062,7 +2418,7 @@ interface IVLCControl2 {
 #define IVLCControl2_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
 #define IVLCControl2_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
 #define IVLCControl2_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
-/*** IVLCConfiguration methods ***/
+/*** IVLCControl2 methods ***/
 #define IVLCControl2_get_AutoLoop(p,a) (p)->lpVtbl->get_AutoLoop(p,a)
 #define IVLCControl2_put_AutoLoop(p,a) (p)->lpVtbl->put_AutoLoop(p,a)
 #define IVLCControl2_get_AutoPlay(p,a) (p)->lpVtbl->get_AutoPlay(p,a)
@@ -2078,15 +2434,135 @@ interface IVLCControl2 {
 #define IVLCControl2_put_Visible(p,a) (p)->lpVtbl->put_Visible(p,a)
 #define IVLCControl2_get_Volume(p,a) (p)->lpVtbl->get_Volume(p,a)
 #define IVLCControl2_put_Volume(p,a) (p)->lpVtbl->put_Volume(p,a)
-/*** IVLCControl2 methods ***/
 #define IVLCControl2_get_audio(p,a) (p)->lpVtbl->get_audio(p,a)
 #define IVLCControl2_get_input(p,a) (p)->lpVtbl->get_input(p,a)
+#define IVLCControl2_get_log(p,a) (p)->lpVtbl->get_log(p,a)
 #define IVLCControl2_get_playlist(p,a) (p)->lpVtbl->get_playlist(p,a)
 #define IVLCControl2_get_video(p,a) (p)->lpVtbl->get_video(p,a)
 #endif
 
 #endif
 
+HRESULT CALLBACK IVLCControl2_get_AutoLoop_Proxy(
+    IVLCControl2* This,
+    VARIANT_BOOL* autoloop);
+void __RPC_STUB IVLCControl2_get_AutoLoop_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT CALLBACK IVLCControl2_put_AutoLoop_Proxy(
+    IVLCControl2* This,
+    VARIANT_BOOL autoloop);
+void __RPC_STUB IVLCControl2_put_AutoLoop_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT CALLBACK IVLCControl2_get_AutoPlay_Proxy(
+    IVLCControl2* This,
+    VARIANT_BOOL* autoplay);
+void __RPC_STUB IVLCControl2_get_AutoPlay_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT CALLBACK IVLCControl2_put_AutoPlay_Proxy(
+    IVLCControl2* This,
+    VARIANT_BOOL autoplay);
+void __RPC_STUB IVLCControl2_put_AutoPlay_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT CALLBACK IVLCControl2_get_BaseURL_Proxy(
+    IVLCControl2* This,
+    BSTR* url);
+void __RPC_STUB IVLCControl2_get_BaseURL_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT CALLBACK IVLCControl2_put_BaseURL_Proxy(
+    IVLCControl2* This,
+    BSTR url);
+void __RPC_STUB IVLCControl2_put_BaseURL_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT CALLBACK IVLCControl2_get_StartTime_Proxy(
+    IVLCControl2* This,
+    long* seconds);
+void __RPC_STUB IVLCControl2_get_StartTime_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT CALLBACK IVLCControl2_put_StartTime_Proxy(
+    IVLCControl2* This,
+    long seconds);
+void __RPC_STUB IVLCControl2_put_StartTime_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT CALLBACK IVLCControl2_get_MRL_Proxy(
+    IVLCControl2* This,
+    BSTR* mrl);
+void __RPC_STUB IVLCControl2_get_MRL_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT CALLBACK IVLCControl2_put_MRL_Proxy(
+    IVLCControl2* This,
+    BSTR mrl);
+void __RPC_STUB IVLCControl2_put_MRL_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT CALLBACK IVLCControl2_get_VersionInfo_Proxy(
+    IVLCControl2* This,
+    BSTR* version);
+void __RPC_STUB IVLCControl2_get_VersionInfo_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT CALLBACK IVLCControl2_get_Visible_Proxy(
+    IVLCControl2* This,
+    VARIANT_BOOL* visible);
+void __RPC_STUB IVLCControl2_get_Visible_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT CALLBACK IVLCControl2_put_Visible_Proxy(
+    IVLCControl2* This,
+    VARIANT_BOOL visible);
+void __RPC_STUB IVLCControl2_put_Visible_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT CALLBACK IVLCControl2_get_Volume_Proxy(
+    IVLCControl2* This,
+    long* volume);
+void __RPC_STUB IVLCControl2_get_Volume_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
+HRESULT CALLBACK IVLCControl2_put_Volume_Proxy(
+    IVLCControl2* This,
+    long volume);
+void __RPC_STUB IVLCControl2_put_Volume_Stub(
+    IRpcStubBuffer* This,
+    IRpcChannelBuffer* pRpcChannelBuffer,
+    PRPC_MESSAGE pRpcMessage,
+    DWORD* pdwStubPhase);
 HRESULT CALLBACK IVLCControl2_get_audio_Proxy(
     IVLCControl2* This,
     IVLCAudio** obj);
@@ -2103,6 +2579,14 @@ void __RPC_STUB IVLCControl2_get_input_Stub(
     IRpcChannelBuffer* pRpcChannelBuffer,
     PRPC_MESSAGE pRpcMessage,
     DWORD* pdwStubPhase);
+HRESULT CALLBACK 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 CALLBACK IVLCControl2_get_playlist_Proxy(
     IVLCControl2* This,
     IVLCPlaylist** obj);