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
@@ -1,382 +1,646 @@
1
- <PsychoPy2experiment encoding="utf-8" version="3.0.1">
1
+ <?xml version="1.0" ?>
2
+ <PsychoPy2experiment encoding="utf-8" version="2025.1.0">
2
3
  <Settings>
3
- <Param name="Completed URL" updates="None" val="" valType="str" />
4
- <Param name="Data filename" updates="None" val="u'data/%s_%s_%s' % (expInfo['participant'], expName, expInfo['date'])" valType="code" />
5
- <Param name="Enable Escape" updates="None" val="True" valType="bool" />
6
- <Param name="Experiment info" updates="None" val="{'participant':'', 'session':'001'}" valType="code" />
7
- <Param name="Force stereo" updates="None" val="True" valType="bool" />
8
- <Param name="Full-screen window" updates="None" val="True" valType="bool" />
9
- <Param name="HTML path" updates="None" val="html" valType="str" />
10
- <Param name="Incomplete URL" updates="None" val="" valType="str" />
11
- <Param name="JS libs" updates="None" val="packaged" valType="str" />
12
- <Param name="Monitor" updates="None" val="testMonitor" valType="str" />
13
- <Param name="Save csv file" updates="None" val="False" valType="bool" />
14
- <Param name="Save excel file" updates="None" val="False" valType="bool" />
15
- <Param name="Save log file" updates="None" val="True" valType="bool" />
16
- <Param name="Save psydat file" updates="None" val="True" valType="bool" />
17
- <Param name="Save wide csv file" updates="None" val="True" valType="bool" />
18
- <Param name="Screen" updates="None" val="1" valType="num" />
19
- <Param name="Show info dlg" updates="None" val="True" valType="bool" />
20
- <Param name="Show mouse" updates="None" val="False" valType="bool" />
21
- <Param name="Units" updates="None" val="use prefs" valType="str" />
22
- <Param name="Use version" updates="None" val="" valType="str" />
23
- <Param name="Window size (pixels)" updates="None" val="(1024, 768)" valType="code" />
24
- <Param name="blendMode" updates="None" val="avg" valType="str" />
25
- <Param name="color" updates="None" val="$[0,0,0]" valType="str" />
26
- <Param name="colorSpace" updates="None" val="rgb" valType="str" />
27
- <Param name="expName" updates="None" val="buble_cycle_2" valType="str" />
28
- <Param name="exportHTML" updates="None" val="on Sync" valType="str" />
29
- <Param name="logging level" updates="None" val="exp" valType="code" />
30
- <Param val="0" valType="code" updates="constant" name="runMode" /></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':'', '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="html" valType="str" updates="None" name="HTML path"/>
14
+ <Param val="" valType="str" updates="None" name="Incomplete URL"/>
15
+ <Param val="packaged" valType="str" updates="None" name="JS libs"/>
16
+ <Param val="testMonitor" valType="str" updates="None" name="Monitor"/>
17
+ <Param val="[]" valType="list" updates="None" name="Resources"/>
18
+ <Param val="False" valType="bool" updates="None" name="Save csv file"/>
19
+ <Param val="False" valType="bool" updates="None" name="Save excel file"/>
20
+ <Param val="False" valType="bool" updates="None" name="Save hdf5 file"/>
21
+ <Param val="True" valType="bool" updates="None" name="Save log file"/>
22
+ <Param val="True" valType="bool" updates="None" name="Save psydat file"/>
23
+ <Param val="True" valType="bool" updates="None" name="Save wide csv file"/>
24
+ <Param val="1" valType="num" updates="None" name="Screen"/>
25
+ <Param val="True" valType="bool" updates="None" name="Show info dlg"/>
26
+ <Param val="False" valType="bool" updates="None" name="Show mouse"/>
27
+ <Param val="use prefs" valType="str" updates="None" name="Units"/>
28
+ <Param val="" valType="str" updates="None" name="Use version"/>
29
+ <Param val="(1024, 768)" valType="code" 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"/>
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"/>
35
+ <Param val="$[0,0,0]" valType="str" updates="None" name="color"/>
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"/>
39
+ <Param val="100.1.1.1" valType="str" updates="None" name="elAddress"/>
40
+ <Param val="FILTER_LEVEL_2" valType="str" updates="None" name="elDataFiltering"/>
41
+ <Param val="FILTER_LEVEL_OFF" valType="str" updates="None" name="elLiveFiltering"/>
42
+ <Param val="EYELINK 1000 DESKTOP" valType="str" updates="None" name="elModel"/>
43
+ <Param val="ELLIPSE_FIT" valType="str" updates="None" name="elPupilAlgorithm"/>
44
+ <Param val="PUPIL_AREA" valType="str" updates="None" name="elPupilMeasure"/>
45
+ <Param val="1000" valType="num" updates="None" name="elSampleRate"/>
46
+ <Param val="False" valType="bool" updates="None" name="elSimMode"/>
47
+ <Param val="RIGHT_EYE" valType="str" updates="None" name="elTrackEyes"/>
48
+ <Param val="PUPIL_CR_TRACKING" valType="str" updates="None" name="elTrackingMode"/>
49
+ <Param val="buble_cycle_2" valType="str" updates="None" name="expName"/>
50
+ <Param val="" valType="str" updates="None" name="expVersion"/>
51
+ <Param val="on Sync" valType="str" updates="None" name="exportHTML"/>
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"/>
55
+ <Param val="127.0.0.1" valType="str" updates="None" name="gpAddress"/>
56
+ <Param val="4242" valType="num" updates="None" name="gpPort"/>
57
+ <Param val="PsychToolbox" valType="str" updates="None" name="keyboardBackend"/>
58
+ <Param val="exp" valType="code" updates="None" name="logging level"/>
59
+ <Param val="True" valType="bool" updates="None" name="measureFrameRate"/>
60
+ <Param val="MIDDLE_BUTTON" valType="list" updates="None" name="mgBlink"/>
61
+ <Param val="CONTINUOUS" valType="str" updates="None" name="mgMove"/>
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="0.6" valType="num" updates="None" name="plConfidenceThreshold"/>
66
+ <Param val="" valType="str" updates="None" name="plPupilCaptureRecordingLocation"/>
67
+ <Param val="127.0.0.1" valType="str" updates="None" name="plPupilRemoteAddress"/>
68
+ <Param val="50020" valType="num" updates="None" name="plPupilRemotePort"/>
69
+ <Param val="1000" valType="num" updates="None" name="plPupilRemoteTimeoutMs"/>
70
+ <Param val="False" valType="bool" updates="None" name="plPupillometryOnly"/>
71
+ <Param val="psychopy_iohub_surface" valType="str" updates="None" name="plSurfaceName"/>
72
+ <Param val="0" valType="code" updates="constant" name="runMode"/>
73
+ <Param val="False" valType="bool" updates="None" name="rush"/>
74
+ <Param val="time" valType="str" updates="None" name="sortColumns"/>
75
+ <Param val="" valType="str" updates="None" name="tbLicenseFile"/>
76
+ <Param val="" valType="str" updates="None" name="tbModel"/>
77
+ <Param val="60" valType="num" updates="None" name="tbSampleRate"/>
78
+ <Param val="" valType="str" updates="None" name="tbSerialNo"/>
79
+ <Param val="pyglet" valType="str" updates="None" name="winBackend"/>
80
+ </Settings>
31
81
  <Routines>
32
82
  <Routine name="instruction_1">
