annotate Op.py @ 116:9ddea0c614ee

much prettier stdout, including a clock (so you can tell the server's running) much prettier stdout, including a clock (so you can tell the server's running) and channel updates only when the levels change, and throttled to every 100 updates even then.
author drewp
date Fri, 13 Jun 2003 06:15:28 +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 """each node type has an Op within it"""
45b12307c695 Initial revision
drewp
parents:
diff changeset
2
45b12307c695 Initial revision
drewp
parents:
diff changeset
3 class Op:
45b12307c695 Initial revision
drewp
parents:
diff changeset
4 """nodes can have several versions of their operation function.
45b12307c695 Initial revision
drewp
parents:
diff changeset
5
45b12307c695 Initial revision
drewp
parents:
diff changeset
6 ops don't return anything!
45b12307c695 Initial revision
drewp
parents:
diff changeset
7 """
45b12307c695 Initial revision
drewp
parents:
diff changeset
8 def __init__(self):
45b12307c695 Initial revision
drewp
parents:
diff changeset
9 """This should not be overridden without being called."""
45b12307c695 Initial revision
drewp
parents:
diff changeset
10 pass
45b12307c695 Initial revision
drewp
parents:
diff changeset
11
45b12307c695 Initial revision
drewp
parents:
diff changeset
12 def inputschanged(self, input, output, stateaccess):
45b12307c695 Initial revision
drewp
parents:
diff changeset
13 """If you only define one op function body, make it this one. """
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 def created(self, input, output, stateaccess):
45b12307c695 Initial revision
drewp
parents:
diff changeset
17 """This is called one time when the node is newly created. It's
45b12307c695 Initial revision
drewp
parents:
diff changeset
18 not called when the node instance is pickled/unpickled. Use this
45b12307c695 Initial revision
drewp
parents:
diff changeset
19 version to initialize state."""
45b12307c695 Initial revision
drewp
parents:
diff changeset
20 # an extra call to changed() should help the outputs get set
45b12307c695 Initial revision
drewp
parents:
diff changeset
21 # correctly before any real inputs-changed events come around
45b12307c695 Initial revision
drewp
parents:
diff changeset
22 # (assuming this method doesn't get overridden with a
45b12307c695 Initial revision
drewp
parents:
diff changeset
23 # specialized version)
45b12307c695 Initial revision
drewp
parents:
diff changeset
24 self.inputschanged(input, output, stateaccess)
45b12307c695 Initial revision
drewp
parents:
diff changeset
25
45b12307c695 Initial revision
drewp
parents:
diff changeset
26 def statechanged(self, input, output, stateaccess):
45b12307c695 Initial revision
drewp
parents:
diff changeset
27 '''State might have been changed by a user dragging a parameter or by
45b12307c695 Initial revision
drewp
parents:
diff changeset
28 a state being hcanged otherwise.'''
45b12307c695 Initial revision
drewp
parents:
diff changeset
29 self.inputschanged(input, output, stateaccess)
45b12307c695 Initial revision
drewp
parents:
diff changeset
30
45b12307c695 Initial revision
drewp
parents:
diff changeset
31 def clocked(self, input, output, stateaccess):
45b12307c695 Initial revision
drewp
parents:
diff changeset
32 self.inputschanged(input, output, stateaccess)