psychopy.org | Reference | Downloads | Github

Aspect ratio of rectangle used by text components

Hi all,

My old experiment, done in 3.2.4’s Builder, had its text components set to a letter height (around 0.06) that best fitted the instructions text, when displayed on an external monitor. Having upgraded to 2020.1.3, running that script gives me tiny letters:

And increasing the letter height runs me into the problem that only a small proportion of the screen’s width (a param I’m not sure where to set) is used:

The Monitor Centre shows my current monitor as such:
17-06-2020 15.30.02

How can I set the aspect ratio of the rectangle that text components use to put the text in?
Thanks for any help.


OS (e.g. Win10): Win 10
PsychoPy version (e.g. 1.84.x): 2020.1.3

I think the issue is that you have switched from norm to height units without realising.

The screen is 2 norm units high but only 1 height unit.

The screen is 2 norm units wide but could be between 1.333 and 1.778 height units wide. Yours is the latter.

For text components I often go back to norm units. Height units are better for stimuli since they are the same size vertically and horizontally.

You can set the wrap width of a text component on the advanced tab. I often use 1.5 norm units.

1 Like

Thanks! I feel silly for nothaving noticed that wrap option under the Advanced tab…

However, for some reason i now cannot run any script or indeed open up the PsocyhoPy preferences to edit units etc. When I try to do the latter, i get

Traceback (most recent call last):
  File "C:\Program Files\PsychoPy3\lib\site-packages\psychopy\app\_psychopyApp.py", line 770, in showPrefs
    from psychopy.app.preferencesDlg import PreferencesDlg
  File "C:\Program Files\PsychoPy3\lib\site-packages\psychopy\app\preferencesDlg.py", line 21, in <module>
    from psychopy import sound
  File "C:\Program Files\PsychoPy3\lib\site-packages\psychopy\sound\__init__.py", line 157, in <module>
    elif dev not in backend.getDevices(kind='output'):
  File "C:\Program Files\PsychoPy3\lib\site-packages\psychopy\sound\backend_pyo.py", line 135, in getDevices
    inputs, outputs = get_devices_infos()
  File "C:\Program Files\PsychoPy3\lib\site-packages\psychopy\sound\backend_pyo.py", line 93, in get_devices_infos
    devices = _query_devices()
  File "C:\Program Files\PsychoPy3\lib\site-packages\psychopy\sound\backend_pyo.py", line 86, in _query_devices
    info[v.strip().split(": ")[0]] = v.strip().split(": ")[1]
IndexError: list index out of range
29.8546     INFO     sound is using audioLib: pyo
29.8547     WARNING     We strongly recommend you activate the PTB sound engine in PsychoPy prefs as the preferred audio engine. Its timing is vastly superior. Your prefs are currently set to use ['pyo', 'pygame', 'sounddevice'] (in that order).

I reinstalled PsychoPy, but that doesn’t change this. What else can I try?

Have you deleted the expInfo information?

If you accidentally corrupt your experiment by removing all variables from the expInfo section, try adding <Param name="Experiment info" updates="None" val="{'participant': ''}" valType="code"/> to the Settings section in a text editor.

I hadn’t deleted the expInfo, no, and also that error appears even when I try to open the Preferences without any experiment being loaded in the Builder window.