33
- <TextComponent name="instruction_start">
34
- <Param name="color" updates="constant" val="white" valType="str" />
35
- <Param name="colorSpace" updates="constant" val="rgb" valType="str" />
36
- <Param name="durationEstim" updates="None" val="" valType="code" />
37
- <Param name="flip" updates="constant" val="" valType="str" />
38
- <Param name="font" updates="constant" val="Arial" valType="str" />
39
- <Param name="languageStyle" updates="None" val="LTR" valType="str" />
40
- <Param name="letterHeight" updates="constant" val="0.1" valType="code" />
41
- <Param name="name" updates="None" val="instruction_start" valType="code" />
42
- <Param name="opacity" updates="constant" val="1" valType="code" />
43
- <Param name="ori" updates="constant" val="0" valType="code" />
44
- <Param name="pos" updates="constant" val="(0, 0)" valType="code" />
45
- <Param name="startEstim" updates="None" val="" valType="code" />
46
- <Param name="startType" updates="None" val="time (s)" valType="str" />
47
- <Param name="startVal" updates="None" val="0.0" valType="code" />
48
- <Param name="stopType" updates="None" val="duration (s)" valType="str" />
49
- <Param name="stopVal" updates="constant" val="" valType="code" />
50
- <Param name="text" updates="constant" val="Remove the spray head if attached, and insert the inlet tubes into stimulus their respective stimulus reservoir.&amp;#10;&amp;#10;Press the spacebar when done.&amp;#10;" valType="str" />
51
- <Param name="units" updates="None" val="from exp settings" valType="str" />
52
- <Param name="wrapWidth" updates="constant" val="" valType="code" />
83
+ <RoutineSettingsComponent name="instruction_1" plugin="None">
84
+ <Param val="none" valType="str" updates="None" name="backgroundFit"/>
85
+ <Param val="" valType="str" updates="None" name="backgroundImg"/>
86
+ <Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
87
+ <Param val="rgb" valType="str" updates="None" name="colorSpace"/>
88
+ <Param val="" valType="str" updates="constant" name="desc"/>
89
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
90
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
91
+ <Param val="False" valType="code" updates="None" name="forceNonSlip"/>
92
+ <Param val="instruction_1" valType="code" updates="None" name="name"/>
93
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
94
+ <Param val="" valType="code" updates="constant" name="skipIf"/>
95
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
96
+ <Param val="" valType="code" updates="constant" name="stopVal"/>
97
+ <Param val="False" valType="bool" updates="None" name="useWindowParams"/>
98
+ </RoutineSettingsComponent>
99
+ <TextComponent name="instruction_start" plugin="None">
100
+ <Param val="white" valType="str" updates="constant" name="color"/>
101
+ <Param val="rgb" valType="str" updates="constant" name="colorSpace"/>
102
+ <Param val="1" valType="num" updates="constant" name="contrast"/>
103
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
104
+ <Param val="False" valType="code" updates="constant" name="draggable"/>
105
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
106
+ <Param val="" valType="str" updates="constant" name="flip"/>
107
+ <Param val="Arial" valType="str" updates="constant" name="font"/>
108
+ <Param val="LTR" valType="str" updates="None" name="languageStyle"/>
109
+ <Param val="0.1" valType="code" updates="constant" name="letterHeight"/>
110
+ <Param val="instruction_start" valType="code" updates="None" name="name"/>
111
+ <Param val="1" valType="code" updates="constant" name="opacity"/>
112
+ <Param val="0" valType="code" updates="constant" name="ori"/>
113
+ <Param val="(0, 0)" valType="list" updates="constant" name="pos"/>
114
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
115
+ <Param val="" valType="code" updates="None" name="startEstim"/>
116
+ <Param val="time (s)" valType="str" updates="None" name="startType"/>
117
+ <Param val="0.0" valType="code" updates="None" name="startVal"/>
118
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
119
+ <Param val="" valType="code" updates="constant" name="stopVal"/>
120
+ <Param val="True" valType="bool" updates="None" name="syncScreenRefresh"/>
121
+ <Param val="Remove the spray head if attached, and insert the inlet tubes into stimulus their respective stimulus reservoir.&amp;#10;&amp;#10;Press the spacebar when done.&amp;#10;" valType="str" updates="constant" name="text"/>
122
+ <Param val="from exp settings" valType="str" updates="None" name="units"/>
123
+ <Param val="" valType="code" updates="None" name="validator"/>
124
+ <Param val="" valType="code" updates="constant" name="wrapWidth"/>
53
125
  </TextComponent>
54
- <KeyboardComponent name="keyboard">
55
- <Param name="allowedKeys" updates="constant" val="'space'" valType="code" />
56
- <Param name="correctAns" updates="constant" val="" valType="str" />
57
- <Param name="discard previous" updates="constant" val="True" valType="bool" />
58
- <Param name="durationEstim" updates="None" val="" valType="code" />
59
- <Param name="forceEndRoutine" updates="constant" val="True" valType="bool" />
60
- <Param name="name" updates="None" val="keyboard" valType="code" />
61
- <Param name="startEstim" updates="None" val="" valType="code" />
62
- <Param name="startType" updates="None" val="time (s)" valType="str" />
63
- <Param name="startVal" updates="None" val="0.0" valType="code" />
64
- <Param name="stopType" updates="None" val="duration (s)" valType="str" />
65
- <Param name="stopVal" updates="constant" val="" valType="code" />
66
- <Param name="store" updates="constant" val="nothing" valType="str" />
67
- <Param name="storeCorrect" updates="constant" val="False" valType="bool" />
68
- <Param name="syncScreenRefresh" updates="constant" val="False" valType="bool" />
126
+ <KeyboardComponent name="keyboard_2" plugin="None">
127
+ <Param val="'space'" valType="list" updates="constant" name="allowedKeys"/>
128
+ <Param val="" valType="str" updates="constant" name="correctAns"/>
129
+ <Param val="" valType="str" updates="None" name="deviceLabel"/>
130
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
131
+ <Param val="True" valType="bool" updates="constant" name="discard previous"/>
132
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
133
+ <Param val="True" valType="bool" updates="constant" name="forceEndRoutine"/>
134
+ <Param val="keyboard_2" valType="code" updates="None" name="name"/>
135
+ <Param val="press" valType="str" updates="constant" name="registerOn"/>
136
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
137
+ <Param val="" valType="code" updates="None" name="startEstim"/>
138
+ <Param val="time (s)" valType="str" updates="None" name="startType"/>
139
+ <Param val="0.0" valType="code" updates="None" name="startVal"/>
140
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
141
+ <Param val="" valType="code" updates="constant" name="stopVal"/>
142
+ <Param val="nothing" valType="str" updates="constant" name="store"/>
143
+ <Param val="False" valType="bool" updates="constant" name="storeCorrect"/>
144
+ <Param val="False" valType="bool" updates="constant" name="syncScreenRefresh"/>
69
145
  </KeyboardComponent>
70
146
  </Routine>
71
147
  <Routine name="instruction_2">
72
- <TextComponent name="instruction_air">
73
- <Param name="color" updates="constant" val="white" valType="str" />
74
- <Param name="colorSpace" updates="constant" val="rgb" valType="str" />
75
- <Param name="durationEstim" updates="None" val="" valType="code" />
76
- <Param name="flip" updates="constant" val="" valType="str" />
77
- <Param name="font" updates="constant" val="Arial" valType="str" />
78
- <Param name="languageStyle" updates="None" val="LTR" valType="str" />
79
- <Param name="letterHeight" updates="constant" val="0.1" valType="code" />
80
- <Param name="name" updates="None" val="instruction_air" valType="code" />
81
- <Param name="opacity" updates="constant" val="1" valType="code" />
82
- <Param name="ori" updates="constant" val="0" valType="code" />
83
- <Param name="pos" updates="constant" val="(0, 0)" valType="code" />
84
- <Param name="startEstim" updates="None" val="" valType="code" />
85
- <Param name="startType" updates="None" val="time (s)" valType="str" />
86
- <Param name="startVal" updates="None" val="0.0" valType="code" />
87
- <Param name="stopType" updates="None" val="duration (s)" valType="str" />
88
- <Param name="stopVal" updates="constant" val="" valType="code" />
89
- <Param name="text" updates="constant" val="Remove tubes from stimulus reservoir to aspirate air.&amp;#10;&amp;#10;Press the spacebar when done" valType="str" />
90
- <Param name="units" updates="None" val="from exp settings" valType="str" />
91
- <Param name="wrapWidth" updates="constant" val="" valType="code" />
148
+ <RoutineSettingsComponent name="instruction_2" plugin="None">
149
+ <Param val="none" valType="str" updates="None" name="backgroundFit"/>
150
+ <Param val="" valType="str" updates="None" name="backgroundImg"/>
151
+ <Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
152
+ <Param val="rgb" valType="str" updates="None" name="colorSpace"/>
153
+ <Param val="" valType="str" updates="constant" name="desc"/>
154
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
155
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
156
+ <Param val="False" valType="code" updates="None" name="forceNonSlip"/>
157
+ <Param val="instruction_2" valType="code" updates="None" name="name"/>
158
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
159
+ <Param val="" valType="code" updates="constant" name="skipIf"/>
160
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
161
+ <Param val="" valType="code" updates="constant" name="stopVal"/>
162
+ <Param val="False" valType="bool" updates="None" name="useWindowParams"/>
163
+ </RoutineSettingsComponent>
164
+ <TextComponent name="instruction_air" plugin="None">
165
+ <Param val="white" valType="str" updates="constant" name="color"/>
166
+ <Param val="rgb" valType="str" updates="constant" name="colorSpace"/>
167
+ <Param val="1" valType="num" updates="constant" name="contrast"/>
168
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
169
+ <Param val="False" valType="code" updates="constant" name="draggable"/>
170
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
171
+ <Param val="" valType="str" updates="constant" name="flip"/>
172
+ <Param val="Arial" valType="str" updates="constant" name="font"/>
173
+ <Param val="LTR" valType="str" updates="None" name="languageStyle"/>
174
+ <Param val="0.1" valType="code" updates="constant" name="letterHeight"/>
175
+ <Param val="instruction_air" valType="code" updates="None" name="name"/>
176
+ <Param val="1" valType="code" updates="constant" name="opacity"/>
177
+ <Param val="0" valType="code" updates="constant" name="ori"/>
178
+ <Param val="(0, 0)" valType="list" updates="constant" name="pos"/>
179
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
180
+ <Param val="" valType="code" updates="None" name="startEstim"/>
181
+ <Param val="time (s)" valType="str" updates="None" name="startType"/>
182
+ <Param val="0.0" valType="code" updates="None" name="startVal"/>
183
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
184
+ <Param val="" valType="code" updates="constant" name="stopVal"/>
185
+ <Param val="True" valType="bool" updates="None" name="syncScreenRefresh"/>
186
+ <Param val="Remove tubes from stimulus reservoir to aspirate air.&amp;#10;&amp;#10;Press the spacebar when done" valType="str" updates="constant" name="text"/>
187
+ <Param val="from exp settings" valType="str" updates="None" name="units"/>
188
+ <Param val="" valType="code" updates="None" name="validator"/>
189
+ <Param val="" valType="code" updates="constant" name="wrapWidth"/>
92
190
  </TextComponent>
93
- <KeyboardComponent name="keyboard_1">
94
- <Param name="allowedKeys" updates="constant" val="'space'" valType="code" />
95
- <Param name="correctAns" updates="constant" val="" valType="str" />
96
- <Param name="discard previous" updates="constant" val="True" valType="bool" />
97
- <Param name="durationEstim" updates="None" val="" valType="code" />
98
- <Param name="forceEndRoutine" updates="constant" val="True" valType="bool" />
99
- <Param name="name" updates="None" val="keyboard_1" valType="code" />
100
- <Param name="startEstim" updates="None" val="" valType="code" />
101
- <Param name="startType" updates="None" val="time (s)" valType="str" />
102
- <Param name="startVal" updates="None" val="0.0" valType="code" />
103
- <Param name="stopType" updates="None" val="duration (s)" valType="str" />
104
- <Param name="stopVal" updates="constant" val="" valType="code" />
105
- <Param name="store" updates="constant" val="nothing" valType="str" />
106
- <Param name="storeCorrect" updates="constant" val="False" valType="bool" />
107
- <Param name="syncScreenRefresh" updates="constant" val="False" valType="bool" />
191
+ <KeyboardComponent name="keyboard_1" plugin="None">
192
+ <Param val="'space'" valType="list" updates="constant" name="allowedKeys"/>
193
+ <Param val="" valType="str" updates="constant" name="correctAns"/>
194
+ <Param val="" valType="str" updates="None" name="deviceLabel"/>
195
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
196
+ <Param val="True" valType="bool" updates="constant" name="discard previous"/>
197
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
198
+ <Param val="True" valType="bool" updates="constant" name="forceEndRoutine"/>
199
+ <Param val="keyboard_1" valType="code" updates="None" name="name"/>
200
+ <Param val="press" valType="str" updates="constant" name="registerOn"/>
201
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
202
+ <Param val="" valType="code" updates="None" name="startEstim"/>
203
+ <Param val="time (s)" valType="str" updates="None" name="startType"/>
204
+ <Param val="0.0" valType="code" updates="None" name="startVal"/>
205
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
206
+ <Param val="" valType="code" updates="constant" name="stopVal"/>
207
+ <Param val="nothing" valType="str" updates="constant" name="store"/>
208
+ <Param val="False" valType="bool" updates="constant" name="storeCorrect"/>
209
+ <Param val="False" valType="bool" updates="constant" name="syncScreenRefresh"/>
108
210
  </KeyboardComponent>
109
211
  </Routine>
110
212
  <Routine name="instruction_3">
111
- <TextComponent name="instruction_liquid">
112
- <Param name="color" updates="constant" val="white" valType="str" />
113
- <Param name="colorSpace" updates="constant" val="rgb" valType="str" />
114
- <Param name="durationEstim" updates="None" val="" valType="code" />
115
- <Param name="flip" updates="constant" val="" valType="str" />
116
- <Param name="font" updates="constant" val="Arial" valType="str" />
117
- <Param name="languageStyle" updates="None" val="LTR" valType="str" />
118
- <Param name="letterHeight" updates="constant" val="0.1" valType="code" />
119
- <Param name="name" updates="None" val="instruction_liquid" valType="code" />
120
- <Param name="opacity" updates="constant" val="1" valType="code" />
121
- <Param name="ori" updates="constant" val="0" valType="code" />
122
- <Param name="pos" updates="constant" val="(0, 0)" valType="code" />
123
- <Param name="startEstim" updates="None" val="" valType="code" />
124
- <Param name="startType" updates="None" val="time (s)" valType="str" />
125
- <Param name="startVal" updates="None" val="0.0" valType="code" />
126
- <Param name="stopType" updates="None" val="duration (s)" valType="str" />
127
- <Param name="stopVal" updates="constant" val="" valType="code" />
128
- <Param name="text" updates="constant" val="Insert tubes into the stimulus reservoir again to aspirate liquid.&amp;#10;&amp;#10;Press the spacebar when done" valType="str" />
129
- <Param name="units" updates="None" val="from exp settings" valType="str" />
130
- <Param name="wrapWidth" updates="constant" val="" valType="code" />
213
+ <RoutineSettingsComponent name="instruction_3" plugin="None">
214
+ <Param val="none" valType="str" updates="None" name="backgroundFit"/>
215
+ <Param val="" valType="str" updates="None" name="backgroundImg"/>
216
+ <Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
217
+ <Param val="rgb" valType="str" updates="None" name="colorSpace"/>
218
+ <Param val="" valType="str" updates="constant" name="desc"/>
219
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
220
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
221
+ <Param val="False" valType="code" updates="None" name="forceNonSlip"/>
222
+ <Param val="instruction_3" valType="code" updates="None" name="name"/>
223
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
224
+ <Param val="" valType="code" updates="constant" name="skipIf"/>
225
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
226
+ <Param val="" valType="code" updates="constant" name="stopVal"/>
227
+ <Param val="False" valType="bool" updates="None" name="useWindowParams"/>
228
+ </RoutineSettingsComponent>
229
+ <TextComponent name="instruction_liquid" plugin="None">
230
+ <Param val="white" valType="str" updates="constant" name="color"/>
231
+ <Param val="rgb" valType="str" updates="constant" name="colorSpace"/>
232
+ <Param val="1" valType="num" updates="constant" name="contrast"/>
233
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
234
+ <Param val="False" valType="code" updates="constant" name="draggable"/>
235
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
236
+ <Param val="" valType="str" updates="constant" name="flip"/>
237
+ <Param val="Arial" valType="str" updates="constant" name="font"/>
238
+ <Param val="LTR" valType="str" updates="None" name="languageStyle"/>
239
+ <Param val="0.1" valType="code" updates="constant" name="letterHeight"/>
240
+ <Param val="instruction_liquid" valType="code" updates="None" name="name"/>
241
+ <Param val="1" valType="code" updates="constant" name="opacity"/>
242
+ <Param val="0" valType="code" updates="constant" name="ori"/>
243
+ <Param val="(0, 0)" valType="list" updates="constant" name="pos"/>
244
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
245
+ <Param val="" valType="code" updates="None" name="startEstim"/>
246
+ <Param val="time (s)" valType="str" updates="None" name="startType"/>
247
+ <Param val="0.0" valType="code" updates="None" name="startVal"/>
248
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
249
+ <Param val="" valType="code" updates="constant" name="stopVal"/>
250
+ <Param val="True" valType="bool" updates="None" name="syncScreenRefresh"/>
251
+ <Param val="Insert tubes into the stimulus reservoir again to aspirate liquid.&amp;#10;&amp;#10;Press the spacebar when done" valType="str" updates="constant" name="text"/>
252
+ <Param val="from exp settings" valType="str" updates="None" name="units"/>
253
+ <Param val="" valType="code" updates="None" name="validator"/>
254
+ <Param val="" valType="code" updates="constant" name="wrapWidth"/>
131
255
  </TextComponent>
