Calling a list of shapes within a trial


Author
Message
ben_sydney
ben_sydney
New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)
Group: Forum Members
Posts: 5, Visits: 19


Hi,

I’m trying to call a list of shapes using stimulus frames within trials as follows in a dot probe type task, but I keep getting the error 'could not locate list.listname', it's a long script, but the key elements are below

KEY SCRIPT

<shape pain30hzUP>
/position = (50, values.probeUP)
/shape = rectangle
/color = mediumturquoise
/size = (20%, 10%)
</shape>

<shape painoff>
/position = (0,0)
/shape = rectangle
/color = (127,127,127)
/size = (20%, 10%)
</shape>

<list pain30hzUP>
/items = (shape.pain30hzUP,
         shape.painoff,
         shape.pain30hzUP,
         shape.painoff)
/select=sequence
</list>


<shape control15hzDOWN>
/position = (50, values.probeDOWN)
/shape = rectangle
/color = mediumturquoise
/size = (20%, 10%)
</shape>

<shape controloff>
/position = (0,0)
/shape = rectangle
/color = (127,127,127)
/size = (20%, 10%)
</shape>

<list control15hzDOWN>
/items = (shape.control15hzDOWN,
         shape.control15hzDOWN,
         shape.controloff,
         shape.controloff)
/select=sequence
</list>

<trial sensory_CONGUP>
/stimulusframes = [1-60     =     whitescreen, list.pain30hzUP, list.control15hzDOWN, sensorywords_CONGUP, sensorycontrol_CONGUP]
/inputdevice = keyboard
/correctresponse = (noresponse)
/trialduration = 1000
/ontrialend = [values.currenttarget = text.sensorywords_CONGUP.currentitem]
/ontrialend = [values.currentfoil = text.sensorycontrol_CONGUP.currentitem]
</trial>


----

If I run it with just the elements it works fine:

<trial sensory_CONGUP>
/stimulusframes = [1-60  =  whitescreen, shape.pain30hzUP, shape.control15hzDOWN, sensorywords_CONGUP, sensorycontrol_CONGUP]
/inputdevice = keyboard
/correctresponse = (noresponse)
/trialduration = 1000
/ontrialend = [values.currenttarget = text.sensorywords_CONGUP.currentitem]
/ontrialend = [values.currentfoil = text.sensorycontrol_CONGUP.currentitem]
</trial>

So everything else seems two be working, I just can't call the list, which I want to use to alternate the shapes appearing at different frequencies.

Thanks in advance,
Ben

(PS - a workaround would be if if there was a shape attribute that would allow me to pulse the shape on and off at a certain frequency, but I take it that's not possible?)


Dave
Dave
Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)
Group: Administrators
Posts: 10K, Visits: 62K
ben_sydney - 11/10/2020


Hi,

I’m trying to call a list of shapes using stimulus frames within trials as follows in a dot probe type task, but I keep getting the error 'could not locate list.listname', it's a long script, but the key elements are below

KEY SCRIPT

<shape pain30hzUP>
/position = (50, values.probeUP)
/shape = rectangle
/color = mediumturquoise
/size = (20%, 10%)
</shape>

<shape painoff>
/position = (0,0)
/shape = rectangle
/color = (127,127,127)
/size = (20%, 10%)
</shape>

<list pain30hzUP>
/items = (shape.pain30hzUP,
         shape.painoff,
         shape.pain30hzUP,
         shape.painoff)
/select=sequence
</list>


<shape control15hzDOWN>
/position = (50, values.probeDOWN)
/shape = rectangle
/color = mediumturquoise
/size = (20%, 10%)
</shape>

<shape controloff>
/position = (0,0)
/shape = rectangle
/color = (127,127,127)
/size = (20%, 10%)
</shape>

<list control15hzDOWN>
/items = (shape.control15hzDOWN,
         shape.control15hzDOWN,
         shape.controloff,
         shape.controloff)
/select=sequence
</list>

<trial sensory_CONGUP>
/stimulusframes = [1-60     =     whitescreen, list.pain30hzUP, list.control15hzDOWN, sensorywords_CONGUP, sensorycontrol_CONGUP]
/inputdevice = keyboard
/correctresponse = (noresponse)
/trialduration = 1000
/ontrialend = [values.currenttarget = text.sensorywords_CONGUP.currentitem]
/ontrialend = [values.currentfoil = text.sensorycontrol_CONGUP.currentitem]
</trial>


