00001 /* 00002 $Id: Allpass1UG.h 3531 2009-04-28 21:45:50Z leighsmith $ 00003 00004 Defined In: The MusicKit 00005 Description: 00006 Allpass1UG - from dsp macro /usr/lib/dsp/ugsrc/allpass1.asm. (see source for details) 00007 00008 First order all pass filter. 00009 00010 You allocate a subclass of the form Allpass1UG<a><b>, where 00011 <a> = space of output and <b> = space of input. 00012 00013 The allpass1 unit-generator implements a one-pole, one-zero 00014 allpass filter section in direct form. 00015 00016 The transfer function implemented is 00017 00018 bb0 + 1/z 00019 H(z) = --------- 00020 1 + bb0/z 00021 00022 Original Author: David A. Jaffe 00023 00024 Copyright (c) 1988-1992, NeXT Computer, Inc. 00025 Portions Copyright (c) 1994 NeXT Computer, Inc. and reproduced under license from NeXT 00026 Portions Copyright (c) 1994 Stanford University. 00027 Portions Copyright (c) 1999-2001, The MusicKit Project. 00028 */ 00029 // classgroup Filters 00080 #ifndef __MK_Allpass1UG_H___ 00081 #define __MK_Allpass1UG_H___ 00082 00083 #import <MusicKit/MKUnitGenerator.h> 00084 00085 @interface Allpass1UG: MKUnitGenerator 00086 00092 +(BOOL) shouldOptimize: (unsigned) arg; 00093 00099 - setInput: (id) aPatchPoint; 00100 00106 -setOutput: (id) aPatchPoint; 00107 00115 - setBB0: (double) bb0; 00116 00122 - clear; 00123 00129 - (double) delayAtFreq: (double) hzVal; 00130 00131 @end 00132 00133 #endif