132
- <KeyboardComponent name="keyboard_2">
133
- <Param name="allowedKeys" updates="constant" val="'space'" valType="code" />
134
- <Param name="correctAns" updates="constant" val="" valType="str" />
135
- <Param name="discard previous" updates="constant" val="True" valType="bool" />
136
- <Param name="durationEstim" updates="None" val="" valType="code" />
137
- <Param name="forceEndRoutine" updates="constant" val="True" valType="bool" />
138
- <Param name="name" updates="None" val="keyboard_2" valType="code" />
139
- <Param name="startEstim" updates="None" val="" valType="code" />
140
- <Param name="startType" updates="None" val="time (s)" valType="str" />
141
- <Param name="startVal" updates="None" val="0.0" valType="code" />
142
- <Param name="stopType" updates="None" val="duration (s)" valType="str" />
143
- <Param name="stopVal" updates="constant" val="" valType="code" />
144
- <Param name="store" updates="constant" val="last key" valType="str" />
145
- <Param name="storeCorrect" updates="constant" val="False" valType="bool" />
146
- <Param name="syncScreenRefresh" updates="constant" val="False" valType="bool" />
256
+ <KeyboardComponent name="keyboard_3" plugin="None">
257
+ <Param val="'space'" valType="list" updates="constant" name="allowedKeys"/>
258
+ <Param val="" valType="str" updates="constant" name="correctAns"/>
259
+ <Param val="" valType="str" updates="None" name="deviceLabel"/>
260
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
261
+ <Param val="True" valType="bool" updates="constant" name="discard previous"/>
262
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
263
+ <Param val="True" valType="bool" updates="constant" name="forceEndRoutine"/>
264
+ <Param val="keyboard_3" valType="code" updates="None" name="name"/>
265
+ <Param val="press" valType="str" updates="constant" name="registerOn"/>
266
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
267
+ <Param val="" valType="code" updates="None" name="startEstim"/>
268
+ <Param val="time (s)" valType="str" updates="None" name="startType"/>
269
+ <Param val="0.0" valType="code" updates="None" name="startVal"/>
270
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
271
+ <Param val="" valType="code" updates="constant" name="stopVal"/>
272
+ <Param val="last key" valType="str" updates="constant" name="store"/>
273
+ <Param val="False" valType="bool" updates="constant" name="storeCorrect"/>
274
+ <Param val="False" valType="bool" updates="constant" name="syncScreenRefresh"/>
147
275
  </KeyboardComponent>
148
276
  </Routine>
149
277
  <Routine name="finished">
150
- <TextComponent name="instruction_end">
151
- <Param name="color" updates="constant" val="white" valType="str" />
152
- <Param name="colorSpace" updates="constant" val="rgb" valType="str" />
153
- <Param name="durationEstim" updates="None" val="" valType="code" />
154
- <Param name="flip" updates="constant" val="" valType="str" />
155
- <Param name="font" updates="constant" val="Arial" valType="str" />
156
- <Param name="languageStyle" updates="None" val="LTR" valType="str" />
157
- <Param name="letterHeight" updates="constant" val="0.1" valType="code" />
158
- <Param name="name" updates="None" val="instruction_end" valType="code" />
159
- <Param name="opacity" updates="constant" val="1" valType="code" />
160
- <Param name="ori" updates="constant" val="0" valType="code" />
161
- <Param name="pos" updates="constant" val="(0, 0)" valType="code" />
162
- <Param name="startEstim" updates="None" val="" valType="code" />
163
- <Param name="startType" updates="None" val="time (s)" valType="str" />
164
- <Param name="startVal" updates="None" val="0.0" valType="code" />
165
- <Param name="stopType" updates="None" val="duration (s)" valType="str" />
166
- <Param name="stopVal" updates="constant" val="" valType="code" />
167
- <Param name="text" updates="constant" val="The pumps should now be filled and bubble-free! You may now attach the spray head if desired.&amp;#10;&amp;#10;Press space to quit." valType="str" />
168
- <Param name="units" updates="None" val="from exp settings" valType="str" />
169
- <Param name="wrapWidth" updates="constant" val="" valType="code" />
278
+ <RoutineSettingsComponent name="finished" plugin="None">
279
+ <Param val="none" valType="str" updates="None" name="backgroundFit"/>
280
+ <Param val="" valType="str" updates="None" name="backgroundImg"/>
281
+ <Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
282
+ <Param val="rgb" valType="str" updates="None" name="colorSpace"/>
283
+ <Param val="" valType="str" updates="constant" name="desc"/>
284
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
285
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
286
+ <Param val="False" valType="code" updates="None" name="forceNonSlip"/>
287
+ <Param val="finished" valType="code" updates="None" name="name"/>
288
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
289
+ <Param val="" valType="code" updates="constant" name="skipIf"/>
290
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
291
+ <Param val="" valType="code" updates="constant" name="stopVal"/>
292
+ <Param val="False" valType="bool" updates="None" name="useWindowParams"/>
293
+ </RoutineSettingsComponent>
294
+ <TextComponent name="instruction_end" plugin="None">
295
+ <Param val="white" valType="str" updates="constant" name="color"/>
296
+ <Param val="rgb" valType="str" updates="constant" name="colorSpace"/>
297
+ <Param val="1" valType="num" updates="constant" name="contrast"/>
298
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
299
+ <Param val="False" valType="code" updates="constant" name="draggable"/>
300
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
301
+ <Param val="" valType="str" updates="constant" name="flip"/>
302
+ <Param val="Arial" valType="str" updates="constant" name="font"/>
303
+ <Param val="LTR" valType="str" updates="None" name="languageStyle"/>
304
+ <Param val="0.1" valType="code" updates="constant" name="letterHeight"/>
305
+ <Param val="instruction_end" valType="code" updates="None" name="name"/>
306
+ <Param val="1" valType="code" updates="constant" name="opacity"/>
307
+ <Param val="0" valType="code" updates="constant" name="ori"/>
308
+ <Param val="(0, 0)" valType="list" updates="constant" name="pos"/>
309
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
310
+ <Param val="" valType="code" updates="None" name="startEstim"/>
311
+ <Param val="time (s)" valType="str" updates="None" name="startType"/>
312
+ <Param val="0.0" valType="code" updates="None" name="startVal"/>
313
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
314
+ <Param val="" valType="code" updates="constant" name="stopVal"/>
315
+ <Param val="True" valType="bool" updates="None" name="syncScreenRefresh"/>
316
+ <Param val="The pumps should now be filled and bubble-free! You may now attach the spray head if desired.&amp;#10;&amp;#10;Press space to quit." valType="str" updates="constant" name="text"/>
317
+ <Param val="from exp settings" valType="str" updates="None" name="units"/>
318
+ <Param val="" valType="code" updates="None" name="validator"/>
319
+ <Param val="" valType="code" updates="constant" name="wrapWidth"/>
170
320
  </TextComponent>
171
- <KeyboardComponent name="keyboard_end">
172
- <Param name="allowedKeys" updates="constant" val="'space'" valType="code" />
173
- <Param name="correctAns" updates="constant" val="" valType="str" />
174
- <Param name="discard previous" updates="constant" val="True" valType="bool" />
175
- <Param name="durationEstim" updates="None" val="" valType="code" />
176
- <Param name="forceEndRoutine" updates="constant" val="True" valType="bool" />
177
- <Param name="name" updates="None" val="keyboard_end" valType="code" />
178
- <Param name="startEstim" updates="None" val="" valType="code" />
179
- <Param name="startType" updates="None" val="time (s)" valType="str" />
180
- <Param name="startVal" updates="None" val="0.0" valType="code" />
181
- <Param name="stopType" updates="None" val="duration (s)" valType="str" />
182
- <Param name="stopVal" updates="constant" val="" valType="code" />
183
- <Param name="store" updates="constant" val="last key" valType="str" />
184
- <Param name="storeCorrect" updates="constant" val="False" valType="bool" />
185
- <Param name="syncScreenRefresh" updates="constant" val="False" valType="bool" />
321
+ <KeyboardComponent name="keyboard_end" plugin="None">
322
+ <Param val="'space'" valType="list" updates="constant" name="allowedKeys"/>
323
+ <Param val="" valType="str" updates="constant" name="correctAns"/>
324
+ <Param val="" valType="str" updates="None" name="deviceLabel"/>
325
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
326
+ <Param val="True" valType="bool" updates="constant" name="discard previous"/>
327
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
328
+ <Param val="True" valType="bool" updates="constant" name="forceEndRoutine"/>
329
+ <Param val="keyboard_end" valType="code" updates="None" name="name"/>
330
+ <Param val="press" valType="str" updates="constant" name="registerOn"/>
331
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
332
+ <Param val="" valType="code" updates="None" name="startEstim"/>
333
+ <Param val="time (s)" valType="str" updates="None" name="startType"/>
334
+ <Param val="0.0" valType="code" updates="None" name="startVal"/>
335
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
336
+ <Param val="" valType="code" updates="constant" name="stopVal"/>
337
+ <Param val="last key" valType="str" updates="constant" name="store"/>
338
+ <Param val="False" valType="bool" updates="constant" name="storeCorrect"/>
339
+ <Param val="False" valType="bool" updates="constant" name="syncScreenRefresh"/>
186
340
  </KeyboardComponent>
