i have a script that's too complicated to copy here but generally does this:
iterates through 4 scenes
object iterates through a list of data
object makes callbacks to functions I provide
one of the callbacks makes a viz.director(showNextInstructions) call
Code:
def showNextInstructions():
global exp, instructions, infoBox
global DELAY_BEFORE_INSTRUCTIONS, DELAY_AFTER_INSTRUCTIONS
print "showing instructions"
# delay before showing instructions
print "\tdelay"
viz.waittime(DELAY_BEFORE_INSTRUCTIONS)
print "\tmoving infobox to current scene"
scene = exp.get(vhil.CURRENT_SEQUENCE)+STARTING_SCENE
infoBox._group.parent(viz.SCREEN,scene)
#infoBox = vizinfo.add(instructions.pop(0))
print "\tpoping next instruction"
infoBox.message(instructions.pop(0))
#infoBox.translate(0.5,0.95)
#infoBox.bgcolor(viz.WHITE,1.0)
#infoBox.bordercolor(viz.BLACK, 1.0)
print "\tshowing box"
infoBox._group.visible(1)
infoBox.expand()
i know, its a mess, but with the print calls, i can tell that the crash happens on viz.waittime(DELAY_BEFORE_INSTRUCTIONS)
not only that, it happens at the same place in the script ONLY SOMETIMES. It's wierd, but sometimes the script runs without a hitch, with crashes only happening randomly in about 1 out of 5 runthroughs.
no python/vizard errors, just the windows "fatal error" window, and then closes the program.
please help. this is for an experiment, so its imperative that there are no crashes (or else we lose all the subject's data)
thanks
adrian