mirror of
https://github.com/jspsych/jsPsych.git
synced 2025-05-10 03:00:54 +00:00

* modularize plugins: edit index.ts and example files (WIP)
* continue modularizing plugins: edit index.ts and example files (WIP)
* continue modularizing plugins: edit index.ts and example files (WIP)
* continue modularizing plugins and example files, make info static in plugin classes
* add preload flag to plugin info, fix a few parameterType values
* change preload flags in plugin info from audio/image/video strings to boolean
* convert more plugins and example files
* convert more plugins/examples, sync with webgazer branch plugins/examples (not working on this branch)
* remove preload flag from info, change to ParameterType, change to "ALL_KEYS"/"NO_KEYS", change KEY type to KEYS for array params
* remove descriptions from plugin info, fix some ALL_KEYS/NO_KEYS errors
* remove descriptions and add pretty names to plugin info
* remove/edit comments re ALL_KEYS/NO_KEYS and TS errors
* fix some preload plugin errors and convert example file (plugin still not working due to getAutoPreloadList)
* convert RDK plugin and example file
* convert preload plugin and example, add JsPsych getTimelineDescription method for auto-preloading (still not working for audio due to getAudioBuffer
* fix jsPsych getTimelineDescription method so that it does recursive search
* add image and video preloading to plugin examples
* Merge branch 'modularization' into modularization-plugins
* add tests for reconstruction
* fix timeline array getter method: add private timelineDescription var, set to timeline array in run(), rename getTimelineDescription to getTimeline
* changes in response to PR review: fix JsDoc comments, fix array: true in param info, change HTML string param types, add JsDoc author/file/see docs for all plugin classes, switch to @ts-expect-error. Thanks @bjoluc!
* fix JsDoc comments for plugin classes and preload trials parameter
* change preload type to boolean in ParameterInfo interface, and add `preload: false` to virtual-chinrest item_path image parameter
* All my tests except for preload plugin (will do that tomorrow)
* minor fixes to reconstruction tests
* Update preload plugin tests
* Finish test conversion
* switch to arrow functions to fix this keyword errors in plugins, add audio preloading into plugin example files, fix typos
* convert non-plugin example files (WIP, not tested)
* Fix allow_held_keys -> allow_held_key parameter in virtual-chinrest plugin
* Fix `keyboardListener` type in serial-reaction-time plugin
* type fixes for RDK, simplifying `correctOrNot()` function
* fixed ["ALL_KEYS"] => "ALL_KEYS" for iat plugins and tests
* Build jspsych packages before everything else
Dependent builds were previously failing due to missing type definitions
* Remove console.log from html-keyboard-response tests
I think I accidentially committed it.
* fix the delayed start to animation bug (#1885)
* round all RTs to nearest int (#2108)
* fixes and tests #1900 - IAT parameter problems
* finish converting/testing example files, add init settings, add audio preloading, fix errors
* fix progress-bar timeline to demo an example where auto-updating the progress bar works well
* Revert "round all RTs to nearest int (#2108)"
This reverts commit f53145d2e3
.
* change how delayed timeline variables are implemented
* use static for generate_stimulus method so that it can be called on the vsl-grid-scene class
* fix external-html plugin and example (switch to arrow function for proper this context, fix incorrect parameter name)
* remove outdated TO DO comments
Co-authored-by: bjoluc <mail@bjoluc.de>
Co-authored-by: Josh de Leeuw <josh.deleeuw@gmail.com>
69 lines
2.2 KiB
HTML
69 lines
2.2 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="../packages/jspsych/dist/index.browser.js"></script>
|
|
<script src="../packages/plugin-audio-keyboard-response/dist/index.browser.js"></script>
|
|
<script src="../packages/plugin-html-button-response/dist/index.browser.js"></script>
|
|
<script src="../packages/plugin-preload/dist/index.browser.js"></script>
|
|
<link rel="stylesheet" href="../packages/jspsych/css/jspsych.css">
|
|
</head>
|
|
<body></body>
|
|
<script>
|
|
|
|
var jsPsych = initJsPsych({
|
|
default_iti: 250,
|
|
on_finish: function() {
|
|
jsPsych.data.displayData()
|
|
}
|
|
});
|
|
|
|
var preload = {
|
|
type: jsPsychPreload,
|
|
auto_preload: true
|
|
};
|
|
|
|
var pre_audio = {
|
|
type: jsPsychHtmlButtonResponse,
|
|
stimulus: '<div style="max-width:600px;"><p>Some browsers now require the user to interact with a page before it can play audio. '+
|
|
'Clicking the button below counts as an interaction.</p><p>Be aware of this when planning audio experiments if '+
|
|
'you want the first trial to include audio.</p></div>',
|
|
choices: ['Continue']
|
|
}
|
|
|
|
var trial_1 = {
|
|
type: jsPsychAudioKeyboardResponse,
|
|
stimulus: 'sound/speech_blue.mp3',
|
|
choices: ['y', 'n'],
|
|
prompt: '<div style="width: 300px; height: 300px; background-color: #0000ff; display: inline-block;"></div>'+
|
|
'<p>Does the color match the word? (y or n)</p>'
|
|
}
|
|
|
|
var trial_2 = {
|
|
type: jsPsychAudioKeyboardResponse,
|
|
stimulus: 'sound/speech_green.mp3',
|
|
choices: ['y', 'n'],
|
|
trial_duration: 5000,
|
|
prompt: '<div style="width: 300px; height: 300px; background-color: #ff0000; display: inline-block;"></div>'+
|
|
'<p>Does the color match the word? (y or n; 5s time limit)</p>'
|
|
}
|
|
|
|
var trial_3 = {
|
|
type: jsPsychAudioKeyboardResponse,
|
|
stimulus: 'sound/speech_red.mp3',
|
|
choices: "NO_KEYS",
|
|
trial_duration: 2000,
|
|
prompt: '<p>No response allowed. 2s wait.</p>'
|
|
}
|
|
|
|
trial_4 = {
|
|
type: jsPsychAudioKeyboardResponse,
|
|
stimulus: 'sound/speech_joke.mp3',
|
|
choices: "ALL_KEYS",
|
|
prompt: '<p>When the audio stops, press any key to end the trial.</p><p>Responses made while the audio is still playing will be ignored.</p>',
|
|
response_allowed_while_playing: false
|
|
}
|
|
|
|
jsPsych.run([preload, pre_audio, trial_1, trial_2, trial_3, trial_4]);
|
|
|
|
</script>
|
|
</html> |