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 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
.
Instrument
, Instrument.getPatch()
, MidiChannel.programChange(int, int)
, Synthesizer.loadInstruments(Soundbank, Patch[])
, Soundbank
, Sequence.getPatchList()
public Patch(int bank, int program)
Constructs a new patch object from the specified bank and program numbers.
bank
- the bank index (in the range from 0 to 16383)program
- the program index (in the range from 0 to 127)public int getBank()
Returns the number of the bank that contains the instrument whose location this Patch
specifies.
MidiChannel.programChange(int, int)
public int getProgram()
Returns the index, within a bank, of the instrument whose location this Patch
specifies.
MidiChannel.getProgram()
, MidiChannel.programChange(int)
, MidiChannel.programChange(int, int)
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.