extern "C" __declspec(dllexport) HRESULT _stdcall V2Unlink() { TVPSetXP3ArchiveExtractionFilter(NULL); TVPUninitImportStub(); //cxdec_release(); return S_OK; }
//--------------------------------------------------------------------------- // V2Unlink : Uninitialize TVP plugin interface //--------------------------------------------------------------------------- HRESULT __stdcall V2Unlink() { TVPUninitImportStub(); #ifdef _DEBUG _CrtDumpMemoryLeaks(); #endif return S_OK; }
extern "C" HRESULT _stdcall V2Unlink() { if(TVPPluginGlobalRefCount > GlobalRefCountAtInit) return E_FAIL; TVPUnregisterDSVideoCodec( TJS_W(".ogg"), (void*)&MEDIASUBTYPE_Ogg, tTVPCreateOggFilter, tTVPCreateTheoraFilter, tTVPCreateVorbisFilter, NULL ); TVPUnregisterDSVideoCodec( TJS_W(".ogv"), (void*)&MEDIASUBTYPE_Ogg, tTVPCreateOggFilter, tTVPCreateTheoraFilter, tTVPCreateVorbisFilter, NULL ); // スタブの使用終了(必ず記述する) TVPUninitImportStub(); return S_OK; }
//--------------------------------------------------------------------------- extern "C" HRESULT _stdcall _export V2Unlink() { // 吉里吉里側から、プラグインを解放しようとするときに呼ばれる関数。 // もし何らかの条件でプラグインを解放できない場合は // この時点で E_FAIL を返すようにする。 // ここでは、TVPPluginGlobalRefCount が GlobalRefCountAtInit よりも // 大きくなっていれば失敗ということにする。 TVPAddLog(TVPPluginGlobalRefCount); if(TVPPluginGlobalRefCount > GlobalRefCountAtInit) return E_FAIL; // E_FAIL が帰ると、Plugins.unlink メソッドは偽を返す // TJS のグローバルオブジェクトに登録した drawFFTGraph 関数を削除する // - まず、TJS のグローバルオブジェクトを取得する iTJSDispatch2 * global = TVPGetScriptDispatch(); // - global の DeleteMember メソッドを用い、オブジェクトを削除する if(global) { // TJS 自体が既に解放されていたときなどは // global は NULL になり得るので global が NULL でない // ことをチェックする global->DeleteMember( 0, // フラグ ( 0 でよい ) TJS_W("drawFFTGraph"), // メンバ名 NULL, // ヒント global // コンテキスト ); // 登録した関数が複数ある場合は これを繰り返す } // - global を Release する if(global) global->Release(); // スタブの使用終了(必ず記述する) TVPUninitImportStub(); // その他の処理 if(SampleBuffer) delete [] SampleBuffer, SampleBuffer = NULL; if(FFTData) delete [] FFTData, FFTData = NULL; if(WindowData) delete [] WindowData, WindowData = NULL; if(fft_ip) delete [] fft_ip, fft_ip = NULL; if(fft_w) delete[] fft_w, fft_w = NULL; if(BandData) delete [] BandData, BandData = NULL; if(BandPeakData) delete [] BandPeakData, BandPeakData = NULL; if(BandPeakCount) delete [] BandPeakCount, BandPeakCount = NULL; if(BandStart) delete [] BandStart, BandStart = NULL; if(BandEnd) delete [] BandEnd, BandEnd = NULL; return S_OK; }
//--------------------------------------------------------------------------- extern "C" HRESULT _stdcall _export V2Unlink() { // 吉里吉里側から、プラグインを解放しようとするときに呼ばれる関数。 // もし何らかの条件でプラグインを解放できない場合は // この時点で E_FAIL を返すようにする。 // ここでは、TVPPluginGlobalRefCount が GlobalRefCountAtInit よりも // 大きくなっていれば失敗ということにする。 if(TVPPluginGlobalRefCount > GlobalRefCountAtInit) return E_FAIL; // E_FAIL が帰ると、Plugins.unlink メソッドは偽を返す // TJS のグローバルオブジェクトに登録した関数を削除する // - まず、TJS のグローバルオブジェクトを取得する iTJSDispatch2 * global = TVPGetScriptDispatch(); // - global の DeleteMember メソッドを用い、オブジェクトを削除する if(global) { // TJS 自体が既に解放されていたときなどは // global は NULL になり得るので global が NULL でない // ことをチェックする global->DeleteMember( 0, // フラグ ( 0 でよい ) TJS_W("wmrStart"), // メンバ名 NULL, // ヒント global // コンテキスト ); global->DeleteMember( 0, // フラグ ( 0 でよい ) TJS_W("wmrStop"), // メンバ名 NULL, // ヒント global // コンテキスト ); // 登録した関数が複数ある場合は これを繰り返す } // - global を Release する if(global) global->Release(); // スタブの使用終了(必ず記述する) TVPUninitImportStub(); return S_OK; }
//--------------------------------------------------------------------------- extern "C" __declspec(dllexport) HRESULT __stdcall V2Unlink() { if(TVPPluginGlobalRefCount > GlobalRefCountAtInit) return E_FAIL; // - まず、TJS のグローバルオブジェクトを取得する iTJSDispatch2 * global = TVPGetScriptDispatch(); if (global) { tTJSVariant varScripts; TVPExecuteExpression(TJS_W("System"), &varScripts); iTJSDispatch2 *dispatch = varScripts.AsObjectNoAddRef(); if (dispatch) { dispatch->DeleteMember(0, FPSLIMITNAME, NULL, dispatch); } global->Release(); } TVPRemoveContinuousEventHook(&limit); TVPUninitImportStub(); return S_OK; }
//--------------------------------------------------------------------------- // V2Unlink : Uninitialize TVP plugin interface //--------------------------------------------------------------------------- extern "C" HRESULT _stdcall _export V2Unlink() { TVPUninitImportStub(); return S_OK; }