summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-02-19 01:27:16 +0100
committerRobin Gareus <robin@gareus.org>2017-02-19 01:29:08 +0100
commit05149f9bc54d0cfb8b162ba7cfac975b5eb79971 (patch)
tree823a1e75ae0fed1e51a76ea2e12a952d0806cc95 /gtk2_ardour
parentceb78843808563d57dcd30f92a92ed7361967869 (diff)
Connect Script Manager "Edit" -> Lua Scripting Window
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/lua_script_manager.cc18
-rw-r--r--gtk2_ardour/luawindow.cc11
-rw-r--r--gtk2_ardour/luawindow.h1
3 files changed, 15 insertions, 15 deletions
diff --git a/gtk2_ardour/lua_script_manager.cc b/gtk2_ardour/lua_script_manager.cc
index 0e8785d5ce..e7911e6575 100644
--- a/gtk2_ardour/lua_script_manager.cc
+++ b/gtk2_ardour/lua_script_manager.cc
@@ -24,6 +24,7 @@
#include "LuaBridge/LuaBridge.h"
#include "lua_script_manager.h"
+#include "luawindow.h"
#include "script_selector.h"
#include "pbd/i18n.h"
@@ -226,7 +227,7 @@ LuaScriptManager::action_selection_changed ()
if (row && row[_a_model.enabled]) {
_a_del_button.set_sensitive (true);
- _a_edit_button.set_sensitive (false); // TODO
+ _a_edit_button.set_sensitive (true);
_a_call_button.set_sensitive (true);
} else {
_a_del_button.set_sensitive (false);
@@ -276,20 +277,7 @@ LuaScriptManager::edit_action_btn_clicked ()
if (!li->lua_action (id, name, script, args)) {
return;
}
-
- // TODO text-editor window, update script directly
-
- if (!LuaScripting::try_compile (script, args)) {
- // compilation failed, keep editing
- return;
- }
-
- if (li->set_lua_action (id, name, script, args)) {
- // OK
- } else {
- // load failed, keep editing..
- }
- action_selection_changed ();
+ LuaWindow::instance()->edit_script (name, script);
}
void
diff --git a/gtk2_ardour/luawindow.cc b/gtk2_ardour/luawindow.cc
index 04e2e8c240..c5df8599b1 100644
--- a/gtk2_ardour/luawindow.cc
+++ b/gtk2_ardour/luawindow.cc
@@ -323,6 +323,17 @@ LuaWindow::clear_output ()
}
void
+LuaWindow::edit_script (const std::string& name, const std::string& script)
+{
+ ScriptBuffer* sb = new LuaWindow::ScriptBuffer (name);
+ sb->script = script;
+ script_buffers.push_back (ScriptBufferPtr (sb));
+ script_selection_changed (script_buffers.back ());
+ refresh_scriptlist ();
+ show_window ();
+}
+
+void
LuaWindow::new_script ()
{
char buf[32];
diff --git a/gtk2_ardour/luawindow.h b/gtk2_ardour/luawindow.h
index 38f688d4ad..33d7fd1517 100644
--- a/gtk2_ardour/luawindow.h
+++ b/gtk2_ardour/luawindow.h
@@ -53,6 +53,7 @@ class LuaWindow :
void show_window ();
bool hide_window (GdkEventAny *ev);
+ void edit_script (const std::string&, const std::string&);
void set_session (ARDOUR::Session* s);