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.DataFlavorDATA_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 voidadd(AudioPlugin newPlugin)Add (append) new plugin.java.lang.Objectclone()AudioPluginget(int i)Get plugin at index i;javax.sound.sampled.AudioInputStreamgetAudioInputStream()Returns a new audio input stream.javax.sound.sampled.AudioFormatgetFormat()Get audio format of last plugin of this chain.longgetFrameLength()java.lang.ObjectgetTransferData(java.awt.datatransfer.DataFlavor arg0)java.awt.datatransfer.DataFlavor[]getTransferDataFlavors()java.io.File[]getUsedAudioFiles()Returns used (involved) audio files.booleanisDataFlavorSupported(java.awt.datatransfer.DataFlavor arg0)booleanisValid()AudioPluginremoveLast()voidsetValid(boolean valid)intsize()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:
clonein classjava.lang.Object
-
getAudioInputStream
public javax.sound.sampled.AudioInputStream getAudioInputStream() throws AudioSourceExceptionDescription copied from interface:AudioSourceReturns a new audio input stream.- Specified by:
getAudioInputStreamin 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:
getTransferDataFlavorsin interfacejava.awt.datatransfer.Transferable
-
isDataFlavorSupported
public boolean isDataFlavorSupported(java.awt.datatransfer.DataFlavor arg0)
- Specified by:
isDataFlavorSupportedin 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:
getTransferDatain interfacejava.awt.datatransfer.Transferable- Throws:
java.awt.datatransfer.UnsupportedFlavorExceptionjava.io.IOException
-
getFormat
public javax.sound.sampled.AudioFormat getFormat() throws AudioSourceExceptionGet audio format of last plugin of this chain.- Specified by:
getFormatin interfaceAudioSource- Returns:
- audio format of this chain
- Throws:
AudioSourceException
-
getFrameLength
public long getFrameLength() throws AudioSourceException- Specified by:
getFrameLengthin 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)
-
-