MusicKit  0.0.0
InterpUG.h
00001 /*
00002   $Id$
00003   
00004   Defined In: The MusicKit
00005   Description:
00006     InterpUG  - from dsp macro /usr/lib/dsp/ugsrc/interp.asm (see source for details).
00007 
00008    Outputs an interpolation of two input signals, with the blend controlled 
00009    by a third signal, i.e.,   
00010 
00011        out = input1 + (input2-input1) * control
00012    
00013    You allocate one of the subclasses InterpUG<a><b><c><d>, where <a> is the output 
00014    space, <b> and <c> are the input signal spaces, and <d> is the space of the 
00015    interpolation control signal.
00016    This unit generator is 25% faster if <b> is x and <c> is y.
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 Table Lookup
00051 #ifndef __MK_InterpUG_H___
00052 #define __MK_InterpUG_H___
00053 
00054 #import <MusicKit/MKUnitGenerator.h>
00055 @interface InterpUG:MKUnitGenerator
00056 
00064 +(BOOL)shouldOptimize:(unsigned) arg;
00065 
00075 -setInput1: (id) aPatchPoint;
00076 /* Sets input1 of interpolator. */
00077 
00078 
00088 -setInput2: (id) aPatchPoint;
00089 /* Sets input2 of interpolator. */
00090 
00091 
00102 -setInterpInput: (id) aPatchPoint;
00103 /* Sets interpolation signal of interpolator. */
00104 
00105 
00115 -setOutput: (id) aPatchPoint;
00116 /* Sets output of adder. */
00117 
00118 @end
00119 
00120 #endif