# HG changeset patch # User drewp@bigasterisk.com # Date 2005-06-05 07:04:34 # Node ID b7095e4a6c43b6f51175315b4a4697b0f2eb7597 # Parent c5a79314afdf300776eacf4e35e403daee2536ee curvecalc fixes: curve paths, empty function strings diff --git a/bin/curvecalc b/bin/curvecalc --- a/bin/curvecalc +++ b/bin/curvecalc @@ -250,7 +250,11 @@ curveset.load(basename=os.path.join(show subterms = [] subterm_adder(root, curveset, subterms, root, ssv).pack(side='top',fill='x') for line in file(showconfig.subtermsForSong(song)): - subname,expr = line.strip().split(" ",1) + try: + subname,expr = line.strip().split(" ",1) + except ValueError: + subname = line.strip() + expr = "" term = add_one_subterm(subname, curveset, subterms, root, ssv, expr) @@ -262,7 +266,7 @@ out = Output(subterms) def savekey(*args): print "saving",song savesubterms(showconfig.subtermsForSong(song),subterms) - curveset.save(basename="curves/"+song) + curveset.save(basename=os.path.join(showconfig.curvesDir(),song)) print "saved" @@ -283,7 +287,7 @@ def update(): d.addErrback(updateerr) def updateerr(e): global later - print "err",e + print "Update error",e if later and not later.cancelled and not later.called: later.cancel() later = reactor.callLater(1,update) def update2(t): diff --git a/light9/Submaster.py b/light9/Submaster.py --- a/light9/Submaster.py +++ b/light9/Submaster.py @@ -54,8 +54,8 @@ class Submaster: self.save() def get_levels(self): return self.levels - def all_zeros(self): - return not (max(self.levels.values()) > 0) + def no_nonzero(self): + return (not self.levels.values()) or not (max(self.levels.values()) > 0) def __mul__(self, scalar): return Submaster("%s*%s" % (self.name, scalar), dict_scale(self.levels, scalar), temporary=1) @@ -118,7 +118,7 @@ def linear_fade(start, end, amount): return level def sub_maxes(*subs): - nonzero_subs = [s for s in subs if not s.all_zeros()] + nonzero_subs = [s for s in subs if not s.no_nonzero()] name = "max(%s)" % ", ".join([repr(s) for s in nonzero_subs]) return Submaster(name, dict_max(*[sub.levels for sub in nonzero_subs]), diff --git a/light9/curve.py b/light9/curve.py --- a/light9/curve.py +++ b/light9/curve.py @@ -246,7 +246,7 @@ class Curveset: """find all files that look like basename-curvename and add curves with their contents""" for filename in glob.glob("%s-*"%basename): - curvename = filename[filename.find('-')+1:] + curvename = filename[filename.rfind('-')+1:] c=Curve() c.load(filename) curvename = curvename.replace('-','_')