diff options
author | Robin Gareus <robin@gareus.org> | 2019-12-12 20:35:14 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2019-12-12 20:53:17 +0100 |
commit | d226b63e707f574d8348b27de8c8dec163ab5197 (patch) | |
tree | 0e925d7c81f9124094687abe9176f5e83e770b5a /gtk2_ardour/luainstance.cc | |
parent | 3208535c20b5ec1fc0ef4c2b65111e5a274d7e0a (diff) |
Pre-seed Lua action-buttons
Diffstat (limited to 'gtk2_ardour/luainstance.cc')
-rw-r--r-- | gtk2_ardour/luainstance.cc | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gtk2_ardour/luainstance.cc b/gtk2_ardour/luainstance.cc index f1da28c826..f4b68423b6 100644 --- a/gtk2_ardour/luainstance.cc +++ b/gtk2_ardour/luainstance.cc @@ -1320,6 +1320,7 @@ LuaInstance::load_state () { std::string uiscripts; if (!find_file (ardour_config_search_path(), ui_scripts_file_name, uiscripts)) { + pre_seed_scripts (); return -1; } XMLTree tree; @@ -1466,6 +1467,24 @@ LuaInstance::set_state (const XMLNode& node) return 0; } +void +LuaInstance::pre_seed_scripts () +{ + LuaScriptInfoPtr spi = LuaScripting::instance ().by_name ("Mixer Screenshot", LuaScriptInfo::EditorAction); + int id = 0; + if (spi) { + try { + std::string script = Glib::file_get_contents (spi->path); + LuaState ls; + register_classes (ls.getState ()); + LuaScriptParamList lsp = LuaScriptParams::script_params (ls, spi->path, "action_params"); + LuaScriptParamPtr lspp (new LuaScriptParam("x-script-origin", "", spi->path, false, true)); + lsp.push_back (lspp); + set_lua_action (id++, "Mixer Screenshot", script, lsp); + } catch (...) { } + } +} + bool LuaInstance::interactive_add (LuaScriptInfo::ScriptType type, int id) { |