psychopy 2024.2.5__py3-none-any.whl → 2025.1.1__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 (863) hide show
  1. psychopy/CHANGELOG.txt +4 -4
  2. psychopy/GIT_SHA +1 -1
  3. psychopy/LICENSE.txt +1 -1
  4. psychopy/VERSION +1 -1
  5. psychopy/__init__.py +10 -7
  6. psychopy/alerts/__init__.py +1 -1
  7. psychopy/alerts/_alerts.py +53 -17
  8. psychopy/alerts/_errorHandler.py +3 -4
  9. psychopy/alerts/alertsCatalogue/3210.yaml +27 -0
  10. psychopy/alerts/alertsCatalogue/3610.yaml +19 -0
  11. psychopy/alerts/alertsCatalogue/4130.yaml +19 -0
  12. psychopy/alerts/alertsCatalogue/alertCategories.yaml +8 -1
  13. psychopy/alerts/alertsCatalogue/alertmsg.py +1 -1
  14. psychopy/alerts/alerttools.py +0 -16
  15. psychopy/app/Resources/betasplash.png +0 -0
  16. psychopy/app/Resources/betasplash@2x.png +0 -0
  17. psychopy/app/Resources/classic/case.png +0 -0
  18. psychopy/app/Resources/classic/case@2x.png +0 -0
  19. psychopy/app/Resources/classic/fileaudio.png +0 -0
  20. psychopy/app/Resources/classic/fileaudio@2x.png +0 -0
  21. psychopy/app/Resources/classic/filecss.png +0 -0
  22. psychopy/app/Resources/classic/filecss@2x.png +0 -0
  23. psychopy/app/Resources/classic/filecsv.png +0 -0
  24. psychopy/app/Resources/classic/filecsv@2x.png +0 -0
  25. psychopy/app/Resources/classic/filedesign.png +0 -0
  26. psychopy/app/Resources/classic/filedesign@2x.png +0 -0
  27. psychopy/app/Resources/classic/filefont.png +0 -0
  28. psychopy/app/Resources/classic/filefont@2x.png +0 -0
  29. psychopy/app/Resources/classic/filegit.png +0 -0
  30. psychopy/app/Resources/classic/filegit@2x.png +0 -0
  31. psychopy/app/Resources/classic/filehtml.png +0 -0
  32. psychopy/app/Resources/classic/filehtml@2x.png +0 -0
  33. psychopy/app/Resources/classic/fileimage.png +0 -0
  34. psychopy/app/Resources/classic/fileimage@2x.png +0 -0
  35. psychopy/app/Resources/classic/fileinfo.png +0 -0
  36. psychopy/app/Resources/classic/fileinfo@2x.png +0 -0
  37. psychopy/app/Resources/classic/filejs.png +0 -0
  38. psychopy/app/Resources/classic/filejs@2x.png +0 -0
  39. psychopy/app/Resources/classic/filejson.png +0 -0
  40. psychopy/app/Resources/classic/filejson@2x.png +0 -0
  41. psychopy/app/Resources/classic/filepkg.png +0 -0
  42. psychopy/app/Resources/classic/filepkg@2x.png +0 -0
  43. psychopy/app/Resources/classic/filepsyexp.png +0 -0
  44. psychopy/app/Resources/classic/filepsyexp@2x.png +0 -0
  45. psychopy/app/Resources/classic/filepy.png +0 -0
  46. psychopy/app/Resources/classic/filepy@2x.png +0 -0
  47. psychopy/app/Resources/classic/filetxt.png +0 -0
  48. psychopy/app/Resources/classic/filetxt@2x.png +0 -0
  49. psychopy/app/Resources/classic/fileunknown.png +0 -0
  50. psychopy/app/Resources/classic/fileunknown@2x.png +0 -0
  51. psychopy/app/Resources/classic/filevideo.png +0 -0
  52. psychopy/app/Resources/classic/filevideo@2x.png +0 -0
  53. psychopy/app/Resources/classic/find.png +0 -0
  54. psychopy/app/Resources/classic/find@2x.png +0 -0
  55. psychopy/app/Resources/classic/loop.png +0 -0
  56. psychopy/app/Resources/classic/loop@2x.png +0 -0
  57. psychopy/app/Resources/classic/regex.png +0 -0
  58. psychopy/app/Resources/classic/regex@2x.png +0 -0
  59. psychopy/app/Resources/dark/case.png +0 -0
  60. psychopy/app/Resources/dark/case@2x.png +0 -0
  61. psychopy/app/Resources/dark/fileaudio.png +0 -0
  62. psychopy/app/Resources/dark/fileaudio@2x.png +0 -0
  63. psychopy/app/Resources/dark/filecss.png +0 -0
  64. psychopy/app/Resources/dark/filecss@2x.png +0 -0
  65. psychopy/app/Resources/dark/filecsv.png +0 -0
  66. psychopy/app/Resources/dark/filecsv@2x.png +0 -0
  67. psychopy/app/Resources/dark/filedesign.png +0 -0
  68. psychopy/app/Resources/dark/filedesign@2x.png +0 -0
  69. psychopy/app/Resources/dark/filefont.png +0 -0
  70. psychopy/app/Resources/dark/filefont@2x.png +0 -0
  71. psychopy/app/Resources/dark/filegit.png +0 -0
  72. psychopy/app/Resources/dark/filegit@2x.png +0 -0
  73. psychopy/app/Resources/dark/filehtml.png +0 -0
  74. psychopy/app/Resources/dark/filehtml@2x.png +0 -0
  75. psychopy/app/Resources/dark/fileimage.png +0 -0
  76. psychopy/app/Resources/dark/fileimage@2x.png +0 -0
  77. psychopy/app/Resources/dark/fileinfo.png +0 -0
  78. psychopy/app/Resources/dark/fileinfo@2x.png +0 -0
  79. psychopy/app/Resources/dark/filejs.png +0 -0
  80. psychopy/app/Resources/dark/filejs@2x.png +0 -0
  81. psychopy/app/Resources/dark/filejson.png +0 -0
  82. psychopy/app/Resources/dark/filejson@2x.png +0 -0
  83. psychopy/app/Resources/dark/filepkg.png +0 -0
  84. psychopy/app/Resources/dark/filepkg@2x.png +0 -0
  85. psychopy/app/Resources/dark/filepsyexp.png +0 -0
  86. psychopy/app/Resources/dark/filepsyexp@2x.png +0 -0
  87. psychopy/app/Resources/dark/filepy.png +0 -0
  88. psychopy/app/Resources/dark/filepy@2x.png +0 -0
  89. psychopy/app/Resources/dark/filetxt.png +0 -0
  90. psychopy/app/Resources/dark/filetxt@2x.png +0 -0
  91. psychopy/app/Resources/dark/fileunknown.png +0 -0
  92. psychopy/app/Resources/dark/fileunknown@2x.png +0 -0
  93. psychopy/app/Resources/dark/filevideo.png +0 -0
  94. psychopy/app/Resources/dark/filevideo@2x.png +0 -0
  95. psychopy/app/Resources/dark/find.png +0 -0
  96. psychopy/app/Resources/dark/find@2x.png +0 -0
  97. psychopy/app/Resources/dark/loop.png +0 -0
  98. psychopy/app/Resources/dark/loop@2x.png +0 -0
  99. psychopy/app/Resources/dark/regex.png +0 -0
  100. psychopy/app/Resources/dark/regex@2x.png +0 -0
  101. psychopy/app/Resources/light/case.png +0 -0
  102. psychopy/app/Resources/light/case@2x.png +0 -0
  103. psychopy/app/Resources/light/fileaudio.png +0 -0
  104. psychopy/app/Resources/light/fileaudio@2x.png +0 -0
  105. psychopy/app/Resources/light/filecss.png +0 -0
  106. psychopy/app/Resources/light/filecss@2x.png +0 -0
  107. psychopy/app/Resources/light/filecsv.png +0 -0
  108. psychopy/app/Resources/light/filecsv@2x.png +0 -0
  109. psychopy/app/Resources/light/filedesign.png +0 -0
  110. psychopy/app/Resources/light/filedesign@2x.png +0 -0
  111. psychopy/app/Resources/light/filefont.png +0 -0
  112. psychopy/app/Resources/light/filefont@2x.png +0 -0
  113. psychopy/app/Resources/light/filegit.png +0 -0
  114. psychopy/app/Resources/light/filegit@2x.png +0 -0
  115. psychopy/app/Resources/light/filehtml.png +0 -0
  116. psychopy/app/Resources/light/filehtml@2x.png +0 -0
  117. psychopy/app/Resources/light/fileimage.png +0 -0
  118. psychopy/app/Resources/light/fileimage@2x.png +0 -0
  119. psychopy/app/Resources/light/fileinfo.png +0 -0
  120. psychopy/app/Resources/light/fileinfo@2x.png +0 -0
  121. psychopy/app/Resources/light/filejs.png +0 -0
  122. psychopy/app/Resources/light/filejs@2x.png +0 -0
  123. psychopy/app/Resources/light/filejson.png +0 -0
  124. psychopy/app/Resources/light/filejson@2x.png +0 -0
  125. psychopy/app/Resources/light/filepkg.png +0 -0
  126. psychopy/app/Resources/light/filepkg@2x.png +0 -0
  127. psychopy/app/Resources/light/filepsyexp.png +0 -0
  128. psychopy/app/Resources/light/filepsyexp@2x.png +0 -0
  129. psychopy/app/Resources/light/filepy.png +0 -0
  130. psychopy/app/Resources/light/filepy@2x.png +0 -0
  131. psychopy/app/Resources/light/filetxt.png +0 -0
  132. psychopy/app/Resources/light/filetxt@2x.png +0 -0
  133. psychopy/app/Resources/light/fileunknown.png +0 -0
  134. psychopy/app/Resources/light/fileunknown@2x.png +0 -0
  135. psychopy/app/Resources/light/filevideo.png +0 -0
  136. psychopy/app/Resources/light/filevideo@2x.png +0 -0
  137. psychopy/app/Resources/light/find.png +0 -0
  138. psychopy/app/Resources/light/find@2x.png +0 -0
  139. psychopy/app/Resources/light/loop.png +0 -0
  140. psychopy/app/Resources/light/loop@2x.png +0 -0
  141. psychopy/app/Resources/light/regex.png +0 -0
  142. psychopy/app/Resources/light/regex@2x.png +0 -0
  143. psychopy/app/Resources/routine_templates/Basic.psyexp +0 -1
  144. psychopy/app/Resources/routine_templates/Misc.psyexp +0 -1
  145. psychopy/app/Resources/routine_templates/Online.psyexp +0 -2
  146. psychopy/app/Resources/routine_templates/Trials.psyexp +0 -1
  147. psychopy/app/Resources/splash.png +0 -0
  148. psychopy/app/Resources/splash@2x.png +0 -0
  149. psychopy/app/__init__.py +49 -8
  150. psychopy/app/__main__.py +3 -0
  151. psychopy/app/_psychopyApp.py +134 -125
  152. psychopy/app/builder/builder.py +42 -22
  153. psychopy/app/builder/dialogs/__init__.py +44 -11
  154. psychopy/app/builder/dialogs/dlgsCode.py +1 -1
  155. psychopy/app/builder/dialogs/dlgsConditions.py +1 -1
  156. psychopy/app/builder/dialogs/findDlg.py +106 -20
  157. psychopy/app/builder/dialogs/paramCtrls.py +42 -1
  158. psychopy/app/builder/validators.py +1 -1
  159. psychopy/app/coder/codeEditorBase.py +8 -8
  160. psychopy/app/coder/coder.py +32 -29
  161. psychopy/app/coder/fileBrowser.py +68 -22
  162. psychopy/app/coder/folding.py +1 -1
  163. psychopy/app/coder/psychoParser.py +1 -1
  164. psychopy/app/coder/repl.py +1 -1
  165. psychopy/app/coder/sourceTree.py +1 -1
  166. psychopy/app/connections/__init__.py +1 -1
  167. psychopy/app/connections/news.py +1 -1
  168. psychopy/app/connections/sendusage.py +1 -1
  169. psychopy/app/connections/updates.py +1 -1
  170. psychopy/app/console.py +1 -1
  171. psychopy/app/errorDlg.py +1 -1
  172. psychopy/app/frametracker.py +1 -1
  173. psychopy/app/idle.py +1 -1
  174. psychopy/app/jobs.py +5 -2
  175. psychopy/app/linuxconfig/__init__.py +1 -1
  176. psychopy/app/locale/ar_001/LC_MESSAGE/messages.mo +0 -0
  177. psychopy/app/locale/ar_001/LC_MESSAGE/messages.po +4 -4
  178. psychopy/app/locale/cs_CZ/LC_MESSAGE/messages.mo +0 -0
  179. psychopy/app/locale/da_DK/LC_MESSAGE/messages.mo +0 -0
  180. psychopy/app/locale/de_DE/LC_MESSAGE/messages.mo +0 -0
  181. psychopy/app/locale/de_DE/LC_MESSAGE/messages.po +3 -3
  182. psychopy/app/locale/el_GR/LC_MESSAGE/messages.mo +0 -0
  183. psychopy/app/locale/en_NZ/LC_MESSAGE/messages.mo +0 -0
  184. psychopy/app/locale/en_US/LC_MESSAGE/messages.mo +0 -0
  185. psychopy/app/locale/es_CO/LC_MESSAGE/messages.mo +0 -0
  186. psychopy/app/locale/es_CO/LC_MESSAGE/messages.po +4 -4
  187. psychopy/app/locale/es_ES/LC_MESSAGE/messages.mo +0 -0
  188. psychopy/app/locale/es_ES/LC_MESSAGE/messages.po +4 -4
  189. psychopy/app/locale/es_US/LC_MESSAGE/messages.mo +0 -0
  190. psychopy/app/locale/es_US/LC_MESSAGE/messages.po +4 -4
  191. psychopy/app/locale/et_EE/LC_MESSAGE/messages.mo +0 -0
  192. psychopy/app/locale/et_EE/LC_MESSAGE/messages.po +2 -2
  193. psychopy/app/locale/fa_IR/LC_MESSAGE/messages.mo +0 -0
  194. psychopy/app/locale/fa_IR/LC_MESSAGE/messages.po +1 -1
  195. psychopy/app/locale/fi_FI/LC_MESSAGE/messages.mo +0 -0
  196. psychopy/app/locale/fr_FR/LC_MESSAGE/messages.mo +0 -0
  197. psychopy/app/locale/fr_FR/LC_MESSAGE/messages.po +2 -2
  198. psychopy/app/locale/he_IL/LC_MESSAGE/messages.mo +0 -0
  199. psychopy/app/locale/he_IL/LC_MESSAGE/messages.po +2 -2
  200. psychopy/app/locale/hi_IN/LC_MESSAGE/messages.mo +0 -0
  201. psychopy/app/locale/hi_IN/LC_MESSAGE/messages.po +2 -2
  202. psychopy/app/locale/hu_HU/LC_MESSAGE/messages.mo +0 -0
  203. psychopy/app/locale/it_IT/LC_MESSAGE/messages.mo +0 -0
  204. psychopy/app/locale/it_IT/LC_MESSAGE/messages.po +2 -2
  205. psychopy/app/locale/ja_JP/LC_MESSAGE/messages.mo +0 -0
  206. psychopy/app/locale/ja_JP/LC_MESSAGE/messages.po +3421 -2396
  207. psychopy/app/locale/ko_KR/LC_MESSAGE/messages.mo +0 -0
  208. psychopy/app/locale/ms_MY/LC_MESSAGE/messages.mo +0 -0
  209. psychopy/app/locale/ms_MY/LC_MESSAGE/messages.po +2 -2
  210. psychopy/app/locale/nl_NL/LC_MESSAGE/messages.mo +0 -0
  211. psychopy/app/locale/nn_NO/LC_MESSAGE/messages.mo +0 -0
  212. psychopy/app/locale/pl_PL/LC_MESSAGE/messages.mo +0 -0
  213. psychopy/app/locale/pt_PT/LC_MESSAGE/messages.mo +0 -0
  214. psychopy/app/locale/pt_PT/LC_MESSAGE/messages.po +4 -4
  215. psychopy/app/locale/ro_RO/LC_MESSAGE/messages.mo +0 -0
  216. psychopy/app/locale/ru_RU/LC_MESSAGE/messages.mo +0 -0
  217. psychopy/app/locale/sv_SE/LC_MESSAGE/messages.mo +0 -0
  218. psychopy/app/locale/sv_SE/LC_MESSAGE/messages.po +2 -2
  219. psychopy/app/locale/tr_TR/LC_MESSAGE/messages.mo +0 -0
  220. psychopy/app/locale/tr_TR/LC_MESSAGE/messages.po +2 -2
  221. psychopy/app/locale/zh_CN/LC_MESSAGE/messages.mo +0 -0
  222. psychopy/app/locale/zh_CN/LC_MESSAGE/messages.po +3 -3
  223. psychopy/app/locale/zh_TW/LC_MESSAGE/messages.mo +0 -0
  224. psychopy/app/locale/zh_TW/LC_MESSAGE/messages.po +2 -2
  225. psychopy/app/{builder/localizedStrings.py → localizedStrings.py} +173 -26
  226. psychopy/app/pavlovia_ui/__init__.py +1 -1
  227. psychopy/app/pavlovia_ui/_base.py +1 -1
  228. psychopy/app/pavlovia_ui/functions.py +1 -1
  229. psychopy/app/pavlovia_ui/menu.py +1 -1
  230. psychopy/app/pavlovia_ui/project.py +1 -1
  231. psychopy/app/pavlovia_ui/search.py +1 -1
  232. psychopy/app/pavlovia_ui/sync.py +1 -1
  233. psychopy/app/pavlovia_ui/user.py +1 -1
  234. psychopy/app/plugin_manager/dialog.py +34 -96
  235. psychopy/app/plugin_manager/packages.py +10 -14
  236. psychopy/app/plugin_manager/plugins.py +64 -4
  237. psychopy/app/preferencesDlg.py +12 -37
  238. psychopy/app/psychopyApp.py +130 -44
  239. psychopy/app/ribbon.py +1 -0
  240. psychopy/app/runner/runner.py +19 -7
  241. psychopy/app/runner/scriptProcess.py +11 -6
  242. psychopy/app/stdout/stdOutRich.py +9 -2
  243. psychopy/app/themes/fonts.py +1 -1
  244. psychopy/app/themes/icons.py +2 -38
  245. psychopy/app/ui/__init__.py +1 -1
  246. psychopy/app/utils.py +3 -3
  247. psychopy/assets/default.mp3 +0 -0
  248. psychopy/assets/fonts/NotoSans-Bold.ttf +0 -0
  249. psychopy/assets/fonts/NotoSans-BoldItalic.ttf +0 -0
  250. psychopy/assets/fonts/NotoSans-Italic.ttf +0 -0
  251. psychopy/assets/fonts/NotoSans-Regular.ttf +0 -0
  252. psychopy/assets/voicekeyThresholdStim.wav +0 -0
  253. psychopy/clock.py +4 -1
  254. psychopy/colors.py +12 -5
  255. psychopy/core.py +1 -1
  256. psychopy/data/base.py +1 -1
  257. psychopy/data/experiment.py +151 -46
  258. psychopy/data/routine.py +27 -1
  259. psychopy/data/staircase.py +2 -1
  260. psychopy/data/trial.py +62 -14
  261. psychopy/data/utils.py +2 -2
  262. psychopy/demos/builder/Design Templates/branchedExperiment/branchedExperiment.psyexp +333 -218
  263. psychopy/demos/builder/Design Templates/psychophysicsStaircase/psychophysicsStaircase.psyexp +261 -239
  264. psychopy/demos/builder/Design Templates/psychophysicsStairsInterleaved/psychophysicsStaircaseInterleaved.psyexp +319 -180
  265. psychopy/demos/builder/Design Templates/randomisedBlocks/randomisedBlocks.psyexp +204 -116
  266. psychopy/demos/builder/Experiments/BART/assets/background.jpg +0 -0
  267. psychopy/demos/builder/Experiments/BART/assets/blueBalloon.png +0 -0
  268. psychopy/demos/builder/Experiments/BART/assets/greenBalloon.png +0 -0
  269. psychopy/demos/builder/Experiments/BART/assets/redBalloon.png +0 -0
  270. psychopy/demos/builder/Experiments/BART/bart.psyexp +779 -866
  271. psychopy/demos/builder/Experiments/BigFiveInventory/BFI.psyexp +242 -180
  272. psychopy/demos/builder/Experiments/GoNoGo/gng.psyexp +419 -406
  273. psychopy/demos/builder/Experiments/dragAndDrop/README.md +2 -37
  274. psychopy/demos/builder/Experiments/dragAndDrop/drag_and_drop.psyexp +460 -1204
  275. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/blank_grid.png +0 -0
  276. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/make_shapes.psyexp +221 -0
  277. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/readme.md +4 -0
  278. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_1.png +0 -0
  279. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_10.png +0 -0
  280. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_2.png +0 -0
  281. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_3.png +0 -0
  282. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_4.png +0 -0
  283. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_5.png +0 -0
  284. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_6.png +0 -0
  285. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_7.png +0 -0
  286. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_8.png +0 -0
  287. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_9.png +0 -0
  288. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solutions.xlsx +0 -0
  289. psychopy/demos/builder/Experiments/mentalRotation/MentalRotation.psyexp +583 -542
  290. psychopy/demos/builder/Experiments/navon/NavonTask.psyexp +458 -427
  291. psychopy/demos/builder/Experiments/sternberg/sternberg.psyexp +588 -550
  292. psychopy/demos/builder/Experiments/stroop/stroop.psyexp +303 -207
  293. psychopy/demos/builder/Experiments/stroopExtended/stroop.psyexp +390 -215
  294. psychopy/demos/builder/Experiments/stroopExtended/stroopReverse.psyexp +390 -215
  295. psychopy/demos/builder/Experiments/stroopVoice/stroopVoice.psyexp +357 -331
  296. psychopy/demos/builder/Feature Demos/buttonBox/buttonBoxDemo.psyexp +3 -2
  297. psychopy/demos/builder/Feature Demos/counterbalance/counterbalance.psyexp +287 -277
  298. psychopy/demos/builder/Feature Demos/gratings/gratings.psyexp +370 -320
  299. psychopy/demos/builder/Feature Demos/noise/noise.psyexp +452 -399
  300. psychopy/demos/builder/Feature Demos/panorama/panorama.psyexp +168 -133
  301. psychopy/demos/builder/Feature Demos/pilotMode/pilotMode.psyexp +4 -3
  302. psychopy/demos/builder/Feature Demos/progress/progressBar.psyexp +420 -392
  303. psychopy/demos/builder/Feature Demos/sliders/sliders.psyexp +917 -871
  304. psychopy/demos/builder/Feature Demos/visualValidator/readme.md +7 -0
  305. psychopy/demos/builder/Feature Demos/visualValidator/visualValidator.psyexp +200 -0
  306. psychopy/demos/builder/Hardware/EEG_parallel_component/EEG_triggers_parallel_comp.psyexp +25 -9
  307. psychopy/demos/builder/Hardware/EEG_serial_code/EEG_triggers_serial_code.psyexp +372 -361
  308. psychopy/demos/builder/Hardware/EEG_serial_component/EEG_triggers_serial_comp.psyexp +25 -9
  309. psychopy/demos/builder/Hardware/EGI_netstation/stroop.psyexp +320 -235
  310. psychopy/demos/builder/Hardware/Eyetracking_visual_search/visualSearch.psyexp +790 -651
  311. psychopy/demos/builder/Hardware/camera/camera.psyexp +326 -246
  312. psychopy/demos/builder/Hardware/eyetracking/eyetracking.psyexp +432 -327
  313. psychopy/demos/builder/Hardware/eyetracking_custom_cal/eyetracking_custom_cal.psyexp +440 -321
  314. psychopy/demos/builder/Hardware/fMRI/fMRI_demo.psyexp +190 -181
  315. psychopy/demos/builder/Hardware/lab_streaming_layer/lsl_triggers_demo.psyexp +323 -312
  316. psychopy/demos/builder/Hardware/lab_streaming_layer/lsl_triggers_demo_legacy.psyexp +360 -0
  317. psychopy/demos/builder/Hardware/lab_streaming_layer/lsl_triggers_demo_legacy_legacy.psyexp +312 -0
  318. psychopy/demos/builder/Hardware/lab_streaming_layer_legacy/lsl_triggers_demo_legacy.psyexp +329 -273
  319. psychopy/demos/builder/Hardware/lab_streaming_layer_legacy/lsl_triggers_demo_legacy_legacy.psyexp +360 -0
  320. psychopy/demos/builder/Hardware/lab_streaming_layer_legacy/lsl_triggers_demo_legacy_legacy_legacy.psyexp +312 -0
  321. psychopy/demos/builder/Hardware/microphone/microphone.psyexp +450 -404
  322. psychopy/demos/builder/Hardware/pump/pump.psyexp +593 -329
  323. psychopy/demos/builder/Helper Tools/achorVSalignment/FlowCircular-Regular.ttf +0 -0
  324. psychopy/demos/builder/Helper Tools/achorVSalignment/anchorAlignment.psyexp +336 -274
  325. psychopy/demos/builder/Helper Tools/clockFace/clockFace.psyexp +200 -149
  326. psychopy/demos/builder/Helper Tools/colors/colors.psyexp +300 -279
  327. psychopy/demos/builder/Helper Tools/drawPolygon/drawPolygon.psyexp +677 -564
  328. psychopy/demos/builder/Helper Tools/keyNameFinder/keyNameFinder.psyexp +214 -158
  329. psychopy/demos/builder/Helper Tools/spatialUnits/unitDemo.psyexp +195 -146
  330. psychopy/demos/coder/experiment control/runtimeInfo.py +1 -1
  331. psychopy/devices/__init__.py +1 -1
  332. psychopy/event.py +1 -1
  333. psychopy/exceptions.py +1 -1
  334. psychopy/experiment/__init__.py +1 -1
  335. psychopy/experiment/_experiment.py +30 -9
  336. psychopy/experiment/components/__init__.py +1 -6
  337. psychopy/experiment/components/_base.py +44 -19
  338. psychopy/experiment/components/aperture/__init__.py +1 -1
  339. psychopy/experiment/components/brush/__init__.py +2 -2
  340. psychopy/experiment/components/button/__init__.py +24 -28
  341. psychopy/experiment/components/camera/__init__.py +38 -39
  342. psychopy/experiment/components/code/__init__.py +1 -1
  343. psychopy/experiment/components/dots/__init__.py +1 -1
  344. psychopy/experiment/components/eyetracker_record/__init__.py +7 -3
  345. psychopy/experiment/components/form/__init__.py +3 -3
  346. psychopy/experiment/components/grating/__init__.py +1 -1
  347. psychopy/experiment/components/image/__init__.py +1 -1
  348. psychopy/experiment/components/joyButtons/__init__.py +2 -2
  349. psychopy/experiment/components/joyButtons/virtualJoyButtons.py +1 -1
  350. psychopy/experiment/components/joystick/__init__.py +3 -3
  351. psychopy/experiment/components/joystick/virtualJoystick.py +1 -1
  352. psychopy/experiment/components/keyboard/__init__.py +98 -122
  353. psychopy/experiment/components/microphone/__init__.py +54 -98
  354. psychopy/experiment/components/mouse/__init__.py +92 -93
  355. psychopy/experiment/components/movie/__init__.py +28 -50
  356. psychopy/experiment/components/parallelOut/__init__.py +3 -3
  357. psychopy/experiment/components/polygon/__init__.py +2 -3
  358. psychopy/experiment/components/roi/__init__.py +2 -2
  359. psychopy/experiment/components/routineSettings/__init__.py +2 -0
  360. psychopy/experiment/components/serialOut/__init__.py +7 -7
  361. psychopy/experiment/components/settings/__init__.py +317 -313
  362. psychopy/experiment/components/settings/eyetracking.py +108 -0
  363. psychopy/experiment/components/slider/__init__.py +5 -5
  364. psychopy/experiment/components/sound/__init__.py +168 -78
  365. psychopy/experiment/components/soundsensor/__init__.py +361 -0
  366. psychopy/experiment/components/soundsensor/classic/soundsensor.png +0 -0
  367. psychopy/experiment/components/soundsensor/classic/soundsensor@2x.png +0 -0
  368. psychopy/experiment/components/soundsensor/dark/soundsensor.png +0 -0
  369. psychopy/experiment/components/soundsensor/dark/soundsensor@2x.png +0 -0
  370. psychopy/experiment/components/soundsensor/light/soundsensor.png +0 -0
  371. psychopy/experiment/components/soundsensor/light/soundsensor@2x.png +0 -0
  372. psychopy/experiment/components/static/__init__.py +59 -33
  373. psychopy/experiment/components/text/__init__.py +2 -6
  374. psychopy/experiment/components/textbox/__init__.py +3 -7
  375. psychopy/experiment/components/unknown/__init__.py +2 -0
  376. psychopy/experiment/components/unknownPlugin/__init__.py +2 -0
  377. psychopy/experiment/exports.py +1 -1
  378. psychopy/experiment/flow.py +2 -2
  379. psychopy/experiment/localization.py +1 -1
  380. psychopy/experiment/loops.py +43 -10
  381. psychopy/experiment/params.py +6 -4
  382. psychopy/experiment/plugins.py +8 -1
  383. psychopy/experiment/py2js.py +1 -1
  384. psychopy/experiment/py2js_transpiler.py +1 -1
  385. psychopy/experiment/routines/__init__.py +1 -1
  386. psychopy/experiment/routines/_base.py +23 -24
  387. psychopy/experiment/routines/audioValidator/__init__.py +343 -0
  388. psychopy/experiment/routines/audioValidator/classic/audio_validator.png +0 -0
  389. psychopy/experiment/routines/audioValidator/classic/audio_validator@2x.png +0 -0
  390. psychopy/experiment/routines/audioValidator/dark/audio_validator.png +0 -0
  391. psychopy/experiment/routines/audioValidator/dark/audio_validator@2x.png +0 -0
  392. psychopy/experiment/routines/audioValidator/light/audio_validator.png +0 -0
  393. psychopy/experiment/routines/audioValidator/light/audio_validator@2x.png +0 -0
  394. psychopy/experiment/routines/eyetracker_calibrate/__init__.py +76 -17
  395. psychopy/experiment/routines/eyetracker_validate/__init__.py +1 -1
  396. psychopy/experiment/routines/unknown/__init__.py +2 -0
  397. psychopy/experiment/routines/{photodiodeValidator → visualValidator}/__init__.py +89 -120
  398. psychopy/experiment/routines/visualValidator/classic/visual_validator.png +0 -0
  399. psychopy/experiment/routines/visualValidator/classic/visual_validator@2x.png +0 -0
  400. psychopy/experiment/routines/visualValidator/dark/visual_validator.png +0 -0
  401. psychopy/experiment/routines/visualValidator/dark/visual_validator@2x.png +0 -0
  402. psychopy/experiment/routines/visualValidator/light/visual_validator.png +0 -0
  403. psychopy/experiment/routines/visualValidator/light/visual_validator@2x.png +0 -0
  404. psychopy/experiment/utils.py +1 -1
  405. psychopy/gui/__init__.py +1 -1
  406. psychopy/gui/qtgui.py +15 -6
  407. psychopy/gui/wxgui.py +1 -1
  408. psychopy/hardware/__init__.py +0 -1
  409. psychopy/hardware/base.py +147 -16
  410. psychopy/hardware/bbtk/__init__.py +10 -16
  411. psychopy/hardware/brainproducts.py +7 -13
  412. psychopy/hardware/button.py +21 -2
  413. psychopy/hardware/buttonbox/__init__.py +1 -1
  414. psychopy/hardware/camera/__init__.py +18 -5
  415. psychopy/hardware/cedrus.py +5 -16
  416. psychopy/hardware/crs/__init__.py +1 -1
  417. psychopy/hardware/crs/bits.py +36 -33
  418. psychopy/hardware/crs/colorcal.py +8 -11
  419. psychopy/hardware/crs/optical.py +7 -10
  420. psychopy/hardware/crs/shaders.py +18 -5
  421. psychopy/hardware/emotiv.py +1 -1
  422. psychopy/hardware/emulator.py +11 -5
  423. psychopy/hardware/exceptions.py +86 -0
  424. psychopy/hardware/forp.py +18 -23
  425. psychopy/hardware/gammasci.py +8 -3
  426. psychopy/hardware/iolab.py +8 -19
  427. psychopy/hardware/joystick/__init__.py +865 -266
  428. psychopy/hardware/joystick/_base.py +251 -0
  429. psychopy/hardware/joystick/backend_glfw.py +306 -0
  430. psychopy/hardware/joystick/backend_pyglet.py +309 -0
  431. psychopy/hardware/joystick/mappings.py +287 -0
  432. psychopy/hardware/keyboard.py +4 -2
  433. psychopy/hardware/labhackers.py +1 -1
  434. psychopy/hardware/labjacks.py +9 -13
  435. psychopy/hardware/{photodiode.py → lightsensor.py} +146 -203
  436. psychopy/hardware/listener.py +9 -8
  437. psychopy/hardware/manager.py +24 -35
  438. psychopy/hardware/microphone.py +535 -155
  439. psychopy/hardware/minolta.py +14 -4
  440. psychopy/hardware/mouse/__init__.py +1 -1
  441. psychopy/hardware/photometer/__init__.py +2 -2
  442. psychopy/hardware/pr.py +14 -4
  443. psychopy/hardware/qmix.py +18 -27
  444. psychopy/hardware/serialdevice.py +43 -12
  445. psychopy/hardware/soundsensor.py +473 -0
  446. psychopy/hardware/spatial/__init__.py +231 -0
  447. psychopy/hardware/speaker.py +298 -36
  448. psychopy/hardware/triggerbox/__init__.py +1 -1
  449. psychopy/hardware/triggerbox/base.py +1 -1
  450. psychopy/hardware/triggerbox/parallel.py +1 -1
  451. psychopy/info.py +1 -1
  452. psychopy/iohub/devices/eyetracker/__init__.py +10 -18
  453. psychopy/iohub/devices/eyetracker/calibration/procedure.py +15 -33
  454. psychopy/iohub/devices/eyetracker/hw/gazepoint/__init__.py +2 -2
  455. psychopy/iohub/devices/eyetracker/hw/gazepoint/gp3/__init__.py +1 -0
  456. psychopy/iohub/devices/eyetracker/hw/gazepoint/gp3/eyetracker.py +10 -0
  457. psychopy/iohub/devices/eyetracker/hw/pupil_labs/neon/__init__.py +1 -0
  458. psychopy/iohub/devices/mouse/linux2.py +2 -1
  459. psychopy/layout.py +1 -1
  460. psychopy/liaison.py +91 -39
  461. psychopy/locale_setup.py +11 -1
  462. psychopy/localization/__init__.py +1 -1
  463. psychopy/localization/_localization.py +1 -1
  464. psychopy/localization/messages.pot +2 -2
  465. psychopy/logging.py +14 -12
  466. psychopy/microphone.py +4 -3
  467. psychopy/misc.py +1 -1
  468. psychopy/monitors/MonitorCenter.py +3 -3
  469. psychopy/monitors/__init__.py +1 -1
  470. psychopy/monitors/calibData.py +1 -1
  471. psychopy/monitors/calibTools.py +3 -2
  472. psychopy/platform_specific/__init__.py +1 -1
  473. psychopy/platform_specific/darwin.py +1 -1
  474. psychopy/platform_specific/linux.py +1 -1
  475. psychopy/platform_specific/win32.py +1 -1
  476. psychopy/plugins/__init__.py +26 -17
  477. psychopy/plugins/util.py +65 -0
  478. psychopy/preferences/Darwin.spec +11 -3
  479. psychopy/preferences/FreeBSD.spec +11 -3
  480. psychopy/preferences/Linux.spec +11 -3
  481. psychopy/preferences/Windows.spec +11 -3
  482. psychopy/preferences/__init__.py +1 -1
  483. psychopy/preferences/baseNoArch.spec +11 -3
  484. psychopy/preferences/hints.py +78 -61
  485. psychopy/preferences/preferences.py +82 -13
  486. psychopy/projects/__init__.py +1 -1
  487. psychopy/projects/pavlovia.py +29 -13
  488. psychopy/scripts/psyexpCompile.py +1 -1
  489. psychopy/session.py +81 -8
  490. psychopy/sound/__init__.py +25 -10
  491. psychopy/sound/_base.py +134 -34
  492. psychopy/sound/audioclip.py +38 -15
  493. psychopy/sound/audiodevice.py +1 -1
  494. psychopy/sound/backend_ptb.py +53 -321
  495. psychopy/sound/backend_pygame.py +7 -3
  496. psychopy/sound/backend_pyo.py +53 -22
  497. psychopy/sound/backend_pysound.py +10 -27
  498. psychopy/sound/backend_sounddevice.py +33 -21
  499. psychopy/sound/exceptions.py +1 -1
  500. psychopy/sound/microphone.py +83 -5
  501. psychopy/sound/transcribe.py +3 -3
  502. psychopy/tests/data/test_basic_run.py +1 -0
  503. psychopy/tests/data/test_sounds/default_16000.wav +0 -0
  504. psychopy/tests/data/test_sounds/default_192000.wav +0 -0
  505. psychopy/tests/data/test_sounds/default_22050.wav +0 -0
  506. psychopy/tests/data/test_sounds/default_32000.wav +0 -0
  507. psychopy/tests/data/test_sounds/default_44100.wav +0 -0
  508. psychopy/tests/data/test_sounds/default_48000.wav +0 -0
  509. psychopy/tests/data/test_sounds/default_8000.wav +0 -0
  510. psychopy/tests/data/test_sounds/default_96000.wav +0 -0
  511. psychopy/tests/test_alerts/test_alerttools.py +2 -1
  512. psychopy/tests/test_app/test_command_line.py +65 -0
  513. psychopy/tests/test_data/test_TrialHandler2.py +18 -7
  514. psychopy/tests/test_demos/test_builder_demos.py +1 -1
  515. psychopy/tests/test_experiment/needs_wx/componsTemplate.txt +5238 -4188
  516. psychopy/tests/test_experiment/needs_wx/test_components.py +1 -1
  517. psychopy/tests/test_experiment/test_components/test_RoutineSettingsComponent.py +16 -0
  518. psychopy/tests/test_experiment/test_components/test_all_components.py +1 -1
  519. psychopy/tests/test_experiment/test_components/test_base_components.py +26 -17
  520. psychopy/tests/test_experiment/test_loops.py +12 -4
  521. psychopy/tests/test_experiment/test_params.py +17 -4
  522. psychopy/tests/test_experiment/test_routines/test_PhotodiodeValidationRoutine.py +2 -2
  523. psychopy/tests/test_hardware/test_photodiode.py +66 -0
  524. psychopy/tests/test_liaison/test_Liaison.py +4 -4
  525. psychopy/tests/test_misc/test_clock.py +2 -0
  526. psychopy/tests/test_misc/test_color.py +2 -0
  527. psychopy/tests/test_misc/test_event.py +1 -0
  528. psychopy/tests/test_plugins/__init__.py +0 -0
  529. psychopy/tests/test_plugins/test_plugin_stubs.py +125 -0
  530. psychopy/tests/test_sound/test_sound.py +111 -40
  531. psychopy/tests/test_tools/test_colorspacetools.py +24 -23
  532. psychopy/tests/test_tools/test_mathtools.py +9 -9
  533. psychopy/tests/test_tools/test_viewtools.py +101 -0
  534. psychopy/tests/test_validators/__init__.py +0 -0
  535. psychopy/tests/test_validators/test_voicekeyValidator.py +95 -0
  536. psychopy/tests/test_visual/test_all_stimuli.py +2 -2
  537. psychopy/tests/test_visual/test_basevisual.py +37 -7
  538. psychopy/tests/test_visual/test_button.py +2 -2
  539. psychopy/tests/test_visual/test_circle.py +10 -2
  540. psychopy/tests/test_visual/test_dots.py +1 -1
  541. psychopy/tests/test_visual/test_form.py +13 -13
  542. psychopy/tests/test_visual/test_gamma.py +3 -3
  543. psychopy/tests/test_visual/test_image.py +2 -2
  544. psychopy/tests/test_visual/test_progress.py +2 -2
  545. psychopy/tests/test_visual/test_roi.py +8 -2
  546. psychopy/tests/test_visual/test_shape.py +2 -2
  547. psychopy/tests/test_visual/test_slider.py +2 -2
  548. psychopy/tests/test_visual/test_target.py +2 -2
  549. psychopy/tests/test_visual/test_textbox.py +6 -8
  550. psychopy/tests/test_visual/test_winScalePos.py +6 -5
  551. psychopy/tests/test_visual/test_window.py +17 -0
  552. psychopy/tests/utils.py +51 -1
  553. psychopy/tools/__init__.py +1 -1
  554. psychopy/tools/arraytools.py +2 -2
  555. psychopy/tools/attributetools.py +52 -1
  556. psychopy/tools/audiotools.py +4 -1
  557. psychopy/tools/colorspacetools.py +6 -4
  558. psychopy/tools/coordinatetools.py +1 -1
  559. psychopy/tools/fileerrortools.py +21 -9
  560. psychopy/tools/filetools.py +2 -2
  561. psychopy/tools/fontmanager.py +47 -28
  562. psychopy/tools/gltools.py +2967 -559
  563. psychopy/tools/imagetools.py +1 -1
  564. psychopy/tools/mathtools.py +997 -127
  565. psychopy/tools/monitorunittools.py +7 -1
  566. psychopy/tools/movietools.py +1 -2
  567. psychopy/tools/pkgtools.py +157 -127
  568. psychopy/tools/plottools.py +1 -1
  569. psychopy/tools/rifttools.py +1 -1
  570. psychopy/tools/stereotools.py +1 -1
  571. psychopy/tools/stimulustools.py +172 -2
  572. psychopy/tools/stringtools.py +22 -2
  573. psychopy/tools/systemtools.py +1 -1
  574. psychopy/tools/typetools.py +1 -1
  575. psychopy/tools/unittools.py +1 -1
  576. psychopy/tools/versionchooser.py +3 -1
  577. psychopy/tools/viewtools.py +54 -70
  578. psychopy/tools/wizard.py +2 -2
  579. psychopy/validation/__init__.py +6 -0
  580. psychopy/validation/audio.py +74 -0
  581. psychopy/validation/visual.py +115 -0
  582. psychopy/visual/__init__.py +1 -4
  583. psychopy/visual/aperture.py +9 -6
  584. psychopy/visual/backends/__init__.py +1 -1
  585. psychopy/visual/backends/_base.py +1 -1
  586. psychopy/visual/backends/gamma.py +1 -1
  587. psychopy/visual/backends/glfwbackend.py +8 -12
  588. psychopy/visual/backends/pygamebackend.py +1 -1
  589. psychopy/visual/backends/pygletbackend.py +32 -11
  590. psychopy/visual/basevisual.py +93 -13
  591. psychopy/visual/brush.py +1 -1
  592. psychopy/visual/bufferimage.py +90 -10
  593. psychopy/visual/button.py +1 -1
  594. psychopy/visual/circle.py +12 -20
  595. psychopy/visual/custommouse.py +1 -1
  596. psychopy/visual/dot.py +80 -14
  597. psychopy/visual/elementarray.py +84 -10
  598. psychopy/visual/filters.py +1 -1
  599. psychopy/visual/form.py +43 -28
  600. psychopy/visual/grating.py +105 -25
  601. psychopy/visual/helpers.py +4 -2
  602. psychopy/visual/image.py +98 -20
  603. psychopy/visual/line.py +15 -25
  604. psychopy/visual/movie.py +1 -1
  605. psychopy/visual/movie2.py +4 -3
  606. psychopy/visual/movie3.py +4 -3
  607. psychopy/visual/movies/__init__.py +1 -1
  608. psychopy/visual/movies/frame.py +1 -1
  609. psychopy/visual/movies/metadata.py +1 -1
  610. psychopy/visual/movies/players/__init__.py +1 -1
  611. psychopy/visual/movies/players/_base.py +1 -1
  612. psychopy/visual/movies/players/ffpyplayer_player.py +2 -3
  613. psychopy/visual/nnlvs.py +9 -6
  614. psychopy/visual/noise.py +4 -16
  615. psychopy/visual/patch.py +4 -3
  616. psychopy/visual/pie.py +3 -14
  617. psychopy/visual/polygon.py +21 -28
  618. psychopy/visual/radial.py +4 -18
  619. psychopy/visual/ratingscale.py +4 -3
  620. psychopy/visual/rect.py +16 -25
  621. psychopy/visual/rift.py +8 -2
  622. psychopy/visual/secondorder.py +4 -16
  623. psychopy/visual/shaders.py +620 -286
  624. psychopy/visual/shape.py +281 -90
  625. psychopy/visual/simpleimage.py +1 -1
  626. psychopy/visual/slider.py +78 -25
  627. psychopy/visual/stim3d.py +5 -608
  628. psychopy/visual/text.py +13 -3
  629. psychopy/visual/textbox2/textbox2.py +188 -56
  630. psychopy/visual/vlcmoviestim.py +1 -1
  631. psychopy/visual/window.py +374 -201
  632. psychopy/web.py +1 -1
  633. {psychopy-2024.2.5.dist-info → psychopy-2025.1.1.dist-info}/METADATA +13 -12
  634. {psychopy-2024.2.5.dist-info → psychopy-2025.1.1.dist-info}/RECORD +647 -624
  635. {psychopy-2024.2.5.dist-info → psychopy-2025.1.1.dist-info}/WHEEL +1 -1
  636. psychopy/.DS_Store +0 -0
  637. psychopy/__init__.py.orig +0 -65
  638. psychopy/app/.DS_Store +0 -0
  639. psychopy/app/Resources/.DS_Store +0 -0
  640. psychopy/app/Resources/classic/filecsv16.png +0 -0
  641. psychopy/app/Resources/classic/fileimage16.png +0 -0
  642. psychopy/app/Resources/classic/fileunknown16.png +0 -0
  643. psychopy/app/Resources/dark/filecsv16.png +0 -0
  644. psychopy/app/Resources/dark/filecsv16@2x.png +0 -0
  645. psychopy/app/Resources/dark/fileimage16.png +0 -0
  646. psychopy/app/Resources/dark/fileimage16@2x.png +0 -0
  647. psychopy/app/Resources/dark/fileunknown16.png +0 -0
  648. psychopy/app/Resources/dark/fileunknown16@2x.png +0 -0
  649. psychopy/app/Resources/fonts/OpenSans-Bold.ttf +0 -0
  650. psychopy/app/Resources/fonts/OpenSans-BoldItalic.ttf +0 -0
  651. psychopy/app/Resources/fonts/OpenSans-ExtraBold.ttf +0 -0
  652. psychopy/app/Resources/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  653. psychopy/app/Resources/fonts/OpenSans-Italic.ttf +0 -0
  654. psychopy/app/Resources/fonts/OpenSans-Light.ttf +0 -0
  655. psychopy/app/Resources/fonts/OpenSans-LightItalic.ttf +0 -0
  656. psychopy/app/Resources/fonts/OpenSans-Regular.ttf +0 -0
  657. psychopy/app/Resources/fonts/OpenSans-SemiBold.ttf +0 -0
  658. psychopy/app/Resources/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  659. psychopy/app/Resources/light/filecsv16.png +0 -0
  660. psychopy/app/Resources/light/filecsv16@2x.png +0 -0
  661. psychopy/app/Resources/light/fileimage16.png +0 -0
  662. psychopy/app/Resources/light/fileimage16@2x.png +0 -0
  663. psychopy/app/Resources/light/fileunknown16.png +0 -0
  664. psychopy/app/Resources/light/fileunknown16@2x.png +0 -0
  665. psychopy/app/Resources/psychopySplash.png +0 -0
  666. psychopy/app/Resources/psychopySplash@2x.png +0 -0
  667. psychopy/app/builder/builder.py.orig +0 -3932
  668. psychopy/app/builder/dialogs/__init__.py.orig +0 -1679
  669. psychopy/app/builder/dialogs/paramCtrls.py.orig +0 -713
  670. psychopy/app/colorpicker/__init__.py.orig +0 -411
  671. psychopy/app/locale/ar_001/.DS_Store +0 -0
  672. psychopy/app/locale/ar_001/LC_MESSAGE/.DS_Store +0 -0
  673. psychopy/core.py.orig +0 -169
  674. psychopy/demos/builder/.DS_Store +0 -0
  675. psychopy/demos/builder/Design Templates/randomisedBlocks/randomisedBlocks_lastrun.py +0 -330
  676. psychopy/demos/builder/Experiments/.DS_Store +0 -0
  677. psychopy/demos/builder/Experiments/dragAndDrop/archived_conditions.xlsx +0 -0
  678. psychopy/demos/builder/Experiments/dragAndDrop/draw grid stim.py +0 -61
  679. psychopy/demos/builder/Experiments/dragAndDrop/shapeMaker.psyexp +0 -91
  680. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_1.png +0 -0
  681. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_10.png +0 -0
  682. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_2.png +0 -0
  683. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_3.png +0 -0
  684. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_4.png +0 -0
  685. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_5.png +0 -0
  686. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_6.png +0 -0
  687. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_7.png +0 -0
  688. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_8.png +0 -0
  689. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_9.png +0 -0
  690. psychopy/demos/builder/Experiments/dragAndDrop/updated_conditions.xlsx +0 -0
  691. psychopy/demos/builder/Tools/.DS_Store +0 -0
  692. psychopy/demos/builder/Tools/gammaCalibration/.DS_Store +0 -0
  693. psychopy/demos/builder/Tools/gammaCalibration/data/.DS_Store +0 -0
  694. psychopy/demos/builder/Tools/gammaCalibration/data/_gamma_correction_visual_2022-05-18_14h18.29.439.csv +0 -38
  695. psychopy/demos/builder/Tools/gammaCalibration/data/_gamma_correction_visual_2022-05-18_14h18.29.439.log +0 -3418
  696. psychopy/demos/builder/Tools/gammaCalibration/data/_gamma_correction_visual_2022-05-18_14h18.29.439.psydat +0 -0
  697. psychopy/demos/builder/Tools/gammaCalibration/data/x1_gamma_correction_visual_2022-05-17_13h59.42.928.csv +0 -2
  698. psychopy/demos/builder/Tools/gammaCalibration/data/x1_gamma_correction_visual_2022-05-17_13h59.42.928.log +0 -15
  699. psychopy/demos/builder/Tools/gammaCalibration/data/x1_gamma_correction_visual_2022-05-17_13h59.42.928.psydat +0 -0
  700. psychopy/demos/builder/Tools/gammaCalibration/gamma_correction_visual_lastrun.py +0 -562
  701. psychopy/demos/coder/.DS_Store +0 -0
  702. psychopy/demos/coder/experiment control/info_gamma.pickle +0 -0
  703. psychopy/demos/coder/iohub/.iohpid +0 -1
  704. psychopy/demos/coder/iohub/eyetracking/.iohpid +0 -1
  705. psychopy/demos/coder/iohub/wintab/.DS_Store +0 -0
  706. psychopy/demos/coder/stimuli/.DS_Store +0 -0
  707. psychopy/experiment/_experiment.py.orig +0 -1032
  708. psychopy/experiment/components/.DS_Store +0 -0
  709. psychopy/experiment/components/_base.py.orig +0 -823
  710. psychopy/experiment/components/form/.DS_Store +0 -0
  711. psychopy/experiment/components/microphone/__init__.py.orig +0 -490
  712. psychopy/experiment/components/settings/__init__.py.orig +0 -1337
  713. psychopy/experiment/components/textbox/__init__.py.orig +0 -310
  714. psychopy/experiment/components/webcam/.DS_Store +0 -0
  715. psychopy/experiment/components/webcam/light/.DS_Store +0 -0
  716. psychopy/experiment/loops.py.orig +0 -829
  717. psychopy/experiment/params.py.orig +0 -408
  718. psychopy/experiment/routine.py.orig +0 -503
  719. psychopy/experiment/routines/photodiodeValidator/classic/photodiode_validator.png +0 -0
  720. psychopy/experiment/routines/photodiodeValidator/classic/photodiode_validator@2x.png +0 -0
  721. psychopy/experiment/routines/photodiodeValidator/dark/photodiode_validator.png +0 -0
  722. psychopy/experiment/routines/photodiodeValidator/dark/photodiode_validator@2x.png +0 -0
  723. psychopy/experiment/routines/photodiodeValidator/light/photodiode_validator.png +0 -0
  724. psychopy/experiment/routines/photodiodeValidator/light/photodiode_validator@2x.png +0 -0
  725. psychopy/hardware/.DS_Store +0 -0
  726. psychopy/hardware/brainproducts.py.orig +0 -680
  727. psychopy/hardware/iolab.py.orig +0 -238
  728. psychopy/iohub/datastore/__init__.py.orig +0 -443
  729. psychopy/iohub/datastore/util.py.orig +0 -692
  730. psychopy/iohub/devices/mouse/darwin.py.orig +0 -427
  731. psychopy/iohub/devices/mouse/linux2.py.orig +0 -198
  732. psychopy/preferences/.DS_Store +0 -0
  733. psychopy/projects/pavlovia.py.orig +0 -1295
  734. psychopy/tests/.DS_Store +0 -0
  735. psychopy/tests/data/.DS_Store +0 -0
  736. psychopy/tests/data/TestCircle_fill_local.png +0 -0
  737. psychopy/tests/data/aperture1_normHexbackground_local.png +0 -0
  738. psychopy/tests/data/aperture1_norm_local.png +0 -0
  739. psychopy/tests/data/aperture2_normHexbackground_local.png +0 -0
  740. psychopy/tests/data/beatandrcos_height_local.png +0 -0
  741. psychopy/tests/data/beatandrcos_normAddBlend_local.png +0 -0
  742. psychopy/tests/data/beatandrcos_normHexbackground_local.png +0 -0
  743. psychopy/tests/data/beatandrcos_norm_local.png +0 -0
  744. psychopy/tests/data/beatandrcos_stencil_local.png +0 -0
  745. psychopy/tests/data/blend_add_height_local.png +0 -0
  746. psychopy/tests/data/blend_add_normAddBlend_local.png +0 -0
  747. psychopy/tests/data/blend_add_normHexbackground_local.png +0 -0
  748. psychopy/tests/data/blend_add_normNoShade_local.png +0 -0
  749. psychopy/tests/data/blend_add_norm_local.png +0 -0
  750. psychopy/tests/data/blend_add_stencil_local.png +0 -0
  751. psychopy/tests/data/bufferimg_gabor_height_local.png +0 -0
  752. psychopy/tests/data/bufferimg_gabor_normAddBlend_local.png +0 -0
  753. psychopy/tests/data/bufferimg_gabor_normHexbackground_local.png +0 -0
  754. psychopy/tests/data/bufferimg_gabor_normNoShade_local.png +0 -0
  755. psychopy/tests/data/bufferimg_gabor_norm_local.png +0 -0
  756. psychopy/tests/data/bufferimg_gabor_stencil_local.png +0 -0
  757. psychopy/tests/data/circleHex_height_local.png +0 -0
  758. psychopy/tests/data/circleHex_normAddBlend_local.png +0 -0
  759. psychopy/tests/data/circleHex_normHexbackground_local.png +0 -0
  760. psychopy/tests/data/circleHex_normNoShade_local.png +0 -0
  761. psychopy/tests/data/circleHex_norm_local.png +0 -0
  762. psychopy/tests/data/circleHex_stencil_local.png +0 -0
  763. psychopy/tests/data/color_comparison_local.png +0 -0
  764. psychopy/tests/data/correctScript/.DS_Store +0 -0
  765. psychopy/tests/data/dots_height_local.png +0 -0
  766. psychopy/tests/data/dots_normAddBlend_local.png +0 -0
  767. psychopy/tests/data/dots_normHexbackground_local.png +0 -0
  768. psychopy/tests/data/dots_normNoShade_local.png +0 -0
  769. psychopy/tests/data/dots_norm_local.png +0 -0
  770. psychopy/tests/data/dots_stencil_local.png +0 -0
  771. psychopy/tests/data/elarray1_height_local.png +0 -0
  772. psychopy/tests/data/elarray1_normAddBlend_local.png +0 -0
  773. psychopy/tests/data/elarray1_normHexbackground_local.png +0 -0
  774. psychopy/tests/data/elarray1_norm_local.png +0 -0
  775. psychopy/tests/data/elarray1_stencil_local.png +0 -0
  776. psychopy/tests/data/envelopeandrcos_height_local.png +0 -0
  777. psychopy/tests/data/envelopeandrcos_normAddBlend_local.png +0 -0
  778. psychopy/tests/data/envelopeandrcos_normHexbackground_local.png +0 -0
  779. psychopy/tests/data/envelopeandrcos_norm_local.png +0 -0
  780. psychopy/tests/data/envelopeandrcos_stencil_local.png +0 -0
  781. psychopy/tests/data/envelopepowerandrcos_height_local.png +0 -0
  782. psychopy/tests/data/envelopepowerandrcos_normAddBlend_local.png +0 -0
  783. psychopy/tests/data/envelopepowerandrcos_normHexbackground_local.png +0 -0
  784. psychopy/tests/data/envelopepowerandrcos_norm_local.png +0 -0
  785. psychopy/tests/data/envelopepowerandrcos_stencil_local.png +0 -0
  786. psychopy/tests/data/gabor1_height_local.png +0 -0
  787. psychopy/tests/data/gabor1_normAddBlend_local.png +0 -0
  788. psychopy/tests/data/gabor1_normHexbackground_local.png +0 -0
  789. psychopy/tests/data/gabor1_normNoShade_local.png +0 -0
  790. psychopy/tests/data/gabor1_norm_local.png +0 -0
  791. psychopy/tests/data/gabor1_stencil_local.png +0 -0
  792. psychopy/tests/data/greyscale_normHexbackground_local.png +0 -0
  793. psychopy/tests/data/imageAndGauss_height_local.png +0 -0
  794. psychopy/tests/data/imageAndGauss_normAddBlend_local.png +0 -0
  795. psychopy/tests/data/imageAndGauss_normHexbackground_local.png +0 -0
  796. psychopy/tests/data/imageAndGauss_normNoShade_local.png +0 -0
  797. psychopy/tests/data/imageAndGauss_norm_local.png +0 -0
  798. psychopy/tests/data/imageAndGauss_stencil_local.png +0 -0
  799. psychopy/tests/data/movFrame1_stencil_local.png +0 -0
  800. psychopy/tests/data/noiseAndRcos_height_local.png +0 -0
  801. psychopy/tests/data/noiseAndRcos_normAddBlend_local.png +0 -0
  802. psychopy/tests/data/noiseAndRcos_normHexbackground_local.png +0 -0
  803. psychopy/tests/data/noiseAndRcos_normNoShade_local.png +0 -0
  804. psychopy/tests/data/noiseAndRcos_norm_local.png +0 -0
  805. psychopy/tests/data/noiseAndRcos_stencil_local.png +0 -0
  806. psychopy/tests/data/noiseFiltersAndRcos_height_local.png +0 -0
  807. psychopy/tests/data/noiseFiltersAndRcos_normAddBlend_local.png +0 -0
  808. psychopy/tests/data/noiseFiltersAndRcos_normHexbackground_local.png +0 -0
  809. psychopy/tests/data/noiseFiltersAndRcos_normNoShade_local.png +0 -0
  810. psychopy/tests/data/noiseFiltersAndRcos_norm_local.png +0 -0
  811. psychopy/tests/data/noiseFiltersAndRcos_stencil_local.png +0 -0
  812. psychopy/tests/data/numpyImage_height_local.png +0 -0
  813. psychopy/tests/data/numpyImage_normAddBlend_local.png +0 -0
  814. psychopy/tests/data/numpyImage_normHexbackground_local.png +0 -0
  815. psychopy/tests/data/numpyImage_normNoShade_local.png +0 -0
  816. psychopy/tests/data/numpyImage_norm_local.png +0 -0
  817. psychopy/tests/data/numpyImage_stencil_local.png +0 -0
  818. psychopy/tests/data/shape2_1_normAddBlend_local.png +0 -0
  819. psychopy/tests/data/shape2_1_normHexbackground_local.png +0 -0
  820. psychopy/tests/data/shape2_1_normNoShade_local.png +0 -0
  821. psychopy/tests/data/shape2_1_norm_local.png +0 -0
  822. psychopy/tests/data/shape2_1_stencil_local.png +0 -0
  823. psychopy/tests/data/text1_height_local.png +0 -0
  824. psychopy/tests/data/text1_normAddBlend_local.png +0 -0
  825. psychopy/tests/data/text1_normHexbackground_local.png +0 -0
  826. psychopy/tests/data/text1_norm_local.png +0 -0
  827. psychopy/tests/data/text1_stencil_local.png +0 -0
  828. psychopy/tests/data/wedge1_height_local.png +0 -0
  829. psychopy/tests/data/wedge1_normAddBlend_local.png +0 -0
  830. psychopy/tests/data/wedge1_normHexbackground_local.png +0 -0
  831. psychopy/tests/data/wedge1_normNoShade_local.png +0 -0
  832. psychopy/tests/data/wedge1_norm_local.png +0 -0
  833. psychopy/tests/data/wedge1_stencil_local.png +0 -0
  834. psychopy/tests/test_app/.DS_Store +0 -0
  835. psychopy/tests/test_app/test_builder/.DS_Store +0 -0
  836. psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1206.log +0 -177
  837. psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1206.psydat +0 -0
  838. psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1206.xlsx +0 -0
  839. psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1324.log +0 -168
  840. psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1324.psydat +0 -0
  841. psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1324.xlsx +0 -0
  842. psychopy/tests/test_data/.DS_Store +0 -0
  843. psychopy/tests/test_hardware/test_CRS_BitsSharp.py +0 -67
  844. psychopy/tests/test_hardware/test_CRS_BitsSharp.py.orig +0 -68
  845. psychopy/tests/test_hardware/test_CRS_bitsShaders.py +0 -110
  846. psychopy/tests/test_visual/test_image.py.orig +0 -219
  847. psychopy/visual/basevisual.py.orig +0 -1723
  848. psychopy/visual/form.py.orig +0 -1181
  849. psychopy/visual/text.py.orig +0 -752
  850. psychopy/visual/textbox2/textbox2.py.orig +0 -1315
  851. psychopy/visual/windowwarp.py.orig +0 -463
  852. /psychopy/{app/cortex.log → alerts/alertsCatalogue/3600.yaml} +0 -0
  853. /psychopy/{app/Resources → assets}/fonts/Arvo-Bold.ttf +0 -0
  854. /psychopy/{app/Resources → assets}/fonts/Arvo-BoldItalic.ttf +0 -0
  855. /psychopy/{app/Resources → assets}/fonts/Arvo-Italic.ttf +0 -0
  856. /psychopy/{app/Resources → assets}/fonts/Arvo-Regular.ttf +0 -0
  857. /psychopy/{app/Resources → assets}/fonts/DejaVuSerif.ttf +0 -0
  858. /psychopy/{app/Resources → assets}/fonts/IndieFlower-Regular.ttf +0 -0
  859. /psychopy/{app/Resources → assets}/fonts/JetBrainsMono-Italic-VariableFont_wght.ttf +0 -0
  860. /psychopy/{app/Resources → assets}/fonts/JetBrainsMono-VariableFont_wght.ttf +0 -0
  861. /psychopy/demos/builder/Experiments/{GoNoGo → goNoGo}/readme.md +0 -0
  862. {psychopy-2024.2.5.dist-info → psychopy-2025.1.1.dist-info}/entry_points.txt +0 -0
  863. {psychopy-2024.2.5.dist-info → psychopy-2025.1.1.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,7 @@
1
+ # Visual validators
2
+
3
+ A visual validator is a Routine which you can attach to a stimulus (via the Testing tab of that stimulus) to evaluate how accurate the presentation times of that stimulus are. You point it towards a light sensor connected to your machine (such as the ones used by the Cedrus RB/Riponda/StimTracker, or the BBTK TPad), it will work out where the sensor is on screen or you can tell it ahead of time, and in that location it will draw a small square. When the attached stimulus is visible on screen, the square will be white. When it's not, the square will be black.
4
+
5
+ This means that the on/off timestamps from the light sensor tell you when the stimulus was *actually* displayed, not just when PsychoPy *told it* to be displayed. By comparing the timestamps from the Visual Validator (`stimulus.visualVal.tStart` and `stimulus.visualVal.tStop` in the data file) against the timestamps from the stimulus (`stimulus.tStart` and `stimulus.tStop`) you can measure the speed of your monitor's refresh. A well calibrated monitor setup should have less than a frame's difference between the two - so if you're finding more than 1/60th of a second between them, there may be an issue with your monitor, connection or graphics settings.
6
+
7
+ If you don't have a light sensor connected, you can choose the Screen Buffer Emulator as the validator's device. It will act like a light sensor by asking the screen's buffer what color certain pixels are. This isn't useful in a real experiment as there's no actual light being measured, but it allows you to run this demo to see what the procedure looks like (and allows you to build and debug validated experiments when you're not at the computer with the sensor attached!)
@@ -0,0 +1,200 @@
1
+ <?xml version="1.0" ?>
2
+ <PsychoPy2experiment encoding="utf-8" version="2025.1.0">
3
+ <Settings>
4
+ <Param val="ptb" valType="str" updates="None" name="Audio lib"/>
5
+ <Param val="" valType="str" updates="None" name="Completed URL"/>
6
+ <Param val="auto" valType="str" updates="None" name="Data file delimiter"/>
7
+ <Param val="u'data/%s_%s_%s' % (expInfo['participant'], expName, expInfo['date'])" valType="code" updates="None" name="Data filename"/>
8
+ <Param val="True" valType="bool" updates="None" name="Enable Escape"/>
9
+ <Param val="Thank you for your patience." valType="str" updates="None" name="End Message"/>
10
+ <Param val="{'participant':'f&quot;{randint(0, 999999):06.0f}&quot;', 'session':'001'}" valType="code" updates="None" name="Experiment info"/>
11
+ <Param val="True" valType="bool" updates="None" name="Force stereo"/>
12
+ <Param val="True" valType="bool" updates="None" name="Full-screen window"/>
13
+ <Param val="" valType="str" updates="None" name="HTML path"/>
14
+ <Param val="" valType="str" updates="None" name="Incomplete URL"/>
15
+ <Param val="testMonitor" valType="str" updates="None" name="Monitor"/>
16
+ <Param val="[]" valType="list" updates="None" name="Resources"/>
17
+ <Param val="False" valType="bool" updates="None" name="Save csv file"/>
18
+ <Param val="False" valType="bool" updates="None" name="Save excel file"/>
19
+ <Param val="False" valType="bool" updates="None" name="Save hdf5 file"/>
20
+ <Param val="True" valType="bool" updates="None" name="Save log file"/>
21
+ <Param val="True" valType="bool" updates="None" name="Save psydat file"/>
22
+ <Param val="True" valType="bool" updates="None" name="Save wide csv file"/>
23
+ <Param val="1" valType="num" updates="None" name="Screen"/>
24
+ <Param val="True" valType="bool" updates="None" name="Show info dlg"/>
25
+ <Param val="False" valType="bool" updates="None" name="Show mouse"/>
26
+ <Param val="height" valType="str" updates="None" name="Units"/>
27
+ <Param val="" valType="str" updates="None" name="Use version"/>
28
+ <Param val="(1024, 768)" valType="list" updates="None" name="Window size (pixels)"/>
29
+ <Param val="none" valType="str" updates="None" name="backgroundFit"/>
30
+ <Param val="" valType="str" updates="None" name="backgroundImg"/>
31
+ <Param val="avg" valType="str" updates="None" name="blendMode"/>
32
+ <Param val="float" valType="str" updates="None" name="clockFormat"/>
33
+ <Param val="{'thisRow.t': 'priority.CRITICAL', 'expName': 'priority.LOW'}" valType="dict" updates="None" name="colPriority"/>
34
+ <Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
35
+ <Param val="rgb" valType="str" updates="None" name="colorSpace"/>
36
+ <Param val="warning" valType="code" updates="None" name="consoleLoggingLevel"/>
37
+ <Param val="default" valType="str" updates="None" name="ecSampleRate"/>
38
+ <Param val="100.1.1.1" valType="str" updates="None" name="elAddress"/>
39
+ <Param val="FILTER_LEVEL_2" valType="str" updates="None" name="elDataFiltering"/>
40
+ <Param val="FILTER_LEVEL_OFF" valType="str" updates="None" name="elLiveFiltering"/>
41
+ <Param val="EYELINK 1000 DESKTOP" valType="str" updates="None" name="elModel"/>
42
+ <Param val="ELLIPSE_FIT" valType="str" updates="None" name="elPupilAlgorithm"/>
43
+ <Param val="PUPIL_AREA" valType="str" updates="None" name="elPupilMeasure"/>
44
+ <Param val="1000" valType="num" updates="None" name="elSampleRate"/>
45
+ <Param val="False" valType="bool" updates="None" name="elSimMode"/>
46
+ <Param val="RIGHT_EYE" valType="str" updates="None" name="elTrackEyes"/>
47
+ <Param val="PUPIL_CR_TRACKING" valType="str" updates="None" name="elTrackingMode"/>
48
+ <Param val="visualValidator" valType="str" updates="None" name="expName"/>
49
+ <Param val="" valType="str" updates="None" name="expVersion"/>
50
+ <Param val="on Sync" valType="str" updates="None" name="exportHTML"/>
51
+ <Param val="None" valType="str" updates="None" name="eyetracker"/>
52
+ <Param val="" valType="code" updates="None" name="frameRate"/>
53
+ <Param val="Attempting to measure frame rate of screen, please wait..." valType="str" updates="None" name="frameRateMsg"/>
54
+ <Param val="127.0.0.1" valType="str" updates="None" name="gpAddress"/>
55
+ <Param val="4242" valType="num" updates="None" name="gpPort"/>
56
+ <Param val="PsychToolbox" valType="str" updates="None" name="keyboardBackend"/>
57
+ <Param val="info" valType="code" updates="None" name="logging level"/>
58
+ <Param val="True" valType="bool" updates="None" name="measureFrameRate"/>
59
+ <Param val="MIDDLE_BUTTON" valType="list" updates="None" name="mgBlink"/>
60
+ <Param val="CONTINUOUS" valType="str" updates="None" name="mgMove"/>
61
+ <Param val="0.5" valType="num" updates="None" name="mgSaccade"/>
62
+ <Param val="neon.local" valType="str" updates="None" name="plCompanionAddress"/>
63
+ <Param val="8080" valType="num" updates="None" name="plCompanionPort"/>
64
+ <Param val="0.6" valType="num" updates="None" name="plConfidenceThreshold"/>
65
+ <Param val="" valType="str" updates="None" name="plPupilCaptureRecordingLocation"/>
66
+ <Param val="127.0.0.1" valType="str" updates="None" name="plPupilRemoteAddress"/>
67
+ <Param val="50020" valType="num" updates="None" name="plPupilRemotePort"/>
68
+ <Param val="1000" valType="num" updates="None" name="plPupilRemoteTimeoutMs"/>
69
+ <Param val="False" valType="bool" updates="None" name="plPupillometryOnly"/>
70
+ <Param val="psychopy_iohub_surface" valType="str" updates="None" name="plSurfaceName"/>
71
+ <Param val="0" valType="code" updates="None" name="runMode"/>
72
+ <Param val="False" valType="bool" updates="None" name="rush"/>
73
+ <Param val="time" valType="str" updates="None" name="sortColumns"/>
74
+ <Param val="" valType="str" updates="None" name="tbLicenseFile"/>
75
+ <Param val="" valType="str" updates="None" name="tbModel"/>
76
+ <Param val="60" valType="num" updates="None" name="tbSampleRate"/>
77
+ <Param val="" valType="str" updates="None" name="tbSerialNo"/>
78
+ <Param val="pyglet" valType="str" updates="None" name="winBackend"/>
79
+ </Settings>
80
+ <Routines>
81
+ <Routine name="trial">
82
+ <RoutineSettingsComponent name="trial" plugin="None">
83
+ <Param val="none" valType="str" updates="None" name="backgroundFit"/>
84
+ <Param val="" valType="str" updates="None" name="backgroundImg"/>
85
+ <Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
86
+ <Param val="rgb" valType="str" updates="None" name="colorSpace"/>
87
+ <Param val="" valType="str" updates="constant" name="desc"/>
88
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
89
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
90
+ <Param val="False" valType="code" updates="None" name="forceNonSlip"/>
91
+ <Param val="trial" valType="code" updates="None" name="name"/>
92
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
93
+ <Param val="" valType="code" updates="constant" name="skipIf"/>
94
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
95
+ <Param val="" valType="code" updates="constant" name="stopVal"/>
96
+ <Param val="False" valType="bool" updates="None" name="useWindowParams"/>
97
+ </RoutineSettingsComponent>
98
+ <PolygonComponent name="polygon" plugin="None">
99
+ <Param val="center" valType="str" updates="constant" name="anchor"/>
100
+ <Param val="rgb" valType="str" updates="constant" name="colorSpace"/>
101
+ <Param val="1" valType="num" updates="constant" name="contrast"/>
102
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
103
+ <Param val="False" valType="code" updates="constant" name="draggable"/>
104
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
105
+ <Param val="$randchoice([&quot;yellow&quot;, &quot;green&quot;, &quot;blue&quot;, &quot;purple&quot;, &quot;red&quot;, &quot;orange&quot;])" valType="color" updates="set every repeat" name="fillColor"/>
106
+ <Param val="linear" valType="str" updates="constant" name="interpolate"/>
107
+ <Param val="" valType="color" updates="constant" name="lineColor"/>
108
+ <Param val="1" valType="num" updates="constant" name="lineWidth"/>
109
+ <Param val="4" valType="int" updates="constant" name="nVertices"/>
110
+ <Param val="polygon" valType="code" updates="None" name="name"/>
111
+ <Param val="" valType="num" updates="constant" name="opacity"/>
112
+ <Param val="randint(0, 365)" valType="num" updates="set every repeat" name="ori"/>
113
+ <Param val="(random()-0.5, random()-0.5)" valType="list" updates="set every repeat" name="pos"/>
114
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
115
+ <Param val="star7" valType="str" updates="None" name="shape"/>
116
+ <Param val="(0.5, 0.5)" valType="list" updates="constant" name="size"/>
117
+ <Param val="" valType="code" updates="None" name="startEstim"/>
118
+ <Param val="time (s)" valType="str" updates="None" name="startType"/>
119
+ <Param val="0.0" valType="code" updates="None" name="startVal"/>
120
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
121
+ <Param val="1.0" valType="code" updates="constant" name="stopVal"/>
122
+ <Param val="True" valType="bool" updates="None" name="syncScreenRefresh"/>
123
+ <Param val="from exp settings" valType="str" updates="None" name="units"/>
124
+ <Param val="visualVal" valType="code" updates="None" name="validator"/>
125
+ <Param val="" valType="list" updates="constant" name="vertices"/>
126
+ </PolygonComponent>
127
+ <TextboxComponent name="textbox" plugin="None">
128
+ <Param val="center" valType="str" updates="constant" name="alignment"/>
129
+ <Param val="center" valType="str" updates="constant" name="anchor"/>
130
+ <Param val="True" valType="bool" updates="constant" name="autoLog"/>
131
+ <Param val="False" valType="bool" updates="constant" name="bold"/>
132
+ <Param val="None" valType="color" updates="constant" name="borderColor"/>
133
+ <Param val="2" valType="num" updates="constant" name="borderWidth"/>
134
+ <Param val="white" valType="color" updates="constant" name="color"/>
135
+ <Param val="rgb" valType="str" updates="constant" name="colorSpace"/>
136
+ <Param val="1" valType="num" updates="constant" name="contrast"/>
137
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
138
+ <Param val="False" valType="code" updates="constant" name="draggable"/>
139
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
140
+ <Param val="False" valType="bool" updates="constant" name="editable"/>
141
+ <Param val="None" valType="color" updates="constant" name="fillColor"/>
142
+ <Param val="False" valType="bool" updates="constant" name="flipHoriz"/>
143
+ <Param val="False" valType="bool" updates="constant" name="flipVert"/>
144
+ <Param val="Arial" valType="str" updates="constant" name="font"/>
145
+ <Param val="False" valType="bool" updates="constant" name="italic"/>
146
+ <Param val="LTR" valType="str" updates="None" name="languageStyle"/>
147
+ <Param val="0.035" valType="num" updates="constant" name="letterHeight"/>
148
+ <Param val="1.0" valType="num" updates="constant" name="lineSpacing"/>
149
+ <Param val="textbox" valType="code" updates="None" name="name"/>
150
+ <Param val="" valType="num" updates="constant" name="opacity"/>
151
+ <Param val="0" valType="num" updates="constant" name="ori"/>
152
+ <Param val="visible" valType="str" updates="constant" name="overflow"/>
153
+ <Param val="0" valType="num" updates="constant" name="padding"/>
154
+ <Param val="Type here..." valType="str" updates="constant" name="placeholder"/>
155
+ <Param val="(0, 0)" valType="list" updates="constant" name="pos"/>
156
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
157
+ <Param val="(1, 1)" valType="list" updates="constant" name="size"/>
158
+ <Param val="" valType="list" updates="constant" name="speechPoint"/>
159
+ <Param val="" valType="code" updates="None" name="startEstim"/>
160
+ <Param val="time (s)" valType="str" updates="None" name="startType"/>
161
+ <Param val="0.0" valType="code" updates="None" name="startVal"/>
162
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
163
+ <Param val="2" valType="code" updates="constant" name="stopVal"/>
164
+ <Param val="True" valType="bool" updates="None" name="syncScreenRefresh"/>
165
+ <Param val="Can you see the light sensor patch? It should be white when the star is on screen and black otherwise" valType="str" updates="constant" name="text"/>
166
+ <Param val="from exp settings" valType="str" updates="None" name="units"/>
167
+ <Param val="" valType="code" updates="None" name="validator"/>
168
+ </TextboxComponent>
169
+ </Routine>
170
+ <VisualValidatorRoutine name="visualVal">
171
+ <Param name="channel" updates="None" val="0" valType="code"/>
172
+ <Param name="deviceBackend" updates="None" val="screenbuffer" valType="code"/>
173
+ <Param name="deviceLabel" updates="None" val="demoLightSensor" valType="str"/>
174
+ <Param name="disabled" updates="None" val="False" valType="bool"/>
175
+ <Param name="findSensor" updates="None" val="True" valType="code"/>
176
+ <Param name="findThreshold" updates="None" val="True" valType="bool"/>
177
+ <Param name="name" updates="None" val="visualVal" valType="code"/>
178
+ <Param name="sensorPos" updates="constant" val="(1, 1)" valType="list"/>
179
+ <Param name="sensorSize" updates="constant" val="(0.1, 0.1)" valType="list"/>
180
+ <Param name="sensorUnits" updates="None" val="norm" valType="str"/>
181
+ <Param name="threshold" updates="None" val="0.5" valType="code"/>
182
+ </VisualValidatorRoutine>
183
+ </Routines>
184
+ <Flow>
185
+ <VisualValidatorRoutine name="visualVal"/>
186
+ <LoopInitiator loopType="TrialHandler" name="trials">
187
+ <Param name="Selected rows" updates="None" val="" valType="str"/>
188
+ <Param name="conditions" updates="None" val="None" valType="str"/>
189
+ <Param name="conditionsFile" updates="None" val="" valType="file"/>
190
+ <Param name="endPoints" updates="None" val="[0, 1]" valType="num"/>
191
+ <Param name="isTrials" updates="None" val="True" valType="bool"/>
192
+ <Param name="loopType" updates="None" val="random" valType="str"/>
193
+ <Param name="nReps" updates="None" val="10" valType="num"/>
194
+ <Param name="name" updates="None" val="trials" valType="code"/>
195
+ <Param name="random seed" updates="None" val="" valType="code"/>
196
+ </LoopInitiator>
197
+ <Routine name="trial"/>
198
+ <LoopTerminator name="trials"/>
199
+ </Flow>
200
+ </PsychoPy2experiment>
@@ -1,5 +1,5 @@
1
1
  <?xml version="1.0" ?>
