Does the FieldTrip realtime buffer only work with MATLAB?
No, the FieldTrip realtime buffer defines a network communication protocol which only requires TCP/IP. It does not require any specific operating system, programming language or data analysis environment, although we do use it a lot in combination with MATLAB and with functions from the FieldTrip toolbox on the analysis side. Most of the applications on the data acquisition side are implemented in C or C++.
Furthermore, it helps to distinguish between the buffer server and the clients.
This is the reference implementation, i.e. the authoritative example implementation. it is implemented in ANSI C to allow it to compile on a large number of platforms and available in
fieldtrip/realtime/src/buffer. You can compile it as library and use it in your own software.
A C++ wrapper around the reference implementation is available in
fieldtrip/realtime/src/buffer/cpp, together with a number of classes that facilitate the development of client applications in C++. Please see this documentation for more details.
A native Python implementation of the client-side functions is available in
fieldtrip/realtime/src/buffer/python. Please see this documentation for more details.
A native Java implementation of the client-side functions is available in
fieldtrip/realtime/src/buffer/java. Please see this documentation for more details.
The MATLAB implementation consists of the ft_read_header, ft_read_data and ft_read_event functions from the
fieldtrip/fileio directory. Under the hood, these functions call a mex file in which the reference implementation is being used. Please see this documentation for more details and go through the getting started documentation.