Hi again Jeremy,
I have been successfully using modifyRunningOrder() along with the other code you provided above to insert catch trials at a regular interval, and currently all of these trials present the same sounds.
I’m looking to make the configuration a bit more subtle, but I’ve only ever constructed trial lists like this in Matlab so some questions that I had were:
Is the set of newTrial elements made using PennController.Template() an array and if so, is it possible to use a template to construct my catch trials in a way similar to how it’s done for the main experiment trials (via rows in a CSV) and then push them into the running order from there? This would allow me to have a few different versions of the catch trials depending on the stimuli that the participant is assigned.
Also, if the running order passed into modifyRunningOrder() is just an array of elements, would it be possible to, after pushing a catch trial, use something like array.slice() to get the previous “block” worth of trials, randomize it with randomize() and then use array.splice() to put them back into the main running order? This would have the effect of making the catch trial appear randomly in every block rather than at the end of every block.
Let me know what you think, and if either would be more easily accomplished with the specific labeling method you mentioned in your previous reply.
Thanks again for all of your help!