properties:\r
methods:\r
[id(1), helpstring("Playback in progress")]\r
- void OnPlay();\r
+ void Play();\r
[id(2), helpstring("Playback has paused")]\r
- void OnPause();\r
+ void Pause();\r
[id(3), helpstring("Playback has stopped")]\r
- void OnStop();\r
+ void Stop();\r
};\r
\r
[\r
return (NULL != *ppEnum ) ? S_OK : E_OUTOFMEMORY;\r
};\r
\r
-void VLCConnectionPoint::fireEvent(DISPID dispId, LCID lcid, DISPPARAMS* pDispParams)\r
+void VLCConnectionPoint::fireEvent(DISPID dispId, DISPPARAMS* pDispParams)\r
{\r
vector<CONNECTDATA>::iterator end = _connections.end();\r
vector<CONNECTDATA>::iterator iter = _connections.begin();\r
IDispatch *pDisp;\r
if( SUCCEEDED(cd.pUnk->QueryInterface(IID_IDispatch, (LPVOID *)&pDisp)) )\r
{\r
- unsigned int puArgErr;\r
- VARIANT vRes;\r
-\r
- if( SUCCEEDED(pDisp->Invoke(dispId, IID_NULL, lcid, DISPATCH_METHOD, pDispParams, &vRes, NULL, &puArgErr)) )\r
- {\r
- VariantClear(&vRes);\r
- }\r
+ pDisp->Invoke(dispId, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, pDispParams, NULL, NULL, NULL);\r
pDisp->Release();\r
}\r
}\r
return NOERROR;\r
};\r
\r
-void VLCConnectionPointContainer::fireEvent(DISPID dispId, LCID lcid, DISPPARAMS* pDispParams)\r
+void VLCConnectionPointContainer::fireEvent(DISPID dispId, DISPPARAMS* pDispParams)\r
{\r
- _p_events->fireEvent(dispId,lcid, pDispParams);\r
+ _p_events->fireEvent(dispId, pDispParams);\r
};\r
\r
void VLCConnectionPointContainer::firePropChangedEvent(DISPID dispId)\r
STDMETHODIMP Unadvise(DWORD);\r
STDMETHODIMP EnumConnections(LPENUMCONNECTIONS *);\r
\r
- void fireEvent(DISPID dispIdMember, LCID lcid, DISPPARAMS* pDispParams);\r
+ void fireEvent(DISPID dispIdMember, DISPPARAMS* pDispParams);\r
void firePropChangedEvent(DISPID dispId);\r
\r
private:\r
STDMETHODIMP EnumConnectionPoints(LPENUMCONNECTIONPOINTS *);\r
STDMETHODIMP FindConnectionPoint(REFIID, LPCONNECTIONPOINT *);\r
\r
- void fireEvent(DISPID, LCID, DISPPARAMS*);\r
+ void fireEvent(DISPID, DISPPARAMS*);\r
void firePropChangedEvent(DISPID dispId);\r
\r
private:\r
if( _b_sendevents )\r
{\r
DISPPARAMS dispparamsNoArgs = {NULL, NULL, 0, 0};\r
- vlcConnectionPointContainer->fireEvent(1, LOCALE_USER_DEFAULT, &dispparamsNoArgs); \r
+ vlcConnectionPointContainer->fireEvent(1, &dispparamsNoArgs); \r
}\r
};\r
\r
if( _b_sendevents )\r
{\r
DISPPARAMS dispparamsNoArgs = {NULL, NULL, 0, 0};\r
- vlcConnectionPointContainer->fireEvent(2, LOCALE_USER_DEFAULT, &dispparamsNoArgs); \r
+ vlcConnectionPointContainer->fireEvent(2, &dispparamsNoArgs); \r
}\r
};\r
\r
if( _b_sendevents )\r
{\r
DISPPARAMS dispparamsNoArgs = {NULL, NULL, 0, 0};\r
- vlcConnectionPointContainer->fireEvent(3, LOCALE_USER_DEFAULT, &dispparamsNoArgs); \r
+ vlcConnectionPointContainer->fireEvent(3, &dispparamsNoArgs); \r
}\r
};\r
\r
\r
/* custom methods */\r
HRESULT getTypeLib(ITypeLib **pTL)\r
- { return LoadRegTypeLib(LIBID_AXVLC, 1, 0, LOCALE_NEUTRAL, pTL); };\r
+ { return LoadRegTypeLib(LIBID_AXVLC, 1, 0, LOCALE_USER_DEFAULT, pTL); };\r
REFCLSID getClassID(void) { return (REFCLSID)CLSID_VLCPlugin; };\r
REFIID getDispEventID(void) { return (REFIID)DIID_DVLCEvents; };\r
\r
\r
int getVLCObject(void) { return _i_vlc; };\r
\r
- // initial properties\r
+ // control properties\r
void setSourceURL(const char *url) { _psz_src = strdup(url); };\r
void setAutoStart(BOOL autostart) { _b_autostart = autostart; };\r
void setLoopMode(BOOL loopmode) { _b_loopmode = loopmode; };\r
}\r
};\r
void setShowDisplay(BOOL show) { _b_showdisplay = show; };\r
+ BOOL getShowDisplay(void) { return _b_showdisplay; };\r
+ void setSendEvents(BOOL sendevents) { _b_sendevents = sendevents; };\r
\r
+ // container events\r
void onPositionChange(LPCRECT lprcPosRect, LPCRECT lprcClipRect);\r
void onPaint(PAINTSTRUCT &ps, RECT &pr);\r
\r
- // plugin events\r
- void setSendEvents(BOOL sendevents) { _b_sendevents = sendevents; };\r
+ // control events\r
void fireOnPlayEvent(void);\r
void fireOnPauseEvent(void);\r
void fireOnStopEvent(void);\r
HRESULT hr = _p_instance->getTypeLib(&p_typelib);\r
if( SUCCEEDED(hr) )\r
{\r
- hr = p_typelib->GetTypeInfoOfGuid(_p_instance->getDispEventID(), ppTI);\r
+ hr = p_typelib->GetTypeInfoOfGuid(_p_instance->getClassID(), ppTI);\r
if( FAILED(hr) )\r
{\r
*ppTI = NULL;\r
</OBJECT>
<SCRIPT LANGUAGE="JScript">
<!--
-function vlc::OnPlay()
+function vlc::play()
{
- alert("Playing");
+ alert("VLC is Playing");
};
-function vlc::OnPause()
+function vlc::pause()
{
- alert("Paused");
+ alert("VLC has Paused");
};
-function vlc::OnStop()
+function vlc::stop()
{
- alert("Stopped");
+ alert("VLC has Stopped");
};
//-->
</SCRIPT>
</TD></TR>
<TR><TD>
-<INPUT type=submit value="Play" onClick='document.vlc.play();'>
-<INPUT type=submit value="Pause" onClick='document.vlc.pause();'>
-<INPUT type=submit value="Stop" onClick='document.vlc.stop();'>
-<INPUT type=submit value=" << " onClick='document.vlc.playSlower();'>
-<INPUT type=submit value=" >> " onClick='document.vlc.playFaster();'>
-<INPUT type=submit value="Mute" onClick='document.vlc.toggleMute();'>
-<INPUT type=submit value="Show" onClick='document.vlc.Visible = true;'>
-<INPUT type=submit value="Hide" onClick='document.vlc.Visible = false;'>
-<INPUT type=submit value="Version" onClick='alert(document.vlc.VersionInfo);'>
+<INPUT type=button value="Play" onClick='document.vlc.play();'>
+<INPUT type=button value="Stop" onClick='document.vlc.stop();'>
+<INPUT type=button value="Pause" onClick='document.vlc.pause();'>
+<INPUT type=button value=" << " onClick='document.vlc.playSlower();'>
+<INPUT type=button value=" >> " onClick='document.vlc.playFaster();'>
+<INPUT type=button value="Mute" onClick='document.vlc.toggleMute();'>
+<INPUT type=button value="Show" onClick='document.vlc.Visible = true;'>
+<INPUT type=button value="Hide" onClick='document.vlc.Visible = false;'>
+<INPUT type=button value="Version" onClick='alert(document.vlc.VersionInfo);'>
</TD></TR>
</TABLE>
</BODY>
{\r
char *buffer = (char *)malloc(mblen+1);\r
ZeroMemory(buffer, mblen+1);\r
- if( WideCharToMultiByte(CP_ACP, 0, bstr, len, buffer, mblen, NULL, NULL) )\r
+ if( WideCharToMultiByte(codePage, 0, bstr, len, buffer, mblen, NULL, NULL) )\r
return buffer;\r
}\r
}\r
if( _p_instance->isInPlaceActive() )\r
*isVisible = _p_instance->isVisible() ? VARIANT_TRUE : VARIANT_FALSE;\r
else\r
- *isVisible = VARIANT_FALSE;\r
+ *isVisible = _p_instance->getShowDisplay() ? VARIANT_TRUE : VARIANT_FALSE;\r
\r
return NOERROR;\r
};\r