View Single Post
  #1  
Old 05-17-2016, 07:21 AM
jelly jelly is offline
Member
 
Join Date: Feb 2016
Posts: 38
Question Vizard scheduler vs Python scheduler

I have some code that is scheduling beeps respective to the onset of the script, but it seems to run everything before Vizard can load and I think that is because Vizard may not understand the scheduler?

How can I use the viztask_schedule to achieve a comparable result, after Vizard loaded the environment?

Code:
import schedule
import time
from functools import partial
import viztask

viz.go()

## Cue sound ###
cue = viz.addAudio('cues\dong.wav') 
cueDuration = cue.getDuration() 

# my specified list of timings
times = [1.76493425, 3.10174059, 4.49576803, 10.99379224, 18.84178369]

# get the starting time
start = time.time()

# define a job, i.e. play beep sound and print smth
def job(t, start):
	cue.play()
	print ('cue', ' - timing: ', t, ' - now: ', time.time()- start)
	# pop the job right away from schedule.jobs, so it runs only once
	return schedule.CancelJob

def main():

	# for each time add what to do
	for t in times:
		# using partial so i can pass arguments to job
		schedule.every(t).seconds.do(partial(job, t, start))
	# and run it inside a lop
	while True:
		schedule.run_pending()
		# schedule.jobs is just a list of jobs
		if not schedule.jobs:
			break


viztask.schedule(main())
Reply With Quote