Breaking change for C++ and C# bindings
- All methods in C++ binding return C++ objects like
std::vector
insteadint*
andstd::string
insteadchar*
- In C++ binding data is represented by
BrainFlowArray<double, 2>
insteaddouble **
- Remove Accord as a dependency from C# binding
- Add
get_csp
method
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.