Allow binding Lua Action Scripts via right-click

This commit is contained in:
Robin Gareus 2017-02-17 11:15:14 +01:00
parent 83c9bb20b7
commit 61d038637a
2 changed files with 15 additions and 0 deletions

View File

@ -902,6 +902,8 @@ private:
void escape ();
void close_current_dialog ();
void pre_release_dialog ();
bool bind_lua_action_script (GdkEventButton*, int);
};
#endif /* __ardour_gui_h__ */

View File

@ -37,6 +37,7 @@
#include "ardour_ui.h"
#include "public_editor.h"
#include "meterbridge.h"
#include "luainstance.h"
#include "luawindow.h"
#include "mixer_ui.h"
#include "keyboard.h"
@ -309,6 +310,7 @@ ARDOUR_UI::setup_windows ()
assert (act);
action_script_call_btn[i].set_text (string_compose ("%1", i+1));
action_script_call_btn[i].set_related_action (act);
action_script_call_btn[i].signal_button_press_event().connect (sigc::bind (sigc::mem_fun(*this, &ARDOUR_UI::bind_lua_action_script), i), false);
if (act->get_sensitive ()) {
action_script_call_btn[i].set_visual_state (Gtkmm2ext::VisualState (action_script_call_btn[i].visual_state() & ~Gtkmm2ext::Insensitive));
} else {
@ -398,3 +400,14 @@ ARDOUR_UI::setup_windows ()
return 0;
}
bool
ARDOUR_UI::bind_lua_action_script (GdkEventButton*ev, int i)
{
if (ev->button != 3) {
return false;
}
LuaInstance *li = LuaInstance::instance();
li->interactive_add (LuaScriptInfo::EditorAction, i);
return true;
}