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의 디바이더/헤더를 생성합니다.

튜토리얼 스크립트 12: 슬라이더 생성

 Logic Pro에서 다음을 Script Editor 윈도우에 입력하여, 이름은 ‘Parameter x’ 이고, 기본 설정 범위가 0부터 1인 슬라이더를 생성하십시오. 중점 값은 0.5로 설정됩니다.

var PluginParameters = [{name:"Parameter x", defaultValue:0.5}];

튜토리얼 스크립트 13: 슬라이더 범위

 Logic Pro에서 다음을 Script Editor 윈도우에 입력하여, 5개의 가능한 위치(스텝)를 가지며, 범위가 0에서 5인 직선 슬라이더 종류를 만드십시오.

var PluginParameters = [{name:"Octaves", defaultValue:3, minValue:0, maxValue:5, numberOfSteps:5, unit:"octaves", type:"lin"}];

튜토리얼 스크립트 14: 메뉴 생성

 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 */ }}
Morty Proxy This is a proxified and sanitized view of the page, visit original site.
도움이 되었습니까?
글자 수 제한: 250
250자 이내로 작성하십시오.
피드백을 보내 주셔서 감사합니다.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.