Patch
Patch
MIDI 신디사이저에서 단일 악기가 저장(로드)되는 위치를 나타내는 객체예요. 모든 Instrument 객체는 그 악기가 로드되어야 할 메모리 위치를 지정하는 자신만의 Patch 객체를 가져요.
본문
javax.sound.midi 패키지에 속하는 클래스로, java.lang.Object를 상속해요.
위치는 뱅크 인덱스와 프로그램 번호로 추상적으로 지정돼요(또한 RAM의 특정 주소나 오프셋을 직접 가리키는 방식은 아니에요). 이것은 계층적 인덱싱 방식이에요. MIDI는 최대 16384개의 뱅크를 제공하고, 각 뱅크는 최대 128개의 프로그램 위치를 담아요. 예를 들어 최소한의 신디사이저는 단 하나의 악기 뱅크와 그 뱅크에 32개의 악기(프로그램)만 가질 수 있어요.
특정 MIDI 채널에서 어떤 악기가 음을 연주할지 선택하려면 패치 위치를 지정하는 두 종류의 MIDI 메시지가 사용돼요: bank-select 명령과 program-change 채널 명령. Java Sound의 대응물은 MidiChannel의 programChange(int, int) 메서드예요.
public class Patch extends Object
생성자
public Patch(int bank, int program)
지정된 뱅크와 프로그램 번호에서 새 패치 객체를 생성해요.
- 파라미터
bank: 뱅크 인덱스(0에서 16383 범위) - 파라미터
program: 프로그램 인덱스(0에서 127 범위)
getBank
public int getBank()
이 Patch가 지정하는 위치의 악기를 포함하는 뱅크의 번호를 반환해요.
- 반환값: 뱅크 번호. 범위는 0에서 16383
getProgram
public int getProgram()
뱅크 안에서 이 Patch가 지정하는 위치의 악기의 인덱스를 반환해요.
- 반환값: 악기의 프로그램 번호. 범위는 0에서 127