psychopy 2024.2.4__py3-none-any.whl → 2025.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of psychopy might be problematic. Click here for more details.

Files changed (903) hide show
  1. psychopy/CHANGELOG.txt +208 -4
  2. psychopy/LICENSE.txt +1 -1
  3. psychopy/VERSION +1 -1
  4. psychopy/__init__.py +10 -7
  5. psychopy/alerts/__init__.py +1 -1
  6. psychopy/alerts/_alerts.py +53 -17
  7. psychopy/alerts/_errorHandler.py +3 -4
  8. psychopy/alerts/alertsCatalogue/3210.yaml +27 -0
  9. psychopy/alerts/alertsCatalogue/3610.yaml +19 -0
  10. psychopy/alerts/alertsCatalogue/4130.yaml +19 -0
  11. psychopy/alerts/alertsCatalogue/alertCategories.yaml +8 -1
  12. psychopy/alerts/alertsCatalogue/alertmsg.py +1 -1
  13. psychopy/alerts/alerttools.py +0 -16
  14. psychopy/app/Resources/betasplash.png +0 -0
  15. psychopy/app/Resources/betasplash@2x.png +0 -0
  16. psychopy/app/Resources/classic/case.png +0 -0
  17. psychopy/app/Resources/classic/case@2x.png +0 -0
  18. psychopy/app/Resources/classic/fileaudio.png +0 -0
  19. psychopy/app/Resources/classic/fileaudio@2x.png +0 -0
  20. psychopy/app/Resources/classic/filecss.png +0 -0
  21. psychopy/app/Resources/classic/filecss@2x.png +0 -0
  22. psychopy/app/Resources/classic/filecsv.png +0 -0
  23. psychopy/app/Resources/classic/filecsv@2x.png +0 -0
  24. psychopy/app/Resources/classic/filedesign.png +0 -0
  25. psychopy/app/Resources/classic/filedesign@2x.png +0 -0
  26. psychopy/app/Resources/classic/filefont.png +0 -0
  27. psychopy/app/Resources/classic/filefont@2x.png +0 -0
  28. psychopy/app/Resources/classic/filegit.png +0 -0
  29. psychopy/app/Resources/classic/filegit@2x.png +0 -0
  30. psychopy/app/Resources/classic/filehtml.png +0 -0
  31. psychopy/app/Resources/classic/filehtml@2x.png +0 -0
  32. psychopy/app/Resources/classic/fileimage.png +0 -0
  33. psychopy/app/Resources/classic/fileimage@2x.png +0 -0
  34. psychopy/app/Resources/classic/fileinfo.png +0 -0
  35. psychopy/app/Resources/classic/fileinfo@2x.png +0 -0
  36. psychopy/app/Resources/classic/filejs.png +0 -0
  37. psychopy/app/Resources/classic/filejs@2x.png +0 -0
  38. psychopy/app/Resources/classic/filejson.png +0 -0
  39. psychopy/app/Resources/classic/filejson@2x.png +0 -0
  40. psychopy/app/Resources/classic/filepkg.png +0 -0
  41. psychopy/app/Resources/classic/filepkg@2x.png +0 -0
  42. psychopy/app/Resources/classic/filepsyexp.png +0 -0
  43. psychopy/app/Resources/classic/filepsyexp@2x.png +0 -0
  44. psychopy/app/Resources/classic/filepy.png +0 -0
  45. psychopy/app/Resources/classic/filepy@2x.png +0 -0
  46. psychopy/app/Resources/classic/filetxt.png +0 -0
  47. psychopy/app/Resources/classic/filetxt@2x.png +0 -0
  48. psychopy/app/Resources/classic/fileunknown.png +0 -0
  49. psychopy/app/Resources/classic/fileunknown@2x.png +0 -0
  50. psychopy/app/Resources/classic/filevideo.png +0 -0
  51. psychopy/app/Resources/classic/filevideo@2x.png +0 -0
  52. psychopy/app/Resources/classic/find.png +0 -0
  53. psychopy/app/Resources/classic/find@2x.png +0 -0
  54. psychopy/app/Resources/classic/loop.png +0 -0
  55. psychopy/app/Resources/classic/loop@2x.png +0 -0
  56. psychopy/app/Resources/classic/regex.png +0 -0
  57. psychopy/app/Resources/classic/regex@2x.png +0 -0
  58. psychopy/app/Resources/dark/case.png +0 -0
  59. psychopy/app/Resources/dark/case@2x.png +0 -0
  60. psychopy/app/Resources/dark/fileaudio.png +0 -0
  61. psychopy/app/Resources/dark/fileaudio@2x.png +0 -0
  62. psychopy/app/Resources/dark/filecss.png +0 -0
  63. psychopy/app/Resources/dark/filecss@2x.png +0 -0
  64. psychopy/app/Resources/dark/filecsv.png +0 -0
  65. psychopy/app/Resources/dark/filecsv@2x.png +0 -0
  66. psychopy/app/Resources/dark/filedesign.png +0 -0
  67. psychopy/app/Resources/dark/filedesign@2x.png +0 -0
  68. psychopy/app/Resources/dark/filefont.png +0 -0
  69. psychopy/app/Resources/dark/filefont@2x.png +0 -0
  70. psychopy/app/Resources/dark/filegit.png +0 -0
  71. psychopy/app/Resources/dark/filegit@2x.png +0 -0
  72. psychopy/app/Resources/dark/filehtml.png +0 -0
  73. psychopy/app/Resources/dark/filehtml@2x.png +0 -0
  74. psychopy/app/Resources/dark/fileimage.png +0 -0
  75. psychopy/app/Resources/dark/fileimage@2x.png +0 -0
  76. psychopy/app/Resources/dark/fileinfo.png +0 -0
  77. psychopy/app/Resources/dark/fileinfo@2x.png +0 -0
  78. psychopy/app/Resources/dark/filejs.png +0 -0
  79. psychopy/app/Resources/dark/filejs@2x.png +0 -0
  80. psychopy/app/Resources/dark/filejson.png +0 -0
  81. psychopy/app/Resources/dark/filejson@2x.png +0 -0
  82. psychopy/app/Resources/dark/filepkg.png +0 -0
  83. psychopy/app/Resources/dark/filepkg@2x.png +0 -0
  84. psychopy/app/Resources/dark/filepsyexp.png +0 -0
  85. psychopy/app/Resources/dark/filepsyexp@2x.png +0 -0
  86. psychopy/app/Resources/dark/filepy.png +0 -0
  87. psychopy/app/Resources/dark/filepy@2x.png +0 -0
  88. psychopy/app/Resources/dark/filetxt.png +0 -0
  89. psychopy/app/Resources/dark/filetxt@2x.png +0 -0
  90. psychopy/app/Resources/dark/fileunknown.png +0 -0
  91. psychopy/app/Resources/dark/fileunknown@2x.png +0 -0
  92. psychopy/app/Resources/dark/filevideo.png +0 -0
  93. psychopy/app/Resources/dark/filevideo@2x.png +0 -0
  94. psychopy/app/Resources/dark/find.png +0 -0
  95. psychopy/app/Resources/dark/find@2x.png +0 -0
  96. psychopy/app/Resources/dark/loop.png +0 -0
  97. psychopy/app/Resources/dark/loop@2x.png +0 -0
  98. psychopy/app/Resources/dark/regex.png +0 -0
  99. psychopy/app/Resources/dark/regex@2x.png +0 -0
  100. psychopy/app/Resources/light/case.png +0 -0
  101. psychopy/app/Resources/light/case@2x.png +0 -0
  102. psychopy/app/Resources/light/fileaudio.png +0 -0
  103. psychopy/app/Resources/light/fileaudio@2x.png +0 -0
  104. psychopy/app/Resources/light/filecss.png +0 -0
  105. psychopy/app/Resources/light/filecss@2x.png +0 -0
  106. psychopy/app/Resources/light/filecsv.png +0 -0
  107. psychopy/app/Resources/light/filecsv@2x.png +0 -0
  108. psychopy/app/Resources/light/filedesign.png +0 -0
  109. psychopy/app/Resources/light/filedesign@2x.png +0 -0
  110. psychopy/app/Resources/light/filefont.png +0 -0
  111. psychopy/app/Resources/light/filefont@2x.png +0 -0
  112. psychopy/app/Resources/light/filegit.png +0 -0
  113. psychopy/app/Resources/light/filegit@2x.png +0 -0
  114. psychopy/app/Resources/light/filehtml.png +0 -0
  115. psychopy/app/Resources/light/filehtml@2x.png +0 -0
  116. psychopy/app/Resources/light/fileimage.png +0 -0
  117. psychopy/app/Resources/light/fileimage@2x.png +0 -0
  118. psychopy/app/Resources/light/fileinfo.png +0 -0
  119. psychopy/app/Resources/light/fileinfo@2x.png +0 -0
  120. psychopy/app/Resources/light/filejs.png +0 -0
  121. psychopy/app/Resources/light/filejs@2x.png +0 -0
  122. psychopy/app/Resources/light/filejson.png +0 -0
  123. psychopy/app/Resources/light/filejson@2x.png +0 -0
  124. psychopy/app/Resources/light/filepkg.png +0 -0
  125. psychopy/app/Resources/light/filepkg@2x.png +0 -0
  126. psychopy/app/Resources/light/filepsyexp.png +0 -0
  127. psychopy/app/Resources/light/filepsyexp@2x.png +0 -0
  128. psychopy/app/Resources/light/filepy.png +0 -0
  129. psychopy/app/Resources/light/filepy@2x.png +0 -0
  130. psychopy/app/Resources/light/filetxt.png +0 -0
  131. psychopy/app/Resources/light/filetxt@2x.png +0 -0
  132. psychopy/app/Resources/light/fileunknown.png +0 -0
  133. psychopy/app/Resources/light/fileunknown@2x.png +0 -0
  134. psychopy/app/Resources/light/filevideo.png +0 -0
  135. psychopy/app/Resources/light/filevideo@2x.png +0 -0
  136. psychopy/app/Resources/light/find.png +0 -0
  137. psychopy/app/Resources/light/find@2x.png +0 -0
  138. psychopy/app/Resources/light/loop.png +0 -0
  139. psychopy/app/Resources/light/loop@2x.png +0 -0
  140. psychopy/app/Resources/light/regex.png +0 -0
  141. psychopy/app/Resources/light/regex@2x.png +0 -0
  142. psychopy/app/Resources/routine_templates/Basic.psyexp +0 -1
  143. psychopy/app/Resources/routine_templates/Misc.psyexp +0 -1
  144. psychopy/app/Resources/routine_templates/Online.psyexp +0 -2
  145. psychopy/app/Resources/routine_templates/Trials.psyexp +0 -1
  146. psychopy/app/Resources/splash.png +0 -0
  147. psychopy/app/Resources/splash@2x.png +0 -0
  148. psychopy/app/__init__.py +49 -8
  149. psychopy/app/__main__.py +3 -0
  150. psychopy/app/_psychopyApp.py +134 -125
  151. psychopy/app/builder/builder.py +42 -22
  152. psychopy/app/builder/dialogs/__init__.py +44 -11
  153. psychopy/app/builder/dialogs/dlgsCode.py +1 -1
  154. psychopy/app/builder/dialogs/dlgsConditions.py +1 -1
  155. psychopy/app/builder/dialogs/findDlg.py +106 -20
  156. psychopy/app/builder/dialogs/paramCtrls.py +42 -1
  157. psychopy/app/builder/validators.py +1 -1
  158. psychopy/app/coder/codeEditorBase.py +8 -8
  159. psychopy/app/coder/coder.py +32 -29
  160. psychopy/app/coder/fileBrowser.py +68 -22
  161. psychopy/app/coder/folding.py +1 -1
  162. psychopy/app/coder/psychoParser.py +1 -1
  163. psychopy/app/coder/repl.py +1 -1
  164. psychopy/app/coder/sourceTree.py +1 -1
  165. psychopy/app/connections/__init__.py +1 -1
  166. psychopy/app/connections/news.py +1 -1
  167. psychopy/app/connections/sendusage.py +1 -1
  168. psychopy/app/connections/updates.py +1 -1
  169. psychopy/app/console.py +1 -1
  170. psychopy/app/errorDlg.py +1 -1
  171. psychopy/app/frametracker.py +1 -1
  172. psychopy/app/idle.py +1 -1
  173. psychopy/app/jobs.py +5 -2
  174. psychopy/app/linuxconfig/__init__.py +1 -1
  175. psychopy/app/locale/ar_001/LC_MESSAGE/messages.mo +0 -0
  176. psychopy/app/locale/ar_001/LC_MESSAGE/messages.po +1514 -3259
  177. psychopy/app/locale/cs_CZ/LC_MESSAGE/messages.mo +0 -0
  178. psychopy/app/locale/da_DK/LC_MESSAGE/messages.mo +0 -0
  179. psychopy/app/locale/de_DE/LC_MESSAGE/messages.mo +0 -0
  180. psychopy/app/locale/de_DE/LC_MESSAGE/messages.po +3 -3
  181. psychopy/app/locale/el_GR/LC_MESSAGE/messages.mo +0 -0
  182. psychopy/app/locale/en_NZ/LC_MESSAGE/messages.mo +0 -0
  183. psychopy/app/locale/en_US/LC_MESSAGE/messages.mo +0 -0
  184. psychopy/app/locale/es_CO/LC_MESSAGE/messages.mo +0 -0
  185. psychopy/app/locale/es_CO/LC_MESSAGE/messages.po +4 -4
  186. psychopy/app/locale/es_ES/LC_MESSAGE/messages.mo +0 -0
  187. psychopy/app/locale/es_ES/LC_MESSAGE/messages.po +4 -4
  188. psychopy/app/locale/es_US/LC_MESSAGE/messages.mo +0 -0
  189. psychopy/app/locale/es_US/LC_MESSAGE/messages.po +4 -4
  190. psychopy/app/locale/et_EE/LC_MESSAGE/messages.mo +0 -0
  191. psychopy/app/locale/et_EE/LC_MESSAGE/messages.po +2 -2
  192. psychopy/app/locale/fa_IR/LC_MESSAGE/messages.mo +0 -0
  193. psychopy/app/locale/fa_IR/LC_MESSAGE/messages.po +1 -1
  194. psychopy/app/locale/fi_FI/LC_MESSAGE/messages.mo +0 -0
  195. psychopy/app/locale/fr_FR/LC_MESSAGE/messages.mo +0 -0
  196. psychopy/app/locale/fr_FR/LC_MESSAGE/messages.po +2 -2
  197. psychopy/app/locale/he_IL/LC_MESSAGE/messages.mo +0 -0
  198. psychopy/app/locale/he_IL/LC_MESSAGE/messages.po +2 -2
  199. psychopy/app/locale/hi_IN/LC_MESSAGE/messages.mo +0 -0
  200. psychopy/app/locale/hi_IN/LC_MESSAGE/messages.po +2 -2
  201. psychopy/app/locale/hu_HU/LC_MESSAGE/messages.mo +0 -0
  202. psychopy/app/locale/it_IT/LC_MESSAGE/messages.mo +0 -0
  203. psychopy/app/locale/it_IT/LC_MESSAGE/messages.po +2 -2
  204. psychopy/app/locale/ja_JP/LC_MESSAGE/messages.mo +0 -0
  205. psychopy/app/locale/ja_JP/LC_MESSAGE/messages.po +3421 -2396
  206. psychopy/app/locale/ko_KR/LC_MESSAGE/messages.mo +0 -0
  207. psychopy/app/locale/ms_MY/LC_MESSAGE/messages.mo +0 -0
  208. psychopy/app/locale/ms_MY/LC_MESSAGE/messages.po +2 -2
  209. psychopy/app/locale/nl_NL/LC_MESSAGE/messages.mo +0 -0
  210. psychopy/app/locale/nn_NO/LC_MESSAGE/messages.mo +0 -0
  211. psychopy/app/locale/pl_PL/LC_MESSAGE/messages.mo +0 -0
  212. psychopy/app/locale/pt_PT/LC_MESSAGE/messages.mo +0 -0
  213. psychopy/app/locale/pt_PT/LC_MESSAGE/messages.po +4 -4
  214. psychopy/app/locale/ro_RO/LC_MESSAGE/messages.mo +0 -0
  215. psychopy/app/locale/ru_RU/LC_MESSAGE/messages.mo +0 -0
  216. psychopy/app/locale/sv_SE/LC_MESSAGE/messages.mo +0 -0
  217. psychopy/app/locale/sv_SE/LC_MESSAGE/messages.po +2 -2
  218. psychopy/app/locale/tr_TR/LC_MESSAGE/messages.mo +0 -0
  219. psychopy/app/locale/tr_TR/LC_MESSAGE/messages.po +2 -2
  220. psychopy/app/locale/zh_CN/LC_MESSAGE/messages.mo +0 -0
  221. psychopy/app/locale/zh_CN/LC_MESSAGE/messages.po +3 -3
  222. psychopy/app/locale/zh_TW/LC_MESSAGE/messages.mo +0 -0
  223. psychopy/app/locale/zh_TW/LC_MESSAGE/messages.po +2 -2
  224. psychopy/app/{builder/localizedStrings.py → localizedStrings.py} +173 -26
  225. psychopy/app/pavlovia_ui/__init__.py +1 -1
  226. psychopy/app/pavlovia_ui/_base.py +1 -1
  227. psychopy/app/pavlovia_ui/functions.py +1 -1
  228. psychopy/app/pavlovia_ui/menu.py +1 -1
  229. psychopy/app/pavlovia_ui/project.py +1 -1
  230. psychopy/app/pavlovia_ui/search.py +1 -1
  231. psychopy/app/pavlovia_ui/sync.py +1 -1
  232. psychopy/app/pavlovia_ui/user.py +1 -1
  233. psychopy/app/plugin_manager/dialog.py +34 -96
  234. psychopy/app/plugin_manager/packages.py +10 -14
  235. psychopy/app/plugin_manager/plugins.py +64 -4
  236. psychopy/app/preferencesDlg.py +12 -37
  237. psychopy/app/psychopyApp.py +130 -44
  238. psychopy/app/ribbon.py +1 -0
  239. psychopy/app/runner/runner.py +37 -15
  240. psychopy/app/runner/scriptProcess.py +11 -6
  241. psychopy/app/stdout/stdOutRich.py +9 -2
  242. psychopy/app/themes/fonts.py +1 -1
  243. psychopy/app/themes/icons.py +2 -38
  244. psychopy/app/ui/__init__.py +1 -1
  245. psychopy/app/utils.py +3 -3
  246. psychopy/assets/default.mp3 +0 -0
  247. psychopy/assets/fonts/NotoSans-Bold.ttf +0 -0
  248. psychopy/assets/fonts/NotoSans-BoldItalic.ttf +0 -0
  249. psychopy/assets/fonts/NotoSans-Italic.ttf +0 -0
  250. psychopy/assets/fonts/NotoSans-Regular.ttf +0 -0
  251. psychopy/assets/voicekeyThresholdStim.wav +0 -0
  252. psychopy/clock.py +4 -1
  253. psychopy/colors.py +2 -0
  254. psychopy/core.py +1 -1
  255. psychopy/data/base.py +1 -1
  256. psychopy/data/experiment.py +151 -46
  257. psychopy/data/routine.py +27 -1
  258. psychopy/data/staircase.py +2 -1
  259. psychopy/data/trial.py +62 -14
  260. psychopy/data/utils.py +1 -1
  261. psychopy/demos/builder/Design Templates/branchedExperiment/branchedExperiment.psyexp +333 -218
  262. psychopy/demos/builder/Design Templates/psychophysicsStaircase/psychophysicsStaircase.psyexp +261 -239
  263. psychopy/demos/builder/Design Templates/psychophysicsStairsInterleaved/psychophysicsStaircaseInterleaved.psyexp +319 -180
  264. psychopy/demos/builder/Design Templates/randomisedBlocks/randomisedBlocks.psyexp +204 -116
  265. psychopy/demos/builder/Experiments/BART/assets/background.jpg +0 -0
  266. psychopy/demos/builder/Experiments/BART/assets/blueBalloon.png +0 -0
  267. psychopy/demos/builder/Experiments/BART/assets/greenBalloon.png +0 -0
  268. psychopy/demos/builder/Experiments/BART/assets/redBalloon.png +0 -0
  269. psychopy/demos/builder/Experiments/BART/bart.psyexp +779 -866
  270. psychopy/demos/builder/Experiments/BigFiveInventory/BFI.psyexp +242 -180
  271. psychopy/demos/builder/Experiments/GoNoGo/gng.psyexp +419 -406
  272. psychopy/demos/builder/Experiments/dragAndDrop/README.md +2 -37
  273. psychopy/demos/builder/Experiments/dragAndDrop/drag_and_drop.psyexp +460 -1204
  274. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/blank_grid.png +0 -0
  275. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/make_shapes.psyexp +221 -0
  276. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/readme.md +4 -0
  277. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_1.png +0 -0
  278. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_10.png +0 -0
  279. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_2.png +0 -0
  280. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_3.png +0 -0
  281. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_4.png +0 -0
  282. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_5.png +0 -0
  283. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_6.png +0 -0
  284. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_7.png +0 -0
  285. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_8.png +0 -0
  286. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_9.png +0 -0
  287. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solutions.xlsx +0 -0
  288. psychopy/demos/builder/Experiments/mentalRotation/MentalRotation.psyexp +583 -542
  289. psychopy/demos/builder/Experiments/navon/NavonTask.psyexp +458 -427
  290. psychopy/demos/builder/Experiments/sternberg/sternberg.psyexp +588 -550
  291. psychopy/demos/builder/Experiments/stroop/stroop.psyexp +303 -207
  292. psychopy/demos/builder/Experiments/stroopExtended/stroop.psyexp +390 -215
  293. psychopy/demos/builder/Experiments/stroopExtended/stroopReverse.psyexp +390 -215
  294. psychopy/demos/builder/Experiments/stroopVoice/stroopVoice.psyexp +357 -331
  295. psychopy/demos/builder/Feature Demos/buttonBox/buttonBoxDemo.psyexp +3 -2
  296. psychopy/demos/builder/Feature Demos/counterbalance/counterbalance.psyexp +287 -277
  297. psychopy/demos/builder/Feature Demos/gratings/gratings.psyexp +370 -320
  298. psychopy/demos/builder/Feature Demos/noise/noise.psyexp +452 -399
  299. psychopy/demos/builder/Feature Demos/panorama/panorama.psyexp +168 -133
  300. psychopy/demos/builder/Feature Demos/pilotMode/pilotMode.psyexp +4 -3
  301. psychopy/demos/builder/Feature Demos/progress/progressBar.psyexp +420 -392
  302. psychopy/demos/builder/Feature Demos/sliders/sliders.psyexp +917 -871
  303. psychopy/demos/builder/Feature Demos/visualValidator/readme.md +7 -0
  304. psychopy/demos/builder/Feature Demos/visualValidator/visualValidator.psyexp +200 -0
  305. psychopy/demos/builder/Hardware/EEG_parallel_component/EEG_triggers_parallel_comp.psyexp +25 -9
  306. psychopy/demos/builder/Hardware/EEG_serial_code/EEG_triggers_serial_code.psyexp +372 -361
  307. psychopy/demos/builder/Hardware/EEG_serial_component/EEG_triggers_serial_comp.psyexp +25 -9
  308. psychopy/demos/builder/Hardware/EGI_netstation/stroop.psyexp +320 -235
  309. psychopy/demos/builder/Hardware/Eyetracking_visual_search/visualSearch.psyexp +790 -651
  310. psychopy/demos/builder/Hardware/camera/camera.psyexp +326 -246
  311. psychopy/demos/builder/Hardware/eyetracking/eyetracking.psyexp +432 -327
  312. psychopy/demos/builder/Hardware/eyetracking_custom_cal/eyetracking_custom_cal.psyexp +440 -321
  313. psychopy/demos/builder/Hardware/fMRI/fMRI_demo.psyexp +190 -181
  314. psychopy/demos/builder/Hardware/lab_streaming_layer/lsl_triggers_demo.psyexp +323 -312
  315. psychopy/demos/builder/Hardware/lab_streaming_layer/lsl_triggers_demo_legacy.psyexp +360 -0
  316. psychopy/demos/builder/{Feature Demos/eyetracking/eyetracking.xml → Hardware/lab_streaming_layer/lsl_triggers_demo_legacy_legacy.psyexp} +154 -140
  317. psychopy/demos/builder/Hardware/lab_streaming_layer_legacy/lsl_triggers_demo_legacy.psyexp +329 -273
  318. psychopy/demos/builder/Hardware/lab_streaming_layer_legacy/lsl_triggers_demo_legacy_legacy.psyexp +360 -0
  319. psychopy/demos/builder/Hardware/lab_streaming_layer_legacy/lsl_triggers_demo_legacy_legacy_legacy.psyexp +312 -0
  320. psychopy/demos/builder/Hardware/microphone/microphone.psyexp +450 -404
  321. psychopy/demos/builder/Hardware/pump/pump.psyexp +593 -329
  322. psychopy/demos/builder/Helper Tools/achorVSalignment/FlowCircular-Regular.ttf +0 -0
  323. psychopy/demos/builder/Helper Tools/achorVSalignment/anchorAlignment.psyexp +336 -274
  324. psychopy/demos/builder/Helper Tools/clockFace/clockFace.psyexp +200 -149
  325. psychopy/demos/builder/Helper Tools/colors/colors.psyexp +300 -279
  326. psychopy/demos/builder/Helper Tools/drawPolygon/drawPolygon.psyexp +677 -564
  327. psychopy/demos/builder/Helper Tools/keyNameFinder/keyNameFinder.psyexp +214 -158
  328. psychopy/demos/builder/Helper Tools/spatialUnits/unitDemo.psyexp +195 -146
  329. psychopy/demos/coder/experiment control/runtimeInfo.py +1 -1
  330. psychopy/devices/__init__.py +1 -1
  331. psychopy/event.py +1 -1
  332. psychopy/exceptions.py +1 -1
  333. psychopy/experiment/__init__.py +1 -1
  334. psychopy/experiment/_experiment.py +62 -16
  335. psychopy/experiment/components/__init__.py +1 -6
  336. psychopy/experiment/components/_base.py +44 -19
  337. psychopy/experiment/components/aperture/__init__.py +1 -1
  338. psychopy/experiment/components/brush/__init__.py +2 -2
  339. psychopy/experiment/components/button/__init__.py +24 -28
  340. psychopy/experiment/components/camera/__init__.py +38 -39
  341. psychopy/experiment/components/code/__init__.py +1 -1
  342. psychopy/experiment/components/dots/__init__.py +1 -1
  343. psychopy/experiment/components/eyetracker_record/__init__.py +7 -3
  344. psychopy/experiment/components/form/__init__.py +3 -3
  345. psychopy/experiment/components/grating/__init__.py +1 -1
  346. psychopy/experiment/components/image/__init__.py +1 -1
  347. psychopy/experiment/components/joyButtons/__init__.py +2 -2
  348. psychopy/experiment/components/joyButtons/virtualJoyButtons.py +1 -1
  349. psychopy/experiment/components/joystick/__init__.py +3 -3
  350. psychopy/experiment/components/joystick/virtualJoystick.py +1 -1
  351. psychopy/experiment/components/keyboard/__init__.py +98 -122
  352. psychopy/experiment/components/microphone/__init__.py +54 -98
  353. psychopy/experiment/components/mouse/__init__.py +92 -93
  354. psychopy/experiment/components/movie/__init__.py +28 -50
  355. psychopy/experiment/components/parallelOut/__init__.py +3 -3
  356. psychopy/experiment/components/polygon/__init__.py +2 -3
  357. psychopy/experiment/components/roi/__init__.py +2 -2
  358. psychopy/experiment/components/routineSettings/__init__.py +2 -0
  359. psychopy/experiment/components/serialOut/__init__.py +7 -7
  360. psychopy/experiment/components/settings/__init__.py +317 -313
  361. psychopy/experiment/components/settings/eyetracking.py +108 -0
  362. psychopy/experiment/components/slider/__init__.py +5 -5
  363. psychopy/experiment/components/sound/__init__.py +168 -78
  364. psychopy/experiment/components/soundsensor/__init__.py +361 -0
  365. psychopy/experiment/components/soundsensor/classic/soundsensor.png +0 -0
  366. psychopy/experiment/components/soundsensor/classic/soundsensor@2x.png +0 -0
  367. psychopy/experiment/components/soundsensor/dark/soundsensor.png +0 -0
  368. psychopy/experiment/components/soundsensor/dark/soundsensor@2x.png +0 -0
  369. psychopy/experiment/components/soundsensor/light/soundsensor.png +0 -0
  370. psychopy/experiment/components/soundsensor/light/soundsensor@2x.png +0 -0
  371. psychopy/experiment/components/static/__init__.py +59 -33
  372. psychopy/experiment/components/text/__init__.py +2 -6
  373. psychopy/experiment/components/textbox/__init__.py +3 -7
  374. psychopy/experiment/components/unknown/__init__.py +2 -0
  375. psychopy/experiment/components/unknownPlugin/__init__.py +2 -0
  376. psychopy/experiment/exports.py +1 -1
  377. psychopy/experiment/flow.py +2 -2
  378. psychopy/experiment/localization.py +1 -1
  379. psychopy/experiment/loops.py +43 -10
  380. psychopy/experiment/params.py +6 -4
  381. psychopy/experiment/plugins.py +8 -1
  382. psychopy/experiment/py2js.py +1 -1
  383. psychopy/experiment/py2js_transpiler.py +1 -1
  384. psychopy/experiment/routines/__init__.py +1 -1
  385. psychopy/experiment/routines/_base.py +23 -24
  386. psychopy/experiment/routines/audioValidator/__init__.py +343 -0
  387. psychopy/experiment/routines/audioValidator/classic/audio_validator.png +0 -0
  388. psychopy/experiment/routines/audioValidator/classic/audio_validator@2x.png +0 -0
  389. psychopy/experiment/routines/audioValidator/dark/audio_validator.png +0 -0
  390. psychopy/experiment/routines/audioValidator/dark/audio_validator@2x.png +0 -0
  391. psychopy/experiment/routines/audioValidator/light/audio_validator.png +0 -0
  392. psychopy/experiment/routines/audioValidator/light/audio_validator@2x.png +0 -0
  393. psychopy/experiment/routines/eyetracker_calibrate/__init__.py +76 -17
  394. psychopy/experiment/routines/eyetracker_validate/__init__.py +1 -1
  395. psychopy/experiment/routines/unknown/__init__.py +2 -0
  396. psychopy/experiment/routines/{photodiodeValidator → visualValidator}/__init__.py +89 -120
  397. psychopy/experiment/routines/visualValidator/classic/visual_validator.png +0 -0
  398. psychopy/experiment/routines/visualValidator/classic/visual_validator@2x.png +0 -0
  399. psychopy/experiment/routines/visualValidator/dark/visual_validator.png +0 -0
  400. psychopy/experiment/routines/visualValidator/dark/visual_validator@2x.png +0 -0
  401. psychopy/experiment/routines/visualValidator/light/visual_validator.png +0 -0
  402. psychopy/experiment/routines/visualValidator/light/visual_validator@2x.png +0 -0
  403. psychopy/experiment/utils.py +1 -1
  404. psychopy/gui/__init__.py +1 -1
  405. psychopy/gui/qtgui.py +15 -6
  406. psychopy/gui/wxgui.py +1 -1
  407. psychopy/hardware/__init__.py +0 -1
  408. psychopy/hardware/base.py +147 -16
  409. psychopy/hardware/bbtk/__init__.py +10 -16
  410. psychopy/hardware/brainproducts.py +7 -13
  411. psychopy/hardware/button.py +21 -2
  412. psychopy/hardware/buttonbox/__init__.py +1 -1
  413. psychopy/hardware/camera/__init__.py +16 -3
  414. psychopy/hardware/cedrus.py +5 -16
  415. psychopy/hardware/crs/__init__.py +1 -1
  416. psychopy/hardware/crs/bits.py +36 -33
  417. psychopy/hardware/crs/colorcal.py +8 -11
  418. psychopy/hardware/crs/optical.py +7 -10
  419. psychopy/hardware/crs/shaders.py +18 -5
  420. psychopy/hardware/emotiv.py +1 -1
  421. psychopy/hardware/emulator.py +11 -5
  422. psychopy/hardware/exceptions.py +86 -0
  423. psychopy/hardware/forp.py +18 -23
  424. psychopy/hardware/gammasci.py +8 -3
  425. psychopy/hardware/iolab.py +8 -19
  426. psychopy/hardware/joystick/__init__.py +865 -266
  427. psychopy/hardware/joystick/_base.py +251 -0
  428. psychopy/hardware/joystick/backend_glfw.py +306 -0
  429. psychopy/hardware/joystick/backend_pyglet.py +309 -0
  430. psychopy/hardware/joystick/mappings.py +287 -0
  431. psychopy/hardware/keyboard.py +4 -2
  432. psychopy/hardware/labhackers.py +1 -1
  433. psychopy/hardware/labjacks.py +9 -13
  434. psychopy/hardware/{photodiode.py → lightsensor.py} +146 -203
  435. psychopy/hardware/listener.py +9 -8
  436. psychopy/hardware/manager.py +24 -35
  437. psychopy/hardware/microphone.py +534 -154
  438. psychopy/hardware/minolta.py +14 -4
  439. psychopy/hardware/mouse/__init__.py +1 -1
  440. psychopy/hardware/photometer/__init__.py +2 -2
  441. psychopy/hardware/pr.py +14 -4
  442. psychopy/hardware/qmix.py +18 -27
  443. psychopy/hardware/serialdevice.py +43 -12
  444. psychopy/hardware/soundsensor.py +473 -0
  445. psychopy/hardware/spatial/__init__.py +231 -0
  446. psychopy/hardware/speaker.py +298 -36
  447. psychopy/hardware/triggerbox/__init__.py +1 -1
  448. psychopy/hardware/triggerbox/base.py +1 -1
  449. psychopy/hardware/triggerbox/parallel.py +1 -1
  450. psychopy/info.py +1 -1
  451. psychopy/iohub/client/__init__.py +17 -0
  452. psychopy/iohub/client/keyboard.py +5 -0
  453. psychopy/iohub/devices/eyetracker/__init__.py +10 -18
  454. psychopy/iohub/devices/eyetracker/calibration/procedure.py +15 -33
  455. psychopy/iohub/devices/eyetracker/hw/pupil_labs/neon/__init__.py +1 -0
  456. psychopy/iohub/devices/mouse/linux2.py +6 -1
  457. psychopy/iohub/devices/mouse/win32.py +5 -0
  458. psychopy/layout.py +1 -1
  459. psychopy/liaison.py +91 -39
  460. psychopy/locale_setup.py +11 -1
  461. psychopy/localization/__init__.py +1 -1
  462. psychopy/localization/_localization.py +1 -1
  463. psychopy/localization/messages.pot +2 -2
  464. psychopy/logging.py +14 -12
  465. psychopy/microphone.py +4 -3
  466. psychopy/misc.py +1 -1
  467. psychopy/monitors/MonitorCenter.py +3 -3
  468. psychopy/monitors/__init__.py +1 -1
  469. psychopy/monitors/calibData.py +1 -1
  470. psychopy/monitors/calibTools.py +3 -2
  471. psychopy/platform_specific/__init__.py +1 -1
  472. psychopy/platform_specific/darwin.py +1 -1
  473. psychopy/platform_specific/linux.py +1 -1
  474. psychopy/platform_specific/win32.py +1 -1
  475. psychopy/plugins/__init__.py +26 -17
  476. psychopy/plugins/util.py +65 -0
  477. psychopy/preferences/Darwin.spec +11 -3
  478. psychopy/preferences/FreeBSD.spec +11 -3
  479. psychopy/preferences/Linux.spec +11 -3
  480. psychopy/preferences/Windows.spec +11 -3
  481. psychopy/preferences/__init__.py +1 -1
  482. psychopy/preferences/baseNoArch.spec +11 -3
  483. psychopy/preferences/hints.py +78 -61
  484. psychopy/preferences/preferences.py +82 -13
  485. psychopy/projects/__init__.py +1 -1
  486. psychopy/projects/pavlovia.py +29 -13
  487. psychopy/scripts/psyexpCompile.py +1 -1
  488. psychopy/session.py +81 -8
  489. psychopy/sound/__init__.py +25 -10
  490. psychopy/sound/_base.py +134 -34
  491. psychopy/sound/audioclip.py +38 -15
  492. psychopy/sound/audiodevice.py +1 -1
  493. psychopy/sound/backend_ptb.py +53 -321
  494. psychopy/sound/backend_pygame.py +7 -3
  495. psychopy/sound/backend_pyo.py +53 -22
  496. psychopy/sound/backend_pysound.py +10 -27
  497. psychopy/sound/backend_sounddevice.py +33 -21
  498. psychopy/sound/exceptions.py +1 -1
  499. psychopy/sound/microphone.py +83 -5
  500. psychopy/sound/transcribe.py +3 -3
  501. psychopy/tests/data/test_basic_run.py +1 -0
  502. psychopy/tests/data/test_loaded_namespace/test_counterbalance.psyexp +142 -0
  503. psychopy/tests/data/test_loaded_namespace/test_custom_missing.psyexp +129 -0
  504. psychopy/tests/data/test_loaded_namespace/test_missing_counterbalance.psyexp +116 -0
  505. psychopy/tests/data/test_loaded_namespace/test_mix_exp.psyexp +181 -0
  506. psychopy/tests/data/test_loaded_namespace/test_mix_missing.psyexp +140 -0
  507. psychopy/tests/data/test_loaded_namespace/test_mix_name_calibration.psyexp +164 -0
  508. psychopy/tests/data/test_sounds/default_16000.wav +0 -0
  509. psychopy/tests/data/test_sounds/default_192000.wav +0 -0
  510. psychopy/tests/data/test_sounds/default_22050.wav +0 -0
  511. psychopy/tests/data/test_sounds/default_32000.wav +0 -0
  512. psychopy/tests/data/test_sounds/default_44100.wav +0 -0
  513. psychopy/tests/data/test_sounds/default_48000.wav +0 -0
  514. psychopy/tests/data/test_sounds/default_8000.wav +0 -0
  515. psychopy/tests/data/test_sounds/default_96000.wav +0 -0
  516. psychopy/tests/test_alerts/test_alerttools.py +2 -1
  517. psychopy/tests/test_app/test_command_line.py +65 -0
  518. psychopy/tests/test_data/test_TrialHandler2.py +18 -7
  519. psychopy/tests/test_demos/test_builder_demos.py +1 -1
  520. psychopy/tests/test_experiment/needs_wx/componsTemplate.txt +5238 -4188
  521. psychopy/tests/test_experiment/needs_wx/test_components.py +1 -1
  522. psychopy/tests/test_experiment/test_components/test_RoutineSettingsComponent.py +16 -0
  523. psychopy/tests/test_experiment/test_components/test_all_components.py +1 -1
  524. psychopy/tests/test_experiment/test_components/test_base_components.py +26 -17
  525. psychopy/tests/test_experiment/test_experiment.py +96 -0
  526. psychopy/tests/test_experiment/test_loops.py +12 -4
  527. psychopy/tests/test_experiment/test_params.py +17 -4
  528. psychopy/tests/test_experiment/test_routines/test_PhotodiodeValidationRoutine.py +2 -2
  529. psychopy/tests/test_hardware/test_photodiode.py +66 -0
  530. psychopy/tests/test_liaison/test_Liaison.py +4 -4
  531. psychopy/tests/test_misc/test_clock.py +2 -0
  532. psychopy/tests/test_misc/test_color.py +2 -0
  533. psychopy/tests/test_misc/test_event.py +1 -0
  534. psychopy/tests/test_plugins/test_plugin_stubs.py +125 -0
  535. psychopy/tests/test_sound/test_sound.py +111 -40
  536. psychopy/tests/test_tools/test_colorspacetools.py +24 -23
  537. psychopy/tests/test_tools/test_mathtools.py +9 -9
  538. psychopy/tests/test_tools/test_viewtools.py +101 -0
  539. psychopy/tests/test_validators/__init__.py +0 -0
  540. psychopy/tests/test_validators/test_voicekeyValidator.py +95 -0
  541. psychopy/tests/test_visual/test_all_stimuli.py +2 -2
  542. psychopy/tests/test_visual/test_basevisual.py +37 -7
  543. psychopy/tests/test_visual/test_button.py +2 -2
  544. psychopy/tests/test_visual/test_circle.py +10 -2
  545. psychopy/tests/test_visual/test_dots.py +1 -1
  546. psychopy/tests/test_visual/test_form.py +13 -13
  547. psychopy/tests/test_visual/test_gamma.py +3 -3
  548. psychopy/tests/test_visual/test_image.py +2 -2
  549. psychopy/tests/test_visual/test_progress.py +2 -2
  550. psychopy/tests/test_visual/test_roi.py +8 -2
  551. psychopy/tests/test_visual/test_shape.py +2 -2
  552. psychopy/tests/test_visual/test_slider.py +2 -2
  553. psychopy/tests/test_visual/test_target.py +2 -2
  554. psychopy/tests/test_visual/test_textbox.py +6 -8
  555. psychopy/tests/test_visual/test_winScalePos.py +6 -5
  556. psychopy/tests/test_visual/test_window.py +17 -0
  557. psychopy/tests/utils.py +51 -1
  558. psychopy/tools/__init__.py +1 -1
  559. psychopy/tools/arraytools.py +2 -2
  560. psychopy/tools/attributetools.py +52 -1
  561. psychopy/tools/audiotools.py +4 -1
  562. psychopy/tools/colorspacetools.py +6 -4
  563. psychopy/tools/coordinatetools.py +1 -1
  564. psychopy/tools/fileerrortools.py +21 -9
  565. psychopy/tools/filetools.py +2 -2
  566. psychopy/tools/fontmanager.py +47 -28
  567. psychopy/tools/gltools.py +2964 -558
  568. psychopy/tools/imagetools.py +1 -1
  569. psychopy/tools/mathtools.py +997 -127
  570. psychopy/tools/monitorunittools.py +7 -1
  571. psychopy/tools/movietools.py +1 -2
  572. psychopy/tools/pkgtools.py +157 -127
  573. psychopy/tools/plottools.py +1 -1
  574. psychopy/tools/rifttools.py +1 -1
  575. psychopy/tools/stereotools.py +1 -1
  576. psychopy/tools/stimulustools.py +172 -2
  577. psychopy/tools/stringtools.py +22 -2
  578. psychopy/tools/systemtools.py +1 -1
  579. psychopy/tools/typetools.py +1 -1
  580. psychopy/tools/unittools.py +1 -1
  581. psychopy/tools/versionchooser.py +3 -1
  582. psychopy/tools/viewtools.py +54 -70
  583. psychopy/tools/wizard.py +2 -2
  584. psychopy/validation/__init__.py +6 -0
  585. psychopy/validation/audio.py +74 -0
  586. psychopy/validation/visual.py +115 -0
  587. psychopy/visual/__init__.py +1 -4
  588. psychopy/visual/aperture.py +9 -6
  589. psychopy/visual/backends/__init__.py +1 -1
  590. psychopy/visual/backends/_base.py +1 -1
  591. psychopy/visual/backends/gamma.py +1 -1
  592. psychopy/visual/backends/glfwbackend.py +8 -12
  593. psychopy/visual/backends/pygamebackend.py +1 -1
  594. psychopy/visual/backends/pygletbackend.py +32 -11
  595. psychopy/visual/basevisual.py +93 -13
  596. psychopy/visual/brush.py +1 -1
  597. psychopy/visual/bufferimage.py +90 -10
  598. psychopy/visual/button.py +1 -1
  599. psychopy/visual/circle.py +12 -20
  600. psychopy/visual/custommouse.py +1 -1
  601. psychopy/visual/dot.py +80 -14
  602. psychopy/visual/elementarray.py +84 -10
  603. psychopy/visual/filters.py +1 -1
  604. psychopy/visual/form.py +43 -28
  605. psychopy/visual/grating.py +105 -25
  606. psychopy/visual/helpers.py +1 -1
  607. psychopy/visual/image.py +98 -20
  608. psychopy/visual/line.py +15 -25
  609. psychopy/visual/movie.py +1 -1
  610. psychopy/visual/movie2.py +4 -3
  611. psychopy/visual/movie3.py +4 -3
  612. psychopy/visual/movies/__init__.py +1 -1
  613. psychopy/visual/movies/frame.py +1 -1
  614. psychopy/visual/movies/metadata.py +1 -1
  615. psychopy/visual/movies/players/__init__.py +1 -1
  616. psychopy/visual/movies/players/_base.py +1 -1
  617. psychopy/visual/movies/players/ffpyplayer_player.py +2 -3
  618. psychopy/visual/nnlvs.py +9 -6
  619. psychopy/visual/noise.py +4 -16
  620. psychopy/visual/patch.py +4 -3
  621. psychopy/visual/pie.py +3 -14
  622. psychopy/visual/polygon.py +21 -28
  623. psychopy/visual/radial.py +4 -18
  624. psychopy/visual/ratingscale.py +4 -3
  625. psychopy/visual/rect.py +16 -25
  626. psychopy/visual/rift.py +8 -2
  627. psychopy/visual/secondorder.py +4 -16
  628. psychopy/visual/shaders.py +620 -286
  629. psychopy/visual/shape.py +281 -90
  630. psychopy/visual/simpleimage.py +1 -1
  631. psychopy/visual/slider.py +78 -25
  632. psychopy/visual/stim3d.py +5 -608
  633. psychopy/visual/text.py +13 -3
  634. psychopy/visual/textbox2/textbox2.py +188 -56
  635. psychopy/visual/vlcmoviestim.py +1 -1
  636. psychopy/visual/window.py +373 -200
  637. psychopy/web.py +1 -1
  638. {psychopy-2024.2.4.dist-info → psychopy-2025.1.0.dist-info}/METADATA +9 -9
  639. {psychopy-2024.2.4.dist-info → psychopy-2025.1.0.dist-info}/RECORD +653 -660
  640. psychopy/.DS_Store +0 -0
  641. psychopy/__init__.py.orig +0 -65
  642. psychopy/app/.DS_Store +0 -0
  643. psychopy/app/Resources/.DS_Store +0 -0
  644. psychopy/app/Resources/classic/filecsv16.png +0 -0
  645. psychopy/app/Resources/classic/fileimage16.png +0 -0
  646. psychopy/app/Resources/classic/fileunknown16.png +0 -0
  647. psychopy/app/Resources/dark/filecsv16.png +0 -0
  648. psychopy/app/Resources/dark/filecsv16@2x.png +0 -0
  649. psychopy/app/Resources/dark/fileimage16.png +0 -0
  650. psychopy/app/Resources/dark/fileimage16@2x.png +0 -0
  651. psychopy/app/Resources/dark/fileunknown16.png +0 -0
  652. psychopy/app/Resources/dark/fileunknown16@2x.png +0 -0
  653. psychopy/app/Resources/fonts/OpenSans-Bold.ttf +0 -0
  654. psychopy/app/Resources/fonts/OpenSans-BoldItalic.ttf +0 -0
  655. psychopy/app/Resources/fonts/OpenSans-ExtraBold.ttf +0 -0
  656. psychopy/app/Resources/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  657. psychopy/app/Resources/fonts/OpenSans-Italic.ttf +0 -0
  658. psychopy/app/Resources/fonts/OpenSans-Light.ttf +0 -0
  659. psychopy/app/Resources/fonts/OpenSans-LightItalic.ttf +0 -0
  660. psychopy/app/Resources/fonts/OpenSans-Regular.ttf +0 -0
  661. psychopy/app/Resources/fonts/OpenSans-SemiBold.ttf +0 -0
  662. psychopy/app/Resources/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  663. psychopy/app/Resources/light/filecsv16.png +0 -0
  664. psychopy/app/Resources/light/filecsv16@2x.png +0 -0
  665. psychopy/app/Resources/light/fileimage16.png +0 -0
  666. psychopy/app/Resources/light/fileimage16@2x.png +0 -0
  667. psychopy/app/Resources/light/fileunknown16.png +0 -0
  668. psychopy/app/Resources/light/fileunknown16@2x.png +0 -0
  669. psychopy/app/Resources/psychopySplash.png +0 -0
  670. psychopy/app/Resources/psychopySplash@2x.png +0 -0
  671. psychopy/app/builder/builder.py.orig +0 -3932
  672. psychopy/app/builder/dialogs/__init__.py.orig +0 -1679
  673. psychopy/app/builder/dialogs/paramCtrls.py.orig +0 -713
  674. psychopy/app/colorpicker/__init__.py.orig +0 -411
  675. psychopy/app/locale/zh_CN/LC_MESSAGE/zh_CN.mo +0 -0
  676. psychopy/app/locale/zh_CN/LC_MESSAGE/zh_CN.po +0 -6127
  677. psychopy/app/locale/zh_CN/LC_MESSAGE/zh_CN_allFlagged.mo +0 -0
  678. psychopy/app/locale/zh_CN/LC_MESSAGE/zh_CN_allFlagged.po +0 -7366
  679. psychopy/core.py.orig +0 -169
  680. psychopy/demos/builder/.DS_Store +0 -0
  681. psychopy/demos/builder/Design Templates/randomisedBlocks/html/index.html +0 -23
  682. psychopy/demos/builder/Design Templates/randomisedBlocks/html/randomisedBlocks-legacy-browsers.js +0 -423
  683. psychopy/demos/builder/Design Templates/randomisedBlocks/html/randomisedBlocks.js +0 -427
  684. psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/chooseBlock.xlsx +0 -0
  685. psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/facesBlock.xlsx +0 -0
  686. psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/housesBlock.xlsx +0 -0
  687. psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/stims/face01.jpg +0 -0
  688. psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/stims/face02.jpg +0 -0
  689. psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/stims/face03.jpg +0 -0
  690. psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/stims/house01.jpg +0 -0
  691. psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/stims/house02.jpg +0 -0
  692. psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/stims/house03.jpg +0 -0
  693. psychopy/demos/builder/Design Templates/randomisedBlocks/randomisedBlocks.py +0 -330
  694. psychopy/demos/builder/Design Templates/randomisedBlocks/randomisedBlocks_lastrun.py +0 -330
  695. psychopy/demos/builder/Experiments/.DS_Store +0 -0
  696. psychopy/demos/builder/Experiments/dragAndDrop/archived_conditions.xlsx +0 -0
  697. psychopy/demos/builder/Experiments/dragAndDrop/draw grid stim.py +0 -61
  698. psychopy/demos/builder/Experiments/dragAndDrop/shapeMaker.psyexp +0 -91
  699. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_1.png +0 -0
  700. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_10.png +0 -0
  701. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_2.png +0 -0
  702. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_3.png +0 -0
  703. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_4.png +0 -0
  704. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_5.png +0 -0
  705. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_6.png +0 -0
  706. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_7.png +0 -0
  707. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_8.png +0 -0
  708. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_9.png +0 -0
  709. psychopy/demos/builder/Experiments/dragAndDrop/updated_conditions.xlsx +0 -0
  710. psychopy/demos/builder/Feature Demos/eyetracking/eyetracking.xsd +0 -120
  711. psychopy/demos/builder/Tools/.DS_Store +0 -0
  712. psychopy/demos/builder/Tools/gammaCalibration/.DS_Store +0 -0
  713. psychopy/demos/builder/Tools/gammaCalibration/data/.DS_Store +0 -0
  714. psychopy/demos/builder/Tools/gammaCalibration/data/_gamma_correction_visual_2022-05-18_14h18.29.439.csv +0 -38
  715. psychopy/demos/builder/Tools/gammaCalibration/data/_gamma_correction_visual_2022-05-18_14h18.29.439.log +0 -3418
  716. psychopy/demos/builder/Tools/gammaCalibration/data/_gamma_correction_visual_2022-05-18_14h18.29.439.psydat +0 -0
  717. psychopy/demos/builder/Tools/gammaCalibration/data/x1_gamma_correction_visual_2022-05-17_13h59.42.928.csv +0 -2
  718. psychopy/demos/builder/Tools/gammaCalibration/data/x1_gamma_correction_visual_2022-05-17_13h59.42.928.log +0 -15
  719. psychopy/demos/builder/Tools/gammaCalibration/data/x1_gamma_correction_visual_2022-05-17_13h59.42.928.psydat +0 -0
  720. psychopy/demos/builder/Tools/gammaCalibration/gamma_correction_visual.psyexp +0 -323
  721. psychopy/demos/builder/Tools/gammaCalibration/gamma_correction_visual.py +0 -562
  722. psychopy/demos/builder/Tools/gammaCalibration/gamma_correction_visual_lastrun.py +0 -562
  723. psychopy/demos/builder/Tools/gammaCalibration/questStairs.xlsx +0 -0
  724. psychopy/demos/builder/Tools/gammaCalibration/resources/low_contrast.png +0 -0
  725. psychopy/demos/builder/Tools/gammaCalibration/resources/make_2nd_order_tex.py +0 -59
  726. psychopy/demos/builder/Tools/gammaCalibration/resources/second_order_tex.png +0 -0
  727. psychopy/demos/coder/.DS_Store +0 -0
  728. psychopy/demos/coder/experiment control/info_gamma.pickle +0 -0
  729. psychopy/demos/coder/iohub/.iohpid +0 -1
  730. psychopy/demos/coder/iohub/eyetracking/.iohpid +0 -1
  731. psychopy/demos/coder/iohub/wintab/.DS_Store +0 -0
  732. psychopy/demos/coder/stimuli/.DS_Store +0 -0
  733. psychopy/demos/coder/stimuli/radialGratingContracting.py +0 -29
  734. psychopy/experiment/_experiment.py.orig +0 -1032
  735. psychopy/experiment/components/.DS_Store +0 -0
  736. psychopy/experiment/components/_base.py.orig +0 -823
  737. psychopy/experiment/components/form/.DS_Store +0 -0
  738. psychopy/experiment/components/microphone/__init__.py.orig +0 -490
  739. psychopy/experiment/components/settings/__init__.py.orig +0 -1337
  740. psychopy/experiment/components/textbox/__init__.py.orig +0 -310
  741. psychopy/experiment/components/webcam/.DS_Store +0 -0
  742. psychopy/experiment/components/webcam/light/.DS_Store +0 -0
  743. psychopy/experiment/loops.py.orig +0 -829
  744. psychopy/experiment/params.py.orig +0 -408
  745. psychopy/experiment/routine.py.orig +0 -503
  746. psychopy/experiment/routines/photodiodeValidator/classic/photodiode_validator.png +0 -0
  747. psychopy/experiment/routines/photodiodeValidator/classic/photodiode_validator@2x.png +0 -0
  748. psychopy/experiment/routines/photodiodeValidator/dark/photodiode_validator.png +0 -0
  749. psychopy/experiment/routines/photodiodeValidator/dark/photodiode_validator@2x.png +0 -0
  750. psychopy/experiment/routines/photodiodeValidator/light/photodiode_validator.png +0 -0
  751. psychopy/experiment/routines/photodiodeValidator/light/photodiode_validator@2x.png +0 -0
  752. psychopy/hardware/.DS_Store +0 -0
  753. psychopy/hardware/brainproducts.py.orig +0 -680
  754. psychopy/hardware/iolab.py.orig +0 -238
  755. psychopy/hardware/serialport.py +0 -51
  756. psychopy/iohub/datastore/__init__.py.orig +0 -443
  757. psychopy/iohub/datastore/util.py.orig +0 -692
  758. psychopy/iohub/devices/mouse/darwin.py.orig +0 -427
  759. psychopy/iohub/devices/mouse/linux2.py.orig +0 -198
  760. psychopy/preferences/.DS_Store +0 -0
  761. psychopy/projects/pavlovia.py.orig +0 -1295
  762. psychopy/tests/.DS_Store +0 -0
  763. psychopy/tests/data/.DS_Store +0 -0
  764. psychopy/tests/data/TestCircle_fill_local.png +0 -0
  765. psychopy/tests/data/__test.png +0 -0
  766. psychopy/tests/data/aperture1_normHexbackground_local.png +0 -0
  767. psychopy/tests/data/aperture1_norm_local.png +0 -0
  768. psychopy/tests/data/aperture2_normHexbackground_local.png +0 -0
  769. psychopy/tests/data/beatandrcos_height_local.png +0 -0
  770. psychopy/tests/data/beatandrcos_normAddBlend_local.png +0 -0
  771. psychopy/tests/data/beatandrcos_normHexbackground_local.png +0 -0
  772. psychopy/tests/data/beatandrcos_norm_local.png +0 -0
  773. psychopy/tests/data/beatandrcos_stencil_local.png +0 -0
  774. psychopy/tests/data/blend_add_height_local.png +0 -0
  775. psychopy/tests/data/blend_add_normAddBlend_local.png +0 -0
  776. psychopy/tests/data/blend_add_normHexbackground_local.png +0 -0
  777. psychopy/tests/data/blend_add_normNoShade_local.png +0 -0
  778. psychopy/tests/data/blend_add_norm_local.png +0 -0
  779. psychopy/tests/data/blend_add_stencil_local.png +0 -0
  780. psychopy/tests/data/bufferimg_gabor_height_local.png +0 -0
  781. psychopy/tests/data/bufferimg_gabor_normAddBlend_local.png +0 -0
  782. psychopy/tests/data/bufferimg_gabor_normHexbackground_local.png +0 -0
  783. psychopy/tests/data/bufferimg_gabor_normNoShade_local.png +0 -0
  784. psychopy/tests/data/bufferimg_gabor_norm_local.png +0 -0
  785. psychopy/tests/data/bufferimg_gabor_stencil_local.png +0 -0
  786. psychopy/tests/data/circleHex_height_local.png +0 -0
  787. psychopy/tests/data/circleHex_normAddBlend_local.png +0 -0
  788. psychopy/tests/data/circleHex_normHexbackground_local.png +0 -0
  789. psychopy/tests/data/circleHex_normNoShade_local.png +0 -0
  790. psychopy/tests/data/circleHex_norm_local.png +0 -0
  791. psychopy/tests/data/circleHex_stencil_local.png +0 -0
  792. psychopy/tests/data/color_comparison_local.png +0 -0
  793. psychopy/tests/data/corrFullRandom_local.csv +0 -16
  794. psychopy/tests/data/corrFullRandom_local.tsv +0 -6
  795. psychopy/tests/data/correctScript/.DS_Store +0 -0
  796. psychopy/tests/data/dots_height_local.png +0 -0
  797. psychopy/tests/data/dots_normAddBlend_local.png +0 -0
  798. psychopy/tests/data/dots_normHexbackground_local.png +0 -0
  799. psychopy/tests/data/dots_normNoShade_local.png +0 -0
  800. psychopy/tests/data/dots_norm_local.png +0 -0
  801. psychopy/tests/data/dots_stencil_local.png +0 -0
  802. psychopy/tests/data/elarray1_height_local.png +0 -0
  803. psychopy/tests/data/elarray1_normAddBlend_local.png +0 -0
  804. psychopy/tests/data/elarray1_normHexbackground_local.png +0 -0
  805. psychopy/tests/data/elarray1_norm_local.png +0 -0
  806. psychopy/tests/data/elarray1_stencil_local.png +0 -0
  807. psychopy/tests/data/envelopeandrcos_height_local.png +0 -0
  808. psychopy/tests/data/envelopeandrcos_normAddBlend_local.png +0 -0
  809. psychopy/tests/data/envelopeandrcos_normHexbackground_local.png +0 -0
  810. psychopy/tests/data/envelopeandrcos_norm_local.png +0 -0
  811. psychopy/tests/data/envelopeandrcos_stencil_local.png +0 -0
  812. psychopy/tests/data/envelopepowerandrcos_height_local.png +0 -0
  813. psychopy/tests/data/envelopepowerandrcos_normAddBlend_local.png +0 -0
  814. psychopy/tests/data/envelopepowerandrcos_normHexbackground_local.png +0 -0
  815. psychopy/tests/data/envelopepowerandrcos_norm_local.png +0 -0
  816. psychopy/tests/data/envelopepowerandrcos_stencil_local.png +0 -0
  817. psychopy/tests/data/gabor1_height_local.png +0 -0
  818. psychopy/tests/data/gabor1_normAddBlend_local.png +0 -0
  819. psychopy/tests/data/gabor1_normHexbackground_local.png +0 -0
  820. psychopy/tests/data/gabor1_normNoShade_local.png +0 -0
  821. psychopy/tests/data/gabor1_norm_local.png +0 -0
  822. psychopy/tests/data/gabor1_stencil_local.png +0 -0
  823. psychopy/tests/data/greyscale_normHexbackground_local.png +0 -0
  824. psychopy/tests/data/imageAndGauss_height_local.png +0 -0
  825. psychopy/tests/data/imageAndGauss_normAddBlend_local.png +0 -0
  826. psychopy/tests/data/imageAndGauss_normHexbackground_local.png +0 -0
  827. psychopy/tests/data/imageAndGauss_normNoShade_local.png +0 -0
  828. psychopy/tests/data/imageAndGauss_norm_local.png +0 -0
  829. psychopy/tests/data/imageAndGauss_stencil_local.png +0 -0
  830. psychopy/tests/data/movFrame1_stencil_local.png +0 -0
  831. psychopy/tests/data/noiseAndRcos_height_local.png +0 -0
  832. psychopy/tests/data/noiseAndRcos_normAddBlend_local.png +0 -0
  833. psychopy/tests/data/noiseAndRcos_normHexbackground_local.png +0 -0
  834. psychopy/tests/data/noiseAndRcos_normNoShade_local.png +0 -0
  835. psychopy/tests/data/noiseAndRcos_norm_local.png +0 -0
  836. psychopy/tests/data/noiseAndRcos_stencil_local.png +0 -0
  837. psychopy/tests/data/noiseFiltersAndRcos_height_local.png +0 -0
  838. psychopy/tests/data/noiseFiltersAndRcos_normAddBlend_local.png +0 -0
  839. psychopy/tests/data/noiseFiltersAndRcos_normHexbackground_local.png +0 -0
  840. psychopy/tests/data/noiseFiltersAndRcos_normNoShade_local.png +0 -0
  841. psychopy/tests/data/noiseFiltersAndRcos_norm_local.png +0 -0
  842. psychopy/tests/data/noiseFiltersAndRcos_stencil_local.png +0 -0
  843. psychopy/tests/data/numpyImage_height_local.png +0 -0
  844. psychopy/tests/data/numpyImage_normAddBlend_local.png +0 -0
  845. psychopy/tests/data/numpyImage_normHexbackground_local.png +0 -0
  846. psychopy/tests/data/numpyImage_normNoShade_local.png +0 -0
  847. psychopy/tests/data/numpyImage_norm_local.png +0 -0
  848. psychopy/tests/data/numpyImage_stencil_local.png +0 -0
  849. psychopy/tests/data/shape2_1_normAddBlend_local.png +0 -0
  850. psychopy/tests/data/shape2_1_normHexbackground_local.png +0 -0
  851. psychopy/tests/data/shape2_1_normNoShade_local.png +0 -0
  852. psychopy/tests/data/shape2_1_norm_local.png +0 -0
  853. psychopy/tests/data/shape2_1_stencil_local.png +0 -0
  854. psychopy/tests/data/testLoopsBlocks.psyexp_local.py +0 -328
  855. psychopy/tests/data/text1_height_local.png +0 -0
  856. psychopy/tests/data/text1_normAddBlend_local.png +0 -0
  857. psychopy/tests/data/text1_normHexbackground_local.png +0 -0
  858. psychopy/tests/data/text1_norm_local.png +0 -0
  859. psychopy/tests/data/text1_stencil_local.png +0 -0
  860. psychopy/tests/data/text2_height.png +0 -0
  861. psychopy/tests/data/text2_normAddBlend.png +0 -0
  862. psychopy/tests/data/text2_normHexbackground.png +0 -0
  863. psychopy/tests/data/text2_stencil.png +0 -0
  864. psychopy/tests/data/wedge1_height_local.png +0 -0
  865. psychopy/tests/data/wedge1_normAddBlend_local.png +0 -0
  866. psychopy/tests/data/wedge1_normHexbackground_local.png +0 -0
  867. psychopy/tests/data/wedge1_normNoShade_local.png +0 -0
  868. psychopy/tests/data/wedge1_norm_local.png +0 -0
  869. psychopy/tests/data/wedge1_stencil_local.png +0 -0
  870. psychopy/tests/test_app/.DS_Store +0 -0
  871. psychopy/tests/test_app/test_builder/.DS_Store +0 -0
  872. psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1206.csv +0 -9
  873. psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1206.log +0 -177
  874. psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1206.psydat +0 -0
  875. psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1206.xlsx +0 -0
  876. psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1324.csv +0 -9
  877. psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1324.log +0 -168
  878. psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1324.psydat +0 -0
  879. psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1324.xlsx +0 -0
  880. psychopy/tests/test_data/.DS_Store +0 -0
  881. psychopy/tests/test_hardware/test_CRS_BitsSharp.py +0 -67
  882. psychopy/tests/test_hardware/test_CRS_BitsSharp.py.orig +0 -68
  883. psychopy/tests/test_hardware/test_CRS_bitsShaders.py +0 -110
  884. psychopy/tests/test_visual/test_image.py.orig +0 -219
  885. psychopy/visual/basevisual.py.orig +0 -1723
  886. psychopy/visual/form.py.orig +0 -1181
  887. psychopy/visual/text.py.orig +0 -752
  888. psychopy/visual/textbox2/textbox2.py.orig +0 -1315
  889. psychopy/visual/windowwarp.py.orig +0 -463
  890. /psychopy/{app/cortex.log → alerts/alertsCatalogue/3600.yaml} +0 -0
  891. /psychopy/{app/Resources → assets}/fonts/Arvo-Bold.ttf +0 -0
  892. /psychopy/{app/Resources → assets}/fonts/Arvo-BoldItalic.ttf +0 -0
  893. /psychopy/{app/Resources → assets}/fonts/Arvo-Italic.ttf +0 -0
  894. /psychopy/{app/Resources → assets}/fonts/Arvo-Regular.ttf +0 -0
  895. /psychopy/{app/Resources → assets}/fonts/DejaVuSerif.ttf +0 -0
  896. /psychopy/{app/Resources → assets}/fonts/IndieFlower-Regular.ttf +0 -0
  897. /psychopy/{app/Resources → assets}/fonts/JetBrainsMono-Italic-VariableFont_wght.ttf +0 -0
  898. /psychopy/{app/Resources → assets}/fonts/JetBrainsMono-VariableFont_wght.ttf +0 -0
  899. /psychopy/demos/builder/Experiments/{GoNoGo → goNoGo}/readme.md +0 -0
  900. /psychopy/{demos/builder/Tools/gammaCalibration/readme.md → tests/test_plugins/__init__.py} +0 -0
  901. {psychopy-2024.2.4.dist-info → psychopy-2025.1.0.dist-info}/WHEEL +0 -0
  902. {psychopy-2024.2.4.dist-info → psychopy-2025.1.0.dist-info}/entry_points.txt +0 -0
  903. {psychopy-2024.2.4.dist-info → psychopy-2025.1.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,5 +1,5 @@
1
1
  <?xml version="1.0" ?>
2
- <PsychoPy2experiment encoding="utf-8" version="2021.2.0">
2
+ <PsychoPy2experiment encoding="utf-8" version="2025.1.0">
3
3
  <Settings>
4
4
  <Param val="use prefs" valType="str" updates="None" name="Audio latency priority"/>
5
5
  <Param val="use prefs" valType="str" updates="None" name="Audio lib"/>
@@ -7,6 +7,7 @@
7
7
  <Param val="auto" valType="str" updates="None" name="Data file delimiter"/>
8
8
  <Param val="u'data/%s_%s_%s' % (expInfo['participant'], expName, expInfo['date'])" valType="code" updates="None" name="Data filename"/>
9
9
  <Param val="True" valType="bool" updates="None" name="Enable Escape"/>
10
+ <Param val="" valType="str" updates="None" name="End Message"/>
10
11
  <Param val="{'participant': '', 'session': '001'}" valType="code" updates="None" name="Experiment info"/>
11
12
  <Param val="True" valType="bool" updates="None" name="Force stereo"/>
12
13
  <Param val="True" valType="bool" updates="None" name="Full-screen window"/>
@@ -24,11 +25,17 @@
24
25
  <Param val="True" valType="bool" updates="None" name="Show info dlg"/>
25
26
  <Param val="False" valType="bool" updates="None" name="Show mouse"/>
26
27
  <Param val="height" valType="str" updates="None" name="Units"/>
27
- <Param val="" valType="str" updates="None" name="Use version"/>
28
+ <Param val="2022.1.3" valType="str" updates="None" name="Use version"/>
28
29
  <Param val="[1920, 1080]" valType="list" updates="None" name="Window size (pixels)"/>
30
+ <Param val="none" valType="str" updates="None" name="backgroundFit"/>
31
+ <Param val="" valType="str" updates="None" name="backgroundImg"/>
29
32
  <Param val="avg" valType="str" updates="None" name="blendMode"/>
33
+ <Param val="float" valType="str" updates="None" name="clockFormat"/>
34
+ <Param val="{'thisRow.t': 'priority.CRITICAL', 'expName': 'priority.LOW'}" valType="dict" updates="None" name="colPriority"/>
30
35
  <Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
31
36
  <Param val="rgb" valType="str" updates="None" name="colorSpace"/>
37
+ <Param val="warning" valType="code" updates="None" name="consoleLoggingLevel"/>
38
+ <Param val="default" valType="str" updates="None" name="ecSampleRate"/>
32
39
  <Param val="100.1.1.1" valType="str" updates="None" name="elAddress"/>
33
40
  <Param val="FILTER_LEVEL_2" valType="str" updates="None" name="elDataFiltering"/>
34
41
  <Param val="FILTER_LEVEL_OFF" valType="str" updates="None" name="elLiveFiltering"/>
@@ -39,232 +46,240 @@
39
46
  <Param val="False" valType="bool" updates="None" name="elSimMode"/>
40
47
  <Param val="RIGHT_EYE" valType="str" updates="None" name="elTrackEyes"/>
41
48
  <Param val="PUPIL_CR_TRACKING" valType="str" updates="None" name="elTrackingMode"/>
42
- <Param val="eyetracking" valType="str" updates="None" name="expName"/>
49
+ <Param val="lsl_triggers_demo" valType="str" updates="None" name="expName"/>
50
+ <Param val="" valType="str" updates="None" name="expVersion"/>
43
51
  <Param val="on Sync" valType="str" updates="None" name="exportHTML"/>
44
- <Param val="MouseGaze" valType="str" updates="None" name="eyetracker"/>
52
+ <Param val="None" valType="str" updates="None" name="eyetracker"/>
53
+ <Param val="" valType="code" updates="None" name="frameRate"/>
54
+ <Param val="Attempting to measure frame rate of screen, please wait..." valType="str" updates="None" name="frameRateMsg"/>
45
55
  <Param val="127.0.0.1" valType="str" updates="None" name="gpAddress"/>
46
56
  <Param val="4242" valType="num" updates="None" name="gpPort"/>
57
+ <Param val="PsychToolbox" valType="str" updates="None" name="keyboardBackend"/>
47
58
  <Param val="exp" valType="code" updates="None" name="logging level"/>
59
+ <Param val="True" valType="bool" updates="None" name="measureFrameRate"/>
48
60
  <Param val="('MIDDLE_BUTTON',)" valType="list" updates="None" name="mgBlink"/>
49
61
  <Param val="CONTINUOUS" valType="str" updates="None" name="mgMove"/>
50
62
  <Param val="0.5" valType="num" updates="None" name="mgSaccade"/>
63
+ <Param val="neon.local" valType="str" updates="None" name="plCompanionAddress"/>
64
+ <Param val="8080" valType="num" updates="None" name="plCompanionPort"/>
65
+ <Param val="True" valType="bool" updates="None" name="plCompanionRecordingEnabled"/>
66
+ <Param val="0.6" valType="num" updates="None" name="plConfidenceThreshold"/>
67
+ <Param val="True" valType="bool" updates="None" name="plPupilCaptureRecordingEnabled"/>
68
+ <Param val="" valType="str" updates="None" name="plPupilCaptureRecordingLocation"/>
69
+ <Param val="127.0.0.1" valType="str" updates="None" name="plPupilRemoteAddress"/>
70
+ <Param val="50020" valType="num" updates="None" name="plPupilRemotePort"/>
71
+ <Param val="1000" valType="num" updates="None" name="plPupilRemoteTimeoutMs"/>
72
+ <Param val="False" valType="bool" updates="None" name="plPupillometryOnly"/>
73
+ <Param val="psychopy_iohub_surface" valType="str" updates="None" name="plSurfaceName"/>
74
+ <Param val="0" valType="code" updates="constant" name="runMode"/>
75
+ <Param val="False" valType="bool" updates="None" name="rush"/>
76
+ <Param val="time" valType="str" updates="None" name="sortColumns"/>
51
77
  <Param val="" valType="str" updates="None" name="tbLicenseFile"/>
52
78
  <Param val="" valType="str" updates="None" name="tbModel"/>
53
79
  <Param val="60" valType="num" updates="None" name="tbSampleRate"/>
54
80
  <Param val="" valType="str" updates="None" name="tbSerialNo"/>
81
+ <Param val="pyglet" valType="str" updates="None" name="winBackend"/>
55
82
  </Settings>
56
83
  <Routines>
57
- <Routine name="trial">
58
- <EyetrackerRecordComponent name="etRecord">
84
+ <Routine name="instructions">
85
+ <CodeComponent name="begin_exp" plugin="None">
86
+ <Param val="" valType="extendedCode" updates="constant" name="Before Experiment"/>
87
+ <Param val="" valType="extendedCode" updates="constant" name="Before JS Experiment"/>
88
+ <Param val="'''&amp;#10;Example program to demonstrate how to send string-valued markers into LSL.&amp;#10;'''&amp;#10;import random&amp;#10;import time&amp;#10;&amp;#10;# install the &quot;psylsl&quot; pacakge to Python and import&amp;#10;&amp;#10;from pylsl import StreamInfo, StreamOutlet&amp;#10;&amp;#10;# first create a new stream info. This needs to be done only once in&amp;#10;# the entire experiment&amp;#10;&amp;#10;info = StreamInfo('MyMarkerStream', 'Markers', 1, 0, 'string', 'myuidw43536')&amp;#10;&amp;#10;# next make an outlet port&amp;#10;outlet = StreamOutlet(info)" valType="extendedCode" updates="constant" name="Begin Experiment"/>
89
+ <Param val="/* Syntax Error: Fix Python code */" valType="extendedCode" updates="constant" name="Begin JS Experiment"/>
90
+ <Param val="" valType="extendedCode" updates="constant" name="Begin JS Routine"/>
91
+ <Param val="" valType="extendedCode" updates="constant" name="Begin Routine"/>
92
+ <Param val="Py" valType="str" updates="None" name="Code Type"/>
93
+ <Param val="" valType="extendedCode" updates="constant" name="Each Frame"/>
94
+ <Param val="" valType="extendedCode" updates="constant" name="Each JS Frame"/>
95
+ <Param val="" valType="extendedCode" updates="constant" name="End Experiment"/>
96
+ <Param val="" valType="extendedCode" updates="constant" name="End JS Experiment"/>
97
+ <Param val="" valType="extendedCode" updates="constant" name="End JS Routine"/>
98
+ <Param val="" valType="extendedCode" updates="constant" name="End Routine"/>
99
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
100
+ <Param val="begin_exp" valType="code" updates="None" name="name"/>
101
+ </CodeComponent>
102
+ <TextComponent name="text" plugin="None">
103
+ <Param val="white" valType="color" updates="constant" name="color"/>
104
+ <Param val="rgb" valType="str" updates="constant" name="colorSpace"/>
105
+ <Param val="1" valType="num" updates="constant" name="contrast"/>
59
106
  <Param val="False" valType="bool" updates="None" name="disabled"/>
107
+ <Param val="False" valType="code" updates="constant" name="draggable"/>
60
108
  <Param val="" valType="code" updates="None" name="durationEstim"/>
61
- <Param val="etRecord" valType="code" updates="None" name="name"/>
109
+ <Param val="None" valType="str" updates="constant" name="flip"/>
110
+ <Param val="Arial" valType="str" updates="constant" name="font"/>
111
+ <Param val="LTR" valType="str" updates="None" name="languageStyle"/>
112
+ <Param val="0.05" valType="num" updates="constant" name="letterHeight"/>
113
+ <Param val="text" valType="code" updates="None" name="name"/>
114
+ <Param val="" valType="num" updates="constant" name="opacity"/>
115
+ <Param val="0" valType="num" updates="constant" name="ori"/>
116
+ <Param val="(0, 0)" valType="list" updates="constant" name="pos"/>
62
117
  <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
63
118
  <Param val="" valType="code" updates="None" name="startEstim"/>
64
119
  <Param val="time (s)" valType="str" updates="None" name="startType"/>
65
120
  <Param val="0.0" valType="code" updates="None" name="startVal"/>
66
121
  <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
67
122
  <Param val="" valType="code" updates="constant" name="stopVal"/>
68
- <Param val="False" valType="bool" updates="None" name="syncScreenRefresh"/>
69
- </EyetrackerRecordComponent>
70
- <RegionOfInterestComponent name="roi">
71
- <Param val="False" valType="bool" updates="None" name="debug"/>
123
+ <Param val="True" valType="bool" updates="None" name="syncScreenRefresh"/>
124
+ <Param val="This demo illustrates how you can send triggers via Lab Streaming Layer (LSL). &amp;#10;&amp;#10;You will see a triangle, you should press space when you see it. You should see a trigger is being sent when the triangle appears.&amp;#10;&amp;#10;Press any key to start." valType="str" updates="constant" name="text"/>
125
+ <Param val="from exp settings" valType="str" updates="None" name="units"/>
126
+ <Param val="" valType="code" updates="None" name="validator"/>
127
+ <Param val="" valType="num" updates="constant" name="wrapWidth"/>
128
+ </TextComponent>
129
+ <KeyboardComponent name="key_resp" plugin="None">
130
+ <Param val="'space'" valType="list" updates="constant" name="allowedKeys"/>
131
+ <Param val="" valType="str" updates="constant" name="correctAns"/>
132
+ <Param val="" valType="str" updates="None" name="deviceLabel"/>
72
133
  <Param val="False" valType="bool" updates="None" name="disabled"/>
134
+ <Param val="True" valType="bool" updates="constant" name="discard previous"/>
73
135
  <Param val="" valType="code" updates="None" name="durationEstim"/>
74
- <Param val="look at" valType="str" updates="None" name="endRoutineOn"/>
75
- <Param val="5" valType="num" updates="None" name="lookDur"/>
76
- <Param val="4" valType="int" updates="constant" name="nVertices"/>
77
- <Param val="roi" valType="code" updates="None" name="name"/>
78
- <Param val="0" valType="num" updates="constant" name="ori"/>
79
- <Param val="(random()/2, random()/2)" valType="list" updates="set every repeat" name="pos"/>
80
- <Param val="every look" valType="str" updates="None" name="save"/>
136
+ <Param val="True" valType="bool" updates="constant" name="forceEndRoutine"/>
137
+ <Param val="key_resp" valType="code" updates="None" name="name"/>
138
+ <Param val="press" valType="str" updates="constant" name="registerOn"/>
81
139
  <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
82
- <Param val="circle" valType="str" updates="None" name="shape"/>
83
- <Param val="(0.2, 0.2)" valType="list" updates="constant" name="size"/>
84
140
  <Param val="" valType="code" updates="None" name="startEstim"/>
85
141
  <Param val="time (s)" valType="str" updates="None" name="startType"/>
86
142
  <Param val="0.0" valType="code" updates="None" name="startVal"/>
87
143
  <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
88
144
  <Param val="" valType="code" updates="constant" name="stopVal"/>
89
- <Param val="True" valType="bool" updates="None" name="syncScreenRefresh"/>
90
- <Param val="roi onset" valType="str" updates="constant" name="timeRelativeTo"/>
91
- <Param val="from exp settings" valType="str" updates="None" name="units"/>
92
- <Param val="" valType="list" updates="constant" name="vertices"/>
93
- </RegionOfInterestComponent>
94
- <PolygonComponent name="progress">
145
+ <Param val="last key" valType="str" updates="constant" name="store"/>
146
+ <Param val="False" valType="bool" updates="constant" name="storeCorrect"/>
147
+ <Param val="True" valType="bool" updates="constant" name="syncScreenRefresh"/>
148
+ </KeyboardComponent>
149
+ </Routine>
150
+ <Routine name="trial">
151
+ <PolygonComponent name="stimulus" plugin="None">
152
+ <Param val="center" valType="str" updates="constant" name="anchor"/>
95
153
  <Param val="rgb" valType="str" updates="constant" name="colorSpace"/>
96
154
  <Param val="1" valType="num" updates="constant" name="contrast"/>
97
155
  <Param val="False" valType="bool" updates="None" name="disabled"/>
156
+ <Param val="False" valType="code" updates="constant" name="draggable"/>
98
157
  <Param val="" valType="code" updates="None" name="durationEstim"/>
99
- <Param val="white" valType="color" updates="constant" name="fillColor"/>
158
+ <Param val="1.0000, 0.6863, -1.0000" valType="color" updates="constant" name="fillColor"/>
100
159
  <Param val="linear" valType="str" updates="constant" name="interpolate"/>
101
- <Param val="white" valType="color" updates="constant" name="lineColor"/>
160
+ <Param val="0.7098, 0.2941, -0.7490" valType="color" updates="constant" name="lineColor"/>
102
161
  <Param val="1" valType="num" updates="constant" name="lineWidth"/>
103
162
  <Param val="4" valType="int" updates="constant" name="nVertices"/>
104
- <Param val="progress" valType="code" updates="None" name="name"/>
163
+ <Param val="stimulus" valType="code" updates="None" name="name"/>
105
164
  <Param val="" valType="num" updates="constant" name="opacity"/>
106
165
  <Param val="0" valType="num" updates="constant" name="ori"/>
107
- <Param val="(-0.5, -0.4)" valType="list" updates="constant" name="pos"/>
166
+ <Param val="(0, 0)" valType="list" updates="constant" name="pos"/>
108
167
  <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
109
- <Param val="custom polygon..." valType="str" updates="None" name="shape"/>
110
- <Param val="(roi.currentLookTime/5, 0.1)" valType="list" updates="set every frame" name="size"/>
168
+ <Param val="triangle" valType="str" updates="None" name="shape"/>
169
+ <Param val="(0.3, 0.3)" valType="list" updates="constant" name="size"/>
111
170
  <Param val="" valType="code" updates="None" name="startEstim"/>
112
171
  <Param val="time (s)" valType="str" updates="None" name="startType"/>
113
- <Param val="0.0" valType="code" updates="None" name="startVal"/>
172
+ <Param val="$randint(1,5)" valType="code" updates="None" name="startVal"/>
114
173
  <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
115
174
  <Param val="" valType="code" updates="constant" name="stopVal"/>
116
175
  <Param val="True" valType="bool" updates="None" name="syncScreenRefresh"/>
117
176
  <Param val="from exp settings" valType="str" updates="None" name="units"/>
118
- <Param val="[[0, 0.5],[0, -0.5],[1, -0.5],[1, 0.5]]" valType="list" updates="constant" name="vertices"/>
177
+ <Param val="" valType="code" updates="None" name="validator"/>
178
+ <Param val="" valType="list" updates="constant" name="vertices"/>
119
179
  </PolygonComponent>
120
- <PolygonComponent name="target">
180
+ <CodeComponent name="stimulus_trigger" plugin="None">
181
+ <Param val="" valType="extendedCode" updates="constant" name="Before Experiment"/>
182
+ <Param val="" valType="extendedCode" updates="constant" name="Before JS Experiment"/>
183
+ <Param val="" valType="extendedCode" updates="constant" name="Begin Experiment"/>
184
+ <Param val="" valType="extendedCode" updates="constant" name="Begin JS Experiment"/>
185
+ <Param val="stimulus_pulse_started = false;&amp;#10;stimulus_pulse_ended = false;&amp;#10;" valType="extendedCode" updates="constant" name="Begin JS Routine"/>
186
+ <Param val="stimulus_pulse_started = False" valType="extendedCode" updates="constant" name="Begin Routine"/>
187
+ <Param val="Py" valType="str" updates="None" name="Code Type"/>
188
+ <Param val="if stimulus.status == STARTED and not stimulus_pulse_started:&amp;#10; win.callOnFlip(outlet.push_sample, 'start_trig')&amp;#10; stimulus_pulse_started = True" valType="extendedCode" updates="constant" name="Each Frame"/>
189
+ <Param val="if (((stimulus.status === PsychoJS.Status.STARTED) &amp;&amp; (! stimulus_pulse_started))) {&amp;#10; psychoJS.window.callOnFlip(port.write, str.encode(&quot;1&quot;));&amp;#10; stimulus_pulse_start_time = globalClock.getTime();&amp;#10; stimulus_pulse_started = true;&amp;#10;}&amp;#10;if ((stimulus_pulse_started &amp;&amp; (! stimulus_pulse_ended))) {&amp;#10; if (((globalClock.getTime() - stimulus_pulse_start_time) &gt;= 0.005)) {&amp;#10; psychoJS.window.callOnFlip(port.write, str.encode(&quot;0&quot;));&amp;#10; stimulus_pulse_ended = true;&amp;#10; }&amp;#10;}&amp;#10;" valType="extendedCode" updates="constant" name="Each JS Frame"/>
190
+ <Param val="" valType="extendedCode" updates="constant" name="End Experiment"/>
191
+ <Param val="" valType="extendedCode" updates="constant" name="End JS Experiment"/>
192
+ <Param val="" valType="extendedCode" updates="constant" name="End JS Routine"/>
193
+ <Param val="" valType="extendedCode" updates="constant" name="End Routine"/>
194
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
195
+ <Param val="stimulus_trigger" valType="code" updates="None" name="name"/>
196
+ </CodeComponent>
197
+ <TextComponent name="text_3" plugin="None">
198
+ <Param val="white" valType="color" updates="constant" name="color"/>
121
199
  <Param val="rgb" valType="str" updates="constant" name="colorSpace"/>
122
200
  <Param val="1" valType="num" updates="constant" name="contrast"/>
123
201
  <Param val="False" valType="bool" updates="None" name="disabled"/>
202
+ <Param val="False" valType="code" updates="constant" name="draggable"/>
124
203
  <Param val="" valType="code" updates="None" name="durationEstim"/>
125
- <Param val="black" valType="color" updates="constant" name="fillColor"/>
126
- <Param val="linear" valType="str" updates="constant" name="interpolate"/>
127
- <Param val="None" valType="color" updates="constant" name="lineColor"/>
128
- <Param val="10" valType="num" updates="constant" name="lineWidth"/>
129
- <Param val="4" valType="int" updates="constant" name="nVertices"/>
130
- <Param val="target" valType="code" updates="None" name="name"/>
131
- <Param val="0.2" valType="num" updates="constant" name="opacity"/>
204
+ <Param val="None" valType="str" updates="constant" name="flip"/>
205
+ <Param val="Arial" valType="str" updates="constant" name="font"/>
206
+ <Param val="LTR" valType="str" updates="None" name="languageStyle"/>
207
+ <Param val="0.05" valType="num" updates="constant" name="letterHeight"/>
208
+ <Param val="text_3" valType="code" updates="None" name="name"/>
209
+ <Param val="" valType="num" updates="constant" name="opacity"/>
132
210
  <Param val="0" valType="num" updates="constant" name="ori"/>
133
- <Param val="roi.pos" valType="list" updates="set every repeat" name="pos"/>
211
+ <Param val="(0, -0.3)" valType="list" updates="constant" name="pos"/>
134
212
  <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
135
- <Param val="circle" valType="str" updates="None" name="shape"/>
136
- <Param val="roi.size" valType="list" updates="set every repeat" name="size"/>
137
213
  <Param val="" valType="code" updates="None" name="startEstim"/>
138
214
  <Param val="time (s)" valType="str" updates="None" name="startType"/>
139
215
  <Param val="0.0" valType="code" updates="None" name="startVal"/>
140
216
  <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
141
217
  <Param val="" valType="code" updates="constant" name="stopVal"/>
142
218
  <Param val="True" valType="bool" updates="None" name="syncScreenRefresh"/>
219
+ <Param val="Please press space when the triangle appears." valType="str" updates="constant" name="text"/>
143
220
  <Param val="from exp settings" valType="str" updates="None" name="units"/>
144
- <Param val="roi.vertices" valType="list" updates="constant" name="vertices"/>
145
- </PolygonComponent>
146
- <PolygonComponent name="gazeCursor">
147
- <Param val="rgb" valType="str" updates="constant" name="colorSpace"/>
148
- <Param val="1" valType="num" updates="constant" name="contrast"/>
221
+ <Param val="" valType="code" updates="None" name="validator"/>
222
+ <Param val="" valType="num" updates="constant" name="wrapWidth"/>
223
+ </TextComponent>
224
+ <KeyboardComponent name="key_resp_3" plugin="None">
225
+ <Param val="'space'" valType="list" updates="constant" name="allowedKeys"/>
226
+ <Param val="" valType="str" updates="constant" name="correctAns"/>
227
+ <Param val="" valType="str" updates="None" name="deviceLabel"/>
149
228
  <Param val="False" valType="bool" updates="None" name="disabled"/>
229
+ <Param val="True" valType="bool" updates="constant" name="discard previous"/>
150
230
  <Param val="" valType="code" updates="None" name="durationEstim"/>
151
- <Param val="$(&quot;lightgreen&quot; if roi.isLookedIn else &quot;white&quot;)" valType="color" updates="set every frame" name="fillColor"/>
152
- <Param val="linear" valType="str" updates="constant" name="interpolate"/>
153
- <Param val="None" valType="color" updates="constant" name="lineColor"/>
154
- <Param val="1" valType="num" updates="constant" name="lineWidth"/>
155
- <Param val="4" valType="int" updates="constant" name="nVertices"/>
156
- <Param val="gazeCursor" valType="code" updates="None" name="name"/>
157
- <Param val="" valType="num" updates="constant" name="opacity"/>
158
- <Param val="0" valType="num" updates="constant" name="ori"/>
159
- <Param val="etRecord.getPos()" valType="list" updates="set every frame" name="pos"/>
231
+ <Param val="True" valType="bool" updates="constant" name="forceEndRoutine"/>
232
+ <Param val="key_resp_3" valType="code" updates="None" name="name"/>
233
+ <Param val="press" valType="str" updates="constant" name="registerOn"/>
160
234
  <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
161
- <Param val="cross" valType="str" updates="None" name="shape"/>
162
- <Param val="(0.05, 0.05)" valType="list" updates="constant" name="size"/>
163
235
  <Param val="" valType="code" updates="None" name="startEstim"/>
164
236
  <Param val="time (s)" valType="str" updates="None" name="startType"/>
165
237
  <Param val="0.0" valType="code" updates="None" name="startVal"/>
166
238
  <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
167
239
  <Param val="" valType="code" updates="constant" name="stopVal"/>
168
- <Param val="True" valType="bool" updates="None" name="syncScreenRefresh"/>
169
- <Param val="from exp settings" valType="str" updates="None" name="units"/>
170
- <Param val="" valType="list" updates="constant" name="vertices"/>
171
- </PolygonComponent>
240
+ <Param val="last key" valType="str" updates="constant" name="store"/>
241
+ <Param val="False" valType="bool" updates="constant" name="storeCorrect"/>
242
+ <Param val="True" valType="bool" updates="constant" name="syncScreenRefresh"/>
243
+ </KeyboardComponent>
172
244
  </Routine>
173
- <EyetrackerCalibrationRoutine name="calibration">
174
- <Param name="borderColor" updates="None" val="black" valType="color"/>
175
- <Param name="borderWidth" updates="None" val="2" valType="num"/>
176
- <Param name="colorSpace" updates="None" val="rgb" valType="str"/>
177
- <Param name="disabled" updates="None" val="False" valType="bool"/>
178
- <Param name="expandDur" updates="None" val="1" valType="num"/>
179
- <Param name="expandScale" updates="None" val="1.5" valType="num"/>
180
- <Param name="fillColor" updates="None" val="" valType="color"/>
181
- <Param name="innerBorderColor" updates="None" val="black" valType="color"/>
182
- <Param name="innerBorderWidth" updates="None" val="2" valType="num"/>
183
- <Param name="innerFillColor" updates="None" val="green" valType="color"/>
184
- <Param name="innerRadius" updates="None" val="0.0035" valType="num"/>
185
- <Param name="movementAnimation" updates="None" val="True" valType="bool"/>
186
- <Param name="movementDur" updates="None" val="1.0" valType="num"/>
187
- <Param name="name" updates="None" val="calibration" valType="code"/>
188
- <Param name="outerRadius" updates="None" val="0.01" valType="num"/>
189
- <Param name="progressMode" updates="None" val="time" valType="str"/>
190
- <Param name="randomisePos" updates="None" val="True" valType="bool"/>
191
- <Param name="targetDelay" updates="None" val="1.0" valType="num"/>
192
- <Param name="targetDur" updates="None" val="1.5" valType="num"/>
193
- <Param name="targetLayout" updates="None" val="NINE_POINTS" valType="str"/>
194
- <Param name="units" updates="None" val="from exp settings" valType="str"/>
195
- </EyetrackerCalibrationRoutine>
196
- <EyetrackerValidationRoutine name="validation">
197
- <Param name="borderColor" updates="None" val="black" valType="color"/>
198
- <Param name="borderWidth" updates="None" val="2" valType="num"/>
199
- <Param name="colorSpace" updates="None" val="rgb" valType="str"/>
200
- <Param name="cursorFillColor" updates="None" val="green" valType="color"/>
201
- <Param name="disabled" updates="None" val="False" valType="bool"/>
202
- <Param name="expandDur" updates="None" val="1" valType="num"/>
203
- <Param name="expandScale" updates="None" val="1.5" valType="num"/>
204
- <Param name="fillColor" updates="None" val="" valType="color"/>
205
- <Param name="innerBorderColor" updates="None" val="black" valType="color"/>
206
- <Param name="innerBorderWidth" updates="None" val="2" valType="num"/>
207
- <Param name="innerFillColor" updates="None" val="green" valType="color"/>
208
- <Param name="innerRadius" updates="None" val="0.0035" valType="num"/>
209
- <Param name="movementAnimation" updates="None" val="True" valType="bool"/>
210
- <Param name="movementDur" updates="None" val="1.0" valType="num"/>
211
- <Param name="name" updates="None" val="validation" valType="code"/>
212
- <Param name="outerRadius" updates="None" val="0.01" valType="num"/>
213
- <Param name="progressMode" updates="None" val="time" valType="str"/>
214
- <Param name="randomisePos" updates="None" val="True" valType="bool"/>
215
- <Param name="saveAsImg" updates="None" val="False" valType="bool"/>
216
- <Param name="showResults" updates="None" val="True" valType="bool"/>
217
- <Param name="targetDelay" updates="None" val="1.0" valType="num"/>
218
- <Param name="targetDur" updates="None" val="1.5" valType="num"/>
219
- <Param name="targetLayout" updates="None" val="NINE_POINTS" valType="str"/>
220
- <Param name="targetPositions" updates="None" val="NINE_POINTS" valType="list"/>
221
- <Param name="units" updates="None" val="from exp settings" valType="str"/>
222
- </EyetrackerValidationRoutine>
223
- <Routine name="instr">
224
- <TextboxComponent name="instructions">
225
- <Param val="center" valType="str" updates="constant" name="anchor"/>
226
- <Param val="True" valType="bool" updates="constant" name="autoLog"/>
227
- <Param val="False" valType="bool" updates="constant" name="bold"/>
228
- <Param val="None" valType="color" updates="constant" name="borderColor"/>
229
- <Param val="2" valType="num" updates="constant" name="borderWidth"/>
245
+ <Routine name="thanks">
246
+ <TextComponent name="text_2" plugin="None">
230
247
  <Param val="white" valType="color" updates="constant" name="color"/>
231
248
  <Param val="rgb" valType="str" updates="constant" name="colorSpace"/>
232
249
  <Param val="1" valType="num" updates="constant" name="contrast"/>
233
250
  <Param val="False" valType="bool" updates="None" name="disabled"/>
251
+ <Param val="False" valType="code" updates="constant" name="draggable"/>
234
252
  <Param val="" valType="code" updates="None" name="durationEstim"/>
235
- <Param val="False" valType="bool" updates="constant" name="editable"/>
236
- <Param val="None" valType="color" updates="constant" name="fillColor"/>
237
- <Param val="False" valType="bool" updates="constant" name="flipHoriz"/>
238
- <Param val="False" valType="bool" updates="constant" name="flipVert"/>
239
- <Param val="Open Sans" valType="str" updates="constant" name="font"/>
240
- <Param val="False" valType="bool" updates="constant" name="italic"/>
253
+ <Param val="None" valType="str" updates="constant" name="flip"/>
254
+ <Param val="Arial" valType="str" updates="constant" name="font"/>
241
255
  <Param val="LTR" valType="str" updates="None" name="languageStyle"/>
242
256
  <Param val="0.05" valType="num" updates="constant" name="letterHeight"/>
243
- <Param val="1.0" valType="num" updates="constant" name="lineSpacing"/>
244
- <Param val="instructions" valType="code" updates="None" name="name"/>
257
+ <Param val="text_2" valType="code" updates="None" name="name"/>
245
258
  <Param val="" valType="num" updates="constant" name="opacity"/>
246
259
  <Param val="0" valType="num" updates="constant" name="ori"/>
247
- <Param val="0" valType="num" updates="constant" name="padding"/>
248
260
  <Param val="(0, 0)" valType="list" updates="constant" name="pos"/>
249
261
  <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
250
- <Param val="(0.8, 0.8)" valType="list" updates="constant" name="size"/>
251
262
  <Param val="" valType="code" updates="None" name="startEstim"/>
252
263
  <Param val="time (s)" valType="str" updates="None" name="startType"/>
253
264
  <Param val="0.0" valType="code" updates="None" name="startVal"/>
254
265
  <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
255
266
  <Param val="" valType="code" updates="constant" name="stopVal"/>
256
267
  <Param val="True" valType="bool" updates="None" name="syncScreenRefresh"/>
257
- <Param val="This experiment shows off the eyetracking capabilities of Builder.&amp;#10;&amp;#10;In each trial, to move on, look at the dark circle for 5 seconds. The bar at the bottom will show how long you've been looking at it for, the cross will move with your eyes and will turn green when you're looking in the circle.&amp;#10;&amp;#10;Press SPACE to begin." valType="str" updates="constant" name="text"/>
268
+ <Param val="Press space to exit." valType="str" updates="constant" name="text"/>
258
269
  <Param val="from exp settings" valType="str" updates="None" name="units"/>
259
- </TextboxComponent>
260
- <KeyboardComponent name="key_resp">
270
+ <Param val="" valType="code" updates="None" name="validator"/>
271
+ <Param val="" valType="num" updates="constant" name="wrapWidth"/>
272
+ </TextComponent>
273
+ <KeyboardComponent name="key_resp_2" plugin="None">
261
274
  <Param val="'space'" valType="list" updates="constant" name="allowedKeys"/>
262
275
  <Param val="" valType="str" updates="constant" name="correctAns"/>
276
+ <Param val="" valType="str" updates="None" name="deviceLabel"/>
263
277
  <Param val="False" valType="bool" updates="None" name="disabled"/>
264
278
  <Param val="True" valType="bool" updates="constant" name="discard previous"/>
265
279
  <Param val="" valType="code" updates="None" name="durationEstim"/>
266
280
  <Param val="True" valType="bool" updates="constant" name="forceEndRoutine"/>
267
- <Param val="key_resp" valType="code" updates="None" name="name"/>
281
+ <Param val="key_resp_2" valType="code" updates="None" name="name"/>
282
+ <Param val="press" valType="str" updates="constant" name="registerOn"/>
268
283
  <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
269
284
  <Param val="" valType="code" updates="None" name="startEstim"/>
270
285
  <Param val="time (s)" valType="str" updates="None" name="startType"/>
@@ -278,9 +293,7 @@
278
293
  </Routine>
279
294
  </Routines>
280
295
  <Flow>
281
- <EyetrackerCalibrationRoutine name="calibration"/>
282
- <EyetrackerValidationRoutine name="validation"/>
283
- <Routine name="instr"/>
296
+ <Routine name="instructions"/>
284
297
  <LoopInitiator loopType="TrialHandler" name="trials">
285
298
  <Param name="Selected rows" updates="None" val="" valType="str"/>
286
299
  <Param name="conditions" updates="None" val="None" valType="str"/>
@@ -288,11 +301,12 @@
288
301
  <Param name="endPoints" updates="None" val="[0, 1]" valType="num"/>
289
302
  <Param name="isTrials" updates="None" val="True" valType="bool"/>
290
303
  <Param name="loopType" updates="None" val="random" valType="str"/>
291
- <Param name="nReps" updates="None" val="5" valType="num"/>
304
+ <Param name="nReps" updates="None" val="20" valType="num"/>
292
305
  <Param name="name" updates="None" val="trials" valType="code"/>
293
306
  <Param name="random seed" updates="None" val="" valType="code"/>
294
307
  </LoopInitiator>
295
308
  <Routine name="trial"/>
296
309
  <LoopTerminator name="trials"/>
310
+ <Routine name="thanks"/>
297
311
  </Flow>
298
312
  </PsychoPy2experiment>