00001 /* 00002 $Id: Scl1add2UG.h 3255 2005-05-14 03:27:27Z leighsmith $ 00003 00004 Defined In: The MusicKit 00005 Description: 00006 Scl1add2UG. From dsp macro /usr/lib/dsp/ugsrc/scl1add2.asm (see source for details) 00007 00008 You instantiate a subclass of the form Scl1add2UG<a><b><c>, where 00009 <a> = space of output 00010 <b> = space of input1 00011 <c> = space of input2 00012 00013 The scl1add2 unit-generator multiplies the first input by a 00014 scale factor, and adds it to the second input signal to produce a 00015 third. The output vector can be the same as an input vector. 00016 Faster if space of input1 is not the same as the space of input2. 00017 00018 Original Author: David A. Jaffe 00019 00020 Copyright (c) 1988-1992, NeXT Computer, Inc. 00021 Portions Copyright (c) 1994 NeXT Computer, Inc. and reproduced under license from NeXT 00022 Portions Copyright (c) 1994 Stanford University. 00023 Portions Copyright (c) 1999-2001, The MusicKit Project. 00024 */ 00025 // classgroup Patchpoint Arithmetic 00044 #ifndef __MK_Scl1add2UG_H___ 00045 #define __MK_Scl1add2UG_H___ 00046 00047 #import <MusicKit/MKUnitGenerator.h> 00048 @interface Scl1add2UG:MKUnitGenerator 00049 00059 -setInput1: (id) aPatchPoint; 00060 /* Sets input1. This is the input that is scaled. */ 00061 00062 00072 -setInput2: (id) aPatchPoint; 00073 /* Sets input2. */ 00074 00075 00085 -setOutput: (id) aPatchPoint; 00086 /* Sets output. */ 00087 00088 00098 - setScale: (double) value; 00099 00107 +(BOOL)shouldOptimize:(unsigned) arg; 00108 00119 -idleSelf; 00120 /* Sets output to write to sink. */ 00121 00122 @end 00123 00124 #endif