﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Millisecond Forums » Millisecond Forums » Inquisit 7  » How to end video trial automatically when video finishes (variable duration + optional stop key)?</title><generator>InstantForum 2017-1 Final</generator><description>Millisecond Forums</description><link>https://forums.millisecond.com/</link><webMaster>Millisecond Forums</webMaster><lastBuildDate>Wed, 03 Jun 2026 19:50:41 GMT</lastBuildDate><ttl>20</ttl><item><title>How to end video trial automatically when video finishes (variable duration + optional stop key)?</title><link>https://forums.millisecond.com/Topic41798.aspx</link><description>I’m trying to present videos in Inquisit, with the option for participants to press a key (“S”) to stop the video and display a “wait for experimenter” screen. After that, the experiment should continue with the next trial. Some videos are emotionally negative, so participants should be able to stop a video immediately and skip that trial if needed.&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Problem:&lt;br/&gt;&lt;/strong&gt;The video trial does not end automatically when the video finishes playing. The video remains on screen and the experiment does not advance unless the stop key is pressed. However, pressing “S” should be optional.&lt;br/&gt;Because the videos have different lengths, I can’t use a fixed /trialDuration.&lt;br/&gt;&lt;br/&gt;What is the correct way to end a trial automatically when a video finishes, while having variable-length video files and giving an option to respond?&lt;br/&gt;&lt;br/&gt;Relevant code elements below, runnable minimal version attached as zip.&lt;br/&gt;&lt;br/&gt;[code]&amp;lt;video videos&amp;gt;&lt;br/&gt;/ items = item.video_files &lt;br/&gt;/ position = (50, 50)&lt;br/&gt;/ size = (60%, null)&lt;br/&gt;/ select = noReplace&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ erase = false&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;item video_files&amp;gt;&lt;br/&gt;/ 1 = "V1.mp4"&lt;br/&gt;/ 2 = "V2.mp4"&lt;br/&gt;/ 3 = "V3.mp4"&lt;br/&gt;&amp;lt;/item&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial trial_video&amp;gt;&lt;br/&gt;/ stimulusTimes = [1 = video.videos, text.stop]&lt;br/&gt;/ validresponse = (31)&lt;br/&gt;/ responseInterrupt = immediate&lt;br/&gt;/ branch = {&lt;br/&gt;    if (trial.trial_video.response == 31) return trial.stop_page;&lt;br/&gt;}&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial stop_page&amp;gt;&lt;br/&gt;/ stimulusTimes = [1 = text.stop_page_text]&lt;br/&gt;/ validResponse = (1) // ESC key&lt;br/&gt;/ ontrialend = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.video_skipped = video.videos.currentItem;&lt;br/&gt;}&lt;br/&gt;&amp;lt;/trial&amp;gt;[/code]&lt;br/&gt;&lt;br/&gt;Thanks very much for any advice or example code.&lt;br/&gt;&lt;br/&gt;</description><pubDate>Mon, 09 Feb 2026 12:49:02 GMT</pubDate><dc:creator>leonsbe</dc:creator></item><item><title>RE: How to end video trial automatically when video finishes (variable duration + optional stop key)?</title><link>https://forums.millisecond.com/Topic41801.aspx</link><description>&lt;blockquote data-id="41800" class="if-quote-wrapper" unselectable="on" data-guid="1770641315229" contenteditable="false" id="if_insertedNode_1770641313874"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="41800" title="Move Cursor Below" contenteditable="false"&gt;&lt;span unselectable="on"&gt;+&lt;/span&gt;&lt;/a&gt;&lt;a class="quote-delete" unselectable="on" style="display: none;" href="#" data-id="41800" title="Delete Quote" contenteditable="false"&gt;&lt;span unselectable="on"&gt;x&lt;/span&gt;&lt;/a&gt;&lt;span unselectable="on" class="quote-markup"&gt;[quote]&lt;/span&gt;&lt;div unselectable="on" class="if-quote-header" contenteditable="false"&gt;&lt;div unselectable="on" class="if-quote-toggle-wrapper"&gt;&lt;a class="if-quote-toggle quote-link" href="#" data-id="41800" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;Dave - 2/3/2026&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-41800"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;&lt;blockquote data-id="41798" class="if-quote-wrapper" unselectable="on" data-guid="1770641315229" contenteditable="false" id="if_insertedNode_1770085347554"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="41798" title="Move Cursor Below" contenteditable="false"&gt;&lt;span unselectable="on"&gt;+&lt;/span&gt;&lt;/a&gt;&lt;a class="quote-delete" unselectable="on" style="display: none;" href="#" data-id="41798" title="Delete Quote" contenteditable="false"&gt;&lt;span unselectable="on"&gt;x&lt;/span&gt;&lt;/a&gt;&lt;span unselectable="on" class="quote-markup"&gt;[quote]&lt;/span&gt;&lt;div unselectable="on" class="if-quote-header" contenteditable="false"&gt;&lt;div unselectable="on" class="if-quote-toggle-wrapper"&gt;&lt;a class="if-quote-toggle quote-link" href="#" data-id="41798" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;leonsbe - 2/2/2026&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-41798"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;I’m trying to present videos in Inquisit, with the option for participants to press a key (“S”) to stop the video and display a “wait for experimenter” screen. After that, the experiment should continue with the next trial. Some videos are emotionally negative, so participants should be able to stop a video immediately and skip that trial if needed.&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Problem:&lt;br/&gt;&lt;/strong&gt;The video trial does not end automatically when the video finishes playing. The video remains on screen and the experiment does not advance unless the stop key is pressed. However, pressing “S” should be optional.&lt;br/&gt;Because the videos have different lengths, I can’t use a fixed /trialDuration.&lt;br/&gt;&lt;br/&gt;What is the correct way to end a trial automatically when a video finishes, while having variable-length video files and giving an option to respond?&lt;br/&gt;&lt;br/&gt;Relevant code elements below, runnable minimal version attached as zip.&lt;br/&gt;&lt;br/&gt;[code]&amp;lt;video videos&amp;gt;&lt;br/&gt;/ items = item.video_files &lt;br/&gt;/ position = (50, 50)&lt;br/&gt;/ size = (60%, null)&lt;br/&gt;/ select = noReplace&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ erase = false&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;item video_files&amp;gt;&lt;br/&gt;/ 1 = "V1.mp4"&lt;br/&gt;/ 2 = "V2.mp4"&lt;br/&gt;/ 3 = "V3.mp4"&lt;br/&gt;&amp;lt;/item&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial trial_video&amp;gt;&lt;br/&gt;/ stimulusTimes = [1 = video.videos, text.stop]&lt;br/&gt;/ validresponse = (31)&lt;br/&gt;/ responseInterrupt = immediate&lt;br/&gt;/ branch = {&lt;br/&gt;    if (trial.trial_video.response == 31) return trial.stop_page;&lt;br/&gt;}&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial stop_page&amp;gt;&lt;br/&gt;/ stimulusTimes = [1 = text.stop_page_text]&lt;br/&gt;/ validResponse = (1) // ESC key&lt;br/&gt;/ ontrialend = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.video_skipped = video.videos.currentItem;&lt;br/&gt;}&lt;br/&gt;&amp;lt;/trial&amp;gt;[/code]&lt;br/&gt;&lt;br/&gt;Thanks very much for any advice or example code.&lt;br/&gt;&lt;br/&gt;&lt;a class="if-quote-goto quote-link" href="#" data-id="41798"&gt;&lt;span class="goto"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[/quote]&lt;/span&gt;&lt;/blockquote&gt;&lt;br/&gt;[code]**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MINIMAL TEST VERSION - 3 TRIALS ONLY&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;&amp;lt;defaults&amp;gt;&lt;br/&gt;/ minimumVersion = "7.0.0.0"&lt;br/&gt;/ fontStyle = ("Arial", 3%, false, false, false, false, 5, 1)&lt;br/&gt;/ screenColor = white&lt;br/&gt;/ txColor = black&lt;br/&gt;&amp;lt;/defaults&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;values&amp;gt;&lt;br/&gt;/ video_skipped = ""&lt;br/&gt;&amp;lt;/values&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;STIMULI&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;&amp;lt;video videos&amp;gt;&lt;br/&gt;/ items = item.video_files &lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50, 50)&lt;br/&gt;/ size = (60%, null)&lt;br/&gt;/ select = noReplace&lt;br/&gt;/ erase = false&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;item video_files&amp;gt;&lt;br/&gt;/ 1 = "V1.mp4"&lt;br/&gt;/ 2 = "V2.mp4"&lt;br/&gt;/ 3 = "V3.mp4"&lt;br/&gt;&amp;lt;/item&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text fixation_cross&amp;gt;&lt;br/&gt;/ items = ("+")  &lt;br/&gt;/ position = (50, 50)&lt;br/&gt;/ fontStyle = ("Arial", 7%, true)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text stop&amp;gt;&lt;br/&gt;/ items = ("press s to stop")&lt;br/&gt;/ position = (90, 93) &lt;br/&gt;/ size = (15%, 7%)    &lt;br/&gt;/ txbgcolor = lightgray      &lt;br/&gt;/ hjustify = center          &lt;br/&gt;/ vjustify = center          &lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text stop_page_text&amp;gt;&lt;br/&gt;/ items = ("You have paused the experiment. Press ESC to continue.")&lt;br/&gt;/ color = white&lt;br/&gt;/ txBGColor = darkViolet&lt;br/&gt;/ size = (100%, 100%)&lt;br/&gt;/ position = (50, 50) &lt;br/&gt;/ hjustify = center          &lt;br/&gt;/ vjustify = center  &lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text stop_page_no_response_text&amp;gt;&lt;br/&gt;/ items = ("Video completed. Press ESC to continue.")&lt;br/&gt;/ color = white&lt;br/&gt;/ txBGColor = darkViolet&lt;br/&gt;/ size = (100%, 100%)&lt;br/&gt;/ position = (50, 50) &lt;br/&gt;/ hjustify = center          &lt;br/&gt;/ vjustify = center  &lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TRIALS&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;&amp;lt;trial trial_start_baseline&amp;gt;&lt;br/&gt;/ stimulusTimes = [1 = text.fixation_cross]&lt;br/&gt;/ trialDuration = 1000&lt;br/&gt;/ branch={&lt;br/&gt;   return trial.trial_video;&lt;br/&gt;}&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial trial_video&amp;gt;&lt;br/&gt;/ stop = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return (!video.videos.isPlaying) // stop trial when video is no longer playing&lt;br/&gt;}&lt;br/&gt;/ stimulusTimes = [1 = video.videos, text.stop]&lt;br/&gt;/ validresponse = (31)&lt;br/&gt;/ responseInterrupt = immediate&lt;br/&gt;/ recordData = false&lt;br/&gt;/ branch = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return trial.log_trial_video // when there is no response, trial_video will not record a data row; hence logging must be performed by a separate trial&lt;br/&gt;}&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;// this trial only exists to log variables of interest &lt;br/&gt;&amp;lt;trial log_trial_video&amp;gt;&lt;br/&gt;/ trialDuration = 0&lt;br/&gt;/ branch = {&lt;br/&gt;    if (trial.trial_video.response == 31) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return trial.stop_page&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return trial.stop_page_no_response&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;}&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial stop_page&amp;gt;&lt;br/&gt;/ stimulusTimes = [1 = text.stop_page_text]&lt;br/&gt;/ validResponse = (1) // ESC key&lt;br/&gt;/ ontrialend = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.video_skipped = video.videos.currentItem;&lt;br/&gt;}&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial stop_page_no_response&amp;gt;&lt;br/&gt;/ stimulusTimes = [1 = text.stop_page_no_response_text]&lt;br/&gt;/ validResponse = (1) // ESC key&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BLOCK&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;&amp;lt;block main_video_viewing&amp;gt;&lt;br/&gt;/ trials = [1-3 = trial_start_baseline]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXPERIMENT&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;&amp;lt;expt fullExp&amp;gt;&lt;br/&gt;/ blocks = [1=main_video_viewing] &lt;br/&gt;&amp;lt;/expt&amp;gt;&lt;br/&gt;[/code]&lt;a class="if-quote-goto quote-link" href="#" data-id="41800"&gt;&lt;span class="goto"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[/quote]&lt;/span&gt;&lt;/blockquote&gt;&lt;br/&gt;Super, ich musste nur erase auf true setzen, sonst hängt das Video. &lt;br/&gt;&lt;br/&gt;Vielen Dank!</description><pubDate>Mon, 09 Feb 2026 12:49:02 GMT</pubDate><dc:creator>leonsbe</dc:creator></item><item><title>RE: How to end video trial automatically when video finishes (variable duration + optional stop key)?</title><link>https://forums.millisecond.com/Topic41800.aspx</link><description>&lt;blockquote data-id="41798" class="if-quote-wrapper" unselectable="on" data-guid="1770085348708" contenteditable="false" id="if_insertedNode_1770085347554"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="41798" title="Move Cursor Below" contenteditable="false"&gt;&lt;span unselectable="on"&gt;+&lt;/span&gt;&lt;/a&gt;&lt;a class="quote-delete" unselectable="on" style="display: none;" href="#" data-id="41798" title="Delete Quote" contenteditable="false"&gt;&lt;span unselectable="on"&gt;x&lt;/span&gt;&lt;/a&gt;&lt;span unselectable="on" class="quote-markup"&gt;[quote]&lt;/span&gt;&lt;div unselectable="on" class="if-quote-header" contenteditable="false"&gt;&lt;div unselectable="on" class="if-quote-toggle-wrapper"&gt;&lt;a class="if-quote-toggle quote-link" href="#" data-id="41798" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;leonsbe - 2/2/2026&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-41798"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;I’m trying to present videos in Inquisit, with the option for participants to press a key (“S”) to stop the video and display a “wait for experimenter” screen. After that, the experiment should continue with the next trial. Some videos are emotionally negative, so participants should be able to stop a video immediately and skip that trial if needed.&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Problem:&lt;br/&gt;&lt;/strong&gt;The video trial does not end automatically when the video finishes playing. The video remains on screen and the experiment does not advance unless the stop key is pressed. However, pressing “S” should be optional.&lt;br/&gt;Because the videos have different lengths, I can’t use a fixed /trialDuration.&lt;br/&gt;&lt;br/&gt;What is the correct way to end a trial automatically when a video finishes, while having variable-length video files and giving an option to respond?&lt;br/&gt;&lt;br/&gt;Relevant code elements below, runnable minimal version attached as zip.&lt;br/&gt;&lt;br/&gt;[code]&amp;lt;video videos&amp;gt;&lt;br/&gt;/ items = item.video_files &lt;br/&gt;/ position = (50, 50)&lt;br/&gt;/ size = (60%, null)&lt;br/&gt;/ select = noReplace&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ erase = false&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;item video_files&amp;gt;&lt;br/&gt;/ 1 = "V1.mp4"&lt;br/&gt;/ 2 = "V2.mp4"&lt;br/&gt;/ 3 = "V3.mp4"&lt;br/&gt;&amp;lt;/item&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial trial_video&amp;gt;&lt;br/&gt;/ stimulusTimes = [1 = video.videos, text.stop]&lt;br/&gt;/ validresponse = (31)&lt;br/&gt;/ responseInterrupt = immediate&lt;br/&gt;/ branch = {&lt;br/&gt;    if (trial.trial_video.response == 31) return trial.stop_page;&lt;br/&gt;}&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial stop_page&amp;gt;&lt;br/&gt;/ stimulusTimes = [1 = text.stop_page_text]&lt;br/&gt;/ validResponse = (1) // ESC key&lt;br/&gt;/ ontrialend = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.video_skipped = video.videos.currentItem;&lt;br/&gt;}&lt;br/&gt;&amp;lt;/trial&amp;gt;[/code]&lt;br/&gt;&lt;br/&gt;Thanks very much for any advice or example code.&lt;br/&gt;&lt;br/&gt;&lt;a class="if-quote-goto quote-link" href="#" data-id="41798"&gt;&lt;span class="goto"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[/quote]&lt;/span&gt;&lt;/blockquote&gt;&lt;br/&gt;[code]**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MINIMAL TEST VERSION - 3 TRIALS ONLY&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;&amp;lt;defaults&amp;gt;&lt;br/&gt;/ minimumVersion = "7.0.0.0"&lt;br/&gt;/ fontStyle = ("Arial", 3%, false, false, false, false, 5, 1)&lt;br/&gt;/ screenColor = white&lt;br/&gt;/ txColor = black&lt;br/&gt;&amp;lt;/defaults&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;values&amp;gt;&lt;br/&gt;/ video_skipped = ""&lt;br/&gt;&amp;lt;/values&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;STIMULI&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;&amp;lt;video videos&amp;gt;&lt;br/&gt;/ items = item.video_files &lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50, 50)&lt;br/&gt;/ size = (60%, null)&lt;br/&gt;/ select = noReplace&lt;br/&gt;/ erase = false&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;item video_files&amp;gt;&lt;br/&gt;/ 1 = "V1.mp4"&lt;br/&gt;/ 2 = "V2.mp4"&lt;br/&gt;/ 3 = "V3.mp4"&lt;br/&gt;&amp;lt;/item&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text fixation_cross&amp;gt;&lt;br/&gt;/ items = ("+")  &lt;br/&gt;/ position = (50, 50)&lt;br/&gt;/ fontStyle = ("Arial", 7%, true)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text stop&amp;gt;&lt;br/&gt;/ items = ("press s to stop")&lt;br/&gt;/ position = (90, 93) &lt;br/&gt;/ size = (15%, 7%)    &lt;br/&gt;/ txbgcolor = lightgray      &lt;br/&gt;/ hjustify = center          &lt;br/&gt;/ vjustify = center          &lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text stop_page_text&amp;gt;&lt;br/&gt;/ items = ("You have paused the experiment. Press ESC to continue.")&lt;br/&gt;/ color = white&lt;br/&gt;/ txBGColor = darkViolet&lt;br/&gt;/ size = (100%, 100%)&lt;br/&gt;/ position = (50, 50) &lt;br/&gt;/ hjustify = center          &lt;br/&gt;/ vjustify = center  &lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text stop_page_no_response_text&amp;gt;&lt;br/&gt;/ items = ("Video completed. Press ESC to continue.")&lt;br/&gt;/ color = white&lt;br/&gt;/ txBGColor = darkViolet&lt;br/&gt;/ size = (100%, 100%)&lt;br/&gt;/ position = (50, 50) &lt;br/&gt;/ hjustify = center          &lt;br/&gt;/ vjustify = center  &lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TRIALS&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;&amp;lt;trial trial_start_baseline&amp;gt;&lt;br/&gt;/ stimulusTimes = [1 = text.fixation_cross]&lt;br/&gt;/ trialDuration = 1000&lt;br/&gt;/ branch={&lt;br/&gt;   return trial.trial_video;&lt;br/&gt;}&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial trial_video&amp;gt;&lt;br/&gt;/ stop = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return (!video.videos.isPlaying) // stop trial when video is no longer playing&lt;br/&gt;}&lt;br/&gt;/ stimulusTimes = [1 = video.videos, text.stop]&lt;br/&gt;/ validresponse = (31)&lt;br/&gt;/ responseInterrupt = immediate&lt;br/&gt;/ recordData = false&lt;br/&gt;/ branch = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return trial.log_trial_video // when there is no response, trial_video will not record a data row; hence logging must be performed by a separate trial&lt;br/&gt;}&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;// this trial only exists to log variables of interest &lt;br/&gt;&amp;lt;trial log_trial_video&amp;gt;&lt;br/&gt;/ trialDuration = 0&lt;br/&gt;/ branch = {&lt;br/&gt;    if (trial.trial_video.response == 31) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return trial.stop_page&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return trial.stop_page_no_response&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;}&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial stop_page&amp;gt;&lt;br/&gt;/ stimulusTimes = [1 = text.stop_page_text]&lt;br/&gt;/ validResponse = (1) // ESC key&lt;br/&gt;/ ontrialend = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.video_skipped = video.videos.currentItem;&lt;br/&gt;}&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial stop_page_no_response&amp;gt;&lt;br/&gt;/ stimulusTimes = [1 = text.stop_page_no_response_text]&lt;br/&gt;/ validResponse = (1) // ESC key&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BLOCK&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;&amp;lt;block main_video_viewing&amp;gt;&lt;br/&gt;/ trials = [1-3 = trial_start_baseline]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXPERIMENT&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;&amp;lt;expt fullExp&amp;gt;&lt;br/&gt;/ blocks = [1=main_video_viewing] &lt;br/&gt;&amp;lt;/expt&amp;gt;&lt;br/&gt;[/code]</description><pubDate>Tue, 03 Feb 2026 02:22:39 GMT</pubDate><dc:creator>Dave</dc:creator></item></channel></rss>