Files @ f8b5cb5fbeed
Branch filter:

Location: light9/Op.py

dmcc
- 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
"""each node type has an Op within it"""

class Op:
    """nodes can have several versions of their operation function.

    ops don't return anything! 
    """
    def __init__(self):
        """This should not be overridden without being called."""
        pass

    def inputschanged(self, input, output, stateaccess):
        """If you only define one op function body, make it this one. """
        pass
    
    def created(self, input, output, stateaccess):
        """This is called one time when the node is newly created. It's
        not called when the node instance is pickled/unpickled. Use this
        version to initialize state."""
        # an extra call to changed() should help the outputs get set
        # correctly before any real inputs-changed events come around
        # (assuming this method doesn't get overridden with a
        # specialized version)
        self.inputschanged(input, output, stateaccess)        

    def statechanged(self, input, output, stateaccess):
        '''State might have been changed by a user dragging a parameter or by
        a state being hcanged otherwise.'''
        self.inputschanged(input, output, stateaccess)        

    def clocked(self, input, output, stateaccess):
        self.inputschanged(input, output, stateaccess)