----

If I run it with just the elements it works fine:

<trial sensory_CONGUP>
/stimulusframes = [1-60  =  whitescreen, shape.pain30hzUP, shape.control15hzDOWN, sensorywords_CONGUP, sensorycontrol_CONGUP]
/inputdevice = keyboard
/correctresponse = (noresponse)
/trialduration = 1000
/ontrialend = [values.currenttarget = text.sensorywords_CONGUP.currentitem]
/ontrialend = [values.currentfoil = text.sensorycontrol_CONGUP.currentitem]
</trial>

So everything else seems two be working, I just can't call the list, which I want to use to alternate the shapes appearing at different frequencies.

Thanks in advance,
Ben

(PS - a workaround would be if if there was a shape attribute that would allow me to pulse the shape on and off at a certain frequency, but I take it that's not possible?)


You can't mix list references and regular stimuli in a single frame in /stimulusframes, that's the issue. The solution is to set up your trial's stimulus presentation sequence /ontrialbegin by way of the inserstimulusframe() function.

<shape pain30hzUP>
/position = (50, values.probeUP)
/shape = rectangle
/color = mediumturquoise
/size = (20%, 10%)
</shape>

<shape painoff>
/position = (0,0)
/shape = rectangle
/color = (127,127,127)
/size = (20%, 10%)
</shape>

<list pain30hzUP>
/items = (shape.pain30hzUP,
   shape.painoff,
   shape.pain30hzUP,
   shape.painoff)
/select=sequence
/ selectionrate = always
</list>


<shape control15hzDOWN>
/position = (50, values.probeDOWN)
/shape = rectangle
/color = mediumturquoise
/size = (20%, 10%)
</shape>

<shape controloff>
/position = (0,0)
/shape = rectangle
/color = (127,127,127)
/size = (20%, 10%)
</shape>

<list control15hzDOWN>
/items = (shape.control15hzDOWN,
   shape.control15hzDOWN,
   shape.controloff,
   shape.controloff)
/select=sequence
/ selectionrate = always
</list>


<trial sensory_CONGUP>
/ ontrialbegin = [
    trial.sensory_CONGUP.resetstimulusframes();
    
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 1);
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 1);
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue, 1);

    trial.sensory_CONGUP.insertstimulusframe(text.senorywords_CONGUP, 1);
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 1);
    ...
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 60);
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 60);
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue, 60);
    trial.sensory_CONGUP.insertstimulusframe(text.senorywords_CONGUP, 60);

    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 60);
]
...
</trial>

Note: Not all stimuli may need (re-)insertion in every single frame 1 to 60 -- doing that with the shape lists may be enough, but I cannot tell from the code or the description you provided which stimuli require being re-drawn and which do not.

Edited 2 Weeks Ago by Dave
ben_sydney
ben_sydney
New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)
Group: Forum Members
Posts: 5, Visits: 19
Dave - 11/10/2020
ben_sydney - 11/10/2020


Hi,

I’m trying to call a list of shapes using stimulus frames within trials as follows in a dot probe type task, but I keep getting the error 'could not locate list.listname', it's a long script, but the key elements are below

KEY SCRIPT

<shape pain30hzUP>
/position = (50, values.probeUP)
/shape = rectangle
/color = mediumturquoise
/size = (20%, 10%)
</shape>

<shape painoff>
/position = (0,0)
/shape = rectangle
/color = (127,127,127)
/size = (20%, 10%)
</shape>

<list pain30hzUP>
/items = (shape.pain30hzUP,
         shape.painoff,
         shape.pain30hzUP,
         shape.painoff)
/select=sequence
</list>


<shape control15hzDOWN>
/position = (50, values.probeDOWN)
/shape = rectangle
/color = mediumturquoise
/size = (20%, 10%)
</shape>

<shape controloff>
/position = (0,0)
/shape = rectangle
/color = (127,127,127)
/size = (20%, 10%)
</shape>

<list control15hzDOWN>
/items = (shape.control15hzDOWN,
         shape.control15hzDOWN,
         shape.controloff,
         shape.controloff)
/select=sequence
</list>

