Hash :
1ac7374b
Author :
Thomas de Grivel
Date :
2018-08-06T23:34:09
rename README
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
RTBUF - real time buffers
Minimalist framework for real time signal processing in C.
RTBUF is a modular system : you write real time functions in C
in a library. You can then load these
libraries and instanciate real time functions into buffers which
are bound to one another. Almost all memory allocation is static.
A real time function is made of :
a name (a string identifier)
an optional start method that will be called before computation starts
an optional compute method that will be called in real time
an optional stop method that will be called after computation finishes
variable definitions which are made of a name and a type designator
output definitions which are made of a name and a type designator
Your library has to export specific symbols :
rtbuf_lib_name the name of your library
rtbuf_lib_ver an unsigned long used to verify binary compatiblity
rtbuf_lib_fun an array of library function definitions
Optional symbols :
rtbuf_lib_init a function to initialize the library
When creating a new buffer from a real time function the outputs are
allocated into buffer->data. When writing library functions please make
sure the size of the types in your code matches the size of rtbuf types.
The buffers are ordered according to bindings and real time computation
can start. For each tick all buffers are computed.
There are three libraries for RTBUF under development :
RTBUF signal - signal processing, operations on buffers of doubles.
RTBUF sndio - OpenBSD sndio library for hardware audio i/o.
RTBUF glfw3 - Portable OpenGL, keyboard and mouse library.
TODO:
timing of functions