Package ipsk.audio
Class PluginChain
- java.lang.Object
-
- ipsk.audio.PluginChain
-
- All Implemented Interfaces:
AudioSource
,TransferableAudioSource
,java.awt.datatransfer.Transferable
public class PluginChain extends java.lang.Object implements TransferableAudioSource
Stores a chain of audio plugins. The chain begins with an AudioSource. AudioPlugin's may be appended to the chain. The last AudioPlugin implements the AudioSource of this class.- Author:
- K.Jaensch, klausj@phonetik.uni-muenchen.de
-
-
Field Summary
Fields Modifier and Type Field Description static java.awt.datatransfer.DataFlavor
DATA_FLAVOR
-
Constructor Summary
Constructors Constructor Description PluginChain(AudioSource source)
Build a new plugin chain with the given audio source.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(AudioPlugin newPlugin)
Add (append) new plugin.java.lang.Object
clone()
AudioPlugin
get(int i)
Get plugin at index i;javax.sound.sampled.AudioInputStream
getAudioInputStream()
Returns a new audio input stream.javax.sound.sampled.AudioFormat
getFormat()
Get audio format of last plugin of this chain.long
getFrameLength()
java.lang.Object
getTransferData(java.awt.datatransfer.DataFlavor arg0)
java.awt.datatransfer.DataFlavor[]
getTransferDataFlavors()
java.io.File[]
getUsedAudioFiles()
Returns used (involved) audio files.boolean
isDataFlavorSupported(java.awt.datatransfer.DataFlavor arg0)
boolean
isValid()
AudioPlugin
removeLast()
void
setValid(boolean valid)
int
size()
Get number of plugins in chain.
-
-
-
Constructor Detail
-
PluginChain
public PluginChain(AudioSource source)
Build a new plugin chain with the given audio source.- Parameters:
source
- the audio source of the chain
-
-
Method Detail
-
clone
public java.lang.Object clone()
- Overrides:
clone
in classjava.lang.Object
-
getAudioInputStream
public javax.sound.sampled.AudioInputStream getAudioInputStream() throws AudioSourceException
Description copied from interface:AudioSource
Returns a new audio input stream.- Specified by:
getAudioInputStream
in interfaceAudioSource
- Returns:
- a new audio input stream
- Throws:
AudioSourceException
-
add
public void add(AudioPlugin newPlugin) throws AudioFormatNotSupportedException
Add (append) new plugin. The plugin must be able to handle the current format.- Parameters:
newPlugin
- plugin to append- Throws:
AudioFormatNotSupportedException
- if the plugin cannot handle the current format
-
get
public AudioPlugin get(int i)
Get plugin at index i;- Parameters:
i
- index- Returns:
- plugin at i
-
removeLast
public AudioPlugin removeLast()
-
size
public int size()
Get number of plugins in chain.- Returns:
- number of plugins
-
getTransferDataFlavors
public java.awt.datatransfer.DataFlavor[] getTransferDataFlavors()
- Specified by:
getTransferDataFlavors
in interfacejava.awt.datatransfer.Transferable
-
isDataFlavorSupported
public boolean isDataFlavorSupported(java.awt.datatransfer.DataFlavor arg0)
- Specified by:
isDataFlavorSupported
in interfacejava.awt.datatransfer.Transferable
-
getTransferData
public java.lang.Object getTransferData(java.awt.datatransfer.DataFlavor arg0) throws java.awt.datatransfer.UnsupportedFlavorException, java.io.IOException
- Specified by:
getTransferData
in interfacejava.awt.datatransfer.Transferable
- Throws:
java.awt.datatransfer.UnsupportedFlavorException
java.io.IOException
-
getFormat
public javax.sound.sampled.AudioFormat getFormat() throws AudioSourceException
Get audio format of last plugin of this chain.- Specified by:
getFormat
in interfaceAudioSource
- Returns:
- audio format of this chain
- Throws:
AudioSourceException
-
getFrameLength
public long getFrameLength() throws AudioSourceException
- Specified by:
getFrameLength
in interfaceAudioSource
- Throws:
AudioSourceException
-
getUsedAudioFiles
public java.io.File[] getUsedAudioFiles()
Returns used (involved) audio files.- Returns:
- array of used files.
-
isValid
public boolean isValid()
-
setValid
public void setValid(boolean valid)
-
-