diff options
author | Robin Gareus <robin@gareus.org> | 2017-08-11 03:56:57 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-08-11 15:24:05 +0200 |
commit | e3edbcb8065f1367ee82ccf9c7de7719bf270681 (patch) | |
tree | 2259e7df5520138b1c315f248e2f01b79055d838 /libs/ardour/luascripting.cc | |
parent | a38cdb0ae356c49ef576eca65dc86b552924b90b (diff) |
Add a new script type for meta-templates: SessionSetup
Diffstat (limited to 'libs/ardour/luascripting.cc')
-rw-r--r-- | libs/ardour/luascripting.cc | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/libs/ardour/luascripting.cc b/libs/ardour/luascripting.cc index 0367f5830d..3724712fb2 100644 --- a/libs/ardour/luascripting.cc +++ b/libs/ardour/luascripting.cc @@ -56,6 +56,7 @@ LuaScripting::LuaScripting () , _sl_hook (0) , _sl_action (0) , _sl_snippet (0) + , _sl_setup (0) { ; } @@ -69,6 +70,7 @@ LuaScripting::~LuaScripting () delete _sl_hook; delete _sl_action; delete _sl_snippet; + delete _sl_setup; } } @@ -83,12 +85,14 @@ LuaScripting::refresh (bool run_scan) delete _sl_hook; delete _sl_action; delete _sl_snippet; + delete _sl_setup; _sl_dsp = 0; _sl_session = 0; _sl_hook = 0; _sl_action = 0; _sl_snippet = 0; + _sl_setup = 0; if (run_scan) { lm.release (); @@ -120,6 +124,7 @@ LuaScripting::scan () CLEAR_OR_NEW (_sl_hook) CLEAR_OR_NEW (_sl_action) CLEAR_OR_NEW (_sl_snippet) + CLEAR_OR_NEW (_sl_setup) #undef CLEAR_OR_NEW @@ -148,6 +153,9 @@ LuaScripting::scan () case LuaScriptInfo::Snippet: _sl_snippet->push_back(lsi); break; + case LuaScriptInfo::SessionSetup: + _sl_setup->push_back(lsi); + break; default: break; } @@ -158,6 +166,7 @@ LuaScripting::scan () std::sort (_sl_hook->begin(), _sl_hook->end(), ScriptSorter()); std::sort (_sl_action->begin(), _sl_action->end(), ScriptSorter()); std::sort (_sl_snippet->begin(), _sl_snippet->end(), ScriptSorter()); + std::sort (_sl_setup->begin(), _sl_setup->end(), ScriptSorter()); scripts_changed (); /* EMIT SIGNAL */ } @@ -274,7 +283,7 @@ LuaScripting::scan_script (const std::string &fn, const std::string &sc) LuaScriptList & LuaScripting::scripts (LuaScriptInfo::ScriptType type) { - if (!_sl_dsp || !_sl_session || !_sl_hook || !_sl_action || !_sl_snippet) { + if (!_sl_dsp || !_sl_session || !_sl_hook || !_sl_action || !_sl_snippet || ! _sl_setup) { scan (); } @@ -294,6 +303,9 @@ LuaScripting::scripts (LuaScriptInfo::ScriptType type) { case LuaScriptInfo::Snippet: return *_sl_snippet; break; + case LuaScriptInfo::SessionSetup: + return *_sl_setup; + break; default: break; } @@ -309,6 +321,7 @@ LuaScriptInfo::type2str (const ScriptType t) { case LuaScriptInfo::EditorHook: return "EditorHook"; case LuaScriptInfo::EditorAction: return "EditorAction"; case LuaScriptInfo::Snippet: return "Snippet"; + case LuaScriptInfo::SessionSetup: return "SessionSetup"; default: return "Invalid"; } } @@ -321,6 +334,7 @@ LuaScriptInfo::str2type (const std::string& str) { if (!strcasecmp (type, "EditorHook")) {return LuaScriptInfo::EditorHook;} if (!strcasecmp (type, "EditorAction")) {return LuaScriptInfo::EditorAction;} if (!strcasecmp (type, "Snippet")) {return LuaScriptInfo::Snippet;} + if (!strcasecmp (type, "SessionSetup")) {return LuaScriptInfo::SessionSetup;} return LuaScriptInfo::Invalid; } |