<trial sensory_CONGUP>
/stimulusframes = [1-60     =     whitescreen, list.pain30hzUP, list.control15hzDOWN, sensorywords_CONGUP, sensorycontrol_CONGUP]
/inputdevice = keyboard
/correctresponse = (noresponse)
/trialduration = 1000
/ontrialend = [values.currenttarget = text.sensorywords_CONGUP.currentitem]
/ontrialend = [values.currentfoil = text.sensorycontrol_CONGUP.currentitem]
</trial>


----

If I run it with just the elements it works fine:

<trial sensory_CONGUP>
/stimulusframes = [1-60  =  whitescreen, shape.pain30hzUP, shape.control15hzDOWN, sensorywords_CONGUP, sensorycontrol_CONGUP]
/inputdevice = keyboard
/correctresponse = (noresponse)
/trialduration = 1000
/ontrialend = [values.currenttarget = text.sensorywords_CONGUP.currentitem]
/ontrialend = [values.currentfoil = text.sensorycontrol_CONGUP.currentitem]
</trial>

So everything else seems two be working, I just can't call the list, which I want to use to alternate the shapes appearing at different frequencies.

Thanks in advance,
Ben

(PS - a workaround would be if if there was a shape attribute that would allow me to pulse the shape on and off at a certain frequency, but I take it that's not possible?)


You can't mix list references and regular stimuli in a single frame in /stimulusframes, that's the issue. The solution is to set up your trial's stimulus presentation sequence /ontrialbegin by way of the inserstimulusframe() function.

<shape pain30hzUP>
/position = (50, values.probeUP)
/shape = rectangle
/color = mediumturquoise
/size = (20%, 10%)
</shape>

<shape painoff>
/position = (0,0)
/shape = rectangle
/color = (127,127,127)
/size = (20%, 10%)
</shape>

<list pain30hzUP>
/items = (shape.pain30hzUP,
   shape.painoff,
   shape.pain30hzUP,
   shape.painoff)
/select=sequence
/ selectionrate = always
</list>


<shape control15hzDOWN>
/position = (50, values.probeDOWN)
/shape = rectangle
/color = mediumturquoise
/size = (20%, 10%)
</shape>

<shape controloff>
/position = (0,0)
/shape = rectangle
/color = (127,127,127)
/size = (20%, 10%)
</shape>

<list control15hzDOWN>
/items = (shape.control15hzDOWN,
   shape.control15hzDOWN,
   shape.controloff,
   shape.controloff)
/select=sequence
/ selectionrate = always
</list>


<trial sensory_CONGUP>
/ ontrialbegin = [
    trial.sensory_CONGUP.resetstimulusframes();
    
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 1);
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 1);
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue, 1);

    trial.sensory_CONGUP.insertstimulusframe(text.senorywords_CONGUP, 1);
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 1);
    ...
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 60);
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 60);
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue, 60);
    trial.sensory_CONGUP.insertstimulusframe(text.senorywords_CONGUP, 60);

    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 60);
]
...
</trial>

Note: Not all stimuli may need (re-)insertion in every single frame 1 to 60 -- doing that with the shape lists may be enough, but I cannot tell from the code or the description you provided which stimuli require being re-drawn and which do not.


OK, thanks, so I have to add quite a few ~300 lines per trial to specify the frames.

But, I think I am missing something obvious, i.e. what do I add not in the /stimulusframes line to work through those frames?

<trial sensory_CONGUP>
/ ontrialbegin = [
  trial.sensory_CONGUP.resetstimulusframes();
 
  trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 1);
  trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 1);
  trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue, 1);
  trial.sensory_CONGUP.insertstimulusframe(text.senorywords_CONGUP, 1);
  trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 1);
  ...
  trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 60);
  trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 60);
  trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue, 60);
  trial.sensory_CONGUP.insertstimulusframe(text.senorywords_CONGUP, 60);
  trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 60);
/stimulusframes = [1-60 = ????]
]

...
</trial>

ben_sydney
ben_sydney
New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)
Group: Forum Members
Posts: 5, Visits: 19
ben_sydney - 11/10/2020
Dave - 11/10/2020
ben_sydney - 11/10/2020


Hi,

I’m trying to call a list of shapes using stimulus frames within trials as follows in a dot probe type task, but I keep getting the error 'could not locate list.listname', it's a long script, but the key elements are below

KEY SCRIPT

<shape pain30hzUP>
/position = (50, values.probeUP)
/shape = rectangle
/color = mediumturquoise
/size = (20%, 10%)
</shape>