2
- <PsychoPy2experiment encoding="utf-8" version="2024.1.1">
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"/>
@@ -34,6 +34,8 @@
34
34
  <Param val="{'thisRow.t': 'priority.CRITICAL', 'expName': 'priority.LOW'}" valType="dict" updates="None" name="colPriority"/>
35
35
  <Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
36
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"/>
37
39
  <Param val="100.1.1.1" valType="str" updates="None" name="elAddress"/>
38
40
  <Param val="FILTER_LEVEL_2" valType="str" updates="None" name="elDataFiltering"/>
39
41
  <Param val="FILTER_LEVEL_OFF" valType="str" updates="None" name="elLiveFiltering"/>
@@ -45,20 +47,20 @@
45
47
  <Param val="RIGHT_EYE" valType="str" updates="None" name="elTrackEyes"/>
46
48
  <Param val="PUPIL_CR_TRACKING" valType="str" updates="None" name="elTrackingMode"/>
47
49
  <Param val="EEG_triggers_parallel_comp" valType="str" updates="None" name="expName"/>
50
+ <Param val="" valType="str" updates="None" name="expVersion"/>
48
51
  <Param val="on Sync" valType="str" updates="None" name="exportHTML"/>
49
52
  <Param val="None" valType="str" updates="None" name="eyetracker"/>
