MidiKern.h
gehe zur Dokumentation dieser Datei
00001 
00031 // ------------------------------------------------------------------
00032 // Mutabor 3, 1998, R.Krauße
00033 // MIDI-Makros
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 // berechnet die Tonigkeit einer Taste bzgl. tonsystem
00051 #define GET_INDEX(taste,tonsystem)                \
00052  ((int)((taste)-( (tonsystem)->anker % (tonsystem)->breite )) \
00053                           % (tonsystem)->breite )
00054 
00055 
00056 // berechnet die 'Oktavlage' einer taste bzgl. tonsystem
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 

Erzeugt am Sun Aug 21 2011 10:51:52 für Mutabor von doxygen 1.7.4