Add a Lua SetSession signal/hook
This commit is contained in:
parent
d0553753af
commit
8eb3b9d34b
@ -377,6 +377,7 @@ namespace LuaMixer {
|
||||
using namespace ARDOUR;
|
||||
|
||||
PBD::Signal0<void> LuaInstance::LuaTimerDS;
|
||||
PBD::Signal0<void> LuaInstance::SetSession;
|
||||
|
||||
void
|
||||
LuaInstance::register_hooks (lua_State* L)
|
||||
@ -398,6 +399,10 @@ LuaInstance::register_hooks (lua_State* L)
|
||||
.beginStdBitSet <LuaSignal::LAST_SIGNAL> ("Set")
|
||||
.endClass()
|
||||
.endNamespace ();
|
||||
|
||||
#if 0 // Dump size -> libs/ardour/luabindings.cc
|
||||
printf ("LuaInstance: registered %d signals\n", LuaSignal::LAST_SIGNAL);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
@ -605,7 +610,6 @@ LuaInstance::register_classes (lua_State* L)
|
||||
|
||||
bind_cairo (L);
|
||||
bind_dialog (L);
|
||||
register_hooks (L);
|
||||
|
||||
luabridge::getGlobalNamespace (L)
|
||||
.beginNamespace ("ArdourUI")
|
||||
@ -1110,6 +1114,7 @@ LuaInstance::init ()
|
||||
}
|
||||
|
||||
register_classes (L);
|
||||
register_hooks (L);
|
||||
|
||||
luabridge::push <PublicEditor *> (L, &PublicEditor::instance());
|
||||
lua_setglobal (L, "Editor");
|
||||
@ -1129,6 +1134,7 @@ void LuaInstance::set_session (Session* s)
|
||||
i->second->set_session (s);
|
||||
}
|
||||
point_one_second_connection = Timers::rapid_connect (sigc::mem_fun(*this, & LuaInstance::every_point_one_seconds));
|
||||
SetSession (); /* EMIT SIGNAL */
|
||||
}
|
||||
|
||||
void
|
||||
@ -1806,6 +1812,7 @@ LuaCallback::init (void)
|
||||
}
|
||||
|
||||
LuaInstance::register_classes (L);
|
||||
LuaInstance::register_hooks (L);
|
||||
|
||||
luabridge::push <PublicEditor *> (L, &PublicEditor::instance());
|
||||
lua_setglobal (L, "Editor");
|
||||
|
@ -121,6 +121,7 @@ public:
|
||||
sigc::signal<void,PBD::ID,std::string,ActionHook> SlotChanged;
|
||||
|
||||
static PBD::Signal0<void> LuaTimerDS; // deci-seconds (Timer every .1s)
|
||||
static PBD::Signal0<void> SetSession; // emitted when a session is loaded
|
||||
|
||||
private:
|
||||
LuaInstance();
|
||||
|
@ -86,6 +86,9 @@ STATIC(RegionPropertyChanged, &ARDOUR::Region::RegionPropertyChanged, 2)
|
||||
// Timers
|
||||
STATIC(LuaTimerDS, &LuaInstance::LuaTimerDS, 0)
|
||||
|
||||
// Session load
|
||||
STATIC(SetSession, &LuaInstance::SetSession, 0)
|
||||
|
||||
// TODO per track/route signals,
|
||||
// TODO per plugin actions / controllables
|
||||
// TODO per region actions
|
||||
|
@ -160,7 +160,7 @@ CLASSINFO(TrackSelection);
|
||||
CLASSINFO(TrackViewList);
|
||||
|
||||
|
||||
CLASSKEYS(std::bitset<47ul>); // LuaSignal::LAST_SIGNAL
|
||||
CLASSKEYS(std::bitset<48ul>); // LuaSignal::LAST_SIGNAL
|
||||
|
||||
CLASSKEYS(void);
|
||||
CLASSKEYS(float);
|
||||
|
Loading…
Reference in New Issue
Block a user