Recent Releases of psychopy

psychopy - PsychoPy 2025.2.0

Highlights

🐍 = Works locally 🌐 = Works online

🐍 Reworked SerialComponent to give more control over what data is sent 🐍 Device Manager to consolidate working with a single device at multiple points in a study or across studies 🐍 Much better performance for movie playing and camera recordings (better buffering of frames) 🐍 Revamped photometer classes for easier gamma calibration

Other Changes

  • Add example demo script for extracting hdf5 data by @RebeccaHirst in https://github.com/psychopy/psychopy/pull/7223
  • fixed iohub compatibility with PyObjC>=8.0
  • Plugin/package manager performance improvements by @mdcutone in https://github.com/psychopy/psychopy/pull/7194
  • Fixes for numpy>=2.0 by @aforren1 in https://github.com/psychopy/psychopy/pull/7229
  • New endCurrentRoutine method for ExperimentHandler by @TEParsons in https://github.com/psychopy/psychopy/pull/7213
  • Better updating of local language translation files by @hsogo in https://github.com/psychopy/psychopy/pull/7230
  • Don't cancel upcoming iteration in TrialHandler2 if on last trial by @TEParsons in https://github.com/psychopy/psychopy/pull/7240
  • Enable discarding previous responses in Button Box akin to keyboard by @TEParsons in https://github.com/psychopy/psychopy/pull/7250
  • Fix erronious alert about missing transcriber (for Mic) when running locally by @TEParsons in https://github.com/psychopy/psychopy/pull/7258
  • Don't search for experiment fonts if the experiment folder is the home directory by @TEParsons in https://github.com/psychopy/psychopy/pull/7257
  • Allow overriding user preferences directory with PSYCHOPYCONFIGFOLDER environment variable by @wieluk in https://github.com/psychopy/psychopy/pull/7207
  • Sound sensor volume was adjusted for 255 (when threshold is 0-1) by @TEParsons in https://github.com/psychopy/psychopy/pull/7261
  • Enforce a minimum size on multiline text params by @TEParsons in https://github.com/psychopy/psychopy/pull/7263
  • Fixed error when adding data to a row that's out of bounds by @TEParsons in https://github.com/psychopy/psychopy/pull/7266
  • Handle when allowedKeys is just 1 multi-character string (e.g. "return") online by @TEParsons in https://github.com/psychopy/psychopy/pull/7268
  • Improved movie playback performance for MovieStim using ffpyplayer by @mdcutone in https://github.com/psychopy/psychopy/pull/7264
  • Handle when a file added to runner has been deleted by @TEParsons in https://github.com/psychopy/psychopy/pull/7276
  • For Sesssion, set experiment start time and name in Experiment run function by @TEParsons in https://github.com/psychopy/psychopy/pull/7281
  • Improved camera performance in local studies by @mdcutone in https://github.com/psychopy/psychopy/pull/7267
  • Fix package indexing subprocess crash by @mdcutone in https://github.com/psychopy/psychopy/pull/7293
  • Catch "Bad perspective string" errors on app launch by @TEParsons in https://github.com/psychopy/psychopy/pull/7298
  • Fix gamma calibration button in Monitor Center by @TEParsons in https://github.com/psychopy/psychopy/pull/7304
  • Better handling of legacy params for device Components by @TEParsons in https://github.com/psychopy/psychopy/pull/7308
  • Various UI fixes by @TEParsons in https://github.com/psychopy/psychopy/pull/7311 https://github.com/psychopy/psychopy/pull/7312 and by @mdcutone in https://github.com/psychopy/psychopy/pull/7323
  • Allow ButtonBox responses to be compared to dicts with the correct fields by @TEParsons in https://github.com/psychopy/psychopy/pull/7306
  • Give more information when an image fails to load by @TEParsons in https://github.com/psychopy/psychopy/pull/7310
  • Fix legacy photometer finding methods by @TEParsons in https://github.com/psychopy/psychopy/pull/7321
  • Give more informative error when conditions file has duplicate names by @TEParsons in https://github.com/psychopy/psychopy/pull/7324
  • Maintain aspect ratio when MovieStim size is None by @TEParsons in https://github.com/psychopy/psychopy/pull/7325
  • Deprecated psychopy.voicekey (move to psychopy-legacy) by @TEParsons in https://github.com/psychopy/psychopy/pull/7326

New Contributors

  • @bschiller8 made their first contribution in https://github.com/psychopy/psychopy/pull/7114

Full Changelog: https://github.com/psychopy/psychopy/compare/2025.1.1...2025.2.0

- Python
Published by peircej 7 months ago

psychopy - PsychoPy 2025.1.1

What's Changed

Bugs Fixed

  • Respect existing opacity when setting a color by @TEParsons in https://github.com/psychopy/psychopy/pull/7200
  • Fixed missing references to GazePoint sample event class by @mdcutone in https://github.com/psychopy/psychopy/pull/7228
  • Fixed moviepy import for window frame capture by @sh4r11f in https://github.com/psychopy/psychopy/pull/7218

