gehe zur Dokumentation dieser Datei00001
00031
00032
00033
00034
00035
00036 #ifndef MIDIKERN_H
00037 #define MIDIKERN_H
00038
00039 #include "box.h"
00040 #include "Defs.h"
00041
00042 #define DRUMCHANNEL 9 // Schlagzeugkanal bei General Midi (Kanal 9, bzw. 10)
00043
00044 extern "C"
00045 {
00046 void pascal _export KeyboardAnalyse(int box, int taste, char isLogic);
00047 void pascal _export KeyboardAnalyseSimple(int box, int taste);
00048 }
00049
00050
00051 #define GET_INDEX(taste,tonsystem) \
00052 ((int)((taste)-( (tonsystem)->anker % (tonsystem)->breite )) \
00053 % (tonsystem)->breite )
00054
00055
00056
00057 #define GET_ABSTAND(taste,tonsystem) \
00058 ( (int)((taste)-( (tonsystem)->anker % (tonsystem)->breite )) \
00059 / (tonsystem)->breite -((int) (tonsystem)->anker \
00060 / (tonsystem)->breite ))
00061
00062
00063 #define GET_FREQ(taste,tonsystem) \
00064 ( ( (tonsystem)->ton[GET_INDEX(taste,(tonsystem))]==0) ? \
00065 (long) 0 : \
00066 (long)( (tonsystem)->periode * \
00067 GET_ABSTAND(taste,(tonsystem)) + \
00068 (tonsystem)->ton[GET_INDEX(taste,(tonsystem))]))
00069
00070 #define ZWZ 1.059463094 // 12.Wurzel 2
00071 #define LONG_TO_HERTZ( x ) (440.0*pow(ZWZ,((((float)x)/(double)16777216.0))-69))
00072 #define LONG_TO_CENT( x ) ( ((float)x)/(double)167772.13 )
00073
00074 #endif
00075
00076
00077