com.petersalomonsen.jjack.javasound
Class JJackLine

java.lang.Object
  extended by com.petersalomonsen.jjack.javasound.JJackLine
All Implemented Interfaces:
javax.sound.sampled.DataLine, javax.sound.sampled.Line
Direct Known Subclasses:
SourceJJackLine, TargetJJackLine

public abstract class JJackLine
extends java.lang.Object
implements javax.sound.sampled.DataLine

Base class for JJack Lines

Version:
0.3
Author:
Peter Johan Salomonsen

Nested Class Summary
 
Nested classes/interfaces inherited from interface javax.sound.sampled.DataLine
javax.sound.sampled.DataLine.Info
 
Field Summary
(package private)  byte[] byteBuffer
           
(package private)  ByteIntConverter converter
           
(package private)  BlockingByteFIFO fifo
           
(package private)  float[] floatBuffer
           
(package private)  javax.sound.sampled.AudioFormat format
           
(package private)  javax.sound.sampled.DataLine.Info info
           
(package private)  JJackMixer mixer
           
(package private)  boolean open
           
 
Constructor Summary
JJackLine(JJackMixer mixer)
           
 
Method Summary
 void addLineListener(javax.sound.sampled.LineListener listener)
           
abstract  int available()
           
protected  void checkAndAllocateBuffers(int length)
           
 void close()
           
 void drain()
           
 void flush()
           
 int getBufferSize()
           
 javax.sound.sampled.Control getControl(javax.sound.sampled.Control.Type control)
           
 javax.sound.sampled.Control[] getControls()
           
 javax.sound.sampled.AudioFormat getFormat()
           
 int getFramePosition()
           
 float getLevel()
           
 javax.sound.sampled.Line.Info getLineInfo()
           
abstract  long getLongFramePosition()
           
 long getMicrosecondPosition()
           
 boolean isActive()
           
 boolean isControlSupported(javax.sound.sampled.Control.Type control)
           
 boolean isOpen()
           
 boolean isRunning()
           
 void open()
           
 void open(javax.sound.sampled.AudioFormat format)
           
 void open(javax.sound.sampled.AudioFormat format, int bufferSize)
           
 void removeLineListener(javax.sound.sampled.LineListener listener)
           
 void start()
           
 void stop()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fifo

BlockingByteFIFO fifo

converter

ByteIntConverter converter

format

javax.sound.sampled.AudioFormat format

info

javax.sound.sampled.DataLine.Info info

mixer

JJackMixer mixer

open

boolean open

floatBuffer

float[] floatBuffer

byteBuffer

byte[] byteBuffer
Constructor Detail

JJackLine

public JJackLine(JJackMixer mixer)
Method Detail

addLineListener

public void addLineListener(javax.sound.sampled.LineListener listener)
Specified by:
addLineListener in interface javax.sound.sampled.Line

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
Throws:
javax.sound.sampled.LineUnavailableException

open

public void open(javax.sound.sampled.AudioFormat format,
                 int bufferSize)
          throws javax.sound.sampled.LineUnavailableException
Throws:
javax.sound.sampled.LineUnavailableException

close

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

getControl

public javax.sound.sampled.Control getControl(javax.sound.sampled.Control.Type control)
Specified by:
getControl in interface javax.sound.sampled.Line

getControls

public javax.sound.sampled.Control[] getControls()
Specified by:
getControls in interface javax.sound.sampled.Line

isControlSupported

public boolean isControlSupported(javax.sound.sampled.Control.Type control)
Specified by:
isControlSupported in interface javax.sound.sampled.Line

getBufferSize

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

isOpen

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

removeLineListener

public void removeLineListener(javax.sound.sampled.LineListener listener)
Specified by:
removeLineListener in interface javax.sound.sampled.Line

getFramePosition

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

getLongFramePosition

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

getMicrosecondPosition

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

available

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

getFormat

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

getLevel

public float getLevel()
Specified by:
getLevel 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

getLineInfo

public javax.sound.sampled.Line.Info getLineInfo()
Specified by:
getLineInfo in interface javax.sound.sampled.Line

checkAndAllocateBuffers

protected final void checkAndAllocateBuffers(int length)