Top Description Fields Constructors Methods
com.sun.media.sound

public final Class SF2Soundbank

extends Object
implements Soundbank
Class Inheritance
All Implemented Interfaces
javax.sound.midi.Soundbank
Imports
java.io.File, .FileInputStream, .IOException, .InputStream, .OutputStream, java.net.URL, java.util.ArrayList, .Arrays, .Iterator, .List, .Map, javax.sound.midi.Instrument, .Patch, .Soundbank, .SoundbankResource

A SoundFont 2.04 soundbank reader. Based on SoundFont 2.04 specification from:

http://developer.creative.com
http://www.soundfont.com/ ;

Author
Karl Helgason

Field Summary

Modifier and TypeField and Description
pack-priv String
pack-priv String
pack-priv String
pack-priv String
private final List<SF2Instrument>
private boolean
private final List<SF2Layer>
pack-priv int
pack-priv int
pack-priv String
pack-priv String
pack-priv String
pack-priv int
pack-priv int
private ModelByteBuffer
private ModelByteBuffer
private File
private final List<SF2Sample>
pack-priv String
pack-priv String

Constructor Summary

AccessConstructor and Description
public
public
public
public

Method Summary

Modifier and TypeMethod and Description
public void
public void
public String
public String
getDescription()

Implements javax.sound.midi.Soundbank.getDescription.

Obtains a textual description of the sound bank, suitable for display.
public Instrument
getInstrument(Patch
a Patch object specifying the bank index and program change number
patch
)

Implements javax.sound.midi.Soundbank.getInstrument.

Obtains an Instrument from the given Patch.
public SF2Instrument[]
getInstruments()

Implements javax.sound.midi.Soundbank.getInstruments.

Obtains a list of instruments contained in this sound bank.
public SF2Layer[]
public String
getName()

Implements javax.sound.midi.Soundbank.getName.

Obtains the name of the sound bank.
public String
public SoundbankResource[]
getResources()

Implements javax.sound.midi.Soundbank.getResources.

Extracts a list of non-Instrument resources contained in the sound bank.
public String
public int
public int
public SF2Sample[]
public String
public String
public String
getVendor()

Implements javax.sound.midi.Soundbank.getVendor.

Obtains a string naming the company that provides the sound bank.
public String
getVersion()

Implements javax.sound.midi.Soundbank.getVersion.

Obtains the version string for the sound bank.
private void
private void
private void
private void
public void
public void
public void
save(String name)

public void
save(File file)

public void
public void
setCreationDate(String creationDate)

public void
public void
public void
setProduct(String product)

public void
setRomName(String romName)

public void
setRomVersionMajor(int romVersionMajor)

public void
setRomVersionMinor(int romVersionMinor)

public void
setTargetEngine(String targetEngine)

public void
public void
private void
writeGenerators(RIFFWriter writer, Map<Integer, Short> generators)

private void
private void
private void
private void
private void
private void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

commentsback to summary
pack-priv String comments
creationDateback to summary
pack-priv String creationDate
engineersback to summary
pack-priv String engineers
instrumentsback to summary
private final List<SF2Instrument> instruments
largeFormatback to summary
private boolean largeFormat
layersback to summary
private final List<SF2Layer> layers
majorback to summary
pack-priv int major
minorback to summary
pack-priv int minor
nameback to summary
pack-priv String name
productback to summary
pack-priv String product
romNameback to summary
pack-priv String romName
romVersionMajorback to summary
pack-priv int romVersionMajor
romVersionMinorback to summary
pack-priv int romVersionMinor
sampleDataback to summary
private ModelByteBuffer sampleData
sampleData24back to summary
private ModelByteBuffer sampleData24
sampleFileback to summary
private File sampleFile
samplesback to summary
private final List<SF2Sample> samples
targetEngineback to summary
pack-priv String targetEngine
toolsback to summary
pack-priv String tools

Constructor Detail

SF2Soundbankback to summary
public SF2Soundbank()
SF2Soundbankback to summary
public SF2Soundbank(URL url) throws IOException
SF2Soundbankback to summary
public SF2Soundbank(File file) throws IOException
SF2Soundbankback to summary
public SF2Soundbank(InputStream inputstream) throws IOException

Method Detail

addInstrumentback to summary
public void addInstrument(SF2Instrument resource)
addResourceback to summary
public void addResource(SoundbankResource resource)
getCreationDateback to summary
public String getCreationDate()
getDescriptionback to summary
public String getDescription()

Implements javax.sound.midi.Soundbank.getDescription.

Doc from javax.sound.midi.Soundbank.getDescription.

Obtains a textual description of the sound bank, suitable for display.