<shape painoff>
/position = (0,0)
/shape = rectangle
/color = (127,127,127)
/size = (20%, 10%)
</shape>

<list pain30hzUP>
/items = (shape.pain30hzUP,
         shape.painoff,
         shape.pain30hzUP,
         shape.painoff)
/select=sequence
</list>


<shape control15hzDOWN>
/position = (50, values.probeDOWN)
/shape = rectangle
/color = mediumturquoise
/size = (20%, 10%)
</shape>

<shape controloff>
/position = (0,0)
/shape = rectangle
/color = (127,127,127)
/size = (20%, 10%)
</shape>

<list control15hzDOWN>
/items = (shape.control15hzDOWN,
         shape.control15hzDOWN,
         shape.controloff,
         shape.controloff)
/select=sequence
</list>

<trial sensory_CONGUP>
/stimulusframes = [1-60     =     whitescreen, list.pain30hzUP, list.control15hzDOWN, sensorywords_CONGUP, sensorycontrol_CONGUP]
/inputdevice = keyboard
/correctresponse = (noresponse)
/trialduration = 1000
/ontrialend = [values.currenttarget = text.sensorywords_CONGUP.currentitem]
/ontrialend = [values.currentfoil = text.sensorycontrol_CONGUP.currentitem]
</trial>


----

If I run it with just the elements it works fine:

<trial sensory_CONGUP>
/stimulusframes = [1-60  =  whitescreen, shape.pain30hzUP, shape.control15hzDOWN, sensorywords_CONGUP, sensorycontrol_CONGUP]
/inputdevice = keyboard
/correctresponse = (noresponse)
/trialduration = 1000
/ontrialend = [values.currenttarget = text.sensorywords_CONGUP.currentitem]
/ontrialend = [values.currentfoil = text.sensorycontrol_CONGUP.currentitem]
</trial>

So everything else seems two be working, I just can't call the list, which I want to use to alternate the shapes appearing at different frequencies.

Thanks in advance,
Ben

(PS - a workaround would be if if there was a shape attribute that would allow me to pulse the shape on and off at a certain frequency, but I take it that's not possible?)


You can't mix list references and regular stimuli in a single frame in /stimulusframes, that's the issue. The solution is to set up your trial's stimulus presentation sequence /ontrialbegin by way of the inserstimulusframe() function.

<shape pain30hzUP>
/position = (50, values.probeUP)
/shape = rectangle
/color = mediumturquoise
/size = (20%, 10%)
</shape>

<shape painoff>
/position = (0,0)
/shape = rectangle
/color = (127,127,127)
/size = (20%, 10%)
</shape>

<list pain30hzUP>
/items = (shape.pain30hzUP,
   shape.painoff,
   shape.pain30hzUP,
   shape.painoff)
/select=sequence
/ selectionrate = always
</list>


<shape control15hzDOWN>
/position = (50, values.probeDOWN)
/shape = rectangle
/color = mediumturquoise
/size = (20%, 10%)
</shape>

<shape controloff>
/position = (0,0)
/shape = rectangle
/color = (127,127,127)
/size = (20%, 10%)
</shape>

<list control15hzDOWN>
/items = (shape.control15hzDOWN,
   shape.control15hzDOWN,
   shape.controloff,
   shape.controloff)
/select=sequence
/ selectionrate = always
</list>


<trial sensory_CONGUP>
/ ontrialbegin = [
    trial.sensory_CONGUP.resetstimulusframes();
    
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 1);
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 1);
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue, 1);

    trial.sensory_CONGUP.insertstimulusframe(text.senorywords_CONGUP, 1);
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 1);
    ...
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 60);
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 60);
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue, 60);
    trial.sensory_CONGUP.insertstimulusframe(text.senorywords_CONGUP, 60);

    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 60);
]
...
</trial>

Note: Not all stimuli may need (re-)insertion in every single frame 1 to 60 -- doing that with the shape lists may be enough, but I cannot tell from the code or the description you provided which stimuli require being re-drawn and which do not.


OK, thanks, so I have to add quite a few ~300 lines per trial to specify the frames.

But, I think I am missing something obvious, i.e. what do I add not in the /stimulusframes line to work through those frames?

