APIdia Launch Partner
Top Description Fields Constructors Methods
javax.sound.midi

public Class Patch

extends Object
Class Inheritance
Known Direct Subclasses
com.sun.media.sound.ModelPatch

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 16384 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.

Author
Kara Kytle
See Also
Instrument, Instrument#getPatch(), MidiChannel#programChange(int, int), Synthesizer#loadInstruments(Soundbank, Patch[]), Soundbank, Sequence#getPatchList()

Field Summary

Modifier and TypeField and Description
private final int
bank

Bank index.

private final int
program

Program change number.

Constructor Summary

AccessConstructor and Description
public
Patch(int
the bank index (in the range from 0 to 16383)
bank
,
int
the program index (in the range from 0 to 127)
program
)

Constructs a new patch object from the specified bank and program numbers.

Method Summary

Modifier and TypeMethod and Description
public int

Returns:

the bank number, whose range is from 0 to 16383
getBank
()

Returns the number of the bank that contains the instrument whose location this Patch specifies.

public int

Returns:

the instrument's program number, whose range is from 0 to 127
getProgram
()

Returns the index, within a bank, of the instrument whose location this Patch specifies.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

bankback to summary
private final int bank

Bank index.

programback to summary
private final int program

Program change number.

Constructor Detail

Patchback to summary
public Patch(int bank, int program)

Constructs a new patch object from the specified bank and program numbers.

Parameters
bank:int

the bank index (in the range from 0 to 16383)

program:int

the program index (in the range from 0 to 127)

Method Detail

getBankback to summary
public int getBank()

Returns the number of the bank that contains the instrument whose location this Patch specifies.

Returns:int

the bank number, whose range is from 0 to 16383

See Also
MidiChannel#programChange(int, int)
getProgramback to summary
public int getProgram()

Returns the index, within a bank, of the instrument whose location this Patch specifies.

Returns:int

the instrument's program number, whose range is from 0 to 127

See Also
MidiChannel#getProgram, MidiChannel#programChange(int), MidiChannel#programChange(int, int)