Java™ Platform
Standard Ed. 6

javax.sound.midi
Class Instrument

java.lang.Object
  extended by javax.sound.midi.SoundbankResource
      extended by javax.sound.midi.Instrument

public abstract class Instrument
extends SoundbankResource

An instrument is a sound-synthesis algorithm with certain parameter settings, usually designed to emulate a specific real-world musical instrument or to achieve a specific sort of sound effect. Instruments are typically stored in collections called soundbanks. Before the instrument can be used to play notes, it must first be loaded onto a synthesizer, and then it must be selected for use on one or more channels, via a program-change command. MIDI notes that are subsequently received on those channels will be played using the sound of the selected instrument.

See Also:
Soundbank, Soundbank.getInstruments(), Patch, Synthesizer.loadInstrument(Instrument), MidiChannel.programChange(int, int)

Constructor Summary
protected Instrument(Soundbank soundbank, Patch patch, String name, Class<?> dataClass)
          Constructs a new MIDI instrument from the specified Patch.
 
Method Summary
 Patch getPatch()
          Obtains the Patch object that indicates the bank and program numbers where this instrument is to be stored in the synthesizer.
 
Methods inherited from class javax.sound.midi.SoundbankResource
getData, getDataClass, getName, getSoundbank
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Instrument

protected Instrument(Soundbank soundbank,
                     Patch patch,
                     String name,
                     Class<?> dataClass)
Constructs a new MIDI instrument from the specified Patch. When a subsequent request is made to load the instrument, the sound bank will search its contents for this instrument's Patch, and the instrument will be loaded into the synthesizer at the bank and program location indicated by the Patch object.

Parameters:
soundbank - sound bank containing the instrument
patch - the patch of this instrument
name - the name of this instrument
dataClass - the class used to represent the sample's data.
See Also:
Synthesizer.loadInstrument(Instrument)
Method Detail

getPatch

public Patch getPatch()
Obtains the Patch object that indicates the bank and program numbers where this instrument is to be stored in the synthesizer.

Returns:
this instrument's patch

Java™ Platform
Standard Ed. 6

Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.