and now with "d"
[ardour.git] / libs / ardour / luabindings.cc
index 89d132015c43409ade1b526bae1942b8276182d9..b38df496fa55b5b0214ee07e5be2e43062460d95 100644 (file)
@@ -20,6 +20,7 @@
 
 #include "timecode/bbt_time.h"
 #include "pbd/stateful_diff_command.h"
+#include "pbd/openuri.h"
 #include "evoral/Control.hpp"
 #include "evoral/ControlList.hpp"
 #include "evoral/Range.hpp"
@@ -245,6 +246,10 @@ LuaBindings::common (lua_State* L)
 {
        luabridge::getGlobalNamespace (L)
                .beginNamespace ("PBD")
+
+               .addFunction ("open_uri", (bool (*) (const std::string&))&PBD::open_uri)
+               .addFunction ("open_uri", &PBD::open_folder)
+
                .beginClass <PBD::ID> ("ID")
                .addConstructor <void (*) (std::string)> ()
                .addFunction ("to_s", &PBD::ID::to_s) // TODO special case LUA __tostring ?
@@ -742,6 +747,7 @@ LuaBindings::common (lua_State* L)
                .addVoidConstructor ()
                .addData ("label", &ParameterDescriptor::label)
                .addData ("logarithmic", &ParameterDescriptor::logarithmic)
+               .addStaticFunction ("midi_note_name", &ParameterDescriptor::midi_note_name)
                .endClass ()
 
                .deriveWSPtrClass <Processor, SessionObject> ("Processor")
@@ -1278,6 +1284,10 @@ LuaBindings::dsp (lua_State* L)
                .beginClass <MidiBuffer> ("MidiBuffer")
                .addEqualCheck ()
                .addFunction ("silence", &MidiBuffer::silence)
+               .addFunction ("size", &MidiBuffer::size)
+               .addFunction ("empty", &MidiBuffer::empty)
+               .addFunction ("resize", &MidiBuffer::resize)
+               .addFunction ("copy", (void (MidiBuffer::*)(MidiBuffer const * const))&MidiBuffer::copy)
                .addFunction ("push_event", (bool (MidiBuffer::*)(const Evoral::MIDIEvent<framepos_t>&))&MidiBuffer::push_back)
                .addFunction ("push_back", (bool (MidiBuffer::*)(framepos_t, size_t, const uint8_t*))&MidiBuffer::push_back)
                // TODO iterators..
@@ -1299,6 +1309,7 @@ LuaBindings::dsp (lua_State* L)
                .addFunction ("size", &Evoral::Event<framepos_t>::size)
                .addFunction ("set_buffer", &Evoral::Event<framepos_t>::set_buffer)
                .addFunction ("buffer", (uint8_t*(Evoral::Event<framepos_t>::*)())&Evoral::Event<framepos_t>::buffer)
+               .addFunction ("time", (framepos_t (Evoral::Event<framepos_t>::*)())&Evoral::MIDIEvent<framepos_t>::time)
                .endClass ()
 
                .beginClass <Evoral::Beats> ("Beats")
@@ -1339,6 +1350,7 @@ LuaBindings::dsp (lua_State* L)
                .addFunction ("mmult", &DSP::mmult)
                .addFunction ("log_meter", &DSP::log_meter)
                .addFunction ("log_meter_coeff", &DSP::log_meter_coeff)
+               .addFunction ("process_map", &DSP::process_map)
                .addRefFunction ("peaks", &DSP::peaks)
 
                .beginClass <DSP::LowPass> ("LowPass")