faker 1968
/
Effector_110430
Distotion_Unit.cpp@0:53e66485c864, 2011-05-01 (annotated)
- Committer:
- faker
- Date:
- Sun May 01 12:34:33 2011 +0000
- Revision:
- 0:53e66485c864
Who changed what in which revision?
User | Revision | Line number | New 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 | } |