MusicKit
0.0.0
|
00001 /* 00002 $Id$ 00003 00004 Defined In: The MusicKit 00005 Description: 00006 See discussion. 00007 00008 Original Author: David A. Jaffe 00009 00010 Copyright (c) 1996 Stanford University. 00011 Portions Copyright (c) 1999-2001, The MusicKit Project. 00012 */ 00013 // classgroup Envelope Handlers and Followers 00123 #import <MusicKit/MusicKit.h> 00124 00125 @interface AsympenvUG: MKUnitGenerator 00126 { 00127 id anEnv; 00128 double (*scalingFunc)(); 00129 double timeScale; 00130 double releaseTimeScale; 00131 double yScale; 00132 double yOffset; 00133 double targetX; 00134 char useInitialValue; 00135 int stickPoint; 00136 DSPDatum firstVal; 00137 double releaseTime; 00138 double envTriggerTime; 00139 MKSynthData *durMem,*targetMem,*rateMem; 00140 double _transitionTime; 00141 double _samplingRate; 00142 double _smoothConstant; 00143 int _tickRate; 00144 } 00145 00146 + (void) envelopeHasChanged: (MKEnvelope *) env; 00147 + (void) freeKeyObjects; 00148 00154 - setOutput: (id) aPatchPoint; 00155 00164 - setTargetVal: (double) target; 00165 00175 - setCurVal: (double) value; 00176 00195 - setRate: (double) rate; 00196 00204 - setT60: (double) seconds; 00205 00216 - preemptEnvelope; 00217 00252 - setEnvelope: (id) anEnvelope 00253 yScale: (double) yScaleValue 00254 yOffset: (double) yOffsetValue 00255 xScale: (double) xScaleValue 00256 releaseXScale: (double) releaseXScaleValue 00257 funcPtr: (double(*)()) yScaleFunction; 00258 00280 -resetEnvelope: (id) anEnvelope 00281 yScale: (double) yScaleValue 00282 yOffset: (double) yOffsetValue 00283 xScale: (double) xScaleValue 00284 releaseXScale: (double) releaseXScaleValue 00285 funcPtr: (double(*)()) yScaleFunction 00286 transitionTime: (double) transitionTime; 00287 00303 - useInitialValue: (BOOL) yesOrNo; 00304 00313 - setYScale: (double) yScaleValue yOffset: (double) yOffsetValue; 00314 00322 - setReleaseXScale: (double) releaseXScaleValue; 00323 00328 - envelope; 00329 00337 - runSelf; 00338 00339 - abortSelf; 00340 00351 - idleSelf; 00352 00367 -(double)finishSelf; 00368 00377 + (BOOL) shouldOptimize: (unsigned) arg; 00378 00385 - abortEnvelope; 00386 00396 - setConstant: (double) val; 00397 00398 extern id MKAsympUGxClass(void); 00399 extern id MKAsympUGyClass(void); 00400 00458 extern void MKUpdateAsymp(id asymp, 00459 id envelope, 00460 double valueAt0, 00461 double valueAt1, 00462 double attackDur, 00463 double releaseDur, 00464 double portamentoTime, 00465 MKPhraseStatus status); 00466 00467 @end 00468