public abstract class

SoftMixingDataLine

extends Object
implements DataLine
java.lang.Object
   ↳ com.sun.media.sound.SoftMixingDataLine
Known Direct Subclasses

Class Overview

General software mixing line.

Summary

Nested Classes
class SoftMixingDataLine.AudioFloatInputStreamResampler  
Fields
public static final FloatControl.Type CHORUS_SEND
protected Object control_mutex
protected float eff1gain
protected float eff2gain
protected DataLine.Info info
protected float leftgain
protected List<LineListener> listeners
protected SoftMixingMixer mixer
protected float rightgain
Protected Constructors
SoftMixingDataLine(SoftMixingMixer mixer, DataLine.Info info)
Public Methods
void addLineListener(LineListener listener)
Adds a listener to this line.
Control getControl(Control.Type control)
Obtains a control of the specified type, if there is any.
Control[] getControls()
Obtains the set of controls associated with this line.
Line.Info getLineInfo()
Obtains the Line.Info object describing this line.
boolean isControlSupported(Control.Type control)
Indicates whether the line supports a control of the specified type.
void removeLineListener(LineListener listener)
Removes the specified listener from this line's list of listeners.
Protected Methods
void calcVolume()
abstract void processAudioLogic(SoftAudioBuffer[] buffers)
abstract void processControlLogic()
void sendEvent(LineEvent event)
[Expand]
Inherited Methods
From class java.lang.Object
From interface javax.sound.sampled.DataLine
From interface javax.sound.sampled.Line

Fields

public static final FloatControl.Type CHORUS_SEND

protected Object control_mutex

protected float eff1gain

protected float eff2gain

protected DataLine.Info info

protected float leftgain

protected List<LineListener> listeners

protected SoftMixingMixer mixer

protected float rightgain

Protected Constructors

protected SoftMixingDataLine (SoftMixingMixer mixer, DataLine.Info info)

Public Methods

public void addLineListener (LineListener listener)

Adds a listener to this line. Whenever the line's status changes, the listener's update() method is called with a LineEvent object that describes the change.

Parameters
listener the object to add as a listener to this line

public Control getControl (Control.Type control)

Obtains a control of the specified type, if there is any. Some controls may only be available when the line is open.

Parameters
control the type of the requested control
Returns
  • a control of the specified type

public Control[] getControls ()

Obtains the set of controls associated with this line. Some controls may only be available when the line is open. If there are no controls, this method returns an array of length 0.

Returns
  • the array of controls

public Line.Info getLineInfo ()

Obtains the Line.Info object describing this line.

Returns
  • description of the line

public boolean isControlSupported (Control.Type control)

Indicates whether the line supports a control of the specified type. Some controls may only be available when the line is open.

Parameters
control the type of the control for which support is queried
Returns
  • true if at least one control of the specified type is supported, otherwise false.

public void removeLineListener (LineListener listener)

Removes the specified listener from this line's list of listeners.

Parameters
listener listener to remove

Protected Methods

protected void calcVolume ()

protected abstract void processAudioLogic (SoftAudioBuffer[] buffers)

protected abstract void processControlLogic ()

protected void sendEvent (LineEvent event)