187
341
  </Routine>
188
342
  <Routine name="aspirate_liquid_2">
343
+ <RoutineSettingsComponent name="aspirate_liquid_2" plugin="None">
344
+ <Param val="none" valType="str" updates="None" name="backgroundFit"/>
345
+ <Param val="" valType="str" updates="None" name="backgroundImg"/>
346
+ <Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
347
+ <Param val="rgb" valType="str" updates="None" name="colorSpace"/>
348
+ <Param val="" valType="str" updates="constant" name="desc"/>
349
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
350
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
351
+ <Param val="False" valType="code" updates="None" name="forceNonSlip"/>
352
+ <Param val="aspirate_liquid_2" valType="code" updates="None" name="name"/>
353
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
354
+ <Param val="" valType="code" updates="constant" name="skipIf"/>
355
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
356
+ <Param val="" valType="code" updates="constant" name="stopVal"/>
357
+ <Param val="False" valType="bool" updates="None" name="useWindowParams"/>
358
+ </RoutineSettingsComponent>
189
359
  <QmixPumpComponent name="pump_0_2" plugin="psychopy-qmix">
190
- <Param name="durationEstim" updates="None" val="" valType="code" />
191
- <Param name="flowRate" updates="None" val="1.0" valType="code" />
192
- <Param name="flowRateUnit" updates="None" val="mL/s" valType="str" />
193
- <Param name="name" updates="None" val="pump_0_2" valType="code" />
194
- <Param name="pumpAction" updates="None" val="aspirate" valType="str" />
195
- <Param name="pumpIndex" updates="None" val="0" valType="code" />
196
- <Param name="startEstim" updates="None" val="" valType="code" />
197
- <Param name="startType" updates="None" val="time (s)" valType="str" />
198
- <Param name="startVal" updates="None" val="0.0" valType="code" />
199
- <Param name="stopType" updates="None" val="duration (s)" valType="str" />
200
- <Param name="stopVal" updates="constant" val="10" valType="code" />
201
- <Param name="switchValveWhenDone" updates="None" val="True" valType="bool" />
202
- <Param name="syncToScreen" updates="None" val="True" valType="bool" />
203
- <Param name="syringeType" updates="None" val="50 mL glass" valType="str" />
360
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
361
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
362
+ <Param val="1.0" valType="code" updates="None" plugin="psychopy-qmix" name="flowRate"/>
363
+ <Param val="mL/s" valType="str" updates="None" plugin="psychopy-qmix" name="flowRateUnit"/>
364
+ <Param val="pump_0_2" valType="code" updates="None" name="name"/>
365
+ <Param val="aspirate" valType="str" updates="None" plugin="psychopy-qmix" name="pumpAction"/>
366
+ <Param val="0" valType="code" updates="None" plugin="psychopy-qmix" name="pumpIndex"/>
367
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
368
+ <Param val="" valType="code" updates="None" name="startEstim"/>
369
+ <Param val="time (s)" valType="str" updates="None" name="startType"/>
370
+ <Param val="0.0" valType="code" updates="None" name="startVal"/>
371
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
372
+ <Param val="10" valType="code" updates="constant" name="stopVal"/>
373
+ <Param val="True" valType="bool" updates="None" plugin="psychopy-qmix" name="switchValveWhenDone"/>
374
+ <Param val="False" valType="bool" updates="None" name="syncScreenRefresh"/>
375
+ <Param val="True" valType="bool" updates="None" plugin="psychopy-qmix" name="syncToScreen"/>
376
+ <Param val="50 mL glass" valType="str" updates="None" plugin="psychopy-qmix" name="syringeType"/>
204
377
  </QmixPumpComponent>
205
378
  <QmixPumpComponent name="pump_1_2" plugin="psychopy-qmix">
206
- <Param name="durationEstim" updates="None" val="" valType="code" />
207
- <Param name="flowRate" updates="None" val="1.0" valType="code" />
208
- <Param name="flowRateUnit" updates="None" val="mL/s" valType="str" />
209
- <Param name="name" updates="None" val="pump_1_2" valType="code" />
210
- <Param name="pumpAction" updates="None" val="aspirate" valType="str" />
211
- <Param name="pumpIndex" updates="None" val="1" valType="code" />
212
- <Param name="startEstim" updates="None" val="" valType="code" />
213
- <Param name="startType" updates="None" val="time (s)" valType="str" />
214
- <Param name="startVal" updates="None" val="0.0" valType="code" />
215
- <Param name="stopType" updates="None" val="duration (s)" valType="str" />
216
- <Param name="stopVal" updates="constant" val="10" valType="code" />
217
- <Param name="switchValveWhenDone" updates="None" val="True" valType="bool" />
218
- <Param name="syncToScreen" updates="None" val="True" valType="bool" />
219
- <Param name="syringeType" updates="None" val="50 mL glass" valType="str" />
379
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
380
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
381
+ <Param val="1.0" valType="code" updates="None" plugin="psychopy-qmix" name="flowRate"/>
382
+ <Param val="mL/s" valType="str" updates="None" plugin="psychopy-qmix" name="flowRateUnit"/>
383
+ <Param val="pump_1_2" valType="code" updates="None" name="name"/>
384
+ <Param val="aspirate" valType="str" updates="None" plugin="psychopy-qmix" name="pumpAction"/>
385
+ <Param val="1" valType="code" updates="None" plugin="psychopy-qmix" name="pumpIndex"/>
386
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
387
+ <Param val="" valType="code" updates="None" name="startEstim"/>
388
+ <Param val="time (s)" valType="str" updates="None" name="startType"/>
389
+ <Param val="0.0" valType="code" updates="None" name="startVal"/>
390
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
391
+ <Param val="10" valType="code" updates="constant" name="stopVal"/>
392
+ <Param val="True" valType="bool" updates="None" plugin="psychopy-qmix" name="switchValveWhenDone"/>
393
+ <Param val="False" valType="bool" updates="None" name="syncScreenRefresh"/>
394
+ <Param val="True" valType="bool" updates="None" plugin="psychopy-qmix" name="syncToScreen"/>
395
+ <Param val="50 mL glass" valType="str" updates="None" plugin="psychopy-qmix" name="syringeType"/>
220
396
  </QmixPumpComponent>
221
397
  </Routine>
222
398
  <Routine name="aspirate_air">
399
+ <RoutineSettingsComponent name="aspirate_air" plugin="None">
400
+ <Param val="none" valType="str" updates="None" name="backgroundFit"/>
401
+ <Param val="" valType="str" updates="None" name="backgroundImg"/>
402
+ <Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
403
+ <Param val="rgb" valType="str" updates="None" name="colorSpace"/>
404
+ <Param val="" valType="str" updates="constant" name="desc"/>
405
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
406
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
407
+ <Param val="False" valType="code" updates="None" name="forceNonSlip"/>
408
+ <Param val="aspirate_air" valType="code" updates="None" name="name"/>
409
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
410
+ <Param val="" valType="code" updates="constant" name="skipIf"/>
411
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
412
+ <Param val="" valType="code" updates="constant" name="stopVal"/>
413
+ <Param val="False" valType="bool" updates="None" name="useWindowParams"/>
414
+ </RoutineSettingsComponent>
223
415
  <QmixPumpComponent name="pump_0_1" plugin="psychopy-qmix">
