comparison bin/curvecalc @ 362:fc87327e29c4

CC now attaches to hardware sliders and knobs. tres cool. KC gets a --sliders option to enable the sliders
author Drew Perttula <drewp@bigasterisk.com>
date Fri, 15 Jun 2007 06:04:55 +0000
parents ff914126f3ea
children c43691ddd39e
comparison
equal deleted inserted replaced
361:ff914126f3ea 362:fc87327e29c4
226 period = (self.recent_t[-1] - self.recent_t[0]) / len(self.recent_t) 226 period = (self.recent_t[-1] - self.recent_t[0]) / len(self.recent_t)
227 dispatcher.send("update period", val=period) 227 dispatcher.send("update period", val=period)
228 self.send_dmx(t) 228 self.send_dmx(t)
229 229
230 def send_dmx(self,t): 230 def send_dmx(self,t):
231 dispatcher.send("curves to sliders", t=t)
231 scaledsubs=[] 232 scaledsubs=[]
232 for st in self.subterms: 233 for st in self.subterms:
233 scl = st.scaled(t) 234 scl = st.scaled(t)
234 scaledsubs.append(scl) 235 scaledsubs.append(scl)
235 out = Submaster.sub_maxes(*scaledsubs) 236 out = Submaster.sub_maxes(*scaledsubs)
353 root.tk_setPalette("gray50") 354 root.tk_setPalette("gray50")
354 toplevelat("curvecalc",root) 355 toplevelat("curvecalc",root)
355 root.tk_focusFollowsMouse() 356 root.tk_focusFollowsMouse()
356 357
357 parser = optparse.OptionParser() 358 parser = optparse.OptionParser()
358 options,args = parser.parse_args() 359 parser.add_option("--sliders", action='store_true',
360 help='use hardware sliders')
361 parser.add_option("--skip-music", action='store_true',
362 help="ignore music and smooth_music curve files")
363 opts, args = parser.parse_args()
359 364
360 try: 365 try:
361 song = URIRef(args[0]) 366 song = URIRef(args[0])
362 except IndexError: 367 except IndexError:
363 raise SystemExit("song name is required, e.g. '05-mix'") 368 raise SystemExit("song name is required, e.g. '05-mix'")
366 music=Music() 371 music=Music()
367 372
368 zc = Zoomcontrol(root) 373 zc = Zoomcontrol(root)
369 zc.pack(side='top',fill='x') 374 zc.pack(side='top',fill='x')
370 375
371 curveset = Curveset() 376 curveset = Curveset(sliders=opts.sliders)
372 csv = Curvesetview(root,curveset) 377 csv = Curvesetview(root, curveset)
373 csv.pack(side='top',fill='both',exp=1) 378 csv.pack(side='top',fill='both',exp=1)
374 379
375 ssv = SubtermSetView(root) 380 ssv = SubtermSetView(root)
376 ssv.pack(side='top', fill='x') 381 ssv.pack(side='top', fill='x')
377 382
385 musicfilename = showconfig.songOnDisk(song) 390 musicfilename = showconfig.songOnDisk(song)
386 maxtime = wavelength(musicfilename) 391 maxtime = wavelength(musicfilename)
387 dispatcher.send("max time",maxtime=maxtime) 392 dispatcher.send("max time",maxtime=maxtime)
388 dispatcher.connect(lambda: maxtime, "get max time",weak=0) 393 dispatcher.connect(lambda: maxtime, "get max time",weak=0)
389 curveset.load(basename=os.path.join(showconfig.curvesDir(), 394 curveset.load(basename=os.path.join(showconfig.curvesDir(),
390 showconfig.songFilenameFromURI(song))) 395 showconfig.songFilenameFromURI(song)),
396 skipMusic=opts.skip_music)
391 397
392 subterms = [] 398 subterms = []
393 sub_commands_tk(root, curveset, subterms, root, ssv, graph).pack(side='top',fill='x') 399 sub_commands_tk(root, curveset, subterms, root, ssv, graph).pack(side='top',fill='x')
394 400
395 try: 401 try: