Hey Michael, thank you for your advice! I understood the problem and was able to implement it into my code so that two windows would now open and display different things as I want them to be displayed.
The only trouble I’m still working on is that I want the program to display the same two Stimuli on both monitors simultaneously. Right now, the way I coded it will display both stimuli on win1, with the other staying empty.
So here I created two windows:
SCREEN_SIZE = (1000,500)
win0 = visual.Window(SCREEN_SIZE, screen=0, fullscr=False)
win1 = visual.Window(SCREEN_SIZE, screen=1, fullscr=False)
Then, I set up the stimuli
LeftStimuli = visual.ImageStim(
win=win0,
name='LeftStimuli',
image='sin', mask=None,
ori=0, pos=(-0.35, 0), size=(0.5, 0.5),
color=[1,1,1], colorSpace='rgb', opacity=1,
flipHoriz=False, flipVert=False,
texRes=128, interpolate=True, depth=0.0)
RightStimuli = visual.ImageStim(
win=win0,
name='RightStimuli',
image='sin', mask=None,
ori=0, pos=(0.35, 0), size=(0.5, 0.5),
color=[1,1,1], colorSpace='rgb', opacity=1,
flipHoriz=False, flipVert=False,
texRes=128, interpolate=True, depth=-2.0)
Afterwards, I try to draw them to both windows.
if LeftStimuli.status == NOT_STARTED and tThisFlip >= 0.5-frameTolerance:
LeftStimuli.win = win0
LeftStimuli.setAutoDraw(True)
LeftStimuli.win = win1
LeftStimuli.setAutoDraw(True)
if RightStimuli.status == NOT_STARTED and tThisFlip >= 0.5-frameTolerance:
RightStimuli.win = win0
RightStimuli.setAutoDraw(True)
RightStimuli.win = win1
RightStimuli.setAutoDraw(True)
if continueRoutine:
win0.flip()
win1.flip()
I also tried to set win = win0 and win1 when setting the stimulus parameters, and just say RightStimuli.setAutoDraw(True) later to initialize, but that also doesn’t work. I’ve read through Draw into two windows simultaneously, but wasn’t sure what to change about my code. Duplicating the stimuli as they doesn’t seem to me the best solution.
Thanks a lot again,
Jana