224
- <Param name="durationEstim" updates="None" val="" valType="code" />
225
- <Param name="flowRate" updates="None" val="1.0" valType="code" />
226
- <Param name="flowRateUnit" updates="None" val="mL/s" valType="str" />
227
- <Param name="name" updates="None" val="pump_0_1" valType="code" />
228
- <Param name="pumpAction" updates="None" val="aspirate" valType="str" />
229
- <Param name="pumpIndex" updates="None" val="0" valType="code" />
230
- <Param name="startEstim" updates="None" val="" valType="code" />
231
- <Param name="startType" updates="None" val="time (s)" valType="str" />
232
- <Param name="startVal" updates="None" val="0.0" valType="code" />
233
- <Param name="stopType" updates="None" val="duration (s)" valType="str" />
234
- <Param name="stopVal" updates="constant" val="10" valType="code" />
235
- <Param name="switchValveWhenDone" updates="None" val="True" valType="bool" />
236
- <Param name="syncToScreen" updates="None" val="True" valType="bool" />
237
- <Param name="syringeType" updates="None" val="50 mL glass" valType="str" />
416
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
417
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
418
+ <Param val="1.0" valType="code" updates="None" plugin="psychopy-qmix" name="flowRate"/>
419
+ <Param val="mL/s" valType="str" updates="None" plugin="psychopy-qmix" name="flowRateUnit"/>
420
+ <Param val="pump_0_1" valType="code" updates="None" name="name"/>
421
+ <Param val="aspirate" valType="str" updates="None" plugin="psychopy-qmix" name="pumpAction"/>
422
+ <Param val="0" valType="code" updates="None" plugin="psychopy-qmix" name="pumpIndex"/>
423
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
424
+ <Param val="" valType="code" updates="None" name="startEstim"/>
425
+ <Param val="time (s)" valType="str" updates="None" name="startType"/>
426
+ <Param val="0.0" valType="code" updates="None" name="startVal"/>
427
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
428
+ <Param val="10" valType="code" updates="constant" name="stopVal"/>
429
+ <Param val="True" valType="bool" updates="None" plugin="psychopy-qmix" name="switchValveWhenDone"/>
430
+ <Param val="False" valType="bool" updates="None" name="syncScreenRefresh"/>
431
+ <Param val="True" valType="bool" updates="None" plugin="psychopy-qmix" name="syncToScreen"/>
432
+ <Param val="50 mL glass" valType="str" updates="None" plugin="psychopy-qmix" name="syringeType"/>
238
433
  </QmixPumpComponent>
239
434
  <QmixPumpComponent name="pump_1_1" plugin="psychopy-qmix">
240
- <Param name="durationEstim" updates="None" val="" valType="code" />
241
- <Param name="flowRate" updates="None" val="1.0" valType="code" />
242
- <Param name="flowRateUnit" updates="None" val="mL/s" valType="str" />
243
- <Param name="name" updates="None" val="pump_1_1" valType="code" />
244
- <Param name="pumpAction" updates="None" val="aspirate" valType="str" />
245
- <Param name="pumpIndex" updates="None" val="1" valType="code" />
246
- <Param name="startEstim" updates="None" val="" valType="code" />
247
- <Param name="startType" updates="None" val="time (s)" valType="str" />
248
- <Param name="startVal" updates="None" val="0.0" valType="code" />
249
- <Param name="stopType" updates="None" val="duration (s)" valType="str" />
250
- <Param name="stopVal" updates="constant" val="10" valType="code" />
251
- <Param name="switchValveWhenDone" updates="None" val="True" valType="bool" />
252
- <Param name="syncToScreen" updates="None" val="True" valType="bool" />
253
- <Param name="syringeType" updates="None" val="50 mL glass" valType="str" />
435
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
436
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
437
+ <Param val="1.0" valType="code" updates="None" plugin="psychopy-qmix" name="flowRate"/>
438
+ <Param val="mL/s" valType="str" updates="None" plugin="psychopy-qmix" name="flowRateUnit"/>
439
+ <Param val="pump_1_1" valType="code" updates="None" name="name"/>
440
+ <Param val="aspirate" valType="str" updates="None" plugin="psychopy-qmix" name="pumpAction"/>
441
+ <Param val="1" valType="code" updates="None" plugin="psychopy-qmix" name="pumpIndex"/>
442
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
443
+ <Param val="" valType="code" updates="None" name="startEstim"/>
444
+ <Param val="time (s)" valType="str" updates="None" name="startType"/>
445
+ <Param val="0.0" valType="code" updates="None" name="startVal"/>
446
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
447
+ <Param val="10" valType="code" updates="constant" name="stopVal"/>
448
+ <Param val="True" valType="bool" updates="None" plugin="psychopy-qmix" name="switchValveWhenDone"/>
449
+ <Param val="False" valType="bool" updates="None" name="syncScreenRefresh"/>
450
+ <Param val="True" valType="bool" updates="None" plugin="psychopy-qmix" name="syncToScreen"/>
451
+ <Param val="50 mL glass" valType="str" updates="None" plugin="psychopy-qmix" name="syringeType"/>
254
452
  </QmixPumpComponent>
255
453
  </Routine>
256
454
  <Routine name="aspirate_liquid_1">
455
+ <RoutineSettingsComponent name="aspirate_liquid_1" plugin="None">
456
+ <Param val="none" valType="str" updates="None" name="backgroundFit"/>
457
+ <Param val="" valType="str" updates="None" name="backgroundImg"/>
458
+ <Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
459
+ <Param val="rgb" valType="str" updates="None" name="colorSpace"/>
460
+ <Param val="" valType="str" updates="constant" name="desc"/>
461
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
462
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
463
+ <Param val="False" valType="code" updates="None" name="forceNonSlip"/>
464
+ <Param val="aspirate_liquid_1" valType="code" updates="None" name="name"/>
465
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
466
+ <Param val="" valType="code" updates="constant" name="skipIf"/>
467
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
468
+ <Param val="" valType="code" updates="constant" name="stopVal"/>
469
+ <Param val="False" valType="bool" updates="None" name="useWindowParams"/>
470
+ </RoutineSettingsComponent>
257
471
  <QmixPumpComponent name="pump_0_0" plugin="psychopy-qmix">
258
- <Param name="durationEstim" updates="None" val="" valType="code" />
259
- <Param name="flowRate" updates="None" val="1.0" valType="code" />
260
- <Param name="flowRateUnit" updates="None" val="mL/s" valType="str" />
261
- <Param name="name" updates="None" val="pump_0_0" valType="code" />
262
- <Param name="pumpAction" updates="None" val="aspirate" valType="str" />
263
- <Param name="pumpIndex" updates="None" val="0" valType="code" />
264
- <Param name="startEstim" updates="None" val="" valType="code" />
265
- <Param name="startType" updates="None" val="time (s)" valType="str" />
266
- <Param name="startVal" updates="None" val="0" valType="code" />
267
- <Param name="stopType" updates="None" val="duration (s)" valType="str" />
268
- <Param name="stopVal" updates="constant" val="30" valType="code" />
269
- <Param name="switchValveWhenDone" updates="None" val="True" valType="bool" />
270
- <Param name="syncToScreen" updates="None" val="True" valType="bool" />
271
- <Param name="syringeType" updates="None" val="50 mL glass" valType="str" />
472
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
473
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
474
+ <Param val="1.0" valType="code" updates="None" plugin="psychopy-qmix" name="flowRate"/>
475
+ <Param val="mL/s" valType="str" updates="None" plugin="psychopy-qmix" name="flowRateUnit"/>
476
+ <Param val="pump_0_0" valType="code" updates="None" name="name"/>
477
+ <Param val="aspirate" valType="str" updates="None" plugin="psychopy-qmix" name="pumpAction"/>
478
+ <Param val="0" valType="code" updates="None" plugin="psychopy-qmix" name="pumpIndex"/>
479
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
480
+ <Param val="" valType="code" updates="None" name="startEstim"/>
481
+ <Param val="time (s)" valType="str" updates="None" name="startType"/>
482
+ <Param val="0" valType="code" updates="None" name="startVal"/>
483
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
484
+ <Param val="30" valType="code" updates="constant" name="stopVal"/>
485
+ <Param val="True" valType="bool" updates="None" plugin="psychopy-qmix" name="switchValveWhenDone"/>
486
+ <Param val="False" valType="bool" updates="None" name="syncScreenRefresh"/>
487
+ <Param val="True" valType="bool" updates="None" plugin="psychopy-qmix" name="syncToScreen"/>
488
+ <Param val="50 mL glass" valType="str" updates="None" plugin="psychopy-qmix" name="syringeType"/>
272
489
  </QmixPumpComponent>
273
490
  <QmixPumpComponent name="pump_1_0" plugin="psychopy-qmix">
