mirror of
https://github.com/cookiengineer/audacity
synced 2025-06-20 22:30:05 +02:00
Fix scripting bug where missing parameters gave syntax error
In these cases the default parameters should have been used instead. Also the Help command now gives Help on Help by default.
This commit is contained in:
parent
b6138b1968
commit
a7960864dd
@ -245,6 +245,8 @@ bool Shuttle::TransferString( const wxString & Name, wxString & strValue, const
|
|||||||
{
|
{
|
||||||
strValue = mValueString;
|
strValue = mValueString;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -114,11 +114,14 @@ void CommandBuilder::BuildCommand(const wxString &cmdName,
|
|||||||
ParamValueMap::const_iterator iter;
|
ParamValueMap::const_iterator iter;
|
||||||
ParamValueMap params = signature.GetDefaults();
|
ParamValueMap params = signature.GetDefaults();
|
||||||
|
|
||||||
|
// Iterate through the parameters defined by the command
|
||||||
for (iter = params.begin(); iter != params.end(); ++iter)
|
for (iter = params.begin(); iter != params.end(); ++iter)
|
||||||
{
|
{
|
||||||
wxString paramString;
|
wxString paramString;
|
||||||
|
// IF there is a match in the args actually used
|
||||||
if (shuttle.TransferString(iter->first, paramString, wxT("")))
|
if (shuttle.TransferString(iter->first, paramString, wxT("")))
|
||||||
{
|
{
|
||||||
|
// Then set that parameter.
|
||||||
if (!mCommand->SetParameter(iter->first, paramString))
|
if (!mCommand->SetParameter(iter->first, paramString))
|
||||||
{
|
{
|
||||||
Failure();
|
Failure();
|
||||||
|
@ -25,7 +25,7 @@ wxString GetAllMenuCommandsType::BuildName()
|
|||||||
void GetAllMenuCommandsType::BuildSignature(CommandSignature &signature)
|
void GetAllMenuCommandsType::BuildSignature(CommandSignature &signature)
|
||||||
{
|
{
|
||||||
auto showStatusValidator = make_movable<BoolValidator>();
|
auto showStatusValidator = make_movable<BoolValidator>();
|
||||||
signature.AddParameter(wxT("ShowStatus"), 0, std::move(showStatusValidator));
|
signature.AddParameter(wxT("ShowStatus"), false, std::move(showStatusValidator));
|
||||||
}
|
}
|
||||||
|
|
||||||
CommandHolder GetAllMenuCommandsType::Create(std::unique_ptr<CommandOutputTarget> &&target)
|
CommandHolder GetAllMenuCommandsType::Create(std::unique_ptr<CommandOutputTarget> &&target)
|
||||||
|
@ -26,7 +26,7 @@ wxString HelpCommandType::BuildName()
|
|||||||
void HelpCommandType::BuildSignature(CommandSignature &signature)
|
void HelpCommandType::BuildSignature(CommandSignature &signature)
|
||||||
{
|
{
|
||||||
auto commandNameValidator = make_movable<DefaultValidator>();
|
auto commandNameValidator = make_movable<DefaultValidator>();
|
||||||
signature.AddParameter(wxT("CommandName"), wxT(""), std::move(commandNameValidator));
|
signature.AddParameter(wxT("CommandName"), wxT("Help"), std::move(commandNameValidator));
|
||||||
}
|
}
|
||||||
|
|
||||||
CommandHolder HelpCommandType::Create(std::unique_ptr<CommandOutputTarget> &&target)
|
CommandHolder HelpCommandType::Create(std::unique_ptr<CommandOutputTarget> &&target)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user