summaryrefslogtreecommitdiff
path: root/gtk2_ardour/luainstance.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2018-11-17 00:12:10 +0100
committerRobin Gareus <robin@gareus.org>2018-11-17 00:12:10 +0100
commit821ab4aae21759cb60d9d518476d89e1f776d7a7 (patch)
tree7234653058b467fd8f3ad85c33b4608bcd29f05d /gtk2_ardour/luainstance.cc
parent9b3fd34b6b90e16157b8709ca0914b169a7235da (diff)
Add a 1Hz Lua Callback Signal
Diffstat (limited to 'gtk2_ardour/luainstance.cc')
-rw-r--r--gtk2_ardour/luainstance.cc9
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