50
53
  <Param val="" valType="code" updates="None" name="frameRate"/>
51
54
  <Param val="Attempting to measure frame rate of screen, please wait..." valType="str" updates="None" name="frameRateMsg"/>
52
55
  <Param val="127.0.0.1" valType="str" updates="None" name="gpAddress"/>
53
56
  <Param val="4242" valType="num" updates="None" name="gpPort"/>
54
- <Param val="ioHub" valType="str" updates="None" name="keyboardBackend"/>
57
+ <Param val="PsychToolbox" valType="str" updates="None" name="keyboardBackend"/>
55
58
  <Param val="exp" valType="code" updates="None" name="logging level"/>
56
59
  <Param val="True" valType="bool" updates="None" name="measureFrameRate"/>
57
60
  <Param val="('MIDDLE_BUTTON',)" valType="list" updates="None" name="mgBlink"/>
58
61
  <Param val="CONTINUOUS" valType="str" updates="None" name="mgMove"/>
59
62
  <Param val="0.5" valType="num" updates="None" name="mgSaccade"/>
60
63
  <Param val="neon.local" valType="str" updates="None" name="plCompanionAddress"/>
61
- <Param val="scene_camera.json" valType="file" updates="None" name="plCompanionCameraCalibration"/>
62
64
  <Param val="8080" valType="num" updates="None" name="plCompanionPort"/>
