Millisecond Forums

Recording Current Time in Data Log

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

By hehathorn - 1/25/2023

Hi all,
I would like for the program to record the current time in the data file when a surveypage with a video stimulus pops up in Inquisit 5. I believe it could be accomplished with the currenttime property, but I'm not sure what commands I should use to get it to record it in the data file. Any advice? Specifics with what commands and where to put it would be amazing!
An example survey and surveypage from the study are below.

<survey p1c1>
/ pages = [ 1 = surveypage.textp1c1; 2 =surveypage.videop1c1; 3 = surveypage.p1c1qs1; 4 = surveypage.p1c1qs2]
/ontrialbegin = [text.ReminderFT]
/ fontstyle = ("Times New Roman", 3%, false, false, false, false, 5, 1)
/subcaptionfontstyle = ("Times New Roman", 1.5%, false, false, false, false, 5, 1)
/itemfontstyle = ("Times New Roman", 3%, false, false, false, false, 5, 1)
/responsefontstyle = ("Times New Roman", 2.5%, false, false, false, false, 5, 1)
/ navigationbuttonfontstyle = ("Times New Roman", 3%, false, false, false, false, 5, 1)
/ navigationbuttonsize = (15%, 5%)
/ nextbuttonposition = (100%, 0%)
/ backbuttonposition = (0%, 0%)
/ finishlabel = "Finish"
</survey>


<surveypage videop1c1>
/ stimulusframes = [1 = video.p1c1]
/showpagenumbers = false
/showquestionnumbers = false
</surveypage>


Thanks!
By Dave - 1/25/2023

hehathorn - 1/25/2023
Hi all,
I would like for the program to record the current time in the data file when a surveypage with a video stimulus pops up in Inquisit 5. I believe it could be accomplished with the currenttime property, but I'm not sure what commands I should use to get it to record it in the data file. Any advice? Specifics with what commands and where to put it would be amazing!
An example survey and surveypage from the study are below.

<survey p1c1>
/ pages = [ 1 = surveypage.textp1c1; 2 =surveypage.videop1c1; 3 = surveypage.p1c1qs1; 4 = surveypage.p1c1qs2]
/ontrialbegin = [text.ReminderFT]
/ fontstyle = ("Times New Roman", 3%, false, false, false, false, 5, 1)
/subcaptionfontstyle = ("Times New Roman", 1.5%, false, false, false, false, 5, 1)
/itemfontstyle = ("Times New Roman", 3%, false, false, false, false, 5, 1)
/responsefontstyle = ("Times New Roman", 2.5%, false, false, false, false, 5, 1)
/ navigationbuttonfontstyle = ("Times New Roman", 3%, false, false, false, false, 5, 1)
/ navigationbuttonsize = (15%, 5%)
/ nextbuttonposition = (100%, 0%)
/ backbuttonposition = (0%, 0%)
/ finishlabel = "Finish"
</survey>


<surveypage videop1c1>
/ stimulusframes = [1 = video.p1c1]
/showpagenumbers = false
/showquestionnumbers = false
</surveypage>


Thanks!

Survey data output cannot be customised (i.e. no way to log the currenttime property), so first thing is you'd need to run the surveypages via a <block>'s /trials instead of running them via a <survey>'s /pages. (A <surveypage> is a special kind of <trial>, a <survey> is a special kind of <block>).

Once you've done that, you can specify whatever values or properties you want to log by specifying /columns in the <data> element.

To capture the currenttime at the start of the given surveypage, then, you would do something like

<block p1c1>
/ trials = [1 = surveypage.textp1c1; 2 =surveypage.videop1c1; 3 = surveypage.p1c1qs1; 4 = surveypage.p1c1qs2]
</block>

<values>
/ videop1c1_time = ""
</values>

...

