Skip to content

leiferlab/internal.mindcontrolAPI

Repository files navigation

Andrew Leifer
leifer@princeton.edu

The MindControl API is a DLL and associated .h header file that allows other 
software to read and write certain information from the MindControl software
side-by-side in real-time as the mindcontrol software runs. 

For example, the following C code will display the current frame number from
a running MindControl process, provided that it can access the mc_api.dll file.


#include <stdio.h>
#include "mc_api_dll.h"

int main(){
	SharedMemory_t sm= MC_API_StartClient();
	int f= MC_API_GetCurrentFrame(sm);
	printf("Current frame is %d\n.",f);
	MC_API_StopClient(sm);
	return 0;
}


The mc_api.dll file is generated by running make and is located in bin/.

The MindContol API rests on top of a more general memory sharing library called
InterProcess available at http://github.com/samuellab/InterProcess


Normally only the MindControl software would be a host. But for testing purposes
there is also a mock-up host process in samples/mc_host.c and a sample client 
process in samples/mc_client.c

Under normal use, only the MindControl software should access:
MC_API_StartServer()
MC_API_StopServer()
MC_API_SetCurrentFrame()
MC_API_SetDLPOnOff()


The client can access all other functions.

A .zip file of precompiled binaries of the samples and DLL can be found in the 
download sections, although you should check the commit number to make sure it is
up to date.

About

Interprocess C API / DLL for getting data in and out of the mindcontrol application in realtime.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages