生活就是在不停的debug
@bobo198504 提出了上述问题的现实答案,是新工程的设定没有master send或说轨道没有做master send
下面以阿珍的视角来复盘该问题,介绍另一种解决问题的思路(debug),并附上我的想法。
问题重现
模仿上述问题,让我建立2个这样的工程。一个轨道有master send,另一个没有。
重装尝试解决问题
阿珍计算机经验不多,遇上问题第一想到的是重装,于是阿珍尝试重装了安装版的REAPER(本来就是安装版),但问题依旧,REAPER配置也是旧的不是全新。
为什么重装REAPER后,设置还是旧的?
REAPER在windows上安装有2个方式,一种是安装,另一种是便携(类似解压)。其实他们除了rewire功能外几乎一样。
阿珍在使用Windows删除或手动删除安装目录的方式,并不能删除安装版REAPER的设置文件,因为安装版REAPER的设置文件在Windows应用数据目录。卸载REAPER并不会自动删除安装版配置文件(2021)。
新建工程与旧工程比较
阿珍很聪明,A/B测试是最常用最直觉的debug方式。阿珍发现的问题:
- 老工程全部声音正常
- 旧工程节拍器有声音,轨道无声
- REAPER设置一样
这应该怎么排查?
除了声音驱动这些全局的设置,REAPER对工程、item等设置通常是对新建生效,并不会覆盖原工程本来的设置。可以判断出应该是什么地方设置导致了工程里不一样,即工程文件里面的设定不一样。
REAPER有一个特点是工程文件是纯文本的,即你可以用文本打开工程里面看内容与进行修改。
我们用Kate文本编辑器打开这2个工程,分别找到轨道AAAAA(有发送到master)和轨道BBBBB(无 发送到master)。
看到很多不懂的字不要慌,直接搜轨道名。
可以看到以 < > 中括号为头尾包含着找到的轨道信息,对这些信息做比较和A/B测试。
我们先备份一次重要的工程,拷贝一份做测试,打开没有问题的工程,对轨道做调整,看哪个调整是对最终产生影响的(控制变量)。
最后解决
上帝视角的我肯定知道是MAINSEND的差别。
幸运的是阿珍遇上了阿强,阿强计算机经验丰富,在diff、A/B测试后知道这个参数有差,发现原来是轨道的 master send 不一样导致,并了解工程相关设定,问题完满解决。
实际上实际上不会这么理想,你会不知道那些参数究竟代表什么,阿珍也不会遇上阿强。究竟哪个参数导致问题,甚至是不是这个参数组出现问题,这些问题都很常见。
A/B测试、控制变量、二分法都是耳熟能详的方法论,经验也非常重要,像上述现实问题bobo就马上解决了。若真的遇到需要自己debug的时候,我们只要明确目的,剩下就只需要交给耐心和时间。
ps:debug插件就很常用二分法。如工程突然加载不了,问题出在插件,但你不知道是哪个插件。除了看日志以外,还可以把该工程的插件对半分,看那一半的的插件有问题,再依次减半减半,直到找出罪魁祸首。
REAPER中debug更方便,即更容易找出问题所在,很大一部分是REAPER比其他闭源软件更自由,更像是一款“自由”软件。它工程文件本身对用户公开、配置文件公开。人们喜爱自由,REAPER就是那个更接近像Linux的自由。所以REAPER用户最终都会是Linux用户。
本帖最后由 Tee 于 21-1-8 00:33 编辑
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x