63
65
  <Param val="True" valType="bool" updates="None" name="plCompanionRecordingEnabled"/>
64
66
  <Param val="0.6" valType="num" updates="None" name="plConfidenceThreshold"/>
@@ -88,6 +90,7 @@
88
90
  <Param val="" valType="str" updates="constant" name="desc"/>
89
91
  <Param val="False" valType="bool" updates="None" name="disabled"/>
90
92
  <Param val="" valType="code" updates="None" name="durationEstim"/>
93
+ <Param val="False" valType="code" updates="None" name="forceNonSlip"/>
91
94
  <Param val="instructions" valType="code" updates="None" name="name"/>
92
95
  <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
93
96
  <Param val="" valType="code" updates="constant" name="skipIf"/>
@@ -100,9 +103,10 @@
100
103
  <Param val="rgb" valType="str" updates="constant" name="colorSpace"/>
101
104
  <Param val="1" valType="num" updates="constant" name="contrast"/>
102
105
  <Param val="False" valType="bool" updates="None" name="disabled"/>
106
+ <Param val="False" valType="code" updates="constant" name="draggable"/>
103
107
  <Param val="" valType="code" updates="None" name="durationEstim"/>
104
108
  <Param val="None" valType="str" updates="constant" name="flip"/>
105
- <Param val="Open Sans" valType="str" updates="constant" name="font"/>
109
+ <Param val="Arial" valType="str" updates="constant" name="font"/>
106
110
  <Param val="LTR" valType="str" updates="None" name="languageStyle"/>
107
111
  <Param val="0.05" valType="num" updates="constant" name="letterHeight"/>
108
112
  <Param val="instr_text" valType="code" updates="None" name="name"/>
@@ -168,6 +172,7 @@
168
172
  <Param val="" valType="str" updates="constant" name="desc"/>
169
173
  <Param val="False" valType="bool" updates="None" name="disabled"/>
170
174
  <Param val="" valType="code" updates="None" name="durationEstim"/>
175
+ <Param val="False" valType="code" updates="None" name="forceNonSlip"/>
171
176
  <Param val="end" valType="code" updates="None" name="name"/>
172
177
  <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
173
178
  <Param val="" valType="code" updates="constant" name="skipIf"/>
@@ -180,9 +185,10 @@
180
185
  <Param val="rgb" valType="str" updates="constant" name="colorSpace"/>
181
186
  <Param val="1" valType="num" updates="constant" name="contrast"/>
182
187
  <Param val="False" valType="bool" updates="None" name="disabled"/>
188
+ <Param val="False" valType="code" updates="constant" name="draggable"/>
183
189
  <Param val="" valType="code" updates="None" name="durationEstim"/>
184
190
  <Param val="None" valType="str" updates="constant" name="flip"/>
185
- <Param val="Open Sans" valType="str" updates="constant" name="font"/>
191
+ <Param val="Arial" valType="str" updates="constant" name="font"/>
186
192
  <Param val="LTR" valType="str" updates="None" name="languageStyle"/>
