脚本介绍与我们联系,第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!  

上一次我们看到在一些使用IF ... ELSE语句和select()。这些帮助我们运行一个脚本时,一些具体的事情发生了,像一个正在播放的注意。如果你还记得,我们建立了一个脚本,让我们触发(或取消旁路)内部的一些影响我们的MIDI键盘上​​按笔记。

这部分是通过使用一些内置的变量,即$ ENGINE_PAR_EFFECT_BYPASS该参数只是一个参考旁路控制目标的影响。在这一部分要到变量,包括内置的和用户定义的深层次的。

什么是变量?

变量毫无疑问是最重要的事情在任何脚本语言,它没有进一步详细解释他们继续进行剩下的这些研讨会将是十分困难的。

变量是一个存储设备,它持有的一条信息。在任何时候,你可以参考一下资料片的引用的变量名。你可以把它像一个快捷方式。

您可以填写一个变量,静态的(常量)的信息,如姓名,电话号码或对象。另外,您可以填补它与一些动态的,不断变化的参数,该参数可以被传递到别的东西像电流值。

有两种主要类型的变量。内置和用户自定义。让我们一起来看看!


内置的变量

与我们联系的脚本语言有许多内置的语言被写入变量。这是主要的访问与我们联系发动机参数的引用,即你可以操纵的KSP。下面有一个很好的例子。的LO-FI效果有四个参数。我可以访问这些变量的使用内置的。这些是:

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

你会另行通知,所有这些都具有一定的前缀$ ENGINE_PAR_。只为与我们联系使用这个前缀被保留,因为是NI_,$ CONTROL_PAR_,$ EVENT_PAR_。当你来定义自己的变量时,你会想避开使用这些。

也有其他类型的持有用户操作的信息,就像你打的什么注意事项。我们看到这最后的时间,EVENT_NOTE。

有太多太多,在这里介绍的,但你会发现一个列表结束时的KSP参考手册中的常量和变量全部建成。说,我给你举个例子。

有一个内置变量$ PLAYED_VOICES_INST。持有的价值多少目前的乐器正在播放的声音(附注)。如果我写这篇文章上注意回调...

Code example 1


我得到这个消息。

You are playing 6 notes


你会通知香港专业教育学院增加一个变数,因为它从0计数。的符号(

所以,你会使用内置的变量,收集关于什么进入与我们联系的信息


用户定义的变量

由您定义用户变量,因为是不熟悉这些变量与我们联系(不同的是内置的),你会首先需要声明。声明一个变量之间的初始化对回调的结束。因此,whats怎么一回事呢?

声明是一种说法,嘿与我们联系!我要去到一个新的变量,听好了!

因此,让我们试试吧!我要进行正常的变量(也有一些其他类型)。这些都是前面加上一个$。任何变量是高度敏感的情况下,所以要小心!


声明$ MYVARIABLE


因此,多数民众赞成不错,但现在怎么样了?目前$ MYVARIABLE是空的,因为我还没有给它一个值。因此,可以说...


$ MYVARIABLE:= 2


:是指相等。所以,我的代码会是这个样子。


声明$ MYVARIABLE

$ MYVARIABLE:= 2


现在与我们联系知道什么MYVARIABLE手段。我也可以写这样的一击同样的事情...


声明MYVARIABLE:= 2


如果在某些情况下,这是确定以后,你会看到,我们可能需要分开的声明和分配的价值分为两部分。


所以现在我的变量的值使用,我可以打印一条消息音符事件。


Code example 2



我得到这个消息。

$myVariable has a value of 2


请注意,我可以使用$ MYVARIABLE引号里面的,没有它显示为2。这是因为里面的东西的报价被认为是纯文本。

所以,例如,使用动态值。这一次生病填补我MYVARIABLE的的的值

$ MYVARIABLE:= $ PLAYED_VOICES_INST 1


$ MYVARIABLE将现在掌握的信息收集的$ PLAYED_VOICES_INST加1。所以,现在我能做到这一点。

Code example 3


请注意我分配到$ MYVARIABLE上的注意回调内部的价值。这是因为$ PLAYED_VOICES_INST可以只收集的音符数据时,里面的回调,说明信息处理。

我得到这个...

You are playing 1 notes!


现在,我只打了一个音符,所以“你打1注!”语法废话!所以,让我们用我们的变量来帮助使这项工作。

使用if ... else语句中,我们可以找出多少票据播放和显示相关的响应多数民众赞成语法正确。

因此,可以说,如果$ MYVARIABLE是大于1,打印一条消息,表示复数的注意。如果它不是用奇异的注意,然后打印一条消息。

我们把MYVARIABLE(现在持有弹奏的音符数)括号内的if语句。这种方式可以衡量其更大的(


我们的代码会是这个样子。

Example code 4


当我玩一个注意,我......

You are playing 1 note!


当我玩超过一个音符时,我得到...

You are playing 4 notes!


成功!


所以希望你可以看到这个变量是如何工作的。进出口重复使用三次在此脚本中,显然可以节省一些时间和大小。当你编写更复杂的脚本,你可能会引用数十倍,只需要一次分配的价值。

没有一个变量的值是静态的,没有什么阻止你在任何时候改变一个变量的值,其实这是很常见的。在以后的教程中我会举一些例子。


变量类型

到目前为止,我们促成处理的基本变量。有几个不同类型的变量在与我们联系每一个具有其自己的前缀。


  • @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


我们覆盖了其中的一些在一些教程。

接下来的时间看一些接口技术。了解变量的过程中,创建用户控制一个更容易理解。在那之前!

我的代码示例在此


快速链接:

脚本介绍,与我们联系,第1部分

脚本介绍,与我们联系,第2部分

脚本介绍,与我们联系,第3部分

脚本介绍,与我们联系,第4部分

脚本介绍,与我们联系,第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!