From 4d3cd732c93dd64b8768ec5f8398999f521ee6f0 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Thu, 4 Oct 2018 03:57:09 +0200 Subject: Unhardcode and increase bindable Lua-script-action count --- gtk2_ardour/ardour_ui.h | 4 +++- gtk2_ardour/ardour_ui_dependents.cc | 2 +- gtk2_ardour/ardour_ui_options.cc | 2 +- gtk2_ardour/editor_actions.cc | 2 +- gtk2_ardour/lua_script_manager.cc | 3 ++- gtk2_ardour/luainstance.cc | 6 +++--- 6 files changed, 11 insertions(+), 8 deletions(-) diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index 4c55afaaef..6c5f09cc0f 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -165,6 +165,8 @@ namespace ArdourWidgets { class Tabbable; } +#define MAX_LUA_ACTION_SCRIPTS 12 + class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr, public TransportControlProvider { public: @@ -511,7 +513,7 @@ private: ArdourWidgets::ArdourButton feedback_alert_button; ArdourWidgets::ArdourButton error_alert_button; - ArdourWidgets::ArdourButton action_script_call_btn[10]; + ArdourWidgets::ArdourButton action_script_call_btn[MAX_LUA_ACTION_SCRIPTS]; Gtk::Table action_script_table; Gtk::VBox alert_box; diff --git a/gtk2_ardour/ardour_ui_dependents.cc b/gtk2_ardour/ardour_ui_dependents.cc index 9253fcad71..ab2c3a9ef8 100644 --- a/gtk2_ardour/ardour_ui_dependents.cc +++ b/gtk2_ardour/ardour_ui_dependents.cc @@ -292,7 +292,7 @@ ARDOUR_UI::setup_windows () LuaInstance::instance()->ActionChanged.connect (sigc::mem_fun (*this, &ARDOUR_UI::update_action_script_btn)); - for (int i = 0; i < 9; ++i) { + for (int i = 0; i < MAX_LUA_ACTION_SCRIPTS; ++i) { std::string const a = string_compose (X_("script-action-%1"), i + 1); Glib::RefPtr act = ActionManager::get_action(X_("Editor"), a.c_str()); assert (act); diff --git a/gtk2_ardour/ardour_ui_options.cc b/gtk2_ardour/ardour_ui_options.cc index 3077910265..f1a5642c20 100644 --- a/gtk2_ardour/ardour_ui_options.cc +++ b/gtk2_ardour/ardour_ui_options.cc @@ -510,7 +510,7 @@ ARDOUR_UI::parameter_changed (std::string p) VisibilityTracker::set_use_window_manager_visibility (UIConfiguration::instance().get_use_wm_visibility()); } else if (p == "action-table-columns") { const uint32_t cols = UIConfiguration::instance().get_action_table_columns (); - for (int i = 0; i < 9; ++i) { + for (int i = 0; i < MAX_LUA_ACTION_SCRIPTS; ++i) { const int col = i / 2; if (cols & (1<append (); r[_a_model.id] = i; diff --git a/gtk2_ardour/luainstance.cc b/gtk2_ardour/luainstance.cc index 236a5d88e2..f184368f1d 100644 --- a/gtk2_ardour/luainstance.cc +++ b/gtk2_ardour/luainstance.cc @@ -1290,7 +1290,7 @@ LuaInstance::session_going_away () point_one_second_connection.disconnect (); (*_lua_clear)(); - for (int i = 0; i < 9; ++i) { + for (int i = 0; i < MAX_LUA_ACTION_SCRIPTS; ++i) { ActionChanged (i, ""); /* EMIT SIGNAL */ } SessionHandlePtr::session_going_away (); @@ -1322,7 +1322,7 @@ LuaInstance::set_state (const XMLNode& node) } catch (luabridge::LuaException const& e) { cerr << "LuaException:" << e.what () << endl; } catch (...) { } - for (int i = 0; i < 9; ++i) { + for (int i = 0; i < MAX_LUA_ACTION_SCRIPTS; ++i) { std::string name; if (lua_action_name (i, name)) { ActionChanged (i, name); /* EMIT SIGNAL */ @@ -1580,7 +1580,7 @@ std::vector LuaInstance::lua_action_names () { std::vector rv; - for (int i = 0; i < 9; ++i) { + for (int i = 0; i < MAX_LUA_ACTION_SCRIPTS; ++i) { std::string name; if (lua_action_name (i, name)) { rv.push_back (name); -- cgit v1.2.3