#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"
{
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 ?
.addVoidConstructor ()
.addData ("label", &ParameterDescriptor::label)
.addData ("logarithmic", &ParameterDescriptor::logarithmic)
+ .addStaticFunction ("midi_note_name", &ParameterDescriptor::midi_note_name)
.endClass ()
.deriveWSPtrClass <Processor, SessionObject> ("Processor")
.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..
.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")
.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")