MusicKit
0.0.0
|
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