psychopy 2024.2.4__py3-none-any.whl → 2025.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of psychopy might be problematic. Click here for more details.
- psychopy/CHANGELOG.txt +208 -4
- psychopy/LICENSE.txt +1 -1
- psychopy/VERSION +1 -1
- psychopy/__init__.py +10 -7
- psychopy/alerts/__init__.py +1 -1
- psychopy/alerts/_alerts.py +53 -17
- psychopy/alerts/_errorHandler.py +3 -4
- psychopy/alerts/alertsCatalogue/3210.yaml +27 -0
- psychopy/alerts/alertsCatalogue/3610.yaml +19 -0
- psychopy/alerts/alertsCatalogue/4130.yaml +19 -0
- psychopy/alerts/alertsCatalogue/alertCategories.yaml +8 -1
- psychopy/alerts/alertsCatalogue/alertmsg.py +1 -1
- psychopy/alerts/alerttools.py +0 -16
- psychopy/app/Resources/betasplash.png +0 -0
- psychopy/app/Resources/betasplash@2x.png +0 -0
- psychopy/app/Resources/classic/case.png +0 -0
- psychopy/app/Resources/classic/case@2x.png +0 -0
- psychopy/app/Resources/classic/fileaudio.png +0 -0
- psychopy/app/Resources/classic/fileaudio@2x.png +0 -0
- psychopy/app/Resources/classic/filecss.png +0 -0
- psychopy/app/Resources/classic/filecss@2x.png +0 -0
- psychopy/app/Resources/classic/filecsv.png +0 -0
- psychopy/app/Resources/classic/filecsv@2x.png +0 -0
- psychopy/app/Resources/classic/filedesign.png +0 -0
- psychopy/app/Resources/classic/filedesign@2x.png +0 -0
- psychopy/app/Resources/classic/filefont.png +0 -0
- psychopy/app/Resources/classic/filefont@2x.png +0 -0
- psychopy/app/Resources/classic/filegit.png +0 -0
- psychopy/app/Resources/classic/filegit@2x.png +0 -0
- psychopy/app/Resources/classic/filehtml.png +0 -0
- psychopy/app/Resources/classic/filehtml@2x.png +0 -0
- psychopy/app/Resources/classic/fileimage.png +0 -0
- psychopy/app/Resources/classic/fileimage@2x.png +0 -0
- psychopy/app/Resources/classic/fileinfo.png +0 -0
- psychopy/app/Resources/classic/fileinfo@2x.png +0 -0
- psychopy/app/Resources/classic/filejs.png +0 -0
- psychopy/app/Resources/classic/filejs@2x.png +0 -0
- psychopy/app/Resources/classic/filejson.png +0 -0
- psychopy/app/Resources/classic/filejson@2x.png +0 -0
- psychopy/app/Resources/classic/filepkg.png +0 -0
- psychopy/app/Resources/classic/filepkg@2x.png +0 -0
- psychopy/app/Resources/classic/filepsyexp.png +0 -0
- psychopy/app/Resources/classic/filepsyexp@2x.png +0 -0
- psychopy/app/Resources/classic/filepy.png +0 -0
- psychopy/app/Resources/classic/filepy@2x.png +0 -0
- psychopy/app/Resources/classic/filetxt.png +0 -0
- psychopy/app/Resources/classic/filetxt@2x.png +0 -0
- psychopy/app/Resources/classic/fileunknown.png +0 -0
- psychopy/app/Resources/classic/fileunknown@2x.png +0 -0
- psychopy/app/Resources/classic/filevideo.png +0 -0
- psychopy/app/Resources/classic/filevideo@2x.png +0 -0
- psychopy/app/Resources/classic/find.png +0 -0
- psychopy/app/Resources/classic/find@2x.png +0 -0
- psychopy/app/Resources/classic/loop.png +0 -0
- psychopy/app/Resources/classic/loop@2x.png +0 -0
- psychopy/app/Resources/classic/regex.png +0 -0
- psychopy/app/Resources/classic/regex@2x.png +0 -0
- psychopy/app/Resources/dark/case.png +0 -0
- psychopy/app/Resources/dark/case@2x.png +0 -0
- psychopy/app/Resources/dark/fileaudio.png +0 -0
- psychopy/app/Resources/dark/fileaudio@2x.png +0 -0
- psychopy/app/Resources/dark/filecss.png +0 -0
- psychopy/app/Resources/dark/filecss@2x.png +0 -0
- psychopy/app/Resources/dark/filecsv.png +0 -0
- psychopy/app/Resources/dark/filecsv@2x.png +0 -0
- psychopy/app/Resources/dark/filedesign.png +0 -0
- psychopy/app/Resources/dark/filedesign@2x.png +0 -0
- psychopy/app/Resources/dark/filefont.png +0 -0
- psychopy/app/Resources/dark/filefont@2x.png +0 -0
- psychopy/app/Resources/dark/filegit.png +0 -0
- psychopy/app/Resources/dark/filegit@2x.png +0 -0
- psychopy/app/Resources/dark/filehtml.png +0 -0
- psychopy/app/Resources/dark/filehtml@2x.png +0 -0
- psychopy/app/Resources/dark/fileimage.png +0 -0
- psychopy/app/Resources/dark/fileimage@2x.png +0 -0
- psychopy/app/Resources/dark/fileinfo.png +0 -0
- psychopy/app/Resources/dark/fileinfo@2x.png +0 -0
- psychopy/app/Resources/dark/filejs.png +0 -0
- psychopy/app/Resources/dark/filejs@2x.png +0 -0
- psychopy/app/Resources/dark/filejson.png +0 -0
- psychopy/app/Resources/dark/filejson@2x.png +0 -0
- psychopy/app/Resources/dark/filepkg.png +0 -0
- psychopy/app/Resources/dark/filepkg@2x.png +0 -0
- psychopy/app/Resources/dark/filepsyexp.png +0 -0
- psychopy/app/Resources/dark/filepsyexp@2x.png +0 -0
- psychopy/app/Resources/dark/filepy.png +0 -0
- psychopy/app/Resources/dark/filepy@2x.png +0 -0
- psychopy/app/Resources/dark/filetxt.png +0 -0
- psychopy/app/Resources/dark/filetxt@2x.png +0 -0
- psychopy/app/Resources/dark/fileunknown.png +0 -0
- psychopy/app/Resources/dark/fileunknown@2x.png +0 -0
- psychopy/app/Resources/dark/filevideo.png +0 -0
- psychopy/app/Resources/dark/filevideo@2x.png +0 -0
- psychopy/app/Resources/dark/find.png +0 -0
- psychopy/app/Resources/dark/find@2x.png +0 -0
- psychopy/app/Resources/dark/loop.png +0 -0
- psychopy/app/Resources/dark/loop@2x.png +0 -0
- psychopy/app/Resources/dark/regex.png +0 -0
- psychopy/app/Resources/dark/regex@2x.png +0 -0
- psychopy/app/Resources/light/case.png +0 -0
- psychopy/app/Resources/light/case@2x.png +0 -0
- psychopy/app/Resources/light/fileaudio.png +0 -0
- psychopy/app/Resources/light/fileaudio@2x.png +0 -0
- psychopy/app/Resources/light/filecss.png +0 -0
- psychopy/app/Resources/light/filecss@2x.png +0 -0
- psychopy/app/Resources/light/filecsv.png +0 -0
- psychopy/app/Resources/light/filecsv@2x.png +0 -0
- psychopy/app/Resources/light/filedesign.png +0 -0
- psychopy/app/Resources/light/filedesign@2x.png +0 -0
- psychopy/app/Resources/light/filefont.png +0 -0
- psychopy/app/Resources/light/filefont@2x.png +0 -0
- psychopy/app/Resources/light/filegit.png +0 -0
- psychopy/app/Resources/light/filegit@2x.png +0 -0
- psychopy/app/Resources/light/filehtml.png +0 -0
- psychopy/app/Resources/light/filehtml@2x.png +0 -0
- psychopy/app/Resources/light/fileimage.png +0 -0
- psychopy/app/Resources/light/fileimage@2x.png +0 -0
- psychopy/app/Resources/light/fileinfo.png +0 -0
- psychopy/app/Resources/light/fileinfo@2x.png +0 -0
- psychopy/app/Resources/light/filejs.png +0 -0
- psychopy/app/Resources/light/filejs@2x.png +0 -0
- psychopy/app/Resources/light/filejson.png +0 -0
- psychopy/app/Resources/light/filejson@2x.png +0 -0
- psychopy/app/Resources/light/filepkg.png +0 -0
- psychopy/app/Resources/light/filepkg@2x.png +0 -0
- psychopy/app/Resources/light/filepsyexp.png +0 -0
- psychopy/app/Resources/light/filepsyexp@2x.png +0 -0
- psychopy/app/Resources/light/filepy.png +0 -0
- psychopy/app/Resources/light/filepy@2x.png +0 -0
- psychopy/app/Resources/light/filetxt.png +0 -0
- psychopy/app/Resources/light/filetxt@2x.png +0 -0
- psychopy/app/Resources/light/fileunknown.png +0 -0
- psychopy/app/Resources/light/fileunknown@2x.png +0 -0
- psychopy/app/Resources/light/filevideo.png +0 -0
- psychopy/app/Resources/light/filevideo@2x.png +0 -0
- psychopy/app/Resources/light/find.png +0 -0
- psychopy/app/Resources/light/find@2x.png +0 -0
- psychopy/app/Resources/light/loop.png +0 -0
- psychopy/app/Resources/light/loop@2x.png +0 -0
- psychopy/app/Resources/light/regex.png +0 -0
- psychopy/app/Resources/light/regex@2x.png +0 -0
- psychopy/app/Resources/routine_templates/Basic.psyexp +0 -1
- psychopy/app/Resources/routine_templates/Misc.psyexp +0 -1
- psychopy/app/Resources/routine_templates/Online.psyexp +0 -2
- psychopy/app/Resources/routine_templates/Trials.psyexp +0 -1
- psychopy/app/Resources/splash.png +0 -0
- psychopy/app/Resources/splash@2x.png +0 -0
- psychopy/app/__init__.py +49 -8
- psychopy/app/__main__.py +3 -0
- psychopy/app/_psychopyApp.py +134 -125
- psychopy/app/builder/builder.py +42 -22
- psychopy/app/builder/dialogs/__init__.py +44 -11
- psychopy/app/builder/dialogs/dlgsCode.py +1 -1
- psychopy/app/builder/dialogs/dlgsConditions.py +1 -1
- psychopy/app/builder/dialogs/findDlg.py +106 -20
- psychopy/app/builder/dialogs/paramCtrls.py +42 -1
- psychopy/app/builder/validators.py +1 -1
- psychopy/app/coder/codeEditorBase.py +8 -8
- psychopy/app/coder/coder.py +32 -29
- psychopy/app/coder/fileBrowser.py +68 -22
- psychopy/app/coder/folding.py +1 -1
- psychopy/app/coder/psychoParser.py +1 -1
- psychopy/app/coder/repl.py +1 -1
- psychopy/app/coder/sourceTree.py +1 -1
- psychopy/app/connections/__init__.py +1 -1
- psychopy/app/connections/news.py +1 -1
- psychopy/app/connections/sendusage.py +1 -1
- psychopy/app/connections/updates.py +1 -1
- psychopy/app/console.py +1 -1
- psychopy/app/errorDlg.py +1 -1
- psychopy/app/frametracker.py +1 -1
- psychopy/app/idle.py +1 -1
- psychopy/app/jobs.py +5 -2
- psychopy/app/linuxconfig/__init__.py +1 -1
- psychopy/app/locale/ar_001/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/ar_001/LC_MESSAGE/messages.po +1514 -3259
- psychopy/app/locale/cs_CZ/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/da_DK/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/de_DE/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/de_DE/LC_MESSAGE/messages.po +3 -3
- psychopy/app/locale/el_GR/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/en_NZ/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/en_US/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/es_CO/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/es_CO/LC_MESSAGE/messages.po +4 -4
- psychopy/app/locale/es_ES/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/es_ES/LC_MESSAGE/messages.po +4 -4
- psychopy/app/locale/es_US/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/es_US/LC_MESSAGE/messages.po +4 -4
- psychopy/app/locale/et_EE/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/et_EE/LC_MESSAGE/messages.po +2 -2
- psychopy/app/locale/fa_IR/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/fa_IR/LC_MESSAGE/messages.po +1 -1
- psychopy/app/locale/fi_FI/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/fr_FR/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/fr_FR/LC_MESSAGE/messages.po +2 -2
- psychopy/app/locale/he_IL/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/he_IL/LC_MESSAGE/messages.po +2 -2
- psychopy/app/locale/hi_IN/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/hi_IN/LC_MESSAGE/messages.po +2 -2
- psychopy/app/locale/hu_HU/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/it_IT/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/it_IT/LC_MESSAGE/messages.po +2 -2
- psychopy/app/locale/ja_JP/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/ja_JP/LC_MESSAGE/messages.po +3421 -2396
- psychopy/app/locale/ko_KR/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/ms_MY/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/ms_MY/LC_MESSAGE/messages.po +2 -2
- psychopy/app/locale/nl_NL/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/nn_NO/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/pl_PL/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/pt_PT/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/pt_PT/LC_MESSAGE/messages.po +4 -4
- psychopy/app/locale/ro_RO/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/ru_RU/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/sv_SE/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/sv_SE/LC_MESSAGE/messages.po +2 -2
- psychopy/app/locale/tr_TR/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/tr_TR/LC_MESSAGE/messages.po +2 -2
- psychopy/app/locale/zh_CN/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/zh_CN/LC_MESSAGE/messages.po +3 -3
- psychopy/app/locale/zh_TW/LC_MESSAGE/messages.mo +0 -0
- psychopy/app/locale/zh_TW/LC_MESSAGE/messages.po +2 -2
- psychopy/app/{builder/localizedStrings.py → localizedStrings.py} +173 -26
- psychopy/app/pavlovia_ui/__init__.py +1 -1
- psychopy/app/pavlovia_ui/_base.py +1 -1
- psychopy/app/pavlovia_ui/functions.py +1 -1
- psychopy/app/pavlovia_ui/menu.py +1 -1
- psychopy/app/pavlovia_ui/project.py +1 -1
- psychopy/app/pavlovia_ui/search.py +1 -1
- psychopy/app/pavlovia_ui/sync.py +1 -1
- psychopy/app/pavlovia_ui/user.py +1 -1
- psychopy/app/plugin_manager/dialog.py +34 -96
- psychopy/app/plugin_manager/packages.py +10 -14
- psychopy/app/plugin_manager/plugins.py +64 -4
- psychopy/app/preferencesDlg.py +12 -37
- psychopy/app/psychopyApp.py +130 -44
- psychopy/app/ribbon.py +1 -0
- psychopy/app/runner/runner.py +37 -15
- psychopy/app/runner/scriptProcess.py +11 -6
- psychopy/app/stdout/stdOutRich.py +9 -2
- psychopy/app/themes/fonts.py +1 -1
- psychopy/app/themes/icons.py +2 -38
- psychopy/app/ui/__init__.py +1 -1
- psychopy/app/utils.py +3 -3
- psychopy/assets/default.mp3 +0 -0
- psychopy/assets/fonts/NotoSans-Bold.ttf +0 -0
- psychopy/assets/fonts/NotoSans-BoldItalic.ttf +0 -0
- psychopy/assets/fonts/NotoSans-Italic.ttf +0 -0
- psychopy/assets/fonts/NotoSans-Regular.ttf +0 -0
- psychopy/assets/voicekeyThresholdStim.wav +0 -0
- psychopy/clock.py +4 -1
- psychopy/colors.py +2 -0
- psychopy/core.py +1 -1
- psychopy/data/base.py +1 -1
- psychopy/data/experiment.py +151 -46
- psychopy/data/routine.py +27 -1
- psychopy/data/staircase.py +2 -1
- psychopy/data/trial.py +62 -14
- psychopy/data/utils.py +1 -1
- psychopy/demos/builder/Design Templates/branchedExperiment/branchedExperiment.psyexp +333 -218
- psychopy/demos/builder/Design Templates/psychophysicsStaircase/psychophysicsStaircase.psyexp +261 -239
- psychopy/demos/builder/Design Templates/psychophysicsStairsInterleaved/psychophysicsStaircaseInterleaved.psyexp +319 -180
- psychopy/demos/builder/Design Templates/randomisedBlocks/randomisedBlocks.psyexp +204 -116
- psychopy/demos/builder/Experiments/BART/assets/background.jpg +0 -0
- psychopy/demos/builder/Experiments/BART/assets/blueBalloon.png +0 -0
- psychopy/demos/builder/Experiments/BART/assets/greenBalloon.png +0 -0
- psychopy/demos/builder/Experiments/BART/assets/redBalloon.png +0 -0
- psychopy/demos/builder/Experiments/BART/bart.psyexp +779 -866
- psychopy/demos/builder/Experiments/BigFiveInventory/BFI.psyexp +242 -180
- psychopy/demos/builder/Experiments/GoNoGo/gng.psyexp +419 -406
- psychopy/demos/builder/Experiments/dragAndDrop/README.md +2 -37
- psychopy/demos/builder/Experiments/dragAndDrop/drag_and_drop.psyexp +460 -1204
- psychopy/demos/builder/Experiments/dragAndDrop/stimuli/blank_grid.png +0 -0
- psychopy/demos/builder/Experiments/dragAndDrop/stimuli/make_shapes.psyexp +221 -0
- psychopy/demos/builder/Experiments/dragAndDrop/stimuli/readme.md +4 -0
- psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_1.png +0 -0
- psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_10.png +0 -0
- psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_2.png +0 -0
- psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_3.png +0 -0
- psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_4.png +0 -0
- psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_5.png +0 -0
- psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_6.png +0 -0
- psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_7.png +0 -0
- psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_8.png +0 -0
- psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_9.png +0 -0
- psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solutions.xlsx +0 -0
- psychopy/demos/builder/Experiments/mentalRotation/MentalRotation.psyexp +583 -542
- psychopy/demos/builder/Experiments/navon/NavonTask.psyexp +458 -427
- psychopy/demos/builder/Experiments/sternberg/sternberg.psyexp +588 -550
- psychopy/demos/builder/Experiments/stroop/stroop.psyexp +303 -207
- psychopy/demos/builder/Experiments/stroopExtended/stroop.psyexp +390 -215
- psychopy/demos/builder/Experiments/stroopExtended/stroopReverse.psyexp +390 -215
- psychopy/demos/builder/Experiments/stroopVoice/stroopVoice.psyexp +357 -331
- psychopy/demos/builder/Feature Demos/buttonBox/buttonBoxDemo.psyexp +3 -2
- psychopy/demos/builder/Feature Demos/counterbalance/counterbalance.psyexp +287 -277
- psychopy/demos/builder/Feature Demos/gratings/gratings.psyexp +370 -320
- psychopy/demos/builder/Feature Demos/noise/noise.psyexp +452 -399
- psychopy/demos/builder/Feature Demos/panorama/panorama.psyexp +168 -133
- psychopy/demos/builder/Feature Demos/pilotMode/pilotMode.psyexp +4 -3
- psychopy/demos/builder/Feature Demos/progress/progressBar.psyexp +420 -392
- psychopy/demos/builder/Feature Demos/sliders/sliders.psyexp +917 -871
- psychopy/demos/builder/Feature Demos/visualValidator/readme.md +7 -0
- psychopy/demos/builder/Feature Demos/visualValidator/visualValidator.psyexp +200 -0
- psychopy/demos/builder/Hardware/EEG_parallel_component/EEG_triggers_parallel_comp.psyexp +25 -9
- psychopy/demos/builder/Hardware/EEG_serial_code/EEG_triggers_serial_code.psyexp +372 -361
- psychopy/demos/builder/Hardware/EEG_serial_component/EEG_triggers_serial_comp.psyexp +25 -9
- psychopy/demos/builder/Hardware/EGI_netstation/stroop.psyexp +320 -235
- psychopy/demos/builder/Hardware/Eyetracking_visual_search/visualSearch.psyexp +790 -651
- psychopy/demos/builder/Hardware/camera/camera.psyexp +326 -246
- psychopy/demos/builder/Hardware/eyetracking/eyetracking.psyexp +432 -327
- psychopy/demos/builder/Hardware/eyetracking_custom_cal/eyetracking_custom_cal.psyexp +440 -321
- psychopy/demos/builder/Hardware/fMRI/fMRI_demo.psyexp +190 -181
- psychopy/demos/builder/Hardware/lab_streaming_layer/lsl_triggers_demo.psyexp +323 -312
- psychopy/demos/builder/Hardware/lab_streaming_layer/lsl_triggers_demo_legacy.psyexp +360 -0
- psychopy/demos/builder/{Feature Demos/eyetracking/eyetracking.xml → Hardware/lab_streaming_layer/lsl_triggers_demo_legacy_legacy.psyexp} +154 -140
- psychopy/demos/builder/Hardware/lab_streaming_layer_legacy/lsl_triggers_demo_legacy.psyexp +329 -273
- psychopy/demos/builder/Hardware/lab_streaming_layer_legacy/lsl_triggers_demo_legacy_legacy.psyexp +360 -0
- psychopy/demos/builder/Hardware/lab_streaming_layer_legacy/lsl_triggers_demo_legacy_legacy_legacy.psyexp +312 -0
- psychopy/demos/builder/Hardware/microphone/microphone.psyexp +450 -404
- psychopy/demos/builder/Hardware/pump/pump.psyexp +593 -329
- psychopy/demos/builder/Helper Tools/achorVSalignment/FlowCircular-Regular.ttf +0 -0
- psychopy/demos/builder/Helper Tools/achorVSalignment/anchorAlignment.psyexp +336 -274
- psychopy/demos/builder/Helper Tools/clockFace/clockFace.psyexp +200 -149
- psychopy/demos/builder/Helper Tools/colors/colors.psyexp +300 -279
- psychopy/demos/builder/Helper Tools/drawPolygon/drawPolygon.psyexp +677 -564
- psychopy/demos/builder/Helper Tools/keyNameFinder/keyNameFinder.psyexp +214 -158
- psychopy/demos/builder/Helper Tools/spatialUnits/unitDemo.psyexp +195 -146
- psychopy/demos/coder/experiment control/runtimeInfo.py +1 -1
- psychopy/devices/__init__.py +1 -1
- psychopy/event.py +1 -1
- psychopy/exceptions.py +1 -1
- psychopy/experiment/__init__.py +1 -1
- psychopy/experiment/_experiment.py +62 -16
- psychopy/experiment/components/__init__.py +1 -6
- psychopy/experiment/components/_base.py +44 -19
- psychopy/experiment/components/aperture/__init__.py +1 -1
- psychopy/experiment/components/brush/__init__.py +2 -2
- psychopy/experiment/components/button/__init__.py +24 -28
- psychopy/experiment/components/camera/__init__.py +38 -39
- psychopy/experiment/components/code/__init__.py +1 -1
- psychopy/experiment/components/dots/__init__.py +1 -1
- psychopy/experiment/components/eyetracker_record/__init__.py +7 -3
- psychopy/experiment/components/form/__init__.py +3 -3
- psychopy/experiment/components/grating/__init__.py +1 -1
- psychopy/experiment/components/image/__init__.py +1 -1
- psychopy/experiment/components/joyButtons/__init__.py +2 -2
- psychopy/experiment/components/joyButtons/virtualJoyButtons.py +1 -1
- psychopy/experiment/components/joystick/__init__.py +3 -3
- psychopy/experiment/components/joystick/virtualJoystick.py +1 -1
- psychopy/experiment/components/keyboard/__init__.py +98 -122
- psychopy/experiment/components/microphone/__init__.py +54 -98
- psychopy/experiment/components/mouse/__init__.py +92 -93
- psychopy/experiment/components/movie/__init__.py +28 -50
- psychopy/experiment/components/parallelOut/__init__.py +3 -3
- psychopy/experiment/components/polygon/__init__.py +2 -3
- psychopy/experiment/components/roi/__init__.py +2 -2
- psychopy/experiment/components/routineSettings/__init__.py +2 -0
- psychopy/experiment/components/serialOut/__init__.py +7 -7
- psychopy/experiment/components/settings/__init__.py +317 -313
- psychopy/experiment/components/settings/eyetracking.py +108 -0
- psychopy/experiment/components/slider/__init__.py +5 -5
- psychopy/experiment/components/sound/__init__.py +168 -78
- psychopy/experiment/components/soundsensor/__init__.py +361 -0
- psychopy/experiment/components/soundsensor/classic/soundsensor.png +0 -0
- psychopy/experiment/components/soundsensor/classic/soundsensor@2x.png +0 -0
- psychopy/experiment/components/soundsensor/dark/soundsensor.png +0 -0
- psychopy/experiment/components/soundsensor/dark/soundsensor@2x.png +0 -0
- psychopy/experiment/components/soundsensor/light/soundsensor.png +0 -0
- psychopy/experiment/components/soundsensor/light/soundsensor@2x.png +0 -0
- psychopy/experiment/components/static/__init__.py +59 -33
- psychopy/experiment/components/text/__init__.py +2 -6
- psychopy/experiment/components/textbox/__init__.py +3 -7
- psychopy/experiment/components/unknown/__init__.py +2 -0
- psychopy/experiment/components/unknownPlugin/__init__.py +2 -0
- psychopy/experiment/exports.py +1 -1
- psychopy/experiment/flow.py +2 -2
- psychopy/experiment/localization.py +1 -1
- psychopy/experiment/loops.py +43 -10
- psychopy/experiment/params.py +6 -4
- psychopy/experiment/plugins.py +8 -1
- psychopy/experiment/py2js.py +1 -1
- psychopy/experiment/py2js_transpiler.py +1 -1
- psychopy/experiment/routines/__init__.py +1 -1
- psychopy/experiment/routines/_base.py +23 -24
- psychopy/experiment/routines/audioValidator/__init__.py +343 -0
- psychopy/experiment/routines/audioValidator/classic/audio_validator.png +0 -0
- psychopy/experiment/routines/audioValidator/classic/audio_validator@2x.png +0 -0
- psychopy/experiment/routines/audioValidator/dark/audio_validator.png +0 -0
- psychopy/experiment/routines/audioValidator/dark/audio_validator@2x.png +0 -0
- psychopy/experiment/routines/audioValidator/light/audio_validator.png +0 -0
- psychopy/experiment/routines/audioValidator/light/audio_validator@2x.png +0 -0
- psychopy/experiment/routines/eyetracker_calibrate/__init__.py +76 -17
- psychopy/experiment/routines/eyetracker_validate/__init__.py +1 -1
- psychopy/experiment/routines/unknown/__init__.py +2 -0
- psychopy/experiment/routines/{photodiodeValidator → visualValidator}/__init__.py +89 -120
- psychopy/experiment/routines/visualValidator/classic/visual_validator.png +0 -0
- psychopy/experiment/routines/visualValidator/classic/visual_validator@2x.png +0 -0
- psychopy/experiment/routines/visualValidator/dark/visual_validator.png +0 -0
- psychopy/experiment/routines/visualValidator/dark/visual_validator@2x.png +0 -0
- psychopy/experiment/routines/visualValidator/light/visual_validator.png +0 -0
- psychopy/experiment/routines/visualValidator/light/visual_validator@2x.png +0 -0
- psychopy/experiment/utils.py +1 -1
- psychopy/gui/__init__.py +1 -1
- psychopy/gui/qtgui.py +15 -6
- psychopy/gui/wxgui.py +1 -1
- psychopy/hardware/__init__.py +0 -1
- psychopy/hardware/base.py +147 -16
- psychopy/hardware/bbtk/__init__.py +10 -16
- psychopy/hardware/brainproducts.py +7 -13
- psychopy/hardware/button.py +21 -2
- psychopy/hardware/buttonbox/__init__.py +1 -1
- psychopy/hardware/camera/__init__.py +16 -3
- psychopy/hardware/cedrus.py +5 -16
- psychopy/hardware/crs/__init__.py +1 -1
- psychopy/hardware/crs/bits.py +36 -33
- psychopy/hardware/crs/colorcal.py +8 -11
- psychopy/hardware/crs/optical.py +7 -10
- psychopy/hardware/crs/shaders.py +18 -5
- psychopy/hardware/emotiv.py +1 -1
- psychopy/hardware/emulator.py +11 -5
- psychopy/hardware/exceptions.py +86 -0
- psychopy/hardware/forp.py +18 -23
- psychopy/hardware/gammasci.py +8 -3
- psychopy/hardware/iolab.py +8 -19
- psychopy/hardware/joystick/__init__.py +865 -266
- psychopy/hardware/joystick/_base.py +251 -0
- psychopy/hardware/joystick/backend_glfw.py +306 -0
- psychopy/hardware/joystick/backend_pyglet.py +309 -0
- psychopy/hardware/joystick/mappings.py +287 -0
- psychopy/hardware/keyboard.py +4 -2
- psychopy/hardware/labhackers.py +1 -1
- psychopy/hardware/labjacks.py +9 -13
- psychopy/hardware/{photodiode.py → lightsensor.py} +146 -203
- psychopy/hardware/listener.py +9 -8
- psychopy/hardware/manager.py +24 -35
- psychopy/hardware/microphone.py +534 -154
- psychopy/hardware/minolta.py +14 -4
- psychopy/hardware/mouse/__init__.py +1 -1
- psychopy/hardware/photometer/__init__.py +2 -2
- psychopy/hardware/pr.py +14 -4
- psychopy/hardware/qmix.py +18 -27
- psychopy/hardware/serialdevice.py +43 -12
- psychopy/hardware/soundsensor.py +473 -0
- psychopy/hardware/spatial/__init__.py +231 -0
- psychopy/hardware/speaker.py +298 -36
- psychopy/hardware/triggerbox/__init__.py +1 -1
- psychopy/hardware/triggerbox/base.py +1 -1
- psychopy/hardware/triggerbox/parallel.py +1 -1
- psychopy/info.py +1 -1
- psychopy/iohub/client/__init__.py +17 -0
- psychopy/iohub/client/keyboard.py +5 -0
- psychopy/iohub/devices/eyetracker/__init__.py +10 -18
- psychopy/iohub/devices/eyetracker/calibration/procedure.py +15 -33
- psychopy/iohub/devices/eyetracker/hw/pupil_labs/neon/__init__.py +1 -0
- psychopy/iohub/devices/mouse/linux2.py +6 -1
- psychopy/iohub/devices/mouse/win32.py +5 -0
- psychopy/layout.py +1 -1
- psychopy/liaison.py +91 -39
- psychopy/locale_setup.py +11 -1
- psychopy/localization/__init__.py +1 -1
- psychopy/localization/_localization.py +1 -1
- psychopy/localization/messages.pot +2 -2
- psychopy/logging.py +14 -12
- psychopy/microphone.py +4 -3
- psychopy/misc.py +1 -1
- psychopy/monitors/MonitorCenter.py +3 -3
- psychopy/monitors/__init__.py +1 -1
- psychopy/monitors/calibData.py +1 -1
- psychopy/monitors/calibTools.py +3 -2
- psychopy/platform_specific/__init__.py +1 -1
- psychopy/platform_specific/darwin.py +1 -1
- psychopy/platform_specific/linux.py +1 -1
- psychopy/platform_specific/win32.py +1 -1
- psychopy/plugins/__init__.py +26 -17
- psychopy/plugins/util.py +65 -0
- psychopy/preferences/Darwin.spec +11 -3
- psychopy/preferences/FreeBSD.spec +11 -3
- psychopy/preferences/Linux.spec +11 -3
- psychopy/preferences/Windows.spec +11 -3
- psychopy/preferences/__init__.py +1 -1
- psychopy/preferences/baseNoArch.spec +11 -3
- psychopy/preferences/hints.py +78 -61
- psychopy/preferences/preferences.py +82 -13
- psychopy/projects/__init__.py +1 -1
- psychopy/projects/pavlovia.py +29 -13
- psychopy/scripts/psyexpCompile.py +1 -1
- psychopy/session.py +81 -8
- psychopy/sound/__init__.py +25 -10
- psychopy/sound/_base.py +134 -34
- psychopy/sound/audioclip.py +38 -15
- psychopy/sound/audiodevice.py +1 -1
- psychopy/sound/backend_ptb.py +53 -321
- psychopy/sound/backend_pygame.py +7 -3
- psychopy/sound/backend_pyo.py +53 -22
- psychopy/sound/backend_pysound.py +10 -27
- psychopy/sound/backend_sounddevice.py +33 -21
- psychopy/sound/exceptions.py +1 -1
- psychopy/sound/microphone.py +83 -5
- psychopy/sound/transcribe.py +3 -3
- psychopy/tests/data/test_basic_run.py +1 -0
- psychopy/tests/data/test_loaded_namespace/test_counterbalance.psyexp +142 -0
- psychopy/tests/data/test_loaded_namespace/test_custom_missing.psyexp +129 -0
- psychopy/tests/data/test_loaded_namespace/test_missing_counterbalance.psyexp +116 -0
- psychopy/tests/data/test_loaded_namespace/test_mix_exp.psyexp +181 -0
- psychopy/tests/data/test_loaded_namespace/test_mix_missing.psyexp +140 -0
- psychopy/tests/data/test_loaded_namespace/test_mix_name_calibration.psyexp +164 -0
- psychopy/tests/data/test_sounds/default_16000.wav +0 -0
- psychopy/tests/data/test_sounds/default_192000.wav +0 -0
- psychopy/tests/data/test_sounds/default_22050.wav +0 -0
- psychopy/tests/data/test_sounds/default_32000.wav +0 -0
- psychopy/tests/data/test_sounds/default_44100.wav +0 -0
- psychopy/tests/data/test_sounds/default_48000.wav +0 -0
- psychopy/tests/data/test_sounds/default_8000.wav +0 -0
- psychopy/tests/data/test_sounds/default_96000.wav +0 -0
- psychopy/tests/test_alerts/test_alerttools.py +2 -1
- psychopy/tests/test_app/test_command_line.py +65 -0
- psychopy/tests/test_data/test_TrialHandler2.py +18 -7
- psychopy/tests/test_demos/test_builder_demos.py +1 -1
- psychopy/tests/test_experiment/needs_wx/componsTemplate.txt +5238 -4188
- psychopy/tests/test_experiment/needs_wx/test_components.py +1 -1
- psychopy/tests/test_experiment/test_components/test_RoutineSettingsComponent.py +16 -0
- psychopy/tests/test_experiment/test_components/test_all_components.py +1 -1
- psychopy/tests/test_experiment/test_components/test_base_components.py +26 -17
- psychopy/tests/test_experiment/test_experiment.py +96 -0
- psychopy/tests/test_experiment/test_loops.py +12 -4
- psychopy/tests/test_experiment/test_params.py +17 -4
- psychopy/tests/test_experiment/test_routines/test_PhotodiodeValidationRoutine.py +2 -2
- psychopy/tests/test_hardware/test_photodiode.py +66 -0
- psychopy/tests/test_liaison/test_Liaison.py +4 -4
- psychopy/tests/test_misc/test_clock.py +2 -0
- psychopy/tests/test_misc/test_color.py +2 -0
- psychopy/tests/test_misc/test_event.py +1 -0
- psychopy/tests/test_plugins/test_plugin_stubs.py +125 -0
- psychopy/tests/test_sound/test_sound.py +111 -40
- psychopy/tests/test_tools/test_colorspacetools.py +24 -23
- psychopy/tests/test_tools/test_mathtools.py +9 -9
- psychopy/tests/test_tools/test_viewtools.py +101 -0
- psychopy/tests/test_validators/__init__.py +0 -0
- psychopy/tests/test_validators/test_voicekeyValidator.py +95 -0
- psychopy/tests/test_visual/test_all_stimuli.py +2 -2
- psychopy/tests/test_visual/test_basevisual.py +37 -7
- psychopy/tests/test_visual/test_button.py +2 -2
- psychopy/tests/test_visual/test_circle.py +10 -2
- psychopy/tests/test_visual/test_dots.py +1 -1
- psychopy/tests/test_visual/test_form.py +13 -13
- psychopy/tests/test_visual/test_gamma.py +3 -3
- psychopy/tests/test_visual/test_image.py +2 -2
- psychopy/tests/test_visual/test_progress.py +2 -2
- psychopy/tests/test_visual/test_roi.py +8 -2
- psychopy/tests/test_visual/test_shape.py +2 -2
- psychopy/tests/test_visual/test_slider.py +2 -2
- psychopy/tests/test_visual/test_target.py +2 -2
- psychopy/tests/test_visual/test_textbox.py +6 -8
- psychopy/tests/test_visual/test_winScalePos.py +6 -5
- psychopy/tests/test_visual/test_window.py +17 -0
- psychopy/tests/utils.py +51 -1
- psychopy/tools/__init__.py +1 -1
- psychopy/tools/arraytools.py +2 -2
- psychopy/tools/attributetools.py +52 -1
- psychopy/tools/audiotools.py +4 -1
- psychopy/tools/colorspacetools.py +6 -4
- psychopy/tools/coordinatetools.py +1 -1
- psychopy/tools/fileerrortools.py +21 -9
- psychopy/tools/filetools.py +2 -2
- psychopy/tools/fontmanager.py +47 -28
- psychopy/tools/gltools.py +2964 -558
- psychopy/tools/imagetools.py +1 -1
- psychopy/tools/mathtools.py +997 -127
- psychopy/tools/monitorunittools.py +7 -1
- psychopy/tools/movietools.py +1 -2
- psychopy/tools/pkgtools.py +157 -127
- psychopy/tools/plottools.py +1 -1
- psychopy/tools/rifttools.py +1 -1
- psychopy/tools/stereotools.py +1 -1
- psychopy/tools/stimulustools.py +172 -2
- psychopy/tools/stringtools.py +22 -2
- psychopy/tools/systemtools.py +1 -1
- psychopy/tools/typetools.py +1 -1
- psychopy/tools/unittools.py +1 -1
- psychopy/tools/versionchooser.py +3 -1
- psychopy/tools/viewtools.py +54 -70
- psychopy/tools/wizard.py +2 -2
- psychopy/validation/__init__.py +6 -0
- psychopy/validation/audio.py +74 -0
- psychopy/validation/visual.py +115 -0
- psychopy/visual/__init__.py +1 -4
- psychopy/visual/aperture.py +9 -6
- psychopy/visual/backends/__init__.py +1 -1
- psychopy/visual/backends/_base.py +1 -1
- psychopy/visual/backends/gamma.py +1 -1
- psychopy/visual/backends/glfwbackend.py +8 -12
- psychopy/visual/backends/pygamebackend.py +1 -1
- psychopy/visual/backends/pygletbackend.py +32 -11
- psychopy/visual/basevisual.py +93 -13
- psychopy/visual/brush.py +1 -1
- psychopy/visual/bufferimage.py +90 -10
- psychopy/visual/button.py +1 -1
- psychopy/visual/circle.py +12 -20
- psychopy/visual/custommouse.py +1 -1
- psychopy/visual/dot.py +80 -14
- psychopy/visual/elementarray.py +84 -10
- psychopy/visual/filters.py +1 -1
- psychopy/visual/form.py +43 -28
- psychopy/visual/grating.py +105 -25
- psychopy/visual/helpers.py +1 -1
- psychopy/visual/image.py +98 -20
- psychopy/visual/line.py +15 -25
- psychopy/visual/movie.py +1 -1
- psychopy/visual/movie2.py +4 -3
- psychopy/visual/movie3.py +4 -3
- psychopy/visual/movies/__init__.py +1 -1
- psychopy/visual/movies/frame.py +1 -1
- psychopy/visual/movies/metadata.py +1 -1
- psychopy/visual/movies/players/__init__.py +1 -1
- psychopy/visual/movies/players/_base.py +1 -1
- psychopy/visual/movies/players/ffpyplayer_player.py +2 -3
- psychopy/visual/nnlvs.py +9 -6
- psychopy/visual/noise.py +4 -16
- psychopy/visual/patch.py +4 -3
- psychopy/visual/pie.py +3 -14
- psychopy/visual/polygon.py +21 -28
- psychopy/visual/radial.py +4 -18
- psychopy/visual/ratingscale.py +4 -3
- psychopy/visual/rect.py +16 -25
- psychopy/visual/rift.py +8 -2
- psychopy/visual/secondorder.py +4 -16
- psychopy/visual/shaders.py +620 -286
- psychopy/visual/shape.py +281 -90
- psychopy/visual/simpleimage.py +1 -1
- psychopy/visual/slider.py +78 -25
- psychopy/visual/stim3d.py +5 -608
- psychopy/visual/text.py +13 -3
- psychopy/visual/textbox2/textbox2.py +188 -56
- psychopy/visual/vlcmoviestim.py +1 -1
- psychopy/visual/window.py +373 -200
- psychopy/web.py +1 -1
- {psychopy-2024.2.4.dist-info → psychopy-2025.1.0.dist-info}/METADATA +9 -9
- {psychopy-2024.2.4.dist-info → psychopy-2025.1.0.dist-info}/RECORD +653 -660
- psychopy/.DS_Store +0 -0
- psychopy/__init__.py.orig +0 -65
- psychopy/app/.DS_Store +0 -0
- psychopy/app/Resources/.DS_Store +0 -0
- psychopy/app/Resources/classic/filecsv16.png +0 -0
- psychopy/app/Resources/classic/fileimage16.png +0 -0
- psychopy/app/Resources/classic/fileunknown16.png +0 -0
- psychopy/app/Resources/dark/filecsv16.png +0 -0
- psychopy/app/Resources/dark/filecsv16@2x.png +0 -0
- psychopy/app/Resources/dark/fileimage16.png +0 -0
- psychopy/app/Resources/dark/fileimage16@2x.png +0 -0
- psychopy/app/Resources/dark/fileunknown16.png +0 -0
- psychopy/app/Resources/dark/fileunknown16@2x.png +0 -0
- psychopy/app/Resources/fonts/OpenSans-Bold.ttf +0 -0
- psychopy/app/Resources/fonts/OpenSans-BoldItalic.ttf +0 -0
- psychopy/app/Resources/fonts/OpenSans-ExtraBold.ttf +0 -0
- psychopy/app/Resources/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- psychopy/app/Resources/fonts/OpenSans-Italic.ttf +0 -0
- psychopy/app/Resources/fonts/OpenSans-Light.ttf +0 -0
- psychopy/app/Resources/fonts/OpenSans-LightItalic.ttf +0 -0
- psychopy/app/Resources/fonts/OpenSans-Regular.ttf +0 -0
- psychopy/app/Resources/fonts/OpenSans-SemiBold.ttf +0 -0
- psychopy/app/Resources/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- psychopy/app/Resources/light/filecsv16.png +0 -0
- psychopy/app/Resources/light/filecsv16@2x.png +0 -0
- psychopy/app/Resources/light/fileimage16.png +0 -0
- psychopy/app/Resources/light/fileimage16@2x.png +0 -0
- psychopy/app/Resources/light/fileunknown16.png +0 -0
- psychopy/app/Resources/light/fileunknown16@2x.png +0 -0
- psychopy/app/Resources/psychopySplash.png +0 -0
- psychopy/app/Resources/psychopySplash@2x.png +0 -0
- psychopy/app/builder/builder.py.orig +0 -3932
- psychopy/app/builder/dialogs/__init__.py.orig +0 -1679
- psychopy/app/builder/dialogs/paramCtrls.py.orig +0 -713
- psychopy/app/colorpicker/__init__.py.orig +0 -411
- psychopy/app/locale/zh_CN/LC_MESSAGE/zh_CN.mo +0 -0
- psychopy/app/locale/zh_CN/LC_MESSAGE/zh_CN.po +0 -6127
- psychopy/app/locale/zh_CN/LC_MESSAGE/zh_CN_allFlagged.mo +0 -0
- psychopy/app/locale/zh_CN/LC_MESSAGE/zh_CN_allFlagged.po +0 -7366
- psychopy/core.py.orig +0 -169
- psychopy/demos/builder/.DS_Store +0 -0
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/index.html +0 -23
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/randomisedBlocks-legacy-browsers.js +0 -423
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/randomisedBlocks.js +0 -427
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/chooseBlock.xlsx +0 -0
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/facesBlock.xlsx +0 -0
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/housesBlock.xlsx +0 -0
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/stims/face01.jpg +0 -0
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/stims/face02.jpg +0 -0
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/stims/face03.jpg +0 -0
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/stims/house01.jpg +0 -0
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/stims/house02.jpg +0 -0
- psychopy/demos/builder/Design Templates/randomisedBlocks/html/resources/stims/house03.jpg +0 -0
- psychopy/demos/builder/Design Templates/randomisedBlocks/randomisedBlocks.py +0 -330
- psychopy/demos/builder/Design Templates/randomisedBlocks/randomisedBlocks_lastrun.py +0 -330
- psychopy/demos/builder/Experiments/.DS_Store +0 -0
- psychopy/demos/builder/Experiments/dragAndDrop/archived_conditions.xlsx +0 -0
- psychopy/demos/builder/Experiments/dragAndDrop/draw grid stim.py +0 -61
- psychopy/demos/builder/Experiments/dragAndDrop/shapeMaker.psyexp +0 -91
- psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_1.png +0 -0
- psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_10.png +0 -0
- psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_2.png +0 -0
- psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_3.png +0 -0
- psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_4.png +0 -0
- psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_5.png +0 -0
- psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_6.png +0 -0
- psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_7.png +0 -0
- psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_8.png +0 -0
- psychopy/demos/builder/Experiments/dragAndDrop/stimuli/grid_image_9.png +0 -0
- psychopy/demos/builder/Experiments/dragAndDrop/updated_conditions.xlsx +0 -0
- psychopy/demos/builder/Feature Demos/eyetracking/eyetracking.xsd +0 -120
- psychopy/demos/builder/Tools/.DS_Store +0 -0
- psychopy/demos/builder/Tools/gammaCalibration/.DS_Store +0 -0
- psychopy/demos/builder/Tools/gammaCalibration/data/.DS_Store +0 -0
- psychopy/demos/builder/Tools/gammaCalibration/data/_gamma_correction_visual_2022-05-18_14h18.29.439.csv +0 -38
- psychopy/demos/builder/Tools/gammaCalibration/data/_gamma_correction_visual_2022-05-18_14h18.29.439.log +0 -3418
- psychopy/demos/builder/Tools/gammaCalibration/data/_gamma_correction_visual_2022-05-18_14h18.29.439.psydat +0 -0
- psychopy/demos/builder/Tools/gammaCalibration/data/x1_gamma_correction_visual_2022-05-17_13h59.42.928.csv +0 -2
- psychopy/demos/builder/Tools/gammaCalibration/data/x1_gamma_correction_visual_2022-05-17_13h59.42.928.log +0 -15
- psychopy/demos/builder/Tools/gammaCalibration/data/x1_gamma_correction_visual_2022-05-17_13h59.42.928.psydat +0 -0
- psychopy/demos/builder/Tools/gammaCalibration/gamma_correction_visual.psyexp +0 -323
- psychopy/demos/builder/Tools/gammaCalibration/gamma_correction_visual.py +0 -562
- psychopy/demos/builder/Tools/gammaCalibration/gamma_correction_visual_lastrun.py +0 -562
- psychopy/demos/builder/Tools/gammaCalibration/questStairs.xlsx +0 -0
- psychopy/demos/builder/Tools/gammaCalibration/resources/low_contrast.png +0 -0
- psychopy/demos/builder/Tools/gammaCalibration/resources/make_2nd_order_tex.py +0 -59
- psychopy/demos/builder/Tools/gammaCalibration/resources/second_order_tex.png +0 -0
- psychopy/demos/coder/.DS_Store +0 -0
- psychopy/demos/coder/experiment control/info_gamma.pickle +0 -0
- psychopy/demos/coder/iohub/.iohpid +0 -1
- psychopy/demos/coder/iohub/eyetracking/.iohpid +0 -1
- psychopy/demos/coder/iohub/wintab/.DS_Store +0 -0
- psychopy/demos/coder/stimuli/.DS_Store +0 -0
- psychopy/demos/coder/stimuli/radialGratingContracting.py +0 -29
- psychopy/experiment/_experiment.py.orig +0 -1032
- psychopy/experiment/components/.DS_Store +0 -0
- psychopy/experiment/components/_base.py.orig +0 -823
- psychopy/experiment/components/form/.DS_Store +0 -0
- psychopy/experiment/components/microphone/__init__.py.orig +0 -490
- psychopy/experiment/components/settings/__init__.py.orig +0 -1337
- psychopy/experiment/components/textbox/__init__.py.orig +0 -310
- psychopy/experiment/components/webcam/.DS_Store +0 -0
- psychopy/experiment/components/webcam/light/.DS_Store +0 -0
- psychopy/experiment/loops.py.orig +0 -829
- psychopy/experiment/params.py.orig +0 -408
- psychopy/experiment/routine.py.orig +0 -503
- psychopy/experiment/routines/photodiodeValidator/classic/photodiode_validator.png +0 -0
- psychopy/experiment/routines/photodiodeValidator/classic/photodiode_validator@2x.png +0 -0
- psychopy/experiment/routines/photodiodeValidator/dark/photodiode_validator.png +0 -0
- psychopy/experiment/routines/photodiodeValidator/dark/photodiode_validator@2x.png +0 -0
- psychopy/experiment/routines/photodiodeValidator/light/photodiode_validator.png +0 -0
- psychopy/experiment/routines/photodiodeValidator/light/photodiode_validator@2x.png +0 -0
- psychopy/hardware/.DS_Store +0 -0
- psychopy/hardware/brainproducts.py.orig +0 -680
- psychopy/hardware/iolab.py.orig +0 -238
- psychopy/hardware/serialport.py +0 -51
- psychopy/iohub/datastore/__init__.py.orig +0 -443
- psychopy/iohub/datastore/util.py.orig +0 -692
- psychopy/iohub/devices/mouse/darwin.py.orig +0 -427
- psychopy/iohub/devices/mouse/linux2.py.orig +0 -198
- psychopy/preferences/.DS_Store +0 -0
- psychopy/projects/pavlovia.py.orig +0 -1295
- psychopy/tests/.DS_Store +0 -0
- psychopy/tests/data/.DS_Store +0 -0
- psychopy/tests/data/TestCircle_fill_local.png +0 -0
- psychopy/tests/data/__test.png +0 -0
- psychopy/tests/data/aperture1_normHexbackground_local.png +0 -0
- psychopy/tests/data/aperture1_norm_local.png +0 -0
- psychopy/tests/data/aperture2_normHexbackground_local.png +0 -0
- psychopy/tests/data/beatandrcos_height_local.png +0 -0
- psychopy/tests/data/beatandrcos_normAddBlend_local.png +0 -0
- psychopy/tests/data/beatandrcos_normHexbackground_local.png +0 -0
- psychopy/tests/data/beatandrcos_norm_local.png +0 -0
- psychopy/tests/data/beatandrcos_stencil_local.png +0 -0
- psychopy/tests/data/blend_add_height_local.png +0 -0
- psychopy/tests/data/blend_add_normAddBlend_local.png +0 -0
- psychopy/tests/data/blend_add_normHexbackground_local.png +0 -0
- psychopy/tests/data/blend_add_normNoShade_local.png +0 -0
- psychopy/tests/data/blend_add_norm_local.png +0 -0
- psychopy/tests/data/blend_add_stencil_local.png +0 -0
- psychopy/tests/data/bufferimg_gabor_height_local.png +0 -0
- psychopy/tests/data/bufferimg_gabor_normAddBlend_local.png +0 -0
- psychopy/tests/data/bufferimg_gabor_normHexbackground_local.png +0 -0
- psychopy/tests/data/bufferimg_gabor_normNoShade_local.png +0 -0
- psychopy/tests/data/bufferimg_gabor_norm_local.png +0 -0
- psychopy/tests/data/bufferimg_gabor_stencil_local.png +0 -0
- psychopy/tests/data/circleHex_height_local.png +0 -0
- psychopy/tests/data/circleHex_normAddBlend_local.png +0 -0
- psychopy/tests/data/circleHex_normHexbackground_local.png +0 -0
- psychopy/tests/data/circleHex_normNoShade_local.png +0 -0
- psychopy/tests/data/circleHex_norm_local.png +0 -0
- psychopy/tests/data/circleHex_stencil_local.png +0 -0
- psychopy/tests/data/color_comparison_local.png +0 -0
- psychopy/tests/data/corrFullRandom_local.csv +0 -16
- psychopy/tests/data/corrFullRandom_local.tsv +0 -6
- psychopy/tests/data/correctScript/.DS_Store +0 -0
- psychopy/tests/data/dots_height_local.png +0 -0
- psychopy/tests/data/dots_normAddBlend_local.png +0 -0
- psychopy/tests/data/dots_normHexbackground_local.png +0 -0
- psychopy/tests/data/dots_normNoShade_local.png +0 -0
- psychopy/tests/data/dots_norm_local.png +0 -0
- psychopy/tests/data/dots_stencil_local.png +0 -0
- psychopy/tests/data/elarray1_height_local.png +0 -0
- psychopy/tests/data/elarray1_normAddBlend_local.png +0 -0
- psychopy/tests/data/elarray1_normHexbackground_local.png +0 -0
- psychopy/tests/data/elarray1_norm_local.png +0 -0
- psychopy/tests/data/elarray1_stencil_local.png +0 -0
- psychopy/tests/data/envelopeandrcos_height_local.png +0 -0
- psychopy/tests/data/envelopeandrcos_normAddBlend_local.png +0 -0
- psychopy/tests/data/envelopeandrcos_normHexbackground_local.png +0 -0
- psychopy/tests/data/envelopeandrcos_norm_local.png +0 -0
- psychopy/tests/data/envelopeandrcos_stencil_local.png +0 -0
- psychopy/tests/data/envelopepowerandrcos_height_local.png +0 -0
- psychopy/tests/data/envelopepowerandrcos_normAddBlend_local.png +0 -0
- psychopy/tests/data/envelopepowerandrcos_normHexbackground_local.png +0 -0
- psychopy/tests/data/envelopepowerandrcos_norm_local.png +0 -0
- psychopy/tests/data/envelopepowerandrcos_stencil_local.png +0 -0
- psychopy/tests/data/gabor1_height_local.png +0 -0
- psychopy/tests/data/gabor1_normAddBlend_local.png +0 -0
- psychopy/tests/data/gabor1_normHexbackground_local.png +0 -0
- psychopy/tests/data/gabor1_normNoShade_local.png +0 -0
- psychopy/tests/data/gabor1_norm_local.png +0 -0
- psychopy/tests/data/gabor1_stencil_local.png +0 -0
- psychopy/tests/data/greyscale_normHexbackground_local.png +0 -0
- psychopy/tests/data/imageAndGauss_height_local.png +0 -0
- psychopy/tests/data/imageAndGauss_normAddBlend_local.png +0 -0
- psychopy/tests/data/imageAndGauss_normHexbackground_local.png +0 -0
- psychopy/tests/data/imageAndGauss_normNoShade_local.png +0 -0
- psychopy/tests/data/imageAndGauss_norm_local.png +0 -0
- psychopy/tests/data/imageAndGauss_stencil_local.png +0 -0
- psychopy/tests/data/movFrame1_stencil_local.png +0 -0
- psychopy/tests/data/noiseAndRcos_height_local.png +0 -0
- psychopy/tests/data/noiseAndRcos_normAddBlend_local.png +0 -0
- psychopy/tests/data/noiseAndRcos_normHexbackground_local.png +0 -0
- psychopy/tests/data/noiseAndRcos_normNoShade_local.png +0 -0
- psychopy/tests/data/noiseAndRcos_norm_local.png +0 -0
- psychopy/tests/data/noiseAndRcos_stencil_local.png +0 -0
- psychopy/tests/data/noiseFiltersAndRcos_height_local.png +0 -0
- psychopy/tests/data/noiseFiltersAndRcos_normAddBlend_local.png +0 -0
- psychopy/tests/data/noiseFiltersAndRcos_normHexbackground_local.png +0 -0
- psychopy/tests/data/noiseFiltersAndRcos_normNoShade_local.png +0 -0
- psychopy/tests/data/noiseFiltersAndRcos_norm_local.png +0 -0
- psychopy/tests/data/noiseFiltersAndRcos_stencil_local.png +0 -0
- psychopy/tests/data/numpyImage_height_local.png +0 -0
- psychopy/tests/data/numpyImage_normAddBlend_local.png +0 -0
- psychopy/tests/data/numpyImage_normHexbackground_local.png +0 -0
- psychopy/tests/data/numpyImage_normNoShade_local.png +0 -0
- psychopy/tests/data/numpyImage_norm_local.png +0 -0
- psychopy/tests/data/numpyImage_stencil_local.png +0 -0
- psychopy/tests/data/shape2_1_normAddBlend_local.png +0 -0
- psychopy/tests/data/shape2_1_normHexbackground_local.png +0 -0
- psychopy/tests/data/shape2_1_normNoShade_local.png +0 -0
- psychopy/tests/data/shape2_1_norm_local.png +0 -0
- psychopy/tests/data/shape2_1_stencil_local.png +0 -0
- psychopy/tests/data/testLoopsBlocks.psyexp_local.py +0 -328
- psychopy/tests/data/text1_height_local.png +0 -0
- psychopy/tests/data/text1_normAddBlend_local.png +0 -0
- psychopy/tests/data/text1_normHexbackground_local.png +0 -0
- psychopy/tests/data/text1_norm_local.png +0 -0
- psychopy/tests/data/text1_stencil_local.png +0 -0
- psychopy/tests/data/text2_height.png +0 -0
- psychopy/tests/data/text2_normAddBlend.png +0 -0
- psychopy/tests/data/text2_normHexbackground.png +0 -0
- psychopy/tests/data/text2_stencil.png +0 -0
- psychopy/tests/data/wedge1_height_local.png +0 -0
- psychopy/tests/data/wedge1_normAddBlend_local.png +0 -0
- psychopy/tests/data/wedge1_normHexbackground_local.png +0 -0
- psychopy/tests/data/wedge1_normNoShade_local.png +0 -0
- psychopy/tests/data/wedge1_norm_local.png +0 -0
- psychopy/tests/data/wedge1_stencil_local.png +0 -0
- psychopy/tests/test_app/.DS_Store +0 -0
- psychopy/tests/test_app/test_builder/.DS_Store +0 -0
- psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1206.csv +0 -9
- psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1206.log +0 -177
- psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1206.psydat +0 -0
- psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1206.xlsx +0 -0
- psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1324.csv +0 -9
- psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1324.log +0 -168
- psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1324.psydat +0 -0
- psychopy/tests/test_app/test_builder/data/_2021_ 5_03_1324.xlsx +0 -0
- psychopy/tests/test_data/.DS_Store +0 -0
- psychopy/tests/test_hardware/test_CRS_BitsSharp.py +0 -67
- psychopy/tests/test_hardware/test_CRS_BitsSharp.py.orig +0 -68
- psychopy/tests/test_hardware/test_CRS_bitsShaders.py +0 -110
- psychopy/tests/test_visual/test_image.py.orig +0 -219
- psychopy/visual/basevisual.py.orig +0 -1723
- psychopy/visual/form.py.orig +0 -1181
- psychopy/visual/text.py.orig +0 -752
- psychopy/visual/textbox2/textbox2.py.orig +0 -1315
- psychopy/visual/windowwarp.py.orig +0 -463
- /psychopy/{app/cortex.log → alerts/alertsCatalogue/3600.yaml} +0 -0
- /psychopy/{app/Resources → assets}/fonts/Arvo-Bold.ttf +0 -0
- /psychopy/{app/Resources → assets}/fonts/Arvo-BoldItalic.ttf +0 -0
- /psychopy/{app/Resources → assets}/fonts/Arvo-Italic.ttf +0 -0
- /psychopy/{app/Resources → assets}/fonts/Arvo-Regular.ttf +0 -0
- /psychopy/{app/Resources → assets}/fonts/DejaVuSerif.ttf +0 -0
- /psychopy/{app/Resources → assets}/fonts/IndieFlower-Regular.ttf +0 -0
- /psychopy/{app/Resources → assets}/fonts/JetBrainsMono-Italic-VariableFont_wght.ttf +0 -0
- /psychopy/{app/Resources → assets}/fonts/JetBrainsMono-VariableFont_wght.ttf +0 -0
- /psychopy/demos/builder/Experiments/{GoNoGo → goNoGo}/readme.md +0 -0
- /psychopy/{demos/builder/Tools/gammaCalibration/readme.md → tests/test_plugins/__init__.py} +0 -0
- {psychopy-2024.2.4.dist-info → psychopy-2025.1.0.dist-info}/WHEEL +0 -0
- {psychopy-2024.2.4.dist-info → psychopy-2025.1.0.dist-info}/entry_points.txt +0 -0
- {psychopy-2024.2.4.dist-info → psychopy-2025.1.0.dist-info}/licenses/LICENSE +0 -0
psychopy/plugins/util.py
CHANGED
|
@@ -37,3 +37,68 @@ def getEntryPoints(module, submodules=True, flatten=True):
|
|
|
37
37
|
return entryPointsList
|
|
38
38
|
else:
|
|
39
39
|
return entryPointsDict
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class PluginRequiredError(Exception):
|
|
43
|
+
pass
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class PluginStub:
|
|
47
|
+
"""
|
|
48
|
+
Class to handle classes which have moved out to plugins.
|
|
49
|
+
|
|
50
|
+
Example
|
|
51
|
+
-------
|
|
52
|
+
```
|
|
53
|
+
class NoiseStim(
|
|
54
|
+
PluginStub,
|
|
55
|
+
plugin="psychopy-visionscience",
|
|
56
|
+
docsHome="https://psychopy.github.io/psychopy-visionscience",
|
|
57
|
+
docsRef="builder/components/NoiseStimComponent"
|
|
58
|
+
):
|
|
59
|
+
```
|
|
60
|
+
"""
|
|
61
|
+
|
|
62
|
+
def __init_subclass__(cls, plugin, docsHome, docsRef="/"):
|
|
63
|
+
"""
|
|
64
|
+
Subclassing PluginStub will create documentation pointing to the new documentation for the replacement class.
|
|
65
|
+
"""
|
|
66
|
+
# remove trailing /
|
|
67
|
+
while docsHome.endswith("/"):
|
|
68
|
+
docsHome = docsHome[:-1]
|
|
69
|
+
# if docsRef includes docsHome root, remove it
|
|
70
|
+
if docsRef.startswith(docsHome):
|
|
71
|
+
docsRef = docsRef[len(docsHome):]
|
|
72
|
+
# make sure docsRef has a /
|
|
73
|
+
if not docsRef.startswith("/"):
|
|
74
|
+
docsRef = "/" + docsRef
|
|
75
|
+
# make sure docsHome has a http(s)://
|
|
76
|
+
if not (docsHome.startswith("http://") or docsHome.startswith("https://")):
|
|
77
|
+
docsHome = "https://" + docsHome
|
|
78
|
+
# store ref to plugin and docs link
|
|
79
|
+
cls.plugin = plugin
|
|
80
|
+
cls.docsHome = docsHome
|
|
81
|
+
cls.docsRef = docsRef
|
|
82
|
+
cls.docsLink = docsHome + docsRef
|
|
83
|
+
# create doc string point to new location
|
|
84
|
+
cls.__doc__ = (
|
|
85
|
+
"`{mro} <{docsLink}>`_ is now located within the `{plugin} <{docsHome}>`_ plugin."
|
|
86
|
+
).format(
|
|
87
|
+
mro=cls.__module__,
|
|
88
|
+
plugin=plugin,
|
|
89
|
+
docsHome=docsHome,
|
|
90
|
+
docsLink=cls.docsLink
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
def __init__(self, *args, **kwargs):
|
|
95
|
+
"""
|
|
96
|
+
When initialised, rather than creating an object, will log an error.
|
|
97
|
+
"""
|
|
98
|
+
raise PluginRequiredError((
|
|
99
|
+
"Support for `{mro}` is not available this session. Please install "
|
|
100
|
+
"`{plugin}` and restart the session to enable support."
|
|
101
|
+
).format(
|
|
102
|
+
mro=type(self).__module__,
|
|
103
|
+
plugin=self.plugin,
|
|
104
|
+
))
|
psychopy/preferences/Darwin.spec
CHANGED
|
@@ -131,9 +131,9 @@
|
|
|
131
131
|
# Settings for hardware
|
|
132
132
|
[hardware]
|
|
133
133
|
# LEGACY: choice of audio library
|
|
134
|
-
audioLib = list(default=list('
|
|
135
|
-
#
|
|
136
|
-
|
|
134
|
+
audioLib = list(default=list('ptb', 'sounddevice', 'pyo', 'pygame'))
|
|
135
|
+
# exclude non-WASAPI audio devices
|
|
136
|
+
audioWASAPIOnly = boolean(default=True)
|
|
137
137
|
# audio driver to use
|
|
138
138
|
audioDriver = list(default=list('coreaudio', 'portaudio'))
|
|
139
139
|
# audio device to use (if audioLib allows control)
|
|
@@ -147,6 +147,8 @@
|
|
|
147
147
|
[piloting]
|
|
148
148
|
# Prevent the experiment from being fullscreen when piloting
|
|
149
149
|
forceWindowed = boolean(default=True)
|
|
150
|
+
# Always show the mouse when piloting
|
|
151
|
+
forceMouseVisible = boolean(default=True)
|
|
150
152
|
# What window size to use when forced to windowed mode
|
|
151
153
|
forcedWindowSize = list(default=list(800, 600))
|
|
152
154
|
# How much output to include in the log file when piloting ('error' is fewest messages, 'debug' is most)
|
|
@@ -157,6 +159,8 @@
|
|
|
157
159
|
showPilotingIndicator = boolean(default=True)
|
|
158
160
|
# Prevent experiment from enabling rush mode when piloting
|
|
159
161
|
forceNonRush = boolean(default=True)
|
|
162
|
+
# Replace default participant ID with "pilot" when piloting
|
|
163
|
+
replaceParticipantID = boolean(default=True)
|
|
160
164
|
|
|
161
165
|
# Settings for connections
|
|
162
166
|
[connections]
|
|
@@ -181,6 +185,8 @@
|
|
|
181
185
|
save = string(default='Ctrl+S')
|
|
182
186
|
# save a Builder or Coder file under a new name
|
|
183
187
|
saveAs = string(default='Ctrl+Shift+S')
|
|
188
|
+
# reveal the folder containing the current Builder file
|
|
189
|
+
revealFolder = string(default='Alt+Shift+R')
|
|
184
190
|
# Coder: print the file
|
|
185
191
|
print = string(default='Ctrl+P')
|
|
186
192
|
# close the Builder or Coder window
|
|
@@ -245,6 +251,8 @@
|
|
|
245
251
|
# Coder: show / hide indentation level lines
|
|
246
252
|
toggleIndentGuides = string(default='Ctrl+Shift+I')
|
|
247
253
|
|
|
254
|
+
# Builder: edit experiment settings
|
|
255
|
+
expSettings = string(default='Ctrl+Shift+X')
|
|
248
256
|
# Builder: create a new routine
|
|
249
257
|
newRoutine = string(default='Ctrl+Shift+N')
|
|
250
258
|
# Builder: copy an existing routine
|
|
@@ -131,9 +131,9 @@
|
|
|
131
131
|
# Settings for hardware
|
|
132
132
|
[hardware]
|
|
133
133
|
# LEGACY: choice of audio library
|
|
134
|
-
audioLib = list(default=list('
|
|
135
|
-
#
|
|
136
|
-
|
|
134
|
+
audioLib = list(default=list('ptb', 'sounddevice', 'pyo', 'pygame'))
|
|
135
|
+
# exclude non-WASAPI audio devices
|
|
136
|
+
audioWASAPIOnly = boolean(default=True)
|
|
137
137
|
# audio driver to use
|
|
138
138
|
audioDriver = list(default=list('portaudio'))
|
|
139
139
|
# audio device to use (if audioLib allows control)
|
|
@@ -147,6 +147,8 @@
|
|
|
147
147
|
[piloting]
|
|
148
148
|
# Prevent the experiment from being fullscreen when piloting
|
|
149
149
|
forceWindowed = boolean(default=True)
|
|
150
|
+
# Always show the mouse when piloting
|
|
151
|
+
forceMouseVisible = boolean(default=True)
|
|
150
152
|
# What window size to use when forced to windowed mode
|
|
151
153
|
forcedWindowSize = list(default=list(800, 600))
|
|
152
154
|
# How much output to include in the log file when piloting ('error' is fewest messages, 'debug' is most)
|
|
@@ -157,6 +159,8 @@
|
|
|
157
159
|
showPilotingIndicator = boolean(default=True)
|
|
158
160
|
# Prevent experiment from enabling rush mode when piloting
|
|
159
161
|
forceNonRush = boolean(default=True)
|
|
162
|
+
# Replace default participant ID with "pilot" when piloting
|
|
163
|
+
replaceParticipantID = boolean(default=True)
|
|
160
164
|
|
|
161
165
|
# Settings for connections
|
|
162
166
|
[connections]
|
|
@@ -181,6 +185,8 @@
|
|
|
181
185
|
save = string(default='Ctrl+S')
|
|
182
186
|
# save a Builder or Coder file under a new name
|
|
183
187
|
saveAs = string(default='Ctrl+Shift+S')
|
|
188
|
+
# reveal the folder containing the current Builder file
|
|
189
|
+
revealFolder = string(default='Alt+Shift+R')
|
|
184
190
|
# Coder: print the file
|
|
185
191
|
print = string(default='Ctrl+P')
|
|
186
192
|
# close the Builder or Coder window
|
|
@@ -245,6 +251,8 @@
|
|
|
245
251
|
# Coder: show / hide indentation level lines
|
|
246
252
|
toggleIndentGuides = string(default='Ctrl+Shift+I')
|
|
247
253
|
|
|
254
|
+
# Builder: edit experiment settings
|
|
255
|
+
expSettings = string(default='Ctrl+Shift+X')
|
|
248
256
|
# Builder: create a new routine
|
|
249
257
|
newRoutine = string(default='Ctrl+Shift+N')
|
|
250
258
|
# Builder: copy an existing routine
|
psychopy/preferences/Linux.spec
CHANGED
|
@@ -131,9 +131,9 @@
|
|
|
131
131
|
# Settings for hardware
|
|
132
132
|
[hardware]
|
|
133
133
|
# LEGACY: choice of audio library
|
|
134
|
-
audioLib = list(default=list('
|
|
135
|
-
#
|
|
136
|
-
|
|
134
|
+
audioLib = list(default=list('ptb', 'sounddevice', 'pyo', 'pygame'))
|
|
135
|
+
# exclude non-WASAPI audio devices
|
|
136
|
+
audioWASAPIOnly = boolean(default=True)
|
|
137
137
|
# audio driver to use
|
|
138
138
|
audioDriver = list(default=list('portaudio'))
|
|
139
139
|
# audio device to use (if audioLib allows control)
|
|
@@ -147,6 +147,8 @@
|
|
|
147
147
|
[piloting]
|
|
148
148
|
# Prevent the experiment from being fullscreen when piloting
|
|
149
149
|
forceWindowed = boolean(default=True)
|
|
150
|
+
# Always show the mouse when piloting
|
|
151
|
+
forceMouseVisible = boolean(default=True)
|
|
150
152
|
# What window size to use when forced to windowed mode
|
|
151
153
|
forcedWindowSize = list(default=list(800, 600))
|
|
152
154
|
# How much output to include in the log file when piloting ('error' is fewest messages, 'debug' is most)
|
|
@@ -157,6 +159,8 @@
|
|
|
157
159
|
showPilotingIndicator = boolean(default=True)
|
|
158
160
|
# Prevent experiment from enabling rush mode when piloting
|
|
159
161
|
forceNonRush = boolean(default=True)
|
|
162
|
+
# Replace default participant ID with "pilot" when piloting
|
|
163
|
+
replaceParticipantID = boolean(default=True)
|
|
160
164
|
|
|
161
165
|
# Settings for connections
|
|
162
166
|
[connections]
|
|
@@ -181,6 +185,8 @@
|
|
|
181
185
|
save = string(default='Ctrl+S')
|
|
182
186
|
# save a Builder or Coder file under a new name
|
|
183
187
|
saveAs = string(default='Ctrl+Shift+S')
|
|
188
|
+
# reveal the folder containing the current Builder file
|
|
189
|
+
revealFolder = string(default='Alt+Shift+R')
|
|
184
190
|
# Coder: print the file
|
|
185
191
|
print = string(default='Ctrl+P')
|
|
186
192
|
# close the Builder or Coder window
|
|
@@ -245,6 +251,8 @@
|
|
|
245
251
|
# Coder: show / hide indentation level lines
|
|
246
252
|
toggleIndentGuides = string(default='Ctrl+Shift+I')
|
|
247
253
|
|
|
254
|
+
# Builder: edit experiment settings
|
|
255
|
+
expSettings = string(default='Ctrl+Shift+X')
|
|
248
256
|
# Builder: create a new routine
|
|
249
257
|
newRoutine = string(default='Ctrl+Shift+N')
|
|
250
258
|
# Builder: copy an existing routine
|
|
@@ -131,9 +131,9 @@
|
|
|
131
131
|
# Settings for hardware
|
|
132
132
|
[hardware]
|
|
133
133
|
# LEGACY: choice of audio library
|
|
134
|
-
audioLib = list(default=list('
|
|
135
|
-
#
|
|
136
|
-
|
|
134
|
+
audioLib = list(default=list('ptb', 'sounddevice', 'pyo', 'pygame'))
|
|
135
|
+
# exclude non-WASAPI audio devices
|
|
136
|
+
audioWASAPIOnly = boolean(default=True)
|
|
137
137
|
# audio driver to use
|
|
138
138
|
audioDriver = list(default=list('Primary Sound','ASIO','Audigy'))
|
|
139
139
|
# audio device to use (if audioLib allows control)
|
|
@@ -147,6 +147,8 @@
|
|
|
147
147
|
[piloting]
|
|
148
148
|
# Prevent the experiment from being fullscreen when piloting
|
|
149
149
|
forceWindowed = boolean(default=True)
|
|
150
|
+
# Always show the mouse when piloting
|
|
151
|
+
forceMouseVisible = boolean(default=True)
|
|
150
152
|
# What window size to use when forced to windowed mode
|
|
151
153
|
forcedWindowSize = list(default=list(800, 600))
|
|
152
154
|
# How much output to include in the log file when piloting ('error' is fewest messages, 'debug' is most)
|
|
@@ -157,6 +159,8 @@
|
|
|
157
159
|
showPilotingIndicator = boolean(default=True)
|
|
158
160
|
# Prevent experiment from enabling rush mode when piloting
|
|
159
161
|
forceNonRush = boolean(default=True)
|
|
162
|
+
# Replace default participant ID with "pilot" when piloting
|
|
163
|
+
replaceParticipantID = boolean(default=True)
|
|
160
164
|
|
|
161
165
|
# Settings for connections
|
|
162
166
|
[connections]
|
|
@@ -181,6 +185,8 @@
|
|
|
181
185
|
save = string(default='Ctrl+S')
|
|
182
186
|
# save a Builder or Coder file under a new name
|
|
183
187
|
saveAs = string(default='Ctrl+Shift+S')
|
|
188
|
+
# reveal the folder containing the current Builder file
|
|
189
|
+
revealFolder = string(default='Alt+Shift+R')
|
|
184
190
|
# Coder: print the file
|
|
185
191
|
print = string(default='Ctrl+P')
|
|
186
192
|
# close the Builder or Coder window
|
|
@@ -245,6 +251,8 @@
|
|
|
245
251
|
# Coder: show / hide indentation level lines
|
|
246
252
|
toggleIndentGuides = string(default='Ctrl+Shift+I')
|
|
247
253
|
|
|
254
|
+
# Builder: edit experiment settings
|
|
255
|
+
expSettings = string(default='Ctrl+Shift+X')
|
|
248
256
|
# Builder: create a new routine
|
|
249
257
|
newRoutine = string(default='Ctrl+Shift+N')
|
|
250
258
|
# Builder: copy an existing routine
|
psychopy/preferences/__init__.py
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# -*- coding: utf-8 -*-
|
|
3
3
|
|
|
4
4
|
# Part of the PsychoPy library
|
|
5
|
-
# Copyright (C) 2002-2018 Jonathan Peirce (C) 2019-
|
|
5
|
+
# Copyright (C) 2002-2018 Jonathan Peirce (C) 2019-2025 Open Science Tools Ltd.
|
|
6
6
|
# Distributed under the terms of the GNU General Public License (GPL).
|
|
7
7
|
|
|
8
8
|
"""Class for loading / saving prefs
|
|
@@ -127,9 +127,9 @@
|
|
|
127
127
|
# Settings for hardware
|
|
128
128
|
[hardware]
|
|
129
129
|
# LEGACY: choice of audio library
|
|
130
|
-
audioLib = list(default=list('
|
|
131
|
-
#
|
|
132
|
-
|
|
130
|
+
audioLib = list(default=list('ptb', 'sounddevice', 'pyo', 'pygame'))
|
|
131
|
+
# exclude non-WASAPI audio devices
|
|
132
|
+
audioWASAPIOnly = boolean(default=True)
|
|
133
133
|
# audio driver to use
|
|
134
134
|
audioDriver = list(default=list('portaudio'))
|
|
135
135
|
# audio device to use (if audioLib allows control)
|
|
@@ -143,6 +143,8 @@
|
|
|
143
143
|
[piloting]
|
|
144
144
|
# Prevent the experiment from being fullscreen when piloting
|
|
145
145
|
forceWindowed = boolean(default=True)
|
|
146
|
+
# Always show the mouse when piloting
|
|
147
|
+
forceMouseVisible = boolean(default=True)
|
|
146
148
|
# What window size to use when forced to windowed mode
|
|
147
149
|
forcedWindowSize = list(default=list(800, 600))
|
|
148
150
|
# How much output to include in the log file when piloting ('error' is fewest messages, 'debug' is most)
|
|
@@ -153,6 +155,8 @@
|
|
|
153
155
|
showPilotingIndicator = boolean(default=True)
|
|
154
156
|
# Prevent experiment from enabling rush mode when piloting
|
|
155
157
|
forceNonRush = boolean(default=True)
|
|
158
|
+
# Replace default participant ID with "pilot" when piloting
|
|
159
|
+
replaceParticipantID = boolean(default=True)
|
|
156
160
|
|
|
157
161
|
# Settings for connections
|
|
158
162
|
[connections]
|
|
@@ -177,6 +181,8 @@
|
|
|
177
181
|
save = string(default='Ctrl+S')
|
|
178
182
|
# save a Builder or Coder file under a new name
|
|
179
183
|
saveAs = string(default='Ctrl+Shift+S')
|
|
184
|
+
# reveal the folder containing the current Builder file
|
|
185
|
+
revealFolder = string(default='Alt+Shift+R')
|
|
180
186
|
# Coder: print the file
|
|
181
187
|
print = string(default='Ctrl+P')
|
|
182
188
|
# close the Builder or Coder window
|
|
@@ -241,6 +247,8 @@
|
|
|
241
247
|
# Coder: show / hide indentation level lines
|
|
242
248
|
toggleIndentGuides = string(default='Ctrl+Shift+I')
|
|
243
249
|
|
|
250
|
+
# Builder: edit experiment settings
|
|
251
|
+
expSettings = string(default='Ctrl+Shift+X')
|
|
244
252
|
# Builder: create a new routine
|
|
245
253
|
newRoutine = string(default='Ctrl+Shift+N')
|
|
246
254
|
# Builder: copy an existing routine
|
psychopy/preferences/hints.py
CHANGED
|
@@ -149,8 +149,7 @@ _translate("Ask for confirmation when closing a routine tab.")
|
|
|
149
149
|
_translate("LEGACY: choice of audio library")
|
|
150
150
|
|
|
151
151
|
# baseNoArch.spec,[builder],line122
|
|
152
|
-
_translate(
|
|
153
|
-
"LEGACY: latency mode for PsychToolbox audio (3 is good for most applications. See")
|
|
152
|
+
_translate("exclude non-WASAPI audio devices")
|
|
154
153
|
|
|
155
154
|
# baseNoArch.spec,[builder],line124
|
|
156
155
|
_translate("audio driver to use")
|
|
@@ -168,183 +167,201 @@ _translate("The name of the Qmix pump configuration to use")
|
|
|
168
167
|
_translate("Prevent the experiment from being fullscreen when piloting")
|
|
169
168
|
|
|
170
169
|
# baseNoArch.spec,[hardware],line135
|
|
171
|
-
_translate("
|
|
170
|
+
_translate("Always show the mouse when piloting")
|
|
172
171
|
|
|
173
172
|
# baseNoArch.spec,[hardware],line137
|
|
174
|
-
_translate("
|
|
173
|
+
_translate("What window size to use when forced to windowed mode")
|
|
175
174
|
|
|
176
175
|
# baseNoArch.spec,[hardware],line139
|
|
177
|
-
_translate("
|
|
176
|
+
_translate("How much output to include in the log file when piloting ('error' is fewest messages, 'debug' is most)")
|
|
178
177
|
|
|
179
178
|
# baseNoArch.spec,[hardware],line142
|
|
180
|
-
_translate("the
|
|
179
|
+
_translate("How much output to display in the console / app when piloting ('error' is fewest messages, 'debug' is most).")
|
|
181
180
|
|
|
182
181
|
# baseNoArch.spec,[piloting],line144
|
|
182
|
+
_translate("Show an orange border around the window when in piloting mode")
|
|
183
|
+
|
|
184
|
+
# baseNoArch.spec,[piloting],line146
|
|
185
|
+
_translate("Prevent experiment from enabling rush mode when piloting")
|
|
186
|
+
|
|
187
|
+
# baseNoArch.spec,[piloting],line148
|
|
188
|
+
_translate("Replace default participant ID with \"pilot\" when piloting")
|
|
189
|
+
|
|
190
|
+
# baseNoArch.spec,[piloting],line150
|
|
191
|
+
_translate("the http proxy for usage stats and auto-updating; format is host: port")
|
|
192
|
+
|
|
193
|
+
# baseNoArch.spec,[piloting],line152
|
|
183
194
|
_translate(
|
|
184
195
|
"override the above proxy settings with values found in the environment (if possible)")
|
|
185
196
|
|
|
186
|
-
# baseNoArch.spec,[piloting],
|
|
197
|
+
# baseNoArch.spec,[piloting],line154
|
|
187
198
|
_translate("allow PsychoPy to send anonymous usage stats; please allow if possible, it helps PsychoPy's development")
|
|
188
199
|
|
|
189
|
-
# baseNoArch.spec,[piloting],
|
|
200
|
+
# baseNoArch.spec,[piloting],line156
|
|
190
201
|
_translate("allow PsychoPy to check for new features and bug fixes")
|
|
191
202
|
|
|
192
|
-
# baseNoArch.spec,[piloting],
|
|
203
|
+
# baseNoArch.spec,[piloting],line158
|
|
193
204
|
_translate("max time to wait for a connection response")
|
|
194
205
|
|
|
195
|
-
# baseNoArch.spec,[piloting],
|
|
206
|
+
# baseNoArch.spec,[piloting],line161
|
|
196
207
|
_translate("open an existing file")
|
|
197
208
|
|
|
198
|
-
# baseNoArch.spec,[connections],
|
|
209
|
+
# baseNoArch.spec,[connections],line163
|
|
199
210
|
_translate("start a new experiment or script")
|
|
200
211
|
|
|
201
|
-
# baseNoArch.spec,[connections],
|
|
212
|
+
# baseNoArch.spec,[connections],line165
|
|
202
213
|
_translate("save a Builder or Coder file")
|
|
203
214
|
|
|
204
|
-
# baseNoArch.spec,[connections],
|
|
215
|
+
# baseNoArch.spec,[connections],line167
|
|
205
216
|
_translate("save a Builder or Coder file under a new name")
|
|
206
217
|
|
|
207
|
-
# baseNoArch.spec,[connections],
|
|
218
|
+
# baseNoArch.spec,[connections],line169
|
|
219
|
+
_translate("reveal the folder containing the current Builder file")
|
|
220
|
+
|
|
221
|
+
# baseNoArch.spec,[connections],line171
|
|
208
222
|
_translate("Coder: print the file")
|
|
209
223
|
|
|
210
|
-
# baseNoArch.spec,[connections],
|
|
224
|
+
# baseNoArch.spec,[connections],line174
|
|
211
225
|
_translate("close the Builder or Coder window")
|
|
212
226
|
|
|
213
|
-
# baseNoArch.spec,[
|
|
227
|
+
# baseNoArch.spec,[keyBindings],line176
|
|
214
228
|
_translate("end the application (PsychoPy)")
|
|
215
229
|
|
|
216
|
-
# baseNoArch.spec,[keyBindings],
|
|
230
|
+
# baseNoArch.spec,[keyBindings],line178
|
|
217
231
|
_translate("open the preferences dialog")
|
|
218
232
|
|
|
219
|
-
# baseNoArch.spec,[keyBindings],
|
|
233
|
+
# baseNoArch.spec,[keyBindings],line180
|
|
220
234
|
_translate("export Builder experiment to HTML")
|
|
221
235
|
|
|
222
|
-
# baseNoArch.spec,[keyBindings],
|
|
236
|
+
# baseNoArch.spec,[keyBindings],line182
|
|
223
237
|
_translate("Coder: cut")
|
|
224
238
|
|
|
225
|
-
# baseNoArch.spec,[keyBindings],
|
|
239
|
+
# baseNoArch.spec,[keyBindings],line184
|
|
226
240
|
_translate("Coder: copy")
|
|
227
241
|
|
|
228
|
-
# baseNoArch.spec,[keyBindings],
|
|
242
|
+
# baseNoArch.spec,[keyBindings],line186
|
|
229
243
|
_translate("Coder: paste")
|
|
230
244
|
|
|
231
|
-
# baseNoArch.spec,[keyBindings],
|
|
245
|
+
# baseNoArch.spec,[keyBindings],line188
|
|
232
246
|
_translate("Coder: duplicate")
|
|
233
247
|
|
|
234
|
-
# baseNoArch.spec,[keyBindings],
|
|
248
|
+
# baseNoArch.spec,[keyBindings],line190
|
|
235
249
|
_translate("Coder: indent code by one level (4 spaces)")
|
|
236
250
|
|
|
237
|
-
# baseNoArch.spec,[keyBindings],
|
|
251
|
+
# baseNoArch.spec,[keyBindings],line192
|
|
238
252
|
_translate("Coder: reduce indentation by one level (4 spaces)")
|
|
239
253
|
|
|
240
|
-
# baseNoArch.spec,[keyBindings],
|
|
254
|
+
# baseNoArch.spec,[keyBindings],line194
|
|
241
255
|
_translate("Coder: indent to fit python syntax")
|
|
242
256
|
|
|
243
|
-
# baseNoArch.spec,[keyBindings],
|
|
257
|
+
# baseNoArch.spec,[keyBindings],line197
|
|
244
258
|
_translate("Coder: find")
|
|
245
259
|
|
|
246
|
-
# baseNoArch.spec,[keyBindings],
|
|
260
|
+
# baseNoArch.spec,[keyBindings],line199
|
|
247
261
|
_translate("Coder: find again")
|
|
248
262
|
|
|
249
|
-
# baseNoArch.spec,[keyBindings],
|
|
263
|
+
# baseNoArch.spec,[keyBindings],line201
|
|
250
264
|
_translate("Coder: undo")
|
|
251
265
|
|
|
252
|
-
# baseNoArch.spec,[keyBindings],
|
|
266
|
+
# baseNoArch.spec,[keyBindings],line203
|
|
253
267
|
_translate("Coder: redo")
|
|
254
268
|
|
|
255
|
-
# baseNoArch.spec,[keyBindings],
|
|
269
|
+
# baseNoArch.spec,[keyBindings],line205
|
|
256
270
|
_translate("Coder: add a # to the start of the line(s)")
|
|
257
271
|
|
|
258
|
-
# baseNoArch.spec,[keyBindings],
|
|
272
|
+
# baseNoArch.spec,[keyBindings],line207
|
|
259
273
|
_translate("Coder: remove # from start of line(s)")
|
|
260
274
|
|
|
261
|
-
# baseNoArch.spec,[keyBindings],
|
|
275
|
+
# baseNoArch.spec,[keyBindings],line209
|
|
262
276
|
_translate("Coder: add or remove # from start of line(s)")
|
|
263
277
|
|
|
264
|
-
# baseNoArch.spec,[keyBindings],
|
|
278
|
+
# baseNoArch.spec,[keyBindings],line211
|
|
265
279
|
_translate("Coder: fold this block of code")
|
|
266
280
|
|
|
267
|
-
# baseNoArch.spec,[keyBindings],
|
|
281
|
+
# baseNoArch.spec,[keyBindings],line213
|
|
268
282
|
_translate("Coder: increase font size this block of code")
|
|
269
283
|
|
|
270
|
-
# baseNoArch.spec,[keyBindings],
|
|
284
|
+
# baseNoArch.spec,[keyBindings],line215
|
|
271
285
|
_translate("Coder: decrease font size this block of code")
|
|
272
286
|
|
|
273
|
-
# baseNoArch.spec,[keyBindings],
|
|
287
|
+
# baseNoArch.spec,[keyBindings],line217
|
|
274
288
|
_translate("Coder: check for basic syntax errors")
|
|
275
289
|
|
|
276
|
-
# baseNoArch.spec,[keyBindings],
|
|
290
|
+
# baseNoArch.spec,[keyBindings],line219
|
|
277
291
|
_translate(
|
|
278
292
|
"convert a Builder .psyexp script into a python script and open it in the Coder")
|
|
279
293
|
|
|
280
|
-
# baseNoArch.spec,[keyBindings],
|
|
294
|
+
# baseNoArch.spec,[keyBindings],line221
|
|
281
295
|
_translate("launch a script, Builder or Coder, or run unit-tests")
|
|
282
296
|
|
|
283
|
-
# baseNoArch.spec,[keyBindings],
|
|
297
|
+
# baseNoArch.spec,[keyBindings],line223
|
|
284
298
|
_translate("attempt to interrupt and halt a running script")
|
|
285
299
|
|
|
286
|
-
# baseNoArch.spec,[keyBindings],
|
|
300
|
+
# baseNoArch.spec,[keyBindings],line225
|
|
287
301
|
_translate("Coder: show / hide white-space dots")
|
|
288
302
|
|
|
289
|
-
# baseNoArch.spec,[keyBindings],
|
|
303
|
+
# baseNoArch.spec,[keyBindings],line227
|
|
290
304
|
_translate("Coder: show / hide end of line characters")
|
|
291
305
|
|
|
292
|
-
# baseNoArch.spec,[keyBindings],
|
|
306
|
+
# baseNoArch.spec,[keyBindings],line229
|
|
293
307
|
_translate("Coder: show / hide indentation level lines")
|
|
294
308
|
|
|
295
|
-
# baseNoArch.spec,[keyBindings],
|
|
309
|
+
# baseNoArch.spec,[keyBindings],line232
|
|
310
|
+
_translate("Builder: edit experiment settings")
|
|
311
|
+
|
|
312
|
+
# baseNoArch.spec,[keyBindings],line234
|
|
296
313
|
_translate("Builder: create a new routine")
|
|
297
314
|
|
|
298
|
-
# baseNoArch.spec,[keyBindings],
|
|
315
|
+
# baseNoArch.spec,[keyBindings],line236
|
|
299
316
|
_translate("Builder: copy an existing routine")
|
|
300
317
|
|
|
301
|
-
# baseNoArch.spec,[keyBindings],
|
|
318
|
+
# baseNoArch.spec,[keyBindings],line240
|
|
302
319
|
_translate("Builder: paste the copied routine")
|
|
303
320
|
|
|
304
|
-
# baseNoArch.spec,[keyBindings],
|
|
321
|
+
# baseNoArch.spec,[keyBindings],line243
|
|
305
322
|
_translate("Builder: paste the copied component")
|
|
306
323
|
|
|
307
|
-
# baseNoArch.spec,[keyBindings],
|
|
324
|
+
# baseNoArch.spec,[keyBindings],line245
|
|
308
325
|
_translate("Builder: find")
|
|
309
326
|
|
|
310
|
-
# baseNoArch.spec,[keyBindings],
|
|
327
|
+
# baseNoArch.spec,[keyBindings],line247
|
|
311
328
|
_translate("Coder: show / hide the output panel")
|
|
312
329
|
|
|
313
|
-
# baseNoArch.spec,[keyBindings],
|
|
330
|
+
# baseNoArch.spec,[keyBindings],line250
|
|
314
331
|
_translate("Builder: rename an existing routine")
|
|
315
332
|
|
|
316
|
-
# baseNoArch.spec,[keyBindings],
|
|
333
|
+
# baseNoArch.spec,[keyBindings],line252
|
|
317
334
|
_translate("switch between windows")
|
|
318
335
|
|
|
319
|
-
# baseNoArch.spec,[keyBindings],
|
|
336
|
+
# baseNoArch.spec,[keyBindings],line254
|
|
320
337
|
_translate("increase display size in Flow")
|
|
321
338
|
|
|
322
|
-
# baseNoArch.spec,[keyBindings],
|
|
339
|
+
# baseNoArch.spec,[keyBindings],line256
|
|
323
340
|
_translate("decrease display size in Flow")
|
|
324
341
|
|
|
325
|
-
# baseNoArch.spec,[keyBindings],
|
|
342
|
+
# baseNoArch.spec,[keyBindings],line258
|
|
326
343
|
_translate("increase display size of Routines")
|
|
327
344
|
|
|
328
|
-
# baseNoArch.spec,[keyBindings],
|
|
345
|
+
# baseNoArch.spec,[keyBindings],line260
|
|
329
346
|
_translate("decrease display size of Routines")
|
|
330
347
|
|
|
331
|
-
# baseNoArch.spec,[keyBindings],
|
|
348
|
+
# baseNoArch.spec,[keyBindings],line262
|
|
332
349
|
_translate("show or hide the readme (info) for this experiment if possible")
|
|
333
350
|
|
|
334
|
-
# baseNoArch.spec,[keyBindings],
|
|
351
|
+
# baseNoArch.spec,[keyBindings],line264
|
|
335
352
|
_translate("Projects: Log in to pavlovia")
|
|
336
353
|
|
|
337
|
-
# baseNoArch.spec,[keyBindings],
|
|
354
|
+
# baseNoArch.spec,[keyBindings],line266
|
|
338
355
|
_translate("Projects: Log in to OSF")
|
|
339
356
|
|
|
340
|
-
# baseNoArch.spec,[keyBindings],
|
|
357
|
+
# baseNoArch.spec,[keyBindings],line268
|
|
341
358
|
_translate("Projects: Sync project")
|
|
342
359
|
|
|
343
|
-
# baseNoArch.spec,[keyBindings],
|
|
360
|
+
# baseNoArch.spec,[keyBindings],line270
|
|
344
361
|
_translate("Projects: Find projects")
|
|
345
362
|
|
|
346
|
-
# baseNoArch.spec,[keyBindings],
|
|
363
|
+
# baseNoArch.spec,[keyBindings],line272
|
|
347
364
|
_translate("Projects: Open project")
|
|
348
365
|
|
|
349
|
-
# baseNoArch.spec,[keyBindings],
|
|
366
|
+
# baseNoArch.spec,[keyBindings],line274
|
|
350
367
|
_translate("Projects: Create new project")
|