Move MIDI filters imprecise handling from 2nd pass to 1st
[ardour.git] / libs / ardour / luabindings.cc
index c7d6ee75a37db9faec6d4e9d41882759570e2002..9f249578abafb5e828b4c3b960ebc9fe163c998c 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"
@@ -154,7 +155,7 @@ namespace Cairo {
 CLASSKEYS(Cairo::Context);
 CLASSKEYS(std::vector<double>);
 CLASSKEYS(std::list<ArdourMarker*>);
-CLASSKEYS(std::bitset<46ul>); // LuaSignal::LAST_SIGNAL
+CLASSKEYS(std::bitset<47ul>); // LuaSignal::LAST_SIGNAL
 CLASSKEYS(ArdourMarker*);
 CLASSKEYS(ARDOUR::RouteGroup);
 CLASSKEYS(ARDOUR::LuaProc);
@@ -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 ?
@@ -303,8 +308,11 @@ LuaBindings::common (lua_State* L)
                .addFunction ("reset", &PBD::RingBufferNPT<uint8_t>::reset)
                .addFunction ("read", &PBD::RingBufferNPT<uint8_t>::read)
                .addFunction ("write", &PBD::RingBufferNPT<uint8_t>::write)
+               .addFunction ("write_one", &PBD::RingBufferNPT<uint8_t>::write_one)
                .addFunction ("write_space", &PBD::RingBufferNPT<uint8_t>::write_space)
                .addFunction ("read_space", &PBD::RingBufferNPT<uint8_t>::read_space)
+               .addFunction ("increment_read_ptr", &PBD::RingBufferNPT<uint8_t>::increment_read_ptr)
+               .addFunction ("increment_write_ptr", &PBD::RingBufferNPT<uint8_t>::increment_write_ptr)
                .endClass ()
 
                .beginClass <PBD::RingBufferNPT <float> > ("RingBufferF")
@@ -312,8 +320,11 @@ LuaBindings::common (lua_State* L)
                .addFunction ("reset", &PBD::RingBufferNPT<float>::reset)
                .addFunction ("read", &PBD::RingBufferNPT<float>::read)
                .addFunction ("write", &PBD::RingBufferNPT<float>::write)
+               .addFunction ("write_one", &PBD::RingBufferNPT<float>::write_one)
                .addFunction ("write_space", &PBD::RingBufferNPT<float>::write_space)
                .addFunction ("read_space", &PBD::RingBufferNPT<float>::read_space)
+               .addFunction ("increment_read_ptr", &PBD::RingBufferNPT<float>::increment_read_ptr)
+               .addFunction ("increment_write_ptr", &PBD::RingBufferNPT<float>::increment_write_ptr)
                .endClass ()
 
                .beginClass <PBD::RingBufferNPT <int> > ("RingBufferI")
@@ -321,8 +332,11 @@ LuaBindings::common (lua_State* L)
                .addFunction ("reset", &PBD::RingBufferNPT<int>::reset)
                .addFunction ("read", &PBD::RingBufferNPT<int>::read)
                .addFunction ("write", &PBD::RingBufferNPT<int>::write)
+               .addFunction ("write_one", &PBD::RingBufferNPT<int>::write_one)
                .addFunction ("write_space", &PBD::RingBufferNPT<int>::write_space)
                .addFunction ("read_space", &PBD::RingBufferNPT<int>::read_space)
+               .addFunction ("increment_read_ptr", &PBD::RingBufferNPT<int>::increment_read_ptr)
+               .addFunction ("increment_write_ptr", &PBD::RingBufferNPT<int>::increment_write_ptr)
                .endClass ()
 
                /* PBD enums */
@@ -733,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")
@@ -1269,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..
@@ -1290,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")
@@ -1330,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")