]> git.sesse.net Git - vlc/blob - activex/axvlc.idl
A few adds to fr translation
[vlc] / activex / axvlc.idl
1 /*****************************************************************************\r
2  * axvlc.idl: ActiveX control for VLC\r
3  *****************************************************************************\r
4  * Copyright (C) 2005 the VideoLAN team\r
5  *\r
6  * Authors: Damien Fouilleul <Damien.Fouilleul@laposte.net>\r
7  *\r
8  * This program is free software; you can redistribute it and/or modify\r
9  * it under the terms of the GNU General Public License as published by\r
10  * the Free Software Foundation; either version 2 of the License, or\r
11  * (at your option) any later version.\r
12  *\r
13  * This program is distributed in the hope that it will be useful,\r
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
16  * GNU General Public License for more details.\r
17  *\r
18  * You should have received a copy of the GNU General Public License\r
19  * along with this program; if not, write to the Free Software\r
20  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.\r
21  *****************************************************************************/\r
22 \r
23 [\r
24   uuid(DF2BBE39-40A8-433b-A279-073F48DA94B6),\r
25   version(1.0),\r
26   helpstring("VideoLAN VLC ActiveX Plugin"),\r
27 ]\r
28 library AXVLC\r
29 {\r
30     importlib("stdole2.tlb");\r
31 \r
32     // Forward declare all types defined in this typelib\r
33     interface IVLCControl;\r
34     dispinterface DVLCEvents;\r
35 \r
36     enum VLCPlaylistMode\r
37     {\r
38         VLCPlayListInsert       =  1,\r
39         VLCPlayListInsertAndGo  =  9,\r
40         VLCPlayListReplace      =  2,\r
41         VLCPlayListReplaceAndGo = 10,\r
42         VLCPlayListAppend       =  4,\r
43         VLCPlayListAppendAndGo  = 12,\r
44         VLCPlayListCheckInsert  = 16\r
45     };\r
46 \r
47     // playlist target position\r
48     const int VLCPlayListEnd    = -666;\r
49 \r
50     // DISPID definitions\r
51     const int DISPID_Visible    = 100;\r
52     const int DISPID_Playing    = 101;\r
53     const int DISPID_Position   = 102;\r
54     const int DISPID_Time       = 103;\r
55     const int DISPID_Length     = 104;\r
56     const int DISPID_Volume     = 105;\r
57     const int DISPID_MRL        = 106;\r
58     const int DISPID_AutoPlay   = 107;\r
59     const int DISPID_AutoLoop   = 108;\r
60 \r
61     [\r
62       odl,\r
63       uuid(C2FA41D0-B113-476e-AC8C-9BD14999C1C1),\r
64       helpstring("VLC Control"),\r
65       dual,\r
66       hidden,\r
67       oleautomation\r
68     ]\r
69     interface IVLCControl : IDispatch\r
70     {\r
71         [id(DISPID_Visible), propget, bindable, helpstring("Shows or hides plugin.")]\r
72         HRESULT Visible([out, retval] VARIANT_BOOL* visible);\r
73         [id(DISPID_Visible), propput, bindable, helpstring("Shows or hides plugin.")]\r
74         HRESULT Visible([in] VARIANT_BOOL visible);\r
75         [helpstring("Play current target in playlist.")]\r
76         HRESULT play();\r
77         [helpstring("Pause playback.")]\r
78         HRESULT pause();\r
79         [helpstring("Stop playback.")]\r
80         HRESULT stop();\r
81         [id(DISPID_Playing), hidden, propget, helpstring("Returns whether VLC is playing.")]\r
82         HRESULT Playing([out, retval] VARIANT_BOOL* isPlaying);\r
83         [id(DISPID_Position), propget, helpstring("Specifies playback position within current target in playlist, position is a relative value ranging from 0.0 to 1.0.")]\r
84         HRESULT Position([out, retval] float* position);\r
85         [id(DISPID_Position), propput, helpstring("Specifies playback position within current target in playlist, position is a relative value ranging from 0.0 to 1.0.")]\r
86         HRESULT Position([in] float position);\r
87         [id(DISPID_Time), propget, helpstring("Specifies playback time relative to the start of current target in playlist.")]\r
88         HRESULT Time([out, retval] int* seconds);\r
89         [id(DISPID_Time), propput, helpstring("Specifies playback time relative to the start of current target in playlist.")]\r
90         HRESULT Time([in] int seconds);\r
91         [helpstring("Advance or backtrack playback time, relative to current time.")]\r
92         HRESULT shuttle([in] int seconds);\r
93         [helpstring("Switch between normal and fullscreen video.")]\r
94         HRESULT fullscreen();\r
95         [id(DISPID_Length), propget, hidden, helpstring("Returns total length in seconds of current target in playlist, may be unknown.")]\r
96         HRESULT Length([out, retval] int* seconds);\r
97         [helpstring("Increases playback speed, one of 1x, 2x, 4x, 8x.")]\r
98         HRESULT playFaster();\r
99         [helpstring("Decreases playback speed, one of 1x, 2x, 4x, 8x.")]\r
100         HRESULT playSlower();\r
101         [id(DISPID_Volume), propget, helpstring("Specifies playback sound volume, ranges from 0 to 200%.")]\r
102         HRESULT Volume([out, retval] int* volume);\r
103         [id(DISPID_Volume), propput, helpstring("Specifies playback sound volume, ranges from 0 to 200%.")]\r
104         HRESULT Volume([in] int volume);\r
105         [helpstring("Mute/unmute playback sound volume.")]\r
106         HRESULT toggleMute();\r
107         [helpstring("Set a value to a VLC variable.")]\r
108         HRESULT setVariable([in] BSTR name, [in] VARIANT value);\r
109         [helpstring("Retrieve the value of a VLC variable.")]\r
110         HRESULT getVariable([in] BSTR name, [out, retval] VARIANT *value);\r
111         [helpstring("Add a target to the current playlist.")]\r
112 \r
113 /*\r
114 ** use VARIANT rather than a SAFEARRAY as argument type\r
115 ** for compatibility with some scripting language (JScript)\r
116 */\r
117 \r
118         HRESULT addTarget([in] BSTR uri, [in] VARIANT options, [in] enum VLCPlaylistMode mode, [in] int position);\r
119         [propget, helpstring("Returns index of current target in playlist.")]\r
120         HRESULT PlaylistIndex([out, retval] int* index);\r
121         [propget, helpstring("Returns number of items in playlist.")]\r
122         HRESULT PlaylistCount([out, retval] int* index);\r
123         [helpstring("Advance to next item in playlist.")]\r
124         HRESULT playlistNext();\r
125         [helpstring("Advance to previous item in playlist.")]\r
126         HRESULT playlistPrev();\r
127         [helpstring("Remove all items from playlist.")]\r
128         HRESULT playlistClear();\r
129         [propget, hidden, helpstring("Returns VLC Version.")]\r
130         HRESULT VersionInfo([out, retval] BSTR* version);\r
131         [id(DISPID_MRL), propget, helpstring("Returns initial MRL in default playlist")]\r
132         HRESULT MRL([out, retval] BSTR* mrl);\r
133         [id(DISPID_MRL), propput, helpstring("Specifies initial MRL in default playlist")]\r
134         HRESULT MRL([in] BSTR mrl);\r
135         [id(DISPID_AutoPlay), propget, helpstring("Specifies whether default playlist is played on startup")]\r
136         HRESULT AutoPlay([out, retval] VARIANT_BOOL* autoplay);\r
137         [id(DISPID_AutoPlay), propput, helpstring("Returns whether default playlist is played on startup")]\r
138         HRESULT AutoPlay([in] VARIANT_BOOL autoplay);\r
139         [id(DISPID_AutoLoop), propget, helpstring("Specifies whether default playlist is looped")]\r
140         HRESULT AutoLoop([out, retval] VARIANT_BOOL* autoloop);\r
141         [id(DISPID_AutoLoop), propput, helpstring("Returns whether default playlist is looped")]\r
142         HRESULT AutoLoop([in] VARIANT_BOOL autoloop);\r
143     };\r
144 \r
145     const int DISPID_PlayEvent  = 100;\r
146     const int DISPID_PauseEvent = 101;\r
147     const int DISPID_StopEvent  = 102;\r
148 \r
149     [\r
150       uuid(DF48072F-5EF8-434e-9B40-E2F3AE759B5F),\r
151       helpstring("Event interface for VLC control"),\r
152       hidden\r
153     ]\r
154     dispinterface DVLCEvents\r
155     {\r
156         properties:\r
157         methods:\r
158             [id(DISPID_PlayEvent), helpstring("Playback in progress")]\r
159             void play();\r
160             [id(DISPID_PauseEvent), helpstring("Playback has paused")]\r
161             void pause();\r
162             [id(DISPID_StopEvent), helpstring("Playback has stopped")]\r
163             void stop();\r
164     };\r
165 \r
166     [\r
167       uuid(E23FE9C6-778E-49D4-B537-38FCDE4887D8),\r
168       helpstring("VLC control"),\r
169       control\r
170     ]\r
171     coclass VLCPlugin\r
172     {\r
173         [default] interface IVLCControl;\r
174         [default, source] dispinterface DVLCEvents;\r
175     };\r
176 };\r