1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-07-13 07:07:46 +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:
James Crook 2017-12-20 19:58:05 +00:00
parent b6138b1968
commit a7960864dd
4 changed files with 7 additions and 2 deletions

@ -245,6 +245,8 @@ bool Shuttle::TransferString( const wxString & Name, wxString & strValue, const
{
strValue = mValueString;
}
else
return false;
}
else
{

@ -114,11 +114,14 @@ void CommandBuilder::BuildCommand(const wxString &cmdName,
ParamValueMap::const_iterator iter;
ParamValueMap params = signature.GetDefaults();
// Iterate through the parameters defined by the command
for (iter = params.begin(); iter != params.end(); ++iter)
{
wxString paramString;
// IF there is a match in the args actually used
if (shuttle.TransferString(iter->first, paramString, wxT("")))
{
// Then set that parameter.
if (!mCommand->SetParameter(iter->first, paramString))
{
Failure();

@ -25,7 +25,7 @@ wxString GetAllMenuCommandsType::BuildName()
void GetAllMenuCommandsType::BuildSignature(CommandSignature &signature)
{
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)

@ -26,7 +26,7 @@ wxString HelpCommandType::BuildName()
void HelpCommandType::BuildSignature(CommandSignature &signature)
{
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)