Mercurial > code > home > repos > light9
view bin/wavecurve @ 375:962f46713b63
keyboardcomposer: sort subs by groups first, fix sub cmp
The "None" group goes first, then all groups sorted by names. Within groups,
subs are sorted by names. Subs sort by their __repr__, which could be a
problem in the future.
author | David McClosky <dmcc@bigasterisk.com> |
---|---|
date | Fri, 15 Jun 2007 20:23:43 +0000 |
parents | 7771f37252da |
children | 5a83935377f9 |
line wrap: on
line source
#!/usr/bin/env python import os, sys, optparse import run_local from light9.wavepoints import simp def createCurve(inpath, outpath, t): print "reading %s, writing %s" % (inpath, outpath) points = simp(inpath, seconds_per_average=t) f = file(outpath, 'w') for time_val in points: print >>f, "%s %s" % time_val parser = optparse.OptionParser(usage="""%prog inputSong.wav outputCurve You probably just want -a """) parser.add_option("-t",type="float",default=.01, help="seconds per sample (default .01, .07 is smooth)") parser.add_option("-a", action="store_true", help="make standard curves for all songs") options,args = parser.parse_args() if options.a: from light9 import showconfig from light9.namespaces import L9 from rdflib import RDF graph = showconfig.getGraph() for song in graph.subjects(RDF.type, L9['Song']): inpath = showconfig.songOnDisk(song) for curveName, t in [('music', .01), ('smooth_music', .07)]: outpath = showconfig.curvesDir() + "/%s-%s" % ( showconfig.songFilenameFromURI(song), curveName) createCurve(inpath, outpath, t) else: inpath,outpath = args createCurve(inpath, outpath, options.t)