Breaking change for C++ and C# bindings
- All methods in C++ binding return C++ objects like
std::vectorinsteadint*andstd::stringinsteadchar* - In C++ binding data is represented by
BrainFlowArray<double, 2>insteaddouble ** - Remove Accord as a dependency from C# binding
- Add
get_cspmethod
C# binding
Before we used Accord as a dependency and used to return Accord objects to the user. Unfortunately Accord is not supported anymore. It was a great project, but its author deprecated it. You can read more about this announcement here. We decided to remove unmaintained dependency, and it is a breaking change. We implemented a subset of Accord functions to work with matrices, but not all of them and they are in another namespace.
C++ binding
We used to return plain C pointers for almost everything, in this version we moved to C++ objects instead. From now on methods like get_eeg_channels return std::vector, methods like get_device_name return std::string.
The most important change here is a BrainFlowArray class. It is inspired by Numpy and stores NDArray as a continuous memory chunk in row major order. Before this change we used double **, it was much harder to use and prevented us to implement some performance optimizations.
Feel free to check Docs Page to learn more about API changes and updated samples.