Millisecond Forums

lists tracking together

https://forums.millisecond.com/Topic25241.aspx

By S F - 7/13/2018

Hi,

We're trying to get a trial to display multiple stimuli in the same frame from different lists of pictures, and we want the index of the item selected from the second list to match the index of the item selected from the first list, so I used /select and .currentindex. There is no error but it only shows one image where we want it to display two.

Any tips appreciated!

<list near_1a1>
/ items = (picture.n_1a1_a, picture.n_1a1_b, picture.n_1a1_c, picture.n_1a1_d)
</list>

<list near_1a2>
/ items = (picture.n_1a2_a, picture.n_1a2_b, picture.n_1a2_c, picture.n_1a2_d)
/ select = list.near_1a1.currentindex;
</list>



<trial near_1a_1a>
/stimulusframes = [10= list.near_1a1, list.near_1a2]
/pretrialpause = 250
/response = timeout(4500)
</trial>
_____

<picture n_1a1_a>
/ items = ("1a1.png")
/hposition = counter.n_pos_h1.selectedvalue
/vposition = counter.n_pos_v1.selectedvalue
</picture>

<picture n_1a1_b>
/ items = ("1a1.png")
/hposition = counter.n_pos_h2.selectedvalue
/vposition = counter.n_pos_v2.selectedvalue
</picture>

<picture n_1a1_c>
/ items = ("1a1.png")
/hposition = counter.n_pos_h3.selectedvalue
/vposition = counter.n_pos_v3.selectedvalue
</picture>

<picture n_1a1_d>
/ items = ("1a1.png")
/hposition = counter.n_pos_h4.selectedvalue
/vposition = counter.n_pos_v4.selectedvalue
</picture>

a2
<picture n_1a2_a>
/ items = ("1a2.png")
/hposition = counter.n_pos_h1.selectedvalue
/vposition = counter.n_pos_v1.selectedvalue
</picture>

<picture n_1a2_b>
/ items = ("1a2.png")
/hposition = counter.n_pos_h2.selectedvalue
/vposition = counter.n_pos_v2.selectedvalue
</picture>

<picture n_1a2_c>
/ items = ("1a2.png")
/hposition = counter.n_pos_h3.selectedvalue
/vposition = counter.n_pos_v3.selectedvalue
</picture>

<picture n_1a2_d>
/ items = ("1a2.png")
/hposition = counter.n_pos_h4.selectedvalue
/vposition = counter.n_pos_v4.selectedvalue
</picture>



<counter n_pos_h1>
/ items = (12.5%, 37.5%, 12.5%)
/ select = noreplace
/ selectionrate = always
</counter>

<counter n_pos_h2>
/ items = (87.5%, 62.5%, 87.5%)
/ select = noreplace
/ selectionrate = always
</counter>

<counter n_pos_h3>
/ items = (87.5%, 62.5%, 87.5%)
/ select = noreplace
/ selectionrate = always
</counter>

<counter n_pos_h4>
/ items = (12.5%, 12.5%, 37.5%)
/ select = noreplace
/ selectionrate = always
</counter>

<counter n_pos_v1>
/ items = (12.5%, 12.5%, 37.5%)
/ select = current (counter.n_pos_h1)
/ selectionrate = always
</counter>

<counter n_pos_v2>
/ items = (12.5%, 12.5%, 37.5%)
/ select = current (counter.n_pos_h2)
/ selectionrate = always
</counter>

<counter n_pos_v3>
/ items = (87.5%, 87.5%, 62.5%)
/ select = current (counter.n_pos_h3)
/ selectionrate = always
</counter>

<counter n_pos_v4>
/ items = (87.5%, 62.5%, 87.5%)
/ select = current (counter.n_pos_h4)
/ selectionrate = always
</counter>



By Dave - 7/13/2018

S F - Friday, July 13, 2018
Hi,

We're trying to get a trial to display multiple stimuli in the same frame from different lists of pictures, and we want the index of the item selected from the second list to match the index of the item selected from the first list, so I used /select and .currentindex. There is no error but it only shows one image where we want it to display two.

Any tips appreciated!