<trial sensory_CONGUP>
/ ontrialbegin = [
  trial.sensory_CONGUP.resetstimulusframes();
 
  trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 1);
  trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 1);
  trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue, 1);
  trial.sensory_CONGUP.insertstimulusframe(text.senorywords_CONGUP, 1);
  trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 1);
  ...
  trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 60);
  trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 60);
  trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue, 60);
  trial.sensory_CONGUP.insertstimulusframe(text.senorywords_CONGUP, 60);
  trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 60);
/stimulusframes = [1-60 = ????]
]

...
</trial>

PS this is what the trial looks like now:

<trial sensory_CONGUP>
/ontrialbegin = [    
    trial.sensory_CONGUP.resetstimulusframes();
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 1 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 1 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,1 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 1 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 1 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 2 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 2 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,2 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 2 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 2 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 3 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 3 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,3 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 3 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 3 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 4 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 4 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,4 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 4 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 4 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 5 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 5 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,5 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 5 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 5 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 6 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 6 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,6 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 6 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 6 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 7 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 7 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,7 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 7 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 7 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 8 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 8 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,8 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 8 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 8 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 9 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 9 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,9 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 9 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 9 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 10 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 10 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,10 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 10 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 10 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 11 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 11 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,11 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 11 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 11 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 12 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 12 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,12 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 12 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 12 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 13 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 13 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,13 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 13 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 13 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 14 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 14 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,14 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 14 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 14 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 15 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 15 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,15 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 15 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 15 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 16 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 16 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,16 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 16 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 16 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 17 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 17 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,17 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 17 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 17 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 18 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 18 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,18 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 18 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 18 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 19 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 19 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,19 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 19 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 19 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 20 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 20 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,20 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 20 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 20 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 21 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 21 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,21 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 21 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 21 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 22 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 22 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,22 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 22 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 22 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 23 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 23 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,23 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 23 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 23 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 24 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 24 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,24 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 24 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 24 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 25 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 25 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,25 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 25 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 25 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 26 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 26 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,26 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 26 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 26 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 27 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 27 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,27 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 27 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 27 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 28 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 28 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,28 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 28 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 28 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 29 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 29 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,29 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 29 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 29 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 30 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 30 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,30 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 30 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 30 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 31 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 31 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,31 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 31 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 31 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 32 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 32 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,32 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 32 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 32 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 33 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 33 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,33 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 33 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 33 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 34 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 34 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,34 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 34 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 34 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 35 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 35 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,35 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 35 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 35 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 36 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 36 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,36 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 36 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 36 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 37 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 37 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,37 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 37 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 37 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 38 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 38 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,38 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 38 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 38 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 39 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 39 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,39 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 39 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 39 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 40 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 40 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,40 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 40 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 40 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 41 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 41 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,41 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 41 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 41 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 42 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 42 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,42 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 42 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 42 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 43 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 43 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,43 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 43 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 43 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 44 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 44 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,44 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 44 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 44 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 45 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 45 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,45 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 45 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 45 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 46 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 46 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,46 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 46 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 46 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 47 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 47 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,47 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 47 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 47 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 48 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 48 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,48 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 48 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 48 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 49 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 49 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,49 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 49 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 49 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 50 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 50 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,50 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 50 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 50 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 51 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 51 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,51 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 51 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 51 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 52 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 52 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,52 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 52 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 52 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 53 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 53 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,53 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 53 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 53 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 54 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 54 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,54 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 54 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 54 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 55 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 55 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,55 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 55 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 55 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 56 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 56 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,56 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 56 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 56 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 57 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 57 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,57 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 57 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 57 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 58 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 58 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,58 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 58 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 58 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 59 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 59 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,59 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 59 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 59 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 60 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 60 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,60 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 60 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 60 )
    ]
/inputdevice = keyboard
/correctresponse = (noresponse)
/trialduration = 1000
/ontrialend = [values.currenttarget = text.sensorywords_CONGUP.currentitem]
/ontrialend = [values.currentfoil = text.sensorycontrol_CONGUP.currentitem]
</trial>

Dave
Dave
Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)
Group: Administrators
Posts: 10K, Visits: 62K
ben_sydney - 11/10/2020
ben_sydney - 11/10/2020
Dave - 11/10/2020
ben_sydney - 11/10/2020


Hi,

I’m trying to call a list of shapes using stimulus frames within trials as follows in a dot probe type task, but I keep getting the error 'could not locate list.listname', it's a long script, but the key elements are below

KEY SCRIPT

