psychopy 2024.2.1__py3-none-any.whl → 2024.2.5__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 (252) hide show
  1. psychopy/.DS_Store +0 -0
  2. psychopy/CHANGELOG.txt +204 -0
  3. psychopy/GIT_SHA +1 -1
  4. psychopy/VERSION +1 -1
  5. psychopy/__init__.py +10 -1
  6. psychopy/__init__.py.orig +65 -0
  7. psychopy/app/.DS_Store +0 -0
  8. psychopy/app/Resources/.DS_Store +0 -0
  9. psychopy/app/_psychopyApp.py +11 -3
  10. psychopy/app/appData.spec +1 -1
  11. psychopy/app/builder/builder.py +1 -1
  12. psychopy/app/builder/builder.py.orig +3932 -0
  13. psychopy/app/builder/dialogs/__init__.py.orig +1679 -0
  14. psychopy/app/builder/dialogs/paramCtrls.py +1 -1
  15. psychopy/app/builder/dialogs/paramCtrls.py.orig +713 -0
  16. psychopy/app/colorpicker/__init__.py.orig +411 -0
  17. psychopy/app/cortex.log +0 -0
  18. psychopy/app/jobs.py +8 -1
  19. psychopy/app/locale/ar_001/.DS_Store +0 -0
  20. psychopy/app/locale/ar_001/LC_MESSAGE/messages.po +792 -1816
  21. psychopy/app/plugin_manager/dialog.py +9 -7
  22. psychopy/app/ribbon.py +2 -1
  23. psychopy/app/runner/runner.py +25 -13
  24. psychopy/clock.py +8 -4
  25. psychopy/core.py.orig +169 -0
  26. psychopy/demos/builder/Design Templates/randomisedBlocks/randomisedBlocks_lastrun.py +330 -0
  27. psychopy/demos/builder/Tools/.DS_Store +0 -0
  28. psychopy/demos/builder/Tools/gammaCalibration/.DS_Store +0 -0
  29. psychopy/demos/builder/Tools/gammaCalibration/data/.DS_Store +0 -0
  30. psychopy/demos/builder/Tools/gammaCalibration/data/_gamma_correction_visual_2022-05-18_14h18.29.439.csv +38 -0
  31. psychopy/demos/builder/Tools/gammaCalibration/data/_gamma_correction_visual_2022-05-18_14h18.29.439.log +3418 -0
  32. psychopy/demos/builder/Tools/gammaCalibration/data/_gamma_correction_visual_2022-05-18_14h18.29.439.psydat +0 -0
  33. psychopy/demos/builder/Tools/gammaCalibration/data/x1_gamma_correction_visual_2022-05-17_13h59.42.928.csv +2 -0
  34. psychopy/demos/builder/Tools/gammaCalibration/data/x1_gamma_correction_visual_2022-05-17_13h59.42.928.log +15 -0
  35. psychopy/demos/builder/Tools/gammaCalibration/data/x1_gamma_correction_visual_2022-05-17_13h59.42.928.psydat +0 -0
  36. psychopy/demos/builder/Tools/gammaCalibration/gamma_correction_visual_lastrun.py +562 -0
  37. psychopy/demos/coder/.DS_Store +0 -0
  38. psychopy/demos/coder/experiment control/info_gamma.pickle +0 -0
  39. psychopy/demos/coder/iohub/.iohpid +1 -0
  40. psychopy/demos/coder/iohub/eyetracking/.iohpid +1 -0
  41. psychopy/demos/coder/iohub/wintab/.DS_Store +0 -0
  42. psychopy/demos/coder/stimuli/.DS_Store +0 -0
  43. psychopy/experiment/_experiment.py +32 -7
  44. psychopy/experiment/_experiment.py.orig +1032 -0
  45. psychopy/experiment/components/.DS_Store +0 -0
  46. psychopy/experiment/components/_base.py +13 -4
  47. psychopy/experiment/components/_base.py.orig +823 -0
  48. psychopy/experiment/components/form/.DS_Store +0 -0
  49. psychopy/experiment/components/microphone/__init__.py +10 -1
  50. psychopy/experiment/components/microphone/__init__.py.orig +490 -0
  51. psychopy/experiment/components/polygon/__init__.py +21 -22
  52. psychopy/experiment/components/settings/__init__.py +13 -14
  53. psychopy/experiment/components/settings/__init__.py.orig +1337 -0
  54. psychopy/experiment/components/textbox/__init__.py.orig +310 -0
  55. psychopy/experiment/components/webcam/.DS_Store +0 -0
  56. psychopy/experiment/components/webcam/light/.DS_Store +0 -0
  57. psychopy/experiment/flow.py +10 -8
  58. psychopy/experiment/loops.py.orig +829 -0
  59. psychopy/experiment/params.py +8 -3
  60. psychopy/experiment/params.py.orig +408 -0
  61. psychopy/experiment/routine.py.orig +503 -0
  62. psychopy/experiment/routines/_base.py +15 -6
  63. psychopy/experiment/routines/counterbalance/__init__.py +1 -0
  64. psychopy/gui/qtgui.py +14 -7
  65. psychopy/gui/util.py +10 -14
  66. psychopy/gui/wxgui.py +10 -4
  67. psychopy/hardware/.DS_Store +0 -0
  68. psychopy/hardware/brainproducts.py.orig +680 -0
  69. psychopy/hardware/iolab.py.orig +238 -0
  70. psychopy/hardware/manager.py +1 -1
  71. psychopy/hardware/photodiode.py +59 -27
  72. psychopy/hardware/speaker.py +4 -4
  73. psychopy/iohub/client/__init__.py +17 -0
  74. psychopy/iohub/client/keyboard.py +5 -0
  75. psychopy/iohub/datastore/__init__.py.orig +443 -0
  76. psychopy/iohub/datastore/util.py.orig +692 -0
  77. psychopy/iohub/devices/mouse/darwin.py.orig +427 -0
  78. psychopy/iohub/devices/mouse/linux2.py +4 -0
  79. psychopy/iohub/devices/mouse/linux2.py.orig +198 -0
  80. psychopy/iohub/devices/mouse/win32.py +5 -0
  81. psychopy/preferences/.DS_Store +0 -0
  82. psychopy/projects/pavlovia.py +10 -3
  83. psychopy/projects/pavlovia.py.orig +1295 -0
  84. psychopy/sound/backend_ptb.py +22 -5
  85. psychopy/sound/transcribe.py +24 -4
  86. psychopy/tests/.DS_Store +0 -0
  87. psychopy/tests/data/.DS_Store +0 -0
  88. psychopy/tests/data/TestCircle_fill_local.png +0 -0
  89. psychopy/tests/data/aperture1_normHexbackground_local.png +0 -0
  90. psychopy/tests/data/aperture1_norm_local.png +0 -0
  91. psychopy/tests/data/aperture2_normHexbackground_local.png +0 -0
  92. psychopy/tests/data/beatandrcos_height_local.png +0 -0
  93. psychopy/tests/data/beatandrcos_normAddBlend_local.png +0 -0
  94. psychopy/tests/data/beatandrcos_normHexbackground_local.png +0 -0
  95. psychopy/tests/data/beatandrcos_norm_local.png +0 -0
  96. psychopy/tests/data/beatandrcos_stencil_local.png +0 -0
  97. psychopy/tests/data/blend_add_height_local.png +0 -0
  98. psychopy/tests/data/blend_add_normAddBlend_local.png +0 -0
  99. psychopy/tests/data/blend_add_normHexbackground_local.png +0 -0
  100. psychopy/tests/data/blend_add_normNoShade_local.png +0 -0
  101. psychopy/tests/data/blend_add_norm_local.png +0 -0
  102. psychopy/tests/data/blend_add_stencil_local.png +0 -0
  103. psychopy/tests/data/bufferimg_gabor_height_local.png +0 -0
  104. psychopy/tests/data/bufferimg_gabor_normAddBlend_local.png +0 -0
  105. psychopy/tests/data/bufferimg_gabor_normHexbackground_local.png +0 -0
  106. psychopy/tests/data/bufferimg_gabor_normNoShade_local.png +0 -0
  107. psychopy/tests/data/bufferimg_gabor_norm_local.png +0 -0
  108. psychopy/tests/data/bufferimg_gabor_stencil_local.png +0 -0
  109. psychopy/tests/data/circleHex_height_local.png +0 -0
  110. psychopy/tests/data/circleHex_normAddBlend_local.png +0 -0
  111. psychopy/tests/data/circleHex_normHexbackground_local.png +0 -0
  112. psychopy/tests/data/circleHex_normNoShade_local.png +0 -0
  113. psychopy/tests/data/circleHex_norm_local.png +0 -0
  114. psychopy/tests/data/circleHex_stencil_local.png +0 -0
  115. psychopy/tests/data/color_comparison_local.png +0 -0
  116. psychopy/tests/data/correctScript/.DS_Store +0 -0
  117. psychopy/tests/data/dots_height_local.png +0 -0
  118. psychopy/tests/data/dots_normAddBlend_local.png +0 -0
  119. psychopy/tests/data/dots_normHexbackground_local.png +0 -0
  120. psychopy/tests/data/dots_normNoShade_local.png +0 -0
  121. psychopy/tests/data/dots_norm_local.png +0 -0
  122. psychopy/tests/data/dots_stencil_local.png +0 -0
  123. psychopy/tests/data/elarray1_height_local.png +0 -0
  124. psychopy/tests/data/elarray1_normAddBlend_local.png +0 -0
  125. psychopy/tests/data/elarray1_normHexbackground_local.png +0 -0
  126. psychopy/tests/data/elarray1_norm_local.png +0 -0
  127. psychopy/tests/data/elarray1_stencil_local.png +0 -0
  128. psychopy/tests/data/envelopeandrcos_height_local.png +0 -0
  129. psychopy/tests/data/envelopeandrcos_normAddBlend_local.png +0 -0
  130. psychopy/tests/data/envelopeandrcos_normHexbackground_local.png +0 -0
  131. psychopy/tests/data/envelopeandrcos_norm_local.png +0 -0
  132. psychopy/tests/data/envelopeandrcos_stencil_local.png +0 -0
  133. psychopy/tests/data/envelopepowerandrcos_height_local.png +0 -0
  134. psychopy/tests/data/envelopepowerandrcos_normAddBlend_local.png +0 -0
  135. psychopy/tests/data/envelopepowerandrcos_normHexbackground_local.png +0 -0
  136. psychopy/tests/data/envelopepowerandrcos_norm_local.png +0 -0
  137. psychopy/tests/data/envelopepowerandrcos_stencil_local.png +0 -0
  138. psychopy/tests/data/gabor1_height_local.png +0 -0
  139. psychopy/tests/data/gabor1_normAddBlend_local.png +0 -0
  140. psychopy/tests/data/gabor1_normHexbackground_local.png +0 -0
  141. psychopy/tests/data/gabor1_normNoShade_local.png +0 -0
  142. psychopy/tests/data/gabor1_norm_local.png +0 -0
  143. psychopy/tests/data/gabor1_stencil_local.png +0 -0
  144. psychopy/tests/data/greyscale_normHexbackground_local.png +0 -0
  145. psychopy/tests/data/imageAndGauss_height_local.png +0 -0
  146. psychopy/tests/data/imageAndGauss_normAddBlend_local.png +0 -0
  147. psychopy/tests/data/imageAndGauss_normHexbackground_local.png +0 -0
  148. psychopy/tests/data/imageAndGauss_normNoShade_local.png +0 -0
  149. psychopy/tests/data/imageAndGauss_norm_local.png +0 -0
  150. psychopy/tests/data/imageAndGauss_stencil_local.png +0 -0
  151. psychopy/tests/data/movFrame1_stencil_local.png +0 -0
  152. psychopy/tests/data/noiseAndRcos_height_local.png +0 -0
  153. psychopy/tests/data/noiseAndRcos_normAddBlend_local.png +0 -0
  154. psychopy/tests/data/noiseAndRcos_normHexbackground_local.png +0 -0
  155. psychopy/tests/data/noiseAndRcos_normNoShade_local.png +0 -0
  156. psychopy/tests/data/noiseAndRcos_norm_local.png +0 -0
  157. psychopy/tests/data/noiseAndRcos_stencil_local.png +0 -0
  158. psychopy/tests/data/noiseFiltersAndRcos_height_local.png +0 -0
  159. psychopy/tests/data/noiseFiltersAndRcos_normAddBlend_local.png +0 -0
  160. psychopy/tests/data/noiseFiltersAndRcos_normHexbackground_local.png +0 -0
  161. psychopy/tests/data/noiseFiltersAndRcos_normNoShade_local.png +0 -0
  162. psychopy/tests/data/noiseFiltersAndRcos_norm_local.png +0 -0
  163. psychopy/tests/data/noiseFiltersAndRcos_stencil_local.png +0 -0
  164. psychopy/tests/data/numpyImage_height_local.png +0 -0
  165. psychopy/tests/data/numpyImage_normAddBlend_local.png +0 -0
  166. psychopy/tests/data/numpyImage_normHexbackground_local.png +0 -0
  167. psychopy/tests/data/numpyImage_normNoShade_local.png +0 -0
  168. psychopy/tests/data/numpyImage_norm_local.png +0 -0
  169. psychopy/tests/data/numpyImage_stencil_local.png +0 -0
  170. psychopy/tests/data/shape2_1_normAddBlend_local.png +0 -0
  171. psychopy/tests/data/shape2_1_normHexbackground_local.png +0 -0
  172. psychopy/tests/data/shape2_1_normNoShade_local.png +0 -0
  173. psychopy/tests/data/shape2_1_norm_local.png +0 -0
  174. psychopy/tests/data/shape2_1_stencil_local.png +0 -0
  175. psychopy/tests/data/test_loaded_namespace/test_counterbalance.psyexp +142 -0
  176. psychopy/tests/data/test_loaded_namespace/test_custom_missing.psyexp +129 -0
  177. psychopy/tests/data/test_loaded_namespace/test_missing_counterbalance.psyexp +116 -0
  178. psychopy/tests/data/test_loaded_namespace/test_mix_exp.psyexp +181 -0
  179. psychopy/tests/data/test_loaded_namespace/test_mix_missing.psyexp +140 -0
  180. psychopy/tests/data/test_loaded_namespace/test_mix_name_calibration.psyexp +164 -0
  181. psychopy/tests/data/text1_height_local.png +0 -0
  182. psychopy/tests/data/text1_normAddBlend_local.png +0 -0
  183. psychopy/tests/data/text1_normHexbackground_local.png +0 -0
  184. psychopy/tests/data/text1_norm_local.png +0 -0
  185. psychopy/tests/data/text1_stencil_local.png +0 -0
  186. psychopy/tests/data/wedge1_height_local.png +0 -0
  187. psychopy/tests/data/wedge1_normAddBlend_local.png +0 -0
  188. psychopy/tests/data/wedge1_normHexbackground_local.png +0 -0
  189. psychopy/tests/data/wedge1_normNoShade_local.png +0 -0
  190. psychopy/tests/data/wedge1_norm_local.png +0 -0
  191. psychopy/tests/data/wedge1_stencil_local.png +0 -0
  192. psychopy/tests/test_app/.DS_Store +0 -0
  193. psychopy/tests/test_app/test_builder/.DS_Store +0 -0
  194. psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1206.log +177 -0
  195. psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1206.psydat +0 -0
  196. psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1206.xlsx +0 -0
  197. psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1324.log +168 -0
  198. psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1324.psydat +0 -0
  199. psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1324.xlsx +0 -0
  200. psychopy/tests/test_data/.DS_Store +0 -0
  201. psychopy/tests/test_experiment/test_experiment.py +96 -0
  202. psychopy/tests/test_hardware/test_CRS_BitsSharp.py.orig +68 -0
  203. psychopy/tests/test_tools/test_arraytools.py +112 -0
  204. psychopy/tests/test_visual/test_image.py.orig +219 -0
  205. psychopy/tools/arraytools.py +47 -0
  206. psychopy/tools/versionchooser.py +1 -1
  207. psychopy/visual/backends/pygletbackend.py +26 -8
  208. psychopy/visual/basevisual.py.orig +1723 -0
  209. psychopy/visual/form.py.orig +1181 -0
  210. psychopy/visual/text.py.orig +752 -0
  211. psychopy/visual/textbox2/textbox2.py.orig +1315 -0
  212. psychopy/visual/window.py +13 -5
  213. psychopy/visual/windowwarp.py.orig +463 -0
  214. {psychopy-2024.2.1.dist-info → psychopy-2024.2.5.dist-info}/METADATA +9 -9
  215. {psychopy-2024.2.1.dist-info → psychopy-2024.2.5.dist-info}/RECORD +220 -84
  216. {psychopy-2024.2.1.dist-info → psychopy-2024.2.5.dist-info}/WHEEL +1 -1
  217. {psychopy-2024.2.1.dist-info → psychopy-2024.2.5.dist-info}/entry_points.txt +2 -0
  218. psychopy/app/locale/ar_001/LC_MESSAGE/messages.mo +0 -0
  219. psychopy/app/locale/cs_CZ/LC_MESSAGE/messages.mo +0 -0
  220. psychopy/app/locale/da_DK/LC_MESSAGE/messages.mo +0 -0
  221. psychopy/app/locale/de_DE/LC_MESSAGE/messages.mo +0 -0
  222. psychopy/app/locale/el_GR/LC_MESSAGE/messages.mo +0 -0
  223. psychopy/app/locale/en_NZ/LC_MESSAGE/messages.mo +0 -0
  224. psychopy/app/locale/en_US/LC_MESSAGE/messages.mo +0 -0
  225. psychopy/app/locale/es_CO/LC_MESSAGE/messages.mo +0 -0
  226. psychopy/app/locale/es_ES/LC_MESSAGE/messages.mo +0 -0
  227. psychopy/app/locale/es_US/LC_MESSAGE/messages.mo +0 -0
  228. psychopy/app/locale/et_EE/LC_MESSAGE/messages.mo +0 -0
  229. psychopy/app/locale/fa_IR/LC_MESSAGE/messages.mo +0 -0
  230. psychopy/app/locale/fi_FI/LC_MESSAGE/messages.mo +0 -0
  231. psychopy/app/locale/fr_FR/LC_MESSAGE/messages.mo +0 -0
  232. psychopy/app/locale/he_IL/LC_MESSAGE/messages.mo +0 -0
  233. psychopy/app/locale/hi_IN/LC_MESSAGE/messages.mo +0 -0
  234. psychopy/app/locale/hu_HU/LC_MESSAGE/messages.mo +0 -0
  235. psychopy/app/locale/it_IT/LC_MESSAGE/messages.mo +0 -0
  236. psychopy/app/locale/ja_JP/LC_MESSAGE/messages.mo +0 -0
  237. psychopy/app/locale/ko_KR/LC_MESSAGE/messages.mo +0 -0
  238. psychopy/app/locale/ms_MY/LC_MESSAGE/messages.mo +0 -0
  239. psychopy/app/locale/nl_NL/LC_MESSAGE/messages.mo +0 -0
  240. psychopy/app/locale/nn_NO/LC_MESSAGE/messages.mo +0 -0
  241. psychopy/app/locale/pl_PL/LC_MESSAGE/messages.mo +0 -0
  242. psychopy/app/locale/pt_PT/LC_MESSAGE/messages.mo +0 -0
  243. psychopy/app/locale/ro_RO/LC_MESSAGE/messages.mo +0 -0
  244. psychopy/app/locale/ru_RU/LC_MESSAGE/messages.mo +0 -0
  245. psychopy/app/locale/sv_SE/LC_MESSAGE/messages.mo +0 -0
  246. psychopy/app/locale/tr_TR/LC_MESSAGE/messages.mo +0 -0
  247. psychopy/app/locale/zh_CN/LC_MESSAGE/messages.mo +0 -0
  248. psychopy/app/locale/zh_TW/LC_MESSAGE/messages.mo +0 -0
  249. psychopy-2024.2.1.dist-info/licenses/AUTHORS.md +0 -138
  250. /psychopy/{app/locale/es_ES/LC_MESSAGE → demos/builder}/.DS_Store +0 -0
  251. /psychopy/{visual → demos/builder/Experiments}/.DS_Store +0 -0
  252. {psychopy-2024.2.1.dist-info → psychopy-2024.2.5.dist-info}/licenses/LICENSE +0 -0
