public class Integrate extends UnitGenerator
Output accumulated sum of the input signal. This can be used to transform one signal into another, or to generate ramps between the limits by setting the input signal positive or negative. For a "leaky integrator" use a FilterOnePoleOneZero.
output = output + input; if (output < lowerLimit) output = lowerLimit; else if (output > upperLimit) output = upperLimit;
FilterOnePoleOneZero
Modifier and Type | Field and Description |
---|---|
UnitInputPort |
input |
UnitInputPort |
lowerLimit
Output will be stopped internally from going below this value.
|
UnitOutputPort |
output |
UnitInputPort |
upperLimit
Output will be stopped internally from going above this value.
|
FALSE, PORT_NAME_AMPLITUDE, PORT_NAME_CUTOFF, PORT_NAME_FREQUENCY, PORT_NAME_FREQUENCY_SCALER, PORT_NAME_INPUT, PORT_NAME_OUTPUT, PORT_NAME_PAN, PORT_NAME_PHASE, PORT_NAME_PRESSURE, PORT_NAME_TIMBRE, PORT_NAME_TIME, synthesisEngine, TRUE, VERY_SMALL_FLOAT
Constructor and Description |
---|
Integrate() |
Modifier and Type | Method and Description |
---|---|
void |
generate(int start,
int limit)
Perform essential synthesis function.
|
addPort, addPort, autoStop, convertHalfLifeToMultiplier, convertTimeToRate, flattenOutputs, generate, getCircuit, getFramePeriod, getFrameRate, getId, getPortByName, getPorts, getSynthesisEngine, getSynthesizer, getTopUnit, getUnitGenerator, incrementWrapPhase, isEnabled, isStartRequired, printConnections, printConnections, printConnections, pullData, setCircuit, setEnabled, setFrameRate, setPort, setSynthesisEngine, start, start, start, stop, stop, stop
public UnitInputPort input
public UnitInputPort lowerLimit
public UnitInputPort upperLimit
public UnitOutputPort output
public void generate(int start, int limit)
UnitGenerator
generate
in class UnitGenerator
start
- offset into port bufferslimit
- limit offset into port buffers for loop