274
- <Param name="durationEstim" updates="None" val="" valType="code" />
275
- <Param name="flowRate" updates="None" val="1.0" valType="code" />
276
- <Param name="flowRateUnit" updates="None" val="mL/s" valType="str" />
277
- <Param name="name" updates="None" val="pump_1_0" valType="code" />
278
- <Param name="pumpAction" updates="None" val="aspirate" valType="str" />
279
- <Param name="pumpIndex" updates="None" val="1" valType="code" />
280
- <Param name="startEstim" updates="None" val="" valType="code" />
281
- <Param name="startType" updates="None" val="time (s)" valType="str" />
282
- <Param name="startVal" updates="None" val="0.0" valType="code" />
283
- <Param name="stopType" updates="None" val="duration (s)" valType="str" />
284
- <Param name="stopVal" updates="constant" val="30" valType="code" />
285
- <Param name="switchValveWhenDone" updates="None" val="True" valType="bool" />
286
- <Param name="syncToScreen" updates="None" val="True" valType="bool" />
287
- <Param name="syringeType" updates="None" val="50 mL glass" valType="str" />
491
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
492
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
493
+ <Param val="1.0" valType="code" updates="None" plugin="psychopy-qmix" name="flowRate"/>
494
+ <Param val="mL/s" valType="str" updates="None" plugin="psychopy-qmix" name="flowRateUnit"/>
495
+ <Param val="pump_1_0" valType="code" updates="None" name="name"/>
496
+ <Param val="aspirate" valType="str" updates="None" plugin="psychopy-qmix" name="pumpAction"/>
497
+ <Param val="1" valType="code" updates="None" plugin="psychopy-qmix" name="pumpIndex"/>
498
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
499
+ <Param val="" valType="code" updates="None" name="startEstim"/>
500
+ <Param val="time (s)" valType="str" updates="None" name="startType"/>
501
+ <Param val="0.0" valType="code" updates="None" name="startVal"/>
502
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
503
+ <Param val="30" valType="code" updates="constant" name="stopVal"/>
504
+ <Param val="True" valType="bool" updates="None" plugin="psychopy-qmix" name="switchValveWhenDone"/>
505
+ <Param val="False" valType="bool" updates="None" name="syncScreenRefresh"/>
506
+ <Param val="True" valType="bool" updates="None" plugin="psychopy-qmix" name="syncToScreen"/>
507
+ <Param val="50 mL glass" valType="str" updates="None" plugin="psychopy-qmix" name="syringeType"/>
288
508
  </QmixPumpComponent>
289
509
  </Routine>
290
510
  <Routine name="empty">
511
+ <RoutineSettingsComponent name="empty" plugin="None">
512
+ <Param val="none" valType="str" updates="None" name="backgroundFit"/>
513
+ <Param val="" valType="str" updates="None" name="backgroundImg"/>
514
+ <Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
515
+ <Param val="rgb" valType="str" updates="None" name="colorSpace"/>
516
+ <Param val="" valType="str" updates="constant" name="desc"/>
517
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
518
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
519
+ <Param val="False" valType="code" updates="None" name="forceNonSlip"/>
520
+ <Param val="empty" valType="code" updates="None" name="name"/>
521
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
522
+ <Param val="" valType="code" updates="constant" name="skipIf"/>
523
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
524
+ <Param val="" valType="code" updates="constant" name="stopVal"/>
525
+ <Param val="False" valType="bool" updates="None" name="useWindowParams"/>
526
+ </RoutineSettingsComponent>
291
527
  <QmixPumpComponent name="pump_0_3" plugin="psychopy-qmix">
292
- <Param name="durationEstim" updates="None" val="" valType="code" />
293
- <Param name="flowRate" updates="None" val="1.0" valType="code" />
294
- <Param name="flowRateUnit" updates="None" val="mL/s" valType="str" />
295
- <Param name="name" updates="None" val="pump_0_3" valType="code" />
296
- <Param name="pumpAction" updates="None" val="dispense" valType="str" />
297
- <Param name="pumpIndex" updates="None" val="0" valType="code" />
298
- <Param name="startEstim" updates="None" val="" valType="code" />
299
- <Param name="startType" updates="None" val="time (s)" valType="str" />
300
- <Param name="startVal" updates="None" val="0.0" valType="code" />
301
- <Param name="stopType" updates="None" val="duration (s)" valType="str" />
302
- <Param name="stopVal" updates="constant" val="20" valType="code" />
303
- <Param name="switchValveWhenDone" updates="None" val="True" valType="bool" />
304
- <Param name="syncToScreen" updates="None" val="True" valType="bool" />
305
- <Param name="syringeType" updates="None" val="50 mL glass" valType="str" />
528
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
529
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
530
+ <Param val="1.0" valType="code" updates="None" plugin="psychopy-qmix" name="flowRate"/>
531
+ <Param val="mL/s" valType="str" updates="None" plugin="psychopy-qmix" name="flowRateUnit"/>
532
+ <Param val="pump_0_3" valType="code" updates="None" name="name"/>
533
+ <Param val="dispense" valType="str" updates="None" plugin="psychopy-qmix" name="pumpAction"/>
534
+ <Param val="0" valType="code" updates="None" plugin="psychopy-qmix" name="pumpIndex"/>
535
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
536
+ <Param val="" valType="code" updates="None" name="startEstim"/>
537
+ <Param val="time (s)" valType="str" updates="None" name="startType"/>
538
+ <Param val="0.0" valType="code" updates="None" name="startVal"/>
539
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
540
+ <Param val="20" valType="code" updates="constant" name="stopVal"/>
541
+ <Param val="True" valType="bool" updates="None" plugin="psychopy-qmix" name="switchValveWhenDone"/>
542
+ <Param val="False" valType="bool" updates="None" name="syncScreenRefresh"/>
543
+ <Param val="True" valType="bool" updates="None" plugin="psychopy-qmix" name="syncToScreen"/>
544
+ <Param val="50 mL glass" valType="str" updates="None" plugin="psychopy-qmix" name="syringeType"/>
306
545
  </QmixPumpComponent>
307
546
  <QmixPumpComponent name="pump_1_3" plugin="psychopy-qmix">
308
- <Param name="durationEstim" updates="None" val="" valType="code" />
309
- <Param name="flowRate" updates="None" val="1.0" valType="code" />
310
- <Param name="flowRateUnit" updates="None" val="mL/s" valType="str" />
311
- <Param name="name" updates="None" val="pump_1_3" valType="code" />
312
- <Param name="pumpAction" updates="None" val="dispense" valType="str" />
313
- <Param name="pumpIndex" updates="None" val="1" valType="code" />
314
- <Param name="startEstim" updates="None" val="" valType="code" />
315
- <Param name="startType" updates="None" val="time (s)" valType="str" />
316
- <Param name="startVal" updates="None" val="0.0" valType="code" />
317
- <Param name="stopType" updates="None" val="duration (s)" valType="str" />
318
- <Param name="stopVal" updates="constant" val="20" valType="code" />
319
- <Param name="switchValveWhenDone" updates="None" val="True" valType="bool" />
320
- <Param name="syncToScreen" updates="None" val="True" valType="bool" />
321
- <Param name="syringeType" updates="None" val="50 mL glass" valType="str" />
547
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
548
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
549
+ <Param val="1.0" valType="code" updates="None" plugin="psychopy-qmix" name="flowRate"/>
550
+ <Param val="mL/s" valType="str" updates="None" plugin="psychopy-qmix" name="flowRateUnit"/>
551
+ <Param val="pump_1_3" valType="code" updates="None" name="name"/>
552
+ <Param val="dispense" valType="str" updates="None" plugin="psychopy-qmix" name="pumpAction"/>
553
+ <Param val="1" valType="code" updates="None" plugin="psychopy-qmix" name="pumpIndex"/>
554
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
555
+ <Param val="" valType="code" updates="None" name="startEstim"/>
556
+ <Param val="time (s)" valType="str" updates="None" name="startType"/>
557
+ <Param val="0.0" valType="code" updates="None" name="startVal"/>
558
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
559
+ <Param val="20" valType="code" updates="constant" name="stopVal"/>
560
+ <Param val="True" valType="bool" updates="None" plugin="psychopy-qmix" name="switchValveWhenDone"/>
561
+ <Param val="False" valType="bool" updates="None" name="syncScreenRefresh"/>
562
+ <Param val="True" valType="bool" updates="None" plugin="psychopy-qmix" name="syncToScreen"/>
563
+ <Param val="50 mL glass" valType="str" updates="None" plugin="psychopy-qmix" name="syringeType"/>
322
564
  </QmixPumpComponent>
323
565
  </Routine>
324
566
  <Routine name="fill">
