can now opt to leave the stimulus on the screen for a fixed length of
time, still recording the responses when they occur.
also allows a timelimit to be set on the responses, so that if no
responses is recorded after some period of time, the trial completes and
records a -1 as the response.
- added adaptive category training
- categorize multi and samedifferentloc are incomplete and untested
- fixed issue with core file that caused failure when init method was
called twice.
Also did some significant simplification in the code. This change is
meant to reflect the fact that the plugin can be used for a lot more
than categorization tasks.
call-function: changed data storage so that if there was no return value
then no data would be stored in the data object. this helps when trying
to write data to a database as the empty data can be safely ignored.
active-match: new plugin for manipulating an image until it matches
another image.
variables (in the form of functions) can be passed in to the text plug
in and their contents (return values) are substituted into the string
when the text plugin is displayed.
(also fixed bug in xab where correct/incorrect were backwards -- as of
jul 17 commit)
html plugin was not pulling the most recent version of the html document
if the document was already in the browser cache. if force_refresh is
set to true, then the current timestamp is appended on as a URL argument
as a means to force the browser to grab the newest version.
free sort is a plugin that displays a set of stimuli and records the
movements that participants make as they drag the stimuli to sort them.
sorting is unconstrained (i.e. there are no specific groups that
participants are told to sort into).
// core.progress returns an object with the following properties
// total_blocks: the number of total blocks in the experiment
// total_trials: the number of total trials in the experiment
// current_trial_global: the current trial number in global terms
// i.e. if each block has 20 trials and the experiment is
// currently in block 2 trial 10, this has a value of 30.
// current_trial_local: the current trial number within the block.
// current_block: the current block number.
Useful for showing user progress through the experiment. Planning to add
an option to show a progress bar in the future.
Added two optional parameters to the XAB plugin so that they key that
subjects press to answer left/right is a parameter. The parameters have
default values of 'q' and 'p' to maintain compatibility.
jspsych-similarity.js : fixed data storage so that generic data object
was included in the block's data.
jspsych-storybook.js: included generic data object in data storage,
included path to image in data storage.
jspsych.js: cosmetic adjustment to code in finishExperiment() method.
NEW:
added call-function plugin, which calls a user-specified function.
useful for saving data before completion.
added paint plugin - displays a canvas element superimposed on an image
and allows subjects to draw on the image to indicate areas of interest.
jspsych-similarity.js : fixed data storage so that generic data object
was included in the block's data.
jspsych-storybook.js: included generic data object in data storage,
included path to image in data storage.
jspsych.js: cosmetic adjustment to code in finishExperiment() method.
NEW:
added call-function plugin, which calls a user-specified function.
useful for saving data before completion.
added paint plugin - displays a canvas element superimposed on an image
and allows subjects to draw on the image to indicate areas of interest.
changes to the core jspsych.js file will break some backwards
compatibility. script files are no longer loaded dynamically, due to
issues with using $.getScript on local installations. this revision
makes defining a list of plugins unnecessary; they are automatically
recognized based on the experiment structure.
changes to similarity plugin: display is now sequential.
adding storybook plugin: this is an ipad plugin, which displays a single
image and records the location of touch events.
The top level object is jsPsych, and plugins are defined as jsPsych.PLUGIN.
The library also loads everything dynamically now, so the user only needs to load the main jsPsych script (and specify the src for any plugins).
This also changes how the library is loaded initially, since it is not based on the jQuery method anymore. See wiki.