MusicKit
0.0.0
|
00001 /* 00002 $Id$ 00003 Defined In: The MusicKit 00004 00005 Description: 00006 00007 Copyright (c) 1988-1992, NeXT Computer, Inc. 00008 Portions Copyright (c) 1999-2005 The MusicKit Project. 00009 */ 00010 00011 #ifndef __MK__SynthPatch_H___ 00012 #define __MK__SynthPatch_H___ 00013 00014 #import "MKSynthPatch.h" 00015 00016 /* MKSynthPatch functions and defines */ 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