187
193
  <Param val="0.05" valType="num" updates="constant" name="letterHeight"/>
188
194
  <Param val="end_text" valType="code" updates="None" name="name"/>
@@ -248,6 +254,7 @@
248
254
  <Param val="" valType="str" updates="constant" name="desc"/>
249
255
  <Param val="False" valType="bool" updates="None" name="disabled"/>
250
256
  <Param val="" valType="code" updates="None" name="durationEstim"/>
257
+ <Param val="False" valType="code" updates="None" name="forceNonSlip"/>
251
258
  <Param val="stimulus_trials" valType="code" updates="None" name="name"/>
252
259
  <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
253
260
  <Param val="" valType="code" updates="constant" name="skipIf"/>
@@ -260,9 +267,10 @@
260
267
  <Param val="rgb" valType="str" updates="constant" name="colorSpace"/>
261
268
  <Param val="1" valType="num" updates="constant" name="contrast"/>
262
269
  <Param val="False" valType="bool" updates="None" name="disabled"/>
270
+ <Param val="False" valType="code" updates="constant" name="draggable"/>
263
271
  <Param val="" valType="code" updates="None" name="durationEstim"/>
264
272
  <Param val="None" valType="str" updates="constant" name="flip"/>
265
- <Param val="Open Sans" valType="str" updates="constant" name="font"/>
273
+ <Param val="Arial" valType="str" updates="constant" name="font"/>
266
274
  <Param val="LTR" valType="str" updates="None" name="languageStyle"/>
