diff options
author | Robin Gareus <robin@gareus.org> | 2018-11-17 00:12:10 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2018-11-17 00:12:10 +0100 |
commit | 821ab4aae21759cb60d9d518476d89e1f776d7a7 (patch) | |
tree | 7234653058b467fd8f3ad85c33b4608bcd29f05d /gtk2_ardour/luainstance.cc | |
parent | 9b3fd34b6b90e16157b8709ca0914b169a7235da (diff) |
Add a 1Hz Lua Callback Signal
Diffstat (limited to 'gtk2_ardour/luainstance.cc')
-rw-r--r-- | gtk2_ardour/luainstance.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gtk2_ardour/luainstance.cc b/gtk2_ardour/luainstance.cc index 4303794bfe..bc5c1b0e6d 100644 --- a/gtk2_ardour/luainstance.cc +++ b/gtk2_ardour/luainstance.cc @@ -512,6 +512,7 @@ lua_translate_order (RouteDialogs::InsertAt place) using namespace ARDOUR; +PBD::Signal0<void> LuaInstance::LuaTimerS; PBD::Signal0<void> LuaInstance::LuaTimerDS; PBD::Signal0<void> LuaInstance::SetSession; @@ -1341,6 +1342,7 @@ void LuaInstance::set_session (Session* s) for (LuaCallbackMap::iterator i = _callbacks.begin(); i != _callbacks.end(); ++i) { i->second->set_session (s); } + second_connection = Timers::rapid_connect (sigc::mem_fun(*this, & LuaInstance::every_second)); point_one_second_connection = Timers::rapid_connect (sigc::mem_fun(*this, & LuaInstance::every_point_one_seconds)); SetSession (); /* EMIT SIGNAL */ } @@ -1349,6 +1351,7 @@ void LuaInstance::session_going_away () { ENSURE_GUI_THREAD (*this, &LuaInstance::session_going_away); + second_connection.disconnect (); point_one_second_connection.disconnect (); (*_lua_clear)(); @@ -1364,6 +1367,12 @@ LuaInstance::session_going_away () } void +LuaInstance::every_second () +{ + LuaTimerS (); // emit signal +} + +void LuaInstance::every_point_one_seconds () { LuaTimerDS (); // emit signal |