<surveypage videop1c1>
/ ontrialbegin = [
    values.videop1c1_time = script.currenttime;
]
/ stimulusframes = [1 = video.p1c1]
/showpagenumbers = false
/showquestionnumbers = false
/ fontstyle = ("Times New Roman", 3%, false, false, false, false, 5, 1)
/subcaptionfontstyle = ("Times New Roman", 1.5%, false, false, false, false, 5, 1)
/itemfontstyle = ("Times New Roman", 3%, false, false, false, false, 5, 1)
/responsefontstyle = ("Times New Roman", 2.5%, false, false, false, false, 5, 1)
/ navigationbuttonfontstyle = ("Times New Roman", 3%, false, false, false, false, 5, 1)
/ navigationbuttonsize = (15%, 5%)
/ nextbuttonposition = (100%, 0%)
/ backbuttonposition = (0%, 0%)
/ finishlabel = "Finish"
</surveypage>

...

<data>
/ columns = (date time subject group blocknum blockcode trialnum trialcode response latency correct values.videop1c1_time)
/ separatefiles = true
</data>

By hehathorn - 1/25/2023

Dave - 1/25/2023
hehathorn - 1/25/2023
Hi all,
I would like for the program to record the current time in the data file when a surveypage with a video stimulus pops up in Inquisit 5. I believe it could be accomplished with the currenttime property, but I'm not sure what commands I should use to get it to record it in the data file. Any advice? Specifics with what commands and where to put it would be amazing!
An example survey and surveypage from the study are below.

<survey p1c1>
/ pages = [ 1 = surveypage.textp1c1; 2 =surveypage.videop1c1; 3 = surveypage.p1c1qs1; 4 = surveypage.p1c1qs2]
/ontrialbegin = [text.ReminderFT]
/ fontstyle = ("Times New Roman", 3%, false, false, false, false, 5, 1)
/subcaptionfontstyle = ("Times New Roman", 1.5%, false, false, false, false, 5, 1)
/itemfontstyle = ("Times New Roman", 3%, false, false, false, false, 5, 1)
/responsefontstyle = ("Times New Roman", 2.5%, false, false, false, false, 5, 1)
/ navigationbuttonfontstyle = ("Times New Roman", 3%, false, false, false, false, 5, 1)
/ navigationbuttonsize = (15%, 5%)
/ nextbuttonposition = (100%, 0%)
/ backbuttonposition = (0%, 0%)
/ finishlabel = "Finish"
</survey>


<surveypage videop1c1>
/ stimulusframes = [1 = video.p1c1]
/showpagenumbers = false
/showquestionnumbers = false
</surveypage>


Thanks!

Survey data output cannot be customised (i.e. no way to log the currenttime property), so first thing is you'd need to run the surveypages via a <block>'s /trials instead of running them via a <survey>'s /pages. (A <surveypage> is a special kind of <trial>, a <survey> is a special kind of <block>).

Once you've done that, you can specify whatever values or properties you want to log by specifying /columns in the <data> element.

To capture the currenttime at the start of the given surveypage, then, you would do something like

<block p1c1>
/ trials = [1 = surveypage.textp1c1; 2 =surveypage.videop1c1; 3 = surveypage.p1c1qs1; 4 = surveypage.p1c1qs2]
</block>

<values>
/ videop1c1_time = ""
</values>

...

<surveypage videop1c1>
/ ontrialbegin = [
    values.videop1c1_time = script.currenttime;
]
/ stimulusframes = [1 = video.p1c1]
/showpagenumbers = false
/showquestionnumbers = false
/ fontstyle = ("Times New Roman", 3%, false, false, false, false, 5, 1)
/subcaptionfontstyle = ("Times New Roman", 1.5%, false, false, false, false, 5, 1)
/itemfontstyle = ("Times New Roman", 3%, false, false, false, false, 5, 1)
/responsefontstyle = ("Times New Roman", 2.5%, false, false, false, false, 5, 1)
/ navigationbuttonfontstyle = ("Times New Roman", 3%, false, false, false, false, 5, 1)
/ navigationbuttonsize = (15%, 5%)
/ nextbuttonposition = (100%, 0%)
/ backbuttonposition = (0%, 0%)
/ finishlabel = "Finish"
</surveypage>

...

<data>
/ columns = (date time subject group blocknum blockcode trialnum trialcode response latency correct values.videop1c1_time)
/ separatefiles = true
</data>



Hey Dave,
Thanks for the help with this, that's just what I was looking for. Sounds like I've got a bit of rewriting ahead of me!