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

## javax.sound.midi
Class Patch

    java.lang.Object
      |
      +--javax.sound.midi.Patch

public class Patch
extends Object

A `Patch` object represents a location, on a MIDI synthesizer, into which a single instrument is stored (loaded). Every `Instrument` object has its own `Patch` object that specifies the memory location into which that instrument should be loaded. The location is specified abstractly by a bank index and a program number (not by any scheme that directly refers to a specific address or offset in RAM). This is a hierarchical indexing scheme: MIDI provides for up to 128 banks, each of which contains up to 128 program locations. For example, a minimal sort of synthesizer might have only one bank of instruments, and only 32 instruments (programs) in that bank.

To select what instrument should play the notes on a particular MIDI channel, two kinds of MIDI message are used that specify a patch location: a bank-select command, and a program-change channel command. The Java Sound equivalent is the `programChange(int, int)` method of `MidiChannel`.

See Also:
  `Instrument`, `Instrument.getPatch()`, `MidiChannel.programChange(int, int)`, `Synthesizer.loadInstruments(Soundbank, Patch[])`, `Soundbank`, `Sequence.getPatchList()`

Constructor Summary
`Patch(int bank, int program)` Constructs a new patch object from the specified bank and program numbers (which should be in the range from 0 to 127).

Method Summary
`int` | `getBank()` Returns the number of the bank that contains the instrument whose location this `Patch` specifies.
`int` | `getProgram()` Returns the index, within a bank, of the instrument whose location this `Patch` specifies.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Patch

    public Patch(int bank,
                 int program)

  Constructs a new patch object from the specified bank and program numbers (which should be in the range from 0 to 127).
  Parameters:
    `bank` - the bank index
    `program` - the program index

Method Detail

### getBank

    public int getBank()

  Returns the number of the bank that contains the instrument whose location this `Patch` specifies.
  Returns:
    the bank number, whose range is from 0 to 127
  See Also:
    `MidiChannel.programChange(int, int)`

### getProgram

    public int getProgram()

  Returns the index, within a bank, of the instrument whose location this `Patch` specifies.
  Returns:
    the instrument's program number, whose range is from 0 to 127
  See Also:
    `MidiChannel.getProgram()`, `MidiChannel.programChange(int)`, `MidiChannel.programChange(int, int)`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | 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.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2001 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.