<shape pain30hzUP>
/position = (50, values.probeUP)
/shape = rectangle
/color = mediumturquoise
/size = (20%, 10%)
</shape>

<shape painoff>
/position = (0,0)
/shape = rectangle
/color = (127,127,127)
/size = (20%, 10%)
</shape>

<list pain30hzUP>
/items = (shape.pain30hzUP,
         shape.painoff,
         shape.pain30hzUP,
         shape.painoff)
/select=sequence
</list>


<shape control15hzDOWN>
/position = (50, values.probeDOWN)
/shape = rectangle
/color = mediumturquoise
/size = (20%, 10%)
</shape>

<shape controloff>
/position = (0,0)
/shape = rectangle
/color = (127,127,127)
/size = (20%, 10%)
</shape>

<list control15hzDOWN>
/items = (shape.control15hzDOWN,
         shape.control15hzDOWN,
         shape.controloff,
         shape.controloff)
/select=sequence
</list>

<trial sensory_CONGUP>
/stimulusframes = [1-60     =     whitescreen, list.pain30hzUP, list.control15hzDOWN, sensorywords_CONGUP, sensorycontrol_CONGUP]
/inputdevice = keyboard
/correctresponse = (noresponse)
/trialduration = 1000
/ontrialend = [values.currenttarget = text.sensorywords_CONGUP.currentitem]
/ontrialend = [values.currentfoil = text.sensorycontrol_CONGUP.currentitem]
</trial>


----

If I run it with just the elements it works fine:

<trial sensory_CONGUP>
/stimulusframes = [1-60  =  whitescreen, shape.pain30hzUP, shape.control15hzDOWN, sensorywords_CONGUP, sensorycontrol_CONGUP]
/inputdevice = keyboard
/correctresponse = (noresponse)
/trialduration = 1000
/ontrialend = [values.currenttarget = text.sensorywords_CONGUP.currentitem]
/ontrialend = [values.currentfoil = text.sensorycontrol_CONGUP.currentitem]
</trial>

So everything else seems two be working, I just can't call the list, which I want to use to alternate the shapes appearing at different frequencies.

Thanks in advance,
Ben

(PS - a workaround would be if if there was a shape attribute that would allow me to pulse the shape on and off at a certain frequency, but I take it that's not possible?)


You can't mix list references and regular stimuli in a single frame in /stimulusframes, that's the issue. The solution is to set up your trial's stimulus presentation sequence /ontrialbegin by way of the inserstimulusframe() function.

<shape pain30hzUP>
/position = (50, values.probeUP)
/shape = rectangle
/color = mediumturquoise
/size = (20%, 10%)
</shape>

<shape painoff>
/position = (0,0)
/shape = rectangle
/color = (127,127,127)
/size = (20%, 10%)
</shape>

<list pain30hzUP>
/items = (shape.pain30hzUP,
   shape.painoff,
   shape.pain30hzUP,
   shape.painoff)
/select=sequence
/ selectionrate = always
</list>


<shape control15hzDOWN>
/position = (50, values.probeDOWN)
/shape = rectangle
/color = mediumturquoise
/size = (20%, 10%)
</shape>

<shape controloff>
/position = (0,0)
/shape = rectangle
/color = (127,127,127)
/size = (20%, 10%)
</shape>

<list control15hzDOWN>
/items = (shape.control15hzDOWN,
   shape.control15hzDOWN,
   shape.controloff,
   shape.controloff)
/select=sequence
/ selectionrate = always
</list>


<trial sensory_CONGUP>
/ ontrialbegin = [
    trial.sensory_CONGUP.resetstimulusframes();
    
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 1);
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 1);
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue, 1);

    trial.sensory_CONGUP.insertstimulusframe(text.senorywords_CONGUP, 1);
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 1);
    ...
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 60);
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 60);
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue, 60);
    trial.sensory_CONGUP.insertstimulusframe(text.senorywords_CONGUP, 60);

    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 60);
]
...
</trial>

Note: Not all stimuli may need (re-)insertion in every single frame 1 to 60 -- doing that with the shape lists may be enough, but I cannot tell from the code or the description you provided which stimuli require being re-drawn and which do not.


OK, thanks, so I have to add quite a few ~300 lines per trial to specify the frames.

But, I think I am missing something obvious, i.e. what do I add not in the /stimulusframes line to work through those frames?

