1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-20 06:10:06 +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

View File

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

View File

@ -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();

View File

@ -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)

View File

@ -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)