@@ -246,11 +246,28 @@ class _MasterStream(audio.Stream):
246
246
  .format(device, mode+8, audioLatencyClass, sampleRate, channels))
247
247
  raise e
248
248
  except Exception as e:
249
- audio.Stream.__init__(self, mode=mode+8,
250
- latency_class=audioLatencyClass,
251
- freq=sampleRate,
252
- channels=channels,
253
- )
249
+ if deviceID == -1:
250
+ # if default device doesn't setup from ptb, pick first device
251
+ for device in audio.get_devices(device_type=13):
252
+ logging.error(
253
+ f"System default audio device failed to connect, so using first found "
254
+ f"device: {device['DeviceName']}"
255
+ )
256
+ audio.Stream.__init__(
257
+ self,mode=mode+8,
258
+ device_id=device['DeviceIndex'],
259
+ freq=device['DefaultSampleRate'],
260
+ channels=device['NrOutputChannels']
261
+ )
262
+ break
263
+ else:
264
+ # any other problem, try with no device ID
265
+ audio.Stream.__init__(
266
+ self, mode=mode+8,
267
+ latency_class=audioLatencyClass,
268
+ freq=sampleRate,
269
+ channels=channels,
270
+ )
254
271
 
255
272
  if "there isn't any audio output device" in str(e):
