00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
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