Compare commits
2 Commits
894e6d27a4
...
6191f89d55
Author | SHA1 | Date |
---|---|---|
Robin Gareus | 6191f89d55 | |
Robin Gareus | bcbb4393fc |
|
@ -5688,6 +5688,15 @@ Session::setup_lua ()
|
|||
LuaBindings::stddef (L);
|
||||
LuaBindings::common (L);
|
||||
LuaBindings::dsp (L);
|
||||
luabridge::getGlobalNamespace (L)
|
||||
.beginNamespace ("Ardour")
|
||||
.beginClass <Session> ("Session")
|
||||
/* thse are private to Session */
|
||||
.addFunction ("rt_set_controls", &Session::rt_set_controls)
|
||||
.addFunction ("rt_clear_all_solo_state", &Session::rt_clear_all_solo_state)
|
||||
.endClass ()
|
||||
.endNamespace ();
|
||||
|
||||
lua_mlock (L, 0);
|
||||
luabridge::push <Session *> (L, this);
|
||||
lua_setglobal (L, "Session");
|
||||
|
|
|
@ -104,13 +104,13 @@ Session::rt_set_controls (std::shared_ptr<WeakAutomationControlList> cl, double
|
|||
return;
|
||||
}
|
||||
|
||||
AutomationType type = NullAutomation;
|
||||
bool update_solo_state = false;
|
||||
|
||||
for (auto const& c : *cl) {
|
||||
std::shared_ptr<AutomationControl> ac = c.lock ();
|
||||
if (ac) {
|
||||
ac->set_value (val, gcd);
|
||||
type = ac->desc().type;
|
||||
update_solo_state |= SoloAutomation == ac->desc().type;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -118,12 +118,8 @@ Session::rt_set_controls (std::shared_ptr<WeakAutomationControlList> cl, double
|
|||
* that here.
|
||||
*/
|
||||
|
||||
switch (type) {
|
||||
case SoloAutomation:
|
||||
if (update_solo_state) {
|
||||
update_route_solo_state ();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue