interface IVLCAudio;\r
interface IVLCInput;\r
interface IVLCLogo;\r
+ interface IVLCDeinterlace;\r
interface IVLCMarquee;\r
interface IVLCPlaylist;\r
interface IVLCSubtitle;\r
const int DISPID_PauseEvent = 101;\r
const int DISPID_StopEvent = 102;\r
\r
+ /* async events from libvlc */\r
+ const int DISPID_MediaPlayerNothingSpecialEvent = 200;\r
+ const int DISPID_MediaPlayerOpeningEvent = 201;\r
+ const int DISPID_MediaPlayerBufferingEvent = 202;\r
+ const int DISPID_MediaPlayerPlayingEvent = 203;\r
+ const int DISPID_MediaPlayerPausedEvent = 204;\r
+ const int DISPID_MediaPlayerForwardEvent = 205;\r
+ const int DISPID_MediaPlayerBackwardEvent = 206;\r
+ const int DISPID_MediaPlayerEncounteredErrorEvent = 207;\r
+ const int DISPID_MediaPlayerEndReachedEvent = 208;\r
+ const int DISPID_MediaPlayerStoppedEvent = 209;\r
+\r
+ const int DISPID_MediaPlayerTimeChangedEvent = 210;\r
+ const int DISPID_MediaPlayerPositionChangedEvent = 211;\r
+ const int DISPID_MediaPlayerSeekableChangedEvent = 212;\r
+ const int DISPID_MediaPlayerPausableChangedEvent = 213;\r
+\r
[\r
uuid(DF48072F-5EF8-434e-9B40-E2F3AE759B5F),\r
helpstring("Event interface for VLC control"),\r
void pause();\r
[id(DISPID_StopEvent), helpstring("Stopped")]\r
void stop();\r
+\r
+ /* asyn events from libvlc */\r
+ [id(DISPID_MediaPlayerNothingSpecialEvent), helpstring("Idle state")]\r
+ void MediaPlayerNothingSpecial();\r
+ [id(DISPID_MediaPlayerOpeningEvent), helpstring("Opening media")]\r
+ void MediaPlayerOpening();\r
+ [id(DISPID_MediaPlayerBufferingEvent), helpstring("Buffering media")]\r
+ void MediaPlayerBuffering([in] long cache);\r
+ [id(DISPID_MediaPlayerPlayingEvent), helpstring("Media is playing")]\r
+ void MediaPlayerPlaying();\r
+ [id(DISPID_MediaPlayerPausedEvent), helpstring("Media is paused")]\r
+ void MediaPlayerPaused();\r
+ [id(DISPID_MediaPlayerForwardEvent), helpstring("Forward playback")]\r
+ void MediaPlayerForward();\r
+ [id(DISPID_MediaPlayerBackwardEvent), helpstring("Backward playback")]\r
+ void MediaPlayerBackward();\r
+ [id(DISPID_MediaPlayerEncounteredErrorEvent), helpstring("An error has been encountered")]\r
+ void MediaPlayerEncounteredError();\r
+ [id(DISPID_MediaPlayerEndReachedEvent), helpstring("End of playback reached")]\r
+ void MediaPlayerEndReached();\r
+ [id(DISPID_MediaPlayerStoppedEvent), helpstring("Playback stopped")]\r
+ void MediaPlayerStopped();\r
+\r
+ [id(DISPID_MediaPlayerTimeChangedEvent), helpstring("Time changed")]\r
+ void MediaPlayerTimeChanged([in] long time);\r
+ [id(DISPID_MediaPlayerPositionChangedEvent), helpstring("Position changed")]\r
+ void MediaPlayerPositionChanged([in] long position);\r
+ [id(DISPID_MediaPlayerSeekableChangedEvent), helpstring("Seek changed")]\r
+ void MediaPlayerSeekableChanged([in] VARIANT_BOOL seekable);\r
+ [id(DISPID_MediaPlayerPausableChangedEvent), helpstring("Pause setting changed")]\r
+ void MediaPlayerPausableChanged([in] VARIANT_BOOL pausable);\r
};\r
\r
[\r
[propput, helpstring("Picture y offset.")]\r
HRESULT y([in] long val);\r
\r
+ };\r
+ [\r
+ odl,\r
+ uuid(bc97469f-cb11-4037-8dce-5fc9f5f85307),\r
+ helpstring("VLC Deinterlace Filter"),\r
+ dual,\r
+ oleautomation\r
+ ]\r
+ interface IVLCDeinterlace : IDispatch\r
+ {\r
+ [helpstring("Enable deinterlace filter and set method.")]\r
+ HRESULT enable([in] BSTR mode);\r
+ [helpstring("Disable deinterlace filter.")]\r
+ HRESULT disable();\r
+\r
};\r
\r
[\r
[propput, helpstring("Sets teletext page to use.")]\r
HRESULT teletext([in] long page);\r
\r
- [helpstring("Enable deinterlace filter.")]\r
- HRESULT deinterlaceEnable([in] BSTR mode);\r
- [helpstring("Disable deinterlace filter.")]\r
- HRESULT deinterlaceDisable();\r
-\r
[helpstring("toggle fullscreen/windowed state.")]\r
HRESULT toggleFullscreen();\r
\r
\r
[propget, helpstring("Returns the logo object.")]\r
HRESULT logo([out, retval] IVLCLogo** obj);\r
+\r
+ [propget, helpstring("Returns the logo object.")]\r
+ HRESULT deinterlace([out, retval] IVLCDeinterlace** obj);\r
};\r
\r
[\r
{\r
[default] interface IVLCControl2;\r
interface IVLCControl;\r
+ [default, source] dispinterface DVLCEvents;\r
};\r
};\r