diff options
author | Robin Gareus <robin@gareus.org> | 2016-07-10 15:56:18 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-07-10 15:56:18 +0200 |
commit | 7dfd39e708233b618c7911eb66e49625c60d4d1c (patch) | |
tree | 4783f564be78286dc3b4afac2bad1db3eb91829c /libs | |
parent | 140258d8abc366ddd600a7b3079b55a730b10225 (diff) |
add a single-element ring-buffer write function
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/luabindings.cc | 3 | ||||
-rw-r--r-- | libs/pbd/pbd/ringbufferNPT.h | 7 |
2 files changed, 10 insertions, 0 deletions
diff --git a/libs/ardour/luabindings.cc b/libs/ardour/luabindings.cc index 533395f5bb..89d132015c 100644 --- a/libs/ardour/luabindings.cc +++ b/libs/ardour/luabindings.cc @@ -303,6 +303,7 @@ 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) @@ -314,6 +315,7 @@ 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) @@ -325,6 +327,7 @@ 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) diff --git a/libs/pbd/pbd/ringbufferNPT.h b/libs/pbd/pbd/ringbufferNPT.h index f01a6f3a16..267adf83ff 100644 --- a/libs/pbd/pbd/ringbufferNPT.h +++ b/libs/pbd/pbd/ringbufferNPT.h @@ -59,6 +59,7 @@ class /*LIBPBD_API*/ RingBufferNPT size_t read (T *dest, size_t cnt); size_t write (const T *src, size_t cnt); + size_t write_one (const T src); struct rw_vector { T *buf[2]; @@ -198,6 +199,12 @@ RingBufferNPT<T>::write (const T *src, size_t cnt) return to_write; } +template<class T> /*LIBPBD_API*/ size_t +RingBufferNPT<T>::write_one (const T src) +{ + return write (&src, 1); +} + template<class T> /*LIBPBD_API*/ void RingBufferNPT<T>::get_read_vector (typename RingBufferNPT<T>::rw_vector *vec) { |