NO-OP session-property comments
[ardour.git] / libs / ardour / luabindings.cc
index 4f955930522aa022ef0b147e1fd90c0ce0ad9c94..f7ac8ec6331fb4aa855a2f65ddfb8c4e0749a9d6 100644 (file)
@@ -141,6 +141,13 @@ CLASSINFO(PublicEditor);
 CLASSINFO(Selection);
 CLASSINFO(ArdourMarker);
 
+namespace LuaCairo {
+       class ImageSurface;
+       class PangoLayout;
+}
+CLASSKEYS(LuaCairo::ImageSurface);
+CLASSKEYS(LuaCairo::PangoLayout);
+
 namespace Cairo {
        class Context;
 }
@@ -162,6 +169,7 @@ CLASSKEYS(ARDOUR::Session);
 CLASSKEYS(ARDOUR::BufferSet);
 CLASSKEYS(ARDOUR::ChanMapping);
 CLASSKEYS(ARDOUR::DSP::DspShm);
+CLASSKEYS(ARDOUR::LuaTableRef);
 CLASSKEYS(PBD::ID);
 CLASSKEYS(ARDOUR::Location);
 CLASSKEYS(ARDOUR::PluginInfo);
@@ -219,6 +227,9 @@ LuaBindings::stddef (lua_State* L)
                .beginStdVector <std::string> ("StringVector")
                .endClass ()
 
+       // register float array (uint8_t*)
+               .registerArray <uint8_t> ("ByteArray")
+
        // register float array (float*)
                .registerArray <float> ("FloatArray")
 
@@ -287,6 +298,42 @@ LuaBindings::common (lua_State* L)
                .addFunction ("get_value", &PBD::Controllable::get_value)
                .endClass ()
 
+               .beginClass <PBD::RingBufferNPT <uint8_t> > ("RingBuffer8")
+               .addConstructor <void (*) (size_t)> ()
+               .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")
+               .addConstructor <void (*) (size_t)> ()
+               .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")
+               .addConstructor <void (*) (size_t)> ()
+               .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 */
                .beginNamespace ("GroupControlDisposition")
                .addConst ("InverseGroup", PBD::Controllable::GroupControlDisposition(PBD::Controllable::InverseGroup))
@@ -390,6 +437,9 @@ LuaBindings::common (lua_State* L)
                .addVoidConstructor ()
                .addFunction ("get", static_cast<uint32_t(ChanMapping::*)(DataType, uint32_t) const>(&ChanMapping::get))
                .addFunction ("set", &ChanMapping::set)
+               .addFunction ("count", &ChanMapping::count)
+               .addFunction ("n_total", &ChanMapping::n_total)
+               .addFunction ("is_monotonic", &ChanMapping::is_monotonic)
                .addConst ("Invalid", 4294967295U) // UINT32_MAX
                .endClass ()
 
@@ -572,7 +622,7 @@ LuaBindings::common (lua_State* L)
                .addFunction ("data_type", &Playlist::data_type)
                .addFunction ("n_regions", &Playlist::n_regions)
                //.addFunction ("get_extent", &Playlist::get_extent) // pair<framepos_t, framepos_t>
-               //.addFunction ("region_list", &Playlist::region_list) // RegionListProperty&
+               .addFunction ("region_list", &Playlist::region_list)
                .addFunction ("add_region", &Playlist::add_region)
                .addFunction ("remove_region", &Playlist::remove_region)
                .addFunction ("regions_at", &Playlist::regions_at)
@@ -692,6 +742,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")
@@ -954,9 +1005,7 @@ LuaBindings::common (lua_State* L)
                .addConst ("Auditioner", ARDOUR::PresentationInfo::Flag(PresentationInfo::Auditioner))
                .addConst ("Selected", ARDOUR::PresentationInfo::Flag(PresentationInfo::Selected))
                .addConst ("Hidden", ARDOUR::PresentationInfo::Flag(PresentationInfo::Hidden))
