Rounds all duration measurements to the nearest INT (#2129)

Rounds all duration measurements to the nearest INT
This commit is contained in:
Josh de Leeuw 2021-09-10 09:55:35 -04:00 committed by GitHub
parent 2802430999
commit f37f64ac61
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
25 changed files with 29 additions and 28 deletions

View File

@ -105,9 +105,10 @@ export class KeyboardListenerAPI {
}
const listener: KeyboardListener = (e) => {
const rt =
const rt = Math.round(
(rt_method == "performance" ? performance.now() : audio_context.currentTime * 1000) -
startTime;
startTime
);
if (rt < minimum_valid_rt) {
return;
}

View File

@ -151,7 +151,7 @@ class AnimationPlugin implements JsPsychPlugin<Info> {
// record when image was shown
animation_sequence.push({
stimulus: trial.stimuli[animate_frame],
time: performance.now() - startTime,
time: Math.round(performance.now() - startTime),
});
if (trial.frame_isi > 0) {
@ -162,7 +162,7 @@ class AnimationPlugin implements JsPsychPlugin<Info> {
// record when blank image was shown
animation_sequence.push({
stimulus: "blank",
time: performance.now() - startTime,
time: Math.round(performance.now() - startTime),
});
}, trial.frame_time);
}

View File

@ -207,7 +207,7 @@ class AudioButtonResponsePlugin implements JsPsychPlugin<Info> {
function after_response(choice) {
// measure rt
var endTime = performance.now();
var rt = endTime - startTime;
var rt = Math.round(endTime - startTime);
if (context !== null) {
endTime = context.currentTime;
rt = Math.round((endTime - startTime) * 1000);

View File

@ -249,7 +249,7 @@ class AudioSliderResponsePlugin implements JsPsychPlugin<Info> {
.addEventListener("click", function () {
// measure response time
var endTime = performance.now();
var rt = endTime - startTime;
var rt = Math.round(endTime - startTime);
if (context !== null) {
endTime = context.currentTime;
rt = Math.round((endTime - startTime) * 1000);

View File

@ -180,7 +180,7 @@ class CanvasButtonResponsePlugin implements JsPsychPlugin<Info> {
function after_response(choice) {
// measure rt
var end_time = performance.now();
var rt = end_time - start_time;
var rt = Math.round(end_time - start_time);
response.button = parseInt(choice);
response.rt = rt;

View File

@ -207,7 +207,7 @@ class CanvasSliderResponsePlugin implements JsPsychPlugin<Info> {
.addEventListener("click", function () {
// measure response time
var endTime = performance.now();
response.rt = endTime - startTime;
response.rt = Math.round(endTime - startTime);
response.response = display_element.querySelector<HTMLInputElement>(
"#jspsych-canvas-slider-response-response"
).valueAsNumber;

View File

@ -102,7 +102,7 @@ class ExternalHtmlPlugin implements JsPsychPlugin<Info> {
display_element.removeEventListener("keydown", key_listener);
}
var trial_data = {
rt: performance.now() - t0,
rt: Math.round(performance.now() - t0),
url: trial.url,
};
display_element.innerHTML = "";

View File

@ -465,7 +465,7 @@ class FreeSortPlugin implements JsPsychPlugin<Info> {
display_element.querySelector("#jspsych-free-sort-done-btn").addEventListener("click", () => {
if (inside.every(Boolean)) {
const end_time = performance.now();
const rt = end_time - start_time;
const rt = Math.round(end_time - start_time);
// gather data
const items = display_element.querySelectorAll<HTMLElement>(".jspsych-free-sort-draggable");
// get final position of all items

View File

@ -161,7 +161,7 @@ class HtmlButtonResponsePlugin implements JsPsychPlugin<Info> {
function after_response(choice) {
// measure rt
var end_time = performance.now();
var rt = end_time - start_time;
var rt = Math.round(end_time - start_time);
response.button = parseInt(choice);
response.rt = rt;

View File

@ -200,7 +200,7 @@ class HtmlSliderResponsePlugin implements JsPsychPlugin<Info> {
.addEventListener("click", function () {
// measure response time
var endTime = performance.now();
response.rt = endTime - startTime;
response.rt = Math.round(endTime - startTime);
response.response = display_element.querySelector<HTMLInputElement>(
"#jspsych-html-slider-response-response"
).valueAsNumber;

View File

@ -314,7 +314,7 @@ class ImageButtonResponsePlugin implements JsPsychPlugin<Info> {
function after_response(choice) {
// measure rt
var end_time = performance.now();
var rt = end_time - start_time;
var rt = Math.round(end_time - start_time);
response.button = parseInt(choice);
response.rt = rt;

View File

@ -383,7 +383,7 @@ class ImageSliderResponsePlugin implements JsPsychPlugin<Info> {
.addEventListener("click", function () {
// measure response time
var endTime = performance.now();
response.rt = endTime - startTime;
response.rt = Math.round(endTime - startTime);
response.response = display_element.querySelector<HTMLInputElement>(
"#jspsych-image-slider-response-response"
).valueAsNumber;

View File

@ -182,7 +182,7 @@ class InstructionsPlugin implements JsPsychPlugin<Info> {
function add_current_page_to_view_history() {
var current_time = performance.now();
var page_view_time = current_time - last_page_update_time;
var page_view_time = Math.round(current_time - last_page_update_time);
view_history.push({
page_index: current_page,
@ -201,7 +201,7 @@ class InstructionsPlugin implements JsPsychPlugin<Info> {
var trial_data = {
view_history: view_history,
rt: performance.now() - start_time,
rt: Math.round(performance.now() - start_time),
};
this.jsPsych.finishTrial(trial_data);

View File

@ -175,7 +175,7 @@ class MaxdiffPlugin implements JsPsychPlugin<Info> {
// measure response time
var endTime = performance.now();
var response_time = endTime - startTime;
var response_time = Math.round(endTime - startTime);
// get the alternative by the data-name attribute, allowing a null response if unchecked
function get_response(side) {

View File

@ -1377,7 +1377,7 @@ class RdkPlugin implements JsPsychPlugin<Info> {
//Else calculate the time and push it into the array
else {
var currentTimeStamp = performance.now(); //Variable to hold current timestamp
(frameRate as number[]).push(currentTimeStamp - previousTimestamp); //Push the interval into the frameRate array
(frameRate as number[]).push(Math.round(currentTimeStamp - previousTimestamp)); //Push the interval into the frameRate array
previousTimestamp = currentTimeStamp; //Reset the timestamp
}
}

View File

@ -64,7 +64,7 @@ class ReconstructionPlugin implements JsPsychPlugin<Info> {
const endTrial = () => {
// measure response time
var endTime = performance.now();
var response_time = endTime - startTime;
var response_time = Math.round(endTime - startTime);
// clear keyboard response
this.jsPsych.pluginAPI.cancelKeyboardResponse(key_listener);

View File

@ -112,7 +112,7 @@ class SerialReactionTimeMousePlugin implements JsPsychPlugin<Info> {
var info = <any>{};
info.row = e.currentTarget.getAttribute("data-row");
info.column = e.currentTarget.getAttribute("data-column");
info.rt = performance.now() - startTime;
info.rt = Math.round(performance.now() - startTime);
after_response(info);
}
});

View File

@ -106,7 +106,7 @@ class SurveyHtmlFormPlugin implements JsPsychPlugin<Info> {
// measure response time
var endTime = performance.now();
var response_time = endTime - startTime;
var response_time = Math.round(endTime - startTime);
var this_form = display_element.querySelector("#jspsych-survey-html-form");
var question_data = serializeArray(this_form);

View File

@ -175,7 +175,7 @@ class SurveyLikertPlugin implements JsPsychPlugin<Info> {
e.preventDefault();
// measure response time
var endTime = performance.now();
var response_time = endTime - startTime;
var response_time = Math.round(endTime - startTime);
// create object to hold responses
var question_data = {};

View File

@ -199,7 +199,7 @@ class SurveyMultiChoicePlugin implements JsPsychPlugin<Info> {
event.preventDefault();
// measure response time
var endTime = performance.now();
var response_time = endTime - startTime;
var response_time = Math.round(endTime - startTime);
// create object to hold responses
var question_data = {};

View File

@ -231,7 +231,7 @@ class SurveyMultiSelectPlugin implements JsPsychPlugin<Info> {
event.preventDefault();
// measure response time
var endTime = performance.now();
var response_time = endTime - startTime;
var response_time = Math.round(endTime - startTime);
// create object to hold responses
var question_data = {};

View File

@ -196,7 +196,7 @@ class SurveyTextPlugin implements JsPsychPlugin<Info> {
e.preventDefault();
// measure response time
var endTime = performance.now();
var response_time = endTime - startTime;
var response_time = Math.round(endTime - startTime);
// create object to hold responses
var question_data = {};

View File

@ -298,7 +298,7 @@ class VideoButtonResponsePlugin implements JsPsychPlugin<Info> {
function after_response(choice: string) {
// measure rt
var end_time = performance.now();
var rt = end_time - start_time;
var rt = Math.round(end_time - start_time);
response.button = parseInt(choice);
response.rt = rt;

View File

@ -355,7 +355,7 @@ class VideoSliderResponsePlugin implements JsPsychPlugin<Info> {
.addEventListener("click", function () {
// measure response time
var endTime = performance.now();
response.rt = endTime - startTime;
response.rt = Math.round(endTime - startTime);
response.response = display_element.querySelector<HTMLInputElement>(
"#jspsych-video-slider-response-response"
).valueAsNumber;

View File

@ -385,7 +385,7 @@ class VirtualChinrestPlugin implements JsPsychPlugin<Info> {
const endTrial = () => {
// finish trial
trial_data.rt = performance.now() - start_time;
trial_data.rt = Math.round(performance.now() - start_time);
// remove lingering event listeners, just in case
this.jsPsych.pluginAPI.cancelAllKeyboardResponses();