diff options
author | Robin Gareus <robin@gareus.org> | 2016-08-23 22:18:04 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-08-23 22:21:03 +0200 |
commit | 5d597cdfeb644957358a4c2b0da10a4ef04f1747 (patch) | |
tree | b39493bc77aba59490f57b27125bc076b1283a85 | |
parent | 2d5166606b2b18bda0dbe615cc07759c5a1263e2 (diff) |
add FluidSynth Lua Bindings
-rw-r--r-- | libs/ardour/luabindings.cc | 16 | ||||
-rw-r--r-- | libs/ardour/luaproc.cc | 2 |
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; } } |