package com.jsyn.examples; import com.jsyn.unitgen.UnitFilter; /** * Custom unit generator that can be used with other JSyn units. * Cube the input value and write it to output port. * * @author Phil Burk (C) 2010 Mobileer Inc * */ public class CustomCubeUnit extends UnitFilter { @Override /** This is where the synthesis occurs. * It is called in a high priority background thread so do not do * anything crazy here like reading a file or doing network I/O. * Just do fast arithmetic. * <br> * The start and limit allow us to do either block or single sample processing. */ public void generate( int start, int limit ) { // Get signal arrays from ports. double[] inputs = input.getValues(); double[] outputs = output.getValues(); for( int i = start; i < limit; i++ ) { double x = inputs[i]; // Do the math. outputs[i] = x * x * x; } } }