com.sun.j3d.audioengines
Class Sample

java.lang.Object
  extended by com.sun.j3d.audioengines.Sample

public class Sample
extends java.lang.Object

The Sample class defines the data and methods associated with a sound sample played through the AudioDevice. This contains all the data fields for non-spatialized and spatialized (positional and directional) sound samples.


Field Summary
protected  double[] angularDistance
          Directional Sound's gain can be attenuated based on the listener's location off-angle from the source source direction.
protected  float[] angularFilterCutoff
           
protected  int angularFilterType
           
protected  float[] angularGain
           
protected  double[] attenuationDistance
           
protected  float[] attenuationGain
           
protected  double[] backAttenuationDistance
          Pairs of distances and gain scale factors that define piecewise linear gain BACK attenuation between each pair.
protected  float[] backAttenuationGain
           
protected static boolean debugFlag
           
protected  Vector3f direction
          The Cone Sound's direction vector.
protected  int dirtyFlags
          dirty flags denoting what has changed since last rendering
protected  long duration
           
static int DURATION_UNKNOWN
           
protected  float gain
          Overall Scale Factor applied to sound gain.
protected static boolean internalErrors
           
protected  int loopCount
          Number of times sound is looped/repeated during play
static int LOW_PASS
           
protected  boolean mute
           
static int NO_FILTERING
          Distance Filter Each sound source is attenuated by a filter based on it's distance from the listener.
static int NULL_SAMPLE
          Null Sound identifier denotes sound is not created or initialized
protected  int numberOfChannels
           
protected  float obstructionFilterCutoff
           
protected  int obstructionFilterType
           
protected  float obstructionGain
           
protected  float occlusionFilterCutoff
           
protected  int occlusionFilterType
           
protected  float occlusionGain
           
protected  Point3f position
           
protected  float rateScaleFactor
          Overall Scale Factor applied to sound.
protected  MediaContainer soundData
          sound data associated with sound source
protected  int soundType
          sound data associated with sound source
protected  Transform3D vworldXfrm
           
protected  boolean vwXfrmFlag
           
 
Constructor Summary
Sample()
           
 
Method Summary
 void clear()
          Clears/re-initialize fields associated with sample data for this sound, and frees any device specific data associated with this sample.
protected  void debugPrint(java.lang.String message)
           
protected  void debugPrintln(java.lang.String message)
           
 int getDirtyFlags()
           
 long getDuration()
           
 float getGain()
           
 int getLoopCount()
           
 boolean getMuteFlag()
           
 int getNumberOfChannelsUsed()
           
 float getObstructionGain()
           
 float getOcclusionGain()
           
 float getRateScaleFactor()
           
 MediaContainer getSoundData()
           
 int getSoundType()
           
 long getStartTime()
           
 boolean getVWrldXfrmFlag()
           
 void render(int dirtyFlags, View view, AuralParameters attribs)
           
 void setAngularAttenuation(int filterType, double[] angle, float[] attenuationScaleFactor, float[] filterCutoff)
           
 void setDirection(Vector3d direction)
           
 void setDirtyFlags(int flags)
           
 void setDistanceGain(double[] frontDistance, float[] frontAttenuationScaleFactor, double[] backDistance, float[] backAttenuationScaleFactor)
           
 void setGain(float scaleFactor)
           
 void setLoopCount(int count)
           
 void setMuteFlag(boolean flag)
           
 void setObstructionFilter(float cutoffFrequency)
           
 void setObstructionGain(float scaleFactor)
           
 void setOcclusionFilter(float cutoffFrequency)
           
 void setOcclusionGain(float scaleFactor)
           
 void setPosition(Point3d position)
           
 void setRateScaleFactor(float scaleFactor)
           
 void setSoundData(MediaContainer ref)
           
 void setSoundType(int type)
           
 void setVWrldXfrmFlag(boolean flag)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

debugFlag

protected static final boolean debugFlag
See Also:
Constant Field Values

internalErrors

protected static final boolean internalErrors
See Also:
Constant Field Values

NULL_SAMPLE

public static final int NULL_SAMPLE
Null Sound identifier denotes sound is not created or initialized

See Also:
Constant Field Values

soundData

protected MediaContainer soundData
sound data associated with sound source


soundType

protected int soundType
sound data associated with sound source


gain

protected float gain
Overall Scale Factor applied to sound gain.


rateScaleFactor

protected float rateScaleFactor
Overall Scale Factor applied to sound.

