图 1:官方说明文档中的演示
图 2:便捷地实现用鼠标对item 的分割&打开 item 的资源管理器/Finder_演示
长文预警: 此文章内容较多, 逻辑较为套娃 (划掉) 复杂, 更适合对 REAPER Action List (操作列表) 以及 Custom Action (自定义操作) 有一定了解的朋友阅读和学习. 在此基础上进阶定制更方便, 更个性的 Toolbar (工具栏).对于基础较为薄弱的朋友, 笔者会尽可能通俗地用例子讲解如何使用它并阐释思路.
没有以上基础的朋友, 建议先学习:
来了解 REAPER 的工具栏功能.
使用背景:
通过文章顶部的 GIF 图, 有过其他 DAW 或 Melodyne使用经验的朋友们可以很好地联想到「可视化修改鼠标工具」这一功能:
但是在 REAPER 中, Contextual Toolbar 不仅仅可以让你快速地切换鼠标工具, 还可以将各种你平时需要点击使用的操作放到这个可以在鼠标位置呼出的工具栏中, 让你快速调用它!
对于笔者来说, 使用 REAPER Toolbar 的频率很低. 原因之一是笔者更喜欢使用快捷键, 但是坏处是需要记忆大量的快捷键. 另一个原因则是, 将鼠标精准地挪动到左上角工具栏的位置(或是其他固定位置) 实在是太麻烦了. 我希望在任何地方都能打开一个工具栏! 很幸运的是, 有 ContextualToolbar 这个利器存在, 让我们可以更加懒惰地工作了 (不是
那么让我们通过介绍和两个实用的案例来了解如何定制并使用这个强大的 Contextual Toolbar 吧!
零.需要准备:
1.REAPER 一个 (最好为最新稳定版本, 下载地址为 reaper.fm/download.php ,
也建议尝试最新测试版本, 在使用新功能的同时承担测试的风险, 下载地址为
2.已安装 SWS Extension (如未安装, SWS 稳定版本的下载地址为 standingwaterstudios.com , 但由于本功能可能存在的 bug「见后文」以及稳定版本太久没有更新, 建议下载 SWS 最新测试版本, 在使用新功能的同时承担测试的风险, 下载地址为 sws-extension.org/download/pre-release )
一.SWS ContextualToolbar 编辑器介绍
1.打开方式: a) REAPER顶部菜单栏-Extensions (扩展) -Contextual Toolbars (现行中文语言包翻译为「关联工具栏」)
b)Action List: 「SWS/BR: Contextual toolbars…」 (PS: 刚刚学会工具栏用法的朋友们不妨练练手: 将这个使用频次较高的 Action 做成一个按钮放在左上角主工具栏中)
2.界面介绍: ① 预设, 用于保存整个页面的设置.一共有 8 个预设, 对应了 Action List 中 8 个呼出预设的 Action.
② 菜单的上下文, 也是父子级的关系, 可以看到, 以 ⑥Arrange (编辑区域) 为例, 总级别 Arrange 下有 Empty arrange area (空编辑区域)、⑦Track lane (轨道编辑区域)、Trackenvelope lane (轨道包络线编辑区域, 同上)这三个子级. 而每个子级又下辖几个子级, 如Track lane 下辖 Empty track area (空轨道区域, 注意: 只有存在轨道的区域才是空轨道区域, 否则为空编辑区域)、⑧Item (对象)等等子级, 而 Item 又下辖几个子级……(禁止套娃!) .
所以, 在分配工具栏之前, 要先确定好你想要呼出 Contextual Toolbar 的位置在此编辑器中属于哪里. 例如: 如果想让鼠标停留在 Audio item 上的时候, 呼出 Contextual Toolbar, 你需要在⑨Audio item处分配工具栏.
③ 工具栏分配, 它很好理解, 在对 REAPER 的工具栏功能很熟悉的情况下 (不熟悉的朋友还请到文章开头阅读笔者推荐的几篇文章) ,你应当已经明白如何建立自己的 REAPER 工具栏. 只需要点击你想分配过去的区域后面的 Toolbar, 就可以修改成你想要的工具栏. 这里笔者已经为我的⑨Audio Item 分配好了工具栏⑩Audio Item Toolbar. 这不是系统自带的, 你需要自己建立你需要的工具栏. 当然, 如果有人已经做好了非常完备且便于分享的工具栏, 你也可以和他交易一番把他的.ReaperMenuSet 要过来……
它的默认设置一般为 Do nothing (什么也不做) 和 Inherit parent (跟随父级), 什么也不做顾名思义, 跟随父级则意味着你的这个子级菜单的工具栏会跟随它的父级菜单的工具栏设置. 比如在图中, 总级别 Mixercontrol panel(简称 MCP, 混音器控制面板) 被我分配了一个工具栏(忽略它的名字吧, 本来我是准备给TCP 的) ,而它的子级设置均为“跟随父级”, 那么不管我在MCP 的哪里呼出 Contextual Toolbar都会 呼出“TCP Track Toolbar”.
④ 自动关闭工具栏, 这个功能允许你像我一样, 在点完工具栏中你需要的按钮后便关闭工具栏. 但是它在某些情况下可能不是很方便, 在案例一中我会讲到. 大多数情况下建议打开, 双击后面的√×即可.
⑤ 工具栏呼出位置偏移, 也许有时候你需要让你呼出的工具栏离你的鼠标远一点, 那么你可以为它设置一个水平和垂直各为多少像素的偏移.
⑪ 这里是额外设置区域, 主要的设置内容为工具栏聚焦的对象. 以 MCP 为例, 如果你勾选了 Track 并设置为Select track, 那么在 MCP 区域呼出一个 Contextual Toolbar, 它聚焦(即为对谁起作用) 的对象会是已经选中的轨道而不是在呼出 Contextual Toolbar 时鼠标下的轨道. 也就是说, 如果你想要点哪儿处理哪儿, 最好不要勾选任何选项. 而第一项则涉及到主编辑器和 MIDI 编辑器窗口的区别, 由使用者自行体验后决定.
扩展:
如果想直接在呼出菜单栏的时候选中 item/track/anythingyoucanselect, 以便Contextual Toolbar 使用结束后继续对已选中的内容进行操作, 那么也很简单, 只需要在你的呼出Contextual Toolbar Action 后加一个
组成 Custom Action, 再分配一个用于呼出 Contextual Toolbar的快捷键就好啦!
⑫ 让工具栏始终保持在最前, 这是一个官方说明文档中建议勾选的选项, 为了防止呼出的 Contextual Toolbar 被某些其他窗口淹没. 尤其是在呼出的Toolbar 被设置为Frameless (无边框模式)的时候尤其需要. 如果你希望获得像文章开头的 GIF 中一样的无边框 Toolbar, 可以在Preference(选项/偏好设置)-Appearance(外观)中将 Frameless floating toolbar windows 打勾.
⑬ 帮助文档, 你会打开官方帮助文档, 里面有一些介绍说明.
⑭ 保存, 在编辑完但没有发现生效的时候, 不妨看看是不是忘了点保存. 关闭窗口也会自动弹窗提醒保存.
3.如何呼出 Contextual Toolbar:
a)打开 Action List, 搜索 Contextual, 会看到以下两种 Action:
SWS/BR: Exclusive toggle contextual toolbar under mousecursor, preset 1-8
强制将鼠标光标下的工具栏切换到Contextual Toolbar 的preset 1-8中任意一个
SWS/BR: Open/close contextual toolbar under mousecursor, preset 1-8
在鼠标光标下打开/关闭 Contextual Toolbar 的preset 1-8中任意一个
从意思上来看, on/off 的 Action 更适合我们的使用, 实际上两者效果相同.
b)将一个快捷键赋予给你想要的 Action (注意不要选错预设, Contextual Toolbar编辑器里使用的是哪个就选哪个), 如 F1等简单的快捷键, 此处笔者建议呼出快捷键尽可能简便, 也许你可能需要牺牲一个很常用的单键来呼出它, 但是相信我, 这个决定会是物超所值的. 你也许可以在呼出的Contextual Toolbar 中来实现牺牲品的功能 XD.
设置好之后, 将鼠标光标悬停在你已经编辑好并想要呼出Contextual Toolbar 的位置, 按下快捷键, Enjoy it!
二.案例一: 将鼠标武装成可以用于分割 item 的剪刀!
相信很多从其他 DAW 转到 REAPER 的朋友们都有这个怨念, 为什么不能将光标的功能变成一把剪刀, 通过鼠标一次点击就能分割 item 呢? REAPER 中通常的逻辑是: 鼠标点击一次将 Edit Cursor (编辑光标) 移动到鼠标光标下, 再按下 S 键(默认的分割快捷键) 绑定的 「Split item under edit cursor ===> 在编辑光标下分割对象」 来切割它. 寻遍 REAPER 的 ActionList 和 Preference 中的 Mouse Modifier,并没有找到将鼠标光标切换为剪刀的办法.
没关系! 让我们来制作一个! 并且把它放置在一个在鼠标位置就可以呼出的Contextual Toolbar 中!
1. 制作一个可以用于将鼠标光标切换成剪刀工具的 Custom Action:
a) 这是一个失败的思考:
打开 Preference, 找到 Mouse Modifier, 将Context 切换到Media item, 鼠标操作切换到 Left click. 可以看到默认的 Default action 是「Select item and move edit cursor」, 也就是在鼠标左键点击一个item 的时候, 会将编辑光标移动到鼠标光标点击的位置. 可是我们并不能在这个动作后接一个在编辑光标下分割 item 组成 Custom Action 来给 Mouse Modifier 用, 因为在这个情景下不允许我们自己添加 Action. 于是我们可以考虑 Action List.
b) 进入正题:
打开 Action List, 找到「Item:Split item under mouse cursor」, 这个Action 本身并不是一个状态开关 Action, 也就是没有 on/off state.它本身的用意是: 绑定一个快捷键, 在鼠标光标悬停在 item 某位置时,按下快捷键, 分割 item. 但是这里我们可以用一种有趣的方法把它变成一个状态开关 Action, 即运用 「Action:Toggle Arm of next Action===> 准备 (不! 是武装!!!) 下一个操作」 这一 Action (禁止套娃!!!), 让下一个 Action 切换到准备状态. 在准备状态下的 Action 会变成你想要的模样!
c) Bug 修复:
在做好这项工作后, 你开心地将这个 Custom Action 放到了 Contextual Toolbar 的Audio item Toolbar 中, 但是在使用时却会发现, 根本不起作用!
究其原因, 是因为Contextual Toolbar 的auto close 功能其实也是一个 Action, 就是 「Toolbar: Open/close toolbar N」.在进行了这个 Action 之后, 你的上一个操作的Arming 就被解除了! 所以, 如果想设置一个这样的按钮, 你不能在对应的 Toolbar 后面点上 auto close. 如果你还想让每个按钮都能 auto close, 只好自己把每个 Action/Custom Action 后面加上这条「Toolbar: Open/close toolbar N」了.最后再制作一个单纯用于关闭 Toolbar 的 Action, 赋予鼠标的图标, 装作点了它就能回到普通鼠标的样子///(注意: 其实这里需要点两下, 第一下的时候是解除了 Arming, 第二下真正点到了按钮, 关闭 Toolbar).
所以说,这是一个并不是特别完美的 Custom Action. 在不写脚本的情况下做到这种地步, 个人认为已经很不错啦.更完美的解决方案请看五.的末尾处.
三.十分适用的场景 (个人认为):1.放置一些不想使用快捷键, 但使用频次较高的 Action.
2.放置一些 on/off 状态的 Action (需要将 Toolbar 的 auto-close 设为关闭)
3.放置一些上色等需要通过直观观看图标来获取信息的 Action.
4.不要被笔者的想法限制了想象力, 更多适用场景任君遐想…
四.不适用的场景 (个人认为): 1. 需要鼠标指针精确定位的操作 (如: Item: Add stretch marker at mouse position ===> 对象: 在鼠标位置添加拉伸标记)
2. 使用频率较低操作 (看个人喜好选择, 笔者不是特别推荐往里堆很多 Action, 为什么不添加到右键菜单栏里呢?)
3. TCP (Track Control Panel ===> 轨道控制面板, 即默认位于左侧菜单栏下方的部分) 的 Contextual Toolbar目前不可用, 笔者在更新到目前最新的测试版仍未解决后认为是 bug, 但不确定其他人的 REAPER 是否也会出现此错误 (此 bug 也见于其他人的 REAPER 6, 在更新 SWS 到最新测试版后可以解决, 但是笔者的bug 仍未解决), 请自行尝试
*五.关于 Mac OSX 系统用鼠标键呼出Contextual Toolbar的实现方法: 由于在 REAPER 内部, 并不能将鼠标修饰键赋予给 Action, 这也就代表我们不能简单的按下鼠标右键或者Cmd+鼠标左键等等就呼出 Contextual Toolbar(在 Mouse Modifier 中也不可以, 因为 Modifier 没有全局设置,它就是一个子级的Contextual Action 绑定器, 和 Contextual Toolbar 的呼出 Action 在逻辑上是冲突的). 而设置键盘快捷键意味着我们需要放弃一个非常常用的快捷键 (比如F1甚至是常用字母等) 去调用它, 这让笔者感到不适.
于是笔者用到了一个在 Mac OSX 系统中可以用来管理鼠标快捷手势的软件: Better And Better(国产免费软件, 官网better365.cn/bab.html) 来将一个鼠标手势指向到 REAPER 内的某个快捷键, 这里笔者在 REAPER 内为呼出 Contextual Toolbar 这个 Action赋予的快捷键是 Cmd+Option+Shift+A (三个辅助键你是魔鬼吗???Anyway, 我又不会真的去按它们XD) :
再在 Better And Better (简称 BAB) 中将鼠标的第三侧键的单击指向 REAPER 中的这个快捷键:
当然, 如果你的鼠标上没有侧键, 你也可以选择用鼠标滚轮中键, 或是一个鼠标右键手势, 如按住右键划一道水平直线等.
然后为这个鼠标手势设置一个在 REAPER 中的快捷键, 由于笔者的系统为 10.15.2, BAB 对我的快捷键无法响应, 所以我选择用脚本的方式设置快捷键. 能响应的朋友们可以直接用 「点击记录快捷键」 的方式进行快捷键记录. 顺便附上我用来设置快捷键的Apple Scripts脚本:
tell application"System Events" to tell process "REAPER"
key code 0 using {option down, shift down,command down}
end tell
设置好后就可以在 REAPER 中愉快地用鼠标呼出 Contextual Toolbar 了.
同类软件还可以使用 Better Touch Tools (简称 BTT), 但是由于价格原因(7.5美元两年更新/21 美元终身更新, 它不是免费的软件, 所以这里不放官网链接), 不如 BAB 更友好. 有条件支持正版的朋友也可以选用BTT, 因为它支持鼠标左键(using辅助键), 可以单独通过在 BTT 中对鼠标左键(using辅助键) 的快捷键定制来做到REAPER中鼠标光标功能的修改, 不再需要案例中并不算完美的 Arm Action(同样的, 坏处就是无法在 REAPER 内部设置一个 Contextual Toolbar 按钮来控制鼠标光标功能的切换, 但可以通过套娃方式写 Apple Script 脚本用其他外部控制如 BAB 控制 BTT 来实现快捷键切换. 熟悉REAPER 内部语言编写系统控制脚本的朋友也可以尝试编写控制 BTT 的REAPER Toolbar切换按钮).以及可以用鼠标左键(using辅助键) 实现对Contextual Toolbars 的呼出. 这与本文无关,只是一个分享.
关于Linux 和 Windows如何用鼠标键或鼠标手势呼出 Contextual 的实现办法, 欢迎熟悉的朋友在评论区分享!
附:1. 此篇文章行文过于冗长, 解释性语句较多, 这是为了方便对 REAPER 的个性化定制尚不熟悉和不容易 Get 到干货文章关键点的朋友们考虑. 这里对专业人士说声抱歉, 给你们带来了不好的阅读体验! 十分抱歉!
2. 关于为什么将 Contextual Toolbar 翻译为「鼠标便捷工具栏」而不是「上下级菜单工具栏」或原有语言包中的「关联工具栏」, 是因为笔者认为此工具栏的核心优点在于「可以在鼠标处呼出一个工具栏」, 而它的上下级菜单关系则和Preference (偏好设置) 中的Mouse Modifier (鼠标修饰建)中的设置类似, 不是特别突出的优点. 在结合了 REAPER QQ 群内Crux朋友的意见后, 最终定名为「鼠标便捷工具栏」. 欢迎朋友们在评论区留言, 优化这一工具栏的中文翻译, 争取做到信达雅.
3. 笔者对 SWS 官方说明文档中的 Related REAPER Settings 部分没有非常充分的理解, 个人认为是需要碰到情况的时候再来解决. 但是目前的使用中笔者没有碰到类似的问题, 希望有对这些地方理解更深入的朋友可以在评论区指点我, 完善本文章, 谢谢!
本帖最后由 wangnov1 于 19-12-31 01:47 编辑
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x