#include #include #include #include PureWave *lpPureWave=0; PureVector waveForms; #if defined(__FLAT__) BOOL WINAPI DllEntryPoint(HINSTANCE /*hInstance*/,DWORD reasonCode,LPVOID /*lpvReserved*/) { switch(reasonCode) { case DLL_PROCESS_ATTACH : // createInstanceData(hInstance); break; case DLL_PROCESS_DETACH : // destroyInstanceData(); break; } return TRUE; } #else int CALLBACK _export LibMain(HINSTANCE hInstance,WORD /*wDataSeg*/,WORD /*wHeapSize*/,LPSTR /*lpszCmdLine*/) { createInstanceData(hInstance); return TRUE; } int CALLBACK _export WEP(int /*nExitType*/) { destroyInstanceData(); return TRUE; } #endif short CALLBACK _export play(WORD waveFormIndex,WORD waitFlag) { if(!lpPureWave)return FALSE; if(waveFormIndex>=waveForms.size())return FALSE; return lpPureWave->play(waveForms[waveFormIndex],waitFlag?DeviceHandler::Wait:DeviceHandler::NoWait); } short CALLBACK _export preLoadSamples(Block &pathFileNames) { if(!lpPureWave)return FALSE; waveForms.size(pathFileNames.size()); for(short index=0;index