Millisecond Forums

'Could not locate element' error using trial

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

By EN - 5/15/2025

Hello,
I started coding an experiment where participants will watch videos and write about their impressions. However, I don't seem to be able to play the videos.
Using the code below, Inquisit returns:

Could not locate element 'showvideo1'
block 2 is unassigned.

Checking some previous posts, I saw that one should define a 'video' element, then wrap it as a 'trial' before embedding it into 'blocks'.
That is what I tried to achieve.

I am guessing I'm making a trivial mistake but any help will be greatly appreciated. I've tried the code on Inquisit 7.0.3 on a Macbook M1 Max Mac OS 15.4.1, and both Inquisit 7.0.3 and 6.6.1 on an Intel Macpro Mac OS15.4.1 but in all cases got the same error.

Thanks in advance,
EN

//--------------------
//--Code below--
//--------------------
// --------------------------------------
// VIDEO ELEMENTS (update filenames as needed)
// --------------------------------------

// Video stimulus
<video video1>
/items = ("Video1.mp4")
/playthrough = true
/position = (50, 50)
</video>

// --------------------------------------
// TRIAL: Show Video
// --------------------------------------

<trial showvideo1>
/stimulusFrames = [1=video1]
/timeout = 5000 // Duration of the first video is 5s
</trial>

// --------------------------------------
// SURVEY: Show Task Explanation
// --------------------------------------

<surveypage explanation>
    / caption = "<b>Task explanation</b>"
</surveypage>

<survey INTRO>
/ pages = [1=explanation]

</survey>

// --------------------------------------
// EXPERIMENT DEFINITION
// --------------------------------------

<expt main>
/blocks = [1=INTRO; 2=showvideo1]
</expt>
By Dave - 5/16/2025

EN - 5/16/2025
Hello,
I started coding an experiment where participants will watch videos and write about their impressions. However, I don't seem to be able to play the videos.
Using the code below, Inquisit returns:

Could not locate element 'showvideo1'
block 2 is unassigned.

Checking some previous posts, I saw that one should define a 'video' element, then wrap it as a 'trial' before embedding it into 'blocks'.
That is what I tried to achieve.

I am guessing I'm making a trivial mistake but any help will be greatly appreciated. I've tried the code on Inquisit 7.0.3 on a Macbook M1 Max Mac OS 15.4.1, and both Inquisit 7.0.3 and 6.6.1 on an Intel Macpro Mac OS15.4.1 but in all cases got the same error.

Thanks in advance,
EN

//--------------------
//--Code below--
//--------------------
// --------------------------------------
// VIDEO ELEMENTS (update filenames as needed)
// --------------------------------------

// Video stimulus
<video video1>
/items = ("Video1.mp4")
/playthrough = true
/position = (50, 50)
</video>

// --------------------------------------
// TRIAL: Show Video
// --------------------------------------

<trial showvideo1>
/stimulusFrames = [1=video1]
/timeout = 5000 // Duration of the first video is 5s
</trial>

// --------------------------------------
// SURVEY: Show Task Explanation
// --------------------------------------

<surveypage explanation>
    / caption = "<b>Task explanation</b>"
</surveypage>

<survey INTRO>
/ pages = [1=explanation]

</survey>

// --------------------------------------
// EXPERIMENT DEFINITION
// --------------------------------------

<expt main>
/blocks = [1=INTRO; 2=showvideo1]
</expt>

<trial showvideo1> is a trial, not a block.

<trial> elements display stimulus elements and collect responses.
<block> elements run trials.
<expt> elements run blocks.

You need to define a <block> element that runs the showvideo1 trial. Then your <expt> element can run that block.
By EN - 5/18/2025

Dave - 5/16/2025
EN - 5/16/2025
Hello,
I started coding an experiment where participants will watch videos and write about their impressions. However, I don't seem to be able to play the videos.
Using the code below, Inquisit returns:

Could not locate element 'showvideo1'
block 2 is unassigned.

Checking some previous posts, I saw that one should define a 'video' element, then wrap it as a 'trial' before embedding it into 'blocks'.
That is what I tried to achieve.

I am guessing I'm making a trivial mistake but any help will be greatly appreciated. I've tried the code on Inquisit 7.0.3 on a Macbook M1 Max Mac OS 15.4.1, and both Inquisit 7.0.3 and 6.6.1 on an Intel Macpro Mac OS15.4.1 but in all cases got the same error.

Thanks in advance,
EN

//--------------------
//--Code below--
//--------------------
// --------------------------------------
// VIDEO ELEMENTS (update filenames as needed)
// --------------------------------------

// Video stimulus
<video video1>
/items = ("Video1.mp4")
/playthrough = true
/position = (50, 50)
</video>

// --------------------------------------
// TRIAL: Show Video
// --------------------------------------

<trial showvideo1>
/stimulusFrames = [1=video1]
/timeout = 5000 // Duration of the first video is 5s
</trial>

// --------------------------------------
// SURVEY: Show Task Explanation
// --------------------------------------

<surveypage explanation>
    / caption = "<b>Task explanation</b>"
</surveypage>

<survey INTRO>
/ pages = [1=explanation]

</survey>

// --------------------------------------
// EXPERIMENT DEFINITION
// --------------------------------------

<expt main>
/blocks = [1=INTRO; 2=showvideo1]
</expt>

<trial showvideo1> is a trial, not a block.

<trial> elements display stimulus elements and collect responses.
<block> elements run trials.
<expt> elements run blocks.

You need to define a <block> element that runs the showvideo1 trial. Then your <expt> element can run that block.

Thanks!

Just for completeness, I've copied the corrected code below in case it's helpful to other newbies like me!

/ --------------------------------------
// VIDEO ELEMENTS (update filenames as needed)
// --------------------------------------

// Video stimulus
<video video1>
/items = ("20250516_1133_Cat Companionship_simple_compose_01jvbf1qm6ef38c2fcswz3mehm.mp4")
/playthrough = true
/position = (50, 50)
</video>

// --------------------------------------
// TRIAL: Show Video
// --------------------------------------

<trial showvideo1>
/stimulusFrames = [1=video1]
/timeout = 5000 // Duration of the first video is 5s
</trial>

//--------------------------------------
// BLOCK: Wrapper for Trial Show Video
// --------------------------------------
<block wrap_showvideo1>
/trials=[1=showvideo1]    
</block>

// --------------------------------------
// SURVEY: Show Task Explanation
// --------------------------------------

<surveypage explanation>
    / caption = "<b>Task explanation</b>"
</surveypage>

<survey INTRO>
/ pages = [1=explanation]

</survey>

// --------------------------------------
// EXPERIMENT DEFINITION
// --------------------------------------

<expt main>
/blocks = [1=INTRO; 2=wrap_showvideo1]
</expt>