protected void doTremoloEffekt ( ChannelMemory aktMemo ) { int volumeAdd ; switch ( aktMemo . tremoloType & 0x03 ) { case 1 : volumeAdd = ( Helpers . ModRampDownTable [ aktMemo . tremoloTablePos ] ) ; // Sawtooth break ; case 2 : volumeAdd = ( Helpers . ModSquareTable [ aktMemo . tremoloTablePos ] ) ; // Squarewave break ; case 3 : volumeAdd = ( Helpers . ModRandomTable [ aktMemo . tremoloTablePos ] ) ; // Random. break ; default : volumeAdd = ( Helpers . ModSinusTable [ aktMemo . tremoloTablePos ] ) ; // Sinus break ; } volumeAdd = ( volumeAdd * aktMemo . tremoloAmplitude ) >> 7 ; aktMemo . currentVolume = aktMemo . currentSetVolume + volumeAdd ; aktMemo . tremoloTablePos = ( aktMemo . tremoloTablePos + aktMemo . tremoloStep ) & 0x3F ; }
Convenient Method for the tremolo effekt