JavaTM 2 Platform
Std. Ed. v1.3

javax.sound.midi
クラス Patch

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

public class Patch
extends Object

Patch オブジェクトは、単一のインストゥルメントが格納される (ロードされる) MIDI シンセサイザ上の位置を表します。すべての Instrument オブジェクトには、そのインストゥルメントがロードされるメモリ位置を指定する固有の Patch オブジェクトがあります。位置は (RAM の特定のアドレスまたは座標に直接関連するスキーマによってではなく) バンクインデックスおよびプログラム番号によって抽象的に指定されます。これは階層型インデックススキーマです。MIDI は最大 128 バンクを提供し、各バンクには最大 128 のプログラム位置が含まれます。たとえば、もっとも小さな種類のシンセサイザはバンクを 1 つだけ持ち、そのバンクにあるインストゥルメント (プログラム) は 32 だけです。

特定の MIDI チャネルでどのインストゥルメントが音を演奏するかを選択するために、パッチ位置を指定する 2 種類の MIDI メッセージが使用されます。つまり、バンク選択コマンドと、プログラム変更チャネルコマンドです。Java Sound と同等なのは、MidiChannelprogramChange(int, int) メソッドです。

関連項目:
Instrument, Instrument.getPatch(), MidiChannel.programChange(int, int), Synthesizer.loadInstruments(Soundbank, Patch[]), Soundbank, Sequence.getPatchList()

コンストラクタの概要
Patch(int bank, int program)
          指定されたバンク番号およびプログラム番号 (0 〜 127 の範囲内) から、新しいパッチオブジェクトを構築します。
 
メソッドの概要
 int getBank()
          この Patch が位置を指定するインストゥルメントを含むバンクの数を返します。
 int getProgram()
          この Patch が位置を指定するインストゥルメントの、バンク内のインデックスを返します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

Patch

public Patch(int bank,
             int program)
指定されたバンク番号およびプログラム番号 (0 〜 127 の範囲内) から、新しいパッチオブジェクトを構築します。
パラメータ:
bank - バンクインデックス
program - プログラムインデックス
メソッドの詳細

getBank

public int getBank()
この Patch が位置を指定するインストゥルメントを含むバンクの数を返します。
戻り値:
バンク番号、範囲は 0 〜 127
関連項目:
MidiChannel.programChange(int, int)

getProgram

public int getProgram()
この Patch が位置を指定するインストゥルメントの、バンク内のインデックスを返します。
戻り値:
インストゥルメントのプログラム番号、範囲は 0 〜 127
関連項目:
MidiChannel.getProgram(), MidiChannel.programChange(int), MidiChannel.programChange(int, int)

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.