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