267
275
  <Param val="0.05" valType="num" updates="constant" name="letterHeight"/>
268
276
  <Param val="stimulus_text" valType="code" updates="None" name="name"/>
@@ -286,6 +294,7 @@
286
294
  <Param val="rgb" valType="str" updates="constant" name="colorSpace"/>
287
295
  <Param val="1" valType="num" updates="constant" name="contrast"/>
288
296
  <Param val="False" valType="bool" updates="None" name="disabled"/>
297
+ <Param val="False" valType="code" updates="constant" name="draggable"/>
289
298
  <Param val="" valType="code" updates="None" name="durationEstim"/>
290
299
  <Param val="white" valType="color" updates="constant" name="fillColor"/>
291
300
  <Param val="linear" valType="str" updates="constant" name="interpolate"/>
@@ -336,6 +345,7 @@
336
345
  <Param val="" valType="str" updates="constant" name="desc"/>
337
346
  <Param val="False" valType="bool" updates="None" name="disabled"/>
338
347
  <Param val="" valType="code" updates="None" name="durationEstim"/>
348
+ <Param val="False" valType="code" updates="None" name="forceNonSlip"/>
339
349
  <Param val="start_block" valType="code" updates="None" name="name"/>
340
350
  <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
341
351
  <Param val="" valType="code" updates="constant" name="skipIf"/>
