int Init( lua_State *L ) { if (FAILED(::CoInitialize(NULL))) return 1; HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void **)&Voice); if( !SUCCEEDED( hr ) ) return 1; Voice->GetVolume(&DefaultVolume); Voice->GetRate(&DefaultRate); Voice->GetVoice(&DefaultVoice); ILuaInterface* gLua = Lua(); ILuaObject* tts = gLua->GetNewTable(); tts->SetMember( "Say", Say ); tts->SetMember( "IsSpeaking", IsSpeaking ); tts->SetMember( "QueueSize", QueueSize ); tts->SetMember( "Pause", Pause ); tts->SetMember( "Resume", Resume ); gLua->SetGlobal( "tts", tts ); tts->UnReference(); return 0; }
int Open(lua_State* L) { ILuaInterface *gLua = Lua(); ILuaObject* gntp = gLua->GetNewTable(); gntp->SetMember("Notify", growl_notify); gLua->SetGlobal("gntp", gntp); gntp->UnReference(); return 0; }
int Start(lua_State *L) { ILuaInterface *gLua = Lua(); /* RSA::PrivateKey privKey; StringSource privateKey( serverprivatekey, *serverprivatekey_length, true); try { privKey.BERDecode(privateKey); } catch(...) { std::cerr << "Private key error" << std::endl; } */ ILuaObject *table = gLua->GetNewTable(); table->SetMember("md5", crypto_md5); table->SetMember("sha1", crypto_sha1); table->SetMember("sha256", crypto_sha256); gLua->SetGlobal("crypto", table); return 0; }