mirror of
https://github.com/chibicitiberiu/rainmeter-studio.git
synced 2024-02-24 04:33:31 +00:00
- Added ability to escape real variables and measures as follows: #*RealVar*# [*RealMeasure*]
- NowPlayingPlugin: Addition change to r880 OpenPlayer fix - Removing tolua++ generation package files
This commit is contained in:
parent
d7dedcfc75
commit
e74d6f4619
@ -453,19 +453,28 @@ bool CConfigParser::ReplaceVariables(std::wstring& result)
|
|||||||
end = result.find(L'#', pos + 1);
|
end = result.find(L'#', pos + 1);
|
||||||
if (end != std::wstring::npos)
|
if (end != std::wstring::npos)
|
||||||
{
|
{
|
||||||
std::wstring strVariable = result.substr(pos + 1, end - (pos + 1));
|
if (result[pos + 1] == L'*' && result[end - 1] == L'*')
|
||||||
std::wstring strValue;
|
|
||||||
|
|
||||||
if (GetVariable(strVariable, strValue))
|
|
||||||
{
|
{
|
||||||
// Variable found, replace it with the value
|
result.erase(pos + 1, 1);
|
||||||
result.replace(pos, end - pos + 1, strValue);
|
result.erase(end - 2, 1);
|
||||||
start = pos + strValue.length();
|
start = end - 1;
|
||||||
replaced = true;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
start = end;
|
std::wstring strVariable = result.substr(pos + 1, end - (pos + 1));
|
||||||
|
std::wstring strValue;
|
||||||
|
|
||||||
|
if (GetVariable(strVariable, strValue))
|
||||||
|
{
|
||||||
|
// Variable found, replace it with the value
|
||||||
|
result.replace(pos, end - pos + 1, strValue);
|
||||||
|
start = pos + strValue.length();
|
||||||
|
replaced = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
start = end;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -510,21 +519,30 @@ bool CConfigParser::ReplaceMeasures(std::wstring& result)
|
|||||||
pos2 = result.find(L'[', pos + 1);
|
pos2 = result.find(L'[', pos + 1);
|
||||||
if (pos2 == std::wstring::npos || end < pos2)
|
if (pos2 == std::wstring::npos || end < pos2)
|
||||||
{
|
{
|
||||||
std::wstring var = result.substr(pos + 1, end - (pos + 1));
|
if (result[pos + 1] == L'*' && result[end - 1] == L'*')
|
||||||
|
|
||||||
CMeasure* measure = GetMeasure(var);
|
|
||||||
if (measure)
|
|
||||||
{
|
{
|
||||||
std::wstring value = measure->GetStringValue(AUTOSCALE_OFF, 1, -1, false);
|
result.erase(pos + 1, 1);
|
||||||
|
result.erase(end - 2, 1);
|
||||||
// Measure found, replace it with the value
|
start = end - 1;
|
||||||
result.replace(pos, end - pos + 1, value);
|
|
||||||
start = pos + value.length();
|
|
||||||
replaced = true;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
start = end;
|
std::wstring var = result.substr(pos + 1, end - (pos + 1));
|
||||||
|
|
||||||
|
CMeasure* measure = GetMeasure(var);
|
||||||
|
if (measure)
|
||||||
|
{
|
||||||
|
std::wstring value = measure->GetStringValue(AUTOSCALE_OFF, 1, -1, false);
|
||||||
|
|
||||||
|
// Measure found, replace it with the value
|
||||||
|
result.replace(pos, end - pos + 1, value);
|
||||||
|
start = pos + value.length();
|
||||||
|
replaced = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
start = end;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -747,14 +747,6 @@
|
|||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Use</PrecompiledHeader>
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Use</PrecompiledHeader>
|
||||||
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|x64'">../StdAfx.h</PrecompiledHeaderFile>
|
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|x64'">../StdAfx.h</PrecompiledHeaderFile>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="lua\glue\LuaGroup.cpp">
|
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Use</PrecompiledHeader>
|
|
||||||
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../StdAfx.h</PrecompiledHeaderFile>
|
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Use</PrecompiledHeader>
|
|
||||||
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../StdAfx.h</PrecompiledHeaderFile>
|
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Use</PrecompiledHeader>
|
|
||||||
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|x64'">../../StdAfx.h</PrecompiledHeaderFile>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="lua\glue\LuaMeasure.cpp">
|
<ClCompile Include="lua\glue\LuaMeasure.cpp">
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Use</PrecompiledHeader>
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Use</PrecompiledHeader>
|
||||||
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../StdAfx.h</PrecompiledHeaderFile>
|
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../StdAfx.h</PrecompiledHeaderFile>
|
||||||
|
@ -171,9 +171,6 @@
|
|||||||
<ClCompile Include="lua\LuaScript.cpp">
|
<ClCompile Include="lua\LuaScript.cpp">
|
||||||
<Filter>Lua</Filter>
|
<Filter>Lua</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="lua\glue\LuaGroup.cpp">
|
|
||||||
<Filter>Lua\glue</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="lua\glue\LuaMeasure.cpp">
|
<ClCompile Include="lua\glue\LuaMeasure.cpp">
|
||||||
<Filter>Lua\glue</Filter>
|
<Filter>Lua\glue</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
@ -197,11 +197,8 @@ void CMeasureScript::ReadConfig(CConfigParser& parser, const WCHAR* section)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pop PROPERTIES table
|
// Pop PROPERTIES table and our table
|
||||||
lua_pop(L, 1);
|
lua_pop(L, 2);
|
||||||
|
|
||||||
// Pop the table
|
|
||||||
lua_pop(L, 1);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -3182,22 +3182,31 @@ std::wstring CRainmeter::ParseCommand(const WCHAR* command, CMeterWindow* meterW
|
|||||||
{
|
{
|
||||||
if (meterWindow)
|
if (meterWindow)
|
||||||
{
|
{
|
||||||
const std::list<CMeasure*>& measures = meterWindow->GetMeasures();
|
if (strCommand[start + 1] == L'*' && strCommand[end - 1] == L'*')
|
||||||
std::list<CMeasure*>::const_iterator iter = measures.begin();
|
|
||||||
for ( ; iter != measures.end(); ++iter)
|
|
||||||
{
|
{
|
||||||
if (_wcsicmp((*iter)->GetName(), measureName.c_str()) == 0)
|
strCommand.erase(start + 1, 1);
|
||||||
{
|
strCommand.erase(end - 2, 1);
|
||||||
std::wstring value = (*iter)->GetStringValue(AUTOSCALE_OFF, 1, -1, false);
|
start = end - 1;
|
||||||
strCommand.replace(start, (end - start) + 1, value);
|
|
||||||
start += value.length();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (iter == measures.end())
|
else
|
||||||
{
|
{
|
||||||
//LogWithArgs(LOG_WARNING, L"No such measure [%s] for execute string: %s", measureName.c_str(), command);
|
const std::list<CMeasure*>& measures = meterWindow->GetMeasures();
|
||||||
start = end + 1;
|
std::list<CMeasure*>::const_iterator iter = measures.begin();
|
||||||
|
for ( ; iter != measures.end(); ++iter)
|
||||||
|
{
|
||||||
|
if (_wcsicmp((*iter)->GetName(), measureName.c_str()) == 0)
|
||||||
|
{
|
||||||
|
std::wstring value = (*iter)->GetStringValue(AUTOSCALE_OFF, 1, -1, false);
|
||||||
|
strCommand.replace(start, (end - start) + 1, value);
|
||||||
|
start += value.length();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (iter == measures.end())
|
||||||
|
{
|
||||||
|
//LogWithArgs(LOG_WARNING, L"No such measure [%s] for execute string: %s", measureName.c_str(), command);
|
||||||
|
start = end + 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -39,7 +39,6 @@ void LuaManager::Init()
|
|||||||
tolua_beginmodule(c_State, NULL);
|
tolua_beginmodule(c_State, NULL);
|
||||||
RegisterGlobal(c_State);
|
RegisterGlobal(c_State);
|
||||||
RegisterMeasure(c_State);
|
RegisterMeasure(c_State);
|
||||||
RegisterGroup(c_State);
|
|
||||||
RegisterMeasure(c_State);
|
RegisterMeasure(c_State);
|
||||||
RegisterMeter(c_State);
|
RegisterMeter(c_State);
|
||||||
RegisterMeterWindow(c_State);
|
RegisterMeterWindow(c_State);
|
||||||
|
@ -38,7 +38,6 @@ protected:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
static void RegisterGlobal(lua_State* L);
|
static void RegisterGlobal(lua_State* L);
|
||||||
static void RegisterGroup(lua_State* L);
|
|
||||||
static void RegisterMeasure(lua_State* L);
|
static void RegisterMeasure(lua_State* L);
|
||||||
static void RegisterMeter(lua_State* L);
|
static void RegisterMeter(lua_State* L);
|
||||||
static void RegisterMeterWindow(lua_State* L);
|
static void RegisterMeterWindow(lua_State* L);
|
||||||
|
@ -59,7 +59,7 @@ LuaScript::LuaScript(lua_State* state, const char* file) : m_State(state),
|
|||||||
lua_setfenv(m_State, -2);
|
lua_setfenv(m_State, -2);
|
||||||
|
|
||||||
// Execute the Lua script
|
// Execute the Lua script
|
||||||
result = lua_pcall(m_State, 0, LUA_MULTRET, 0);
|
result = lua_pcall(m_State, 0, 0, 0);
|
||||||
|
|
||||||
if (result)
|
if (result)
|
||||||
{
|
{
|
||||||
|
@ -1,23 +0,0 @@
|
|||||||
#include "../../StdAfx.h"
|
|
||||||
#include "../LuaManager.h"
|
|
||||||
#include "../../Group.h"
|
|
||||||
|
|
||||||
static int Group_BelongsToGroup(lua_State* L)
|
|
||||||
{
|
|
||||||
CGroup* self = (CGroup*)tolua_tousertype(L, 1, 0);
|
|
||||||
const std::wstring group = (const std::wstring)to_wstring(L, 2, 0);
|
|
||||||
bool val = self->BelongsToGroup(group);
|
|
||||||
lua_pushboolean(L, val);
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
void LuaManager::RegisterGroup(lua_State* L)
|
|
||||||
{
|
|
||||||
tolua_usertype(L, "CGroup");
|
|
||||||
tolua_cclass(L, "CGroup", "CGroup", "", NULL);
|
|
||||||
|
|
||||||
tolua_beginmodule(L, "CGroup");
|
|
||||||
tolua_function(L, "BelongsToGroup", Group_BelongsToGroup);
|
|
||||||
tolua_endmodule(L);
|
|
||||||
}
|
|
@ -25,11 +25,7 @@ static int Measure_GetOption(lua_State* L)
|
|||||||
parser.SetBuiltInVariable(L"CURRENTSECTION", self->GetName()); // Set temporarily
|
parser.SetBuiltInVariable(L"CURRENTSECTION", self->GetName()); // Set temporarily
|
||||||
parser.ReplaceVariables(strTmp);
|
parser.ReplaceVariables(strTmp);
|
||||||
parser.SetBuiltInVariable(L"CURRENTSECTION", L""); // Reset
|
parser.SetBuiltInVariable(L"CURRENTSECTION", L""); // Reset
|
||||||
|
parser.ReplaceMeasures(strTmp);
|
||||||
if (self->HasDynamicVariables())
|
|
||||||
{
|
|
||||||
parser.ReplaceMeasures(strTmp);
|
|
||||||
}
|
|
||||||
|
|
||||||
push_wchar(L, strTmp.c_str());
|
push_wchar(L, strTmp.c_str());
|
||||||
return 1;
|
return 1;
|
||||||
@ -113,7 +109,7 @@ static int Measure_GetStringValue(lua_State* L)
|
|||||||
void LuaManager::RegisterMeasure(lua_State* L)
|
void LuaManager::RegisterMeasure(lua_State* L)
|
||||||
{
|
{
|
||||||
tolua_usertype(L, "CMeasure");
|
tolua_usertype(L, "CMeasure");
|
||||||
tolua_cclass(L, "CMeasure", "CMeasure", "CGroup", NULL);
|
tolua_cclass(L, "CMeasure", "CMeasure", "", NULL);
|
||||||
|
|
||||||
tolua_beginmodule(L, "CMeasure");
|
tolua_beginmodule(L, "CMeasure");
|
||||||
tolua_function(L, "GetName", Measure_GetName);
|
tolua_function(L, "GetName", Measure_GetName);
|
||||||
|
@ -23,11 +23,7 @@ static int Meter_GetOption(lua_State* L)
|
|||||||
parser.SetBuiltInVariable(L"CURRENTSECTION", self->GetName()); // Set temporarily
|
parser.SetBuiltInVariable(L"CURRENTSECTION", self->GetName()); // Set temporarily
|
||||||
parser.ReplaceVariables(strTmp);
|
parser.ReplaceVariables(strTmp);
|
||||||
parser.SetBuiltInVariable(L"CURRENTSECTION", L""); // Reset
|
parser.SetBuiltInVariable(L"CURRENTSECTION", L""); // Reset
|
||||||
|
parser.ReplaceMeasures(strTmp);
|
||||||
if (self->HasDynamicVariables())
|
|
||||||
{
|
|
||||||
parser.ReplaceMeasures(strTmp);
|
|
||||||
}
|
|
||||||
|
|
||||||
push_wchar(L, strTmp.c_str());
|
push_wchar(L, strTmp.c_str());
|
||||||
return 1;
|
return 1;
|
||||||
@ -127,7 +123,7 @@ static int Meter_Show(lua_State* L)
|
|||||||
void LuaManager::RegisterMeter(lua_State* L)
|
void LuaManager::RegisterMeter(lua_State* L)
|
||||||
{
|
{
|
||||||
tolua_usertype(L, "CMeter");
|
tolua_usertype(L, "CMeter");
|
||||||
tolua_cclass(L, "CMeter", "CMeter", "CGroup", NULL);
|
tolua_cclass(L, "CMeter", "CMeter", "", NULL);
|
||||||
|
|
||||||
tolua_beginmodule(L, "CMeter");
|
tolua_beginmodule(L, "CMeter");
|
||||||
tolua_function(L, "GetName", Meter_GetName);
|
tolua_function(L, "GetName", Meter_GetName);
|
||||||
|
@ -4,106 +4,6 @@
|
|||||||
#include "../../MeterWindow.h"
|
#include "../../MeterWindow.h"
|
||||||
#include "../../MeterString.h"
|
#include "../../MeterString.h"
|
||||||
|
|
||||||
static int MeterWindow_MoveMeter(lua_State* L)
|
|
||||||
{
|
|
||||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
|
||||||
int x = (int)tolua_tonumber(L, 2, 0);
|
|
||||||
int y = (int)tolua_tonumber(L, 3, 0);
|
|
||||||
const WCHAR* name = ((const WCHAR*)to_wchar(L, 4, 0));
|
|
||||||
self->MoveMeter(x, y, name);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int MeterWindow_HideMeter(lua_State* L)
|
|
||||||
{
|
|
||||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
|
||||||
const WCHAR* name = ((const WCHAR*)to_wchar(L, 2, 0));
|
|
||||||
bool group = ((bool)tolua_toboolean(L, 3, false));
|
|
||||||
self->HideMeter(name, group);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int MeterWindow_ShowMeter(lua_State* L)
|
|
||||||
{
|
|
||||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
|
||||||
const WCHAR* name = ((const WCHAR*)to_wchar(L, 2, 0));
|
|
||||||
bool group = ((bool)tolua_toboolean(L, 3, false));
|
|
||||||
self->ShowMeter(name, group);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int MeterWindow_ToggleMeter(lua_State* L)
|
|
||||||
{
|
|
||||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
|
||||||
const WCHAR* name = ((const WCHAR*)to_wchar(L, 2, 0));
|
|
||||||
bool group = ((bool)tolua_toboolean(L, 3, false));
|
|
||||||
self->ToggleMeter(name, group);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int MeterWindow_UpdateMeter(lua_State* L)
|
|
||||||
{
|
|
||||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
|
||||||
const WCHAR* name = ((const WCHAR*)to_wchar(L, 2, 0));
|
|
||||||
bool group = ((bool)tolua_toboolean(L, 3, false));
|
|
||||||
self->UpdateMeter(name, group);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int MeterWindow_DisableMeasure(lua_State* L)
|
|
||||||
{
|
|
||||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
|
||||||
const WCHAR* name = ((const WCHAR*)to_wchar(L, 2, 0));
|
|
||||||
bool group = ((bool)tolua_toboolean(L, 3, false));
|
|
||||||
self->DisableMeasure(name, group);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int MeterWindow_EnableMeasure(lua_State* L)
|
|
||||||
{
|
|
||||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
|
||||||
const WCHAR* name = ((const WCHAR*)to_wchar(L, 2, 0));
|
|
||||||
bool group = ((bool)tolua_toboolean(L, 3, false));
|
|
||||||
self->EnableMeasure(name, group);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int MeterWindow_ToggleMeasure(lua_State* L)
|
|
||||||
{
|
|
||||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
|
||||||
const WCHAR* name = ((const WCHAR*)to_wchar(L, 2, 0));
|
|
||||||
bool group = ((bool)tolua_toboolean(L, 3, false));
|
|
||||||
self->ToggleMeasure(name, group);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int MeterWindow_UpdateMeasure(lua_State* L)
|
|
||||||
{
|
|
||||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
|
||||||
const WCHAR* name = ((const WCHAR*)to_wchar(L, 2, 0));
|
|
||||||
bool group = ((bool)tolua_toboolean(L, 3, false));
|
|
||||||
|
|
||||||
self->UpdateMeasure(name, group);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int MeterWindow_Redraw(lua_State* L)
|
|
||||||
{
|
|
||||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
|
||||||
self->Redraw();
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int MeterWindow_MoveWindow(lua_State* L)
|
static int MeterWindow_MoveWindow(lua_State* L)
|
||||||
{
|
{
|
||||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
||||||
@ -179,24 +79,6 @@ static int MeterWindow_GetY(lua_State* L)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int MeterWindow_GetXScreen(lua_State* L)
|
|
||||||
{
|
|
||||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
|
||||||
int val = (int)self->GetXScreen();
|
|
||||||
lua_pushnumber(L, (lua_Number)val);
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int MeterWindow_GetYScreen(lua_State* L)
|
|
||||||
{
|
|
||||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
|
||||||
int val = (int)self->GetYScreen();
|
|
||||||
lua_pushnumber(L, (lua_Number)val);
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int MeterWindow_MakePathAbsolute(lua_State* L)
|
static int MeterWindow_MakePathAbsolute(lua_State* L)
|
||||||
{
|
{
|
||||||
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
CMeterWindow* self = (CMeterWindow*)tolua_tousertype(L, 1, 0);
|
||||||
@ -294,19 +176,9 @@ static int MeterWindow_Bang(lua_State* L)
|
|||||||
void LuaManager::RegisterMeterWindow(lua_State* L)
|
void LuaManager::RegisterMeterWindow(lua_State* L)
|
||||||
{
|
{
|
||||||
tolua_usertype(L, "CMeterWindow");
|
tolua_usertype(L, "CMeterWindow");
|
||||||
tolua_cclass(L, "CMeterWindow", "CMeterWindow", "CGroup", NULL);
|
tolua_cclass(L, "CMeterWindow", "CMeterWindow", "", NULL);
|
||||||
|
|
||||||
tolua_beginmodule(L, "CMeterWindow");
|
tolua_beginmodule(L, "CMeterWindow");
|
||||||
tolua_function(L, "MoveMeter", MeterWindow_MoveMeter);
|
|
||||||
tolua_function(L, "HideMeter", MeterWindow_HideMeter);
|
|
||||||
tolua_function(L, "ShowMeter", MeterWindow_ShowMeter);
|
|
||||||
tolua_function(L, "ToggleMeter", MeterWindow_ToggleMeter);
|
|
||||||
tolua_function(L, "UpdateMeter", MeterWindow_UpdateMeter);
|
|
||||||
tolua_function(L, "DisableMeasure", MeterWindow_DisableMeasure);
|
|
||||||
tolua_function(L, "EnableMeasure", MeterWindow_EnableMeasure);
|
|
||||||
tolua_function(L, "ToggleMeasure", MeterWindow_ToggleMeasure);
|
|
||||||
tolua_function(L, "UpdateMeasure", MeterWindow_UpdateMeasure);
|
|
||||||
tolua_function(L, "Redraw", MeterWindow_Redraw);
|
|
||||||
tolua_function(L, "MoveWindow", MeterWindow_MoveWindow);
|
tolua_function(L, "MoveWindow", MeterWindow_MoveWindow);
|
||||||
tolua_function(L, "FadeWindow", MeterWindow_FadeWindow);
|
tolua_function(L, "FadeWindow", MeterWindow_FadeWindow);
|
||||||
tolua_function(L, "GetSkinName", MeterWindow_GetSkinName);
|
tolua_function(L, "GetSkinName", MeterWindow_GetSkinName);
|
||||||
@ -315,8 +187,6 @@ void LuaManager::RegisterMeterWindow(lua_State* L)
|
|||||||
tolua_function(L, "GetH", MeterWindow_GetH);
|
tolua_function(L, "GetH", MeterWindow_GetH);
|
||||||
tolua_function(L, "GetX", MeterWindow_GetX);
|
tolua_function(L, "GetX", MeterWindow_GetX);
|
||||||
tolua_function(L, "GetY", MeterWindow_GetY);
|
tolua_function(L, "GetY", MeterWindow_GetY);
|
||||||
tolua_function(L, "GetXScreen", MeterWindow_GetXScreen);
|
|
||||||
tolua_function(L, "GetYScreen", MeterWindow_GetYScreen);
|
|
||||||
tolua_function(L, "MakePathAbsolute", MeterWindow_MakePathAbsolute);
|
tolua_function(L, "MakePathAbsolute", MeterWindow_MakePathAbsolute);
|
||||||
tolua_function(L, "GetMeter", MeterWindow_GetMeter);
|
tolua_function(L, "GetMeter", MeterWindow_GetMeter);
|
||||||
tolua_function(L, "GetMeasure", MeterWindow_GetMeasure);
|
tolua_function(L, "GetMeasure", MeterWindow_GetMeasure);
|
||||||
|
@ -447,7 +447,14 @@ void ExecuteBang(LPCTSTR bang, UINT id)
|
|||||||
ParentMeasure* parent = child->parent;
|
ParentMeasure* parent = child->parent;
|
||||||
CPlayer* player = parent->player;
|
CPlayer* player = parent->player;
|
||||||
|
|
||||||
if (_wcsicmp(bang, L"Pause") == 0)
|
if (!player->IsInitialized())
|
||||||
|
{
|
||||||
|
if (_wcsicmp(bang, L"OpenPlayer") == 0 || _wcsicmp(bang, L"TogglePlayer") == 0)
|
||||||
|
{
|
||||||
|
player->OpenPlayer(parent->playerPath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (_wcsicmp(bang, L"Pause") == 0)
|
||||||
{
|
{
|
||||||
player->Pause();
|
player->Pause();
|
||||||
}
|
}
|
||||||
@ -471,14 +478,10 @@ void ExecuteBang(LPCTSTR bang, UINT id)
|
|||||||
{
|
{
|
||||||
player->OpenPlayer(parent->playerPath);
|
player->OpenPlayer(parent->playerPath);
|
||||||
}
|
}
|
||||||
else if (_wcsicmp(bang, L"ClosePlayer") == 0)
|
else if (_wcsicmp(bang, L"ClosePlayer") == 0 || _wcsicmp(bang, L"TogglePlayer") == 0)
|
||||||
{
|
{
|
||||||
player->ClosePlayer();
|
player->ClosePlayer();
|
||||||
}
|
}
|
||||||
else if (_wcsicmp(bang, L"TogglePlayer") == 0)
|
|
||||||
{
|
|
||||||
player->IsInitialized() ? player->ClosePlayer() : player->OpenPlayer(parent->playerPath);
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LPCTSTR arg = wcschr(bang, L' ');
|
LPCTSTR arg = wcschr(bang, L' ');
|
||||||
|
Loading…
Reference in New Issue
Block a user