The option
eventname
(case sensitive) is for inter-process synchronization of DMDX
with other custom software (although these days if your device has a TCP/IP API
like the Open Gaze API used by the Gazepoint eye trackers
using the
tcpip input device is going to be much
easier than using this as it allows two way communication). If another process creates an event that
matches the
eventname
then every time DMDX turns the clock on it will signal that
event. The following code snippet demonstrates this by waiting 5 seconds or
printing * when signaled by DMDX:
HANDLE ev; if((ev = CreateEvent(NULL, FALSE, FALSE, "DMDXevent")) == NULL) { printf("failed to CreateEvent"); exit(1); } while(running) { if(WaitForSingleObject(ev, 5000) == WAIT_TIMEOUT) printf("-"); else printf("*"); }Note that N must be specified when using eventname, as in <rcot 1,DMDXevent>.
Note that using <rcot> with <ContinueClockOn> will not store the time the clock is continued from, it will store the time the frame with <cco> in it is presented.
If you needed access to the item number for a code to send to another machine say that DMDX was executing you could piggy back on the network monitor capabilities and use a local TCP socket to recieve DMDX's runtime diagnostics. Packets beginning with ESC can be ignored as they are control packets (unless you turned on naming task negation of course then you'd have to respond appropriately to "\33<ntn>text" packets with either "\33<ntnaff>" or "\33<ntnneg>") but the rest are going to be plain text that you can parse the item number out of.