SONAR,作为一向稳重沉稳的我,也不得不破口了!
我想请问SONAR的程序编写员们,你们将SONAR编成这样,你阿姨知道不?
在插件的应用上,全球各大音源厂商出的插件都去支持C,N……,知道为什么吗?
就是因为你这软件居然有如此严重的BUG,我甚至怀疑你们雇用的软件编写员,是特么别的软件厂的握底!
虽然你后来在插件上,也兼容了使用量最大的VST,但你的市场已被后起软件抢走不少了!
真是背死,活该呀!谁让你在操作上这么背,原本在CW9上的CAL,居然在SONAR上大量出错!
这叫本来拥有“写轮眼”的CW9情何以堪?相信已经利用CAL编写过自用操作系统的骨灰级老手来说,深有体会吧!
千万别提SONAR自带的那些CAL,太菜了,对于MIDI的高速操作来说,完全不够用!
(咳咳,算了,我实在是太粪撸了,请各位原谅,以下列出SONAR的几宗邪恶的BUG,数个深夜弄是被我发现鸟)
第一宗罪:数据溢出!
SONAR 在个别情况下,不容许数据溢出,就算你写入的公式得出的结果肯定在取值内,
但只要在同一行的公式中,如果计算过程中出现了数据溢出,程序将停止运行。
结果编写时就必须注意,公式中使用的变量,不管是内置变量,还是自定义变量,
编辑者必须小心估计,公式的计算过程是否会出现溢出!
PS:这是你丫谁给你们的权利?CW9都行,你SONAR硬是要这样……
还好,虽然你们这么恶心,通过对逻辑能力的训练,勉强可以用更精心的公式设计来回避这个BUG。(当时以为可以回避)
第二宗罪:虚假精度!
SONAR 的最高精度是960TK,CW9只能达到480。不过说真的,很多情况下,连480都是浪费。
但是,最令人不能理解的是,你丫为的是哪般要来虚假的,你以为表面上让客户随意设置精度,
而本质上你还是固定用960作为精度,没人发现?我那个奇遇,求你阿姨呀!
通过“pause”命令,很容易就发现问题了!
所有的标记类变量,以及所有的时间节拍转换类变量(tick除外),全是960的读取精度,
其它的变量又是正常的以用户设定为标准的精度,请问你这是为哪般呀?
不知道这样的话,CAL编写会变得相当困难吗?
一个简单的公式,如:(meas Event.Time),我居然要写成(meas (/ (* Event.Time 960) TIMEBASE)),
如此才能在用户设定的精度环境下正确表达事件所在的拍子位置。
会编写CAL的骨灰们,是不是看到这里有点儿豁然开朗的感觉?呕西买嘎哒,很不好意思的告诉你,那是幻觉,
SONAR 所带来的计算上的逻辑痛苦,远不只如此,因为这只是程序读取MIDI事件时的状态,
它在最后写入结果时,又特么依照的是用户设定的精度来输出的,怎么样,是不是有点想屎的感觉?
这就意味着,编写CAL时,你要以960的精度来估计数据溢出,这特么太容易溢出了,结果在设定义变量时,
就必须以“dword或long”为主了,因为960TK在公式中随便一乘,数据就会超大!在CW9中就根本不用考虑这问题!
并且,要万分纠结的反复考虑与分析CAL语句的读写逻辑,注意,读的时候,有些参数读入变量时,是固定960精度的,
而有一些又是以用户设定的精度进行读取的!
然后,在写出结果时,特么的又会反过来,有些参数在写出结果时,是以960精度的,但有一些,又是以用户设定精度来表达的,
这就要特别小心在公式计算中,要分析清楚,哪些变量要通过公式转成960精度,哪些要转成用户自定精度!
搅呀搅,无数的屎拿给你搅!
结果就是,因为这第二个BUG,造成第一个BUG的破坏性扩大!
你打夜的,你让所有的内置变量都以用户设定的精度来读写会屎么?
第三宗罪:失效的内置变量!
是个小问题,即——tick这个内置变量居然失效了,完全没用,你打夜的,你照搬CW9的核心程序不行吗?非要整这些有的没的?
幸好meas、beat这些变量是正常的(注意,要在960与用户精度中加入搅屎棒哈!),但这特么不是叫我不放心吗?
就这一个失效参数,我是花了几小时解决一个问题时才最终发现了,你特么还有没有别的什么被取消的指令?
第四宗罪:这个太终级了!
在有选区,但又没有选中任何事件的情况下,CAL无法启动!
我必须要说脏话了,我脏话你全家呀!我怪动作你后代呀!我怀疑你没有阿姨!
很多快速的操作,就是用了大量凭空的插入方式,没框中事件你就不能执行CAL,你怎么想的呀?
你们这样设置软件,问过做音乐的人吗?问过用软件的人吗?我我我我我哇呀呀呀……
------------------------------------
当时扣鼻屎刚出来不久,我有同事就去用了,他说太爽了,操作上很好用,我当时很不以为然,因为强大的CW9有写轮眼,
管你有什么功能,只要被我知道了,我就把那功能通过CAL搞到CW9上去,还有很多现在各大软件都不具备的功能,通过CAL也能乱爽,
但CW9不能跑软音源呀,又想用SONAR,又想操作上很爽的骨灰们,是不是都有想屎的感觉呢?
以上四个严重的BUG,特别是最后一个,充分说明了SONAR不是一款MIDI软件,而是一款音频软件,
它带有MIDI的简单写入功能,以及对MIDI事件的修改功能。
最后要说的是,这几个夜熬下来,总结了一些经验,我将自己编写的CAL作了努力的修改,
使大多数CAL可以在SONAR 上跑了,但有一些关键适用的,因为公式中有无法回避上面四个BUG的变量,结果无法在SONAR上用,
感觉很不爽,特来发发飙,也同时希望会编写CAL的朋友,在看到本文后可以发表一些精良的看法!
哎,伤心的SONAR……
砖以抛出,骨灰们,玉呢?
[
本帖最后由 溺水鱼 于 14-11-28 00:38 编辑 ]