567
+ <RoutineSettingsComponent name="fill" plugin="None">
568
+ <Param val="none" valType="str" updates="None" name="backgroundFit"/>
569
+ <Param val="" valType="str" updates="None" name="backgroundImg"/>
570
+ <Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
571
+ <Param val="rgb" valType="str" updates="None" name="colorSpace"/>
572
+ <Param val="" valType="str" updates="constant" name="desc"/>
573
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
574
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
575
+ <Param val="False" valType="code" updates="None" name="forceNonSlip"/>
576
+ <Param val="fill" valType="code" updates="None" name="name"/>
577
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
578
+ <Param val="" valType="code" updates="constant" name="skipIf"/>
579
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
580
+ <Param val="" valType="code" updates="constant" name="stopVal"/>
581
+ <Param val="False" valType="bool" updates="None" name="useWindowParams"/>
582
+ </RoutineSettingsComponent>
325
583
  <QmixPumpComponent name="pump_0_4" plugin="psychopy-qmix">
326
- <Param name="durationEstim" updates="None" val="" valType="code" />
327
- <Param name="flowRate" updates="None" val="1.0" valType="code" />
328
- <Param name="flowRateUnit" updates="None" val="mL/s" valType="str" />
329
- <Param name="name" updates="None" val="pump_0_4" valType="code" />
330
- <Param name="pumpAction" updates="None" val="aspirate" valType="str" />
331
- <Param name="pumpIndex" updates="None" val="0" valType="code" />
332
- <Param name="startEstim" updates="None" val="" valType="code" />
333
- <Param name="startType" updates="None" val="time (s)" valType="str" />
334
- <Param name="startVal" updates="None" val="0.0" valType="code" />
335
- <Param name="stopType" updates="None" val="duration (s)" valType="str" />
336
- <Param name="stopVal" updates="constant" val="20" valType="code" />
337
- <Param name="switchValveWhenDone" updates="None" val="True" valType="bool" />
338
- <Param name="syncToScreen" updates="None" val="True" valType="bool" />
339
- <Param name="syringeType" updates="None" val="50 mL glass" valType="str" />
584
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
585
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
586
+ <Param val="1.0" valType="code" updates="None" plugin="psychopy-qmix" name="flowRate"/>
587
+ <Param val="mL/s" valType="str" updates="None" plugin="psychopy-qmix" name="flowRateUnit"/>
588
+ <Param val="pump_0_4" valType="code" updates="None" name="name"/>
589
+ <Param val="aspirate" valType="str" updates="None" plugin="psychopy-qmix" name="pumpAction"/>
590
+ <Param val="0" valType="code" updates="None" plugin="psychopy-qmix" name="pumpIndex"/>
591
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
592
+ <Param val="" valType="code" updates="None" name="startEstim"/>
593
+ <Param val="time (s)" valType="str" updates="None" name="startType"/>
594
+ <Param val="0.0" valType="code" updates="None" name="startVal"/>
595
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
596
+ <Param val="20" valType="code" updates="constant" name="stopVal"/>
597
+ <Param val="True" valType="bool" updates="None" plugin="psychopy-qmix" name="switchValveWhenDone"/>
598
+ <Param val="False" valType="bool" updates="None" name="syncScreenRefresh"/>
599
+ <Param val="True" valType="bool" updates="None" plugin="psychopy-qmix" name="syncToScreen"/>
600
+ <Param val="50 mL glass" valType="str" updates="None" plugin="psychopy-qmix" name="syringeType"/>
340
601
  </QmixPumpComponent>
341
602
  <QmixPumpComponent name="pump_1_4" plugin="psychopy-qmix">
342
- <Param name="durationEstim" updates="None" val="" valType="code" />
343
- <Param name="flowRate" updates="None" val="1.0" valType="code" />
344
- <Param name="flowRateUnit" updates="None" val="mL/s" valType="str" />
345
- <Param name="name" updates="None" val="pump_1_4" valType="code" />
346
- <Param name="pumpAction" updates="None" val="aspirate" valType="str" />
347
- <Param name="pumpIndex" updates="None" val="1" valType="code" />
348
- <Param name="startEstim" updates="None" val="" valType="code" />
349
- <Param name="startType" updates="None" val="time (s)" valType="str" />
350
- <Param name="startVal" updates="None" val="0.0" valType="code" />
351
- <Param name="stopType" updates="None" val="duration (s)" valType="str" />
352
- <Param name="stopVal" updates="constant" val="20" valType="code" />
353
- <Param name="switchValveWhenDone" updates="None" val="True" valType="bool" />
354
- <Param name="syncToScreen" updates="None" val="True" valType="bool" />
355
- <Param name="syringeType" updates="None" val="50 mL glass" valType="str" />
603
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
604
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
605
+ <Param val="1.0" valType="code" updates="None" plugin="psychopy-qmix" name="flowRate"/>
606
+ <Param val="mL/s" valType="str" updates="None" plugin="psychopy-qmix" name="flowRateUnit"/>
607
+ <Param val="pump_1_4" valType="code" updates="None" name="name"/>
608
+ <Param val="aspirate" valType="str" updates="None" plugin="psychopy-qmix" name="pumpAction"/>
609
+ <Param val="1" valType="code" updates="None" plugin="psychopy-qmix" name="pumpIndex"/>
610
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
611
+ <Param val="" valType="code" updates="None" name="startEstim"/>
612
+ <Param val="time (s)" valType="str" updates="None" name="startType"/>
613
+ <Param val="0.0" valType="code" updates="None" name="startVal"/>
614
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
615
+ <Param val="20" valType="code" updates="constant" name="stopVal"/>
616
+ <Param val="True" valType="bool" updates="None" plugin="psychopy-qmix" name="switchValveWhenDone"/>
617
+ <Param val="False" valType="bool" updates="None" name="syncScreenRefresh"/>
618
+ <Param val="True" valType="bool" updates="None" plugin="psychopy-qmix" name="syncToScreen"/>
619
+ <Param val="50 mL glass" valType="str" updates="None" plugin="psychopy-qmix" name="syringeType"/>
356
620
  </QmixPumpComponent>
357
621
  </Routine>
358
622
  </Routines>
359
623
  <Flow>
360
- <Routine name="instruction_1" />
361
- <Routine name="aspirate_liquid_1" />
362
- <Routine name="instruction_2" />
363
- <Routine name="aspirate_air" />
364
- <Routine name="instruction_3" />
365
- <Routine name="aspirate_liquid_2" />
624
+ <Routine name="instruction_1"/>
625
+ <Routine name="aspirate_liquid_1"/>
626
+ <Routine name="instruction_2"/>
627
+ <Routine name="aspirate_air"/>
628
+ <Routine name="instruction_3"/>
629
+ <Routine name="aspirate_liquid_2"/>
366
630
  <LoopInitiator loopType="TrialHandler" name="repeats">
367
- <Param name="Selected rows" updates="None" val="" valType="str" />
368
- <Param name="conditions" updates="None" val="None" valType="str" />
369
- <Param name="conditionsFile" updates="None" val="" valType="str" />
370
- <Param name="endPoints" updates="None" val="[0, 1]" valType="num" />
371
- <Param name="isTrials" updates="None" val="True" valType="bool" />
372
- <Param name="loopType" updates="None" val="sequential" valType="str" />
373
- <Param name="nReps" updates="None" val="3" valType="code" />
374
- <Param name="name" updates="None" val="repeats" valType="code" />
375
- <Param name="random seed" updates="None" val="" valType="code" />
631
+ <Param name="Selected rows" updates="None" val="" valType="str"/>
632
+ <Param name="conditions" updates="None" val="None" valType="str"/>
633
+ <Param name="conditionsFile" updates="None" val="" valType="str"/>
634
+ <Param name="endPoints" updates="None" val="[0, 1]" valType="num"/>
635
+ <Param name="isTrials" updates="None" val="True" valType="bool"/>
636
+ <Param name="loopType" updates="None" val="sequential" valType="str"/>
637
+ <Param name="nReps" updates="None" val="3" valType="code"/>
638
+ <Param name="name" updates="None" val="repeats" valType="code"/>
639
+ <Param name="random seed" updates="None" val="" valType="code"/>
376
640
  </LoopInitiator>
377
- <Routine name="empty" />
378
- <Routine name="fill" />
379
- <LoopTerminator name="repeats" />
380
- <Routine name="finished" />
641
+ <Routine name="empty"/>
642
+ <Routine name="fill"/>
643
+ <LoopTerminator name="repeats"/>
644
+ <Routine name="finished"/>
381
645
  </Flow>
382
- </PsychoPy2experiment>
646
+ </PsychoPy2experiment>