-               .addConst ("GroupOrderSet", ARDOUR::PresentationInfo::Flag(PresentationInfo::GroupOrderSet))
-               .addConst ("GroupMask", ARDOUR::PresentationInfo::Flag(PresentationInfo::GroupMask))
-               .addConst ("SpecialMask", ARDOUR::PresentationInfo::Flag(PresentationInfo::SpecialMask))
+               .addConst ("GroupOrderSet", ARDOUR::PresentationInfo::Flag(PresentationInfo::OrderSet))
                .addConst ("StatusMask", ARDOUR::PresentationInfo::Flag(PresentationInfo::StatusMask))
                .endNamespace ()
                .endNamespace ()
@@ -1206,6 +1255,7 @@ LuaBindings::common (lua_State* L)
                .addFunction ("set_processor_param", ARDOUR::LuaAPI::set_processor_param)
                .addFunction ("set_plugin_insert_param", ARDOUR::LuaAPI::set_plugin_insert_param)
                .addCFunction ("plugin_automation", ARDOUR::LuaAPI::plugin_automation)
+               .addCFunction ("hsla_to_rgba", ARDOUR::LuaAPI::hsla_to_rgba)
                .addFunction ("usleep", Glib::usleep)
                .endNamespace () // end LuaAPI
                .endNamespace ();// end ARDOUR
@@ -1229,6 +1279,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..
@@ -1238,6 +1292,7 @@ LuaBindings::dsp (lua_State* L)
                .beginClass <BufferSet> ("BufferSet")
                .addEqualCheck ()
                .addFunction ("get_audio", static_cast<AudioBuffer&(BufferSet::*)(size_t)>(&BufferSet::get_audio))
+               .addFunction ("get_midi", static_cast<MidiBuffer&(BufferSet::*)(size_t)>(&BufferSet::get_midi))
                .addFunction ("count", static_cast<const ChanCount&(BufferSet::*)()const>(&BufferSet::count))
                .endClass()
                .endNamespace ();
@@ -1249,6 +1304,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")
@@ -1289,6 +1345,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")
@@ -1302,9 +1359,17 @@ LuaBindings::dsp (lua_State* L)
                .addConstructor <void (*) (double)> ()
                .addFunction ("run", &DSP::Biquad::run)
                .addFunction ("compute", &DSP::Biquad::compute)
+               .addFunction ("configure", &DSP::Biquad::configure)
                .addFunction ("reset", &DSP::Biquad::reset)
                .addFunction ("dB_at_freq", &DSP::Biquad::dB_at_freq)
                .endClass ()
+               .beginClass <DSP::FFTSpectrum> ("FFTSpectrum")
+               .addConstructor <void (*) (uint32_t, double)> ()
+               .addFunction ("set_data_hann", &DSP::FFTSpectrum::set_data_hann)
+               .addFunction ("execute", &DSP::FFTSpectrum::execute)
+               .addFunction ("power_at_bin", &DSP::FFTSpectrum::power_at_bin)
+               .addFunction ("freq_at_bin", &DSP::FFTSpectrum::freq_at_bin)
+               .endClass ()
 
                /* DSP enums */
                .beginNamespace ("BiquadType")
@@ -1320,6 +1385,7 @@ LuaBindings::dsp (lua_State* L)
                .endNamespace ()
 
                .beginClass <DSP::DspShm> ("DspShm")
+               .addConstructor<void (*) (size_t)> ()
                .addFunction ("allocate", &DSP::DspShm::allocate)
                .addFunction ("clear", &DSP::DspShm::clear)
                .addFunction ("to_float", &DSP::DspShm::to_float)
@@ -1329,6 +1395,12 @@ LuaBindings::dsp (lua_State* L)
                .endClass ()
 
                .endNamespace () // DSP
+
+               .beginClass <LuaTableRef> ("LuaTableRef")
+               .addCFunction ("get", &LuaTableRef::get)
+               .addCFunction ("set", &LuaTableRef::set)
+               .endClass ()
+
                .endNamespace (); // ARDOUR
 }