Version 3.2

Version 3.2.1, released 24 May 2016

    • RMVideo executable rebuilt for newer Linux workstations. RMVideo (version 6) was last built on a 2009-era Mandriva Linux workstation using a 2.6 kernel. Recent attempts to run it on newer Linux workstations have failed. If it ran at all, RMVideo did not correctly report available video modes; excessive frame skips could occur; the program's response grew more and more delayed in Continuous mode; and movie files could not be read. While the frame skips and unresponsiveness were addressed by ensuring that the "SyncToVBlank" video attribute was turned off, the other issues remained because RMVideo relied on old shared libraries that were now quite old. To address this problem, RMVideo was rebuilt under the Ubuntu 14.04.3 LTS distribution running GNU/Linux kernel version 3.19 and using more recent versions of the OpenGL, XRandR, and video libraries on which it depends. The new build's version number remains at 6, since there were no significant functional changes -- although the new build does accept video modes with refresh rates down to 60Hz instead of 75.

    • Removed the RMVideo "automatic update" feature. In past versions since v2.5.2, Maestro could detect an outdated RMVideo executable, download the current version to the Linux workstation over the dedicated Ethernet link, then start and link with the updated RMVideo. However, given the build targeting newer Linux systems, there are now at least two builds of RMVideo (both version 6) in use. This complicates the auto-update feature going forward, so we decided to eliminate it. When new functionality is added to RMVideo in a future release, the RMVideo executable will have to be downloaded and installed manually on the Linux machine.

    • Added eyelink_core.dll to the Maestro installation. In version 3.2.0, Maestro would fail to start if the EyeLink tracker SDK was not installed on the machine; the error message indicated that eyelink_core.dll was missing. Unfortunately, SR Research only provides dynamic linked libraries, not static libraries. Therefore, eyelink_core.dll must be present or Maestro will not run -- even if you have no plans to use the EyeLink tracker. To avoid requiring every user to install the EyeLink SDK on their Maestro workstations, the installation archive now includes eyelink_core.dll. Place it in the Maestro installation directory alongside maestro.exe.

    • Bug fixes: (1) Movie file downloads were broken by a bug in Win32 API ReadFile(). (2) Cosmetic changes in operation of RMVideo Movies tab after a movie file is successfully downloaded.


Version 3.2.0, released 03 Dec 2015, rev. 25 Jan 2016 (pre-release for testing)

    • This release introduces support for an alternative to the eye coil system for monitoring eye position -- the EyeLink 1000+ eye tracker from SR Research. The tracker's "Host PC" samples pupil position at 1KHz and streams the raw pupil coordinates to Maestro over a dedicated Ethernet connection. This EyeLink data stream is handled by a worker thread that runs on the Win32 side of Maestro and delivers the samples to the RTX side via interprocess communication. Adjustable gain and offset calibration parameters are used to convert the raw pupil coordinates to the same units as the traditionally analog-sampled eye coil data, so that the EyeLink data simply "replaces" the analog data in channels HGPOS, VEPOS, HEVEL, and VEVEL. Eye velocity is computed from eye position data using a central-point difference method followed by smoothing over a window of adjustable length. Check the Running Experiments > EyeLink page for more details.

    • The Maestro data file has been updated to include EyeLink-specific information. The header record includes a flag indicating whether or not the EyeLink was used, along with gain and offset factors, the velocity smoothing filter width, and some statistics on inter-sample delays (because the data gets to Maestro over an Ethernet link and is serviced by a Win32 thread rather than RTX, there is the potential for delays in the sample stream). In addition, blink start and end events are recorded in the "other events" record (tag 3) along with digital input pulse events on DI<2..15>. Data file version = 20.

    • The Matlab function readcxdata() has been updated to handle data files (file version 20) generated by this release of Maestro. It exposes EyeLink-related information in the header record, and includes a new blinks field in the output structure that lists the start and end times of any blinks detected when using the EyeLink instead of the eye coil system to record eye trajectories.

    • (Revised 25 Jan 2016): EyeLink calibration gain in X and Y can now be positive or negative, in case you need to invert the raw signal coming from the tracker. Push buttons on the EyeLink tab toggle the polarity of the X and Y gain factors.