用html给reaper做一个web remote control的cc推子

前言:

关于reaper的web remote control,很推荐一款开源的工具wrb2,能自定义将reaper的action做成按钮,也提供了一些不错的预制模块。

可参考我在b站发的一个视频:
好玩又好用,19年就停更的开源工具reaper wrb2 web remote_哔哩哔哩_bilibili

美中不足的是,它没有提供推子工具。于是自己琢磨了一个补充的推子。

由于不想花太多的时间去学js、vue,所以没办法在它原框架的基础上加。只能另外写一个推子页面。不过,一个副屏或者pad开wrb2,一部手机开推子,也是很不错的使用场景。

开发过程中,吃了reaper的很多苦头。

最早想使用osc发送cc,web remote control和reaper均有关于osc的api,但由于没有示范实例,满世界也找不到相关信息。web remote control的osc api怎么尝试都不成功。reaper的osc api,只有不带值的,比如节拍器“t/click”能发送成功,带参数的怎么尝试都不行。

随后换为reaper的insertCC这个api,虽然跑通了,但是使用的时候监听不到实时效果。emmm,成功了又好像没成功。

最后在大佬指点下,使用reaper的StuffMIDIMessage这个api来发送cc,终于能正常使用。

关于使用方法:

1、解压和放置

解压后放在C:\Users\l用户名\AppData\Roaming\REAPER\reaper_www_root下,注意CCRemote文件夹里的东西不要拖出来,CCRemote.html也不要拖到CCRemote文件夹里去。

2、lua脚本

随后将,CCRemoteState、CCRemoteTemp、CCRemoteUpdateChannel 3个lua文件,加载到reaper的action列表里。

在action列表里找到CCRemoteState,右键复制command ID。打开CCRemote.html,替换到30行的字符串里。如下图。

在action列表里找到CCRemoteTemp,右键复制command ID。打开CCRemote.js,替换到17行的字符串里。如下图。

 3、为了获取channel通道号

 【注意】下面的事情有点繁杂。如果你不在意CCRemote能否正确显示当前channel,可以跳过本步骤。因为即使显示不正确,推子也能正确的施加在当前轨道的当前通道上。

由于要获取轨道的channel信息时,有的乐器轨会返回非常长的字符串造成卡顿。于是读取channel就没有设置为按频率读取,改为手动执行CCRemoteUpdateChannel这个脚本。在你切换channel时,去执行它。

【不建议】如果你习惯鼠标右键去设置轨道的Map input to channel,建议把这个脚本做成按钮,切完channel手动去按。

【重要】但最好的做法是,把切channel和更新channel信息做成定制组合形式的action,并分配快捷键或按钮:

在action列表里,点new action-new custom action,把SWS/S&M: Map selected tracks MIDI input to channel * 放在第一条,CCRemoteUpdateChannel放在第二条,其他参数如下。ok后设置快捷键add shortcut(我是快捷键1-9对应9个通道),当然也可以复制command ID做成按钮。

相同步骤依次做完多个通道的custom action。(总共16个,根据需要做)

这样选中轨道按快捷键或按钮,就切换channel了,信息也会同步给CCRemote。

另外,如果你也使用reaticulate映射来构建乐器轨(如下图)。那channel不再需要自己去切了。只需要在任意channel输入所有midi信息即可,映射会自动把信息分配到对应的channel。

就是构建模板的时候要自己写一下映射文本。辛苦一下,之后就很方便。详见Usage | reaticulate

 

4、在web control加载CCRemote

reaper的web remote control加载方法都一样。

在设置里control/osc/web栏,add,选web browser interface。如果你有多个web remote,端口要不一样。 如果勾选use rc/reaper.fm并apply,会把后面ID里你设置的字符串做成一个好记的URL,否则默认就是最下面ip形式URL。在局域网内任何浏览器都可打开。

注意1:使用时必须选中一个item,否则会弹窗给你提示。

注意2:如果你的midi编辑窗有多个cc栏,这个推子只针对最上方那个。

注意3:如果你midi编辑窗的第一个cc栏当前不是cc,而是比如力度、弯音啥的,推子不会生效。

注意4:选中item后的一秒内马上使用推子可能有问题,因为获取cc号是每秒执行一次,推子上的cc号正确显示后再推推子。不过一般选中item到开始录制,怎么也过去好几秒了。

演示效果:

reaper 做一个web remote cc推子_哔哩哔哩_bilibili

最后,再重申一下非常推荐配合wrb2一起使用,详见开头链接。

  • 14
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值