#include "luainstance.h"
#include "luasignal.h"
#include "marker.h"
+#include "processor_box.h"
#include "time_axis_view.h"
#include "selection.h"
#include "script_selector.h"
}; // namespace
+/** special cases for Ardour's Mixer UI */
+namespace LuaMixer {
+
+ ProcessorBox::ProcSelection
+ processor_selection (lua_State* L) {
+ return ProcessorBox::current_processor_selection ();
+ }
+
+};
+
////////////////////////////////////////////////////////////////////////////////
#define xstr(s) stringify(s)
.addFunction ("http_get", (std::string (*)(const std::string&))&ArdourCurl::http_get)
+ .addFunction ("processor_selection", &LuaMixer::processor_selection)
+
.beginStdList <ArdourMarker*> ("ArdourMarkerList")
.endClass ()
{
SessionHandlePtr::set_session (s);
- if (_session) {
- lua_State* L = lua.getState();
- LuaBindings::set_session (L, _session);
+ if (!_session) {
+ return;
}
+ lua_State* L = lua.getState();
+ LuaBindings::set_session (L, _session);
+
reconnect();
}
_session = 0;
drop_callback (); /* EMIT SIGNAL */
+
+ lua_State* L = lua.getState();
+ LuaBindings::set_session (L, 0);
+ lua.do_command ("collectgarbage();");
}
void