dispinterface DVLCEvents;\r
\r
enum VLCPlaylistMode {\r
- VLCPlayListInsert = 1,\r
- VLCPlayListReplace = 2,\r
- VLCPlayListAppend = 4,\r
- VLCPlayListGo = 8,\r
- VLCPlayListCheckInsert = 16\r
+ VLCPlayListInsert = 1,\r
+ VLCPlayListReplace = 2,\r
+ VLCPlayListAppend = 4,\r
+ VLCPlayListGo = 8,\r
+ VLCPlayListCheckInsert = 16\r
};\r
\r
// playlist target position\r
- const int VLCPlayListEnd = -666;\r
+ const int VLCPlayListEnd = -666;\r
+\r
+ // DISPID definitions\r
+ const int DISPID_Visible = 1;\r
+ const int DISPID_Playing = 2;\r
+ const int DISPID_Position = 3;\r
+ const int DISPID_Time = 4;\r
+ const int DISPID_Length = 5;\r
+ const int DISPID_Volume = 6;\r
+\r
+ const int DISPID_PlayEvent = 1;\r
+ const int DISPID_PauseEvent = 2;\r
+ const int DISPID_StopEvent = 3;\r
\r
[\r
odl,\r
oleautomation\r
]\r
interface IVLCControl : IDispatch {\r
- [id(0), bindable, defaultbind, propget, helpstring("Specifies current target in playlist")]\r
- HRESULT Value([out, retval] VARIANT* pvarValue);\r
- [id(0), bindable, defaultbind, propput, helpstring("Specifies current target in playlist")]\r
- HRESULT Value([in] VARIANT pvarValue);\r
- [propget, bindable, helpstring("Shows or hides plugin.")]\r
+\r
+ [id(DISPID_Visible), propget, bindable, helpstring("Shows or hides plugin.")]\r
HRESULT Visible([out, retval] VARIANT_BOOL* visible);\r
- [propput, bindable, helpstring("Shows or hides plugin.")]\r
+ [id(DISPID_Visible), propput, bindable, helpstring("Shows or hides plugin.")]\r
HRESULT Visible([in] VARIANT_BOOL visible);\r
[helpstring("Play current target in playlist.")]\r
HRESULT play();\r
HRESULT pause();\r
[helpstring("Stop playback.")]\r
HRESULT stop();\r
- [propget, helpstring("Specifies whether VLC is playing.")]\r
+ [id(DISPID_Playing), bindable, propget, helpstring("Specifies whether VLC is playing.")]\r
HRESULT Playing([out, retval] VARIANT_BOOL* isPlaying);\r
- [propput, helpstring("Specifies whether VLC is playing.")]\r
+ [id(DISPID_Playing), bindable, propput, helpstring("Specifies whether VLC is playing.")]\r
HRESULT Playing([in] VARIANT_BOOL isPlaying);\r
- [propget, helpstring("Specifies playback position within current target in playlist, position is a relative value ranging from 0.0 to 1.0.")]\r
+ [id(DISPID_Position), bindable, propget, helpstring("Specifies playback position within current target in playlist, position is a relative value ranging from 0.0 to 1.0.")]\r
HRESULT Position([out, retval] float* position);\r
- [propput, helpstring("Specifies playback position within current target in playlist, position is a relative value ranging from 0.0 to 1.0.")]\r
+ [id(DISPID_Position), bindable, propput, helpstring("Specifies playback position within current target in playlist, position is a relative value ranging from 0.0 to 1.0.")]\r
HRESULT Position([in] float position);\r
- [propget, helpstring("Specifies playback time relative to the start of current target in playlist.")]\r
+ [id(DISPID_Time), propget, helpstring("Specifies playback time relative to the start of current target in playlist.")]\r
HRESULT Time([out, retval] int* seconds);\r
- [propput, helpstring("Specifies playback time relative to the start of current target in playlist.")]\r
+ [id(DISPID_Time), propput, helpstring("Specifies playback time relative to the start of current target in playlist.")]\r
HRESULT Time([in] int seconds);\r
[helpstring("Advance or backtrack playback time, relative to current time.")]\r
HRESULT shuttle([in] int seconds);\r
[helpstring("Switch between normal and fullscreen video.")]\r
HRESULT fullscreen();\r
- [propget, helpstring("Returns total length in seconds of current target in playlist, may be unknown.")]\r
+ [id(DISPID_Length), bindable, propget, helpstring("Returns total length in seconds of current target in playlist, may be unknown.")]\r
HRESULT Length([out, retval] int* seconds);\r
[helpstring("Increases playback speed, one of 1x, 2x, 4x, 8x.")]\r
HRESULT playFaster();\r
[helpstring("Decreases playback speed, one of 1x, 2x, 4x, 8x.")]\r
HRESULT playSlower();\r
- [propget, helpstring("Specifies playback sound volume, ranges from 0 to 200%.")]\r
+ [id(DISPID_Volume), bindable, propget, helpstring("Specifies playback sound volume, ranges from 0 to 200%.")]\r
HRESULT Volume([out, retval] int* volume);\r
- [propput, helpstring("Specifies playback sound volume, ranges from 0 to 200%.")]\r
+ [id(DISPID_Volume), bindable, propput, helpstring("Specifies playback sound volume, ranges from 0 to 200%.")]\r
HRESULT Volume([in] int volume);\r
[helpstring("Mute/unmute playback sound volume.")]\r
HRESULT toggleMute();\r
+ [helpstring("Set a value to a VLC variable.")]\r
+ HRESULT setVariable([in] BSTR name, [in] VARIANT value);\r
+ [helpstring("Retrieve the value of a VLC variable.")]\r
+ HRESULT getVariable([in] BSTR name, [out, retval] VARIANT *value);\r
[helpstring("Add a target to the current playlist.")]\r
\r
/*\r
dispinterface DVLCEvents {\r
properties:\r
methods:\r
- [id(1), helpstring("Playback in progress")]\r
- void OnPlay();\r
- [id(2), helpstring("Playback has paused")]\r
- void OnPause();\r
- [id(3), helpstring("Playback has stopped")]\r
- void OnStop();\r
+ [id(DISPID_PlayEvent), helpstring("Playback in progress")]\r
+ void Play();\r
+ [id(DISPID_PauseEvent), helpstring("Playback has paused")]\r
+ void Pause();\r
+ [id(DISPID_StopEvent), helpstring("Playback has stopped")]\r
+ void Stop();\r
};\r
\r
[\r