Session& session,
const std::string &script)
: Plugin (engine, session)
- , _mempool ("LuaProc", 2097152)
+ , _mempool ("LuaProc", 3145728)
#ifdef USE_TLSF
, lua (lua_newstate (&PBD::TLSF::lalloc, &_mempool))
#elif defined USE_MALLOC
, _designated_bypass_port (UINT32_MAX)
, _control_data (0)
, _shadow_data (0)
+ , _configured (false)
, _has_midi_input (false)
, _has_midi_output (false)
{
LuaProc::LuaProc (const LuaProc &other)
: Plugin (other)
- , _mempool ("LuaProc", 2097152)
+ , _mempool ("LuaProc", 3145728)
#ifdef USE_TLSF
, lua (lua_newstate (&PBD::TLSF::lalloc, &_mempool))
#elif defined USE_MALLOC
, _designated_bypass_port (UINT32_MAX)
, _control_data (0)
, _shadow_data (0)
+ , _configured (false)
, _has_midi_input (false)
, _has_midi_output (false)
{
_info->n_outputs = _selected_out;
// configure the DSP if needed
- if (in != _configured_in || out != _configured_out) {
+ if (in != _configured_in || out != _configured_out || !_configured) {
lua_State* L = lua.getState ();
luabridge::LuaRef lua_dsp_configure = luabridge::getGlobal (L, "dsp_configure");
if (lua_dsp_configure.type () == LUA_TFUNCTION) {
_info->n_inputs = lin;
_info->n_outputs = lout;
}
+ _configured = true;
} catch (luabridge::LuaException const& e) {
PBD::error << "LuaException: " << e.what () << "\n";
#ifndef NDEBUG
luabridge::LuaRef lua_midi_event (luabridge::newTable (L));
lua_midi_event["time"] = 1 + (*m).time();
lua_midi_event["data"] = lua_midi_data;
+ lua_midi_event["bytes"] = data;
+ lua_midi_event["size"] = ev.size();
lua_midi_src_tbl[e] = lua_midi_event;
}
}
luabridge::push <LuaProc *> (LG, this);
lua_setglobal (LG, "self");
- luabridge::push <float *> (LG, _shadow_data);
+ luabridge::push <float *> (LG, _control_data);
lua_setglobal (LG, "CtrlPorts");
}
////////////////////////////////////////////////////////////////////////////////