<trial sensory_CONGUP>
/ ontrialbegin = [
  trial.sensory_CONGUP.resetstimulusframes();
 
  trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 1);
  trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 1);
  trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue, 1);
  trial.sensory_CONGUP.insertstimulusframe(text.senorywords_CONGUP, 1);
  trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 1);
  ...
  trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 60);
  trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 60);
  trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue, 60);
  trial.sensory_CONGUP.insertstimulusframe(text.senorywords_CONGUP, 60);
  trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 60);
/stimulusframes = [1-60 = ????]
]

...
</trial>

PS this is what the trial looks like now:

<trial sensory_CONGUP>
/ontrialbegin = [    
    trial.sensory_CONGUP.resetstimulusframes();
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 1 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 1 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,1 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 1 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 1 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 2 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 2 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,2 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 2 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 2 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 3 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 3 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,3 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 3 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 3 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 4 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 4 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,4 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 4 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 4 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 5 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 5 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,5 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 5 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 5 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 6 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 6 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,6 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 6 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 6 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 7 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 7 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,7 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 7 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 7 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 8 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 8 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,8 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 8 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 8 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 9 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 9 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,9 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 9 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 9 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 10 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 10 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,10 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 10 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 10 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 11 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 11 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,11 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 11 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 11 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 12 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 12 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,12 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 12 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 12 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 13 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 13 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,13 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 13 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 13 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 14 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 14 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,14 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 14 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 14 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 15 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 15 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,15 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 15 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 15 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 16 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 16 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,16 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 16 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 16 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 17 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 17 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,17 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 17 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 17 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 18 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 18 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,18 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 18 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 18 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 19 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 19 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,19 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 19 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 19 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 20 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 20 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,20 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 20 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 20 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 21 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 21 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,21 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 21 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 21 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 22 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 22 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,22 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 22 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 22 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 23 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 23 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,23 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 23 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 23 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 24 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 24 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,24 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 24 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 24 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 25 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 25 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,25 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 25 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 25 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 26 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 26 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,26 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 26 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 26 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 27 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 27 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,27 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 27 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 27 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 28 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 28 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,28 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 28 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 28 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 29 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 29 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,29 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 29 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 29 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 30 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 30 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,30 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 30 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 30 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 31 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 31 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,31 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 31 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 31 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 32 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 32 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,32 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 32 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 32 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 33 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 33 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,33 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 33 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 33 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 34 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 34 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,34 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 34 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 34 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 35 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 35 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,35 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 35 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 35 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 36 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 36 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,36 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 36 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 36 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 37 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 37 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,37 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 37 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 37 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 38 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 38 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,38 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 38 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 38 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 39 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 39 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,39 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 39 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 39 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 40 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 40 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,40 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 40 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 40 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 41 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 41 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,41 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 41 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 41 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 42 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 42 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,42 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 42 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 42 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 43 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 43 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,43 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 43 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 43 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 44 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 44 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,44 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 44 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 44 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 45 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 45 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,45 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 45 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 45 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 46 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 46 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,46 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 46 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 46 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 47 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 47 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,47 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 47 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 47 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 48 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 48 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,48 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 48 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 48 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 49 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 49 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,49 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 49 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 49 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 50 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 50 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,50 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 50 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 50 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 51 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 51 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,51 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 51 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 51 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 52 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 52 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,52 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 52 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 52 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 53 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 53 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,53 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 53 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 53 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 54 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 54 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,54 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 54 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 54 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 55 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 55 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,55 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 55 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 55 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 56 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 56 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,56 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 56 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 56 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 57 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 57 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,57 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 57 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 57 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 58 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 58 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,58 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 58 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 58 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 59 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 59 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,59 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 59 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 59 );
    trial.sensory_CONGUP.insertstimulusframe(shape.whitescreen, 60 );
    trial.sensory_CONGUP.insertstimulusframe(list.pain30hzUP.nextvalue, 60 );
    trial.sensory_CONGUP.insertstimulusframe(list.control15hzDOWN.nextvalue,60 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorywords_CONGUP, 60 );
    trial.sensory_CONGUP.insertstimulusframe(text.sensorycontrol_CONGUP, 60 )
    ]
/inputdevice = keyboard
/correctresponse = (noresponse)
/trialduration = 1000
/ontrialend = [values.currenttarget = text.sensorywords_CONGUP.currentitem]
/ontrialend = [values.currentfoil = text.sensorycontrol_CONGUP.currentitem]
</trial>

