Kontakt에서 스크립팅 소개, 제 3 부

In this 5 Part MPVHub Series, Toby Pitman explores the wonderful world of scripting in Native Instruments' Kontakt sampler. Part 3 goes deeper into variables. Read the next part on The Hub tomorrow!  

마지막으로 우리는 만약에 ... 다른 사용하여 일부 진술을 검토 한 결과, ()를 선택합니다. 지금은 우리가 무언가 특정이 재생되는 메모처럼, 무슨 일이 있었 스크립트를 실행하는 데 도움이. 기억하면 우리는 우리가 트리거 (또는 해제 - 바이 패스)의 MIDI 키보드에서 노트를 누르면 일부 내부 효과를 알려 스크립트를 만들었습니다.

이 부분은 단순히 매개 변수에 대한 참조했습니다 몇 가지 변수에 내장 된, 즉 $ ENGINE_PAR_EFFECT_BYPASS를 사용하여 효과의 우회 제어를 대상으로 이루어졌다. 이 부분에서 깊은 변수로, 내장 및 사용자 모두 정의 탐구하려고 했어요.

변수는 무엇인가?

모든 스크립트 언어에서 가장 중요한 것은 의심하고 더 세부 사항에 대해 설명하지 않고이 공장의 나머지 부분을 진행하는 매우 어려운 것없이 변수입니다.

변수는 정보의 조각을 가지고 저장 장치입니다. 어떤 시점에서 그 변수 이름을 참조하여 정보의 부분을 참조 할 수 있습니다. 바로 가기처럼 생각.

당신은 이름, 번호 또는 개체와 같은 정보의 정적 (상수) 조각으로 변수를 입력 할 수 있습니다. 또는 당신은 다른 일에 통과 할 수있는 변화 매개 변수의 현재 값과 같은 동적 뭔가를 입력 할 수 있습니다.

변수의 두 가지 주요 유형이 있습니다. 내장 및 사용자 정의. 할 수는 봐!


내장 변수

Kontakt 스크립트 언어는 많은 언어로 작성된 변수에 내장하고 있습니다. 이는 주로 Kontakt 엔진의 접근이 매개 변수에 대한 참조이며, 즉 일 당신은 KSP를 조작 할 수있다. 좋은 예를 Heres. 소호-Fi 접속 설비 효과는 네 가지 매개 변수가 있습니다. 나는 그들에게 변수에 내장을 사용하여 이러한 액세스 할 수 있습니다. 이는 다음과 같습니다

  • $ENGINE_PAR_BITS
  • $ENGINE_PAR_FREQUENCY
  • $ENGINE_PAR_NOISELEVEL
  • $ENGINE_PAR_NOISECOLOR

이 모든 $ ENGINE_PAR_의 특정 접두사를 사용하는 Youll는 통지. 이 접두사는 Kontakt 사용을 위해 예약되어 만 달러 NI_, $ CONTROL_PAR_, $ EVENT_PAR_ 있습니다. 자신의 변수를 정의하기 위해 올 때 이것들을 사용 놀지하려면 youll.

네가하는 짓은 어떤 정보 같은 사용자 동작에 대한 정보를 보유 다른 유형이 있습니다. 우리는이 마지막으로 하나, $ EVENT_NOTE을 보았다.

가 지금까지 여기에 충당 할 너무 많은이지만, youll KSP 참조 설명서의 끝 부분에 상수와 변수에 지어진 모든 목록을 찾으십시오. 하는 병에게 예를 들어 달라는.

PLAYED_VOICES_INST $라는 내장 변수가 있습니다. 이것은 현재 악기가 재생 얼마나 많은 목소리 (노트)의 가치를 보유하고 있습니다. 이 일에주의 콜백을 작성하면 ...

Code example 1


이 메시지가 나타납니다.

You are playing 6 notes


