mirror of
https://github.com/chibicitiberiu/rainmeter-studio.git
synced 2024-02-24 04:33:31 +00:00
Fixed that the commands that start with "play" is not executed.
This commit is contained in:
parent
12be2ffad1
commit
bf7fdad840
@ -3299,29 +3299,29 @@ void CRainmeter::ExecuteCommand(const WCHAR* command, CMeterWindow* meterWindow)
|
|||||||
ExecuteBang(bang, arg, meterWindow);
|
ExecuteBang(bang, arg, meterWindow);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (_wcsnicmp(L"PLAY", command, 4) == 0)
|
else
|
||||||
{
|
{
|
||||||
command += 4; // Skip PLAY
|
// Check for built-ins
|
||||||
if (_wcsnicmp(L"STOP", command, 4) == 0)
|
if (_wcsnicmp(L"PLAY", command, 4) == 0)
|
||||||
{
|
{
|
||||||
PlaySound(NULL, NULL, SND_PURGE);
|
if (command[4] == L' ' || // PLAY
|
||||||
}
|
_wcsnicmp(L"LOOP ", &command[4], 5) == 0) // PLAYLOOP
|
||||||
else
|
|
||||||
{
|
|
||||||
DWORD flags = SND_FILENAME | SND_ASYNC;
|
|
||||||
|
|
||||||
if (_wcsnicmp(L"LOOP", command, 4) == 0)
|
|
||||||
{
|
{
|
||||||
flags |= SND_LOOP | SND_NODEFAULT;
|
command += 4; // Skip PLAY
|
||||||
command += 4; // Skip LOOP
|
|
||||||
}
|
|
||||||
|
|
||||||
if (command[0] == L' ')
|
DWORD flags = SND_FILENAME | SND_ASYNC;
|
||||||
{
|
|
||||||
command += 1; // Skip the space
|
if (command[0] != L' ')
|
||||||
strCommand = command;
|
|
||||||
if (!strCommand.empty())
|
|
||||||
{
|
{
|
||||||
|
flags |= SND_LOOP | SND_NODEFAULT;
|
||||||
|
command += 4; // Skip LOOP
|
||||||
|
}
|
||||||
|
|
||||||
|
++command; // Skip the space
|
||||||
|
if (command[0] != L'\0')
|
||||||
|
{
|
||||||
|
strCommand = command;
|
||||||
|
|
||||||
// Strip the quotes
|
// Strip the quotes
|
||||||
std::wstring::size_type len = strCommand.length();
|
std::wstring::size_type len = strCommand.length();
|
||||||
if (len >= 2 && strCommand[0] == L'\"' && strCommand[len - 1] == L'\"')
|
if (len >= 2 && strCommand[0] == L'\"' && strCommand[len - 1] == L'\"')
|
||||||
@ -3332,11 +3332,16 @@ void CRainmeter::ExecuteCommand(const WCHAR* command, CMeterWindow* meterWindow)
|
|||||||
|
|
||||||
PlaySound(strCommand.c_str(), NULL, flags);
|
PlaySound(strCommand.c_str(), NULL, flags);
|
||||||
}
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if (_wcsnicmp(L"STOP", &command[4], 4) == 0) // PLAYSTOP
|
||||||
|
{
|
||||||
|
PlaySound(NULL, NULL, SND_PURGE);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else // Run command
|
// Run command
|
||||||
{
|
|
||||||
LSExecute(NULL, command, SW_SHOWNORMAL);
|
LSExecute(NULL, command, SW_SHOWNORMAL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user