annotate nodes/gamma.py @ 168:f8b5cb5fbeed

- CueFader is hopefully done: - CueFader is hopefully done: - The TimedGoButton accepts a wheel to change the times. You can also enter times directly. - TimedGoButton really has a default starting time of 2 now. (there was a variable attached to the wrong widget before) - We send DMX levels with dmxclient now. - Autoload Times is a new option. - We load times from the next cue if Autoload Times is true. - Time predictions in the LabelledScale are slightly better. You still can change the time of an active fade. - Cue cache and DMX level computing now have their own functions, which get called at (hopefully) All The Right Times. - There are even some docs now! - Cues: sub_level parsing is better, will only throw out one line if it encounters problems (instead of the rest of the cue) - CueList: lots of 0 vs. None bugs fixed. - TkCueList: stores a reference to the controlling fader so it can alert it about changed cues. - CueEditron: You can edit sub_levels now. - cuelist1 was edited, checking it in for consistency's sake
author dmcc
date Wed, 09 Jul 2003 03:59:40 +0000
parents 45b12307c695
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
1 """node that performs a simple gamma (exp) function on its input"""
45b12307c695 Initial revision
drewp
parents:
diff changeset
2
45b12307c695 Initial revision
drewp
parents:
diff changeset
3 class GammaOps(Ops):
45b12307c695 Initial revision
drewp
parents:
diff changeset
4 def started(self, input, output, stateaccess):
45b12307c695 Initial revision
drewp
parents:
diff changeset
5 self.startmeup(stateaccess)
45b12307c695 Initial revision
drewp
parents:
diff changeset
6 def changed(self, input, output, stateaccess):
45b12307c695 Initial revision
drewp
parents:
diff changeset
7 port.output = port.input ** stateaccess.gamma + stateaccess.offset
45b12307c695 Initial revision
drewp
parents:
diff changeset
8 stateaccess.lastvalue = State.FloatingPoint(port.input)
45b12307c695 Initial revision
drewp
parents:
diff changeset
9
45b12307c695 Initial revision
drewp
parents:
diff changeset
10 output = gamma(input)
45b12307c695 Initial revision
drewp
parents:
diff changeset
11 # no timed function
45b12307c695 Initial revision
drewp
parents:
diff changeset
12 def startmeup(self, stateaccess):
45b12307c695 Initial revision
drewp
parents:
diff changeset
13 # whatever
45b12307c695 Initial revision
drewp
parents:
diff changeset
14 pass
45b12307c695 Initial revision
drewp
parents:
diff changeset
15
45b12307c695 Initial revision
drewp
parents:
diff changeset
16 class Gamma(Node):
45b12307c695 Initial revision
drewp
parents:
diff changeset
17 def __init__(self):
45b12307c695 Initial revision
drewp
parents:
diff changeset
18 Node.__init__(self)
45b12307c695 Initial revision
drewp
parents:
diff changeset
19 self.node_params = {'gamma':State.FloatingPoint,'offset':State.FloatingPoint}
45b12307c695 Initial revision
drewp
parents:
diff changeset
20 self.ops = GammaOps()
45b12307c695 Initial revision
drewp
parents:
diff changeset
21
45b12307c695 Initial revision
drewp
parents:
diff changeset
22 def getnodeparams(self):
45b12307c695 Initial revision
drewp
parents:
diff changeset
23 return self.node_params
45b12307c695 Initial revision
drewp
parents:
diff changeset
24
45b12307c695 Initial revision
drewp
parents:
diff changeset
25 def getports(self):
45b12307c695 Initial revision
drewp
parents:
diff changeset
26 return (Port('a', optional=1),
45b12307c695 Initial revision
drewp
parents:
diff changeset
27 Port('b'))
45b12307c695 Initial revision
drewp
parents:
diff changeset
28
45b12307c695 Initial revision
drewp
parents:
diff changeset
29 def __str__(self):
45b12307c695 Initial revision
drewp
parents:
diff changeset
30 return "3"
45b12307c695 Initial revision
drewp
parents:
diff changeset
31
45b12307c695 Initial revision
drewp
parents:
diff changeset
32 world.register_node(Gamma)