faker 1968
/
Effector_110613
Delay_Unit.cpp@0:adfbd02222d4, 2011-06-13 (annotated)
- Committer:
- faker
- Date:
- Mon Jun 13 15:20:17 2011 +0000
- Revision:
- 0:adfbd02222d4
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
faker | 0:adfbd02222d4 | 1 | /*****************************************************/ |
faker | 0:adfbd02222d4 | 2 | /* Delay_Unit.cpp */ |
faker | 0:adfbd02222d4 | 3 | /* */ |
faker | 0:adfbd02222d4 | 4 | /*****************************************************/ |
faker | 0:adfbd02222d4 | 5 | |
faker | 0:adfbd02222d4 | 6 | #define DELAY_MAIN |
faker | 0:adfbd02222d4 | 7 | #include "Delay_Unit.h" |
faker | 0:adfbd02222d4 | 8 | |
faker | 0:adfbd02222d4 | 9 | #define LIMIT_P (32767) |
faker | 0:adfbd02222d4 | 10 | #define LIMIT_N (-32768) |
faker | 0:adfbd02222d4 | 11 | |
faker | 0:adfbd02222d4 | 12 | int delay(int iEffectIn) { |
faker | 0:adfbd02222d4 | 13 | |
faker | 0:adfbd02222d4 | 14 | int iSignal; |
faker | 0:adfbd02222d4 | 15 | |
faker | 0:adfbd02222d4 | 16 | // Bypass ? |
faker | 0:adfbd02222d4 | 17 | if(g_iDelayBypass == 0)return iEffectIn; |
faker | 0:adfbd02222d4 | 18 | |
faker | 0:adfbd02222d4 | 19 | // Delay |
faker | 0:adfbd02222d4 | 20 | iSignal = (int)g_sDelayBuff[g_usDelayPoint] * g_iDelayFeedBackLevel / 100 + iEffectIn; |
faker | 0:adfbd02222d4 | 21 | |
faker | 0:adfbd02222d4 | 22 | // Output Gain |
faker | 0:adfbd02222d4 | 23 | if (iSignal >= LIMIT_P)iSignal = LIMIT_P; |
faker | 0:adfbd02222d4 | 24 | if (iSignal <= LIMIT_N)iSignal = LIMIT_N; |
faker | 0:adfbd02222d4 | 25 | |
faker | 0:adfbd02222d4 | 26 | g_sDelayBuff[g_usDelayPoint] = iSignal; |
faker | 0:adfbd02222d4 | 27 | |
faker | 0:adfbd02222d4 | 28 | g_usDelayPoint = (g_usDelayPoint + 1) % (MAX_DELAY_POINT * g_iDelayTime / MAX_DELAY_TIME); |
faker | 0:adfbd02222d4 | 29 | |
faker | 0:adfbd02222d4 | 30 | return iSignal; |
faker | 0:adfbd02222d4 | 31 | |
faker | 0:adfbd02222d4 | 32 | } |
faker | 0:adfbd02222d4 | 33 | |
faker | 0:adfbd02222d4 | 34 | #undef DELAY_MAIN |