Eyelink playback routine

Dear all,
we have the following problem. We would like to play back eyelink data
at the end of each trial and probably need the
eyelink_wait_for_block_start routine.
The typical example from the Eyelink Programmer's Guide is:

set_offline_mode(); // set up eye tracker for playback
eyelink_playback_start(); // start data playback
// Wait for first data to arrive
// Failure may mean no data or file not open
// This function discards other data in file (buttons and messages)
// until the start of recording.
// If you need these events, then don’t use this function.
// Instead, wait for a sample or event before setting eye_data,
// and have a timeout if no data is available in 2000 msec.
if(!eyelink_wait_for_block_start(2000, 1, 1))
{
alert_printf("ERROR: playback data did not start!");
return -1;
}

As far as we have understood this routine is not implemented in the
eyelink toolbox.
Does anybody know if there is a possibility to access the routine via
the eyelink toolbox or if there is a work around?

Thanks,
Jutta
it is quite easy to add eyelink functions yourself. check out the ptb dev branch, and all the c is in:
\PsychSourceGL\Source\Common\Eyelink

follow the examples there (EyelinkWaitForModeReady.c is a good barebones example -- also search everything in the root directory for 'waitformode' to see the various places you need to register any new functions you write).

if you're on windows, there is a build script for making the mex file (customize it with your local paths):
\PsychSourceGL\Source\windowsmakeeyelink.m

you can use a free version of visual studio (for c/c++) for the compiling:
http://www.microsoft.com/express/download/#webInstall

on osx, there is an xcode project that knows how to do the build.

if you don't like the sound of that approach, there's tons of workarounds. tell the eyelink to record the data to a file and then transfer that file after the trial/session, or else receive the samples over the link in realtime during the trial and record them in your matlab data structures. or maybe there is some hope of calling the eyelink API via matlab's loadlibrary.
-e

--- In psychtoolbox@yahoogroups.com, Jutta Billino <Jutta.Billino@...> wrote:
>
> Dear all,
> we have the following problem. We would like to play back eyelink data
> at the end of each trial and probably need the
> eyelink_wait_for_block_start routine.
> The typical example from the Eyelink Programmer's Guide is:
>
> set_offline_mode(); // set up eye tracker for playback
> eyelink_playback_start(); // start data playback
> // Wait for first data to arrive
> // Failure may mean no data or file not open
> // This function discards other data in file (buttons and messages)
> // until the start of recording.
> // If you need these events, then don't use this function.
> // Instead, wait for a sample or event before setting eye_data,
> // and have a timeout if no data is available in 2000 msec.
> if(!eyelink_wait_for_block_start(2000, 1, 1))
> {
> alert_printf("ERROR: playback data did not start!");
> return -1;
> }
>
> As far as we have understood this routine is not implemented in the
> eyelink toolbox.
> Does anybody know if there is a possibility to access the routine via
> the eyelink toolbox or if there is a work around?
>
> Thanks,
> Jutta
>