BCI2000Remote is NOT what you want. That simply allows you to control BCI2000's startup and shutdown.
In general, what you're looking to achieve is called inter-process communication (IPC). The most common forms of IPC use network protocols. BCI2000 modules communicate with each other through TCP. AppConnector uses UDP. Network protocols send packets of information over a network and thus the processes can be running on separate computers or even the same computer (i.e., localhost or 127.0.0.1). If your processes are running on the same computer then you may use a faster IPC implementation like shared memory. See BCI2000's MatlabFilter for an example of a shared memory implementation.
App Connector is probably your easiest option. All you have to do is make your target application accept the UDP packets and similarly send UDP packets out. Some basic examples are provided here:
Code: Select all
http://www.bci2000.org/wiki/index.php/Technical_Reference:App_Connector
Note that the AppConnectorExample program is over 5 years old. It might still compile, but it relies on a fairly old version of Qt, a version older than that currently used by BCI2000. (I haven't tested to see if it was forward compatible). All the AppConnector example does is demonstrate how a C++ program can communicate with BCI2000 through UDP. It is only useful as an example. You will have to write code for your application, maybe using the example as a guide.
Thus, to get AppConnector (not the example) working on the BCI2000 side, you don't need to compile anything. AppConnector should work with the BCI2000 binaries. You just have to parameterize it to tell it where your receiving (and optionally, sending) UDP ports are. The work is in the implementation in your target application. Compiling your target application (if it's even written in a compiled language) is entirely separate to BCI2000. Your target application COULD be Matlab-based, Python-based, javascript-based, etc.