;@ map s x LOGsub LOGlow LOGhii
;@ map d CLA000
;@ map d BUT003
;@ map d BUT003

;@ ins k k
;@ outs k
opcode Pulse, 0, kk
  kIn, kMod, kTime, kPN xin ; P- positive, N - negative
  ; WHAT TO DO WITH RANGES? LO_HI_MD
  kOut init 0		

  if kIn < 0 goto Halt

  ;reinit
  iTime = i(kTime)  ; WHAT IF USER CAN CHANGE DUR AT RUN TIME?	
  timout 0, iTime, Pulse
  
  kOut = 0
  goto Halt
  
  Pulse:
  kOut = 1

  Halt:	
  zkw kOut, 1 ; CHANGE
endop
