1 /*****************************************************************************
2 * axvlc.idl: ActiveX control for VLC
3 *****************************************************************************
4 * Copyright (C) 2006 the VideoLAN team
5 * Copyright (C) 2010 M2X BV
7 * Authors: Damien Fouilleul <Damien.Fouilleul@laposte.net>
8 * Jean-Paul Saman <jpsaman _at_ m2x _dot_ nl>
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
23 *****************************************************************************/
25 // comments terminated by [t] are by tonsofpcs, regarding the string
26 // review. April 02, 2006. [t]
27 // Possibly change all instances of "the current playlist" to "the
28 // playlist" and "current playlist" to "the playlist" [t]
33 uuid(DF2BBE39
-40A8
-433b
-A279
-073F48DA94B6
),
35 helpstring("VideoLAN VLC ActiveX Plugin")
39 // Forward declare all types defined in this typelib
40 interface IVLCControl
;
44 interface IVLCDeinterlace
;
45 interface IVLCMarquee
;
46 interface IVLCPlaylist
;
47 interface IVLCSubtitle
;
49 interface IVLCControl2
;
50 dispinterface DVLCEvents
;
52 importlib
("stdole2.tlb");
54 typedef [public] enum VLCPlaylistMode
56 VLCPlayListInsert
= 1,
57 VLCPlayListInsertAndGo
= 9,
58 VLCPlayListReplace
= 2,
59 VLCPlayListReplaceAndGo
= 10,
60 VLCPlayListAppend
= 4,
61 VLCPlayListAppendAndGo
= 12,
62 VLCPlayListCheckInsert
= 16
65 // playlist target position
66 const int VLCPlayListEnd
= -666;
69 const int DISPID_BackColor
= -501;
71 const int DISPID_Visible
= 100;
72 const int DISPID_Playing
= 101;
73 const int DISPID_Position
= 102;
74 const int DISPID_Time
= 103;
75 const int DISPID_Length
= 104;
76 const int DISPID_Volume
= 105;
77 const int DISPID_MRL
= 106;
78 const int DISPID_AutoPlay
= 107;
79 const int DISPID_AutoLoop
= 108;
80 const int DISPID_StartTime
= 109;
81 const int DISPID_BaseURL
= 110;
82 const int DISPID_Toolbar
= 111;
86 uuid(C2FA41D0
-B113
-476e
-AC8C
-9BD14999C1C1
),
87 helpstring("VLC Control (deprecated)"),
91 interface IVLCControl
: IDispatch
93 [id(DISPID_Visible
), propget, bindable, helpstring("Returns/sets a value that determines whether viewing area is visible or hidden.")]
94 HRESULT Visible
([out, retval] VARIANT_BOOL* visible
);
95 [id(DISPID_Visible
), propput, bindable, helpstring("Returns/sets a value that determines whether viewing area is visible or hidden.")]
96 HRESULT Visible
([in] VARIANT_BOOL visible
);
97 [helpstring("Play current target in playlist.")]
99 [helpstring("Pause playback.")]
101 [helpstring("Stop playback.")]
103 [id(DISPID_Playing
), hidden, propget, helpstring("Returns a value that determines whether VLC is currently playing.")]
104 HRESULT Playing
([out, retval] VARIANT_BOOL* isPlaying
);
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.")]
106 HRESULT Position
([out, retval] float* position
);
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.")]
108 HRESULT Position
([in] float position
);
109 [id(DISPID_Time
), propget, helpstring("Returns/sets playback time relative to the start of the current item.")]
110 HRESULT Time
([out, retval] int* seconds
);
111 [id(DISPID_Time
), propput, helpstring("Returns/sets playback time relative to the start of the current item.")]
112 HRESULT Time
([in] int seconds
);
113 [helpstring("Advance or backtrack playback time, relative to current time.")] //possibly find a better word to replace 'backtrack' [t]
114 HRESULT shuttle
([in] int seconds
);
115 [helpstring("Switch video between normal and fullscreen view modes.")]
116 HRESULT fullscreen
();
117 [id(DISPID_Length
), propget, hidden, helpstring("Returns the total length, in seconds, of the current item, may be unknown.")]
118 HRESULT Length
([out, retval] int* seconds
);
119 [helpstring("Increases playback speed. Possible speeds are: 1x, 2x, 4x, 8x.")]
120 HRESULT playFaster
();
121 [helpstring("Decreases playback speed. Possible speeds are: 1x, 2x, 4x, 8x.")]
122 HRESULT playSlower
();
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]
124 HRESULT Volume
([out, retval] int* volume
);
125 [id(DISPID_Volume
), propput, helpstring("Returns/sets playback volume, ranges from 0 to 200%.")]
126 HRESULT Volume
([in] int volume
);
127 [helpstring("Mute/unmute playback audio.")]
128 HRESULT toggleMute
();
129 [helpstring("Sets the value of a VLC variable.")]
130 HRESULT setVariable
([in] BSTR name
, [in] VARIANT value
);
131 [helpstring("Returns the value of a VLC variable.")]
132 HRESULT getVariable
([in] BSTR name
, [out, retval] VARIANT *value
);
135 ** use VARIANT rather than a SAFEARRAY as argument type
136 ** for compatibility with some scripting language (JScript)
139 [helpstring("Add an item to the playlist.")]
140 HRESULT addTarget
([in] BSTR uri
, [in] VARIANT options
, [in] enum VLCPlaylistMode mode
, [in] int position
);
141 [propget, helpstring("Returns index of current item in playlist.")]
142 HRESULT PlaylistIndex
([out, retval] int* index
);
143 [propget, helpstring("Returns number of items in playlist.")]
144 HRESULT PlaylistCount
([out, retval] int* index
);
145 [helpstring("Advance to next item in playlist.")]
146 HRESULT playlistNext
();
147 [helpstring("Advance to previous item in playlist.")]
148 HRESULT playlistPrev
();
149 [helpstring("Remove all items from playlist.")]
150 HRESULT playlistClear
();
151 [propget, hidden, helpstring("Returns VLC Version.")]
152 HRESULT VersionInfo
([out, retval] BSTR* version);
153 [id(DISPID_MRL
), propget, helpstring("Returns/sets the first MRL in playlist, used for AutoPlay")]
154 HRESULT MRL
([out, retval] BSTR* mrl
);
155 [id(DISPID_MRL
), propput, helpstring("Returns/sets the first MRL in playlist, used for AutoPlay")]
156 HRESULT MRL
([in] BSTR mrl
);
157 [id(DISPID_AutoPlay
), propget, helpstring("Returns/sets a value that determines whether the playlist is played on startup")]
158 HRESULT AutoPlay
([out, retval] VARIANT_BOOL* autoplay
);
159 [id(DISPID_AutoPlay
), propput, helpstring("Returns/Sets a value that determines whether the playlist is played on startup")]
160 HRESULT AutoPlay
([in] VARIANT_BOOL autoplay
);
161 [id(DISPID_AutoLoop
), propget, helpstring("Returns/sets a value that determines whether the playlist is looped")]
162 HRESULT AutoLoop
([out, retval] VARIANT_BOOL* autoloop
);
163 [id(DISPID_AutoLoop
), propput, helpstring("Returns/sets a value that determines whether the playlist is looped")]
164 HRESULT AutoLoop
([in] VARIANT_BOOL autoloop
);
167 const int DISPID_PlayEvent
= 100;
168 const int DISPID_PauseEvent
= 101;
169 const int DISPID_StopEvent
= 102;
171 /* async events from libvlc */
172 const int DISPID_MediaPlayerNothingSpecialEvent
= 200;
173 const int DISPID_MediaPlayerOpeningEvent
= 201;
174 const int DISPID_MediaPlayerBufferingEvent
= 202;
175 const int DISPID_MediaPlayerPlayingEvent
= 203;
176 const int DISPID_MediaPlayerPausedEvent
= 204;
177 const int DISPID_MediaPlayerForwardEvent
= 205;
178 const int DISPID_MediaPlayerBackwardEvent
= 206;
179 const int DISPID_MediaPlayerEncounteredErrorEvent
= 207;
180 const int DISPID_MediaPlayerEndReachedEvent
= 208;
181 const int DISPID_MediaPlayerStoppedEvent
= 209;
183 const int DISPID_MediaPlayerTimeChangedEvent
= 210;
184 const int DISPID_MediaPlayerPositionChangedEvent
= 211;
185 const int DISPID_MediaPlayerSeekableChangedEvent
= 212;
186 const int DISPID_MediaPlayerPausableChangedEvent
= 213;
189 uuid(DF48072F
-5EF8
-434e-9B40
-E2F3AE759B5F
),
190 helpstring("Event interface for VLC control"),
192 dispinterface DVLCEvents
196 [id(DISPID_PlayEvent
), helpstring("Playing")]
198 [id(DISPID_PauseEvent
), helpstring("Paused")]
200 [id(DISPID_StopEvent
), helpstring("Stopped")]
203 /* asyn events from libvlc */
204 [id(DISPID_MediaPlayerNothingSpecialEvent
), helpstring("Idle state")]
205 void MediaPlayerNothingSpecial
();
206 [id(DISPID_MediaPlayerOpeningEvent
), helpstring("Opening media")]
207 void MediaPlayerOpening
();
208 [id(DISPID_MediaPlayerBufferingEvent
), helpstring("Buffering media")]
209 void MediaPlayerBuffering
();
210 [id(DISPID_MediaPlayerPlayingEvent
), helpstring("Media is playing")]
211 void MediaPlayerPlaying
();
212 [id(DISPID_MediaPlayerPausedEvent
), helpstring("Media is paused")]
213 void MediaPlayerPaused
();
214 [id(DISPID_MediaPlayerForwardEvent
), helpstring("Forward playback")]
215 void MediaPlayerForward
();
216 [id(DISPID_MediaPlayerBackwardEvent
), helpstring("Backward playback")]
217 void MediaPlayerBackward
();
218 [id(DISPID_MediaPlayerEncounteredErrorEvent
), helpstring("An error has been encountered")]
219 void MediaPlayerEncounteredError
();
220 [id(DISPID_MediaPlayerEndReachedEvent
), helpstring("End of playback reached")]
221 void MediaPlayerEndReached
();
222 [id(DISPID_MediaPlayerStoppedEvent
), helpstring("Playback stopped")]
223 void MediaPlayerStopped
();
225 [id(DISPID_MediaPlayerTimeChangedEvent
), helpstring("Time changed")]
226 void MediaPlayerTimeChanged
([in] long time
);
227 [id(DISPID_MediaPlayerPositionChangedEvent
), helpstring("Position changed")]
228 void MediaPlayerPositionChanged
([in] long position
);
229 [id(DISPID_MediaPlayerSeekableChangedEvent
), helpstring("Seek changed")]
230 void MediaPlayerSeekableChanged
([in] VARIANT_BOOL seekable
);
231 [id(DISPID_MediaPlayerPausableChangedEvent
), helpstring("Pause setting changed")]
232 void MediaPlayerPausableChanged
([in] VARIANT_BOOL pausable
);
237 uuid(9E0BD17B
-2D3C
-4656-B94D
-03084F3FD9D4
),
238 helpstring("VLC Audio APIs"),
242 interface IVLCAudio
: IDispatch
244 [propget, helpstring("Returns/sets the audio mute state.")]
245 HRESULT mute
([out, retval] VARIANT_BOOL* muted
);
246 [propput, helpstring("Returns/sets the audio mute state.")]
247 HRESULT mute
([in] VARIANT_BOOL muted
);
249 [propget, helpstring("Returns/sets audio volume as a percent value.")]
250 HRESULT volume
([out, retval] long* volume
);
251 [propput, helpstring("Returns/sets audio volume as a percent value.")]
252 HRESULT volume
([in] long volume
);
254 [helpstring("Mute/unmute audio playback.")]
255 HRESULT toggleMute
();
257 [propget, helpstring("Returns/sets audio track used/to use.")]
258 HRESULT track
([out, retval] long* track
);
259 [propput, helpstring("Returns/sets audio track used/to use.")]
260 HRESULT track
([in] long track
);
262 [propget, helpstring("Returns the number of audio tracks available.")]
263 HRESULT count
([out, retval] long* trackNumber
);
264 [helpstring("Returns audio track name.")]
265 HRESULT description
([in] long trackID
, [out, retval] BSTR* name
);
267 [propget, helpstring("Returns audio channel [1-5] indicating; stereo, reverse stereo, left, right, dolby.")]
268 HRESULT channel
([out, retval] long* channel
);
269 [propput, helpstring("Sets audio channel to [1-5] indicating; stereo, reverse stereo, left, right, dolby.")]
270 HRESULT channel
([in] long channel
);
275 uuid(49E0DBD1
-9440-466C
-9C97
-95C67190C603
),
276 helpstring("VLC Input APIs"),
280 interface IVLCInput
: IDispatch
282 [propget, helpstring("Returns the clip length, in milliseconds.")]
283 HRESULT length
([out, retval] double* length
);
285 [propget, helpstring("Returns/sets playback position in current clip. Position is ranging from 0.0 to 1.0.")]
286 HRESULT position
([out, retval] double* position
);
287 [propput, helpstring("Returns/sets playback position in the current clip. Position ranging from 0.0 to 1.0.")]
288 HRESULT position
([in] double position
);
290 [propget, helpstring("Returns/sets playback time in current clip, in milliseconds.")]
291 HRESULT time
([out, retval] double* time
);
292 [propput, helpstring("Returns/sets playback time in the current clip, in milliseconds.")]
293 HRESULT time
([in] double time
);
295 [propget, helpstring("Returns current playback state.")]
296 HRESULT state
([out, retval] long* state
);
298 [propget, helpstring("Returns/sets current playback rate, normal rate is 1.0 ")]
299 HRESULT rate
([out, retval] double* rate
);
300 [propput, helpstring("Returns/sets current playback rate, normal rate is 1.0.")]
301 HRESULT rate
([in] double rate
);
303 [propget, helpstring("Returns current playback frames per seconds if available.")]
304 HRESULT fps
([out, retval] double* fps
);
306 [propget, helpstring("Returns whether current playback displays video.")]
307 HRESULT hasVout
([out, retval] VARIANT_BOOL* hasVout
);
312 uuid(FD37FE32
-82BC
-4A25
-B056
-315F4DBB194D
),
313 helpstring("VLC Playlist Items collection"),
317 interface IVLCPlaylistItems
: IDispatch
319 [propget, helpstring("Returns number of items in playlist.")]
320 HRESULT count
([out, retval] long* count
);
322 [helpstring("Remove all items from playlist.")]
325 [helpstring("remove item from playlist.")]
326 HRESULT remove
([in] long itemId
);
331 uuid(54613049-40BF
-4035-9E70
-0A9312C0188D
),
332 helpstring("VLC Playlist APIs"),
336 interface IVLCPlaylist
: IDispatch
338 [hidden, propget, helpstring("Returns number of items in playlist. (deprecated)")]
339 HRESULT itemCount
([out, retval] long* count
);
341 [propget, helpstring("Returns whether playback displays video.")]
342 HRESULT isPlaying
([out, retval] VARIANT_BOOL* playing
);
344 [helpstring("Add a playlist item.")]
345 HRESULT add
([in] BSTR uri
, [in, optional] VARIANT name
, [in, optional] VARIANT options
, [out, retval] long* itemId
);
347 [helpstring("Play/Resume the playlist.")]
350 [helpstring("Play item in playlist.")]
351 HRESULT playItem
([in] long itemId
);
353 [helpstring("Play/Pause current clip.")]
354 HRESULT togglePause
();
356 [helpstring("Stop current clip.")]
359 [helpstring("Advance to next item in playlist.")]
362 [helpstring("Advance to previous item in playlist.")]
365 [hidden, helpstring("Remove all items from playlist. (deprecated)")]
368 [hidden, helpstring("Remove item from playlist. (deprecated)")]
369 HRESULT removeItem
([in] long item
);
371 [propget, helpstring("Returns the playlist items collection object.")]
372 HRESULT items
([out, retval] IVLCPlaylistItems
** obj
);
377 uuid(465E787A
-0556-452F
-9477-954E4A940003
),
378 helpstring("VLC Subtitle APIs"),
382 interface IVLCSubtitle
: IDispatch
384 [propget, helpstring("Returns video subtitle used.")]
385 HRESULT track
([out, retval] long* spu
);
386 [propput, helpstring("Sets video subtitle to use.")]
387 HRESULT track
([in] long spu
);
389 [propget, helpstring("Returns the number of video subtitles available.")]
390 HRESULT count
([out, retval] long* spuNumber
);
391 [helpstring("Returns video subtitle name.")]
392 HRESULT description
([in] long nameID
, [out, retval] BSTR* name
);
397 uuid(8D076AD6
-9B6F
-4150-A0FD
-5D7E8C8CB02C
),
398 helpstring("VLC Marquee Filter"),
402 interface IVLCMarquee
: IDispatch
404 [helpstring("enable Marquee Filter.")]
406 [helpstring("disable Marquee Filter.")]
409 [propget, helpstring("Retrieve marquee text.")]
410 HRESULT text
([out, retval] BSTR* val
);
411 [propput, helpstring("Change marquee text.")]
412 HRESULT text
([in] BSTR val
);
414 [propget, helpstring("Retrieve text color.")]
415 HRESULT color
([out, retval] LONG* val
);
416 [propput, helpstring("Change text color.")]
417 HRESULT color
([in] LONG val
);
418 [propget, helpstring("Retrieve text opacity.")]
419 HRESULT opacity
([out, retval] LONG* val
);
420 [propput, helpstring("Set text opacity (0=transparent, 255=opaque).")]
421 HRESULT opacity
([in] LONG val
);
422 [propget, helpstring("Retrieve text position.")]
423 HRESULT position
([out, retval] BSTR* val
);
424 [propput, helpstring("Text positioning relative to: center, left, right, top, bottom, top-left, top-right, bottom-left, bottom-right.")]
425 HRESULT position
([in] BSTR val
);
426 [propget, helpstring("Retrieve text refresh time.")]
427 HRESULT refresh
([out, retval] LONG* val
);
428 [propput, helpstring("Set text refresh time.")]
429 HRESULT refresh
([in] LONG val
);
430 [propget, helpstring("Retrieve text size.")]
431 HRESULT size
([out, retval] LONG* val
);
432 [propput, helpstring("Set text size.")]
433 HRESULT size
([in] LONG val
);
434 [propget, helpstring("Retrieve timeout.")]
435 HRESULT timeout
([out, retval] LONG* val
);
436 [propput, helpstring("Change timeout.")]
437 HRESULT timeout
([in] LONG val
);
438 [propget, helpstring("Retrieve text abcissa.")]
439 HRESULT x
([out, retval] LONG* val
);
440 [propput, helpstring("Change text abcissa.")]
441 HRESULT x
([in] LONG val
);
442 [propget, helpstring("Retrieve text ordinate.")]
443 HRESULT y
([out, retval] LONG* val
);
444 [propput, helpstring("Change text ordinate.")]
445 HRESULT y
([in] LONG val
);
450 uuid(8a4a20c2
-93f3
-44e8
-8644-beb2e3487e84
),
451 helpstring("VLC Logo Filter"),
455 interface IVLCLogo
: IDispatch
457 [helpstring("Enable the logo filter.")]
459 [helpstring("Disable the logo filter.")]
462 [helpstring("specify input file[[,delay],alpha].")]
463 HRESULT file
([in] BSTR fname
);
465 [propget, helpstring("")]
466 HRESULT delay
([out, retval] long* val
);
467 [propput, helpstring("Set delay-to-next-picture in miliseconds.")]
468 HRESULT delay
([in] long val
);
470 [propget, helpstring("")]
471 HRESULT repeat
([out, retval] long* val
);
472 [propput, helpstring("Repeat: -1 continuous (default), 0 no repeat, ....")]
473 HRESULT repeat
([in] long val
);
475 [propget, helpstring("Returns the `global' alpha value.")]
476 HRESULT opacity
([out, retval] long* val
);
477 [propput, helpstring("Alpha value: 0 opaque to 255 fully transparent")]
478 HRESULT opacity
([in] long val
);
480 [propget, helpstring("Retrieve picture position.")]
481 HRESULT position
([out, retval] BSTR* val
);
482 [propput, helpstring("Picture positioning relative to: center, left, right, top, bottom, top-left, top-right, bottom-left, bottom-right.")]
483 HRESULT position
([in] BSTR val
);
485 [propget, helpstring("Picture x offset.")]
486 HRESULT x
([out, retval] long* val
);
487 [propput, helpstring("Picture x offset.")]
488 HRESULT x
([in] long val
);
489 [propget, helpstring("Picture y offset.")]
490 HRESULT y
([out, retval] long* val
);
491 [propput, helpstring("Picture y offset.")]
492 HRESULT y
([in] long val
);
497 uuid(bc97469f
-cb11
-4037-8dce
-5fc9f5f85307
),
498 helpstring("VLC Deinterlace Filter"),
502 interface IVLCDeinterlace
: IDispatch
504 [helpstring("Enable deinterlace filter and set method.")]
505 HRESULT enable
([in] BSTR mode
);
506 [helpstring("Disable deinterlace filter.")]
513 uuid(0AAEDF0B
-D333
-4B27
-A0C6
-BBF31413A42E
),
514 helpstring("VLC Video APIs"),
518 interface IVLCVideo
: IDispatch
520 [propget, helpstring("Returns/sets the fullscreen state.")]
521 HRESULT fullscreen
([out, retval] VARIANT_BOOL* fullscreen
);
523 [propput, helpstring("Returns/sets the fullscreen state.")]
524 HRESULT fullscreen
([in] VARIANT_BOOL fullscreen
);
526 [propget, helpstring("Returns video original width.")]
527 HRESULT width
([out, retval] long* width
);
529 [propget, helpstring("Returns video original height.")]
530 HRESULT height
([out, retval] long* height
);
532 [propget, helpstring("Returns video aspect ratio.")]
533 HRESULT aspectRatio
([out, retval] BSTR* aspect
);
534 [propput, helpstring("Sets video aspect ratio.")]
535 HRESULT aspectRatio
([in] BSTR aspect
);
537 [propget, helpstring("Returns video subtitle used.")]
538 HRESULT subtitle
([out, retval] long* spu
);
539 [propput, helpstring("Sets video subtitle to use.")]
540 HRESULT subtitle
([in] long spu
);
542 [propget, helpstring("Returns crop filter geometry.")]
543 HRESULT crop
([out, retval] BSTR* geometry
);
544 [propput, helpstring("Sets crop filter geometry.")]
545 HRESULT crop
([in] BSTR geometry
);
547 [propget, helpstring("Returns teletext page used.")]
548 HRESULT teletext
([out, retval] long* page
);
549 [propput, helpstring("Sets teletext page to use.")]
550 HRESULT teletext
([in] long page
);
552 [helpstring("toggle fullscreen/windowed state.")]
553 HRESULT toggleFullscreen
();
555 [helpstring("take video snapshot and save it into picture object.")]
556 HRESULT takeSnapshot
([out, retval] IPictureDisp
** picture
);
558 [helpstring("toggle teletext transparent state.")]
559 HRESULT toggleTeletext
();
561 [propget, helpstring("Returns the marquee object.")]
562 HRESULT marquee
([out, retval] IVLCMarquee
** obj
);
564 [propget, helpstring("Returns the logo object.")]
565 HRESULT logo
([out, retval] IVLCLogo
** obj
);
567 [propget, helpstring("Returns the logo object.")]
568 HRESULT deinterlace
([out, retval] IVLCDeinterlace
** obj
);
573 uuid(2D719729
-5333-406C
-BF12
-8DE787FD65E3
),
574 helpstring("VLC Control"),
578 interface IVLCControl2
: IDispatch
580 [id(DISPID_AutoLoop
), propget, helpstring("Returns/sets a value that determines whether the playlist is looped")]
581 HRESULT AutoLoop
([out, retval] VARIANT_BOOL* autoloop
);
582 [id(DISPID_AutoLoop
), propput, helpstring("Returns/sets a value that determines whether the playlist is looped")]
583 HRESULT AutoLoop
([in] VARIANT_BOOL autoloop
);
585 [id(DISPID_AutoPlay
), propget, helpstring("Returns/sets a value that determines whether the playlist is played on startup")]
586 HRESULT AutoPlay
([out, retval] VARIANT_BOOL* autoplay
);
587 [id(DISPID_AutoPlay
), propput, helpstring("Returns/Sets a value that determines whether the playlist is played on startup")]
588 HRESULT AutoPlay
([in] VARIANT_BOOL autoplay
);
590 [id(DISPID_BaseURL
), propget, helpstring("Returns/sets the base URL for relative paths")]
591 HRESULT BaseURL
([out, retval] BSTR* url
);
592 [id(DISPID_BaseURL
), propput, helpstring("Returns/sets the base URL for relative paths")]
593 HRESULT BaseURL
([in] BSTR url
);
595 [id(DISPID_StartTime
), propget, helpstring("Returns/sets playback start time of URL.")]
596 HRESULT StartTime
([out, retval] long* seconds
);
597 [id(DISPID_StartTime
), propput, helpstring("Returns/sets playback start time of URL.")]
598 HRESULT StartTime
([in] long seconds
);
600 [id(DISPID_MRL
), propget, helpstring("Returns/sets the default MRL in playlist")]
601 HRESULT MRL
([out, retval] BSTR* mrl
);
602 [id(DISPID_MRL
), propput, helpstring("Returns/sets the default MRL in playlist")]
603 HRESULT MRL
([in] BSTR mrl
);
605 [propget, helpstring("Returns VLC Version.")]
606 HRESULT VersionInfo
([out, retval] BSTR* version);
608 [id(DISPID_Visible
), propget, helpstring("Returns/sets a value that determines whether viewing area is visible or hidden.")]
609 HRESULT Visible
([out, retval] VARIANT_BOOL* visible
);
610 [id(DISPID_Visible
), propput, helpstring("Returns/sets a value that determines whether viewing area is visible or hidden.")]
611 HRESULT Visible
([in] VARIANT_BOOL visible
);
613 [id(DISPID_Volume
), propget, helpstring("Returns/sets default audio volume.")]
614 HRESULT Volume
([out, retval] long* volume
);
615 [id(DISPID_Volume
), propput, helpstring("Returns/sets default audio volume.")]
616 HRESULT Volume
([in] long volume
);
618 [id(DISPID_BackColor
), propget, helpstring("Returns/sets background color.")]
619 HRESULT BackColor
([out, retval] OLE_COLOR
* backcolor
);
620 [id(DISPID_BackColor
), propput, helpstring("Returns/sets background color.")]
621 HRESULT BackColor
([in] OLE_COLOR backcolor
);
624 * caution: vlcobject.toolbar:bool does not yet exists in Firefox
625 * plugin. Official usage is through "toolbar" property for now,
626 * which is compatibile with Firefox.
628 [id(DISPID_Toolbar
), propget, helpstring("Returns/sets visibility of the toolbar")]
629 HRESULT Toolbar
([out, retval] VARIANT_BOOL* visible
);
630 [id(DISPID_Toolbar
), propput, helpstring("Returns/sets visibility of the toolbar")]
631 HRESULT Toolbar
([in] VARIANT_BOOL visible
);
633 [propget, helpstring("Returns the audio object.")]
634 HRESULT audio
([out, retval] IVLCAudio
** obj
);
636 [propget, helpstring("Returns the audio object.")]
637 HRESULT input
([out, retval] IVLCInput
** obj
);
639 [propget, helpstring("Returns the playlist object.")]
640 HRESULT playlist
([out, retval] IVLCPlaylist
** obj
);
642 [propget, helpstring("Returns the audio object.")]
643 HRESULT subtitle
([out, retval] IVLCSubtitle
** obj
);
645 [propget, helpstring("Returns the audio object.")]
646 HRESULT video
([out, retval] IVLCVideo
** obj
);
650 uuid(E23FE9C6
-778E-49D4
-B537
-38FCDE4887D8
),
651 helpstring("VLC control (deprecated)"),
656 [default] interface IVLCControl
;
657 interface IVLCControl2
;
658 [default, source] dispinterface DVLCEvents
;
662 uuid(9BE31822
-FDAD
-461B
-AD51
-BE1D1C159921
),
663 helpstring("VLC control"),
668 [default] interface IVLCControl2
;
669 interface IVLCControl
;
670 [default, source] dispinterface DVLCEvents
;