Skip to content

iTrace Core and Plugin Communication

Drew Guarnera edited this page Mar 14, 2019 · 3 revisions

iTrace Core and the plugins communicate via simple string messages. For each message the first portion of the string indicates the type of message. All subsequent information is found in comma separated fields with each message terminated by a newline.

iTrace Core notifies plugins of the start of a recording session using a message in the format:

session_start,[session_id],[session_timestamp],[output_root_directory]\n

Fields:

  • session_id = matches the session id

Once a session begins, subsequent gaze data is transmitted to the plugins in the format:

gaze,[event_id],[x],[y]\n

It is important to note that the core should NEVER send invalid data to the plugins. Presently, iTrace-Core only supports recording from a single display or a monitor configured to be the primary display in a multiple monitor setup. This means negative X and Y data is currently not possible.

When a recording session has ended, the plugins will receive the following message:

session_end\n

All communication is one way (from the Core to the Plugins).