Files @ 97c08a1c4351
Branch filter:

Location: light9/Op.py

David McClosky
gyrocontroller: remap buttons, fix keep mode
Also, solo mode is now default, colors are brighter, numeric names for subs
are converted to subs with only that channel up, send zeroes when exiting
"""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)