Dependencies:   mbed

Committer:
faker
Date:
Sun May 01 12:34:33 2011 +0000
Revision:
0:53e66485c864

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
faker 0:53e66485c864 1 /*****************************************************/
faker 0:53e66485c864 2 /* Distotion_Unit.cpp */
faker 0:53e66485c864 3 /* */
faker 0:53e66485c864 4 /*****************************************************/
faker 0:53e66485c864 5
faker 0:53e66485c864 6 #define DIST_MAIN
faker 0:53e66485c864 7 #include "Distotion_Unit.h"
faker 0:53e66485c864 8
faker 0:53e66485c864 9 #define inputGain (1.0)
faker 0:53e66485c864 10 #define clipLevel (15000)
faker 0:53e66485c864 11 #define outputGain (1.0)
faker 0:53e66485c864 12
faker 0:53e66485c864 13 #define LIMIT_P (32767)
faker 0:53e66485c864 14 #define LIMIT_N (-32768)
faker 0:53e66485c864 15
faker 0:53e66485c864 16 int distotion(int iEffectIn) {
faker 0:53e66485c864 17
faker 0:53e66485c864 18 int iSignal;
faker 0:53e66485c864 19
faker 0:53e66485c864 20 // Input Gain
faker 0:53e66485c864 21 iSignal = iEffectIn * inputGain;
faker 0:53e66485c864 22
faker 0:53e66485c864 23 // Clip
faker 0:53e66485c864 24 if (iSignal >= clipLevel)iSignal = clipLevel;
faker 0:53e66485c864 25 if (iSignal <= -clipLevel)iSignal = -clipLevel;
faker 0:53e66485c864 26
faker 0:53e66485c864 27 // Output Gain
faker 0:53e66485c864 28 iSignal *= outputGain;
faker 0:53e66485c864 29 if (iSignal >= LIMIT_P)iSignal = LIMIT_P;
faker 0:53e66485c864 30 if (iSignal <= LIMIT_N)iSignal = LIMIT_N;
faker 0:53e66485c864 31
faker 0:53e66485c864 32 return iSignal;
faker 0:53e66485c864 33
faker 0:53e66485c864 34 }