Millisecond Forums

counterbalancing between videos

https://www.millisecond.com/forums/Topic33502.aspx

By Athanasia - 11/24/2021

At the end of my experiment I want to add four videos, of which the first and the third to be counterbalanced between participants. After each video, I would like to present 3 surveypages for rating their feelings. This is what I have done:

<video neutral1>
/ items = ("Neutral1.mp4")
/ playthrough = true
/ size = (100%,100%)
/ position = (50, 50)
</video>

<video neutral2>
/ items = ("Neutral2.mp4")
/ playthrough = true
/ size = (100%,100%)
/ position = (50, 50)
</video>

<video emotions>
/ items = ("Disgust.mp4", "Fear.mp4")
/ playthrough = true
/ size = (100%,100%)
/ position = (50, 50)
/ select = values.selectemotion
</video>

<trial emotion1>
/ ontrialbegin = [ if (mod(script.subjectid,2)==1) values.selectemotion=video.emotions.item(1)
else values.selectemotion=video.emotions.item(2)]
/ stimulustimes = [0=emotions]
/ trialduration = 30000
</trial>

<trial emotion2>
/ ontrialbegin = [ if (mod(script.subjectid,2)==1) values.selectemotion=video.emotions.item(2)
else values.selectemotion=video.emotions.item(1)]
/ stimulustimes = [0= emotions]
/ trialduration = 30000
</trial>

<trial neutral1>
/ stimulustimes = [0=neutral1]
/ trialduration = 30000
</trial>

<trial neutral2>
/ stimulustimes = [0=neutral2]
/ trialduration = 30000
</trial>

<block videosques>
/ trials = [1= emotion1; 2-4=noreplace(calmR,disgustR,fearfulR); 5 = neutral1; 6-8 = noreplace(calmR, disgustR, fearfulR);
9= emotion2; 10-12 = noreplace(calmR, disgustR, fearfulR); 13=neutral2; 14-16=noreplace(calmR, disgustR, fearfulR);]
</block>

However, it keeps saying that item 1 of video emotions element is not defined. I also tried to insert the videos in the script separately and then create a list, but the list is not recognized as stimulus in trial’s stimulustimes. What am I doing wrong?
By Dave - 11/24/2021

Athanasia - 11/24/2021
At the end of my experiment I want to add four videos, of which the first and the third to be counterbalanced between participants. After each video, I would like to present 3 surveypages for rating their feelings. This is what I have done:

<video neutral1>
/ items = ("Neutral1.mp4")
/ playthrough = true
/ size = (100%,100%)
/ position = (50, 50)
</video>

<video neutral2>
/ items = ("Neutral2.mp4")
/ playthrough = true
/ size = (100%,100%)
/ position = (50, 50)
</video>

<video emotions>
/ items = ("Disgust.mp4", "Fear.mp4")
/ playthrough = true
/ size = (100%,100%)
/ position = (50, 50)
/ select = values.selectemotion
</video>

<trial emotion1>
/ ontrialbegin = [ if (mod(script.subjectid,2)==1) values.selectemotion=video.emotions.item(1)
else values.selectemotion=video.emotions.item(2)]
/ stimulustimes = [0=emotions]
/ trialduration = 30000
</trial>

<trial emotion2>
/ ontrialbegin = [ if (mod(script.subjectid,2)==1) values.selectemotion=video.emotions.item(2)
else values.selectemotion=video.emotions.item(1)]
/ stimulustimes = [0= emotions]
/ trialduration = 30000
</trial>

<trial neutral1>
/ stimulustimes = [0=neutral1]
/ trialduration = 30000
</trial>

<trial neutral2>
/ stimulustimes = [0=neutral2]
/ trialduration = 30000
</trial>

<block videosques>
/ trials = [1= emotion1; 2-4=noreplace(calmR,disgustR,fearfulR); 5 = neutral1; 6-8 = noreplace(calmR, disgustR, fearfulR);
9= emotion2; 10-12 = noreplace(calmR, disgustR, fearfulR); 13=neutral2; 14-16=noreplace(calmR, disgustR, fearfulR);]
</block>

However, it keeps saying that item 1 of video emotions element is not defined. I also tried to insert the videos in the script separately and then create a list, but the list is not recognized as stimulus in trial’s stimulustimes. What am I doing wrong?

<trial emotion1>
/ ontrialbegin = [ if (mod(script.subjectid,2)==1) values.selectemotion=video.emotions.item(1)
else values.selectemotion=video.emotions.item(2)]

/ stimulustimes = [0=emotions]
/ trialduration = 30000
</trial>

<trial emotion2>
/ ontrialbegin = [ if (mod(script.subjectid,2)==1) values.selectemotion=video.emotions.item(2)
else values.selectemotion=video.emotions.item(1)]

/ stimulustimes = [0= emotions]
/ trialduration = 30000
</trial>

The above makes no sense. You need a *numerical* value for values.selectemotion -- either 1 or 2 -- not the name of a video file.

<values>
/ selectemotion = 1
...
</values>

<video emotions>
/ items = ("Disgust.mp4", "Fear.mp4")
/ playthrough = true
/ size = (100%,100%)
/ position = (50, 50)
/ select = values.selectemotion
</video>

<trial emotion1>
/ ontrialbegin = [ if (mod(script.subjectid,2)==1) values.selectemotion = 1
else values.selectemotion = 2]

/ stimulustimes = [0=emotions]
/ trialduration = 30000
</trial>

<trial emotion2>
/ ontrialbegin = [ if (mod(script.subjectid,2)==1) values.selectemotion = 2
else values.selectemotion = 1]

/ stimulustimes = [0= emotions]
/ trialduration = 30000
</trial>