- Script: Return types are now checked explicitly. As a result, 'return 5' and 'return "5"' are not equal any longer. Only the former will respect NumOfDecimals, Scale, etc. now.

- NowPlayingPlugin: Accidentally removed "Previous" bang in r880, fixed.
This commit is contained in:
Birunthan Mohanathas 2011-08-01 17:08:51 +00:00
parent cb4aa0ade3
commit 5eef7a21c7
4 changed files with 17 additions and 18 deletions

View File

@ -100,11 +100,7 @@ bool CMeasureScript::Update()
{ {
m_ValueType = m_LuaScript->RunFunctionWithReturn(g_UpdateFunctionName, m_Value, m_StringValue); m_ValueType = m_LuaScript->RunFunctionWithReturn(g_UpdateFunctionName, m_Value, m_StringValue);
if (m_ValueType == LUA_TSTRING) if (m_ValueType == LUA_TNIL && m_HasGetStringFunction)
{
m_Value = 0;
}
else if (m_ValueType == LUA_TNIL && m_HasGetStringFunction)
{ {
// For backwards compatbility // For backwards compatbility
m_ValueType = m_LuaScript->RunFunctionWithReturn(g_GetStringFunctionName, m_Value, m_StringValue); m_ValueType = m_LuaScript->RunFunctionWithReturn(g_GetStringFunctionName, m_Value, m_StringValue);

View File

@ -147,12 +147,11 @@ void LuaScript::RunFunction(const char* funcName)
** RunFunctionWithReturn ** RunFunctionWithReturn
** **
** Runs given function in script file and stores the retruned number or string. ** Runs given function in script file and stores the retruned number or string.
** Returns LUA_TNIL when no return.
** **
*/ */
int LuaScript::RunFunctionWithReturn(const char* funcName, double& numValue, std::wstring& strValue) int LuaScript::RunFunctionWithReturn(const char* funcName, double& numValue, std::wstring& strValue)
{ {
int ret = LUA_TNIL; int type = LUA_TNIL;
if (m_Initialized) if (m_Initialized)
{ {
@ -169,23 +168,23 @@ int LuaScript::RunFunctionWithReturn(const char* funcName, double& numValue, std
} }
else else
{ {
if (lua_isnumber(m_State, -1)) type = lua_type(m_State, -1);
if (type == LUA_TNUMBER)
{ {
numValue = lua_tonumber(m_State, -1); numValue = lua_tonumber(m_State, -1);
ret = LUA_TNUMBER;
} }
else if (lua_isstring(m_State, -1)) else if (type == LUA_TSTRING)
{ {
const char* str = lua_tostring(m_State, -1); const char* str = lua_tostring(m_State, -1);
strValue = ConvertToWide(str); strValue = ConvertToWide(str);
ret = LUA_TSTRING; numValue = 0;
} }
lua_pop(m_State, 2); lua_pop(m_State, 2);
} }
} }
return ret; return type;
} }
/* /*

View File

@ -466,14 +466,18 @@ void ExecuteBang(LPCTSTR bang, UINT id)
{ {
(player->GetState() != PLAYER_PLAYING) ? player->Play() : player->Pause(); (player->GetState() != PLAYER_PLAYING) ? player->Play() : player->Pause();
} }
else if (_wcsicmp(bang, L"Stop") == 0)
{
player->Stop();
}
else if (_wcsicmp(bang, L"Next") == 0) else if (_wcsicmp(bang, L"Next") == 0)
{ {
player->Next(); player->Next();
} }
else if (_wcsicmp(bang, L"Previous") == 0)
{
player->Previous();
}
else if (_wcsicmp(bang, L"Stop") == 0)
{
player->Stop();
}
else if (_wcsicmp(bang, L"OpenPlayer") == 0) else if (_wcsicmp(bang, L"OpenPlayer") == 0)
{ {
player->OpenPlayer(parent->playerPath); player->OpenPlayer(parent->playerPath);

View File

@ -12,7 +12,7 @@
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,1,3,3 FILEVERSION 1,1,3,4
PRODUCTVERSION PRODUCTVER PRODUCTVERSION PRODUCTVER
FILEFLAGSMASK 0x17L FILEFLAGSMASK 0x17L
#ifdef _DEBUG #ifdef _DEBUG
@ -29,7 +29,7 @@ BEGIN
BLOCK "040904E4" BLOCK "040904E4"
BEGIN BEGIN
VALUE "FileDescription", "NowPlaying Plugin for Rainmeter" VALUE "FileDescription", "NowPlaying Plugin for Rainmeter"
VALUE "FileVersion", "1.1.3.3" VALUE "FileVersion", "1.1.3.4"
VALUE "InternalName", "NowPlaying" VALUE "InternalName", "NowPlaying"
VALUE "LegalCopyright", "Copyright (C) 2011 - Birunthan Mohanathas" VALUE "LegalCopyright", "Copyright (C) 2011 - Birunthan Mohanathas"
VALUE "OriginalFilename", "NowPlaying.dll" VALUE "OriginalFilename", "NowPlaying.dll"