00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00061 #ifndef __MK_TuningSystem_H___
00062 #define __MK_TuningSystem_H___
00063
00064 #import <Foundation/NSObject.h>
00065
00066 #import "keynums.h"
00067
00068 @interface MKTuningSystem : NSObject
00069 {
00071 NSMutableArray *frequencies;
00072 }
00073
00080 + (MKTuningSystem *) tuningSystem;
00081
00086 - init;
00087
00092 - copyWithZone: (NSZone *) zone;
00093
00097 - (void) setTo12ToneTempered;
00098
00107 - install;
00108
00113 - (int) keyCount;
00114
00126 + (NSString *) pitchNameForKeyNum: (int) keyNum;
00127
00142 + (double) freqForKeyNum: (MKKeyNum) aKeyNum;
00143
00157 - (double) freqForKeyNum: (MKKeyNum) aKeyNum;
00158
00185 + (MKKeyNum) keyNumForFreq: (double) freq
00186 pitchBentBy: (int *) bendPtr
00187 bendSensitivity: (double) sensitivity;
00188
00199 - setKeyNum: (MKKeyNum) aKeyNum toFreq: (double) freq;
00200
00216 + setKeyNum: (MKKeyNum) aKeyNum toFreq: (double) freq;
00217
00228 - setKeyNumAndOctaves: (MKKeyNum) aKeyNum toFreq: (double) freq;
00229
00246 + setKeyNumAndOctaves: (MKKeyNum) aKeyNum toFreq: (double) freq;
00247
00259 + (void) transpose: (double) semitones;
00260
00261 #if 0
00262
00263
00264
00265
00266 + (void)_transpose:(double)semitones;
00267 #endif
00268
00280 - (void) transpose: (double) semitones;
00281
00285 + (int) findPitchVar: (id) aVar;
00286
00287 @end
00288
00289
00290
00309 double MKTranspose(double freq, double semiTonesUp);
00310
00326 double MKAdjustFreqWithPitchBend(double freq, int pitchBend, double sensitivity);
00327
00328 #endif