OS (e.g. Win10): OSX 10.11.6 on a new Mac Mini
PsychoPy version (e.g. 1.84.x): 1.84.2
Standard Standalone? (y/n) If not then what?: Yes.
I have some undergraduate students in my laboratory trying to implement an eye tracking study using our new EyeLink 1000 Plus in PsychoPy with Builder view. They managed to find a demonstration script based on the Stroop demo that uses iohub to interface with the eye tracker and – by copying the relevant code component from trial Routine of that script – they managed to generate a working experiment. The code component they added to implement tracking seems to follow the general recipe provided here (Python crashing with eyetracking experiment). If needed, I will post an example either tomorrow or Tuesday when I am back in the laboratory. The experiment runs for the most part, but there are two issues we have been unable to iron out. I was hoping someone here could point us in the right direction.
The approach linked above generally works, but it requires the experiment not be in full-screen mode. This is because iohub wants to use its own window for the calibration process. If you try to run the code with the experiment in full screen mode, it does not work. I tried a variety of tricks I found online to swap between full-screen and windowed mode such as are found here (http://stackoverflow.com/questions/26257490/psychopy-reopen-window). I integrated the relevant snippet into the portion of code wherein the eye tracker does its calibration, trying to change to windowed mode, minimize, calibrate and then change back; however, these tricks do not appear to work. If the experiment starts in full screen mode, it does not appear responsive to changing to windowed mode. I know one way to make this work using the Coder view – by moving the tracker initialization code to the period of the script preceding definition of the experiment window, sidestepping the issue – but I am looking for a solution I could give to my students, who are not ready to deal with the Coder view. Plus, it would be good to be able to incorporate the calibration process later in the experiment, which would require swapping from full screen. Is there any way to get iohub to use the same window as the experiment? Or is there any way to change between full screen and windowed mode in PsychoPy using OSX?
My experiment uses tones. These are represented by a sound component in the Builder view, with the frequency set at each repeat (alternating between 280 and 1170 Hz, each repeated 60 times). I noticed today that on some trials, the tone appears to double up (instead of BEEP you get a somewhat noisy BEEPBEEP) after which the trial ends prematurely (it is meant to last 3 s following the tone but ends immediately after). I spent two days trying to figure out what was wrong with the sound drivers, etc. However, I determined today that this issue only happens if iohub is loaded and the eye tracker is recording. If I keep all of the code from the above example in place but merely comment out the line wherein the tracker is turned on/off (at the start/end of the routine) this error does not occur. It also does not occur if all of the tracker code is removed. Further, it occurs at a shockingly regular interval. The tone bugs out for the first time on Trial 7 and then every 6 trials after that (each trial is around 7.5 s long). I am at a loss and really have no idea how to even trouble shoot this one. Is there anyone with experience using iohub that could suggest where to start? Would it even be possible for iohub to interact with a sound component in this manner?
As I said above, I do not have a copy of the code with me just now but I wanted to get these questions out there in case the issues are already known and a fix available. I will post a demo of the issue sometime tomorrow or Tuesday if needed.
PS: I technically cross-posted this issue with the Google Group before I noticed the deprecation notice. Sorry!