Reply To: How to add page breaks in between randomized items?

PennController for IBEX Forums Support How to add page breaks in between randomized items? Reply To: How to add page breaks in between randomized items?

#8515
lilymelodyli
Participant

Hi Jeremy,

Thank you so much for your reply! I thought sepWithN is a built-in function in PCIbex, that’s why I didn’t know I should create a definition for it. I’m also very new to programming/scripting, so my entire script is made by reading the user menu of PCIbex, and by copying and pasting stuff from different sources, based on my understanding on what’s going on in their scripts.

After adding your script of sepWithN, now I can have a break for every 5 audio files played. However, a follow-up question is it also gives me a break after my final item, which is the 10th audio file in my current situation. I tried to change it from 5 to 3, but it will do the same after the very last item. I wonder if there’s a way to avoid having the break after the last item?

I also have a question about recording response time. My study measures both the participants’ ratings, as well as their response time. I saw from another discussion thread that there is no reaction time recorded by default in PCIbex, which is perfectly understandable. However, with my script below, I have something that kind of looks like reaction time in my results. The reaction time-like thingy appears in the column of my rating results, that is the “value” column. Do you know what may have happened here? Do I have to change my script?

Template(
    variable => PennController( "experiment" ,
    newAudio("variable", variable.AudioFile)
  	.play()
  	.log()
	.wait()
	,
	
    newButton("Replay")
  	.callback( getAudio("variable").play() )
 	.print()
	,

    newScale("judgement",  "1", "2", "3", "4", "5", "6", "7")
	.button()
	.settings.radio()
	.settings.labelsPosition("bottom")
	.settings.center()
	.print()
      	.settings.log()
	.wait("")
	,

    getAudio("variable")
	.wait("first")
	,

    randomize("variable")
)
.log( "ID" , getVar("ID") ) 
.log( "Item" , variable.Item ) 
)

The last question is about aesthetic. In my first page of the experiment, participants will enter their participant ID and press “Agree” to start the experiment. However, the “Agree” button is at the very bottom edge of the page, which is a bit difficult to press. I was trying to add space in between by using the code: newCanvas("empty canvas", 1, 40).print(), but it only works between elements (texts, buttons), not the page bottom. I looked at other discussion and people suggested changing the CSS file. Since I’m not familiar with all these, I’m afraid I may accidentally ruin the CSS file. So, is there a way to add some extra space between the “Agree” button and the bottom of the page?

Thank you once again!
Lily