lua PBD ringbuffer bindings
authorRobin Gareus <robin@gareus.org>
Wed, 6 Jul 2016 15:44:06 +0000 (17:44 +0200)
committerRobin Gareus <robin@gareus.org>
Thu, 7 Jul 2016 13:37:11 +0000 (15:37 +0200)
libs/ardour/luabindings.cc

index 7a73ef7ed8cfc78f997688d17ca1206d1f0872d1..393389c5ffba3e9c8a47ba414b6b0091e7e6fd0b 100644 (file)
@@ -226,6 +226,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")
 
@@ -294,6 +297,33 @@ 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_space", &PBD::RingBufferNPT<uint8_t>::write_space)
+               .addFunction ("read_space", &PBD::RingBufferNPT<uint8_t>::read_space)
+               .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_space", &PBD::RingBufferNPT<float>::write_space)
+               .addFunction ("read_space", &PBD::RingBufferNPT<float>::read_space)
+               .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_space", &PBD::RingBufferNPT<int>::write_space)
+               .addFunction ("read_space", &PBD::RingBufferNPT<int>::read_space)
+               .endClass ()
+
                /* PBD enums */
                .beginNamespace ("GroupControlDisposition")
                .addConst ("InverseGroup", PBD::Controllable::GroupControlDisposition(PBD::Controllable::InverseGroup))