summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-08-23 22:18:04 +0200
committerRobin Gareus <robin@gareus.org>2016-08-23 22:21:03 +0200
commit5d597cdfeb644957358a4c2b0da10a4ef04f1747 (patch)
treeb39493bc77aba59490f57b27125bc076b1283a85
parent2d5166606b2b18bda0dbe615cc07759c5a1263e2 (diff)
add FluidSynth Lua Bindings
-rw-r--r--libs/ardour/luabindings.cc16
-rw-r--r--libs/ardour/luaproc.cc2
2 files changed, 18 insertions, 0 deletions
diff --git a/libs/ardour/luabindings.cc b/libs/ardour/luabindings.cc
index 81d14b2a6f..e2ba1aa81c 100644
--- a/libs/ardour/luabindings.cc
+++ b/libs/ardour/luabindings.cc
@@ -36,6 +36,7 @@
#include "ardour/chan_mapping.h"
#include "ardour/dB.h"
#include "ardour/dsp_filter.h"
+#include "ardour/fluid_synth.h"
#include "ardour/interthread_info.h"
#include "ardour/lua_api.h"
#include "ardour/luabindings.h"
@@ -169,6 +170,7 @@ CLASSKEYS(ARDOUR::LuaOSC::Address);
CLASSKEYS(ARDOUR::Session);
CLASSKEYS(ARDOUR::BufferSet);
CLASSKEYS(ARDOUR::ChanMapping);
+CLASSKEYS(ARDOUR::FluidSynth);
CLASSKEYS(ARDOUR::DSP::DspShm);
CLASSKEYS(ARDOUR::LuaTableRef);
CLASSKEYS(PBD::Configuration);
@@ -1481,6 +1483,20 @@ LuaBindings::dsp (lua_State* L)
luabridge::getGlobalNamespace (L)
.beginNamespace ("ARDOUR")
+ .beginClass <FluidSynth> ("FluidSynth")
+ .addConstructor <void (*) (float, int)> ()
+ .addFunction ("load_sf2", &FluidSynth::load_sf2)
+ .addFunction ("synth", &FluidSynth::synth)
+ .addFunction ("midi_event", &FluidSynth::midi_event)
+ .addFunction ("panic", &FluidSynth::panic)
+ .addFunction ("select_program", &FluidSynth::select_program)
+ .addFunction ("program_count", &FluidSynth::program_count)
+ .addFunction ("program_name", &FluidSynth::program_name)
+ .endClass ()
+ .endNamespace ();
+
+ luabridge::getGlobalNamespace (L)
+ .beginNamespace ("ARDOUR")
.beginNamespace ("DSP")
.addFunction ("compute_peak", ARDOUR::compute_peak)
.addFunction ("find_peaks", ARDOUR::find_peaks)
diff --git a/libs/ardour/luaproc.cc b/libs/ardour/luaproc.cc
index fbba74bba3..c67667c6ea 100644
--- a/libs/ardour/luaproc.cc
+++ b/libs/ardour/luaproc.cc
@@ -664,6 +664,8 @@ LuaProc::connect_and_run (BufferSet& bufs,
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;
}
}