Kontakt Script教程(二) – 一个简单程序

目录
[隐藏]

简介

上一篇课程里,我们学习了Kontakt Script的基本应用,主要是对其语法结构和写作要点进行了了解。在这一课里我们将通过一些基本程序来正式开始学习KS。鉴于基础并不仅仅停留在回调函数,还包括一些指令和内建变量,我们会对后面的课程有所涉及。还是我之前说的那句话,大家一定要自己动手去写代码,不然水平是很难提高的。

基本回调函数与指令

本程序将会显示一条“Hello World”消息。它使用了基本回调函数函数和message指令。

on init
    message("Hello World") {初始化}
end on

on note
    message ("You pressed a key.") {输入音符}
end on

on release
    message ("You released the key.") {释放音符}
end on

on controller
    message ("There's a controller!") {接收到控制器}
end on

on init

init是一个初始化回调函数,它在脚本顺利解算时执行。触发on init函数的方法有如下几种:

  • 在Kontakt Script编辑器内点击”Apply”按钮
  • 加载一个预设或乐器
  • 点击Kontakt顶部的惊叹号重启音频引擎
  • 加载快照

on init通常用来定义变量、控件或是执行一些指令。在KS中,所有的对象都必须在初始化时定义,这与常见的编程语言有些不同。

on note

note是一个音符回调函数,它在音符信息输入时被调用。

on release

与note相反,release函数在音符结束指令输入时被调用。

on controller

controller是一个MIDI控制器回调函数,当收到控制器、弯音或者通道压力信息时被调用。

message

message指令用于在Kontakt的状态栏显示文本。其调用格式如下:

message(<variable/text>)

值得一提的是,使用message输出文本时,应用””(双引号)括起文本。message指令常用于调试和测试程序代码。但是由于Kontakt只有一个进度条,所以message不能作为与用户交互的长期途径,应使用label,这将在以后介绍。编程者应该养成在初始化时加上一句message(“”)的习惯,它会清除之前的消息,从而确保新的消息能够显示。但是,如果您在init函数中使用了message,它只会在用户手动点击Apply时显示,加载乐器或自动初始化脚本时不会。

使用变量

在任何一种编程语言中,变量都是不可或缺的,下面我们将通过一个例子来认识变量。

on init
    declare $var
    $var := 1
    message($var)
end on

变量规则

在Kontakt Script中,变量以下列形式声明:

declare $NAME

在声明变量时应注意下面几点:

  • 变量只能在on init回调函数中声明
  • 变量名只能包含数字、字母、下划线
  • 变量名区分大小写
  • 不能与内建变量使用相同前缀($NI_、$CONTROL_PAR、$EVENT_PAR_、$ENGINE_PAR)

根据以上几点,下面的变量声明都是不合法的:

on init
    declare $变量 {变量名只能包含数字、字母、下划线}
    declare $NI_VAR {不能与内建变量使用相同前缀}
end on

on note
    declare $b {变量只能在on init回调函数中声明}
end on

变量赋值

变量的赋值采用如下的格式:

$Variable := Value

您也可以在变量声明时就赋值。出于便捷性和其他原因,我更推荐使用这种赋值方法,以免引起不必要的麻烦:

declare $Variable := Value

结尾

本期教程中我们学习了Kontakt Script的一些基本概念,包括回调函数、指令和变量。下一节我们将进一步学习这方面的知识。

未经授权,禁止转载。No reproduction without permissions.:编曲资源 » Kontakt Script教程(二) – 一个简单程序

赞 (7)

评论 0

*