diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index 859659c2f1..09ef6f25d9 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -1663,6 +1663,7 @@ private: uint32_t _n_lua_scripts; void setup_lua (); + void luabindings_session_rt (lua_State*); void try_run_lua (pframes_t); SerializedRCUManager _io_plugins; diff --git a/libs/ardour/luabindings.cc b/libs/ardour/luabindings.cc index ea3f63c916..98cb4ffbb3 100644 --- a/libs/ardour/luabindings.cc +++ b/libs/ardour/luabindings.cc @@ -3449,6 +3449,20 @@ LuaBindings::session (lua_State* L) .endNamespace (); // ARDOUR } +void +ARDOUR::Session::luabindings_session_rt (lua_State* L) +{ + /* declaration need to be in this file due to Windows CLASSKEYS */ + luabridge::getGlobalNamespace (L) + .beginNamespace ("Ardour") + .beginClass ("Session") + /* thse are private to Session */ + .addFunction ("rt_set_controls", &Session::rt_set_controls) + .addFunction ("rt_clear_all_solo_state", &Session::rt_clear_all_solo_state) + .endClass () + .endNamespace (); +} + void LuaBindings::osc (lua_State* L) { diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index b05c314dc6..b2bab19796 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -5690,14 +5690,7 @@ Session::setup_lua () LuaBindings::stddef (L); LuaBindings::common (L); LuaBindings::dsp (L); - luabridge::getGlobalNamespace (L) - .beginNamespace ("Ardour") - .beginClass ("Session") - /* thse are private to Session */ - .addFunction ("rt_set_controls", &Session::rt_set_controls) - .addFunction ("rt_clear_all_solo_state", &Session::rt_clear_all_solo_state) - .endClass () - .endNamespace (); + luabindings_session_rt (L); lua_mlock (L, 0); luabridge::push (L, this);