ShortMessage
ShortMessage
MIDI 채널 메시지와 시스템 실시간 메시지를 나타내는 클래스예요. MidiMessage를 상속하고 Cloneable을 구현해요.
본문
javax.sound.midi 패키지에 속하는 클래스로, MIDI 명세는 특정 상태(상태 바이트)를 여러 유형의 메시지와 연관시켜요. 예를 들어 상태 바이트 0x90은 Note On 메시지를 나타내요. 이 클래스는 짧은 메시지를 생성하는 데 사용되고, 메시지에 대해 1~3바이트의 상태/데이터 바이트 정보를 포함해요.
public class ShortMessage extends MidiMessage
상태 바이트 상수
MIDI_TIME_CODE: MIDI 시계 시간 코드 상태 바이트 0xF1SONG_POSITION_POINTER: 노래 위치 포인터 상태 바이트 0xF2SONG_SELECT: 노래 선택 상태 바이트 0xF3TUNE_REQUEST: 튜닝 요청 상태 바이트 0xF6END_OF_EXCLUSIVE: end-of-system-exclusive 상태 바이트 0xF7TIMING_CLOCK: 타이밍 클록 상태 바이트 0xF8START: 시작 상태 바이트 0xFACONTINUE: 계속 상태 바이트 0xFBSTOP: 중지 상태 바이트 0xFCACTIVE_SENSING: 활성 감지 상태 바이트 0xFESYSTEM_RESET: 시스템 리셋 상태 바이트 0xFF
생성자
public ShortMessage()
새 ShortMessage를 생성해요. 내용은 여기서 설정되지 않고 나중에 setMessage로 설정해요.
public ShortMessage(int data1)
throws InvalidMidiDataException
주어진 데이터 바이트로 새 ShortMessage를 생성해요. 상태 바이트는 데이터에서 파생될 수 없으므로 0으로 설정돼요. setMessage로 설정하려면 지정된 데이터 바이트를 가진 메시지가 유효해야 해요.
- 파라미터
data1: 메시지의 첫 번째 데이터 바이트 - 예외
InvalidMidiDataException: 데이터 바이트가 유효하지 않은 경우
public ShortMessage(int status, int data1, int data2)
throws InvalidMidiDataException
주어진 상태 및 데이터 바이트로 새 ShortMessage를 생성해요.
- 파라미터
status: 메시지 상태 바이트 - 파라미터
data1: 메시지의 첫 번째 데이터 바이트 - 파라미터
data2: 메시지의 두 번째 데이터 바이트 - 예외
InvalidMidiDataException: 상태 바이트나 데이터 바이트가 유효하지 않은 경우
setMessage
public void setMessage(int status, int data1, int data2)
throws InvalidMidiDataException
ShortMessage의 메시지 파라미터를 설정해요.
- 파라미터
status: 메시지 상태 바이트 - 파라미터
data1: 메시지의 첫 번째 데이터 바이트 - 파라미터
data2: 메시지의 두 번째 데이터 바이트 - 예외
InvalidMidiDataException: 상태 바이트나 데이터 바이트가 유효하지 않은 경우
setMessage
public void setMessage(int status)
throws InvalidMidiDataException
ShortMessage의 메시지 파라미터를 설정해요. 상태 바이트만 있는 시스템 공통 메시지에 사용해요.
- 파라미터
status: 메시지 상태 바이트 - 예외
InvalidMidiDataException: 상태 바이트가 유효하지 않은 경우
getDataLength
public int getDataLength(int status)
이 상태 바이트에 대한 데이터 바이트 수를 얻어요. 지정된 상태에 대해 MIDI 메시지가 가져야 하는 데이터 바이트 수를 반환해요.
- 파라미터
status: 상태 메시지 - 반환값: 이 상태에 대한 데이터 바이트 수
getChannel
public int getChannel()
이 메시지가 발신되는 MIDI 채널을 얻어요. 0에서 15 사이의 값이에요.
- 반환값: 메시지의 MIDI 채널(0~15)
getCommand
public int getCommand()
이 메시지의 MIDI 명령을 얻어요. 0xF0 미만의 값으로, 상태 바이트의 상위 4비트에 해당해요.
- 반환값: 이 메시지의 MIDI 명령
getData1
public int getData1()
메시지의 첫 번째 데이터 바이트를 얻어요.
- 반환값: 메시지의 첫 번째 데이터 바이트
getData2
public int getData2()
메시지의 두 번째 데이터 바이트를 얻어요.
- 반환값: 메시지의 두 번째 데이터 바이트
clone
public Object clone()
이 객체와 같은 클래스, 같은 내용을 가진 새 객체를 만들어요.
- 반환값: 이 인스턴스의 복제본