가 0에서 계산으로 Youll 통지 필자는 변수에 하나를 추가했다. 앰퍼샌드 (

그래서 youll Kontakt으로 들어오고 있는지에 대한 정보를 수집하는 변수 내장 사용


사용자 정의 변수

사용자 변수는에 의해 정의 및 Kontakt은 (내장 된 것들과는 달리) 먼저 선언 할 필요가 youll이 변수에 익숙하지 않기 때문에입니다. 변수를 선언하면 초기화에 사이에 처리 할 수​​ 있습니다 ... 콜백에 끝을. 그러니까 모든이 뭐죠?

신고 말의 방법이며, Kontakt 야! 새로운 변수를 만들려고 메신저, 그래서 잘 들어!.

그러니 할 수 있습니다! 임은 (몇 가지 다른 종류가 있습니다) 일반 변수를 만들려고. 이러한 $가 앞에 있습니다. 모든 변수는 매우 민감한 경우가 있으므로주의입니다!


myVariable $를 선언


정말 잘하지만 지금은 됐죠? 현재 myVariable $는 내가 그것을 값을 주어진 havent으로 비어 있습니다. 그렇게 말을 할 수 ...


myVariable $ : = 2


: = 동일 의미합니다. 그래서 내 코드는 다음과 같이 표시됩니다.


myVariable $를 선언

myVariable $ : = 2


지금 Kontakt 무엇 $ myVariable 방법을 알고 있습니다. 나는 또한 같은 히트에서 같은 일을 작성할 수 ...


myVariable $를 선언 : = 2


이 어떤 상황에서 OK 어디에 우리가 두 부분으로 값의 선언과 할당을 분리해야 할 수도 나중에 youll.


이제 내 변수는 I을 사용하여 메모 이벤트에 대한 메시지를 인쇄 할 수있는 값이 있습니다.


Code example 2



이 메시지가 나타납니다.

$myVariable has a value of 2


내가 2로 표시하지 않고 인용 부호 안에 $ myVariable을 사용하는 방법을 확인합니다. 견적 내부 아무 일반 텍스트로 간주됩니다 때문입니다.

따라서 동적 값을 사용하여 하나의 예. 이번에는 불길한 값으로 내 $ myVariable을 작성

PLAYED_VOICES_INST 1 = $ : myVariable $


myVariable $는 현재 $ PLAYED_VOICES_INST에서 수집 한 정보를 보유하고 1을 추가합니다. 이제이 할 수 있어요.

Code example 3


공지 사항이에 노트 콜백 내부 $ myVariable로 값을 할당 필자. $ PLAYED_VOICES_INST 만 참고 데이터를 수집 할 수 없기 때문입니다 때 참고 정보로 거래 내부 콜백.

그리고 이건 ..

You are playing 1 notes!


이제, 하나의 메모를 누르 필자 "당신은 한 메모를 재생하는!" 문법적으로 터무니없는 소리입니다! 그러니이 일을하는 데 도움하기 위해 변수를 사용하여 보자.

우리가 게임을 얼마나 많은 정보를 알아보고, 관련 응답을 표시 할 수 있다면 ... else 문을 사용하면 문법적으로 올바른 이잖아.

따라서 $ myVariable 하나보다 크면라고 할 수 있습니다, 메모의 복수를 표현하는 메시지를 인쇄 할 수 있습니다. 그 후 메모의 단수를 사용하여 메시지를 인쇄합니다.

우리는 if 문을 괄호 안에 (현재 재생 노트의 수를 보유하고있는) myVariable 달러를 넣어. 그 큰 경우 방법은 최대 무게 (


우리의 코드는 다음과 같이됩니다.

Example code 4


내가 한 내가 얻을 수 있습니다 재생할 때 ....

You are playing 1 note!


나는 하나 이상의 메모를 재생할 때 전 ...

You are playing 4 notes!


성공!


그래서 희망이 변수가 제대로 작동하는지 확인할 수 있습니다. 임 그것을 분명히 시간과 크기를 저장이 스크립트에 세 번 재사용. 당신은 더 복잡한 스크립트를 작성하면 번이 수십을 참조하고 한 번만 값을 지정해야 할 수도 있습니다.

변수 값이 정적 일 필요가 없습니다 당신이 언제든지 변수 값을 변경 중지 할 게 없다, 사실이 매우 일반적입니다. 병 나중에 튜토리얼에서 몇 가지 예제를 제공합니다.


변수 유형

기본 변수 처리까지되어 있으니. Kontakt 자신의 접두사와 각 변수의 몇 가지 다른 종류가 있습니다.


  • @myText = A String Variable. Holds “Text information”
  • const $myVariable = Sets a constant value e.g. 12
  • polyphonic $myVariable = Holds a value for each polyphonic event.
  • %myArray[] = Holds multiple values in a list
  • !myArray[] = Holds multiple text strings in a list


그럼 어떤 오는 자습서에서 이러한 몇을 다룹니다.

다음에 몇가지 인터페이스 기술을 좀 봐. 변수에 대해 아는 것이 사용자를 만드는 과정 이해하기 더 쉽게 제어해야합니다. 그때가된다면!

이의 코드 예제를 포함


빠른 링크 :

Kontakt에서 스크립팅 소개, 1 부

Kontakt에서 스크립팅 소개, 2 부

Kontakt에서 스크립팅 소개, 제 3 부

Kontakt에서 스크립팅 소개, 제 4 부

Kontakt에서 스크립팅 소개, 제 5 부


For the past 20 years Toby has worked as a professional guitarist, programmer and producer. Clients include Sir Paul McCartney, George Michael, Shirley Bassey, Yusuf Islam, Giles Martin as well as the London 2012 Olympic Ceremonies. He has also worked extensively in TV, Advertising and Film. As well as composing himself he has also ... Read More

Discussion

Want to join the discussion?

Create an account or login to get started!