Thulium Music Player 2.2 版本是一次全面的语法更新,它在所有方面提供了更多强大的特性,使得 Thulium 语言更具体系化,更易上手和开发。同时引入的第二个官方包 Benzene 既是对现有模式的补充,又是新特性的一次完美的实践。
第二个官方包 Benzene 上线, 包含了下列函数:
- Bar, Beat 函数从 Ammonia 包移入新包
- OctShift, SpdShift, VolShift 函数用于改变相应的参数值
- Extend 函数的作用是延长一个音轨中所有音的时值
- Arpeggiando 函数的作用是将和弦拆分成等时值依次播放
- Call 函数用于将一个音轨作用到一个模板音轨中
- 加入了音轨内注释的语法,使用方法为
<*comments*>
- 优化了宏音轨体系,代之以更加强大的宏音轨概念:
- 宏音轨不必使用 Track 命令声明
- 音轨名前是否存在冒号决定了一个音轨是否被播放
- 宏音轨调用时不再是过去的宏替换,而是作为一个独立的整体
- 允许音轨头乐器后嵌入设置音轨,作为该乐器执行时的预加载部分
- 允许标准函数和宏音轨类型直接作为函数参数
- 函数简记法体系变动,使用
${x:type}
的方式更有效地管理简记法 - 引入优先级系统,不同的简记法和操作符能够按照优先级匹配
- 加入了更多的简记法匹配类型,能够更加精确地匹配简记法
- 提供了人性化的 TmAPI 对象,便于用户自定义函数:
- TmAPI 对象包含下列属性:Settings,Meta,Token,Library
- TmAPI 对象包含下列方法:ParseTrack,JoinTrack,ReportError
- 加入了共用函数系统,允许用户定义共用函数:
- 共用函数可以被多个自定义函数调用,允许自由跨包调用
- 共用函数声明语法同普通函数,但必须以下划线开头和结尾
- 普通函数可以使用
this.Library._func_
调用共用函数 - 共用函数内部可以直接使用
this._func_
调用共用函数
- 部分和弦记号从 Ammonia 移入 Benzene
- 新增和弦符号 D 和 S,分别用于表示大二度和弦和大七度和弦
- 修改了和弦符号 h,H 和 s 的意义,现在改为小六度,大六度和小七度
- 优化了和弦转位符 i,j 和 k 的代码,使得播放效果更符合实际
添加了下列函数文档:
Arpeggio, KeyShift, Oct, Seg
添加了下列基础语法文档:
连音线,休止符,时值操作符
新增了下列歌曲:
- 月亭(NN708)
- C 大调前奏曲(Shigma)