音频应用

 找回密码
 快速注册

QQ登录

只需一步,快速开始

查看: 17590|回复: 1
收起左侧

[原创] Kontakt Script教程(二) – 一个简单程序

[复制链接]

1307

积分

2

听众

-131

音贝

音频应用新手发布

Rank: 3

积分
1307
发表于 2006-9-20 04:39:00 | 显示全部楼层 |阅读模式
我们学习了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的一些基本概念,包括回调函数、指令和变量。下一节我们将进一步学习这方面的知识。
欢迎厂家入驻,推文!免费!微信:yinpinyingyong

5637

积分

2

听众

-823

音贝

音频应用注册会员

Rank: 4Rank: 4

积分
5637
发表于 2006-9-22 07:18:00 | 显示全部楼层
问好星空!学习好词!
欢迎厂家入驻,推文!免费!微信:yinpinyingyong
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

音频应用搜索

QQ|小黑屋|手机版|音频应用官网微博|音频应用 ( 鄂ICP备16002437号 )

GMT+8, 2025-6-3 22:10 , Processed in 0.022677 second(s), 5 queries , Redis On.

Powered by Audio app

快速回复 返回顶部 返回列表