MusicKit  0.0.0
_Fm1i.h
00001 /*
00002   $Id$
00003   
00004   Defined In: The MusicKit
00005   Description:
00006 
00007   Original Author: David A. Jaffe
00008 
00009   Copyright (c) 1988-1992, NeXT Computer, Inc.
00010   Portions Copyright (c) 1994 NeXT Computer, Inc. and reproduced under license from NeXT
00011   Portions Copyright (c) 1994 Stanford University.
00012   Portions Copyright (c) 1999-2001, The MusicKit Project.
00013 */
00014 /*
00015   $Log$
00016   Revision 1.2  2001/09/08 20:22:09  leighsmith
00017   Merged RTF Reference documentation into headerdoc comments and prepended MK to any older class names
00018 
00019 */
00020 #ifndef __MK__Fm1i_H___
00021 #define __MK__Fm1i_H___
00022 
00023 #import "Fm1i.h"
00024 
00025 typedef struct __MKSPFMNums {
00026   short ampUG, incUG, indUG, modUG, oscUG, outUG, svibUG, nvibUG, onepUG,
00027       vibAddUG, fmAddUG, mulUG, xsig, ysig;
00028 } _MKSPFMNums;
00029 
00030 /* Don't bother with prefix for macros since they're only in compile-time
00031    address space. */
00032 
00033 #define FMDECL(_template,_struct) \
00034   static id _template = nil;\
00035   static _MKSPFMNums _struct = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}
00036 
00037 #define FMNUM(ugname) (((_MKSPFMNums *)(_ugNums))->ugname)
00038 //#define FMUG(ugname) NX_ADDRESS(synthElements)[FMNUM(ugname)]
00039 #define FMUG(ugname) [synthElements objectAtIndex:FMNUM(ugname)]
00040 #define _ugNums _reservedFm1i
00041 #define MIDIVAL(midiControllerValue) \
00042   ((double)midiControllerValue)/((double)MIDI_MAXDATA)
00043 
00044 extern id _MKSPGetFmNoVibTemplate(_MKSPFMNums *ugs,id oscClass);
00045 extern id _MKSPGetFmAllVibTemplate(_MKSPFMNums *ugs,id oscClass);
00046 extern id _MKSPGetFmRanVibTemplate(_MKSPFMNums *ugs,id oscClass);
00047 extern id _MKSPGetFmSinVibTemplate(_MKSPFMNums *ugs,id oscClass);
00048 
00049 @interface Fm1i(Private)
00050 
00051 -(void)_setModWheel:(int)val;
00052 -(void)_setSvibFreq0:(double)val;
00053 -(void)_setSvibFreq1:(double)val;
00054 -(void)_setSvibAmp0:(double)val;
00055 -(void)_setSvibAmp1:(double)val;
00056 -(void)_setRvibAmp:(double)val;
00057 -(void)_setVibWaveform:(id)obj;
00058 -(void)_setVib:(BOOL)setVibWaveform :(BOOL)setVibFreq :(BOOL)setVibAmp 
00059   :(BOOL)setRandomVib :(BOOL)newPhrase;
00060 -_updateParameters:aNote;
00061 -_setDefaults;
00062 
00063 @end
00064 
00065 #endif