Phrase status defines, within a
MKSynthPatch, all the possible places we can be
in a MusicKit phrase:
Table 5-5. Phrase States
| MK_phraseOn | New phrase |
| MK_phrasePreempt | New phrase, but from preempted patch |
| MK_phraseUpdate | Note update |
| MK_phraseOff | Note off |
| MK_phraseOffUpdate | Note update during release |
| MK_phraseEnd | Note end |
| MK_noPhraseStatus | Not in a MKSynthPatch method. |
Preemption occurs when there is not enough DSP
resources to support the requested number of simultaneous notes. It
is controlled by the MKSynthInstrument. The
MKSynthPatch designer need only implement a
method:
+ preemptFor: newNote
|
A typical implementation aborts any running envelopes. Example:
+ preemptFor: newNote
{
[ampEnvelopeAsymp preemptEnvelope];
return self;
}
|