256
273
  print("Failed to load audio device:\n"
@@ -24,6 +24,7 @@ __all__ = [
24
24
  'submit'
25
25
  ]
26
26
 
27
+ import importlib
27
28
  import json
28
29
  import sys
29
30
  import os
@@ -827,13 +828,12 @@ def setupTranscriber(engine, config=None):
827
828
  Parameters
828
829
  ----------
829
830
  engine : str
830
- Name of the transcriber interface to setup.
831
+ Name of the transcriber interface to setup, or a path to the backend class (e.g.
832
+ `psychopy_whisper.transcribe:WhisperTranscriber`).
831
833
  config : dict or None
832
834
  Options to configure the speech-to-text engine during initialization.
833
835
 
834
836
  """
835
- engine = engine.lower() # make lower case
836
-
837
837
  global _activeTranscriber
838
838
  if _activeTranscriber is not None:
839
839
  oldInterface = _activeTranscriber.engine
@@ -846,9 +846,29 @@ def setupTranscriber(engine, config=None):
846
846
  _activeTranscriber.unload()
847
847
 
848
848
  _activeTranscriber = None
849
+ # get all named transcribers
850
+ allTranscribers = getAllTranscriberInterfaces(engineKeys=True)
851
+ if engine in allTranscribers:
852
+ # if engine is included by name, get it
853
+ transcriber = allTranscribers[engine]
854
+ elif engine.lower() in allTranscribers:
855
+ # try lowercase
856
+ transcriber = allTranscribers[engine.lower()]
857
+ else:
858
+ # try to import it
859
+ try:
860
+ if ":" in engine:
861
+ group, name = engine.split(":")
862
+ else:
863
+ group, name = str.rsplit(".")
864
+ mod = importlib.import_module(group)
865
+ transcriber = getattr(mod, name)
866
+ except ModuleNotFoundError:
867
+ raise KeyError(
868
+ f"Could not find transcriber engine from '{engine}'"
869
+ )
849
870
 
850
871
  logging.debug(f"Setting up transcriber `{engine}` with options `{config}`.")
851
- transcriber = getTranscriberInterface(engine)
852
872
  _activeTranscriber = transcriber(config) # init the transcriber
853
873
 
854
874
 
psychopy/tests/.DS_Store CHANGED
Binary file
Binary file
Binary file
@@ -0,0 +1,142 @@
1
+ <?xml version="1.0" ?>
2
+ <PsychoPy2experiment encoding="utf-8" version="2024.3.0">
3
+ <Settings>
4
+ <Param val="ptb" valType="str" updates="None" name="Audio lib"/>
5
+ <Param val="" valType="str" updates="None" name="Completed URL"/>
6
+ <Param val="auto" valType="str" updates="None" name="Data file delimiter"/>
7
+ <Param val="u'data/%s_%s_%s' % (expInfo['participant'], expName, expInfo['date'])" valType="code" updates="None" name="Data filename"/>
8
+ <Param val="True" valType="bool" updates="None" name="Enable Escape"/>
9
+ <Param val="Thank you for your patience." valType="str" updates="None" name="End Message"/>
10
+ <Param val="{'participant':'f&quot;{randint(0, 999999):06.0f}&quot;', 'session':'001'}" valType="code" updates="None" name="Experiment info"/>
11
+ <Param val="True" valType="bool" updates="None" name="Force stereo"/>
12
+ <Param val="True" valType="bool" updates="None" name="Full-screen window"/>
13
+ <Param val="" valType="str" updates="None" name="HTML path"/>
14
+ <Param val="" valType="str" updates="None" name="Incomplete URL"/>
15
+ <Param val="testMonitor" valType="str" updates="None" name="Monitor"/>
16
+ <Param val="[]" valType="list" updates="None" name="Resources"/>
17
+ <Param val="False" valType="bool" updates="None" name="Save csv file"/>
18
+ <Param val="False" valType="bool" updates="None" name="Save excel file"/>
19
+ <Param val="False" valType="bool" updates="None" name="Save hdf5 file"/>
20
+ <Param val="True" valType="bool" updates="None" name="Save log file"/>
21
+ <Param val="True" valType="bool" updates="None" name="Save psydat file"/>
22
+ <Param val="True" valType="bool" updates="None" name="Save wide csv file"/>
23
+ <Param val="1" valType="num" updates="None" name="Screen"/>
24
+ <Param val="True" valType="bool" updates="None" name="Show info dlg"/>
25
+ <Param val="False" valType="bool" updates="None" name="Show mouse"/>
26
+ <Param val="height" valType="str" updates="None" name="Units"/>
27
+ <Param val="" valType="str" updates="None" name="Use version"/>
28
+ <Param val="(1024, 768)" valType="list" updates="None" name="Window size (pixels)"/>
29
+ <Param val="none" valType="str" updates="None" name="backgroundFit"/>
30
+ <Param val="" valType="str" updates="None" name="backgroundImg"/>
31
+ <Param val="avg" valType="str" updates="None" name="blendMode"/>
32
+ <Param val="float" valType="str" updates="None" name="clockFormat"/>
33
+ <Param val="{'thisRow.t': 'priority.CRITICAL', 'expName': 'priority.LOW'}" valType="dict" updates="None" name="colPriority"/>
34
+ <Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
35
+ <Param val="rgb" valType="str" updates="None" name="colorSpace"/>
36
+ <Param val="warning" valType="code" updates="None" name="consoleLoggingLevel"/>
37
+ <Param val="default" valType="str" updates="None" name="ecSampleRate"/>
38
+ <Param val="100.1.1.1" valType="str" updates="None" name="elAddress"/>
39
+ <Param val="FILTER_LEVEL_2" valType="str" updates="None" name="elDataFiltering"/>
40
+ <Param val="FILTER_LEVEL_OFF" valType="str" updates="None" name="elLiveFiltering"/>
41
+ <Param val="EYELINK 1000 DESKTOP" valType="str" updates="None" name="elModel"/>
42
+ <Param val="ELLIPSE_FIT" valType="str" updates="None" name="elPupilAlgorithm"/>
43
+ <Param val="PUPIL_AREA" valType="str" updates="None" name="elPupilMeasure"/>
44
+ <Param val="1000" valType="num" updates="None" name="elSampleRate"/>
45
+ <Param val="False" valType="bool" updates="None" name="elSimMode"/>
46
+ <Param val="RIGHT_EYE" valType="str" updates="None" name="elTrackEyes"/>
47
+ <Param val="PUPIL_CR_TRACKING" valType="str" updates="None" name="elTrackingMode"/>
48
+ <Param val="test_load_counterbalance" valType="str" updates="None" name="expName"/>
49
+ <Param val="" valType="str" updates="None" name="expVersion"/>
50
+ <Param val="on Sync" valType="str" updates="None" name="exportHTML"/>
51
+ <Param val="None" valType="str" updates="None" name="eyetracker"/>
52
+ <Param val="" valType="code" updates="None" name="frameRate"/>
53
+ <Param val="Attempting to measure frame rate of screen, please wait..." valType="str" updates="None" name="frameRateMsg"/>
54
+ <Param val="127.0.0.1" valType="str" updates="None" name="gpAddress"/>
55
+ <Param val="4242" valType="num" updates="None" name="gpPort"/>
56
+ <Param val="ioHub" valType="str" updates="None" name="keyboardBackend"/>
57
+ <Param val="info" valType="code" updates="None" name="logging level"/>
58
+ <Param val="True" valType="bool" updates="None" name="measureFrameRate"/>
59
+ <Param val="MIDDLE_BUTTON" valType="list" updates="None" name="mgBlink"/>
60
+ <Param val="CONTINUOUS" valType="str" updates="None" name="mgMove"/>
61
+ <Param val="0.5" valType="num" updates="None" name="mgSaccade"/>
62
+ <Param val="neon.local" valType="str" updates="None" name="plCompanionAddress"/>
63
+ <Param val="8080" valType="num" updates="None" name="plCompanionPort"/>
64
+ <Param val="0.6" valType="num" updates="None" name="plConfidenceThreshold"/>
65
+ <Param val="" valType="str" updates="None" name="plPupilCaptureRecordingLocation"/>
66
+ <Param val="127.0.0.1" valType="str" updates="None" name="plPupilRemoteAddress"/>
67
+ <Param val="50020" valType="num" updates="None" name="plPupilRemotePort"/>
68
+ <Param val="1000" valType="num" updates="None" name="plPupilRemoteTimeoutMs"/>
69
+ <Param val="False" valType="bool" updates="None" name="plPupillometryOnly"/>
70
+ <Param val="psychopy_iohub_surface" valType="str" updates="None" name="plSurfaceName"/>
71
+ <Param val="0" valType="code" updates="None" name="runMode"/>
72
+ <Param val="False" valType="bool" updates="None" name="rush"/>
73
+ <Param val="time" valType="str" updates="None" name="sortColumns"/>
74
+ <Param val="" valType="str" updates="None" name="tbLicenseFile"/>
75
+ <Param val="" valType="str" updates="None" name="tbModel"/>
76
+ <Param val="60" valType="num" updates="None" name="tbSampleRate"/>
77
+ <Param val="" valType="str" updates="None" name="tbSerialNo"/>
78
+ <Param val="pyglet" valType="str" updates="None" name="winBackend"/>
79
+ </Settings>
80
+ <Routines>
81
+ <Routine name="trial">
82
+ <RoutineSettingsComponent name="trial" plugin="None">
83
+ <Param val="none" valType="str" updates="None" name="backgroundFit"/>
84
+ <Param val="" valType="str" updates="None" name="backgroundImg"/>
85
+ <Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
86
+ <Param val="rgb" valType="str" updates="None" name="colorSpace"/>
87
+ <Param val="" valType="str" updates="constant" name="desc"/>
88
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
89
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
90
+ <Param val="False" valType="code" updates="None" name="forceNonSlip"/>
91
+ <Param val="trial" valType="code" updates="None" name="name"/>
92
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
93
+ <Param val="" valType="code" updates="constant" name="skipIf"/>
94
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
95
+ <Param val="" valType="code" updates="constant" name="stopVal"/>
96
+ <Param val="False" valType="bool" updates="None" name="useWindowParams"/>
97
+ </RoutineSettingsComponent>
98
+ </Routine>
99
+ <CounterbalanceRoutine name="counterbalance">
100
+ <Param name="conditionsFile" updates="None" val="" valType="file"/>
101
+ <Param name="conditionsVariable" updates="None" val="" valType="code"/>
102
+ <Param name="disabled" updates="None" val="False" valType="bool"/>
103
+ <Param name="endExperimentOnDepletion" updates="None" val="ignore" valType="code"/>
104
+ <Param name="nGroups" updates="None" val="2" valType="code"/>
105
+ <Param name="nReps" updates="None" val="1" valType="code"/>
106
+ <Param name="nSlots" updates="None" val="10" valType="code"/>
107
+ <Param name="name" updates="None" val="counterbalance" valType="code"/>
108
+ <Param name="saveData" updates="None" val="True" valType="bool"/>
109
+ <Param name="saveRemaining" updates="None" val="True" valType="bool"/>
110
+ <Param name="specMode" updates="None" val="uniform" valType="str"/>
111
+ </CounterbalanceRoutine>
112
+ <CounterbalanceRoutine name="counterbalance_2">
113
+ <Param name="conditionsFile" updates="None" val="" valType="file"/>
114
+ <Param name="conditionsVariable" updates="None" val="" valType="code"/>
115
+ <Param name="disabled" updates="None" val="False" valType="bool"/>
116
+ <Param name="endExperimentOnDepletion" updates="None" val="ignore" valType="code"/>
117
+ <Param name="nGroups" updates="None" val="2" valType="code"/>
118
+ <Param name="nReps" updates="None" val="1" valType="code"/>
119
+ <Param name="nSlots" updates="None" val="10" valType="code"/>
120
+ <Param name="name" updates="None" val="counterbalance_2" valType="code"/>
121
+ <Param name="saveData" updates="None" val="True" valType="bool"/>
122
+ <Param name="saveRemaining" updates="None" val="True" valType="bool"/>
123
+ <Param name="specMode" updates="None" val="uniform" valType="str"/>
124
+ </CounterbalanceRoutine>
125
+ <CounterbalanceRoutine name="counterbalance_3">
126
+ <Param name="conditionsFile" updates="None" val="" valType="file"/>
127
+ <Param name="conditionsVariable" updates="None" val="" valType="code"/>
128
+ <Param name="disabled" updates="None" val="False" valType="bool"/>
129
+ <Param name="endExperimentOnDepletion" updates="None" val="ignore" valType="code"/>
130
+ <Param name="nGroups" updates="None" val="2" valType="code"/>
131
+ <Param name="nReps" updates="None" val="1" valType="code"/>
132
+ <Param name="nSlots" updates="None" val="10" valType="code"/>
133
+ <Param name="name" updates="None" val="counterbalance_3" valType="code"/>
134
+ <Param name="saveData" updates="None" val="True" valType="bool"/>
135
+ <Param name="saveRemaining" updates="None" val="True" valType="bool"/>
136
+ <Param name="specMode" updates="None" val="uniform" valType="str"/>
137
+ </CounterbalanceRoutine>
138
+ </Routines>
139
+ <Flow>
140
+ <Routine name="trial"/>
141
+ </Flow>
142
+ </PsychoPy2experiment>
@@ -0,0 +1,129 @@
1
+ <?xml version="1.0" ?>
2
+ <PsychoPy2experiment encoding="utf-8" version="2024.3.0">
3
+ <Settings>
4
+ <Param val="ptb" valType="str" updates="None" name="Audio lib"/>
5
+ <Param val="" valType="str" updates="None" name="Completed URL"/>
6
+ <Param val="auto" valType="str" updates="None" name="Data file delimiter"/>
7
+ <Param val="u'data/%s_%s_%s' % (expInfo['participant'], expName, expInfo['date'])" valType="code" updates="None" name="Data filename"/>
8
+ <Param val="True" valType="bool" updates="None" name="Enable Escape"/>
9
+ <Param val="Thank you for your patience." valType="str" updates="None" name="End Message"/>
10
+ <Param val="{'participant':'f&quot;{randint(0, 999999):06.0f}&quot;', 'session':'001'}" valType="code" updates="None" name="Experiment info"/>
11
+ <Param val="True" valType="bool" updates="None" name="Force stereo"/>
12
+ <Param val="True" valType="bool" updates="None" name="Full-screen window"/>
13
+ <Param val="" valType="str" updates="None" name="HTML path"/>
14
+ <Param val="" valType="str" updates="None" name="Incomplete URL"/>
15
+ <Param val="testMonitor" valType="str" updates="None" name="Monitor"/>
16
+ <Param val="[]" valType="list" updates="None" name="Resources"/>
17
+ <Param val="False" valType="bool" updates="None" name="Save csv file"/>
18
+ <Param val="False" valType="bool" updates="None" name="Save excel file"/>
19
+ <Param val="False" valType="bool" updates="None" name="Save hdf5 file"/>
20
+ <Param val="True" valType="bool" updates="None" name="Save log file"/>
21
+ <Param val="True" valType="bool" updates="None" name="Save psydat file"/>
22
+ <Param val="True" valType="bool" updates="None" name="Save wide csv file"/>
23
+ <Param val="1" valType="num" updates="None" name="Screen"/>
24
+ <Param val="True" valType="bool" updates="None" name="Show info dlg"/>
25
+ <Param val="False" valType="bool" updates="None" name="Show mouse"/>
26
+ <Param val="height" valType="str" updates="None" name="Units"/>
27
+ <Param val="" valType="str" updates="None" name="Use version"/>
28
+ <Param val="(1024, 768)" valType="list" updates="None" name="Window size (pixels)"/>
29
+ <Param val="none" valType="str" updates="None" name="backgroundFit"/>
30
+ <Param val="" valType="str" updates="None" name="backgroundImg"/>
31
+ <Param val="avg" valType="str" updates="None" name="blendMode"/>
32
+ <Param val="float" valType="str" updates="None" name="clockFormat"/>
33
+ <Param val="{'thisRow.t': 'priority.CRITICAL', 'expName': 'priority.LOW'}" valType="dict" updates="None" name="colPriority"/>
34
+ <Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
35
+ <Param val="rgb" valType="str" updates="None" name="colorSpace"/>
36
+ <Param val="warning" valType="code" updates="None" name="consoleLoggingLevel"/>
37
+ <Param val="default" valType="str" updates="None" name="ecSampleRate"/>
38
+ <Param val="100.1.1.1" valType="str" updates="None" name="elAddress"/>
39
+ <Param val="FILTER_LEVEL_2" valType="str" updates="None" name="elDataFiltering"/>
40
+ <Param val="FILTER_LEVEL_OFF" valType="str" updates="None" name="elLiveFiltering"/>
41
+ <Param val="EYELINK 1000 DESKTOP" valType="str" updates="None" name="elModel"/>
42
+ <Param val="ELLIPSE_FIT" valType="str" updates="None" name="elPupilAlgorithm"/>
43
+ <Param val="PUPIL_AREA" valType="str" updates="None" name="elPupilMeasure"/>
44
+ <Param val="1000" valType="num" updates="None" name="elSampleRate"/>
45
+ <Param val="False" valType="bool" updates="None" name="elSimMode"/>
46
+ <Param val="RIGHT_EYE" valType="str" updates="None" name="elTrackEyes"/>
47
+ <Param val="PUPIL_CR_TRACKING" valType="str" updates="None" name="elTrackingMode"/>
48
+ <Param val="test_custom_mix" valType="str" updates="None" name="expName"/>
49
+ <Param val="" valType="str" updates="None" name="expVersion"/>
50
+ <Param val="on Sync" valType="str" updates="None" name="exportHTML"/>
51
+ <Param val="None" valType="str" updates="None" name="eyetracker"/>
52
+ <Param val="" valType="code" updates="None" name="frameRate"/>
53
+ <Param val="Attempting to measure frame rate of screen, please wait..." valType="str" updates="None" name="frameRateMsg"/>
54
+ <Param val="127.0.0.1" valType="str" updates="None" name="gpAddress"/>
55
+ <Param val="4242" valType="num" updates="None" name="gpPort"/>
56
+ <Param val="ioHub" valType="str" updates="None" name="keyboardBackend"/>
57
+ <Param val="info" valType="code" updates="None" name="logging level"/>
58
+ <Param val="True" valType="bool" updates="None" name="measureFrameRate"/>
59
+ <Param val="MIDDLE_BUTTON" valType="list" updates="None" name="mgBlink"/>
60
+ <Param val="CONTINUOUS" valType="str" updates="None" name="mgMove"/>
61
+ <Param val="0.5" valType="num" updates="None" name="mgSaccade"/>
62
+ <Param val="neon.local" valType="str" updates="None" name="plCompanionAddress"/>
63
+ <Param val="8080" valType="num" updates="None" name="plCompanionPort"/>
64
+ <Param val="0.6" valType="num" updates="None" name="plConfidenceThreshold"/>
65
+ <Param val="" valType="str" updates="None" name="plPupilCaptureRecordingLocation"/>
66
+ <Param val="127.0.0.1" valType="str" updates="None" name="plPupilRemoteAddress"/>
67
+ <Param val="50020" valType="num" updates="None" name="plPupilRemotePort"/>
68
+ <Param val="1000" valType="num" updates="None" name="plPupilRemoteTimeoutMs"/>
69
+ <Param val="False" valType="bool" updates="None" name="plPupillometryOnly"/>
70
+ <Param val="psychopy_iohub_surface" valType="str" updates="None" name="plSurfaceName"/>
71
+ <Param val="0" valType="code" updates="None" name="runMode"/>
72
+ <Param val="False" valType="bool" updates="None" name="rush"/>
73
+ <Param val="time" valType="str" updates="None" name="sortColumns"/>
74
+ <Param val="" valType="str" updates="None" name="tbLicenseFile"/>
75
+ <Param val="" valType="str" updates="None" name="tbModel"/>
76
+ <Param val="60" valType="num" updates="None" name="tbSampleRate"/>
77
+ <Param val="" valType="str" updates="None" name="tbSerialNo"/>
78
+ <Param val="pyglet" valType="str" updates="None" name="winBackend"/>
79
+ </Settings>
80
+ <Routines>
81
+ <Routine name="trial">
82
+ <RoutineSettingsComponent name="trial" plugin="None">
83
+ <Param val="none" valType="str" updates="None" name="backgroundFit"/>
84
+ <Param val="" valType="str" updates="None" name="backgroundImg"/>
85
+ <Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
86
+ <Param val="rgb" valType="str" updates="None" name="colorSpace"/>
87
+ <Param val="" valType="str" updates="constant" name="desc"/>
88
+ <Param val="False" valType="bool" updates="None" name="disabled"/>
89
+ <Param val="" valType="code" updates="None" name="durationEstim"/>
90
+ <Param val="False" valType="code" updates="None" name="forceNonSlip"/>
91
+ <Param val="trial" valType="code" updates="None" name="name"/>
92
+ <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
93
+ <Param val="" valType="code" updates="constant" name="skipIf"/>
94
+ <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
95
+ <Param val="" valType="code" updates="constant" name="stopVal"/>
96
+ <Param val="False" valType="bool" updates="None" name="useWindowParams"/>
97
+ </RoutineSettingsComponent>
98
+ </Routine>
99
+ <CounterbalanceRoutine name="custom_2">
100
+ <Param name="conditionsFile" updates="None" val="" valType="file"/>
101
+ <Param name="conditionsVariable" updates="None" val="" valType="code"/>
102
+ <Param name="disabled" updates="None" val="False" valType="bool"/>
103
+ <Param name="endExperimentOnDepletion" updates="None" val="True" valType="code"/>
104
+ <Param name="nGroups" updates="None" val="2" valType="code"/>
105
+ <Param name="nReps" updates="None" val="1" valType="code"/>
106
+ <Param name="nSlots" updates="None" val="10" valType="code"/>
107
+ <Param name="name" updates="None" val="custom_2" valType="code"/>
108
+ <Param name="saveData" updates="None" val="True" valType="bool"/>
109
+ <Param name="saveRemaining" updates="None" val="True" valType="bool"/>
110
+ <Param name="specMode" updates="None" val="uniform" valType="str"/>
111
+ </CounterbalanceRoutine>
112
+ <CounterbalanceRoutine name="counterbalance_2">
113
+ <Param name="conditionsFile" updates="None" val="" valType="file"/>
114
+ <Param name="conditionsVariable" updates="None" val="" valType="code"/>
115
+ <Param name="disabled" updates="None" val="False" valType="bool"/>
116
+ <Param name="endExperimentOnDepletion" updates="None" val="ignore" valType="code"/>
117
+ <Param name="nGroups" updates="None" val="2" valType="code"/>
118
+ <Param name="nReps" updates="None" val="1" valType="code"/>
119
+ <Param name="nSlots" updates="None" val="10" valType="code"/>
120
+ <Param name="name" updates="None" val="counterbalance_2" valType="code"/>
121
+ <Param name="saveData" updates="None" val="True" valType="bool"/>
122
+ <Param name="saveRemaining" updates="None" val="True" valType="bool"/>
123
+ <Param name="specMode" updates="None" val="uniform" valType="str"/>
124
+ </CounterbalanceRoutine>
125
+ </Routines>
126
+ <Flow>
127
+ <Routine name="trial"/>
128
+ </Flow>
129
+ </PsychoPy2experiment>