summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-12-05 01:30:07 +0100
committerRobin Gareus <robin@gareus.org>2017-12-05 01:55:38 +0100
commitbb5345614d6d4860c619e96fa174b3ffd4e8c262 (patch)
tree5cb1918a5f9c58147dc83b7066a014c87bb141f2 /libs
parentd5e1f536a750906af84c490fa01176d95cdb5d3a (diff)
Allow to pre-seed Lua action script params
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/ardour/luascripting.h4
-rw-r--r--libs/ardour/luascripting.cc6
2 files changed, 8 insertions, 2 deletions
diff --git a/libs/ardour/ardour/luascripting.h b/libs/ardour/ardour/luascripting.h
index a184c4058b..7570ff1bc8 100644
--- a/libs/ardour/ardour/luascripting.h
+++ b/libs/ardour/ardour/luascripting.h
@@ -80,11 +80,12 @@ struct LIBARDOUR_API LuaScriptParam {
const std::string& n,
const std::string& t,
const std::string& d,
- bool o)
+ bool o, bool p)
: name (n)
, title (t)
, dflt (d)
, optional (o)
+ , preseeded (p)
, is_set (false)
, value (d)
{}
@@ -93,6 +94,7 @@ struct LIBARDOUR_API LuaScriptParam {
std::string title;
std::string dflt;
bool optional;
+ bool preseeded;
bool is_set;
std::string value;
};
diff --git a/libs/ardour/luascripting.cc b/libs/ardour/luascripting.cc
index a3276432b2..1193e08130 100644
--- a/libs/ardour/luascripting.cc
+++ b/libs/ardour/luascripting.cc
@@ -410,6 +410,7 @@ LuaScriptParams::script_params (LuaState& lua, const std::string& s, const std::
std::string title = i.value ()["title"].cast<std::string> ();
std::string dflt;
bool optional = false;
+ bool preseeded = false;
if (i.value ()["default"].isString ()) {
dflt = i.value ()["default"].cast<std::string> ();
@@ -417,7 +418,10 @@ LuaScriptParams::script_params (LuaState& lua, const std::string& s, const std::
if (i.value ()["optional"].isBoolean ()) {
optional = i.value ()["optional"].cast<bool> ();
}
- LuaScriptParamPtr lsspp (new LuaScriptParam(name, title, dflt, optional));
+ if (i.value ()["preseeded"].isBoolean ()) {
+ preseeded = i.value ()["preseeded"].cast<bool> ();
+ }
+ LuaScriptParamPtr lsspp (new LuaScriptParam(name, title, dflt, optional, preseeded));
rv.push_back (lsspp);
}
}