> But, I think I am missing something obvious, i.e. what do I add not in the /stimulusframes line to work through those frames?

If the entire stimulus presentation sequence is set up via /ontrialbegin logic, no /stimulusframes attribute is needed. The /ontrialbegin logic sets up the stimulus frames.
ben_sydney
ben_sydney
New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)
Group: Forum Members
Posts: 5, Visits: 19
And when I run that, the experiment runs, but no stimuli are presented on that trial

Dave
Dave
Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)
Group: Administrators
Posts: 10K, Visits: 62K
ben_sydney - 11/10/2020
And when I run that, the experiment runs, but no stimuli are presented on that trial

Attach the full code and then I might be able to tell you why.
Dave
Dave
Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)Supreme Being (871K reputation)
Group: Administrators
Posts: 10K, Visits: 62K
Dave - 11/11/2020
ben_sydney - 11/10/2020
And when I run that, the experiment runs, but no stimuli are presented on that trial

Attach the full code and then I might be able to tell you why.

Let me add that there are more efficient ways to code this as well. E.g. something like

<shape a_on>
/ shape = rectangle
/ color = red
/ position = (50%, 25%)
/ size = (10%, 20%)
</shape>

<shape a_off>
/ shape = rectangle
/ color = white
/ position = (50%, 25%)
/ size = (10%, 20%)
</shape>

<list a_shapelist>
/ items = (shape.a_on, shape.a_on, shape.a_off, shape.a_off)
/ selectionmode = sequence
/ selectionrate = always
</list>

<shape b_on>
/ shape = rectangle
/ color = red
/ position = (50%, 75%)
/ size = (10%, 20%)
</shape>

<shape b_off>
/ shape = rectangle
/ color = white
/ position = (50%, 75%)
/ size = (10%, 20%)
</shape>

<list b_shapelist>
/ items = (shape.b_on, shape.b_off, shape.b_on, shape.b_off)
/ selectionmode = sequence
/ selectionrate = always
</list>

<values>
/ framecount = 0
/ nframes = 100
</values>

<trial mytrial>
/ ontrialbegin = [
    trial.mytrial.resetstimulusframes();
    values.framecount = 0;
]
/ ontrialbegin = [
    while (values.framecount < values.nframes){
    values.framecount += 1;
    trial.mytrial.insertstimulusframe(list.a_shapelist.nextvalue, values.framecount);
    trial.mytrial.insertstimulusframe(list.b_shapelist.nextvalue, values.framecount);
    };
]
/ validresponse = (57)
/ trialduration = (values.nframes * display.refreshinterval) + 100
</trial>

<block myblock>
/ trials = [1-4 = mytrial]
</block>


or by making use of the /animation attribute along the lines of

<values>
/ probeUP = 20%
/ probedown = 80%
</values>

//slow flicker: 2 frames on, 2 frames off
<shape pain30hzUP>
/shape = rectangle
/color = mediumturquoise
/ size = (20%, 10%)
/ animation = points(4*display.refreshinterval, -1, 50%, values.probeUP, 0%, 0%)
</shape>

//fast flicker: 1 frame on, 1 frame off
<shape control15hzDOWN>
/shape = rectangle
/color = mediumturquoise
/size = (20%, 10%)
/ animation = points(2*display.refreshinterval, -1, 50%, values.probeDOWN, 0%, 0%)
</shape>

// used to cover up the two flickering shapes' off-center position.
<shape off>
/shape = rectangle
/color = white
/ size = (20%, 10%)
/ animation = points(2*display.refreshinterval, -1, 0%, 0%, 0%, 0%)
</shape>

<trial mytrial>
/ posttrialpause = 100
/ stimulusframes = [1=shape.pain30hzUP, shape.control15hzDOWN, shape.off]
/ trialduration = 1000
</trial>

<block myblock>
/ trials = [1-4 = mytrial]
</block>




ben_sydney
ben_sydney
New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)New Member (13 reputation)
Group: Forum Members
Posts: 5, Visits: 19

Thanks, fixed the long version (had made a mistake updating a block list), but seemed to miss some of the presentations.

BUT

The animation version works perfectly. I was wondering if I could use animate, but hadn't thought to move to a second location and mask that with another stimulus.

Thanks for the help.
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search