MusicKit  0.0.0
SynthPatchPrivate.h
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