Josh de Leeuw
72511a9c9c
initialize interaction listeners after startup
2016-07-01 09:22:28 -04:00
Josh de Leeuw
3b910469d3
standardize ALL_KEYS and NO_KEYS ( #252 )
2016-06-30 13:20:34 -04:00
Josh de Leeuw
6d8b877987
fixes #231
2016-06-30 12:43:15 -04:00
Josh de Leeuw
bc7f0f0f1a
fixes #254
2016-06-30 10:22:36 -04:00
Josh de Leeuw
472e0696d5
add fullscreenenter and fullscreenexit detection ( #273 )
2016-06-29 23:10:10 -04:00
Josh de Leeuw
c863a3b03c
Initial implementation of focus recording ( #273 )
2016-06-29 22:54:12 -04:00
Josh de Leeuw
01f7782da6
Implements a solution for #228
2016-06-29 17:34:59 -04:00
Josh de Leeuw
a2e458615a
implements data.ignore method ( #264 )
2016-06-27 22:55:35 -04:00
Josh de Leeuw
a951dd3e0b
implements shared AudioContext ( #271 )
2016-06-27 13:29:43 -04:00
Josh de Leeuw
52e673fb1b
more plugin.info ( #270 )
2016-06-27 13:21:51 -04:00
Josh de Leeuw
8b2d12a79c
further work on plugin.info ( #270 )
2016-06-26 23:45:17 -04:00
Josh de Leeuw
73c77214d9
update param types
2016-06-24 09:51:56 -04:00
Josh de Leeuw
0f71617963
start implementing plugin.info methods ( #270 )
2016-06-24 09:46:30 -04:00
Josh de Leeuw
9b2c5d5932
better version of #255
2016-05-21 22:10:40 -04:00
Josh de Leeuw
1126aa6768
implements #255 and some minimal CSS support
2016-05-21 20:49:31 -04:00
Josh de Leeuw
e8db59b44b
don't try to auto preload functions
2016-05-21 17:09:39 -04:00
Josh de Leeuw
613e692567
fix bug from #233
2016-05-21 16:53:54 -04:00
Josh de Leeuw
88ea761973
quick bug fixes
2016-05-18 17:29:03 -04:00
Josh de Leeuw
01b78b54b9
implement pause/unpause #232
2016-05-18 17:21:25 -04:00
Josh de Leeuw
ecbdfa50dd
implements adding node to end of timeline
2016-05-18 17:04:14 -04:00
Josh de Leeuw
94e884ca1e
fix window reference for server-side use
2016-04-14 15:35:27 -04:00
Josh de Leeuw
e011ced826
remove dependency on window object for query_string
2016-04-13 18:30:02 -04:00
Josh de Leeuw
2367a276f2
major cleanup, and basic level test works.
2016-04-07 15:01:50 -04:00
Josh de Leeuw
3e1bae218c
first (buggy) implementation of timeline variables
2016-04-06 18:28:49 -04:00
Josh de Leeuw
1a715c86ad
fixes #237 and adds test
2016-03-02 23:15:06 -05:00
Josh de Leeuw
d6ba7c9a26
fixes #222
2016-01-23 22:35:45 -05:00
Josh de Leeuw
9c6396cba3
remove old empty function
2016-01-23 22:30:05 -05:00
Josh de Leeuw
58bd9c9550
fixes #223
2016-01-23 22:23:38 -05:00
Josh de Leeuw
4de65db9d9
fixes #211
2016-01-07 16:34:03 -05:00
Josh de Leeuw
486b543a29
fixes #215
2016-01-07 12:08:29 -05:00
Josh de Leeuw
17cb2cd1f7
getting data docs renamed, renaming some data functions
2016-01-05 14:36:08 -05:00
Josh de Leeuw
95419af8ae
renaming chunks to timeline
2016-01-05 14:04:01 -05:00
Josh de Leeuw
5ff4e2666a
add randomID method ( #214 )
2016-01-05 13:31:52 -05:00
Josh de Leeuw
b289e182d5
allow end_message in endExperiment ( #213 )
2016-01-05 13:16:56 -05:00
Josh de Leeuw
d917f74d3a
implements URL variables ( #192 )
2016-01-05 12:09:17 -05:00
Josh de Leeuw
9a9b7bba7a
adds dataAsJSON ( #212 )
2016-01-05 11:34:53 -05:00
Josh de Leeuw
4ce36b8460
implements override of display_element ( #204 )
2016-01-05 11:19:53 -05:00
Josh de Leeuw
784632c9d2
fix bug with randomization.repeat ( #210 )
2016-01-05 10:47:53 -05:00
Josh de Leeuw
77a29acfd7
siphon plugins into .plugins namespace ( #184 )
2016-01-05 10:16:58 -05:00
Josh de Leeuw
80a16968cf
making endExperiment work with new version
2015-12-17 15:05:35 -05:00
Josh de Leeuw
1440ff23ce
making audio work with new timeline, auto preload ( #117 )
2015-12-17 12:43:51 -05:00
Josh de Leeuw
38ef295220
implements the progress bar for new timeline
2015-12-16 10:56:06 -05:00
Josh de Leeuw
3cc0ab85fc
making sure loop function gets the data from the chunk
2015-12-15 21:26:26 -05:00
Josh de Leeuw
6489923cff
error messages for bad experiment timelines
2015-12-15 21:07:29 -05:00
Josh de Leeuw
0742ebc246
allow setting parameters at any point on timeline
2015-12-11 16:57:06 -05:00
Josh de Leeuw
ff7ffd3de4
merging data.write with finishTrial ( #154 )
...
still need to update more plugins
2015-12-10 17:05:12 -05:00
Josh de Leeuw
f90dd3a8d6
basic test with single-stim is working
2015-12-10 16:02:25 -05:00
Josh de Leeuw
3e840bca6b
getting started with revisions
...
- remove chunks/blocks
- add timeline node “class”
- modifying single-stim plugin for testing
2015-12-10 15:29:39 -05:00
Josh de Leeuw
e99fb56fd3
implement fullscreen option ( #199 )
2015-12-08 11:46:31 -05:00
Josh de Leeuw
29497fb7b3
fix audio for Safari ( #159 )
2015-12-08 10:58:39 -05:00
Josh de Leeuw
dba6c4befc
fixes double call of function as parameter ( #158 )
...
fixed by changing the evaluate parameters function to modify the trial
object directly, so the function is replaced by its value.
2015-12-08 10:35:29 -05:00
Josh de Leeuw
ed4b2ba99c
change progress bar behavior ( #156 )
2015-12-08 09:54:37 -05:00
Josh de Leeuw
94f772e41e
allow override of default timing_post_trial ( #176 )
2015-12-07 16:48:37 -05:00
Josh de Leeuw
2f61a960ab
fix clone on shuffle (issue #175 )
2015-12-07 15:37:16 -05:00
Josh de Leeuw
1b37453a43
implements #153
2015-06-26 16:55:13 -04:00
Josh de Leeuw
3ef2f16f22
implements #144
2015-06-26 15:30:26 -04:00
Josh de Leeuw
981d15fdc8
implements #98 & #152
...
adds a routine that detects when keys are being held down. an optional
parameter for getKeyboardResponse allows held keys to be ignored.
2015-06-12 12:58:31 -04:00
Josh de Leeuw
c091cbaa28
fix bug in endExperiment
...
caused on_finish handler to fire twice
2015-06-08 12:39:33 -04:00
Josh de Leeuw
1974ff4498
fixes #147
2015-06-08 09:03:32 -04:00
Josh de Leeuw
240f409a06
fix bug with data and timing_post_trial function params
2015-06-02 09:27:05 -04:00
Josh de Leeuw
3d597a8f52
implements #107
2015-05-28 13:14:22 -04:00
Josh de Leeuw
eff15d8fa6
fixes #116
2015-05-28 12:45:43 -04:00
Josh de Leeuw
37fa9d9113
implements #142
2015-05-28 09:58:47 -04:00
Josh de Leeuw
23653e7eef
implements #143
2015-05-28 09:45:21 -04:00
Josh de Leeuw
9bba6fe2dd
finishes #104
2015-05-22 09:52:04 -04:00
Josh de Leeuw
af2543d566
starting to implement #104
2015-05-20 23:09:48 -04:00
Josh de Leeuw
b948e4bc6f
fixes #134
2015-05-15 16:39:40 -04:00
Josh de Leeuw
4b4faa6636
fixes #105 , #137
2015-05-15 15:31:39 -04:00
Josh de Leeuw
c7e1f40ddc
*actually* fixes #128
2015-05-15 15:16:00 -04:00
Josh de Leeuw
b5bb1a552d
fixes #128
2015-05-15 15:09:10 -04:00
Josh de Leeuw
d1f9985bf8
implements #136
...
does the stuff in #136 .
- adds the addProperties function
- removes other ways to append data.
2015-05-15 14:46:12 -04:00
Josh de Leeuw
ab44b665a3
add list of variables that are always protected from norming
...
fixes #133 , and provides framework for other related issues.
2015-05-15 14:04:39 -04:00
Josh de Leeuw
0cb807500f
avoid loading audio twice
...
fixes issue #125
2015-03-27 13:43:11 -04:00
Josh de Leeuw
7f9db95c5d
update docs loc
2015-02-19 10:24:33 -05:00
Josh de Leeuw
a1900a199b
allow skip_load_check
...
issue #92
2015-02-19 10:15:59 -05:00
Josh de Leeuw
c780dd4557
add sample method
...
issue #102
2015-02-05 17:19:08 -05:00
Josh de Leeuw
686a6bcdaf
fix issues with html content rendering in displayData
...
issue #99
2015-02-05 17:00:22 -05:00
Josh de Leeuw
0849f8bd9f
add randomization.shuffle function
...
issue #100
2015-02-05 16:52:16 -05:00
Josh de Leeuw
45820a5249
comments removed
2015-02-05 16:49:21 -05:00
Josh de Leeuw
6a634244e3
temp fix to prevent non AudioContext browsers from breaking
...
issue #95
2014-11-14 15:28:33 -05:00
Josh de Leeuw
55f1d3c5d6
add convertKeyCharacterToKeyCode method
2014-11-14 15:14:48 -05:00
Josh de Leeuw
8ca0e2576c
adds a check in init function to see if all audio is loaded
2014-11-11 10:18:12 -05:00
Josh de Leeuw
840cfa908c
working audio plugin
...
- needed to change keyboardResponse method to support measuring RT off
of the audio context
- related to issues #3 and #4
2014-11-11 09:15:26 -05:00
Josh de Leeuw
bb1379b5e4
adding audio support functions to core
2014-11-11 08:37:57 -05:00
Josh de Leeuw
f7d02198d0
fix issue with flatten data
...
Fixes #85
2014-10-30 16:06:07 -04:00
Josh de Leeuw
b60a331e1f
bug fix in displayData
2014-10-28 18:01:47 -04:00
Josh de Leeuw
3c6d7fdd66
removing force_refresh option for turkInfo
...
just parse the string every time
2014-10-16 11:06:43 -04:00
Josh de Leeuw
9d816dbf2b
change blocks to timeline
...
closes #77
2014-10-15 13:43:28 -04:00
Josh de Leeuw
5546f08094
add getLastChunkData; edge case handling
2014-10-01 08:34:28 -04:00
Josh de Leeuw
f2c0ebf63d
add getLastTrialData function
2014-10-01 08:28:50 -04:00
Josh de Leeuw
4171f8d461
adding if chunk
2014-10-01 02:51:47 +00:00
Josh de Leeuw
8cef6f089e
semicolon
2014-10-01 02:22:51 +00:00
Josh de Leeuw
6f10c190c5
implement randomize_order and repetitions opts
...
closes issue #70
2014-09-25 09:13:08 -04:00
Josh de Leeuw
c5c0298c9a
remove line
2014-09-24 08:53:49 -04:00
Josh de Leeuw
e07e05ce35
implement ability to get index of trial relative to block
2014-09-24 08:51:44 -04:00
Josh de Leeuw
c1c60c209d
update progress bar spec
...
shows progress based on which chunk the subject is currently doing in
the root_chunk object. this means that progress updates less often, but
the experimenter can always break out blocks into lots of chunks if
they want the progress to update more frequently.
2014-09-24 08:37:28 -04:00
Josh de Leeuw
e4d2766f8b
cleaning up stuff that isn't needed.
2014-09-23 16:31:01 -04:00
Josh de Leeuw
044cbc3d6e
more fixes for nested chunks
...
- fixed method to get data associated with chunk ID
- isComplete now works for root type chunk
2014-09-23 16:14:36 -04:00
Josh de Leeuw
619d9ffa05
reconfiguring chunk to be tree-like
...
now there is a root chunk which contains the entire experiment, with
all other chunks being branches off of the root. lots of tweaking to
chunk ID code to get dynamic IDs depending on how many iterations of a
chunk have happened.
2014-09-23 14:10:51 -04:00
Josh de Leeuw
044cf9c780
trying to implement nested chunks
...
this is really broken right now.
2014-09-22 09:40:34 -04:00
Josh de Leeuw
d9c356f6d7
replace block.next with jsPsych.finishTrial();
2014-09-19 15:19:01 -04:00
Josh de Leeuw
e7e3271731
more work to support while chunks
...
Issue #8
2014-09-19 15:05:11 -04:00
Josh de Leeuw
fcf8239578
implements while chunk
...
related to Issue #8
2014-09-19 14:43:59 -04:00
Josh de Leeuw
03386a661f
various bug fixes to get chunks working
2014-09-19 14:21:49 -04:00
Josh de Leeuw
4128984f36
more work on chunk code
2014-09-19 08:45:59 -04:00
Josh de Leeuw
ab30087973
starting to fill in chunk behavior
2014-09-18 16:55:45 -04:00
Josh de Leeuw
73b6524c0f
changing what blocks do
...
now they are just collections of trials, rather than having significant
functionality for running the experiment. the running code is now part
of the jsPsych object.
2014-09-18 09:58:21 -04:00
Josh de Leeuw
ba0ac9c6bf
more changes to support chunks
2014-09-17 17:09:37 -04:00
Josh de Leeuw
4a783ea684
more sketching for chunks
2014-09-17 12:00:36 -04:00
Josh de Leeuw
6fc666ec1e
start sketching out chunks
2014-09-17 11:41:54 -04:00
Josh de Leeuw
c19295bd98
add datastore object
2014-09-17 11:34:00 -04:00
Josh de Leeuw
80158e52f2
wake up this branch
2014-09-17 11:24:29 -04:00
Josh de Leeuw
bc00b48ee2
remove genericParameters from plugin specific implementations
2014-09-16 08:54:09 -04:00
Josh de Leeuw
1d5adf787a
streamline generic trial options
2014-09-16 08:40:10 -04:00
Josh de Leeuw
2ed85be15b
add generic trial options support in core
...
related to issue #36 , #68
2014-09-15 10:53:24 -04:00
Josh de Leeuw
9ab6543cb0
starting to handle trial level callbacks
...
however, this will probably not be able to happen until the code for
creating trials is refactored somewhat. it’s difficult to specify trial
parameters without editing each plugin manually. when plugins can have
standardized values, then the other half of this can go in.
2014-09-12 16:41:01 -04:00
Josh de Leeuw
89f4f1535c
remove part parameter in do trial method
...
closes #64
2014-09-12 16:25:56 -04:00
Josh de Leeuw
12118247b1
add progress bar option
...
Can now pass ‘show_progress_bar: true’ to init method to display a
progress bar throughout the experiment.
* default styling has been added to jspsych.css for the progress bar
* bug fixes to jspsych.progress method to support this change (bug was
related to getting progress after experiment had ended)
* improved logic for when on_finish_trial callback function will trigger
2014-09-10 10:15:13 -04:00
Josh de Leeuw
2c33d7603d
add block_index to default data
...
records the index of the current block
2014-09-09 08:32:12 -04:00
Josh de Leeuw
146d1dae20
add time_elapsed to default data
...
records the number of ms since the start of the experiment when a trial ends.
2014-09-09 08:28:52 -04:00
Josh de Leeuw
8db4ea307e
add default data for all trials
...
records default data for all trials:
- trial type
- trial index within the block
- trial index for entire experiment (global index -- related to issue #63 )
2014-09-08 15:22:17 -04:00
Josh de Leeuw
a07f59d323
namespace bug
2014-09-03 14:19:24 -04:00
Josh de Leeuw
26052c22a1
remove append_data
2014-07-10 12:14:05 -04:00
Josh de Leeuw
fdf77c79dd
make json pretty
2014-07-10 12:03:51 -04:00
Josh de Leeuw
fc16067939
add getter method for DOM_target, update module methods
2014-07-10 12:00:56 -04:00
Josh de Leeuw
8d3d9af0db
bug fix flatten_data -> flattenData
2014-07-10 11:49:40 -04:00
Josh de Leeuw
594be10e52
add dataAPI.displayData
2014-07-10 11:45:01 -04:00
Josh de Leeuw
959447be1e
move flatten function
2014-07-04 16:04:36 -04:00
Josh de Leeuw
3e8fb4f780
change header doc
2014-07-01 11:08:48 -04:00
Josh de Leeuw
11f644f6a6
add dataAPI.getTrialsOfType
2014-07-01 11:05:40 -04:00
Josh de Leeuw
107ca90748
a few unrelated bug fixes
2014-06-30 14:19:51 -04:00
Josh de Leeuw
ebd50e7726
replace core with module
2014-06-30 09:47:23 -04:00
Josh de Leeuw
e656894011
move getKeys to the right module
2014-06-30 09:46:32 -04:00
Josh de Leeuw
3b184648fd
missing )
2014-06-30 09:43:47 -04:00
Josh de Leeuw
2befa81411
change $.unbind to $.off
2014-06-30 09:36:33 -04:00
Josh de Leeuw
94446016ae
require key to be released before continuing in getKeyboardResponse
2014-06-30 09:33:12 -04:00
Josh de Leeuw
ef64d1389b
handle undefined params in enforceArray
2014-06-29 10:48:02 -04:00
Josh de Leeuw
6d08b3ce86
add turk module
2014-06-29 09:26:01 -04:00
Josh de Leeuw
133ce33c3b
create dataAPI
2014-06-28 22:10:07 -04:00
Josh de Leeuw
dc4afd50bd
add option to persist a keyboard listener
2014-06-28 10:51:54 -04:00
Josh de Leeuw
119c94ca5b
move keycode
2014-06-27 23:02:10 -04:00
Josh de Leeuw
2d586bbaa6
move functions into pluginAPI module
2014-06-27 23:00:48 -04:00
Josh de Leeuw
5e85c7025b
check to make sure listener exists before removing
2014-06-26 11:48:23 -04:00
Josh de Leeuw
511279df42
add ability to cancel getKeyboardResponse listeners
2014-06-26 11:41:41 -04:00
Josh de Leeuw
0eea72adb1
add factorial method, rename simpleSample to repeat
2014-06-25 13:31:58 -04:00
Josh de Leeuw
f3a514a20b
add randomization module
...
* includes simpleSample method and a few private helper functions
2014-06-25 12:27:03 -04:00
Josh de Leeuw
5880398058
allow key string lookup
2014-06-25 08:58:06 -04:00
Josh de Leeuw
b913c7c9d0
bug fix in getKeyboardResponse
2014-06-24 18:34:44 -04:00
Josh de Leeuw
85ea030ed0
wrong logical operator
2014-06-24 16:59:39 -04:00
Josh de Leeuw
ba64349cb5
Adding getKeyboardResponse method to core
2014-06-24 14:10:16 -04:00