Since:
Java 3D 1.3

loopCount

protected int loopCount
Number of times sound is looped/repeated during play


DURATION_UNKNOWN

public static final int DURATION_UNKNOWN
See Also:
Constant Field Values

duration

protected long duration

numberOfChannels

protected int numberOfChannels

mute

protected boolean mute

vworldXfrm

protected Transform3D vworldXfrm

vwXfrmFlag

protected boolean vwXfrmFlag

position

protected Point3f position

attenuationDistance

protected double[] attenuationDistance

attenuationGain

protected float[] attenuationGain

dirtyFlags

protected int dirtyFlags
dirty flags denoting what has changed since last rendering


direction

protected Vector3f direction
The Cone Sound's direction vector. This is the cone axis.


backAttenuationDistance

protected double[] backAttenuationDistance
Pairs of distances and gain scale factors that define piecewise linear gain BACK attenuation between each pair. These are used for defining elliptical attenuation regions.


backAttenuationGain

protected float[] backAttenuationGain

angularDistance

protected double[] angularDistance
Directional Sound's gain can be attenuated based on the listener's location off-angle from the source source direction. This can be set by three parameters: angular distance in radians gain scale factor filtering (currently the only filtering supported is lowpass)


angularGain

protected float[] angularGain

NO_FILTERING

public static final int NO_FILTERING
Distance Filter Each sound source is attenuated by a filter based on it's distance from the listener. For now the only supported filterType will be LOW_PASS frequency cutoff. At some time full FIR filtering will be supported.

See Also:
Constant Field Values

LOW_PASS

public static final int LOW_PASS
See Also:
Constant Field Values

angularFilterType

protected int angularFilterType

angularFilterCutoff

protected float[] angularFilterCutoff

obstructionGain

protected float obstructionGain

obstructionFilterType

protected int obstructionFilterType

obstructionFilterCutoff

protected float obstructionFilterCutoff

occlusionGain

protected float occlusionGain

occlusionFilterType

protected int occlusionFilterType

occlusionFilterCutoff

protected float occlusionFilterCutoff
Constructor Detail

Sample

public Sample()
Method Detail

debugPrint

protected void debugPrint(java.lang.String message)

debugPrintln

protected void debugPrintln(java.lang.String message)

getDuration

public long getDuration()

getStartTime

public long getStartTime()

getNumberOfChannelsUsed

public int getNumberOfChannelsUsed()

setDirtyFlags

public void setDirtyFlags(int flags)

getDirtyFlags

public int getDirtyFlags()

setSoundType

public void setSoundType(int type)

getSoundType

public int getSoundType()

setSoundData

public void setSoundData(MediaContainer ref)

getSoundData

public MediaContainer getSoundData()

setMuteFlag

public void setMuteFlag(boolean flag)

getMuteFlag

public boolean getMuteFlag()

setVWrldXfrmFlag

public void setVWrldXfrmFlag(boolean flag)

getVWrldXfrmFlag

public boolean getVWrldXfrmFlag()

setGain

public void setGain(float scaleFactor)

getGain

public float getGain()

setLoopCount

public void setLoopCount(int count)

getLoopCount

public int getLoopCount()

setPosition

public void setPosition(Point3d position)

setDistanceGain

public void setDistanceGain(double[] frontDistance,
                            float[] frontAttenuationScaleFactor,
                            double[] backDistance,
                            float[] backAttenuationScaleFactor)

setDirection

public void setDirection(Vector3d direction)

setAngularAttenuation

public void setAngularAttenuation(int filterType,
                                  double[] angle,
                                  float[] attenuationScaleFactor,
                                  float[] filterCutoff)

setRateScaleFactor

public void setRateScaleFactor(float scaleFactor)

getRateScaleFactor

public float getRateScaleFactor()

setObstructionGain

public void setObstructionGain(float scaleFactor)

getObstructionGain

public float getObstructionGain()

setObstructionFilter

public void setObstructionFilter(float cutoffFrequency)

setOcclusionGain

public void setOcclusionGain(float scaleFactor)

getOcclusionGain

public float getOcclusionGain()

setOcclusionFilter

public void setOcclusionFilter(float cutoffFrequency)

clear

public void clear()
Clears/re-initialize fields associated with sample data for this sound, and frees any device specific data associated with this sample.


render

public void render(int dirtyFlags,
                   View view,
                   AuralParameters attribs)