Returns:String

a String that describes the sound bank

Annotations
@Override
getInstrumentback to summary
public Instrument getInstrument(Patch patch)

Implements javax.sound.midi.Soundbank.getInstrument.

Doc from javax.sound.midi.Soundbank.getInstrument.

Obtains an Instrument from the given Patch.

Parameters
patch:Patch

a Patch object specifying the bank index and program change number

Returns:Instrument

the requested instrument, or null if the sound bank doesn't contain that instrument

Annotations
@Override
getInstrumentsback to summary
public SF2Instrument[] getInstruments()

Implements javax.sound.midi.Soundbank.getInstruments.

Doc from javax.sound.midi.Soundbank.getInstruments.

Obtains a list of instruments contained in this sound bank.

Returns:SF2Instrument[]

an array of the Instruments in this SoundBank. If the sound bank contains no instruments, returns an array of length 0.

Annotations
@Override
getLayersback to summary
public SF2Layer[] getLayers()
getNameback to summary
public String getName()

Implements javax.sound.midi.Soundbank.getName.

Doc from javax.sound.midi.Soundbank.getName.

Obtains the name of the sound bank.

Returns:String

a String naming the sound bank

Annotations
@Override
getProductback to summary
public String getProduct()
getResourcesback to summary
public SoundbankResource[] getResources()

Implements javax.sound.midi.Soundbank.getResources.

Doc from javax.sound.midi.Soundbank.getResources.

Extracts a list of non-Instrument resources contained in the sound bank.

Returns:SoundbankResource[]

an array of resources, excluding instruments. If the sound bank contains no resources (other than instruments), returns an array of length 0.

Annotations
@Override
getRomNameback to summary
public String getRomName()
getRomVersionMajorback to summary
public int getRomVersionMajor()
getRomVersionMinorback to summary
public int getRomVersionMinor()
getSamplesback to summary
public SF2Sample[] getSamples()
getTargetEngineback to summary
public String getTargetEngine()
getToolsback to summary
public String getTools()
getVendorback to summary
public String getVendor()

Implements javax.sound.midi.Soundbank.getVendor.

Doc from javax.sound.midi.Soundbank.getVendor.

Obtains a string naming the company that provides the sound bank.

Returns:String

the vendor string

Annotations
@Override
getVersionback to summary
public String getVersion()

Implements javax.sound.midi.Soundbank.getVersion.

Doc from javax.sound.midi.Soundbank.getVersion.

Obtains the version string for the sound bank.

Returns:String

a String that indicates the sound bank's version

Annotations
@Override
readInfoChunkback to summary
private void readInfoChunk(RIFFReader riff) throws IOException
readPdtaChunkback to summary
private void readPdtaChunk(RIFFReader riff) throws IOException
readSdtaChunkback to summary
private void readSdtaChunk(RIFFReader riff) throws IOException
readSoundbankback to summary
private void readSoundbank(InputStream inputstream) throws IOException
removeInstrumentback to summary
public void removeInstrument(SF2Instrument resource)
removeResourceback to summary
public void removeResource(SoundbankResource resource)
saveback to summary
public void save(String name) throws IOException
saveback to summary
public void save(File file) throws IOException
saveback to summary
public void save(OutputStream out) throws IOException
setCreationDateback to summary
public void setCreationDate(String creationDate)
setDescriptionback to summary
public void setDescription(String s)
setNameback to summary
public void setName(String s)
setProductback to summary
public void setProduct(String product)
setRomNameback to summary
public void setRomName(String romName)
setRomVersionMajorback to summary
public void setRomVersionMajor(int romVersionMajor)
setRomVersionMinorback to summary
public void setRomVersionMinor(int romVersionMinor)
setTargetEngineback to summary
public void setTargetEngine(String targetEngine)
setToolsback to summary
public void setTools(String tools)
setVendorback to summary
public void setVendor(String s)
writeGeneratorsback to summary
private void writeGenerators(RIFFWriter writer, Map<Integer, Short> generators) throws IOException
writeInfoback to summary
private void writeInfo(RIFFWriter writer) throws IOException
writeInfoStringChunkback to summary
private void writeInfoStringChunk(RIFFWriter writer, String name, String value) throws IOException
writeModulatorsback to summary
private void writeModulators(RIFFWriter writer, List<SF2Modulator> modulators) throws IOException
writePdtaChunkback to summary
private void writePdtaChunk(RIFFWriter writer) throws IOException
writeSdtaChunkback to summary
private void writeSdtaChunk(RIFFWriter writer) throws IOException
writeSoundbankback to summary
private void writeSoundbank(RIFFWriter writer) throws IOException