@@ -348,9 +358,10 @@
348
358
  <Param val="rgb" valType="str" updates="constant" name="colorSpace"/>
349
359
  <Param val="1" valType="num" updates="constant" name="contrast"/>
350
360
  <Param val="False" valType="bool" updates="None" name="disabled"/>
361
+ <Param val="False" valType="code" updates="constant" name="draggable"/>
351
362
  <Param val="" valType="code" updates="None" name="durationEstim"/>
352
363
  <Param val="None" valType="str" updates="constant" name="flip"/>
353
- <Param val="Open Sans" valType="str" updates="constant" name="font"/>
364
+ <Param val="Arial" valType="str" updates="constant" name="font"/>
354
365
  <Param val="LTR" valType="str" updates="None" name="languageStyle"/>
355
366
  <Param val="0.05" valType="num" updates="constant" name="letterHeight"/>
356
367
  <Param val="start_block_text" valType="code" updates="None" name="name"/>
@@ -396,6 +407,7 @@
396
407
  <Param val="" valType="str" updates="constant" name="desc"/>
397
408
  <Param val="False" valType="bool" updates="None" name="disabled"/>
398
409
  <Param val="" valType="code" updates="None" name="durationEstim"/>
410
+ <Param val="False" valType="code" updates="None" name="forceNonSlip"/>
399
411
  <Param val="stimulus_mouse_trials" valType="code" updates="None" name="name"/>
400
412
  <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
401
413
  <Param val="" valType="code" updates="constant" name="skipIf"/>
@@ -408,9 +420,10 @@
408
420
  <Param val="rgb" valType="str" updates="constant" name="colorSpace"/>
409
421
  <Param val="1" valType="num" updates="constant" name="contrast"/>
410
422
  <Param val="False" valType="bool" updates="None" name="disabled"/>
423
+ <Param val="False" valType="code" updates="constant" name="draggable"/>
411
424
  <Param val="" valType="code" updates="None" name="durationEstim"/>
412
425
  <Param val="None" valType="str" updates="constant" name="flip"/>
413
- <Param val="Open Sans" valType="str" updates="constant" name="font"/>
426
+ <Param val="Arial" valType="str" updates="constant" name="font"/>
414
427
  <Param val="LTR" valType="str" updates="None" name="languageStyle"/>
415
428
  <Param val="0.05" valType="num" updates="constant" name="letterHeight"/>
416
429
  <Param val="stimulus_response_text_2" valType="code" updates="None" name="name"/>
@@ -434,6 +447,7 @@
434
447
  <Param val="rgb" valType="str" updates="constant" name="colorSpace"/>
435
448
  <Param val="1" valType="num" updates="constant" name="contrast"/>
436
449
  <Param val="False" valType="bool" updates="None" name="disabled"/>
450
+ <Param val="False" valType="code" updates="constant" name="draggable"/>
437
451
  <Param val="" valType="code" updates="None" name="durationEstim"/>
438
452
  <Param val="white" valType="color" updates="constant" name="fillColor"/>
439
453
  <Param val="linear" valType="str" updates="constant" name="interpolate"/>
@@ -504,6 +518,7 @@
504
518
  <Param val="" valType="str" updates="constant" name="desc"/>
505
519
  <Param val="False" valType="bool" updates="None" name="disabled"/>
506
520
  <Param val="" valType="code" updates="None" name="durationEstim"/>
521
+ <Param val="False" valType="code" updates="None" name="forceNonSlip"/>
507
522
  <Param val="stimulus_key_trials" valType="code" updates="None" name="name"/>
508
523
  <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
509
524
  <Param val="" valType="code" updates="constant" name="skipIf"/>
@@ -516,9 +531,10 @@
516
531
  <Param val="rgb" valType="str" updates="constant" name="colorSpace"/>
517
532
  <Param val="1" valType="num" updates="constant" name="contrast"/>
518
533
  <Param val="False" valType="bool" updates="None" name="disabled"/>
534
+ <Param val="False" valType="code" updates="constant" name="draggable"/>
519
535
  <Param val="" valType="code" updates="None" name="durationEstim"/>
520
536
  <Param val="None" valType="str" updates="constant" name="flip"/>
521
- <Param val="Open Sans" valType="str" updates="constant" name="font"/>
537
+ <Param val="Arial" valType="str" updates="constant" name="font"/>
522
538
  <Param val="LTR" valType="str" updates="None" name="languageStyle"/>
523
539
  <Param val="0.05" valType="num" updates="constant" name="letterHeight"/>
524
540
  <Param val="stimulus_response_text" valType="code" updates="None" name="name"/>