MainStage 사용 설명서
- 환영합니다
-
- 편집 모드 개요
- 센드 이펙트를 통해 오디오 라우팅하기
- 그래프 사용하기
- 컨트롤러 트랜스폼 생성하기
- 콘서트 프로젝트 간에 패치 및 세트 공유하기
- 콘서트 프로젝트의 오디오 출력 녹음
-
-
- MIDI 플러그인 사용하기
- 보조 키 컨트롤
- Note Repeater 파라미터
- Randomizer 컨트롤
-
- Scripter 사용하기
- Script Editor 사용하기
- Scripter API 개요
- MIDI 프로세싱 함수 개요
- HandleMIDI 함수
- ProcessMIDI 함수
- GetParameter 함수
- SetParameter 함수
- ParameterChanged 함수
- Reset 함수
- JavaScript 객체 개요
- JavaScript Event 객체 사용하기
- JavaScript TimingInfo 객체 사용하기
- Trace 객체 사용하기
- MIDI 이벤트 beatPos 속성 사용하기
- JavaScript MIDI 객체 사용하기
- Scripter 컨트롤 생성하기
- Transposer 컨트롤
-
- Copyright
MainStage에서 JavaScript MIDI 객체 사용하기
MIDI 객체는 다수의 사용하기 쉽고 편리한 함수를 포함하며, 스크립트를 직접 작성할 때 사용할 수 있습니다.
참고: MIDI 객체는 글로벌 객체의 속성이며, 이는 설명하지 않고 함수에 접근할 수 있다는 뜻으로, JavaScript Math 객체와 비슷합니다. 한 가지 예는, MIDI.allNotesOff()를 바로 호출하는 것입니다.
MIDI 객체 속성
아래의 메소드 이름과 인자를 사용하여 이 함수를 실행하십시오.
noteNumber(문자열 이름): 주어진 노트 이름의 MIDI 노트 번호를 돌려줍니다. 예를 들어, C3 또는 B#2입니다.
참고: 인자에서 플랫을 사용할 수 없습니다. Bb3이 아닌 A#3을 사용하십시오.
noteName(피치 번호): 주어진 MIDI 노트 번호의 이름(문자열)을 돌려줍니다.
ccName(컨트롤러 번호): 주어진 컨트롤러 번호의 컨트롤러 이름(문자열)을 돌려줍니다.
allNotesOff(): 모든 노트 끔 메시지를 모든 MIDI 채널로 전송합니다.
normalizeStatus(상태 번호): 값을 MIDI status 바이트의 안전 범위(128-239)로 정상화합니다.
normalizeChannel(채널 번호): 값을 MIDI 채널의 안전 범위(1-16)로 정상화합니다.
normalizeData(데이터 번호): 값을 MIDI 데이터 바이트의 안전 범위(0-127)로 일반화합니다.
해당하는 튜토리얼 설정을 로드하여 Script Editor에서 스크립트를 읽어보십시오. 코드와 주석의 문법 구조와 레이아웃을 이해하는 데 도움이 될 것입니다. Script Editor 사용하기를 참조하십시오.
튜토리얼 스크립트 10: 이벤트 탐지
MainStage에서 이 스크립트는, MIDI 컨티뉴어스 컨트롤러 20 이벤트를 수신했을 때 모든 이벤트를 그대로 통과시키고 ‘모든 노트 끔’ 메시지를 전송합니다.
/* 뒤의 텍스트는 JavaScript 코드를 설명하는 주석을 나타냅니다.
function HandleMIDI(event) {
event.send(); /* pass through the event if the event is MIDI CC 20 */
if (event instanceof ControlChange && event.number == 20)
MIDI.allNotesOff(); /* send an all notes off message */
}