home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #4 / amigaacscoverdisc1998-041998.iso / utilities / shareware / music / sfx-020m / sfx-data / _rexx / differenciate.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  1998-03-08  |  1.0 KB  |  58 lines

  1. /* SFX Differenciate */
  2.  
  3. OPTIONS RESULTS
  4. ADDRESS REXX_SFX
  5.  
  6. GetActiveBuffer
  7. buf1=RESULT
  8. IF buf1>-1 THEN DO
  9.     GetLength buf1
  10.     slen=RESULT
  11.     GetRate buf1
  12.     srat=RESULT
  13.     GetChannels buf1
  14.     cha=RESULT
  15.  
  16.     NewBuffer slen srat cha
  17.     buf2=RESULT
  18.     IF buf2>-1 THEN DO
  19.         brk=0
  20.         DO ch=0 TO cha
  21.             IsChannelActive buf1 ch
  22.             IF RESULT>0 THEN DO
  23.                 InitProWin slen '"Working on Differenciate['ch']"'
  24.                 pwi=RESULT
  25.                 IF pwi>-1 THEN DO
  26.                     GetSampleValue buf1 ch 0
  27.                     oldval=RESULT
  28.                     DO pos=1 TO slen
  29.                         RefrProWin pwi pos
  30.                         IF RESULT=0 THEN DO
  31.                             GetSampleValue buf1 0 pos
  32.                             newval=RESULT
  33.                             dif=(newval-oldval)/2
  34.                             PutSampleValue buf2 ch pos dif
  35.                             oldval=newval
  36.                         END
  37.                         ELSE DO
  38.                             brk=1
  39.                             LEAVE pos
  40.                         END
  41.                     END
  42.                     RemoveProWin pwi
  43.                 END
  44.                 ELSE DO
  45.                     Message '"Can`t open ProceedWindow !"'
  46.                     LEAVE ch
  47.                 END
  48.             END
  49.             IF brk=1 THEN LEAVE ch
  50.         END
  51.         RedrawBuffer buf2
  52.     END
  53.     ELSE Message '"Can`t add samplebuffer !"'
  54. END
  55. ELSE Message '"No sample to operate on !"'
  56. ActivateSFX
  57. EXIT
  58.