Follow

Appendix 3: Emotiv EmoEngine Events

In order for an application to communicate with Emotiv EmoEngine, the program must regularly check for new EmoEngine events and handle them accordingly.  Emotiv EmoEngine events are listed in the table below: 

EmoEngine events

Hex Value

Description

EE_UserAdded

0x0010

New user is registered with the EmoEngine

EE_UserRemoved

0x0020

User is removed from the EmoEngine’s user list

EE_EmoStateUpdated

0x0040

New detection is available

EE_ProfileEvent

0x0080

Notification from EmoEngine in response to a request to acquire profile of an user

EE_CognitivEvent

0x0100

Event related to Cognitiv detection suite.  Use the EE_CognitivGetEventType function to retrieve the Cognitiv-specific event type.

EE_ExpressivEvent

0x0200

Event related to the Expressiv detection suite.  Use the EE_ExpressivGetEventType function to retrieve the Expressiv-specific event type.

EE_InternalStateChanged

0x0400

Not generated for most applications.  Used by Emotiv Control Panel to inform UI that a remotely connected application has modified the state of the embedded EmoEngine through the API.

EE_EmulatorError

0x0001

EmoEngine internal error.

An application constructed to use Emotiv EmoEngine™ requires that EDK.dll be installed on the end-user’s computer.  EDK.dll has been compiled with Microsoft Visual Studio 2005 (VC 8.0) SP1 and depends upon the shared C/C++ run-time libraries (CRT) that ship with this version of the compiler.  The appropriate shared run-time libraries are installed on the application developer’s machine by the Emotiv SDK™ Installer, but the developer is responsible for ensuring that the appropriate run-time libraries are installed on an end-user’s computer by the developer’s application installer before EDK.dll can be used on that machine.

If the application developer is using Visual Studio 2005 SP1+ to build her application then it is likely that no additional run-time libraries, beyond those already required by the application, need to be installed on the end-user’s computer in order to support EDK.dll.  Specifically, EDK.dll requires that Microsoft.VC80.CRT version 8.0.50727.762 or later be installed on the end-user’s machine.  Please see the following Microsoft documentation: Redistributing Visual C++ files and Visual C++ Libraries as Shared Side-by-Side Assemblies for more information about how to install the appropriate Microsoft shared run-time libraries or contact Emotiv’s SDK support team for further assistance.

If the application is built using an older or newer major version of the Visual Studio compiler, such as Visual Studio 2003 or 2008, or another compiler altogether, then EDK.dll and the application will use different copies of the C/C++ run-time library (CRT).  This will usually not cause a problem because EDK.dll doesn’t rely on any shared static state with the application’s instance of the CRT, but the application developer needs to be aware of some potentially subtle implications of using multiple instances of the CRT in the same process.  Please refer to Microsoft’s C Run-Time Libraries (CRT) documentation for more information on this subject.  Depending on the particular compiler/run-time library mismatch involved, Emotiv may be able to provide a custom build of EDK.dll for developers who wish to use another compiler.  Please contact the Emotiv SDK support team if you think you might require such a custom build.

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments

Powered by Zendesk