Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.2
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.sound.midi
Class Instrument

    java.lang.Object
      javax.sound.midi.SoundbankResource
          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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.2
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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

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