ShortMessage

ShortMessage

MIDI 채널 메시지와 시스템 실시간 메시지를 나타내는 클래스예요. MidiMessage를 상속하고 Cloneable을 구현해요.

출처: Java API Reference

본문

javax.sound.midi 패키지에 속하는 클래스로, MIDI 명세는 특정 상태(상태 바이트)를 여러 유형의 메시지와 연관시켜요. 예를 들어 상태 바이트 0x90은 Note On 메시지를 나타내요. 이 클래스는 짧은 메시지를 생성하는 데 사용되고, 메시지에 대해 1~3바이트의 상태/데이터 바이트 정보를 포함해요.

public class ShortMessage extends MidiMessage

상태 바이트 상수

  • MIDI_TIME_CODE: MIDI 시계 시간 코드 상태 바이트 0xF1
  • SONG_POSITION_POINTER: 노래 위치 포인터 상태 바이트 0xF2
  • SONG_SELECT: 노래 선택 상태 바이트 0xF3
  • TUNE_REQUEST: 튜닝 요청 상태 바이트 0xF6
  • END_OF_EXCLUSIVE: end-of-system-exclusive 상태 바이트 0xF7
  • TIMING_CLOCK: 타이밍 클록 상태 바이트 0xF8
  • START: 시작 상태 바이트 0xFA
  • CONTINUE: 계속 상태 바이트 0xFB
  • STOP: 중지 상태 바이트 0xFC
  • ACTIVE_SENSING: 활성 감지 상태 바이트 0xFE
  • SYSTEM_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()

이 객체와 같은 클래스, 같은 내용을 가진 새 객체를 만들어요.

  • 반환값: 이 인스턴스의 복제본

더 알아보기