<list near_1a1>
/ items = (picture.n_1a1_a, picture.n_1a1_b, picture.n_1a1_c, picture.n_1a1_d)
</list>

<list near_1a2>
/ items = (picture.n_1a2_a, picture.n_1a2_b, picture.n_1a2_c, picture.n_1a2_d)
/ select = list.near_1a1.currentindex;
</list>



<trial near_1a_1a>
/stimulusframes = [10= list.near_1a1, list.near_1a2]
/pretrialpause = 250
/response = timeout(4500)
</trial>
_____

<picture n_1a1_a>
/ items = ("1a1.png")
/hposition = counter.n_pos_h1.selectedvalue
/vposition = counter.n_pos_v1.selectedvalue
</picture>

<picture n_1a1_b>
/ items = ("1a1.png")
/hposition = counter.n_pos_h2.selectedvalue
/vposition = counter.n_pos_v2.selectedvalue
</picture>

<picture n_1a1_c>
/ items = ("1a1.png")
/hposition = counter.n_pos_h3.selectedvalue
/vposition = counter.n_pos_v3.selectedvalue
</picture>

<picture n_1a1_d>
/ items = ("1a1.png")
/hposition = counter.n_pos_h4.selectedvalue
/vposition = counter.n_pos_v4.selectedvalue
</picture>

a2
<picture n_1a2_a>
/ items = ("1a2.png")
/hposition = counter.n_pos_h1.selectedvalue
/vposition = counter.n_pos_v1.selectedvalue
</picture>

<picture n_1a2_b>
/ items = ("1a2.png")
/hposition = counter.n_pos_h2.selectedvalue
/vposition = counter.n_pos_v2.selectedvalue
</picture>

<picture n_1a2_c>
/ items = ("1a2.png")
/hposition = counter.n_pos_h3.selectedvalue
/vposition = counter.n_pos_v3.selectedvalue
</picture>

<picture n_1a2_d>
/ items = ("1a2.png")
/hposition = counter.n_pos_h4.selectedvalue
/vposition = counter.n_pos_v4.selectedvalue
</picture>



<counter n_pos_h1>
/ items = (12.5%, 37.5%, 12.5%)
/ select = noreplace
/ selectionrate = always
</counter>

<counter n_pos_h2>
/ items = (87.5%, 62.5%, 87.5%)
/ select = noreplace
/ selectionrate = always
</counter>

<counter n_pos_h3>
/ items = (87.5%, 62.5%, 87.5%)
/ select = noreplace
/ selectionrate = always
</counter>

<counter n_pos_h4>
/ items = (12.5%, 12.5%, 37.5%)
/ select = noreplace
/ selectionrate = always
</counter>

<counter n_pos_v1>
/ items = (12.5%, 12.5%, 37.5%)
/ select = current (counter.n_pos_h1)
/ selectionrate = always
</counter>

<counter n_pos_v2>
/ items = (12.5%, 12.5%, 37.5%)
/ select = current (counter.n_pos_h2)
/ selectionrate = always
</counter>

<counter n_pos_v3>
/ items = (87.5%, 87.5%, 62.5%)
/ select = current (counter.n_pos_h3)
/ selectionrate = always
</counter>

<counter n_pos_v4>
/ items = (87.5%, 62.5%, 87.5%)
/ select = current (counter.n_pos_h4)
/ selectionrate = always
</counter>




<trial near_1a_1a>
/stimulusframes = [10= list.near_1a1, list.near_1a2]
/pretrialpause = 250
/response = timeout(4500)
</trial>

is the problem: You basically can't call on multiple lists in a single frame in /stimulusframes like that, only one. Syntax should instead be something like this:

<trial near_1a_1a>
/ ontrialbegin = [
    trial.near_1a_1a.insertstimulusframe(list.near_1a1.nextvalue, 10);
    trial.near_1a_1a.insertstimulusframe(list.near_1a2.nextvalue, 10);
]
/ ontrialend = [
    trial.near_1a_1a.resetstimulusframes();
]

/pretrialpause = 250
/response = timeout(4500)
</trial>
By S F - 7/15/2018

Hi Dave, thanks so much! This is working great.