| Reference | Downloads | Github

Unable to force Ratingscale to disappear when there's no response

I’m making a routine where I have subjects rate images on a rating scale. However, I am presenting 3 consecutive images (5s each image) so I would want the previous ratingscale to disappear in the event where the subject does not respond in time.
I am building this using a routine that’s looped 3 times.

Right now, everything else disappears but the ratingscale even though I set it to stop after 5 seconds. Only if I respond on the scale, then the routine ends.

Is there an option or something that I am missing? Like some component that I can add to make the routine end in 5 seconds no matter what, or maybe a bit of code that I have to add using the code component?


Wow, amazingly it looks like this was never implemented for the Rating Scale! I guess because it nearly always gets used at the end of a trial nobody noticed that it doesn’t end on its own! :-/

2 workarounds:

You could add a v simple code component to turn it off with this in the Every Frame section (obviously adjust the time value and the name):

if t>1.5 and myRatingScale.status==STARTED:
    rating.autoDraw = False

Alternatively, you’d make the rating appear at the end of your routine because moving onto another routine (or looping back to the start of this one) is successfully killing the rating scale