675 Mass Ave, Cambridge, MA 02139, USA.
*/
+/* print runtime and garbage-collection timing statistics */
+//#define WITH_LUAPROC_STATS
+
+/* memory allocation system, default: ReallocPool */
+//#define USE_TLSF // use TLSF instead of ReallocPool
+//#define USE_MALLOC // or plain OS provided realloc (no mlock) -- if USE_TLSF isn't defined
+
#ifndef __ardour_luaproc_h__
#define __ardour_luaproc_h__
#include <vector>
#include <string>
-#include "pbd/reallocpool.h"
+#ifdef USE_TLSF
+# include "pbd/tlsf.h"
+#else
+# include "pbd/reallocpool.h"
+#endif
+
#include "pbd/stateful.h"
#include "ardour/types.h"
bool has_inline_display () { return _lua_has_inline_display; }
void setup_lua_inline_gui (LuaState *lua_gui);
+ DSP::DspShm* instance_shm () { return &lshm; }
+ LuaTableRef* instance_ref () { return &lref; }
+
private:
void find_presets ();
/* END Plugin interface */
+
+public:
+ void set_origin (std::string& path) { _origin = path; }
+
protected:
const std::string& script() const { return _script; }
+ const std::string& origin() const { return _origin; }
private:
+#ifdef USE_TLSF
+ PBD::TLSF _mempool;
+#else
PBD::ReallocPool _mempool;
+#endif
LuaState lua;
luabridge::LuaRef * _lua_dsp;
std::string _script;
+ std::string _origin;
std::string _docs;
bool _lua_does_channelmapping;
bool _lua_has_inline_display;
void queue_draw () { QueueDraw(); /* EMIT SIGNAL */ }
- DSP::DspShm* instance_shm () { return &lshm; }
DSP::DspShm lshm;
- LuaTableRef* instance_ref () { return &lref; }
LuaTableRef lref;
+ boost::weak_ptr<Route> route () const;
+
void init ();
bool load_script ();
void lua_print (std::string s);
ChanCount _configured_in;
ChanCount _configured_out;
+ bool _configured;
+
ChanCount _selected_in;
ChanCount _selected_out;