public class Patch extends Object
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
.
Constructor and Description |
---|
Patch(int bank,
int program)
Constructs a new patch object from the specified bank and program
numbers.
|
Modifier and Type | Method and Description |
---|---|
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. |
public Patch(int bank, int program)
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()
Patch
specifies.MidiChannel.programChange(int, int)
public int getProgram()
Patch
specifies.MidiChannel.getProgram()
,
MidiChannel.programChange(int)
,
MidiChannel.programChange(int, int)
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2023, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.