com.frinika.synth.synths
Class MySampler.SamplingOscillator

java.lang.Object
  extended by com.frinika.voiceserver.Voice
      extended by com.frinika.synth.Oscillator
          extended by com.frinika.synth.synths.MySampler.SamplingOscillator
Enclosing class:
MySampler

public class MySampler.SamplingOscillator
extends Oscillator


Field Summary
 
Fields inherited from class com.frinika.synth.Oscillator
frequency, increment, level, position, release, sampleRate, synth, triggeredRelease
 
Fields inherited from class com.frinika.voiceserver.Voice
interrupts, nextVoice, startFramePos
 
Constructor Summary
MySampler.SamplingOscillator(Synth synth, int noteNumber, int velocity)
           
 
Method Summary
 void fillBuffer(int startBufferPos, int endBufferPos, float[] buffer)
          This is where the raw audio data should be produced.
 void release()
           
 
Methods inherited from class com.frinika.synth.Oscillator
getFrequency, setNoteNumber, setVelocity, updateIncrement
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MySampler.SamplingOscillator

public MySampler.SamplingOscillator(Synth synth,
                                    int noteNumber,
                                    int velocity)
Method Detail

release

public void release()
Overrides:
release in class Oscillator

fillBuffer

public final 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