com.sun.media.sound
Class SoftMixingSourceDataLine

java.lang.Object
  extended by com.sun.media.sound.SoftMixingDataLine
      extended by com.sun.media.sound.SoftMixingSourceDataLine
All Implemented Interfaces:
javax.sound.sampled.DataLine, javax.sound.sampled.Line, javax.sound.sampled.SourceDataLine

public class SoftMixingSourceDataLine
extends SoftMixingDataLine
implements javax.sound.sampled.SourceDataLine

SourceDataLine implemention for the SoftMixingMixer.

Author:
Karl Helgason

Nested Class Summary
 
Nested classes/interfaces inherited from class com.sun.media.sound.SoftMixingDataLine
SoftMixingDataLine.AudioFloatInputStreamResampler
 
Nested classes/interfaces inherited from interface javax.sound.sampled.DataLine
javax.sound.sampled.DataLine.Info
 
Field Summary
 
Fields inherited from class com.sun.media.sound.SoftMixingDataLine
CHORUS_SEND, control_mutex, eff1gain, eff2gain, info, leftgain, listeners, mixer, rightgain
 
Constructor Summary
protected SoftMixingSourceDataLine(SoftMixingMixer mixer, javax.sound.sampled.DataLine.Info info)
           
 
Method Summary
 int available()
           
 void close()
           
 void drain()
           
 void flush()
           
 int getBufferSize()
           
 javax.sound.sampled.AudioFormat getFormat()
           
 int getFramePosition()
           
 float getLevel()
           
 long getLongFramePosition()
           
 long getMicrosecondPosition()
           
 boolean isActive()
           
 boolean isOpen()
           
 boolean isRunning()
           
 void open()
           
 void open(javax.sound.sampled.AudioFormat format)
           
 void open(javax.sound.sampled.AudioFormat format, int bufferSize)
           
protected  void processAudioLogic(SoftAudioBuffer[] buffers)
           
protected  void processControlLogic()
           
 void start()
           
 void stop()
           
 int write(byte[] b, int off, int len)
           
 
Methods inherited from class com.sun.media.sound.SoftMixingDataLine
addLineListener, calcVolume, getControl, getControls, getLineInfo, isControlSupported, removeLineListener, sendEvent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.sound.sampled.Line
addLineListener, getControl, getControls, getLineInfo, isControlSupported, removeLineListener
 

Constructor Detail

SoftMixingSourceDataLine

protected SoftMixingSourceDataLine(SoftMixingMixer mixer,
                                   javax.sound.sampled.DataLine.Info info)
Method Detail

write

public int write(byte[] b,
                 int off,
                 int len)
Specified by:
write in interface javax.sound.sampled.SourceDataLine

processControlLogic

protected void processControlLogic()
Specified by:
processControlLogic in class SoftMixingDataLine

processAudioLogic

protected void processAudioLogic(SoftAudioBuffer[] buffers)
Specified by:
processAudioLogic in class SoftMixingDataLine

open

public void open()
          throws javax.sound.sampled.LineUnavailableException
Specified by:
open in interface javax.sound.sampled.Line
Throws:
javax.sound.sampled.LineUnavailableException

open

public void open(javax.sound.sampled.AudioFormat format)
          throws javax.sound.sampled.LineUnavailableException
Specified by:
open in interface javax.sound.sampled.SourceDataLine
Throws:
javax.sound.sampled.LineUnavailableException

open

public void open(javax.sound.sampled.AudioFormat format,
                 int bufferSize)
          throws javax.sound.sampled.LineUnavailableException
Specified by:
open in interface javax.sound.sampled.SourceDataLine
Throws:
javax.sound.sampled.LineUnavailableException

available

public int available()
Specified by:
available in interface javax.sound.sampled.DataLine

drain

public void drain()
Specified by:
drain in interface javax.sound.sampled.DataLine

flush

public void flush()
Specified by:
flush in interface javax.sound.sampled.DataLine

getBufferSize

public int getBufferSize()
Specified by:
getBufferSize in interface javax.sound.sampled.DataLine

getFormat

public javax.sound.sampled.AudioFormat getFormat()
Specified by:
getFormat in interface javax.sound.sampled.DataLine

getFramePosition

public int getFramePosition()
Specified by:
getFramePosition in interface javax.sound.sampled.DataLine

getLevel

public float getLevel()
Specified by:
getLevel in interface javax.sound.sampled.DataLine

getLongFramePosition

public long getLongFramePosition()
Specified by:
getLongFramePosition in interface javax.sound.sampled.DataLine

getMicrosecondPosition

public long getMicrosecondPosition()
Specified by:
getMicrosecondPosition in interface javax.sound.sampled.DataLine

isActive

public boolean isActive()
Specified by:
isActive in interface javax.sound.sampled.DataLine

isRunning

public boolean isRunning()
Specified by:
isRunning in interface javax.sound.sampled.DataLine

start

public void start()
Specified by:
start in interface javax.sound.sampled.DataLine

stop

public void stop()
Specified by:
stop in interface javax.sound.sampled.DataLine

close

public void close()
Specified by:
close in interface javax.sound.sampled.Line

isOpen

public boolean isOpen()
Specified by:
isOpen in interface javax.sound.sampled.Line