com.frinika.benchmark.audio
Class ClickOscillator

java.lang.Object
  extended by com.frinika.voiceserver.Voice
      extended by com.frinika.benchmark.SyncVoice
          extended by com.frinika.benchmark.audio.ClickOscillator

public class ClickOscillator
extends SyncVoice

Output a impulse every period.

Author:
pjl

Field Summary
 
Fields inherited from class com.frinika.benchmark.SyncVoice
framePtr, glitched, realStartTime, sequencer
 
Fields inherited from class com.frinika.voiceserver.Voice
interrupts, nextVoice, startFramePos
 
Constructor Summary
ClickOscillator(FrinikaSequencer seq, int period)
           
 
Method Summary
protected  void correctGlitch()
          We only use framePtr which is already corrected by doSync
 void fillBuffer(int startBufferPos, int endBufferPos, float[] buffer)
          This is where the raw audio data should be produced.
 
Methods inherited from class com.frinika.benchmark.SyncVoice
doSync
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClickOscillator

public ClickOscillator(FrinikaSequencer seq,
                       int period)
Method Detail

fillBuffer

public void fillBuffer(int startBufferPos,
                       int endBufferPos,
                       float[] buffer)
Description copied from class: Voice
This is where the raw audio data should be produced. The passed in buffer contains the audio data from the previous voice in the chain, thus new data should just be added to the buffer. It's important to just fill within the start and stop positions, because this is how the interrupt functions control that parameter modification occur at the right place.

Specified by:
fillBuffer in class Voice

correctGlitch

protected void correctGlitch()
We only use framePtr which is already corrected by doSync

Specified by:
correctGlitch in class SyncVoice