00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef __MK__SynthPatch_H___
00012 #define __MK__SynthPatch_H___
00013
00014 #import "MKSynthPatch.h"
00015
00016
00017 extern id _MKSynthPatchPreempt(MKSynthPatch *aPatch, id aNote, id controllers);
00018 extern id _MKAddPatchToList(MKSynthPatch *synthP, MKSynthPatch **headP, MKSynthPatch **tailP, unsigned short listFlag);
00019 extern id _MKSynthPatchSetInfo(MKSynthPatch *synthP, int aNoteTag, id synthIns);
00020 extern id _MKSynthPatchNoteDur(MKSynthPatch *synthP, id aNoteDur, BOOL noTag);
00021 extern void _MKSynthPatchScheduleNoteEnd(id synthP, double releaseDur);
00022 extern id _MKRemoveSynthPatch(MKSynthPatch *synthP, MKSynthPatch **headP, MKSynthPatch **tailP, unsigned short listFlag);
00023 extern void _MKReplaceFinishingPatch(MKSynthPatch *synthP, MKSynthPatch **headP, MKSynthPatch **tailP, unsigned short listFlag);
00024 extern id _MKSynthPatchCmp();
00025
00026
00027 #define _MK_IDLELIST 1
00028 #define _MK_ACTIVELIST 2
00029 #define _MK_ORCHTMPLIST 3
00030 #define _MK_ORPHANLIST 4
00031
00032 @interface MKSynthPatch(Private)
00033
00034 + _newWithTemplate: (id) aTemplate
00035 inOrch: (id) anOrch index: (int) whichDSP;
00036 - _free;
00037 - _preemptNoteOn: aNote controllers: controllers;
00038 - _remove: aUG;
00039 - _add: aUG;
00040 - _prepareToFree: (MKSynthPatch **) headP : (MKSynthPatch **) tailP;
00041 - _freeList: (MKSynthPatch *) head;
00042 - (void) _freeList2;
00043 - (void) _setShared: aSharedKey;
00044 - (void) _addSharedSynthClaim;
00045 - _connectContents;
00046 - (void) _allocate;
00047 - _deallocate;
00048 - (BOOL) _usesEMem: (MKOrchMemSegment) segment;
00049
00050 @end
00051
00052 #endif