00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
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
00031
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
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