1 /*****************************************************************************
\r
2 * axvlc.idl: ActiveX control for VLC
\r
3 *****************************************************************************
\r
4 * Copyright (C) 2006 the VideoLAN team
\r
5 * Copyright (C) 2010 M2X BV
\r
7 * Authors: Damien Fouilleul <Damien.Fouilleul@laposte.net>
\r
8 * Jean-Paul Saman <jpsaman _at_ m2x _dot_ nl>
\r
10 * This program is free software; you can redistribute it and/or modify
\r
11 * it under the terms of the GNU General Public License as published by
\r
12 * the Free Software Foundation; either version 2 of the License, or
\r
13 * (at your option) any later version.
\r
15 * This program is distributed in the hope that it will be useful,
\r
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
\r
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
\r
18 * GNU General Public License for more details.
\r
20 * You should have received a copy of the GNU General Public License
\r
21 * along with this program; if not, write to the Free Software
\r
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
\r
23 *****************************************************************************/
\r
25 // comments terminated by [t] are by tonsofpcs, regarding the string
\r
26 // review. April 02, 2006. [t]
\r
27 // Possibly change all instances of "the current playlist" to "the
\r
28 // playlist" and "current playlist" to "the playlist" [t]
\r
33 uuid(DF2BBE39-40A8-433b-A279-073F48DA94B6),
\r
35 helpstring("VideoLAN VLC ActiveX Plugin")
\r
39 // Forward declare all types defined in this typelib
\r
40 interface IVLCControl;
\r
41 interface IVLCAudio;
\r
42 interface IVLCInput;
\r
44 interface IVLCDeinterlace;
\r
45 interface IVLCMarquee;
\r
46 interface IVLCPlaylist;
\r
47 interface IVLCSubtitle;
\r
48 interface IVLCVideo;
\r
49 interface IVLCControl2;
\r
50 dispinterface DVLCEvents;
\r
52 importlib("stdole2.tlb");
\r
54 typedef [public] enum VLCPlaylistMode
\r
56 VLCPlayListInsert = 1,
\r
57 VLCPlayListInsertAndGo = 9,
\r
58 VLCPlayListReplace = 2,
\r
59 VLCPlayListReplaceAndGo = 10,
\r
60 VLCPlayListAppend = 4,
\r
61 VLCPlayListAppendAndGo = 12,
\r
62 VLCPlayListCheckInsert = 16
\r
65 // playlist target position
\r
66 const int VLCPlayListEnd = -666;
\r
68 // DISPID definitions
\r
69 const int DISPID_BackColor = -501;
\r
71 const int DISPID_Visible = 100;
\r
72 const int DISPID_Playing = 101;
\r
73 const int DISPID_Position = 102;
\r
74 const int DISPID_Time = 103;
\r
75 const int DISPID_Length = 104;
\r
76 const int DISPID_Volume = 105;
\r
77 const int DISPID_MRL = 106;
\r
78 const int DISPID_AutoPlay = 107;
\r
79 const int DISPID_AutoLoop = 108;
\r
80 const int DISPID_StartTime = 109;
\r
81 const int DISPID_BaseURL = 110;
\r
82 const int DISPID_Toolbar = 111;
\r
86 uuid(C2FA41D0-B113-476e-AC8C-9BD14999C1C1),
\r
87 helpstring("VLC Control (deprecated)"),
\r
91 interface IVLCControl : IDispatch
\r
93 [id(DISPID_Visible), propget, bindable, helpstring("Returns/sets a value that determines whether viewing area is visible or hidden.")]
\r
94 HRESULT Visible([out, retval] VARIANT_BOOL* visible);
\r
95 [id(DISPID_Visible), propput, bindable, helpstring("Returns/sets a value that determines whether viewing area is visible or hidden.")]
\r
96 HRESULT Visible([in] VARIANT_BOOL visible);
\r
97 [helpstring("Play current target in playlist.")]
\r
99 [helpstring("Pause playback.")]
\r
101 [helpstring("Stop playback.")]
\r
103 [id(DISPID_Playing), hidden, propget, helpstring("Returns a value that determines whether VLC is currently playing.")]
\r
104 HRESULT Playing([out, retval] VARIANT_BOOL* isPlaying);
\r
105 [id(DISPID_Position), propget, helpstring("Returns/sets playback position within the current item. Position is a relative value ranging from 0.0 to 1.0.")]
\r
106 HRESULT Position([out, retval] float* position);
\r
107 [id(DISPID_Position), propput, helpstring("Returns/sets playback position within the current item. Position is a relative value ranging from 0.0 to 1.0.")]
\r
108 HRESULT Position([in] float position);
\r
109 [id(DISPID_Time), propget, helpstring("Returns/sets playback time relative to the start of the current item.")]
\r
110 HRESULT Time([out, retval] int* seconds);
\r
111 [id(DISPID_Time), propput, helpstring("Returns/sets playback time relative to the start of the current item.")]
\r
112 HRESULT Time([in] int seconds);
\r
113 [helpstring("Advance or backtrack playback time, relative to current time.")] //possibly find a better word to replace 'backtrack' [t]
\r
114 HRESULT shuttle([in] int seconds);
\r
115 [helpstring("Switch video between normal and fullscreen view modes.")]
\r
116 HRESULT fullscreen();
\r
117 [id(DISPID_Length), propget, hidden, helpstring("Returns the total length, in seconds, of the current item, may be unknown.")]
\r
118 HRESULT Length([out, retval] int* seconds);
\r
119 [helpstring("Increases playback speed. Possible speeds are: 1x, 2x, 4x, 8x.")]
\r
120 HRESULT playFaster();
\r
121 [helpstring("Decreases playback speed. Possible speeds are: 1x, 2x, 4x, 8x.")]
\r
122 HRESULT playSlower();
\r
123 [id(DISPID_Volume), propget, helpstring("Returns/sets playback volume, ranges from 0 to 200%.")] //possibly remove % from 'ranges', change to 'values', and specify that 200 is equivilant to 200% (remember, 200% == 2.0, but this gets an int not a float) [t]
\r
124 HRESULT Volume([out, retval] int* volume);
\r
125 [id(DISPID_Volume), propput, helpstring("Returns/sets playback volume, ranges from 0 to 200%.")]
\r
126 HRESULT Volume([in] int volume);
\r
127 [helpstring("Mute/unmute playback audio.")]
\r
128 HRESULT toggleMute();
\r
129 [helpstring("Sets the value of a VLC variable.")]
\r
130 HRESULT setVariable([in] BSTR name, [in] VARIANT value);
\r
131 [helpstring("Returns the value of a VLC variable.")]
\r
132 HRESULT getVariable([in] BSTR name, [out, retval] VARIANT *value);
\r
135 ** use VARIANT rather than a SAFEARRAY as argument type
\r
136 ** for compatibility with some scripting language (JScript)
\r
139 [helpstring("Add an item to the playlist.")]
\r
140 HRESULT addTarget([in] BSTR uri, [in] VARIANT options, [in] enum VLCPlaylistMode mode, [in] int position);
\r
141 [propget, helpstring("Returns index of current item in playlist.")]
\r
142 HRESULT PlaylistIndex([out, retval] int* index);
\r
143 [propget, helpstring("Returns number of items in playlist.")]
\r
144 HRESULT PlaylistCount([out, retval] int* index);
\r
145 [helpstring("Advance to next item in playlist.")]
\r
146 HRESULT playlistNext();
\r
147 [helpstring("Advance to previous item in playlist.")]
\r
148 HRESULT playlistPrev();
\r
149 [helpstring("Remove all items from playlist.")]
\r
150 HRESULT playlistClear();
\r
151 [propget, hidden, helpstring("Returns VLC Version.")]
\r
152 HRESULT VersionInfo([out, retval] BSTR* version);
\r
153 [id(DISPID_MRL), propget, helpstring("Returns/sets the first MRL in playlist, used for AutoPlay")]
\r
154 HRESULT MRL([out, retval] BSTR* mrl);
\r
155 [id(DISPID_MRL), propput, helpstring("Returns/sets the first MRL in playlist, used for AutoPlay")]
\r
156 HRESULT MRL([in] BSTR mrl);
\r
157 [id(DISPID_AutoPlay), propget, helpstring("Returns/sets a value that determines whether the playlist is played on startup")]
\r
158 HRESULT AutoPlay([out, retval] VARIANT_BOOL* autoplay);
\r
159 [id(DISPID_AutoPlay), propput, helpstring("Returns/Sets a value that determines whether the playlist is played on startup")]
\r
160 HRESULT AutoPlay([in] VARIANT_BOOL autoplay);
\r
161 [id(DISPID_AutoLoop), propget, helpstring("Returns/sets a value that determines whether the playlist is looped")]
\r
162 HRESULT AutoLoop([out, retval] VARIANT_BOOL* autoloop);
\r
163 [id(DISPID_AutoLoop), propput, helpstring("Returns/sets a value that determines whether the playlist is looped")]
\r
164 HRESULT AutoLoop([in] VARIANT_BOOL autoloop);
\r
167 const int DISPID_PlayEvent = 100;
\r
168 const int DISPID_PauseEvent = 101;
\r
169 const int DISPID_StopEvent = 102;
\r
171 /* async events from libvlc */
\r
172 const int DISPID_NothingSpecialEvent = 200;
\r
173 const int DISPID_OpeningEvent = 201;
\r
174 const int DISPID_BufferingEvent = 202;
\r
175 const int DISPID_PlayingEvent = 203;
\r
176 const int DISPID_PausedEvent = 204;
\r
177 const int DISPID_ForwardEvent = 205;
\r
178 const int DISPID_BackwardEvent = 206;
\r
179 const int DISPID_EncounteredErrorEvent = 207;
\r
180 const int DISPID_EndReachedEvent = 208;
\r
181 const int DISPID_StoppedEvent = 209;
\r
183 const int DISPID_TimeChangedEvent = 210;
\r
184 const int DISPID_PositionChangedEvent = 211;
\r
185 const int DISPID_SeekableChangedEvent = 212;
\r
186 const int DISPID_PausableChangedEvent = 213;
\r
188 const int DISPID_MouseButtonEvent = 214;
\r
189 const int DISPID_MouseMovedEvent = 215;
\r
190 const int DISPID_MouseClickedEvent = 216;
\r
191 const int DISPID_MouseObjectEvent = 217;
\r
194 uuid(DF48072F-5EF8-434e-9B40-E2F3AE759B5F),
\r
195 helpstring("Event interface for VLC control"),
\r
197 dispinterface DVLCEvents
\r
201 [id(DISPID_PlayEvent), helpstring("Playing")]
\r
203 [id(DISPID_PauseEvent), helpstring("Paused")]
\r
205 [id(DISPID_StopEvent), helpstring("Stopped")]
\r
208 /* asyn events from libvlc */
\r
209 [id(DISPID_NothingSpecialEvent), helpstring("Idle state")]
\r
211 [id(DISPID_OpeningEvent), helpstring("Opening media")]
\r
213 [id(DISPID_BufferingEvent), helpstring("Buffering media")]
\r
215 [id(DISPID_PlayingEvent), helpstring("Media is playing")]
\r
217 [id(DISPID_PausedEvent), helpstring("Media is paused")]
\r
219 [id(DISPID_ForwardEvent), helpstring("Forward playback")]
\r
221 [id(DISPID_BackwardEvent), helpstring("Backward playback")]
\r
223 [id(DISPID_EncounteredErrorEvent), helpstring("An error has been encountered")]
\r
225 [id(DISPID_EndReachedEvent), helpstring("End of playback reached")]
\r
227 [id(DISPID_StoppedEvent), helpstring("Playback stopped")]
\r
230 [id(DISPID_TimeChangedEvent), helpstring("Time changed")]
\r
231 void TimeChanged([in] long time);
\r
232 [id(DISPID_PositionChangedEvent), helpstring("Position changed")]
\r
233 void PositionChanged([in] long position);
\r
234 [id(DISPID_SeekableChangedEvent), helpstring("Seek changed")]
\r
235 void SeekableChanged([in] VARIANT_BOOL seekable);
\r
236 [id(DISPID_PausableChangedEvent), helpstring("Pause setting changed")]
\r
237 void PausableChanged([in] VARIANT_BOOL pausable);
\r
239 [id(DISPID_MouseButtonEvent), helpstring("Mouse button pressed")]
\r
240 void MouseButton([in] VARIANT_BOOL btn_right, [in] VARIANT_BOOL btn_center,
\r
241 [in] VARIANT_BOOL btn_left, [in] VARIANT_BOOL btn_wheel_up,
\r
242 [in] VARIANT_BOOL bnt_wheel_down);
\r
243 [id(DISPID_MouseMovedEvent), helpstring("Mouse moved")]
\r
244 void MouseMoved([in] long x, [in] long y);
\r
245 [id(DISPID_MouseClickedEvent), helpstring("Mouse clicked")]
\r
246 void MouseClicked([in] VARIANT_BOOL clicked);
\r
247 [id(DISPID_MouseObjectEvent), helpstring("Mouse selected holds object")]
\r
248 void MouseObject([in] VARIANT_BOOL moved);
\r
253 uuid(9E0BD17B-2D3C-4656-B94D-03084F3FD9D4),
\r
254 helpstring("VLC Audio APIs"),
\r
258 interface IVLCAudio : IDispatch
\r
260 [propget, helpstring("Returns/sets the audio mute state.")]
\r
261 HRESULT mute([out, retval] VARIANT_BOOL* muted);
\r
262 [propput, helpstring("Returns/sets the audio mute state.")]
\r
263 HRESULT mute([in] VARIANT_BOOL muted);
\r
265 [propget, helpstring("Returns/sets audio volume as a percent value.")]
\r
266 HRESULT volume([out, retval] long* volume);
\r
267 [propput, helpstring("Returns/sets audio volume as a percent value.")]
\r
268 HRESULT volume([in] long volume);
\r
270 [helpstring("Mute/unmute audio playback.")]
\r
271 HRESULT toggleMute();
\r
273 [propget, helpstring("Returns/sets audio track used/to use.")]
\r
274 HRESULT track([out, retval] long* track);
\r
275 [propput, helpstring("Returns/sets audio track used/to use.")]
\r
276 HRESULT track([in] long track);
\r
278 [propget, helpstring("Returns the number of audio tracks available.")]
\r
279 HRESULT count([out, retval] long* trackNumber);
\r
280 [helpstring("Returns audio track name.")]
\r
281 HRESULT description([in] long trackID, [out, retval] BSTR* name);
\r
283 [propget, helpstring("Returns audio channel [1-5] indicating; stereo, reverse stereo, left, right, dolby.")]
\r
284 HRESULT channel([out, retval] long* channel);
\r
285 [propput, helpstring("Sets audio channel to [1-5] indicating; stereo, reverse stereo, left, right, dolby.")]
\r
286 HRESULT channel([in] long channel);
\r
291 uuid(49E0DBD1-9440-466C-9C97-95C67190C603),
\r
292 helpstring("VLC Input APIs"),
\r
296 interface IVLCInput : IDispatch
\r
298 [propget, helpstring("Returns the clip length, in milliseconds.")]
\r
299 HRESULT length([out, retval] double* length);
\r
301 [propget, helpstring("Returns/sets playback position in current clip. Position is ranging from 0.0 to 1.0.")]
\r
302 HRESULT position([out, retval] double* position);
\r
303 [propput, helpstring("Returns/sets playback position in the current clip. Position ranging from 0.0 to 1.0.")]
\r
304 HRESULT position([in] double position);
\r
306 [propget, helpstring("Returns/sets playback time in current clip, in milliseconds.")]
\r
307 HRESULT time([out, retval] double* time);
\r
308 [propput, helpstring("Returns/sets playback time in the current clip, in milliseconds.")]
\r
309 HRESULT time([in] double time);
\r
311 [propget, helpstring("Returns current playback state.")]
\r
312 HRESULT state([out, retval] long* state);
\r
314 [propget, helpstring("Returns/sets current playback rate, normal rate is 1.0 ")]
\r
315 HRESULT rate([out, retval] double* rate);
\r
316 [propput, helpstring("Returns/sets current playback rate, normal rate is 1.0.")]
\r
317 HRESULT rate([in] double rate);
\r
319 [propget, helpstring("Returns current playback frames per seconds if available.")]
\r
320 HRESULT fps([out, retval] double* fps);
\r
322 [propget, helpstring("Returns whether current playback displays video.")]
\r
323 HRESULT hasVout([out, retval] VARIANT_BOOL* hasVout);
\r
328 uuid(FD37FE32-82BC-4A25-B056-315F4DBB194D),
\r
329 helpstring("VLC Playlist Items collection"),
\r
333 interface IVLCPlaylistItems : IDispatch
\r
335 [propget, helpstring("Returns number of items in playlist.")]
\r
336 HRESULT count([out, retval] long* count);
\r
338 [helpstring("Remove all items from playlist.")]
\r
341 [helpstring("remove item from playlist.")]
\r
342 HRESULT remove([in] long itemId);
\r
347 uuid(54613049-40BF-4035-9E70-0A9312C0188D),
\r
348 helpstring("VLC Playlist APIs"),
\r
352 interface IVLCPlaylist : IDispatch
\r
354 [hidden, propget, helpstring("Returns number of items in playlist. (deprecated)")]
\r
355 HRESULT itemCount([out, retval] long* count);
\r
357 [propget, helpstring("Returns whether playback displays video.")]
\r
358 HRESULT isPlaying([out, retval] VARIANT_BOOL* playing);
\r
360 [helpstring("Add a playlist item.")]
\r
361 HRESULT add([in] BSTR uri, [in, optional] VARIANT name, [in, optional] VARIANT options, [out, retval] long* itemId);
\r
363 [helpstring("Play/Resume the playlist.")]
\r
366 [helpstring("Play item in playlist.")]
\r
367 HRESULT playItem([in] long itemId);
\r
369 [helpstring("Play/Pause current clip.")]
\r
370 HRESULT togglePause();
\r
372 [helpstring("Stop current clip.")]
\r
375 [helpstring("Advance to next item in playlist.")]
\r
378 [helpstring("Advance to previous item in playlist.")]
\r
381 [hidden, helpstring("Remove all items from playlist. (deprecated)")]
\r
384 [hidden, helpstring("Remove item from playlist. (deprecated)")]
\r
385 HRESULT removeItem([in] long item);
\r
387 [propget, helpstring("Returns the playlist items collection object.")]
\r
388 HRESULT items([out, retval] IVLCPlaylistItems** obj);
\r
393 uuid(465E787A-0556-452F-9477-954E4A940003),
\r
394 helpstring("VLC Subtitle APIs"),
\r
398 interface IVLCSubtitle : IDispatch
\r
400 [propget, helpstring("Returns video subtitle used.")]
\r
401 HRESULT track([out, retval] long* spu);
\r
402 [propput, helpstring("Sets video subtitle to use.")]
\r
403 HRESULT track([in] long spu);
\r
405 [propget, helpstring("Returns the number of video subtitles available.")]
\r
406 HRESULT count([out, retval] long* spuNumber);
\r
407 [helpstring("Returns video subtitle name.")]
\r
408 HRESULT description([in] long nameID, [out, retval] BSTR* name);
\r
413 uuid(8D076AD6-9B6F-4150-A0FD-5D7E8C8CB02C),
\r
414 helpstring("VLC Marquee Filter"),
\r
418 interface IVLCMarquee : IDispatch
\r
420 [helpstring("enable Marquee Filter.")]
\r
422 [helpstring("disable Marquee Filter.")]
\r
425 [propget, helpstring("Retrieve marquee text.")]
\r
426 HRESULT text([out, retval] BSTR* val);
\r
427 [propput, helpstring("Change marquee text.")]
\r
428 HRESULT text([in] BSTR val);
\r
430 [propget, helpstring("Retrieve text color.")]
\r
431 HRESULT color([out, retval] LONG* val);
\r
432 [propput, helpstring("Change text color.")]
\r
433 HRESULT color([in] LONG val);
\r
434 [propget, helpstring("Retrieve text opacity.")]
\r
435 HRESULT opacity([out, retval] LONG* val);
\r
436 [propput, helpstring("Set text opacity (0=transparent, 255=opaque).")]
\r
437 HRESULT opacity([in] LONG val);
\r
438 [propget, helpstring("Retrieve text position.")]
\r
439 HRESULT position([out, retval] BSTR* val);
\r
440 [propput, helpstring("Text positioning relative to: center, left, right, top, bottom, top-left, top-right, bottom-left, bottom-right.")]
\r
441 HRESULT position([in] BSTR val);
\r
442 [propget, helpstring("Retrieve text refresh time.")]
\r
443 HRESULT refresh([out, retval] LONG* val);
\r
444 [propput, helpstring("Set text refresh time.")]
\r
445 HRESULT refresh([in] LONG val);
\r
446 [propget, helpstring("Retrieve text size.")]
\r
447 HRESULT size([out, retval] LONG* val);
\r
448 [propput, helpstring("Set text size.")]
\r
449 HRESULT size([in] LONG val);
\r
450 [propget, helpstring("Retrieve timeout.")]
\r
451 HRESULT timeout([out, retval] LONG* val);
\r
452 [propput, helpstring("Change timeout.")]
\r
453 HRESULT timeout([in] LONG val);
\r
454 [propget, helpstring("Retrieve text abcissa.")]
\r
455 HRESULT x([out, retval] LONG* val);
\r
456 [propput, helpstring("Change text abcissa.")]
\r
457 HRESULT x([in] LONG val);
\r
458 [propget, helpstring("Retrieve text ordinate.")]
\r
459 HRESULT y([out, retval] LONG* val);
\r
460 [propput, helpstring("Change text ordinate.")]
\r
461 HRESULT y([in] LONG val);
\r
466 uuid(8a4a20c2-93f3-44e8-8644-beb2e3487e84),
\r
467 helpstring("VLC Logo Filter"),
\r
471 interface IVLCLogo : IDispatch
\r
473 [helpstring("Enable the logo filter.")]
\r
475 [helpstring("Disable the logo filter.")]
\r
478 [helpstring("specify input file[[,delay],alpha].")]
\r
479 HRESULT file([in] BSTR fname);
\r
481 [propget, helpstring("")]
\r
482 HRESULT delay([out, retval] long* val);
\r
483 [propput, helpstring("Set delay-to-next-picture in miliseconds.")]
\r
484 HRESULT delay([in] long val);
\r
486 [propget, helpstring("")]
\r
487 HRESULT repeat([out, retval] long* val);
\r
488 [propput, helpstring("Repeat: -1 continuous (default), 0 no repeat, ....")]
\r
489 HRESULT repeat([in] long val);
\r
491 [propget, helpstring("Returns the `global' alpha value.")]
\r
492 HRESULT opacity([out, retval] long* val);
\r
493 [propput, helpstring("Alpha value: 0 opaque to 255 fully transparent")]
\r
494 HRESULT opacity([in] long val);
\r
496 [propget, helpstring("Retrieve picture position.")]
\r
497 HRESULT position([out, retval] BSTR* val);
\r
498 [propput, helpstring("Picture positioning relative to: center, left, right, top, bottom, top-left, top-right, bottom-left, bottom-right.")]
\r
499 HRESULT position([in] BSTR val);
\r
501 [propget, helpstring("Picture x offset.")]
\r
502 HRESULT x([out, retval] long* val);
\r
503 [propput, helpstring("Picture x offset.")]
\r
504 HRESULT x([in] long val);
\r
505 [propget, helpstring("Picture y offset.")]
\r
506 HRESULT y([out, retval] long* val);
\r
507 [propput, helpstring("Picture y offset.")]
\r
508 HRESULT y([in] long val);
\r
513 uuid(bc97469f-cb11-4037-8dce-5fc9f5f85307),
\r
514 helpstring("VLC Deinterlace Filter"),
\r
518 interface IVLCDeinterlace : IDispatch
\r
520 [helpstring("Enable deinterlace filter and set method.")]
\r
521 HRESULT enable([in] BSTR mode);
\r
522 [helpstring("Disable deinterlace filter.")]
\r
529 uuid(0AAEDF0B-D333-4B27-A0C6-BBF31413A42E),
\r
530 helpstring("VLC Video APIs"),
\r
534 interface IVLCVideo : IDispatch
\r
536 [propget, helpstring("Returns/sets the fullscreen state.")]
\r
537 HRESULT fullscreen([out, retval] VARIANT_BOOL* fullscreen);
\r
539 [propput, helpstring("Returns/sets the fullscreen state.")]
\r
540 HRESULT fullscreen([in] VARIANT_BOOL fullscreen);
\r
542 [propget, helpstring("Returns video original width.")]
\r
543 HRESULT width([out, retval] long* width);
\r
545 [propget, helpstring("Returns video original height.")]
\r
546 HRESULT height([out, retval] long* height);
\r
548 [propget, helpstring("Returns video aspect ratio.")]
\r
549 HRESULT aspectRatio([out, retval] BSTR* aspect);
\r
550 [propput, helpstring("Sets video aspect ratio.")]
\r
551 HRESULT aspectRatio([in] BSTR aspect);
\r
553 [propget, helpstring("Returns video subtitle used.")]
\r
554 HRESULT subtitle([out, retval] long* spu);
\r
555 [propput, helpstring("Sets video subtitle to use.")]
\r
556 HRESULT subtitle([in] long spu);
\r
558 [propget, helpstring("Returns crop filter geometry.")]
\r
559 HRESULT crop([out, retval] BSTR* geometry);
\r
560 [propput, helpstring("Sets crop filter geometry.")]
\r
561 HRESULT crop([in] BSTR geometry);
\r
563 [propget, helpstring("Returns teletext page used.")]
\r
564 HRESULT teletext([out, retval] long* page);
\r
565 [propput, helpstring("Sets teletext page to use.")]
\r
566 HRESULT teletext([in] long page);
\r
568 [helpstring("toggle fullscreen/windowed state.")]
\r
569 HRESULT toggleFullscreen();
\r
571 [helpstring("take video snapshot and save it into picture object.")]
\r
572 HRESULT takeSnapshot([out, retval] IPictureDisp** picture);
\r
574 [helpstring("toggle teletext transparent state.")]
\r
575 HRESULT toggleTeletext();
\r
577 [propget, helpstring("Returns the marquee object.")]
\r
578 HRESULT marquee([out, retval] IVLCMarquee** obj);
\r
580 [propget, helpstring("Returns the logo object.")]
\r
581 HRESULT logo([out, retval] IVLCLogo** obj);
\r
583 [propget, helpstring("Returns the logo object.")]
\r
584 HRESULT deinterlace([out, retval] IVLCDeinterlace** obj);
\r
589 uuid(2D719729-5333-406C-BF12-8DE787FD65E3),
\r
590 helpstring("VLC Control"),
\r
594 interface IVLCControl2 : IDispatch
\r
596 [id(DISPID_AutoLoop), propget, helpstring("Returns/sets a value that determines whether the playlist is looped")]
\r
597 HRESULT AutoLoop([out, retval] VARIANT_BOOL* autoloop);
\r
598 [id(DISPID_AutoLoop), propput, helpstring("Returns/sets a value that determines whether the playlist is looped")]
\r
599 HRESULT AutoLoop([in] VARIANT_BOOL autoloop);
\r
601 [id(DISPID_AutoPlay), propget, helpstring("Returns/sets a value that determines whether the playlist is played on startup")]
\r
602 HRESULT AutoPlay([out, retval] VARIANT_BOOL* autoplay);
\r
603 [id(DISPID_AutoPlay), propput, helpstring("Returns/Sets a value that determines whether the playlist is played on startup")]
\r
604 HRESULT AutoPlay([in] VARIANT_BOOL autoplay);
\r
606 [id(DISPID_BaseURL), propget, helpstring("Returns/sets the base URL for relative paths")]
\r
607 HRESULT BaseURL([out, retval] BSTR* url);
\r
608 [id(DISPID_BaseURL), propput, helpstring("Returns/sets the base URL for relative paths")]
\r
609 HRESULT BaseURL([in] BSTR url);
\r
611 [id(DISPID_StartTime), propget, helpstring("Returns/sets playback start time of URL.")]
\r
612 HRESULT StartTime([out, retval] long* seconds);
\r
613 [id(DISPID_StartTime), propput, helpstring("Returns/sets playback start time of URL.")]
\r
614 HRESULT StartTime([in] long seconds);
\r
616 [id(DISPID_MRL), propget, helpstring("Returns/sets the default MRL in playlist")]
\r
617 HRESULT MRL([out, retval] BSTR* mrl);
\r
618 [id(DISPID_MRL), propput, helpstring("Returns/sets the default MRL in playlist")]
\r
619 HRESULT MRL([in] BSTR mrl);
\r
621 [propget, helpstring("Returns VLC Version.")]
\r
622 HRESULT VersionInfo([out, retval] BSTR* version);
\r
624 [id(DISPID_Visible), propget, helpstring("Returns/sets a value that determines whether viewing area is visible or hidden.")]
\r
625 HRESULT Visible([out, retval] VARIANT_BOOL* visible);
\r
626 [id(DISPID_Visible), propput, helpstring("Returns/sets a value that determines whether viewing area is visible or hidden.")]
\r
627 HRESULT Visible([in] VARIANT_BOOL visible);
\r
629 [id(DISPID_Volume), propget, helpstring("Returns/sets default audio volume.")]
\r
630 HRESULT Volume([out, retval] long* volume);
\r
631 [id(DISPID_Volume), propput, helpstring("Returns/sets default audio volume.")]
\r
632 HRESULT Volume([in] long volume);
\r
634 [id(DISPID_BackColor), propget, helpstring("Returns/sets background color.")]
\r
635 HRESULT BackColor([out, retval] OLE_COLOR* backcolor);
\r
636 [id(DISPID_BackColor), propput, helpstring("Returns/sets background color.")]
\r
637 HRESULT BackColor([in] OLE_COLOR backcolor);
\r
640 * caution: vlcobject.toolbar:bool does not yet exists in Firefox
\r
641 * plugin. Official usage is through "toolbar" property for now,
\r
642 * which is compatibile with Firefox.
\r
644 [id(DISPID_Toolbar), propget, helpstring("Returns/sets visibility of the toolbar")]
\r
645 HRESULT Toolbar([out, retval] VARIANT_BOOL* visible);
\r
646 [id(DISPID_Toolbar), propput, helpstring("Returns/sets visibility of the toolbar")]
\r
647 HRESULT Toolbar([in] VARIANT_BOOL visible);
\r
649 [propget, helpstring("Returns the audio object.")]
\r
650 HRESULT audio([out, retval] IVLCAudio** obj);
\r
652 [propget, helpstring("Returns the audio object.")]
\r
653 HRESULT input([out, retval] IVLCInput** obj);
\r
655 [propget, helpstring("Returns the playlist object.")]
\r
656 HRESULT playlist([out, retval] IVLCPlaylist** obj);
\r
658 [propget, helpstring("Returns the audio object.")]
\r
659 HRESULT subtitle([out, retval] IVLCSubtitle** obj);
\r
661 [propget, helpstring("Returns the audio object.")]
\r
662 HRESULT video([out, retval] IVLCVideo** obj);
\r
666 uuid(E23FE9C6-778E-49D4-B537-38FCDE4887D8),
\r
667 helpstring("VLC control (deprecated)"),
\r
672 [default] interface IVLCControl;
\r
673 interface IVLCControl2;
\r
674 [default, source] dispinterface DVLCEvents;
\r
678 uuid(9BE31822-FDAD-461B-AD51-BE1D1C159921),
\r
679 helpstring("VLC control"),
\r
684 [default] interface IVLCControl2;
\r
685 interface IVLCControl;
\r
686 [default, source] dispinterface DVLCEvents;
\r