Logic Pro Mac용 사용 설명서
- 환영합니다
-
- 편곡 개요
-
- 리전 개요
- 리전 선택하기
- 리전 일부 선택하기
- 리전 오려두기, 복사, 및 붙여넣기
- 리전 이동하기
- 갭 추가 또는 제거하기
- 리전 재생 지연하기
- 리전 루프하기
- 리전 반복하기
- 리전 리사이즈하기
- 리전 음소거하기 및 솔로 지정
- 리전 타임 스트레치하기
- 오디오 리전 리버스하기
- 리전 분할
- MIDI 리전 디믹스하기
- 리전 결합
- 트랙 영역에서 리전 생성하기
- 트랙 영역에서 오디오 리전의 게인 변경하기
- 트랙 영역에서 오디오 리전 노멀라이즈하기
- MIDI 리전의 가상본 생성하기
- 반복된 MIDI 리전을 루프로 변환하기
- 리전 색상 변경
- 오디오 리전을 Sampler 악기의 샘플로 변환하기
- 리전 이름 변경
- 리전 삭제
- Stem Splitter로 보컬 및 악기 스템 추출하기
- 그루브 템플릿 생성하기
-
- Smart Controls 개요
- 마스터 이펙트 Smart Controls 보기
- Smart Controls 레이아웃 선택하기
- MIDI 컨트롤러 자동 할당하기
- 스크린 컨트롤 자동 매핑하기
- 스크린 컨트롤 매핑하기
- 매핑 파라미터 편집
- 파라미터 매핑 그래프 사용하기
- 스크린 컨트롤의 플러그인 윈도우 열기
- 스크린 컨트롤 이름 변경하기
- 아티큘레이션 ID를 사용하여 아티큘레이션 변경하기
- 스크린 컨트롤에 하드웨어 컨트롤 할당하기
- 저장된 설정과 Smart Controls 수정사항 비교하기
- Arpeggiator 사용하기
- 스크린 컨트롤 움직임 오토메이션하기
-
- 개요
- 노트 추가
- 악보 편집기에서 오토메이션 사용하기
-
- 보표 스타일 개요
- 트랙에 보표 스타일 할당하기
- 보표 스타일 윈도우
- 보표 스타일 생성 및 복제하기
- 보표 스타일 편집하기
- 보표, 성부 및 할당 파라미터 편집하기
- Mac용 Logic Pro의 보표 스타일 윈도우에서 보표 또는 성부를 추가 및 삭제하기
- Mac용 Logic Pro의 보표 스타일 윈도우에서 보표 또는 성부 복사하기
- 프로젝트 간 보표 스타일 복사하기
- 보표 스타일 삭제하기
- 성부 및 보표에 노트 할당하기
- 별개의 보표에 폴리포닉 파트 표시하기
- 악보 기호의 보표 할당 변경하기
- 보표 전체에 걸쳐 노트 묶기
- 드럼 기보법에 매핑된 보표 스타일 사용하기
- 미리 정의된 보표 스타일
- 악보 공유하기
- Touch Bar 단축키
-
-
-
- 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 컨트롤
- 트랙에 MIDI 녹음하기
-
- Studio Piano
- 용어집
- 저작권
Mac용 Logic Pro에서 Scripter MIDI 플러그인 컨트롤 생성하기
다음 섹션에는 Scripter 플러그인에 쓰이는, 슬라이더 및 메뉴와 같은 일반적인 인터페이스 컨트롤러를 생성하기 위해 Script Editor를 사용하는 방법이 요약되어 있습니다. 새 파라미터에 규정해야 하는 유일한 의무적인 속성은 ‘이름’입니다. 이는 기본 슬라이더의 기본 설정 값이 됩니다. 이 외에, 추가 속성을 사용하여 컨트롤의 종류와 동작을 변경할 수 있습니다.
해당하는 튜토리얼 설정을 로드하여 Script Editor에서 스크립트를 읽어보십시오. 코드와 주석의 문법 구조와 레이아웃을 이해하는 데 도움이 될 것입니다. Script Editor 사용하기를 참조하십시오.
선택 속성
type: 다음 문자열 중 하나를 값으로 입력하십시오.
‘lin’: 리니어 페이더를 생성합니다.
‘log’: 대수형 페이더를 생성합니다.
‘momentary’: 일시적으로 작용하는 버튼을 생성합니다.
‘menu’: 메뉴를 생성합니다.
메뉴의 종류는 추가적인 valueStrings 속성을 필요로 하며, 메뉴에 보여질 문자열의 정렬입니다. 튜토리얼 스크립트 13를 참조하십시오.
defaultValue: 정수 또는 부동 소수점 수를 입력하여 기본 값을 설정합니다. 값이 입력되지 않았다면, 기본 값은 0.0입니다.
minValue: 정수 또는 부동 소수점 수를 입력하여 최소 값을 설정합니다. 값이 입력되지 않았다면, 기본 값은 0.0입니다.
maxValue: 정수 또는 부동 소수점 수를 입력하여 최대 값을 설정합니다. 값이 입력되지 않았다면, 기본 값은 1.0입니다.
numberOfSteps: 정수를 입력하여 스텝의 개수를 규정합니다.
unit: 문자열을 입력하여 플러그인 컨트롤의 단위에 대한 설명을 제시합니다. 값이 입력되지 않았다면, 기본 설정 동작이 단위를 표시하지 않습니다.
text: 텍스트를 입력하여 플러그인 UI의 디바이더/헤더를 생성합니다.
튜토리얼 스크립트 11: 슬라이더 생성
Logic Pro에서 다음을 Script Editor 윈도우에 입력하여, 이름은 ‘Parameter x’ 이고, 기본 설정 범위가 0부터 1인 슬라이더를 생성하십시오. 중점 값은 0.5로 설정됩니다.
var PluginParameters = [{name:"Parameter x", defaultValue:0.5}];
튜토리얼 스크립트 12: 슬라이더 범위
Logic Pro에서 다음을 Script Editor 윈도우에 입력하여, 5개의 가능한 위치(스텝)를 가지며, 범위가 0에서 5인 직선 슬라이더 종류를 만드십시오.
var PluginParameters = [{name:"Octaves", defaultValue:3, minValue:0, maxValue:5,
numberOfSteps:5, unit:"octaves", type:"lin"}];
튜토리얼 스크립트 13: 메뉴 생성
Logic Pro에서 다음을 Script Editor 윈도우에 입력하여, 이름은 ‘Range’ 이고, ‘Low’, ‘Mid’, ‘High’ 옵션이 있는 메뉴를 생성하십시오.
var PluginParameters = [{name:"Range", type:"menu", valueStrings:["Low", "Mid", "High"]}];
기동적으로 MIDI 플러그인 컨트롤을 가리거나 보기
복잡한 Logic Pro 스크립트에서 기동적으로 파라미터 컨트롤을 가리거나 보이도록 하는 것이 유용할 것이며, 예를 들면 메뉴 항목에서 컨트롤의 어떤 그룹을 표시할지 선택하도록 만들 수 있습니다. 다음을 Script Editor 윈도우에 입력하여 이러한 컨트롤러 종류를 생성하십시오.
var PluginParameters = [{name:'uno'}, {name:'dos', hidden:true}];
UpdatePluginParameters()
를 호출하여 이를 기동적으로 변경합니다.
플러그인 파라미터 값 되찾기
GetParameter()를 파라미터 이름과 함께 호출하여, 현재 파라미터의 값(객체 수)을 반환하도록 합니다. GetParameter()는 주로 HandleMIDI 함수 또는 ProcessMIDI 함수에서 사용됩니다.
Logic Pro에서 이 코드 예시는 모듈레이션 이벤트를 노트 이벤트로 전환하며, 슬라이더가 노트의 길이를 결정하는 결과를 가져옵니다.
/* 뒤의 텍스트는 JavaScript 코드를 설명하는 주석을 나타냅니다.
var PluginParameters = [{name:"Note Length", minValue:0, maxValue: 100, unit:"%"}]; /* create a slider (default range 0 - 100) */
function HandleMIDI(event) {
if(event instanceof ControlChange && event.number == 1) { /* if event is MIDI cc1 (modwheel) */
var note = new NoteOn; /* create a NoteOn object */
if(event.value == 0)
/* because modwheel range is 0-127 and pitch range is 1-127, convert a modwheel value of 0 to 1 */
event.value = 1;
note.pitch = event.value; /* use cc value as note pitch */
note.velocity = 100; /* use velocity 100 */
note.send(); /* send note on */
var off = new NoteOff(note); /* create a NoteOff object that inherits the NoteOn pitch and velocity values */
var delayInBeats = GetParameter("Note Length")/100 + 0.1; /* retrieve the parameter value of the slider you created (add 0.1 to guarantee note on and off are not simultaneous) */
off.sendAfterBeats(delayInBeats); /* send note off after the length in beats is set via the slider */
}
}