From 32fe5a083e43065e2ca277bcae834b137fce8d66 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sun, 19 Feb 2017 00:06:01 +0100 Subject: Emit a signal when Lua session script change (prepare UI update to un/set) --- libs/ardour/ardour/session.h | 2 ++ libs/ardour/session.cc | 6 ++++++ 2 files changed, 8 insertions(+) (limited to 'libs') diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index 637412390e..dac899db5c 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -823,6 +823,8 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop uint32_t registered_lua_function_count () const { return _n_lua_scripts; } void scripts_changed (); // called from lua, updates _n_lua_scripts + PBD::Signal0 LuaScriptsChanged; + /* flattening stuff */ boost::shared_ptr write_one_track (Track&, framepos_t start, framepos_t end, diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index e28685d03f..8edc14300f 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -5271,6 +5271,9 @@ Session::register_lua_function ( tbl_arg[(*i)->name] = (*i)->value; } (*_lua_add)(name, bytecode, tbl_arg); // throws luabridge::LuaException + lm.release(); + + LuaScriptsChanged (); /* EMIT SIGNAL */ set_dirty(); } @@ -5280,6 +5283,9 @@ Session::unregister_lua_function (const std::string& name) Glib::Threads::Mutex::Lock lm (lua_lock); (*_lua_del)(name); // throws luabridge::LuaException lua.collect_garbage (); + lm.release(); + + LuaScriptsChanged (); /* EMIT SIGNAL */ set_dirty(); } -- cgit v1.2.3