CAL教程03(熟习CAL语句的用法)
继续上贴的内容:
八:输出与输入
message:输出指令
,将当前指定的内容输出到状态栏,这可以帮助我们了解程序运行到了什么状态。
pause:输出指令
,将用户指定的内容,以弹出对话框的方式显示到屏幕上,同时,程序将暂停,直到用户点击确定或取消。
getInt:输入指令
,以弹出对话框的方式,向用户提供输入状态,可将用户输入的数据赋给指定的int类型变量,输入取值:-32768至32767。
getWord:输入指令
,以弹出对话框的方式,向用户提供输入状态,可将用户输入的数据赋给指定的word类型变量,输入取值:0至65535。
getTime:输入指令
,以弹出对话框的方式,向用户提供输入状态,可将用户输入的数据赋给指定的word类型变量。输入方式:小节 拍子 TK
九:打包语句(执行指令)
do:将任意多条指令打包成一项指令。无论有多少条指令,只要在do指令的前后括号内,都会被视为一条指令概念来执行。
用法格式:
(do
(指令A)
(指令B)
(指令C)
(指令……)
)
if:假设指令。
用法格式:
(if
(条件)
(当条件成立时执行的指令)
(当条件失败时执行的指令)
)
forEachEvent:遍历语句,对被选中的所有事件都执行一次下面的指令。
用法格式:
(forEachEvent
(需要执行的指令)
)
while:循环指令,很像if指令,只要条件成立,就反复执行下列指令,直到条件不成立为止。
用法格式:
(while 条件
(需要执行的指令)
)
switch:对比指令,给出“母条件”,当碰上相同的“对照条件”时,执行该对照条件后面的指令,并在完成后跳出此对比指令。
用法格式:
(switch 母条件
对照条件 (需要执行的指令)
对照条件 (需要执行的指令)
对照条件 (需要执行的指令)
……
)
include:钳入另一个CAL脚本,完成那个CAL后跳回当前语句中继续执行。
用法格式:(两种方式)
(include "306.cal") 此方式是钳入一个名为306的CAL文件,此文件必须与当前执行的CAL在同一个目录中。
(include "路径\306*.cal") 此方式是钳入一个名为306的CAL文件,此文件可以在任意目录中,只需要把它的所在路径写清楚即可。
十:时间转换指令
makeTime:将音乐方式转换为TK方式。
用法格式:
(makeTime 小节 拍子 TK)
meas:将TK方式转换为小节。
(meas TK值)
beat:将TK方式转换为拍子。
(beat TK值)
tick:将TK方式转换为TK值。
(tick TK值)
注意,上面红色的TK表示的是全曲长度中的任意位置,而黑色的TK则表示每拍中的TK位置。
十一:函数指令
这类指令因在SONAR中无法正常使用,加上这类指令本身使用率很低,故不需要掌握。
到此,CAL所有需要掌握的指令与编写格式就介绍完毕了,
有了这个基础,我们就可以进行CAL的编写了,
之后会进入实战教程,我将放出一些自己编写的CAL内容作为实例讲解,
相信经过几个CAL文件的分析,大家就可以编写自己心中所需的MIDI功能了……
待续……