com.groovemanager.spi.asio
Class ASIOLineInfo

java.lang.Object
  extended by javax.sound.sampled.Line.Info
      extended by javax.sound.sampled.DataLine.Info
          extended by com.groovemanager.spi.asio.ASIOLineInfo

public class ASIOLineInfo
extends DataLine.Info

This class is used for DataLine.Info instances of ASIODataLines

Author:
Manu Robledo

Field Summary
private  ASIOChannelInfo cInfo
          The ASIOChannelInfo representing this line
private  ASIOMixer mixer
          The ASIOMixer to which the line belongs.
 
Constructor Summary
ASIOLineInfo(ASIOMixer mixer, ASIOChannelInfo cInfo, AudioFormat[] formats, int minSize, int maxSize)
          Constructs a new ASIOLineInfo object
 
Method Summary
(package private)  ASIOChannelInfo getChannelInfo()
          Get the ASIOChannelInfo that represents this line´s channel
(package private)  int getFirstChannel()
          Get the lowest channel that this line uses
private static Class getLineClass(ASIOChannelInfo cInfo)
          get the interface´s class for the super constructor
(package private)  ASIOMixer getMixer()
          Get the ASIOMixer related to this info´s line
 String getName()
          Get an identifying name of the line represented by this info object.
(package private)  boolean isInput()
          Tell if this info object represents an input or an output line
 String toString()
           
 
Methods inherited from class javax.sound.sampled.DataLine.Info
getFormats, getMaxBufferSize, getMinBufferSize, isFormatSupported, matches
 
Methods inherited from class javax.sound.sampled.Line.Info
getLineClass
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

cInfo

private ASIOChannelInfo cInfo
The ASIOChannelInfo representing this line


mixer

private ASIOMixer mixer
The ASIOMixer to which the line belongs.

Constructor Detail

ASIOLineInfo

ASIOLineInfo(ASIOMixer mixer,
             ASIOChannelInfo cInfo,
             AudioFormat[] formats,
             int minSize,
             int maxSize)
Constructs a new ASIOLineInfo object

Parameters:
mixer - The ASIOMixer representing the ASIO driver
cInfo - The ASIOChannelInfo representing the channel
formats - The AudioFormats supported by the line
minSize - The minimum buffer size in bytes
maxSize - The maximum buffer size in bytes
Method Detail

getLineClass

private static Class getLineClass(ASIOChannelInfo cInfo)
get the interface´s class for the super constructor

Parameters:
cInfo - The ASIOChannelInfo representing the channel
Returns:
TargetDataLine.class if this info represents an input line, SourceDataLine.class otherwise

getMixer

ASIOMixer getMixer()
Get the ASIOMixer related to this info´s line

Returns:
The ASIOMixer instance which generated this Info object

getFirstChannel

int getFirstChannel()
Get the lowest channel that this line uses

Returns:
The zero-based index of the lowest channel used by the line represented by this info object

getChannelInfo

ASIOChannelInfo getChannelInfo()
Get the ASIOChannelInfo that represents this line´s channel

Returns:
The ASIOChannelInfo that represents this line´s channel

isInput

boolean isInput()
Tell if this info object represents an input or an output line

Returns:
true if the line represented by this info object is an input line, false otherwise

getName

public String getName()
Get an identifying name of the line represented by this info object. Will be something like "Driver XY analog out L" or "Driver YZ SPDIF In"

Returns:
A name of the line represented by this object

toString

public String toString()
Overrides:
toString in class DataLine.Info