Routines being skipped (using builder)

If this template helps then use it. If not then just delete and start from scratch.

OS (e.g. Win10): Mac Catalina
PsychoPy version (e.g. 1.84.x): 2021.2.3
Standard Standalone? (y/n) If not then what?: Standalone
What are you trying to achieve?:
In my procedure, I have the LOI presented as a series of simple routines with a paragraph of the LOI as a text component, and a continue button that forces end of routine/proceeds to next part of the LOI.
My looped trials work just fine, but psychopy refuses to take the user through any of the routines except the first - after ‘WelcomeScreen’ it skips every other LOI/Consent routine and goes to the trial loop. This issue has happened before - psychopy skipping simple routines - and I “fixed” the issue by avoiding multiple routines in a row, so there was nothing to skip. However, I cannot do that for this procedure. I have included my .py file as well as a screenshot of the WelcomeScreen/LOI/Consent routines.

What did you try to make it work?:
I am not sure what is going wrong, but when I deleted “WelcomeScreen” it successfully began with the next routine, but continued to skip directly to the trial loop immediately after - so it seems the program doesn’t see an issue reading any of the individual routines, it just refuses to pull them up if they are not within my trial loop or the very first routine to appear.

Phase2ProcedureScript.py (82.1 KB)

Hello,

do you mind uploading the *.psyep file? You can go from Builder to Coder but not the other way around.

It looks like you are reusing a routine (LOIx) four times. I would use one routine and loop four times.

Best wishes Jens

Hi, Jens!

I actually “fixed” the problem by inserting a 1.00 timed routine (just a blank screen with a + in the middle) between each of these routines. I don’t think it was the title of the routines, as this happens consistently with routines in a row that do not share any name commonalities. Something about having a timed routine between them seems to fix it… hopefully I will figure out how to avoid this in an elegant way in the future :slight_smile:

The issue is (almost certainly) that you are ending your routines on the same key press and all the routines end before the key has been released. I’m guessing you’re using code because keyboard components with new key presses only selected don’t have this issue. Adding a minimum time for the routines should work too. If they end Ona mouse press you could move the location of the continue button or check the button has been released in between

This definitely was the issue. After changing the start times for the buttons, I don’t have the issue. Certainly a pain to change them, but it did work!