Other Changes

  • Limiting PTB version for now (to 3.0.19, the last free version) by @peircej in https://github.com/psychopy/psychopy/pull/7204
  • Allow numpy>=2.0 (#7229) by @mdcutone in https://github.com/psychopy/psychopy/pull/7231
  • Many fixes to docs by @TEParsons and @RebeccaHirst

New Contributors

  • @sh4r11f made their first contribution in https://github.com/psychopy/psychopy/pull/7218

Full Changelog: https://github.com/psychopy/psychopy/compare/2025.1.0...2025.1.1

- Python
Published by peircej 9 months ago

psychopy - PsychoPy 2025.1.0

Highlights

🐍 = Works locally 🌐 = Works online

  • 🐍 Visual and audio timing validators to provide automated always-on timing tests of your stimuli
  • Movie and audio improvements:
    • 🌐 YouTube as movie stimulus accessible from Builder
    • 🐍 Improved audio playback and recording with automatic resampling (no more "sample rate not supported" errors!)
    • 🐍🌐 Microphone now has a .getCurrentVolume method
    • 🐍 Support for infinite duration recordings with Microphone
  • 🌐 Face API accessible from Builder (via the new Face API Plugin
  • 🐍 Any visual stimulus can now be used as an eyetracker calibration point
  • 🐍 Sound Sensor Component: Get True/False responses from a microphone or specialised VoiceKey device
    • 🐍 Supported VoiceKey devices: BBTK T-Pad, Cedrus RB / Riponda / StimTracker

New and Improved

  • First steps towards modernizing the OpenGL pipeline to support Pyglet v2.0
  • Joystick class now supports deadzones, plugins and button mappings by @mdcutone in #6967
  • Make install behaviour consistent between plugins and packages by @TEParsons in #6742
  • Allow Sound to play on different speakers in the same experiment by @TEParsons in #6760
  • Disable pip version check in plugin manager by @mh105 in #6772
  • Allow Session window to switch between fullscreen and windowed by @TEParsons in #6783
  • Added "force end Routine" option for Sound Component by @TEParsons in #6766
  • When a trial is skipped, end all Routines in current trial by @TEParsons in #6785
  • Allow Sound to receive a Microphone object as its sound by @TEParsons in #6793
  • Better default behaviour for SpeakerDevice by @TEParsons in #6811
  • After adding a listener, return it by @TEParsons in #6822
  • After skipping/rewinding a trial, return the new current trial by @TEParsons in #6819
  • Better logging around audio recording / playback by @TEParsons in #6820
  • Better logging behaviour for SerialDevice by @TEParsons in #6827
  • Added the option for an expVersion into the SettingsComponent by @peircej in #6830
  • Device responses should indicate which device they came from by @TEParsons in #6838
  • Run Microphone.saveClips in endExperiment by @TEParsons in #6845
  • Allow recursive callOnFlip() calls by @zeyus in #6814
  • Include details about sample rate and channels in SpeakerDevice by @TEParsons in #6867
  • Clearer wording in console when experiment finishes by @TEParsons in #6866
  • Add function to get parameters from stimuli, which you can use to recreate it by @TEParsons in #6801
  • Allow eyetracker plugins to control how their eyetracker appears in Builder by @TEParsons in #6779
  • Add option to save data during Static Component period by @TEParsons in #6882
  • Log device responses by default by @TEParsons in #6881
  • Add "update" button to plugin dialog if plugin version isn't the latest by @TEParsons in #6919
  • Improve app load speed by caching icons added by plugins by @TEParsons in #6934
  • Allow non-WASAPI audio devices by @zeyus in #6922
  • Misc. improvements to app launch speed by @TEParsons in #6941
  • In Components from not installed plugins, add a button to get the plugin by @TEParsons in #6891
  • Added case-sensitive search and search-as-you-type in Builder search by @jderrfuss in #6947
  • Add "Find" buttons to Builder and Coder ribbons by @TEParsons in #6956
  • Add option for regex search in Builder search dialog by @TEParsons in #6955
  • Replace default participant ID in pilot mode with "pilot" by @TEParsons in #6976
  • Allow automatic resampling of audio files by @TEParsons in #6987
  • Allow plugin Components to specify themselves as hidden by @TEParsons in #6988
  • Trim silence from start of default.mp3 by @TEParsons in #6994
  • Added error type for devices not found to make it easier to catch errors by @TEParsons in #7019
  • set user path for different python versions on OSX framework by @mh105 in #6769
  • Better error catching when loading plugins by @TEParsons in #6877
  • Silently handle when prefs/appData files are broken by @TEParsons in #7047
  • Add menu item & shortcut for Experiment Settings (CTRL+SHIFT+X) by @TEParsons in #7050
  • Allow for infinite duration audio recording by @mdcutone in #7060
  • Compile translation files when building the package by @hsogo in #7079
  • Remove sampleRate and channels params from Microphone, both of these can be detected reliably now by @TEParsons in #7090
  • Add a keyboard shortcut (ALT+SHIFT+R) for "Reveal in file explorer" by @TEParsons in #7093
  • Ask in Builder before downloading a Google Font by @TEParsons in #7082
  • Added loops to Builder search by @TEParsons in #7096
  • Style a greater range of filetypes in Coder file browser by @TEParsons in #7117
  • Define "PILOTING" variable online as well as locally by @TEParsons in #7109
  • Add option to always show mouse in pilot mode by @TEParsons in #7120
  • New splash screen with OST logo by @TEParsons in #7134
  • Add (online only) support for YouTube videos in MovieStim by @TEParsons in #6989
  • Track installed files to prevent accidental deletion of user files during uninstallation by @mdcutone in #7175

Fixed

  • Allow Microphone to be found by name OR index by @TEParsons in #6756
  • Allow Speaker to be specified using name rather than index by @TEParsons in #6759
  • More helpful error message when importing function that's moved to a plugin by @TEParsons in #6774
  • Append user packages correctly to PYTHONPATH by @mh105 in #6770
  • Clear listeners when closing a MicrophoneDevice by @TEParsons in #6803
  • Allow Microphone to be closed and reopened multiple times in same session by @TEParsons in #6804
  • Fix KeyError when closing microphone by @TEParsons in #6805
  • Distinguish between a trial that's been skipped and a trial that's currently skipping by @TEParsons in #6807
  • Reset session clock to 0 before running an experiment by @TEParsons in #6817
  • Reset the global clock after a pause, otherwise onflip timing breaks by @TEParsons in #6816
  • Fixes to device listeners by @TEParsons in #6824
  • Fix removing devices from listener loop by @TEParsons in #6825
  • Remove child devices when a device is removed from DeviceManager by @TEParsons in #6831
  • Fix bug where "ERROR" logs showed up as "DEPRECATION" by @TEParsons in #6836
  • Alerts were displaying in wrong tab by @TEParsons in #6870
  • Coder was always opening with psychopyApp.py open by @TEParsons in #6875
  • When installing packages, don't add --user flag if --target is specified by @mdcutone in #6879
  • Fix Linux iohub keyboard relative import error by @zeyus in #6858
  • Fixed `AttributeError` calling `refreshPackages` on Py3.9 by @mdcutone in #6909
  • Better error handling when getting recording from mic that's still recording by @TEParsons in #6908
  • Fix nonslip timing issue in JS code by @TEParsons in #6928
  • If ioHub keypress made with only key code, use value for key name by @TEParsons in #6894
  • Fixed `cielch2rgb` handling of multidim arrays by @mdcutone in #6961
  • Fixes to opening files from Coder's file browser panel by @TEParsons in #6983
  • Avoid "untitled.psyexp does not exist" warning by @TEParsons in #6992
  • Remove "Close" buttons from Runner tabs by @TEParsons in #6997
  • Sound online was sometimes marked as already finished on second iteration of a loop by @TEParsons in #7016
  • Slashes in project names were causing Pavlovia sync to error by @TEParsons in #7017
  • Opening the same experiment in two Builder windows caused the prefs file to be saved wrong, leading to an error next time the app started by @TEParsons in #7045
  • Variables in Button Component callbacks weren't defined properly online by @TEParsons in #7048
  • Fix rendering error when max Routine duration was set in frames by @TEParsons in #7057
  • Fixed app failing to start on Windows using `pythonw.exe` by @mdcutone in #7061
  • Removed package search as PyPi no longer supports searching by API by @mdcutone in #7064
  • Fix error at staircase in loop by @hideh1231 in #7062
  • Fixed Google API transcriber options not appearing in mic component by @mdcutone in #7075
  • If a Mic was never started, it would error on saving recording by @TEParsons in #7076
  • Fixes import error when using Neon (Pupil Labs eyetracker) in coder by @domstoppable in #7083
  • Downgrade "git not installed" error to a warning by @TEParsons in #7086
  • Handle when allowed keys is a code snippet (not just a variable) by @TEParsons in #7085
  • Fix confusing item type error in Form by @TEParsons in #7084
  • All unknown parameters were labelled "Plugin" by @TEParsons in #7089
  • Silence unnecessary "ERROR" log in Polygon by @TEParsons in #7091
  • Installing package in Builder via pyproject.toml wasn't working by @TEParsons in #7100
  • Make it clearer that Slider labels/ticks can't be set each trial by @TEParsons in #7112
  • Coder file modified dialog shouldn't block Builder by @TEParsons in #7111
  • Fix timing issue when a non-slip Routine was force ended in JS by @TEParsons in #7110
  • Parameters weren't being set on first frame in JS by @TEParsons in #7113
  • Remove unnecessary font check which was causing a sporadic error by @TEParsons in #7126
  • Better handle (and warn about) deprecated color attributes by @TEParsons in #7127
  • Some params of Button Component were missed online by @TEParsons in #7128
  • MovieStim was still marked as finished after seeking back to 0 by @TEParsons in #7131
  • App ribbon labels were wrong color in dark mode by @TEParsons in #7132
  • Catch when a plugin doesn't have a version number by @TEParsons in #7133
  • Update TextStim after setting opacity to trigger a re-render by @TEParsons in #7135
  • Fixed camera recordings appending frames from previous recordings by @mdcutone in #7140
  • Fonts in experiment folder weren't found when running locally by @TEParsons in #7142
  • Interleaved staircases were using wrong name for thisTrial by @TEParsons in #7143
  • Syntax error in Camera in JS when stop time was blank by @TEParsons in #7146
  • Prevent crash if locale is not supported by the system by @mdcutone in #7152
  • Make ptb the default keyboard backend for new studies by @peircej in #7107
  • Translation of the Preference Dialog was broken by @hsogo in #7153
  • Handle & alert when Static Component has no duration by @TEParsons in #7160
  • Allow pip to uninstall user packages by @mdcutone #7164
  • Fix conflict when a Component has multiple parameters with live-populated dropdowns by @rlaboiss in #7174
  • Ensure that coordinates passed to `convertToPix` are `ndarray` before conversion by @mdcutone in #7184

Incompatible changes

  • Summary csv files from loops now have a _ between the filename and the loop name #6982
  • MicrophoneComponent no longer has the parameters "Sample rate" or "Channels" as these are now detected from the device #7090
  • Due to issues with ioHub on some devices, the default keyboard backend for new experiments is now psychtoolbox #7059

New Contributors

  • @jderrfuss made their first contribution in https://github.com/psychopy/psychopy/pull/6947
  • @laurabpaulsen made their first contribution in https://github.com/psychopy/psychopy/pull/7065
  • @hideh1231 made their first contribution in https://github.com/psychopy/psychopy/pull/7062
  • @rlaboiss made their first contribution in https://github.com/psychopy/psychopy/pull/7098
  • @sjentsch made their first contribution in https://github.com/psychopy/psychopy/pull/7078
  • @myd7349 made their first contribution in https://github.com/psychopy/psychopy/pull/7123
  • @wieluk made their first contribution in https://github.com/psychopy/psychopy/pull/7161
  • @saeub made their first contribution in https://github.com/psychopy/psychopy/pull/7165

Full Changelog: https://github.com/psychopy/psychopy/compare/2024.2.5...2025.1.0

- Python
Published by peircej 11 months ago

psychopy - 2024.2.5

Fixes

  • Sending experiment to Runner was sometimes (wrongly) toggling pilot/run mode by @TEParsons in https://github.com/psychopy/psychopy/pull/6945
  • Fixed ioHub sometimes failing to close when script terminates by @mh105 in https://github.com/psychopy/psychopy/pull/6949
  • Fixed ioHub process staying alive after crash by @mdcutone in https://github.com/psychopy/psychopy/pull/6938
  • Standalone Routine names weren't handling name conflicts properly by @Lance-Buescher1 in https://github.com/psychopy/psychopy/pull/6999 and https://github.com/psychopy/psychopy/pull/7000
  • Documentation fixes by @jfkominsky @mhyeun and @RebeccaHirst

New Contributors

  • @Lance-Buescher1 made their first contribution in https://github.com/psychopy/psychopy/pull/6999
  • @mhyeun made their first contribution in https://github.com/psychopy/psychopy/pull/7035

Full Changelog: https://github.com/psychopy/psychopy/compare/2024.2.4...2024.2.5

- Python
Published by peircej about 1 year ago

psychopy - 2024.2.4

Fixes this release

  • Recreate .js file on run when piloting in JS by @TEParsons in #6920
  • App failing to start on MacOS if all windows closed on last app close by @peircej in #6926
  • Fix nonslip timing issue in Builder-generated PsychoJS code by @TEParsons in #6921

Full Changelog: https://github.com/psychopy/psychopy/compare/2024.2.3...2024.2.4

- Python
Published by peircej over 1 year ago

psychopy - 2024.2.3

Bugs fixed and minor tweaks

  • Fixed machine-specific crashing of the app on launch for MacOS by building app bundle with setuptools==70.3.0 by @peircej in https://github.com/psychopy/psychopy/pull/6901
  • Fix routine clock resetting in JS by @TEParsons in https://github.com/psychopy/psychopy/pull/6861
  • Fix default audio device not being found by @TEParsons in https://github.com/psychopy/psychopy/pull/6863
  • Fix error writing Polygon initial colors in JS by @TEParsons in https://github.com/psychopy/psychopy/pull/6865
  • ensure window focus for the first win.flip() with pyglet backend on Windows OS by @mh105 in https://github.com/psychopy/psychopy/pull/6874 and https://github.com/psychopy/psychopy/pull/6876
  • fix startView across OS platforms that opens psychopyApp.py by @mh105 in https://github.com/psychopy/psychopy/pull/6869
  • if PsychoPy version includes "postN" then strip from PsychoJS version number by @peircej in https://github.com/psychopy/psychopy/pull/6873
  • Handle when record of last open app windows is an invalid value (e.g. from old version) by @TEParsons in https://github.com/psychopy/psychopy/pull/6885
  • suppress pip version check in package manager by @mh105 in https://github.com/psychopy/psychopy/pull/6868
  • Added beta sticker to Counterbalance Component icon by @TEParsons in https://github.com/psychopy/psychopy/pull/6890
  • Counterbalance Routine conditions file chooser wasn't updating the value properly by @TEParsons in https://github.com/psychopy/psychopy/pull/6892
  • Silence unnecessary warning about unrecognised params by @TEParsons in https://github.com/psychopy/psychopy/pull/6896
  • moviepy and egi_pynetstation now included in standalone not as a plugin by @peircej in https://github.com/psychopy/psychopy/pull/6905

Full Changelog: https://github.com/psychopy/psychopy/compare/2024.2.2...2024.2.3

- Python
Published by peircej over 1 year ago

psychopy - 2024.2.2

Bug Fixes

  • Fix ribbon buttons showing label on Mac by @TEParsons in #6767
  • Builder files were marked as modified as soon as opened by @TEParsons in #6778
  • Builder getting start/stop times when using non-slip timing by @mh105 in #6739
  • Restore backwards-compatability to psychopy.gui.dlg by @TEParsons in #6792
  • Routines were still writing their end experiment code in JS even when removed from the flow by @TEParsons in #6780
  • Fix whisper transcriber sometimes being initialised twice (and breaking as a result) by @TEParsons in #6796
  • DlgFromDict was erroneously adding keys when given "order" or "fixed" by @TEParsons in #6818
  • Make output of Dlg.show backwards compatible with older versions by @TEParsons in #6809 #6792
  • pyglet controls of macOS NSWindow with multiple screens by @mh105 in #6799
  • Fixed detection of installed packages in standalone app for py3.10 by @mh105 in #6771
  • Smoother output from background jobs to stdout by @mh105 in #6833

Full Changelog: https://github.com/psychopy/psychopy/compare/2024.2.1...2024.2.2

- Python
Published by peircej over 1 year ago

psychopy - PsychoPy 2024.2.1

Fixes

  • TrialHandler2 was starting thisRepsN at 1 rather than 0 by @TEParsons in https://github.com/psychopy/psychopy/pull/6747
  • The py3.10 standalone app failed to launch on macos-arm chips (due to broken tables release 0.9.2)
  • Updated translations for Spanish variants by @carosamu in #6763 #6737
  • Fixed a typo in Trials routine template .psyexp file by @mh105 in https://github.com/psychopy/psychopy/pull/6738
  • Set MovieComponent.status to FINISHED when playback finishes by @mh105 in https://github.com/psychopy/psychopy/pull/6740

FYI the windows py3.10 version didn't originally include git binaries, and the updated version number post4 simply indicates that it wasn't the original build, but compiled 4 commits later.

Full Changelog: https://github.com/psychopy/psychopy/compare/2024.2.0...2024.2.1

- Python
Published by peircej over 1 year ago

psychopy - PsychoPy 2024.2.0

For this 2024.2.0 although there are many changes and therefore potential for some slight changes in behaviour we have focussed more this release on just making existing functionality smoother rather than adding new big fetaures.

New and Improved 🎉

  • Added "force nonslip" parameter to Routine Settings so that you can now use non-slip timing for a Routine using a variable by @TEParsons in #6603
  • Fix opacity not applying properly to border colors by @TEParsons in #6704
  • User can set the online end message from Builder rather than relying on JS default by @TEParsons in #6258
  • Performance improvements for MovieStim (parituclarly noticeable for larger videos) by @aforren1 in #6449
  • Added functions to MicrophoneDevice to continuously monitor volume by @TEParsons in #6444
  • Added function to check whether a speaker is working by @TEParsons in #6446
  • Builder can now set logging level for app console, independently of log file by @TEParsons in #6510
  • Added Keyboard.getState() to get current state of a key by @TEParsons in #6537
  • Added text-to-speech synthesis by @mdcutone in #6588
  • Eyetracking: Various fixes to plugin- and eyetracker-detection by @TEParsons @mdcutone @EyeLogicSolutions @mh105 @KirstenWilliams
  • Eyetracking: New support for EyeLogic Solutions eyetrackers with plugin (alongside existing Tobii, SRR, Pupil Labs, and Gazepoint support)
  • Eyetracking: Fixes and more flexible settings for calibration routines @KirstenWilliams @mdcutone @EyeLogicSolutions @TEParsons @RebeccaHirst
  • Eyetracking: can now save dwell times from ROI component by @RebeccaHirst in #6500
  • If storing all valid mouse clicks, still show invalid clicks explicitly in the list as None (or Null online) e.g. [None, "foil", "target"] for 3 clicks ending in target by @TEParsons in #6516 #6548
  • Some loops/form/counterbalance were not fetching the correct xlsx templates by @TEParsons in #6514
  • Implement orientation parameter for TextBox2 by @TEParsons in #6513
  • New changelog dialog on app start by @TEParsons in #6445
  • Improved error message for iohub connection error (issue #1226) by @MarkellaEgglezou in #6354
  • Visual stimuli now draggable attribute accessible from Builder by @TEParsons in #6337
  • Improved TrialHandler2 for more flexible adding/cancelling and retrieving info about trials @TEParsons in #6425 #6408 #6590
  • Using PhotoDiodes Components in experiments (e.g. in BBTK T-pad) #6432 #6442
  • Provide PsychoPy experiment filename to the ioHub server by @mh105 in #6555
  • Allow experiment to pause on the current frame by @TEParsons in #6584
  • Allow plugins to be uninstalled via the manager by @mdcutone in #6587
  • Store/update Routine parameters live in an object, rather than hardcoding them to the experiment file by @TEParsons in #6597
  • Make save speech onset/offset only available to supporting transcribers by @kimDundas in #6672

🐛 Bug Fixes

  • Fixed error sampling microphone volume even when buffer is full by @TEParsons in #6488
  • Fixed plugins page sometimes failed to load cached plugins file due to encoding error by @peircej in #6428
  • Fixed the launch of PsychoPy App on conda envs without pythonw by @mh105 in #6436
  • Allowed Static Component to update params by @TEParsons in #6462
  • Fixed TextStim letter height wasn't settable each frame/Routine in JS by @TEParsons in #6511
  • Fixed check for pythonw executable on macOS in psychopyApp.py by @mh105 in #6521
  • Fixed .js file not being found when using "Use version" (removed _legacy from suffix) by @RebeccaHirst in #6515
  • Hide dollar sign on start/stop controls when one is hidden by @TEParsons in #6528
  • Removed unused %s string format in MenuFrame to avoid unrecognized accel key by @mh105 in #6523
  • Remove incorrect code on removing eyetracker generated by builder by @mh105 in #6526
  • Fixed import backend_pysound after module name change by @mh105 in #6524
  • Caught AttributeError for sound.getDevices() when opening PreferenceDlg by @mh105 in #6522
  • Unregister event monitors during iohub calibration by @mh105 in #6466
  • Fixed plugin discovery algorithm not finding user package entry points correctly by @mdcutone in #6539
  • Allow enough time for all ioHub device._close() to finish by @mh105 in #6540
  • Use default speaker device if index is default by @mh105 in #6538
  • Fixed eyetracker record stop/start by @TEParsons in #6545
  • Fixed duplicate dependency install on MacOS and package installation in virtual environments by @mdcutone in #6529
  • Fixed size and pos of Line by @TEParsons in #6543 and @mh105 in #6525
  • Fied bug setting Sound in static period online by @TEParsons in #6546
  • Fixed ioHub finding eyetracker configuration files by @TEParsons in #6547
  • Fixed the issue that speaker index could jump over integers by @mh105 in #6559
  • Fixed crash when mono is specified if the microphone device expects stereo as default by @mdcutone in #6564
  • Fixed csv conditions file loading by @TEParsons in #6552
  • Get correct speech onset/offset times and write them to data file by @mdcutone in #6566
  • Fixed dict keys for setting sample filter levels by @mh105 in #6554
  • Add default duration to eyetracker record component by @RebeccaHirst in #6599
  • Remove second whisper option from mic transcriber backend drop down by @RebeccaHirst in #6604
  • Fixed remove the use of currentlyRecording in EyetrackerControl by @mh105 in #6567
  • Fixed syntax for mic max recording parameter by @RebeccaHirst in #6598
  • Decouple setting status from triggering playback/clock resets/etc. by @TEParsons in #6562
  • Fixed starting and stopping times for EyetrackerRecordComponent by @mh105 in #6607
  • Don't change self.param in getStartAndDuration of et component by @mh105 in #6615
  • Typo in JS boilerplate (True rather than true) by @wakecarter in #6625
  • Builder: Ensure frame rate is stored. by @aforren1 in #6619
  • Allow Sound to stop on a condition rather than just time by @TEParsons in #6631
  • Fix obj.contains is not a function error in JS by @TEParsons in #6635
  • Enable correct behavior of entry-points to load eyetrackers by @mh105 in #6610
  • Movie component Volume inputType should be single instead of float by @mh105 in #6643
  • Use inspect.getfile to check path of plugin entry points by @mh105 in #6660
  • UI wasn't fully refreshing after changing theme by @TEParsons in #6673
  • Coder GUI fixes by @aforren1 in #6678
  • Allow keyboard allowedKeys to be set as an int by @TEParsons in #6676
  • Enable mouse clickable from variable when running online by @RebeccaHirst in #6668
  • Fixed crash when clearEvents(device_label=None) by @mdcutone in #6669
  • Fix JS translation of .pop() when there's no index by @TEParsons in #6651
  • Allow polygon outline opacity to be persistent across frames by @mdcutone in #6657
  • Sound Component code was using the wrong set function name in JS by @TEParsons in #6649
  • Fixed files being marked as modified as soon as opened by @TEParsons in #6679
  • Re-add distro as a runtime dependency for linux & remove deprecated function. by @aforren1 in #6686
  • Save mouse.corr for online studies by @RebeccaHirst in #6701
  • Creating project from ribbon raised error by @TEParsons in #6706
  • Plugin Components weren't recognised if experiment loaded with app by @TEParsons in #6707
  • Original types for "UnknownPluginComponent"s were being lost after loading and saving again by @TEParsons in #6708
  • Start/Stop controls had lost their tooltip by @TEParsons in #6711
  • Update flow button style when switching theme by @TEParsons in #6712
  • Conditions file wasn't updated when chosen from file browser for multistair loops by @TEParsons in #6714
  • Save to the color cache when rendering. by @aforren1 in #6720
  • BF/RF: Code to load Builder-relevant entry points was broken and obsolete by @TEParsons in #6717
  • maxDurationReached in Routine Settings False should be false online by @wakecarter in #6724
  • fix trial data writing when there are multiple key presses including None by @mh105 in #6718
  • Fixed units for mouse gaze calibration targets (pix -> height) by @KirstenWilliams in #6443
  • Standardise tDown attribute between ioHub and ptb Keyboard backends (follow ioHub behaviour) by @TEParsons in #6417
  • Improved audio resampling method by @mdcutone in #6605
  • Change iohub port to avoid conflicts with Whisper transcription by @mdcutone in #6661
  • Fixed 'best match' mic settings not being used to init recording buffer by @mdcutone in #6670
  • Prompt user to reconsider if they try to close plugin window mid-install by @TEParsons in #6705

📓 Docs & Demos

  • Create hdf52csv by @KirstenWilliams in #6508
  • make a note that writeRoutineEndCode does not save onset/offset times by @mh105 in #6571
  • Add demo for Button Box Component by @TEParsons in #6716

Translations

  • Arabic: new by @Ahmad-Abudoush @Ahmad-Ramy in #6634 #6638 #6636 #6674 and with DeepL by @peircej in #6641
  • Portugese: new by @joana-quarenta in #6662 #6665 #6690
  • Japanese: updates by @hsogo in #6654
  • Spanish: es-co, eses and esus now completed by @carosamu in #6541 #6577

New Contributors

  • @MarkellaEgglezou made their first contribution in #6354
  • @xjlc made their first contribution in #6570
  • @EyeLogicSolutions made their first contribution in #6586
  • @Ahmad-Ramy made their first contribution in #6636
  • @mabuhayeh made their first contribution in #6638
  • @joana-quarenta made their first contribution in #6662

Full Changelog: https://github.com/psychopy/psychopy/compare/2024.1.5...2024.2.0

- Python
Published by peircej over 1 year ago

psychopy - PsychoPy 2024.1.5

Bug fixes on top of 2024.1 highlights

  • Standalone distribution on Windows wasn't starting due to incompatible pandas/numpy versions
  • Failing to find Eyetracker Components (Eyelink by @KirstenWilliams in #6406 and Gazepoint by @mdcutone in #6424 )
  • Installed plugins were not being found on Linux/MacOS by @mdcutone in #6441
  • Faster MovieStim rendering (don't call play() when already playing) by @aforren1 in #6448
  • Fixed eyetracker calibration target units (height -> pix) by @peircej in #6451
  • KeyboardComponent allowed keys from spreadsheet caused namespace errors by @TEParsons in #6458
  • hide that visible mouse, please by @mh105 in #6465
  • Fix an issue with etRecord component for Stop Only (not stopping the eytracker) by @mh105 in #6463
  • Only change Mouse visibility if explicitly asked to by @TEParsons in #6467
  • Fix "Stop only" issue regardless of Component order by @TEParsons in #6468
  • Clear keys to initialize keyboard when starting a routine by @mh105 in #6471
  • Allow getKeys() to return the same key pressed multiple times by @mh105 in #6479

Documentation fixes and updates

  • by @suelynnmah in #6341 #6426 #6427
  • by @KirstenWilliams in #6480 #6481 #6487 #6498 #6506
  • by @RebeccaHirst in #6504 #6505
  • Arabic app translations by @Ahmad-Abudoush in #6476

Full Changelog: https://github.com/psychopy/psychopy/compare/2024.1.4...2024.1.5

- Python
Published by peircej over 1 year ago

psychopy - PsychoPy 2024.1.4

Bug fixes on top of 2024.1 highlights

  • ioHub keyboard was registering key releases before presses, so duration was always None. We now have a test in place that confirms keyboard RT timing using hardware which will be used on each new release going forwards. By @TEParsons in https://github.com/psychopy/psychopy/pull/6416
  • fixed some translation issues by @hsogo in https://github.com/psychopy/psychopy/pull/6409
  • Fixed JSON encoding error when opening plugin dialog by @mdcutone in https://github.com/psychopy/psychopy/pull/6411

Docs * updated screenshots by @charlottej3673 in https://github.com/psychopy/psychopy/pull/6392

New Contributors

  • @charlottej3673 made their first contribution in https://github.com/psychopy/psychopy/pull/6392

Full Changelog: https://github.com/psychopy/psychopy/compare/2024.1.3...2024.1.4

- Python
Published by peircej almost 2 years ago

psychopy - PsychoPy 2024.1.3

What's Changed

  • BF: Telling Mouse Component to check new clicks without clickable stim raised syntax error by @TEParsons in https://github.com/psychopy/psychopy/pull/6398
  • BF: Keyboard responses in ioHub weren't using relative time by @TEParsons in https://github.com/psychopy/psychopy/pull/6407

Full Changelog: https://github.com/psychopy/psychopy/compare/2024.1.2...2024.1.3

NB the version of the windows installer initially uploaded was inadvertantly an un-signed version. That will likely raise a security warning on Windows during the install. This was updated 25th Apr 2024 at 09:10 (UTC) to a code-signed version that will not raise the security warning

- Python
Published by peircej almost 2 years ago

psychopy - 2024.1.2

Enhancements

  • Default TextStim font set to Arial (TextBox default was already Arial) by @wakecarter in #6378

Bug fixes

  • Keyboard clock wasn't being reset properly, so .rt values were from exp start by @TEParsons in #6360
  • Safer (and faster) behaviour when copying a param, avoids "infinite recursion" (app hangs) by @TEParsons in #6362
  • Make line spacing specific to just one TextBox2 object by @Catherine9811 in #6356
  • Fixes to the Gazepoint eyetracker plugin by @mdcutone in #6365
  • Fixed error when camera tries to close when it's already closed by @mdcutone in #6364
  • Fixed editable TextBox2 cursor location with line breaks by @Catherine9811 in #6358
  • Remove "constant" updates option from SoundComponent (as it wasn't used) by @TEParsons in #6351
  • Python 3.8 was falsely marked as incompatible with 2024.1.x onwards in "use version" interface by @TEParsons in #6366
  • Form Component wasn't finding the correct table template by @TEParsons in #6381
  • Remove blank rows from form template by @wakecarter in #6382
  • Error saving icons from plugin details by @TEParsons in #6368
  • Transparent colours online by @wakecarter in #6386
  • Button numclicks defined by timesOn.length by @wakecarter in #6385

Documentation and testing improvements by...

  • @peircej
  • @TEParsons
  • @kimDundas
  • @suelynnmah

New contributors

  • @Catherine9811 made their first contribution in #6356

Full Changelog: https://github.com/psychopy/psychopy/compare/2024.1.1...2024.1.2

- Python
Published by TEParsons almost 2 years ago

psychopy - PsychoPy 2024.1.1

This version adds bug fixes on top of the highlights and features of 2024.1.0

Fixes

  • Handle errors when loading list of plugins by @TEParsons in https://github.com/psychopy/psychopy/pull/6334
  • Counterbalance in online studies was still trying to confirm entries after finishing by @TEParsons in https://github.com/psychopy/psychopy/pull/6345
  • Make sure the drawn max time in Builder is never None by @TEParsons in https://github.com/psychopy/psychopy/pull/6347
  • Fixed translation issues by @hsogo in https://github.com/psychopy/psychopy/pull/6348
  • Fixed inability to load plugins list from local with non-utf-8 default encoding by @peircej in https://github.com/psychopy/psychopy/pull/6349

Full Changelog: https://github.com/psychopy/psychopy/compare/2024.1.0...2024.1.1

- Python
Published by peircej almost 2 years ago

psychopy - PsychoPy 2024.1.0

Highlights

  • Counterbalance Routine: Standalone Routine to handle counterbalancing between participants, using the "shelf" to maintain records inbetween

  • Piloting Mode: Run experiments in "piloting" mode - adjusts settings to avoid common pitfalls while you're building (e.g. getting stuck in a full screen experiment), then switch to "running" when you're ready to start gathering data

  • Improved UI: Toolbars across the app have a clearer layout for buttons and a more intuitive interface for Pavlovia. Runner especially has had a visual overhaul, with a lot more space for reading stdout/alerts and a new output specifically for Pavlovia sync messages.

  • Fixes to Eye tracker plugins: Several eye trackers had not been working since being moved out to plugins and these should all now be back in operation

Translation works

  • Continued translation into Simplified Chinese (and now Traditional Chinese) and beginnings of translations into Spanish, Hebrew: #5891 #5892 #5893 #5894 #5895 #5897 #5904 #5912 #5915 #5917 #5923 #5903 #5932 #5925

New features and enhancements

  • Added plugin support for standalone plugins by @mdcutone in #5866
  • Button Box Component: Component for using button boxes, which will always have the same methods and properties but by installing plugins you can add functionality for different devices
  • Allow speech-to-text engine configuration from Builder by @mdcutone in #5905
  • Replace toolbars with a "Ribbon" by @TEParsons in #5920
  • Method for processing device info on Windows by @TEParsons in #5940
  • Added tools for creating and managing hardware interfaces by @mdcutone in #5950
  • Allow expInfo fields to be ordered, required, hidden and deprioritised using a new name syntax by @TEParsons in #5949
  • Added Counterbalance Routine (and Python implementation of Shelf) by @TEParsons in #5967
  • Add component for Button Box, with plugin-able backends by @TEParsons in #6006
  • Option in Builder to skip/customise frame rate check by @TEParsons in #6049
  • Option in Builder to specify globalClock format by @TEParsons in #6048
  • Added method to Window to get value of specific pixels by @mdcutone in #6054
  • Added piloting mode by @TEParsons in #6066
  • Add param to enable "rush" mode by @TEParsons in #6279
  • Speed up plugin dialog by @mdcutone in #5796
  • Better handling when opening e.g. png files in Coder by @TEParsons in #5788
  • Speed up app by using faster string tools for labels and methods by @TEParsons in #5826
  • Improved plugin installation method by @mdcutone in #5872
  • Allow prefs dialog menu to be resized by @TEParsons in #5869
  • Add method to manually create a keypress, photodiode response, etc. by @TEParsons in #6022
  • Add option to ignore keypresses outside of PsychoPy window by @TEParsons in #6039
  • Allow Sound to specify a Speaker rather than using general system audio by @TEParsons in #6079
  • Add method to wait for responses to SerialDevice by @TEParsons in #6092
  • Include link to project in "Successful sync" message by @TEParsons in #6171
  • Silence "Unrecognised Parameter" warnings if params came from a plugin by @TEParsons in #6179
  • Speed up experiment loading by @TEParsons in #6180
  • Catch fails in Packages dialog by @TEParsons in #6193
  • Hide components/routines from future versions by @TEParsons in #6200
  • More intuitive label on Pavlovia project info update button by @TEParsons in #6217
  • Added menu item in Builder to reveal current folder by @TEParsons in #6218
  • Install packages in editable mode via a pyproject.toml file by @TEParsons in #6228
  • Improvements to Code component UI behaviour by @TEParsons in #6265
  • Open news from menu by @peircej in #6205
  • Make expInfo dialog always on top by @TEParsons in #6301

Bug fixes

  • Fix matrix questions Survey Routine by @TEParsons in #5797
  • Fix crash which happened if wx wasn't installed by @peircej in #5832
  • Make sure icons & labels in preferences dialog are always visible by @TEParsons in #5868
  • Handle when Component has no start time in JS by @TEParsons in #5864
  • Static component was preventing Movie from starting by @TEParsons in #5928
  • Change default logging level to warning by @suelynnmah in #5941
  • Let experiments run without git installed by @TEParsons in #5939
  • Fix bug whereby Brush wouldn't pick up on mouse clicks by @TEParsons in #6056
  • Fix inconsistent data outside trial loop by @monique2208 in #6004
  • Fix shape setting on Polygon-derived components (e.g. ROI) by @TEParsons in #5971
  • Remove darc toolbox demos (maintainer no longer supporting package) by @RebeccaHirst in #6094
  • Fixed error when audioLib is None by @mdcutone in #6103
  • Handle unconventional launch methods (e.g. launching from command line with unrecognised args) by @peircej in #6118
  • Fixed error with resizing "sash" in Preferences dialogby @mdcutone in #6146
  • If psychtoolbox can't detect devices, log warning rather than crashing by @TEParsons in #6150
  • Fixed error when using Save in Coder when there is no file open by @nvanhaute in #6158
  • Fixed "missing reference" error with setting Sound device by @mdcutone in #6122
  • Fix _set function for NoiseStim to handle input length by @simonfei123 in #6136
  • Draw expected duration from Routine Settings in Builder by @TEParsons in #6190
  • Fix error when loading window whose size is negative by @mdcutone in #6192
  • Stop Builder from assuming the current folder is .../psychopy/app whenever filename is "untitled.psyexp" by @TEParsons in #6198
  • Catch error when package info is missing by @mdcutone in #6202
  • Experiments weren't working online if experiment name differed from filename by @TEParsons in #6221
  • Fixed iohub eyetracker calibration (keyboard was losing input) by @mdcutone in #6226
  • Handle when Static component has no start time by @TEParsons in #6248
  • Don't scroll to top after opening a Builder component category by @TEParsons in #6251
  • Fixed Mouse.visible attribute not applying requested state by @mdcutone in #6254
  • Fixed freeze when running eyetracker validation by @mdcutone in #6264
  • Fix error when cancelling a commit by @TEParsons in #6271
  • Special code for when Slider is "radio" was missed in JS code by @TEParsons in #6272
  • Fix "iCCP profiles" error with classic icons by @TEParsons in #6276
  • Fix wrong setter name in Textbox/TextStim JS code by @TEParsons in #6277
  • New Pavlovia projects were being created empty until first commit by @TEParsons in #6273
  • Fix UI inconsistencies on Ubuntu by @TEParsons in #6242
  • Fix code for sound component stop values by @zuazo in #6300
  • Fixed selecting audio device in builder and coder by @zuazo in #6299
  • Fix bug where local PsychoJS server kept running after quitting by @TEParsons in #6323

Documentation and testing improvements by...

  • @alexander-pastukhov
  • @peircej
  • @suelynnmah
  • @patrickabolger
  • @richardnaar
  • @JensBoelte
  • @d-scanzi
  • @psych575
  • @shun2wang
  • @Solveig-Castelli
  • @carosamu
  • @Ahmad-Abudoush
  • @RebeccaHirst
  • @ice-yu
  • @domstoppable
  • @kimDundas
  • @afuetterer
  • @TEParsons

New contributors

  • @mscheltienne made their first contribution in #5889
  • @JensBoelte made their first contribution in #5956
  • @d-scanzi made their first contribution in #5952
  • @kshtjkumar made their first contribution in #5955
  • @Solveig-Castelli made their first contribution in #5961
  • @carosamu made their first contribution in #5972
  • @monique2208 made their first contribution in #6004
  • @afuetterer made their first contribution in #6110
  • @bartuatabek made their first contribution in #5942
  • @FS94 made their first contribution in #6121
  • @simonfei123 made their first contribution in #6136
  • @tomdstone made their first contribution in #6261
  • @zuazo made their first contribution in #6299

Full Changelog: https://github.com/psychopy/psychopy/compare/2023.2.3...2024.1.0

- Python
Published by TEParsons almost 2 years ago

psychopy - 2023.2.3

Key fixes (from 2023.2.2)

  • Silenced warning about numpy version number in Windows Standalone
  • Fixed issue with "cannot import Never from typing_extensions" in Windows standalone
  • Fixed error detecting eyetracker config files by @TEParsons in #5883 #5886
  • Fixed eyetracker calibration routine freezing by @mdcutone in #5901
  • Fixed support for updated Pupil Labs plugin w/ support for Neon by @domstoppable in #5887
  • Fixed useVersion for JS - needed to create a _legacy.js file by @TEParsons in #5918
  • Fixed SerialOut parity should be N not None by @TEParsons in #5907
  • Fixed bug whereby Textbox's scrolling Aperture was applied to all stim by @TEParsons in #5934

Translation works

  • Continued translation into Simplified Chinese (and now Traditional Chinese) and beginnings of translations into Spanish, Hebrew: #5891 #5892 #5893 #5894 #5895 #5897 #5904 #5912 #5915 #5917 #5923 #5903 #5932 #5925

New Contributors

  • @meltemkaraca made their first contribution in #5891
  • @SarvCh made their first contribution in #5893
  • @ymhuang1005 made their first contribution in #5894
  • @ice-yu made their first contribution in #5895
  • @domstoppable made their first contribution in #5887
  • @jingrun213 made their first contribution in #5897
  • @psych575 made their first contribution in #5912

Full Changelog: https://github.com/psychopy/psychopy/compare/2023.2.2...2023.2.3

- Python
Published by peircej over 2 years ago

psychopy - PsychoPy 2023.2.2

What's Changed

  • Fixed ioHub keyboard timing (was using incorrect timestamp offset) by @TEParsons in https://github.com/psychopy/psychopy/pull/5807
  • Fixed locating config files for ioHub extensions which prevented them from loading by @mdcutone in https://github.com/psychopy/psychopy/pull/5821
  • Fixed bug whereby iohub couldn't find plugin backends on Mac by @TEParsons in https://github.com/psychopy/psychopy/pull/5824
  • Better handing of experiments with Components that are now only in plugins by @TEParsons in #5834 #5831 #5833
  • Fixed "logFile does not exist" error when "Save log file" is False by @TEParsons in https://github.com/psychopy/psychopy/pull/5836
  • Fixed matrix question breaking apart code in Survey Routine by @TEParsons in https://github.com/psychopy/psychopy/pull/5840
  • Allow expInfo to use values from Code components without overriding them by @TEParsons in https://github.com/psychopy/psychopy/pull/5837
  • Fixed error in Form when using a radio ctrl by @TEParsons in https://github.com/psychopy/psychopy/pull/5843
  • Polygon broken in JavaScript code from Builder by @TEParsons in https://github.com/psychopy/psychopy/pull/5844
  • Ignore spaces when getting variables from name by @TEParsons in https://github.com/psychopy/psychopy/pull/5841
  • "tThisFlip not defined" error when using Routine stop time online by @TEParsons in https://github.com/psychopy/psychopy/pull/5849
  • "eyetracker is not defined" error on experiment quit by @TEParsons in https://github.com/psychopy/psychopy/pull/5850
  • Fixed incorrect formatting in AudioDeviceInfo __repr__ by @mdcutone in https://github.com/psychopy/psychopy/pull/5851
  • Fixed message order in Plugins dialog output by @TEParsons in https://github.com/psychopy/psychopy/pull/5865
  • Update path of README dialog on "save as" by @TEParsons in https://github.com/psychopy/psychopy/pull/5863
  • Fixed sounds restarting at the end of a Routine where they had perviously stopped by @peircej in https://github.com/psychopy/psychopy/pull/5874

Various documentation updates: * Progress bar API and documentation by @suelynnmah in https://github.com/psychopy/psychopy/pull/5822 * Bart Builder demo fix by @suelynnmah in https://github.com/psychopy/psychopy/pull/5823 * psychophysicsStaircase demo fix by @suelynnmah in https://github.com/psychopy/psychopy/pull/5829 * Fix colors demo by @TEParsons in https://github.com/psychopy/psychopy/pull/5838 * Sternberg Builder demo - checked save log file to remove logFile error by @suelynnmah in https://github.com/psychopy/psychopy/pull/5845

- Python
Published by peircej over 2 years ago

psychopy - 2023.2.1

On top of the new features in 2023.2 series

Bugs Fixed

  • Eyetracker plugins were not being detected by Builder by @peircej in https://github.com/psychopy/psychopy/pull/5808
  • Fix device selection for Microphone component by @mdcutone in https://github.com/psychopy/psychopy/pull/5811
  • ioHub reporting negative response times by @TEParsons in https://github.com/psychopy/psychopy/pull/5807
  • Add attributeSetter / set functions for borderWidth by @TEParsons in https://github.com/psychopy/psychopy/pull/5779
  • Option for hiding splash screen available in Preferences by @TEParsons in https://github.com/psychopy/psychopy/pull/5776
  • endExpNow was only defined if Escape was enabled by @TEParsons in https://github.com/psychopy/psychopy/pull/5780
  • Polygon JS from Builder failing to initialise code by @TEParsons in https://github.com/psychopy/psychopy/pull/5783
  • Copied Routines were getting two Routine Settings components by @TEParsons in https://github.com/psychopy/psychopy/pull/5792
  • Fix unresponsive scrolling in Routine canvas by @TEParsons in https://github.com/psychopy/psychopy/pull/5795
  • update Japanese translation by @hsogo in https://github.com/psychopy/psychopy/pull/5789
  • If rewinding Sound (seek to before end) then mark as not finished by @TEParsons in https://github.com/psychopy/psychopy/pull/5781
  • Fixed _legacy-legacy-browser.js is not a file by @TEParsons in https://github.com/psychopy/psychopy/pull/5799
  • Coder was making an error when opening a new file by @TEParsons in https://github.com/psychopy/psychopy/pull/5801
  • Conditions file was being cleared when loop type is "interleaved staircase" by @TEParsons in https://github.com/psychopy/psychopy/pull/5803
  • Add JS code to set window background image on init by @TEParsons in https://github.com/psychopy/psychopy/pull/5806
  • MacOS iohub "TypeError: startswith first arg must be bytes..." by @peircej in https://github.com/psychopy/psychopy/pull/5812
  • New projects sometimes wouldn't have a local root by @TEParsons in https://github.com/psychopy/psychopy/pull/5814
  • Handle when Static Component tries to set param of deleted/disabled Component by @TEParsons in https://github.com/psychopy/psychopy/pull/5815
  • Python 3.10 version bump had broken GIF avatars by @TEParsons in https://github.com/psychopy/psychopy/pull/5791

Full Changelog: https://github.com/psychopy/psychopy/compare/2023.2.0...2023.2.1

- Python
Published by peircej over 2 years ago

psychopy - PsychoPy 2023.2.0

Highlights

  • Routine settings: Routines now have parameters of their own, giving control over their max duration, skipping the Routine altogether, or changing the way the window looks just for that Routine.
  • Sort by priority: Columns in the data file can now be given a "priority" value, with the option to sort by priority instead of chronologically.
  • Whisper transcription PLUGIN for Microphone: Using the OpenAI backend, Microphone transcriptions can be done quicker and more accurately, and include timing info for each word.
  • Progress bar component: A visual component to show progress along an axis.
  • Builder search dialog: Search for values across your whole experiment, then jump to the specific Routine/Component where it's present. Makes debugging much easier.
  • Most stimuli now support a draggable attribute. If set to draggable=True then that stimulus should check/update position on each frame using stim.doDragging()

Behaviour changes

  • Eyetrackers (Tobii, SRR Eyelink, Gazepoint, PupilLabs) are now plugins rather than built-in, in keeping with the drive to cut down the dependencies of core PsychoPy

New features and enhancements

  • PsychoJS: Mobile-friendly viewport settings. by @lightest in https://github.com/psychopy/psychopy/pull/5380
  • Allow experiment to run with different clocks (e.g. wall clock time instead of starting at t=0) by @TEParsons in https://github.com/psychopy/psychopy/pull/5621
  • PsychoJS ShapeStim from Builder now supports custom vertices by @TEParsons in https://github.com/psychopy/psychopy/pull/5522
  • Numerous improvements to plugins system and dialog
  • Added abortCurrentTrial (Python only for now) method to TrialHandler2 and MultiStairHandler by @mdcutone in https://github.com/psychopy/psychopy/pull/5423
  • Better performance and fixes to FFPyPlayer movie engine
  • Added letterSpacing attribute to Textbox by @TEParsons in https://github.com/psychopy/psychopy/pull/5487
  • New Session class to run multiple experiments - create your stimulus window once and run multiple experiments in it, with the ability to pause/resume/stop the experiment. (Python only for now) Session can be controlled over websockets using the Liaison server
  • Full support for Python 3.10, wxPython 4.2, and PyQt6
  • Preserve tab order for Routines when saving/loading an experiment by @TEParsons in https://github.com/psychopy/psychopy/pull/5517
  • Added audio settings to Camera component by @mdcutone in https://github.com/psychopy/psychopy/pull/5681
  • Improved streaming of camera to disk by @mdcutone in https://github.com/psychopy/psychopy/pull/5551
  • Window now explains it is performing timing test by @mdcutone in https://github.com/psychopy/psychopy/pull/5511
  • Keyboard Components from Builder will store duration if available (if release has already occurred) by @TEParsons in https://github.com/psychopy/psychopy/pull/5569
  • Show status text for objects in Flow panel by @TEParsons in https://github.com/psychopy/psychopy/pull/5443
  • Make psychopy.Window title (and icon in pyglet) settable by @TEParsons in https://github.com/psychopy/psychopy/pull/5540
  • UI enhancements to Coder and Runner by @TEParsons in https://github.com/psychopy/psychopy/pull/5539
  • Multihead support for X11/Linux by @mdcutone in https://github.com/psychopy/psychopy/pull/5520
  • Plugins Dialog now checks for version compatibility with PsychoPy by @TEParsons in https://github.com/psychopy/psychopy/pull/5649
  • Install plugins to subdirectories by @mdcutone in https://github.com/psychopy/psychopy/pull/5398
  • Make Save & Edit/View buttons on README window more explicit by @TEParsons in https://github.com/psychopy/psychopy/pull/5523
  • New option to abbreviate long component names in Preferences, fixes #5574 by @TEParsons in https://github.com/psychopy/psychopy/pull/5586
  • Highlight selected Routine in Flow panel by @TEParsons in https://github.com/psychopy/psychopy/pull/5588
  • Better Builder visualisation very large experiments by @TEParsons in https://github.com/psychopy/psychopy/pull/5618
  • Lock Flow panel buttons to the left when scrolling by @TEParsons in https://github.com/psychopy/psychopy/pull/5620
  • ExperimentHandler.addData() now has optional row argument to specify previous entry by @TEParsons in https://github.com/psychopy/psychopy/pull/5652
  • Fixed useVersion warning untracked working tree files would be overwritten by @peircej in https://github.com/psychopy/psychopy/pull/5670
  • Add param to control whether movies/sounds end when the Routine does, by @TEParsons in https://github.com/psychopy/psychopy/pull/5415
  • Add "transparent" as named color by @TEParsons in https://github.com/psychopy/psychopy/pull/5689
  • Radio button styling was not work in Slider component in 2023.1, fixes #5661 (dev) by @TEParsons in https://github.com/psychopy/psychopy/pull/5691
  • Allow expInfo fields to be marked as required (*) by @ainazay in https://github.com/psychopy/psychopy/pull/5543
  • Fix VlcMovieStim by @marcpabst in https://github.com/psychopy/psychopy/pull/5702
  • Added data file separator to expInfo by @EitanHemed in https://github.com/psychopy/psychopy/pull/5607
  • Minor Textbox bugfixes by @ollie-d in https://github.com/psychopy/psychopy/pull/5723
  • Extended autotranslate functions supported by py2js by @roelofsaj in https://github.com/psychopy/psychopy/pull/5713
  • Submitting GitHub issues now supports templates by @shun2wang in https://github.com/psychopy/psychopy/pull/5732
  • Numerous Documentation improvements by @fboers @kimDundas @patrickabolger @EitanHemed @larsoner @pmolfese

Bug fixes

  • Fixed missing comma in Brush component code by @TEParsons in https://github.com/psychopy/psychopy/pull/5564
  • Mouse position incorrect when desktop scaling not 100% on Windows by @mdcutone in https://github.com/psychopy/psychopy/pull/5758
  • Fixed AttributeError: 'SoundPTB' object has no attribute 'isFinished' by @mdcutone in https://github.com/psychopy/psychopy/pull/5541
  • Better handling of missing audio libraries - allow the app to load always and fallback to PsychToolBox if possible
  • Better handling of Mouse.getPos() when no windows open by @peircej in https://github.com/psychopy/psychopy/pull/5763
  • Param updates code for Sound in JS was using Python syntax by @TEParsons in https://github.com/psychopy/psychopy/pull/5762
  • More informative error when useVersion fails to write script by @TEParsons in https://github.com/psychopy/psychopy/pull/5761
  • saveAsWideText was using deprecated DataFrame.append function by @TEParsons in https://github.com/psychopy/psychopy/pull/5507
  • Polygon/ROI vertices caused error if trying to set each frame by @TEParsons in https://github.com/psychopy/psychopy/pull/5686
  • Don't crash if user attempts to initialise ioHub more than once by @TEParsons in https://github.com/psychopy/psychopy/pull/5533
  • Added log file entry for Keyboard.clearEvents() by @peircej in https://github.com/psychopy/psychopy/pull/5558
  • Fixed missing movie file in MoviePause.py demo by @EitanHemed in https://github.com/psychopy/psychopy/pull/5583
  • Coder source tree thought any variable name beginning with def was a function def by @TEParsons in https://github.com/psychopy/psychopy/pull/5581
  • README filename wasn't being updated for new frames by @TEParsons in https://github.com/psychopy/psychopy/pull/5593
  • Fix Markdown parsing on README files by @TEParsons in https://github.com/psychopy/psychopy/pull/5572
  • Ignore Escape in Keyboard component if needed to end experiment by @TEParsons in https://github.com/psychopy/psychopy/pull/5598
  • Joystick component - SyntaxError in generated code by @EitanHemed in https://github.com/psychopy/psychopy/pull/5601
  • Error got an unexpected keyword argument "reset" when trying to pause using PTB sounds by @peircej in https://github.com/psychopy/psychopy/pull/5619
  • PsychoPJS: Fix issue with first frame of image being shown as default.png in JS by @TEParsons in https://github.com/psychopy/psychopy/pull/5716
  • Add self to list of disallowed Component names by @TEParsons in https://github.com/psychopy/psychopy/pull/5742
  • Split compound Survey answers into individual columns by @TEParsons in https://github.com/psychopy/psychopy/pull/5734
  • Fixed audio file not resetting during (Python) experiment by @mdcutone in https://github.com/psychopy/psychopy/pull/5712
  • If trying to load previously open file that is corrupted, do at least open the app (with an empty window) by @TEParsons in https://github.com/psychopy/psychopy/pull/5696
  • Better catching of name errors in conditions file by @TEParsons in https://github.com/psychopy/psychopy/pull/5654

New Contributors

  • @ranibaron made their first contribution in https://github.com/psychopy/psychopy/pull/5394
  • @patrickabolger made their first contribution in https://github.com/psychopy/psychopy/pull/5414
  • @fboers made their first contribution in https://github.com/psychopy/psychopy/pull/5482
  • @gtosh4 made their first contribution in https://github.com/psychopy/psychopy/pull/5609
  • @ainazay made their first contribution in https://github.com/psychopy/psychopy/pull/5543
  • @marcpabst made their first contribution in https://github.com/psychopy/psychopy/pull/5702

Full Changelog: https://github.com/psychopy/psychopy/compare/2023.1.2...2023.2.0rc7

- Python
Published by peircej over 2 years ago

psychopy - 2023.1.3

Bug fixes

  • Added log file entry for Keyboard.clearEvents() by @peircej in #5558
  • Syntax error (missing comma) in Brush Component code by @TEParsons in #5564
  • Store duration for Keyboard Components when available (if waitForRelease=True ) by @TEParsons in #5569
  • AudioClip recordings with PTB backend fail to honor sample rate @mdcutone in #5530
  • Removed redundant "MainLoop" call to remove error during shutdown of app by @mdcutone in #5538
  • Spaces in executable path were breaking PIP terminal in Windows by @TEParsons in #5579
  • Save prefs just once after closing all frames by @TEParsons in #5510
  • JS code wasn't distinguishing between regular polygon & custom vertices in ShapeStim by @TEParsons in #5522
  • NameError: name 'environmenttools' is not defined #5563

Full Changelog: 2023.1.2...2023.1.3

- Python
Published by peircej over 2 years ago

psychopy - PsychoPy 2023.1.2

On top of the new features added in 2023.1 series

Fixes

  • Fix crash following gamma semi-auto correction (when laying out dialog box) dialog box by @TEParsons in https://github.com/psychopy/psychopy/pull/5452
  • Crashing due to outdated core.getFromNames in Mouse by @TEParsons in https://github.com/psychopy/psychopy/pull/5474
  • Setting Image as a numpy array caused a TypeError by @TEParsons in https://github.com/psychopy/psychopy/pull/5453
  • Handle invalid paths when stringifying params by @TEParsons in https://github.com/psychopy/psychopy/pull/5465
  • Swap all references to Panorama.altitude with Panorama.elevation by @TEParsons in https://github.com/psychopy/psychopy/pull/5471
  • Fix typo in Survey routine - stauts rather than status by @TEParsons in https://github.com/psychopy/psychopy/pull/5468
  • If user requests showing README and there isn't one then show a blank file @TEParsons in https://github.com/psychopy/psychopy/pull/5470
  • Fix typos in high contrast theme by @TEParsons in https://github.com/psychopy/psychopy/pull/5504
  • Sound files online were playing forever if duration set to <0.5s by @TEParsons in https://github.com/psychopy/psychopy/pull/5466
  • Let Builder treat Sound.isPlaying and Sound.status==STARTED as synonymous by @TEParsons in https://github.com/psychopy/psychopy/pull/5428
  • Correctly ignore blank columns by @wader in https://github.com/psychopy/psychopy/pull/5406
  • Viewport was left as None when checkTiming was unticked by @TEParsons in https://github.com/psychopy/psychopy/pull/5451
  • Better handling when a Pavlovia project / plugin avatars in the app @TEParsons in https://github.com/psychopy/psychopy/pull/5458 https://github.com/psychopy/psychopy/pull/5460 https://github.com/psychopy/psychopy/pull/5469

Documentation fixes by

  • @roelofsaj in https://github.com/psychopy/psychopy/pull/5477 https://github.com/psychopy/psychopy/pull/5483 https://github.com/psychopy/psychopy/pull/5484
  • @ChenBri in https://github.com/psychopy/psychopy/pull/5478 https://github.com/psychopy/psychopy/pull/5480
  • @ChristopheBossens in https://github.com/psychopy/psychopy/pull/5481
  • @suelynnmah in https://github.com/psychopy/psychopy/pull/5444

New Contributors

  • @roelofsaj made their first contribution in https://github.com/psychopy/psychopy/pull/5477
  • @ChenBri made their first contribution in https://github.com/psychopy/psychopy/pull/5478
  • @ChristopheBossens made their first contribution in https://github.com/psychopy/psychopy/pull/5481
  • @wader made their first contribution in https://github.com/psychopy/psychopy/pull/5406

Full Changelog: https://github.com/psychopy/psychopy/compare/2023.1.1...2023.1.2

- Python
Published by peircej almost 3 years ago

psychopy - PsychoPy 2023.1.1

On top of the new features added in 2023.1 series

Fixes

  • If attempting to open readme dlg and there's no readme, make one by @TEParsons in https://github.com/psychopy/psychopy/pull/5365
  • Fixed error with images being set-every-repeat (default.png not defined) by @TEParsons in https://github.com/psychopy/psychopy/pull/5374
  • Make sure default.* stimuli are included in online resources by @TEParsons in https://github.com/psychopy/psychopy/pull/5384
  • Better error handling for unknown PsychoPy version in useVersion by @TEParsons in https://github.com/psychopy/psychopy/pull/5372
  • Nested Routines raised an error during generation of script by @TEParsons in https://github.com/psychopy/psychopy/pull/5377
  • README dialog was created twice by @TEParsons in https://github.com/psychopy/psychopy/pull/5383
  • Movie Opacity in local studies was not being honored by @TEParsons in https://github.com/psychopy/psychopy/pull/5385
  • fix wx version comparison bug, allowing wider range of wxPython versions by @waltervanheuven in https://github.com/psychopy/psychopy/pull/5400
  • fixed encoding error preventing loading of csv files from MacOS on Win32 by @richardnaar in https://github.com/psychopy/psychopy/pull/5396
  • Various plugin dlg improvements from @mdcutone in https://github.com/psychopy/psychopy/pull/5410
  • Update Japanese translation by @hsogo in https://github.com/psychopy/psychopy/pull/5387
  • Fixed PanoramicImageStim to work when Window FBO=True by @mdcutone in https://github.com/psychopy/psychopy/pull/5416
  • If setting size with ImageStim.setSize(), rather than during init, it only lasted for current image by @TEParsons in https://github.com/psychopy/psychopy/pull/5422
  • Movie in JS was getting undefined error if updates were "set every repeat" by @TEParsons in https://github.com/psychopy/psychopy/pull/5421
  • Don't reset survey clock each routine by @TEParsons in https://github.com/psychopy/psychopy/pull/5433
  • Textbox lineSpacing param is now being applied to JS boilerplate by @TEParsons in https://github.com/psychopy/psychopy/pull/5420
  • Sort plugin package versions in descending order by @TEParsons in https://github.com/psychopy/psychopy/pull/5441
  • Better handling of plugin startup errors by @mdcutone in https://github.com/psychopy/psychopy/pull/5436
  • Catch AttributeErrors on Pavlovia login rather than trying to pre-empt them, fixes #5382 by @TEParsons in https://github.com/psychopy/psychopy/pull/5450
  • If experiment is ended by esc, close eyetracker by @TEParsons in https://github.com/psychopy/psychopy/pull/5448

Improvements

  • Added excel templates for MultiStair, QUEST and QUESTPLUS by @TEParsons (templates by @kimDundas) in https://github.com/psychopy/psychopy/pull/5361
  • Save README file on save not on dlg init by @TEParsons in https://github.com/psychopy/psychopy/pull/5379
  • Silence FutureWarning from numpy about comparing array to string by @TEParsons in https://github.com/psychopy/psychopy/pull/5376
  • Panorama vertical pos should be "elevation" not "altitude" in https://github.com/psychopy/psychopy/pull/5419
  • Coder SourceTree wasn't showing async functions by @TEParsons in https://github.com/psychopy/psychopy/pull/5435

New Contributors

  • @richardnaar made their first contribution in https://github.com/psychopy/psychopy/pull/5396

Full Changelog: https://github.com/psychopy/psychopy/compare/2023.1.0...2023.1.1

- Python
Published by peircej almost 3 years ago

psychopy - PsychoPy 2023.1.0

Release series 2023.1. Highlights

  • Pavlovia Surveys: can now be integrated into PsychoPy online studies. You still create your survey in the Pavlovia Survey Creator (on you Pavlovia Dashboard) but you can then incorporate them as either a link or an embedded json file into your PsychoJS study. This only works for online studies at present
  • Panorama Stimuli: now supported in PsychoPy (lab-based) studies. You can add a photo-sphere as a stimulus (e.g. create them in Street View app on Android phones) and then insert them into Builder and explore
  • Plugins and Packages: You can now add packages to your PsychoPy installation with a GUI that installs new packages to your user folder (without needing admin rights). Some of PsychoPy's existing functionality has also moved out to "Plugins"
    • For users, plugins mean more control over what functionality you want PsychoPy to support
    • For developers, plugins mean keeping more independence over your code and ownership
  • Speech Point: on TextBox allows a tail to be added giving the impression of a cartoon speech bubble (lab-based only, currently)
  • MovieStim: several performance improvements and fixes

- Python
Published by peircej about 3 years ago

psychopy - PsychoPy 2022.2.5

On top of the new features of the 2022.2.x series this release fixes:

  • Several fixes to syncing of Pavlovia projects (e.g. when project has been deleted/recreated online or when files have been copied over from another machine) #5117 #5221
  • Shape Component in Builder can now update vertices on each frame/repeat commit:e493ee2ca
  • Participant name missing from filename if given in URL query #5171
  • Eyetracker ROI stop code should only be written if a value is given to stop on #5156
  • Don't crash if Microphone.stop() called repeatedly #5121
  • TypeError in Window.resetViewport() #5135
  • PupilLabs lib was not being found due to missing __init__ #5180
  • QUESTplus had ben removed from list of loop types commit:2da0cfa0a
  • Sound.pause() was reseting to start of track commit:a161e135a

- Python
Published by peircej about 3 years ago

psychopy - PsychoPy 2022.2.4

On top of the new features of the 2022.2.x series this release fixes:

  • Python: fix to occasional crashing of new FFPyPlayer moviestim caused by excessive logging in the underlying lib commit:47289f6ca
  • App: better handling of case where Experiment Settings may have syntax error commit:60cf0cea6
  • App: rare case where the $ could get ignored during dialog box validation commit:eb1897087
  • App: better handling of an (apparent) syntax error in user-supplied JS commit:992aaa423
  • App: transcription setting on Mic Component now False by default (because most people don't have a Google API key set up) commit:2c8a27ed

- Python
Published by peircej over 3 years ago

psychopy - PsychoPy 2022.2.3

On top of the new features of the 2022.2.x series this release fixes:

  • App: Dark mode was missing "goto" button
  • App: Coder save button was not updating correctly after a change #5031
  • Python: Arabic Harakat diacritics were misaligned in Python TextBox2 #5033
  • Python: rendering performance improvement when contrast=1 #5027

- Python
Published by peircej over 3 years ago

psychopy - PsychoPy 2022.2.2

On top of the new features of the 2022.2.x series this release fixes: - an issue with non-slip Routines not being terminated properly by force-end-routine

- Python
Published by peircej over 3 years ago

psychopy - PsychoPy 2022.2.1

On top of the new features of the 2022.2.x series this release fixes:

  • App: bug loading experiments on MacOS: ‘PosixPath’ object has no attribute ‘is_relative_to’
  • Py: Keyboard releases were showing up as additional key events when using the ioHub for keyboard
  • Py: Slider.reset() was not making use of the desired startValue
  • App: better performance when using large history in the Python Shell

- Python
Published by peircej over 3 years ago

psychopy - PsychoPy 2022.2.0

Highlights:

  • BETA: You can now get participant responses using Cameras (webcams), both in web-based and in local experiments. The new Camera Component allows you to
    • save recordings to disk
    • show the current input from the webcam (make the Camera the input to a regular ImageStim)
    • replay a recording later in the experiment (use the Camera as input to a subsequent MovieStim)
    • all the above features are currently BETA
  • Python: New movie playing engine for higher performance playback in locally experiments (using FFPyPlayer)
  • Online: Introducing the "Shelf" for persistent storage on Pavlovia of variables accessible to a range of scopes (only the current participant, only the current project, any project in the lab etc.). This may sound like not a big deal but it opens options for the following:
    • multi-session studies: retrieve the participant threshold/progress form last session
    • interactive multi-player studies: store 'messages' for another user to receive
    • counterbalancing online: by tracking the number of participants that have been in each group
  • Online: Gratings and Gabors now supported online, straight from your Builder experiments
  • Online: gamma correction supported in the browser(!!) by setting Window.gamma property (currently requires a code snippet)
  • Python: Builder now has a Serial Port Component to make it easier to connect to hardware without needing Code Components

Compatibility changes:

  • Studies with Code Components that access routineTimer will need adapting because the non-slip Builder logic has changed this is now a regular (count-up) Clock instead of a CountdownTimer

Key Fixes:

  • Online: Button Component is now fully working, so you don't need to create your own text boxes for this
  • Online: Routines used outside a loop now always advance the next row in the data file so that they can't overwrite each others' data
  • Python: The .stopped times should now be showing up correctly for all Components in the csv file (they were always correct in the log file)
  • Python: Better timing in non-slip Routines. Previously the non-slip timer corrected for overshoots but not undershoots. This is now fixed.
  • Is trials property of loops (to control whether the data file advances) is now supported in online studies

- Python
Published by peircej over 3 years ago

psychopy - PsychoPy 2022.1.4

In addition to the new features of the 2022.1 release series this release includes the following

Fixes: - experiments using iohub were not running on MacOS standalone due to broken version of the gevent library - fixes to connection from Builder to Pavlovia in certain circumstances (e.g. certain usernames or when project has moved) 22963a9db - fixes searches of Pavlovia for private projects by the logged in user - fix to use of correct answers for Joystick Buttons Component 2e66dc188 f9ef1bea2 - Builder crashing when a Routine had been copied over 45928769c - some parameters in Builder dialogs were missing their label names c8cd3802e - ShapeStim was not obeying requests for zero opacity 8030b2ff4 - fixed "currentLoop is not defined" error for online studies a261d0446 - in certain circumstances, mic recordings were not saving for each trial, only for the last trial, when online 5e23a0a34

- Python
Published by peircej almost 4 years ago

psychopy - PsychoPy 2022.1.3

In addition to the new features of the 2022.1 release series this release includes the following

Fixes: - TextStim (and Button, which is derived from TextStim) was not easily clickable online due to incorrect bounding box psychopy/psychojs#492 - Slider styleTweaks were not being applied #4773 - Check that file is saved before trying to Run #4759 - Mouse coordinate mapping was incorrect for MacOS Retina displays which meant that Slider and Brush wasn't working, for instance #4755 - Allow the Sound Component to be used if transcription libs were not available #4747 - Form Component excel template was corrupted (by google sheets export) #4742 - Copying a Routine from one experiment to another was causing a compile error #4740 - Better logging of errors during application load for debugging purposes #4750 - Setting the Slider to reset() was looking like a response when it shouldn't #4738 - Fixed core.getTime() for M1 native installations (does not affect Standalone or Intel-based installations on M1) b839a32da52b - Allow 3-dimensional arrays for ShapeStim vertices 31ca663bf2 - Fix dependency definition for Poetry installations 77cb7c92eac4 - Fix use of event module for keyboard as fallback for iohub/ptb 5c3672804f1 - If HomeBrew has a broken fonts folder ignore it #4719 - If user specifies a line width of "2"make it 2 389bfd4692

- Python
Published by peircej almost 4 years ago

psychopy - PsychoPy 2022.1.2

In addition to the new features of the 2022.1 release series this release includes the following

Fixes: - URL redirection was failing at the end of the study for online experiments where the JS code was generated using 2022.1.0-2022.1.1 due to an erroneous replacement of // with / in https:// e8218b31f71 - Hyphens can now be included in Pavlovia project names (the validator in the PsychoPy GUI was being too strict) bbe6bf5ed01 - Static Components that are used for fetching online resources (e.g. using a Movie Component that sets its stimulus during a Static) will now freeze and wait until the resource is fully received if it takes longer than the set duration. Using ResourceManager components the experiment will not freeze but status can be checked status==FINISHED when download is complete - Fixed a bug where, after logging out of the Pavlovia Session in the PsychoPy interface, PsychoPy would still provide the option to use the names/groups of that user, but would not then allow access to their contents. bbe6bf5ed01d2657d968f1f429b31bfec064292e - PsychoPy would crash if using the Classic Theme on a mac with a retina display (missing icons) 495fddd814ce1e0b79d4c6483a3d1bdd5ed4b5a5 - DotStim in local (Python) experiments was failing to update dots position (at all) #4694 - Error raised when creating a new Pavlovia project from the menu item rather than the toolbar button #4683 - Crashing on MacOS when running experiment due to Keyboard a) 'iohub' not loading due to gevent incompatibility and b) not then correctly falling back to 'event' backend

- Python
Published by peircej almost 4 years ago

psychopy - PsychoPy 2022.1.1

Highlights of 2022.1.x release series

  • Improved interface for searching, syncing and viewing Pavlovia projects from within the PsychoPy app
  • In online experiments you can now dynamically choose the resources your participant needs as the experiment progresses rather than downloading them all in the first dialog box
  • Can now insert new Routines from pre-packaged templates (such as Fixation, 2-alternative forced choice, feedback, etc)
  • QUEST handlers now available in PsychoJS including interleaved staircases
  • Most visual stimuli now have an "anchor" parameter to control how it's laid out relative to its position, and you can now set the alignment of text within a Textbox (with a handy demo to illustrate the difference between anchor and alignment!)
  • Added support for Pupil Labs eye trackers (thanks to Pupil Labs themselves) directly from the Builder

Compatibility Changes in 2022.1.x release series

  • Python 2.x is no longer supported
  • Filename timestamps now have a different default format (based on ISO 8601): 2022-01-14_14h39.36.092 for 2:39pm and 36s, 92ms See :func:psychopy.data.utils.getDateStr for details on the new functionality

Fixes since 2022.1.0:

  • MacOS app failed to run experiments with dialog boxes (broken dependency being packaged)
  • the application would hang while trying to push any changes to Pavlovia
  • added Japanese translations of the new menu items

- Python
Published by peircej about 4 years ago

psychopy - PsychoPy 2022.1.0

Highlights:

  • Can now insert new Routines from templates (such as Fixation, 2-alternative forced choice, etc)
  • Improved interface for searching, syncing and viewing Pavlovia projects from within the PsychoPy app
  • Dynamic loading of resources in online experiments so that not all resources in a study need downloading in the first dialog box
  • QUEST handlers now available in PsychoJS including interleaved staircases
  • Most visual stimuli now have an "anchor" parameter to control how it's laid out relative to its position, and you can now set the alignment of text within a Textbox (with a handy demo to illustrate the difference between anchor and alignment!)
  • Added support for Pupil labs eye trackers (thanks to Pupil Labs themselves) directly from the Builder

... and many more. For full list of changes see the PsychoPy Changelog

- Python
Published by peircej about 4 years ago

psychopy - Release 2021.2.3

Fixes:

  • on macOS the long-standing issue of the app freezing in the dock has now been fixed #4214
  • smoother handling of trying to run an experiment on a computer with different mic hardware than where the experiment was created #4210
  • Minolta LS100/110 was not working due to broken bytes/unicode conversion #4186
  • ElementArray was not honouring the contrasts (contrs) parameter #4196
  • Code Components were giving unnecessary warning about namespace issues. Should only warn if a variable name is being shadowed not if it's being used #4193

- Python
Published by peircej over 4 years ago

psychopy - PsychoPy 2021.2.2

Bug fixes for release 2021.2. See changelog for the new features in the 2021.2 release series

  • Builder outputs weren't fully honouring the userVersion() request, resulting in broken PsychoJS code 5f10b0a12 017c18f2f31e
  • Better documentation of (high-performance) VLC movie backend
  • iohub.Mouse.setPosition was not handling units correctly when given a float
  • Builder boilerplate for Microphone was looking for a transcription even if none was requested #4163

- Python
Published by peircej over 4 years ago

psychopy - PsychoPy 2021.2.1

Bug fixes for release 2021.2. See changelog for the new features in the 2021.2 release series

  • macOS was crashing on launch (caused by missing files from psychtoolbox stripped by macOS GateKeeper)
  • added cryptography lib explicitly to requirements for pip install 267483d00
  • Runner local debug of PsychoJS experiments was failing with MIME-type errors (Runner didn't know about new psychojs packaging) #4153
  • extended timeout when querying Pavlovia from the app (e.g. searching for projects) #4148
  • corrected reset of clock for new Button Component
  • DlgFromDict was crashing if labels were used (in code) #4137
  • short (<0.5s) sounds were not labelled as finished in PsychoJS boilerplate #4117
  • contrast parameter was not being applied to ShapeStim #4111

- Python
Published by peircej over 4 years ago

psychopy - PsychoPy 2021.2.0

Highlights:

  • Unified Eyetracker support via ioHub is now integrated into Builder for easy-to-use eyetracking studies, many improvements and a "MouseGaze" option to simulate eye movements while testing
  • Mic recordings for voice responses (Python and JS)
  • Transcription (speech-to-text) via Google Speech or using CMU Pocket Sphinx (free but currently on the Python lib only)
  • Improved JavaScript outputs from the Builder, providing more seamless migration to web-based studies

Compatibility Changes:

  • CHANGED: In Python the random number generators for TrialHandlers etc use an improved algorithm (PCG64) and are now indendent of each other but seeded random sequences will differ from previous versions

For the details of all changes see the Changelog

[Update: 2021.2.0.1 Standalone downloads include an updated version of msgpack_numpy due to an issue with the previous version. The PsychoPy code itself within that download is not changed]

- Python
Published by peircej over 4 years ago

psychopy - PsychoPy 2021.1.4

FIXES:

  • Py Lib: Sounds from files were being truncated #3689
  • Py Lib: TrialHandlerExt now compatible with current numpy (had an index error before) #3705
  • Py Lib: MoviStim raising an error if opacity was None commit:50334df2f
  • Py Lib: RIFT backend not working commit:428f62f80
  • Builder: When letter height was set to a variable it raised an error at run time TypeError: len() of unsized object commit:b1a77ca3a
  • Builder: Raising an error when floats looking like file names #3719
  • Builder: better handling of failure to updateVersion commit:afec41226
  • JS: TextBox when editable was not being reset on each trial #3706
  • JS: Keyboard should stop consuming keypresses at end of trial, even if not storing data #3706
  • JS: Add Sound.setSound() method to allow for dynamically deciding audio source psychopy/psychojs#154
  • JS: Allow for PIXI updates when dynamically adjusting opacity, including on polygons psychopy/psychojs#203
  • JS: Give Form radio type support psychopy/psychojs#281
  • JS: Improve ImageStim.setImage() attribute checking psychopy/psychojs#292
  • JS: Give TrackPlayer fades on play / stop psychopy/psychojs#296
  • JS: Fix TextBox eating up key presses psychopy/psychojs#302

- Python
Published by peircej almost 5 years ago

psychopy - PsychoPy 2021.1.3

FIXES:

  • Builder: Fix 'list' object has no attribute 'contains' with clickable mouse objects #3651
  • Builder: context (right-click) menu was not aligned with mouse in Flow for large Flows #3657
  • Builder: Slider styles were not being used correctly from previous versions (<2021.0) #3665
  • Builder: crash if the filter preference was used to filter out pure Python or pure JS Components from Builder #3649
  • Builder: Color Picker defaults to RGB to reduce chance of users pasting in RGBA to visual Components #3667
  • Runner: local debug of online studies working again (was trying to fetch the wrong PsychoJS version) commit:af6622c71
  • PsychoPy lib: better handling of unknown fonts (fall back to Open Sans and Alert) commit:fba09ef8d
  • PsychoPy lib: better timing on iohub for macOS key/mouse polling commit:fba09ef8d

- Python
Published by peircej almost 5 years ago

psychopy - PsychoPy 2021.1.2

FIXES on top of the new features in 2021.1:

  • Code Components were raising an error when trying to generate JS code #3643
  • Slider styles weren't generating correct JS code
  • New Button component (Python only) was not cleaning previous clicks so they tended to act as if clicking all trials! #3641

- Python
Published by peircej almost 5 years ago

psychopy - PsychoPy 2021.1.1

FIXES:

  • Error when trying to sync a new project with Pavlovia commit:33b3d80ea
  • TextBox in Builder was resetting to "default text" on each repeat rather than blank commit:8510d9f1a
  • Editable elements of Form were being erroneously drawn when they fell beyond the Form boundary commit:7d02c8251
  • Several improvements to styling of Form (on Python)
  • Added a preference for Builder to show only the online-compatible Components (or other similar options). This is a BETA testing feature

- Python
Published by peircej almost 5 years ago

psychopy - PsychoPy 2021.1.0

The first major release of 2021 brings a lot of fixes (we're focussing heavily on making the user experience more smooth at the moment).

On top of those fixes are a number of useful additions though, like the new Button component for adding text-based buttons with callback functions.

NEW:

  • Builder has a Button component to make it easier to have clickable image/text objects
  • Builder: Improved layout of Component dialogs:

    • Consistent tabs for common parameters (like pos, size, color...)
    • Component parameters that use filenames (sounds, images, etc.) now have a Browse... button
    • Component parameters that use Excel files now have an “open in Excel” button, if you click this when the field is blank it will open a pre-made template for you
    • Component parameters that are colors now have a button to open the color picker
  • Builder now features separate compile buttons for JS and Py and will open the JS file in the Coder view when compiled

  • Builder readme files now support markdown formatting (and .md extensions) psychopy/psychopy#3377

  • PsychoPy lib: refactored color handling via the :class:Color class

CHANGES (compatibility issues):

  • Changed: the new more-flexible parameters of PsychoPy Experiment Components makes experiments from 2021.1 will not run on older versions of PsychoPy. If you share your study with people using older versions make sure you set the :ref:useVersion setting to be 2021.1.0 or upwards so that it will run elsewhere
  • Changed: PsychoJS: orientation for PsychoJS now follows clock convention rather than engineering convention (polar coordinates, positive rotation is anti-clockwise) whereas PsychoPy used the clock convention. From this release onwards both use the clock convention or orientation/rotation.
  • Changed: Slider has additional params for colors and fonts of lines/labels/marker that will not exist on older installations
  • Changed: BufferImageStim was using an incorrect rect specification for selecting the region of the screen - it was using a bottom-left instead of PsychoPy standard center #3597

FIXES:

  • All: Curly quotation marks (“”), which are sometimes automatically put into text boxes by MacOS and certain keyboard settings, will now be automatically replaced with regular quotation marks (“) when in code. To use curly quotation marks still, you can “escape” them by putting a \ before them.
  • Lib: Fixed syntax warnings on Python 3.8 #3344
  • Lib: The Pygame audio backend can be used again. #3382
  • Lib: Several fixes to iohub ( #3348, #3399, #3412, commit psychopy/psychopy/3912167)
  • Builder/Coder: Fixed the error raised when the “Plot gamma” button in the monitor center is clicked but no calibration data is loaded. #3384
  • Coder/Builder: Correct detection of retina/high-dpi displays within wxPython on MacOS, Linux, and Windows.
  • Python Lib: TextBox stim text layout not working on linux and macOS.
  • Python Lib: various minor fixes to TextBox2
  • Coder: Miscellaneous bug fixes to demos/coder/stimuli example scripts.
  • Coder: Fixed a possible error when parsing code to build the source tree.
  • Coder: Handle error caused when closing editor tabs.
  • Builder: The “Routine” pane can no longer be- moved which broke the builder interface.
  • Coder: Make Coder's default size reasonable on fresh install. #3472
  • Coder: Bug where opening an unsupported file type raises an error. #3519
  • Coder: Fixed bug where the source tree raises and error if it comes across things it cannot correctly parse.
  • Online: Prevent Safari from beeping in full screen. psychopy/psychojs#266
  • Online: Slider sizing, tick placement, and event handling improvements. #249 #263 #264
  • Online: Fixed ShapeStim instances ignoring the closeShape property. psychopy/psychojs#245
  • Online: Support TrialHandler.Method.FULLRANDOM. psychopy/psychojs#247
  • Online: Improved mouse event accuracy overall. psychopy/psychojs#248
  • Online: Fixed ShapeStim variants ignoring the contrast property. psychopy/psychojs#250
  • Online: Fixed an issue translating ‘\n’ encoded line breaks when importing conditions files. psychopy/psychojs#251
  • Online: Fixed TextBox click handling. psychopy/psychojs#258
  • Online: Improved MovieStim autoplay. psychopy/psychojs#260
  • Online: Allow for parsing of array-like strings when setting VisualStim position or size. psychopy/psychojs#262
  • Online: Prevent Safari from beeping in full screen. psychopy/psychojs#266

- Python
Published by peircej almost 5 years ago

psychopy - Release 2020.2.10

Further fixes on top of the new features in 2020.2:

- Python
Published by peircej about 5 years ago

psychopy - Release 2020.2.9

Further fixes on top of the new features in 2020.2:

- Python
Published by peircej about 5 years ago

psychopy - Release 2020.2.8

FIXES:

  • support for macOS 11.1 Big Sur (updated mac pyglet to 1.5.11 and mac Python to 3.6.8)
  • fixed default blank text in textBox for online studies actually showing a pair of quotes commit:786e1d3f7
  • flag to alphabetically sort Exp Info fields was being set always true #3279
  • Position and Size params for Form Component were being requested twice commit:d45ca99c9
  • fixed annoying (but harmless) error 'ModuleNotFoundError: import of pyglet halted; None in sys.modules'
  • further fixes to Runner not showing print() statements commit:e0ec67e6f
  • Routine panels now support mouse scroll wheel to navigate commit:6da3707d3

- Python
Published by peircej over 5 years ago

psychopy - Release 2020.2.6

Fixes on top of the new features in 2020.2:

  • missing resource error in some online experiments, caused by incorrect relative relative paths in Settings>Online>Resources #3285
  • JavaScript Code Components for Before Experiment is now moved earlier in the script - it needed to be positioned before first function opens #3289
  • TextBox was missing setBorderColor and setFillColor so these needed code to change dynamically commit:eb915732d
  • TextBox was carrying the text from one trial into the next commit:330f5fa1d
  • Coder FoldAll menu item was having no effect commit:6d4f66b0d
  • TextStim opacity can now be set dynamically #1045
  • Loop OK button was sometimes left disabled if invalid inputs commit:3a1104f71
  • fixed non-uniform probabilities of conditions file row selection suggested in docs #3256
  • workaround for scipy.optimize import error on windows machines that are using BitLocker #3287
  • if a TextBox is the only editable thing on the screen then give it focus #3269

- Python
Published by peircej over 5 years ago

psychopy - Bug-fix release 2020.2.5

Lots of fixes on top of the features introduced in 2020.2

  • Now code-signing the installer on Windows as well as macOS
  • Failing to send print statements to output, depending on how PsychoPy was launched commit:4773ec32d Only occured if you launch by double-clicking file or if you close Runner
  • Coder crashing on macOS when using editor with autocomplete=True commit:687e81dfb
  • ioHub fix for unicode strings commit:5451ea49a
  • Marker color on RatingScale was not resetting (but use Slider anyway!) #3140
  • Runner sometimes ran wrong script (and never knew which to stop). Now better tracking of running process #3142
  • Slider not honoring the order from the Routine (should render in order from top down) commit:9e0299544
  • JavaScript Code Components for Before Experiment were having no effect #3151
  • error with trying to poll() on a script process that was NoneType commit:cc56713cc
  • Editable textboxes were still able to be drawn if you clicked on them (even when they were not told to draw()) commit:8253f0696
  • warn against using global JS names in experiment #3177
  • Brush not being reset in JavaScript commit:88812c3bd
  • Movie reset issue #3183
  • countinueRoutine=False had no effect for online studies if in Begin Routine block
  • errors that should have appeared in the console were sometimes appearing in the (app) error dialog commit:d44f24d63
  • more tolerant of whitespace in Emotiv Client ID file
  • Runner AddTask dialog had wrong format for file filter #3213
  • Sound volume attribute was having no effect on the PTB backend #3215
  • Fixed fill/line colors of TextBox #3222
  • Error in JavaScript code when Movie Component had blank stop time commit:0b4ddcffc
  • Better handling of stdout encodings when console not set to utf-8 encoding commit:d77535906
  • Improved Resources box for the online (using relative references commit:c9558bfd8 and resize with dialog commit:d607271db)
  • JavaScript code-conversion now uses our own built-in round() function mimicking the same function in Python commit:da426d9e3

- Python
Published by peircej over 5 years ago

psychopy - Release 2020.2.4

FIXES: - improved search for resources files whne compiling JS (was crashing if using root folder and using code to specify the conditions file) 09816985d5 - the Before Experiment section of Code Components wasn't being written for JavaScript components bbfd310 - error with wx complaining about Alignment (in wx 4.1) a32e2ca ae508d6 - TextBox Component default size is None (=autoexpand) - TextBox editable=True had no effect on the Builder outputs to JavaScript - themes menu correctly updates what thte current them is in all open windows c5cdc49 - custom fonts that didn't provide a "family name" were causing the font search to crash ef078ab - bug trying to us an invalid "useRunner" preference 3532e4c - JavaScript studies failed if there were 2 Mouse Components in a single Routine 0e0b26d4dcc 32a6be2 - improved Big Five Inventory demo - blank TextBox Component should use blank string rather than None 39bf1bb - further fix to macOS stapling (might not have worked for users with no internet connection?) - Form Component now honors being set to show only at certain times (in keeping with other visual Components) 35ad5bc - Coder now correctly providing syntax styling for JS and C

- Python
Published by peircej over 5 years ago

psychopy - Release 2020.2.3

All the highlights of the 2020.2.2 but with these FIXES:

  • Mac version now fully signed and notarized for GateKeeper! For some time it's been an annoyance that Apple would block PsychoPy because of it not being from a "known developer" but in recent updates GateKeeper has become so aggressive the app has been crashing on startup for some macOS versions. Hopefully Apple will now let us launch in peace!
  • better handling of non-loading fonts in the application On mac some fonts weren't being found (although this might be due to the now-solved gatekeeper issue)
  • auto-translate py->js for parameters with $ We were translating code components but not parameter boxes where the user was switching to code using $ #3064
  • better handling when a piece of code fails to convert (warning not error) #3063
  • show progress (in Runner) while syncing project with Pavlovia #3061
  • various fixes and additions to Japanese translations

- Python
Published by peircej over 5 years ago

psychopy - Mac Test 2020.2.3

Testing a new version for Mac. Many thanks to those that have helped us work out why it wasn't running on some macs. A number of issue have been solved and this is a chance to test what versions of macOS it now works on. I believe there are still some issues with Apple blocking parts of the application from working properly but hopefully we'll get a fully code-signed version working soon too.

- Python
Published by peircej over 5 years ago

psychopy - Release 2020.2.2

Couple of quick fixes (don't crash if the system has an invalid font) and added a Mac Standalone dmg

As always be cautious - this is an early release and lots of code has changed. In particular in this version the new TextBox and Form objects are certainly in beta and should be tested carefully in your study

For full details see https://www.psychopy.org/changelog.html

2020.2 HIGHLIGHTS :

  • New look, including dark mode, customizable themes and new flat buttons (you can choose a Classic theme to get the old buttons back for comfort)
  • Now have an class for /editable/ text called TextBox2 (Beta testing) :
  • Form (Beta testing) components now work online and support (in both lab-based and online versions):
  • Improved Coder
  • Improved Runner

  • Online studies don't need to use html folder

  • Added support for Emotive and BrainProducts EEG hardware

  • CSV data outputs now have an option to set the delimitter (e.g. ; or \t rather than ,)

CHANGES:

  • PsychoJS code now uses the same syntax for loop termination as PsychoPy allowing either nameOfLoop.finished=true or currentLoop.finished=true
  • Python 2.7 is no longer supported. We recommend Python versions 3.6 or 3.7 (3.8 is not tested likely to work)

Sorry - no Mac Standalone right now but you can install using pip!

- Python
Published by peircej over 5 years ago

psychopy - Psychopy 2020.2.1

As always be cautious - this is an early release and lots of code has changed. In particular in this version the new TextBox and Form objects are certainly in beta and should be tested carefully in your study

For full details see https://www.psychopy.org/changelog.html

2020.2 HIGHLIGHTS :

  • New look, including dark mode, customizable themes and new flat buttons (you can choose a Classic theme to get the old buttons back for comfort)
  • Now have an class for /editable/ text called TextBox2 (Beta testing) :
  • Form (Beta testing) components now work online and support (in both lab-based and online versions):
  • Improved Coder
  • Improved Runner

  • Online studies don't need to use html folder

  • Added support for Emotive and BrainProducts EEG hardware

  • CSV data outputs now have an option to set the delimitter (e.g. ; or \t rather than ,)

CHANGES:

  • PsychoJS code now uses the same syntax for loop termination as PsychoPy allowing either nameOfLoop.finished=true or currentLoop.finished=true
  • Python 2.7 is no longer supported. We recommend Python versions 3.6 or 3.7 (3.8 is not tested likely to work)

Sorry - no Mac Standalone right now but you can install using pip!

- Python
Published by peircej over 5 years ago

psychopy - Release 2020.2.0

As always be cautious with the first version in a major new release stream (the x.x.0 release) as lots of code has changed. In particular in this version the new TextBox and Form objects are certainly in beta and should be tested carefully in your study

For full details see https://www.psychopy.org/changelog.html

2020.2 HIGHLIGHTS :

  • New look, including dark mode, customizable themes and new flat buttons (you can choose a Classic theme to get the old buttons back for comfort)
  • Now have an class for /editable/ text called TextBox2 (Beta testing) :
  • Form (Beta testing) components now work online and support (in both lab-based and online versions):
  • Improved Coder
  • Improved Runner

  • Online studies don't need to use html folder

  • Added support for Emotive and BrainProducts EEG hardware

  • CSV data outputs now have an option to set the delimitter (e.g. ; or \t rather than ,)

CHANGES:

  • PsychoJS code now uses the same syntax for loop termination as PsychoPy allowing either nameOfLoop.finished=true or currentLoop.finished=true
  • Python 2.7 is no longer supported. We recommend Python versions 3.6 or 3.7 (3.8 is not tested likely to work)

- Python
Published by peircej over 5 years ago

psychopy - PsychoPy 2020.1.3 (bug-fix)

Many new features in 2020.1:

See changelog#2020.1

Fixes in this patch release:

  • Runner was not launching Coder scripts from their own directory #2819
  • csv files should allow separator to be ; and decimal place to be , #2825 #2828
  • PsychoPy application was now launching in Windows versions <8.1 (which don't know about high-dpi displays) #2820

- Python
Published by peircej almost 6 years ago

psychopy - PsychoPy 2020.1.2 (bug-fix)

Bug fixes:

  • Keypad key responses were not showing up as numbered responses under the new Keyboard class #2812
  • Cedrus button box had an error int he Builder-output code added in 2020.1.1 commit:186ec5876
  • Code Component was accidentally forcing people to use code auto-conversion commit:5c57d0c9d

- Python
Published by peircej almost 6 years ago

psychopy - 2020.1.1

Many new features in 2020.1:

See changelog#2020.1

Fixes in this patch release:

  • Several tweaks to the new Runner dialog:

    • double-click takes you back to the file in the appropriate Builder/Coder view
    • Ctrl-R within the Runner run the file (so you can do Ctrl-R twice from builder and you're running)
    • Alerts separated from stdout so they're more visible
    • Alerts for Builder are checked on experiemnt selection rather than on script compile time
    • Alert was testing stim size/pos incorrectly if using units "from experiment settings"
  • Mac keyboard access should now bring up a dialog taking you to the correct System Preferences panel

  • Fixes to Eyelink 1000 communications from iohub #1a8c6923b0

  • Better support for high-res displays on Windows #2795

  • Further tweak to readline issues on linux #6975040fae #4a80060b94

- Python
Published by peircej about 6 years ago

psychopy - PsychoPy 2020.1.0

This version adds lots of great new features for online studies, for running and checking your experiments, and for 3D worlds!

NEW:

  • Many exciting tools for 3D rendering. See Coder demos menu for some examples
  • Online studies now support shapes Cross, Star and regular polygons (nVertices) #2673
  • Online studies have better cross-browser compatibility including fixed support for edge
  • Online studies have substantially improve timing. In fact, PsychoPy now has the best timing of any online system, consistently under 4ms precision for RTs! <https://psyarxiv.com/d6nu5/>_
  • New Runner dialog:

    • provides some 'Alerts' about things that might go wrong in their study #2646
    • allows you to run/save/open a set of studies without opening a window for each one
    • allows online studies to run locally in "debug" mode to test the study before uploading
  • Support for pyglet 1.4, including support for text alignment in multi-line text #2693

  • CHANGED: rendering of text stimuli may not look quite the same. We now have new parameters anchorHoriz and TextAlign rather than alignHoriz but this may not act the same in all cases #2693

  • Online studies no longer require a separate html folder. #2687 In some cases (e.g. when adding extra resource files) it may be preferable to keep the html folder and that's currently still the default for new studies but ExperimentSettings>online>folder can now be set to blank and the html/js files will be saved alongside the psyexp/py files. This reduces file duplication.

  • Support for QUESTplus staircases

  • Pyglet backend now supports 10-bit framebuffer #2672

  • Updated support for Oculus Rift #2655

  • Added a :class:~psychopy.visual.Pie (pacman) stimulus #2652

  • Substantially faster rendering of DotStim #2647

FIXED:

  • Rect stimulus now aliases size with width and height so that users can refer to either #2650
  • Faster updating of DotStim dot locations (so fewer dropped frames) #2647
  • continueRoutine can be set in the BeginRoutine block rather than the EachFrame block #2680
  • Tab key was incorrectly reporting itself as 'escape' in new Keyboard object #2620
  • many more!

- Python
Published by peircej about 6 years ago

psychopy - 3rd release candidate for 2020.1.0

Edge support added (back) in and better timing for web studies (need to recompile the experiment to the new version and re-upload scripts)

- Python
Published by peircej about 6 years ago

psychopy - 2nd Test release for 2020.1.0

- Python
Published by peircej about 6 years ago

psychopy - Testing only Release 2020.1

Testing only

- Python
Published by peircej about 6 years ago

psychopy - Bug-fix release 3.2.4

FIXED:

  • Mitigated the gamma get/set fails caused by Microsoft release 1903. PsychoPy
    • now avoids using these calls unless gamma-setting is really needed
    • gives more info about the cause. See more info in troubleshooting gamma ramp
    • provides an option to skip gamma-setting entirely
  • Slider wasn't allowing the units to be "from experiment settings" commit:23d80b49f
  • Setting the conditions rows from another conditions file was causing "Error path is on mount... start on mount..." commit:2e8cd2183
  • Mac 'tab' key was reporting itself as 'escape' with new Keyboard commit:95326cadd
  • PSTBox Python3 incompatibility (although there may be more) commit:da83429d6
  • better scaling of rating scale (Slider) in Form commit:d115e63cb
  • Stencil for Form was being activated immediately rather than when needed commit:9daeba94d

- Python
Published by peircej over 6 years ago

psychopy - Bug-fix release 3.2.3

FIXED:

  • for the pip install version (incorrectly packaged) there was an error "NameError: name ‘pythonExec’ is not defined"
  • JS version system now drops the final (bugfix) release number (3.2.3 -> 3.2 in JS lib)
  • Cedrus response box now supports keys as a variable value in Builder #2608
  • QUestPlusHandler now supports "unkown" kwargs #2610

- Python
Published by peircej over 6 years ago

psychopy - Bug-fix release 3.2.2

FIXED:

  • timing of first frame was being given an extra (unecessary) delay if images were loaded 8ddab41
  • potential app crashes if no internet avilable 63aa7e0 b3e15f9
  • Builder under OS X was not launching experiments if filename contained a space 1b205df

- Python
Published by peircej over 6 years ago

psychopy - Bug-fix release 3.2.1

FIXED:

  • Python2 installations crashed when trying to launch studies from Builder due to the use of a modern argument to subprocess not supported by Python2 #2596
  • If Builder script had an error then printing of that error was sometimes being split across the output frame and the output panel of Coder #2594

- Python
Published by peircej over 6 years ago

psychopy - Release 3.2.0

It's all about the new timing improvements!

TIMING improvements:

  • new Sound backend 'PTB' which is much faster than any of the alternatives on all operating systems (using the C code from Psychtoolbox thanks to Mario Kleiner) :
    • when combined with pre-scheduling (e.g. start playback on upcoming win.flip()) this can generate sub-ms precision and sub-ms lag!
    • works with standard audio hardware
  • better timing of visual stimuli when timing by 'secs' (rather than frames):
    • new feature to request info from the Window about next expected flip
    • t in a Builder scripts is now time from first frame (so synched to visual stims)
  • better timing on the keyboard responses of the JavaScript experiments due to timestamping asynchronously with your script

Also ADDED:

  • Standalone installations now provide an updated Cedrus library, pyxid2
  • Support for new LabHackers USB2TTL8 device (parallel port alternative)
  • Envelope grating now has exponent (power) option

FIXED:

  • Long-standing issue with lots of print-statements (e.g. on every frame) crashing Builder scripts
  • Support for Pyglet 1.4 (although text scaling appears to have changed a little)
  • Some serial devices (photometers) were not compatible with Python3 string/bytes conversion
  • Too many more to mention...!

- Python
Published by peircej over 6 years ago

psychopy - 2nd TESTING release for PsychoPy 3.2.0

TESTING that the release works on all platforms as expected Fixed some settings around the new audio lib (higher priority audio now by default and enabled for translation)

- Python
Published by peircej over 6 years ago

psychopy - TESTING release for 3.2.0

PsychoPy 3.2 introduces:

  • a faster sound engine, based on Psychtoolbox sound
  • better timing for Builder Components, by predicting actual time of screen flips

We're currently just testing this version so beware (use 3.1.5 for actual studies)

- Python
Published by peircej over 6 years ago

psychopy - Release 3.1.5

FIXED:

  • a new small rendering glitch. When using an image with mask=None and interpolate=False the opacity of the image was reduced at the edges of the stimulus GH-2526

- Python
Published by peircej over 6 years ago

psychopy - Bug-fix release 3.1.4

FIXED:

  • further fix to Mic for experiments created under the previous version (our last fix only solved the problem for new Mic Components being inserted) #2512
  • fixed demo timeByFrames which was set to use Qt4 for plotting instead of Qt5 (which has been the default version provided since the switch to Python3)
  • fixed crash in the new Keyboard class caused by psychtoolbox lib incorrectly converting unicode characters in the device name (this was actually a fix in kleinerm/Psychtoolbox-3@a5c37855a4a097 ) that needed repackaging
  • error with Variable Component trying to save start/stop times (that might not exist for that variable) commit:e1bca1bdc
  • some data could get orphaned (and not saved) by being collected in the outer section of a nested loop commit:8b7fda826
  • when using Mouse.getPos() with retina display and win.units=='pix' the mouse pos was double the expected value commit:a78d74420

- Python
Published by peircej over 6 years ago

psychopy - Bug-fix release 3.1.3

FIXED:

  • StairHandler code from Builder was failing in 3.1 due to new tStartRefresh data being sent to wrong method (addData not addOtherData) #2497
  • Routines in online studies that weren't included in (or before) a loop were not having their data saved #2496
  • Fix to audio capture error "bad argument at position 0" from Builder experiments commit:dadb9be25
  • PsychoPy app didn't recognise projects that were pointing to gitlab ssh targets (e.g. created in terminal) commit:08d7937

- Python
Published by peircej over 6 years ago

psychopy - Release 3.1.2

FIXED:

  • teething problems with new Keyboard class:
    • in Builder there was stuttering of sounds and lags in frame timing caused by accidentally creating lots of Kyeboards while checking for 'escape'
    • durations were being reported with correct magnitude but as negative values commit:e43e47460
    • problem on Windows if keyboard device name contained unicode (that problem was actually in psychtoolbox package, now updated in Standalone)
    • on Windows, the 'return' key was being called 'num_enter'
  • videos were not running online commit:9779579b6 commit:51b0824f7
  • fixed rounding error in filtering of NoiseStim commit:5d0e360d8
  • iohub waitKeys should act like getKeys if maxWait<=0 commit:e33f733f3
  • error if unicode items in the new Form class commit:8287674f4

ADDED:

  • videos in Builder now have a Loop playback parameter
  • Standalone distributions now include tobii-research package

- Python
Published by peircej almost 7 years ago

psychopy - Release 3.1.1

ADDED:

  • Added the loop playback parameter to Movie Components

FIXED:

  • The new Keyboard class wasn't clearing all events when requested (e.g. at the beginning of stimulus onset) #2442
  • Microphone on windows failed if user didn't manually set pyo to be preferred lib. That isn't now needed commit:700b72cd6
  • pyo lib is now provided in the 64 bit Python3 Standalone (win)
  • Parallel port lib in the Windows 32-bit version wasn't working (installed a new dll)
  • OpenCV in Mac Standalone wasn't working (updated to be a package not a single file)
  • Sounds with variable duration didn't stop properly #2446
  • Fix to JS output when useVersion was set to something
  • Cedrus XID lib is now working on Python3 (although their official one is yet to come)

- Python
Published by peircej almost 7 years ago

psychopy - PsychoPy 3.1.0

Highlights: - Adds the new Keyboard class for faster - Improved ioHub and eyetracker compatibility for Python3 (although this is still very much in a beta state)

- Python
Published by peircej almost 7 years ago

psychopy - Release 3.0.7

Bugfix release

FIXED: - local project repeatedly asking to Create New Pavlovia project when one already exists c3f0d203f - Fixed "No module named 'PyQt4'" on MacOS<10.10 caused by PyQt dropping support for Mac10.9 in PyQt5.9 #2375 - don't allow movie->online to use units 'from experiment settings' 8cbaf8a713 - Py3 string/byte fixes for CRS ColorCal 3bf1b7e5d4 d49f154a0 - various fixes to Japanese translations

- Python
Published by peircej almost 7 years ago

psychopy - Release 3.0.6

FIXED:

  • TrialHandler.next() was accidentally removed by Python3 conversion and now added back in commit:c44621ab0
  • various fixes to iohub Python3 compatibility (especially for datastore)
  • permit reading "xlsm" files as conditions files (Excel files with macros although these will be ignored by Python) commit:9e11bfd61
  • added space key to the GlobalEventKeys #2310
  • fix to pasting into Code Component with windows EOLs
  • fixes to Japanese translation (and bug around saving Static Components in Japanese locale)
  • packaging: PyQt package inside one of the Standalone distros was broken

- Python
Published by peircej almost 7 years ago

psychopy - Release 3.0.5

FIXED:

  • sounddevice backend not importing on systems that don't have readline commit:a9bbe98b3
  • better automated Pavlovia logging-in for users, based on project commit:460889e5d
  • faster auto-logging for changes involving numpy arrays (e.g. elexment arrays XYs) commit:e5dfc9e7d
  • fix paste when using legacy macOS end-of-lines (convert them to '\n' always) commit:94c5ee6a2
  • updated Japanese translations #2292

- Python
Published by peircej about 7 years ago

psychopy - Release 3.0.4

FIXED:

ADDED:

  • New Builder Pavlovia button to examine properties of current project
  • Added star to ShapeStim (currently only in Python) commit:8e6c40993
  • Added tooltips for Pavlovia buttons

- Python
Published by peircej about 7 years ago

psychopy - Release 3.0.3

CHANGED: Slight change to creation of new experiments, which will now default to the units of 'height' rather than 'use preferences' (that had led to potential confusion when the experiment moved to a different computer and makes no sense at all for online studies)

FIXED:

ADDED:

  • star available as a Shape in Builder (but not online yet)
  • experiment info dialog now supports drop-downs to constrain options (e.g. ['male','female','other'] )
  • BBTK now supports mode Digital Stimulus Response Echo commit:5da328fcf

- Python
Published by peircej about 7 years ago

psychopy - Release 3.0.2

Bug-fix release

FIXES:

  • Builder's PsychoJS outputs were not updating their versions (pointing to the version the script was first created in, not the version currently used) #789d24ee45aa
  • sounddevice under Python2 had a bug with being unable to copy() #c1317b6b6355e
  • now prevent the user from accessing useVersion if that version can't be supported by the current install (e.g. incompatible Python version or wx version)
  • Windows Standalone version now includes dependency for pyqmix pumps

- Python
Published by peircej about 7 years ago

psychopy - PsychoPy 3.0.1

FIXED:

  • JS outputs were connecting to outdated PsychoJS version (3.0.0b11 instead of 3.0.0)
  • updated numpy (to 1.15.4) and scipy (to 1.2.0) for windows installs using https://www.lfd.uci.edu/~gohlke/pythonlibs/ in the hope of fixing numpy problems for some windows boxes
  • JS string values in Py27 were being convert to b'theString' in JS outputs which obviously broke JS

ADDED:

  • Slider support from JS outputs

- Python
Published by peircej about 7 years ago

psychopy - PsychoPy 3.0.0

PsychoPy3 is the new phase of development including support for online studies at the Pavlovia.org experiment server. Many of the features here are relatively new and, although we have spent hundreds of hours developing and testing them you should be more cautious than ever checking your experiment and data outputs.

PsychoPy 3.0.0

Although there were several beta versions preceding this, the changes described below are the broader changes since 1.90.3 (the previous "stable" version).

NEW:

  • Online studies with heavily revamped PsychoJS library :

    • new PsychoJS supports text, images, keyboards, mouse, sounds, movies, sliders
    • you can also now include Builder Code Components that include both Python and JavaScript optional code so your components will work online too
  • Pavlovia.org where PsychoPy can search, sync and create experiments :

    • search for existing studies
    • create your own
    • run (and collect data into csv files or mongoDB)
    • sync, including (push changes to the server and fetch back data)
  • Additional new features :

    • Slider class, recommended replacement for RatingScale (more efficient, more flexible and simpler to use)
    • support for Oculus Rift (only on Windows 64bit Python 3) all due to Matthew Cutone

Many bugs have also been fixed, notably in terms of audio library problems and memory problems with MovieStim3.

- Python
Published by peircej about 7 years ago

psychopy - Beta 13 of PsychoPy3.0.0

Fixed:

  • a further issue in Pavlovia sync when pushing an experiment for the first time
  • wxPython bugs using redo (caused by wxPython<4.0.4). Now packaging 4.0.4alpha in the Standalone
  • Standalone supports GLFW windows now (the lib wasn't being provided properly before)
  • Mouse Component fixes from Builder

- Python
Published by peircej about 7 years ago

psychopy - Beta 12 of PsychoPy 3.0.0

  • Improvements to sync and permissions problems:

    • you no longer need to enter an additional password for sync (beyond that used to log in to Pavlovia initially)
    • Standalone is now providing its own git executable
    • dulwich is now used for most git operations except for push/pull
  • PsychoJS/Pavlovia fixes and improvements to online studies:

    • Data collection can now be deactivated and can be CSV or MongoDB
    • Fixed variables in the data files (sometimes missing conditions columns)
    • Sound files now playing as well as tones
  • Other major additions and fixes:

    • Added a Joystick Component to Builder (similar behaviours to a Mouse Component). #2112

- Python
Published by peircej about 7 years ago

psychopy - Beta 11 of PsychoPy 3.0.0

We've fixed a number of further bugs with PsychoPy3, both in the online and local experiments.

Online fixes:

  • data files were being saved with some duplicate columns and sometimes incorrect rows!
  • there are various improvements to connectivity with pavlovia.org
  • pavlovia.org itself is now able to deactivate and reactivate studies

Local application:

  • (all) movie stimuli were crashing the program with MovieStim3 class!
  • Joystick is working and has a Builder Component
  • many smaller fixes

- Python
Published by peircej over 7 years ago

psychopy - PsychoPy3 Beta10

Fixes launch problems on MacOS in particular, but various minor fixes too

- Python
Published by peircej over 7 years ago

psychopy - PsychoPy3 Beta9

  • Refactoring of PsychoJS to use ECMA6 modules system:

    • e.g. import * as visual from './lib/visual-3.0.0b3.js';
    • this is good for performance and means that the psychojs lib can be separated better into usable chunks
    • we also moved to global declarations of variables using var myMariable; but this is done automatically for user variables (even from Code Components)
  • added the "radio" style to Slider so we can create radio choice boxes

  • lots of updates to the head mounted display tools

  • FIXED:

    - another packaging problem (esprima lib not being found on Standalone)

The Python2.7 release is still not packaging correctly on the MacOS so we only have a Python3 (default) release in this version.

- Python
Published by peircej over 7 years ago

psychopy - PsychoPy3 Beta8

Various bug fixes including:

  • gamma table not "unset" correctly on windows #1972
  • color-picker dialogs (right-click on a color parameter) were not setting stimulus colors due to returning a n RGBA value instead of RGB #1987
  • further bug-fix to MovieStim3 unloading of sounds #1969

- Python
Published by peircej over 7 years ago

psychopy - PsychoPy3 Beta7

Fixing many further bugs!

Note that the 'default' Python being provided is now Python 3.6 but you can stick to Python2.7 by choosing that alternative standalone package below (labelled _PY2 )

  • Fixed problem with Image (Pillow) library not loading properly on some Macs
  • Fixed problem with psychopy folder itself not being found when launching the PsychoPy3_PY3 standalone on Windows
  • Turned off startup tips in the hope that sporadic beachballs on Py2 Mac package are fixed
  • Fixed minor autoindent problem on Py3 installs for all platforms
  • Fixed TextStim on Mac Py2.7 install (not finding configparser) although the fix was not to allow arabic_reshaper support on this package - use the Python3 or windows release if you need arabic text reshaping
  • several small fixes and documentation for the new Slider stimulus

- Python
Published by peircej over 7 years ago

psychopy - 3.0.0b6

FIXED:

  • several sync problems with pavlovia.org: commit:1f0d8bcab - sync when an empty project already exists is now fine - after creating the project, changing a file and repeating sync, it didn't detect the changed file - sync to a project that has been deleted remotely now asks if you want to recreate the project - better reporting of error if sync fails

  • further fix to memory leak in MovieStim3 commit:9d0c127d8

  • fix to PsychoJS output code: loops were not being compiled correctly commit:6a8e700a3

- Python
Published by peircej over 7 years ago

psychopy - 3.0.0b4

4th beta test of PsychoPy 3.0

  • fixes to wx gui problem under win32 python2 installation
  • when user presses run-online but hasn't gone through the steps (export/sync) now taking them through those
  • can now sync from the coder view as well

- Python
Published by peircej over 7 years ago

psychopy - Release 3.0.0b3

3rd beta version of the new PsychoPy3

FIXED:

  • a further issue with the app not starting on some machines (due to the first-run wizard)
  • searching pavlovia projects now support stars and forks in sorting
  • Slider forceEndRoutine was having no effect
  • sounddevice problem when playing a mono sound to stereo stream or vice-versa

ADDED:

  • support for Oculus Rift (only on Windows 64bit Python 3) all due to Matthew Cutone
  • Japanese translations to many of the new features/controls

- Python
Published by peircej over 7 years ago

psychopy - Release 3.0.0b2

FIXED:

Issues with PsychoPy app not launching on some machines

  • if git isn't installed PsychoPy will still run and give yousensible warnings when you try to use those features
  • the firstRun benchmark/wizard is disabled. It was also causing crashes with no error messages on some machines (not clear why)

- Python
Published by peircej over 7 years ago

psychopy - Release 3.0.0b1

The first public beta version of PsychoPy3!

This release is something of a milestone. It can:

  • output your code in HTML/JS
  • sync projects with the new pavlovia.org site for experiment sharing and launching
  • use a new, simpler Slider instead of RatingScale

There are also many new smaller features and fixes

BUT this is absolutely definitely BETA software (hence the b1 suffix in the version). You should expect things to go wrong at this stage and discuss them on the forum (discourse.psychopy.org)

- Python
Published by peircej over 7 years ago

psychopy - Release 1.90.3

Final bug-fix release before the new PsychoPy 3.0 launch

FIXED: * Fixes to MovieStim2 not having vlc available in Mac distribution * Added msgpack_numpy to mac distribution * Fixes event code creation for Black Box ToolKit #1830 * Removed redundant 'apply' button in preferences #1832 * Fixes problem with setting gamma with pyglet v1.3+ #1834 * Removes 'unknown color space' warning if user is using named colors #1836 * Fixes refcount error, raised when monitor centre was closed #1838 * For Py3, JSON calibration files are now loaded into monitor list #1839 * Fixes layout problem with RTL locale causing broken dialogs in the app #1840 * Anti-buzzing fix applied to sounddevice backend #1847 * Implements checks for variable name clashes between builder and conditions file #1852 * Reduced code redundancy for _getRegionOfFrame, and can get single pixels from front buffer #1854 * Hex color space can now be specified as a window setting in Experiment Settings #1857 * Sound duration can now be specified in conditions files #1858

- Python
Published by peircej over 7 years ago

psychopy - Release 1.90.2

Bug fix release

FIXED:

- Python
Published by peircej almost 8 years ago

psychopy - Release 1.90.1

ADDED:

  • Option to move Y position of RatingScale in code #1776
  • Added option of providing extra arguments to scipy.optimize functions when fitting from psychopy.data #1772

FIXED:

  • Problem with icon path in GLFW backend on linux commit:bbf515216
  • PUINT didn't exist in older win32 package but was expected by pyglet
  • Better handling of conditions file with empty columns (from Excel adding them or from missing headers)
  • Several fixes to ioHub in Python3 #1770 #1771 and #1775
  • Mouse reporting incorrect position when using Mac Retina display commit:54ced9c26
  • sounddevice was failing to find portaudio.dylib on Mac

- Python
Published by peircej almost 8 years ago

psychopy - Release 1.90.0

This is a very big release with lots of refactored code. Be careful! There are likely to be issues!

This is the first release to be Python3 compatible and that took a lot of code refactoring. Also note that the Standalone distribution now comes in both Python3.6 and Python2.7 flavours.

There are many other new features in this release too though:

  • Using pip install psychopy now installs all the necessary dependencies (on either Py2 or Py3)
  • Builder: Mouse now allows stimuli to be "clickable" turning them in to buttons!
  • Visual "Noise" stimuli for use in vision studies (thanks Andrew Schofield)
  • Visual "second order" stimuli for use in vision studies (thanks Andrew Schofield)
  • Builder: ShapeStim now handles additional shapes, like Cross (actually only cross right now, but easy to add more custom shapes)
  • Monitor calibration files can now be saved/loaded in JSON format

Also many bug fixes!

- Python
Published by peircej almost 8 years ago

psychopy - Dev release 1 for 1.90 (testing only)

This version contains very substantial refactoring of a lot of code. We really don't recommend you use it "for real" unless you know what you're doing.

- Python
Published by peircej about 8 years ago

psychopy - Release 1.85.6

A bug-fix release to solve a few machine-specific issues.

  • FIXED:

    • on some computers the data weren't being saved if user pressed 'Esc' during experiment. commit:193ce541
    • fix for the "Unable to share contexts" error on machines that don't support OpenGL shadow_window commit:a1c29d3a
    • pyo not always closing properly #1614
    • problem with non-ascii characters in conditions file name commit:32204a200
    • loading of preferences was failing if the audio backend wasn't a valid option commit:c2d11477b
    • Builder demo images_blocks had wrong units for images #1601
    • no longer tell people to upgrade if their version is newer than the "latest" #1567
    • added support for newer PST box in ioHub (with 7 buttons not 5) commit:b9534a288
    • Monitor.linearizeLums() was raising an error due to a change in import name
    • stimuli not switching correctly to desired window in multi-window setups #1514
    • opencv movie backend had an error that 'float' object cannot be interpreted as an index #1510
    • cedrus box had error AttributeError: 'ResponseDevice' object has no attribute 'status' #1493
    • retina displays had some bad scaling. Now strongly recommend using retina=True commit:08163f78a

- Python
Published by peircej about 8 years ago