jjdh API

dh.javax.sound.filter
Class SoundFilter

java.lang.Object
  extended by dh.javax.sound.filter.SoundFilter
Direct Known Subclasses:
EchoFilter, FilterSequence

public abstract class SoundFilter
extends Object

A abstract class designed to filter sound samples. Since SoundFilters may use internal buffering of samples, a new SoundFilter object should be created for every sound played. However, SoundFilters can be reused after they are finished by called the reset() method.

Assumes all samples are 16-bit, signed, little-endian format.

See Also:
FilteredSoundStream

Constructor Summary
SoundFilter()
           
 
Method Summary
 void filter(byte[] samples)
          Filters an array of samples.
abstract  void filter(byte[] samples, int offset, int length)
          Filters an array of samples.
 int getRemainingSize()
          Gets the remaining size, in bytes, that this filter plays after the sound is finished.
static short getSample(byte[] buffer, int position)
          Convenience method for getting a 16-bit sample from a byte array.
 void reset()
          Resets this SoundFilter.
static void setSample(byte[] buffer, int position, short sample)
          Convenience method for setting a 16-bit sample in a byte array.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SoundFilter

public SoundFilter()
Method Detail

reset

public void reset()
Resets this SoundFilter. Does nothing by default.


getRemainingSize

public int getRemainingSize()
Gets the remaining size, in bytes, that this filter plays after the sound is finished. An example would be an echo that plays longer than it's original sound. This method returns 0 by default.


filter

public void filter(byte[] samples)
Filters an array of samples. Samples should be in 16-bit, signed, little-endian format.


filter

public abstract void filter(byte[] samples,
                            int offset,
                            int length)
Filters an array of samples. Samples should be in 16-bit, signed, little-endian format. This method should be implemented by subclasses.


getSample

public static short getSample(byte[] buffer,
                              int position)
Convenience method for getting a 16-bit sample from a byte array. Samples should be in 16-bit, signed, little-endian format.


setSample

public static void setSample(byte[] buffer,
                             int position,
                             short sample)
Convenience method for setting a 16-bit sample in a byte array. Samples should be in 16-bit, signed, little-endian format.


jjdh API

Copyright © 2006 Jonas Jacobi and Dennis Heidsiek. All Rights Reserved.