c#datagridview 判断按下回车键_REAPER基础:使用循环动作编辑器创建简单条件判断组合动作——播放/暂停/停止与光标DIY(上)...

ab617d124ad29090c13ee842aa4d6526.png

REAPER混音基础:了解并使用循环动作编辑器Cycle Action Editor DIY自己的走带Transport与时间轴光标Cursor工作流程Workflow

在DAW的混音流程中,走带Transport是我们天天都在做的一个事情。它包括了播放/暂停/停止/录制等最基本的功能。而指示走带在何时开始、何时结束的贯穿于DAW编辑界面(即显示有有波形文件轨道的界面,区别于只有通道形式的轨道的混音界面)的竖直指针,我们称之为时间轴上的光标。在走带开始之前,我们用鼠标或其他方式将光标放在一个位置,点击播放等走带动作开始之后,该光标会随之移动,但是原位置也会留下一个光标(或虚影)。比如Audition中就是这样设置的:

cf8654917a81ec722c30841b38883f92.gif
Audition进行走带时的光标变化(原光标变为虚线),最下面的按钮为走带控制按钮

在Pro Tools中,光标位置也是基于时间选择确定的,并且在播放停止时返回时间选择位置:

3614c975a03e5d41709296f21711f842.gif
Pro Tools中的时间选择(蓝色小箭头)所确定的光标位置(在走带时闪烁)与走带控制(上)

但是在REAPER中,则引入了两个光标的概念。分别是编辑光标Edit Cursor(等同于Audition的虚线和Pro Tools中闪烁的线)和播放光标(即正在移动的光标),二者是互相独立的。按下空格进行走带Transport播放光标Play Cursor产生并向右移动,再次点按空格停止Stop走带后,播放光标同样也默认会回到编辑光标的位置并消失,直到下一次走带开始再出现。如图所示:

3a116211262384992016cc336ff0c60e.gif
图中操作:点击定位编辑光标-按空格播放-按空格停止 #可以看出,这两个光标都是同样的实线,意为是两个互相独立存在的光标

但是在REAPER中,情况是不一样的。REAPER将走带拆分成了一个个基本的动作Action,并储存在动作列表Action List(快捷键:?)中,供用户选择、组合和调用。

其中这些概念分别是:

  1. 走带Transport:按下播放Play或录音Record键后在播放或录制时,播放光标Play Cursor从编辑光标处开始向右移动的行为。(但是需要强调的是在REAPER里,走带是一类和走带有关的动作的“分组名”,比如我们可以看到:“Transport:Play/Stop===>走带:播放/停止”这样的动作。而它本身虽然会随着播放或录制发生和停止,但并没有单独的走带动作供你使用,因为它没有在REAPER里被定义为一个动作,只是一类操作的分组名
  2. 编辑光标Edit Cursor:指存在于工程中的竖直的一条线,用来指示当前可以在哪个时间轴位置进行编辑行为。在REAPER中,默认点击item任意位置可以将编辑光标移动到该位置。
  3. 播放光标Play Cursor:指开始走带后,从编辑光标处分出一条向右移动的竖直直线,用来指示此时播放/录制到了哪个时间轴位置。虽然叫播放光标,录制的时候也同样使用此光标。因为录制的同时也进行播放。
  4. 播放Play:指在工程中的编辑光标处开始走带,并且跟随走带进行播放(也称回放)这一行为。
  5. 录制Record:指在工程中的编辑光标处开始走带播放,并且跟随走带在开启了录制准备的轨道上进行录音这一行为。
  6. 停止Stop:指在工程中停止走带这一行为。编辑光标位置并不会被移动。
  7. 暂停Pause:指在工程中暂停走带同时将编辑光标移动到暂停处以便于后续恢复走带。

实例一、让REAPER编辑光标在停止播放后移动到播放光标的位置

前面可以看到,播放光标只是为”试听“而生的暂时产物,在停止Stop播放后自然就消失了,那么编辑光标是没有任何变化的,所以下次播放依然是从编辑光标开始播放。这对混音中绝大多数功能的实现都是有利的,比如便于我们对某一区域进行编辑之后反复试听来修改(对于新手的“尝试混音大法”来说就很友好)。但是如果我们想实现“在走带结束后将编辑光标移动到播放光标处”,进行一站到底绝不回头式走带回放或录制,按空格却是实现不了的。所以我们需要寻找一些办法实现这个方法。

方法1.直接用暂停Pause来代替停止Stop。

在Audition中,我们可以通过暂停Pause(快捷键:Cmd/Ctrl + Shift + Space)来让光标(类似于REAPER中的播放光标)停留在当前暂停位置,同时原本的光标虚影(类似于REAPER中的编辑光标)依然存在。再次按下播放键,将从光标(类似于REAPER中的播放光标)当前位置继续播放,并且如果按下停止光标将返回虚影(类似于REAPER中的编辑光标)处。如图:

446b937540ff95ee22e204d5a52115dc.gif
动作:播放-暂停-播放-停止 #可以看出不仅光标保留在当前位置,连电平表都暂停了

REAPER中的播放/暂停快捷键是回车Return,但我们想将它分配给空格Space。于是我们按?打开动作列表Action List,输入“Transport”和”Play“可以看到有这样两个动作:

5bf9cb08a9c629cb2f290ebf03c98fc7.png

由空格键SPACE控制的Play/Stop和由回车键控制的Play/Pause,那么我们可以尝试将空格键和回车键对调,来实现按下空格时走带是暂停而不是停止,从而使得播放光标依然存在并且停留在当前位置,再次按下空格会在播放光标位置继续播放。如图:

62da76f2be5f1850e32e028c90f5e905.gif
动作:播放-暂停-播放-暂停-播放-暂停 #注意光标的产生与消灭和位置变化

但是和Audition不同的是,REAPER没有“光标虚影”,按下暂停也没有保留电平表的电平信息。并且,如果我们的行为是录制而不是播放,那么按下暂停后再按下播放会继续录制。如图:

7da98c455f224df20a2c7bea5f14e5dd.gif
#生成了同一个音频文件,而不是另一个。这在某些情况下是有利的,但是谁不想知道如何获得另一种选择呢?

虽然在有些时候暂停Pause是我们很好的录制选择,但是对于按3党来说还是习惯空格直接停止,再重新开始录制。回到本实例的标题,所以我们不希望用Pause,而是希望在Stop的同时还能将播放光标移动到编辑光标。

方法2.尝试用动作列表Action List组合出新的自定义操作

REAPER提供了很多基础操作,包括动作和状态开关。我们可以善用这些操作在自定义操作里进行组合,创造出自己的一键式工作流。比如在现在的情况下,我们尝试用自定义操作将这几个操作排列起来:

3be8d472765e6e5bebf1dc8d681751b1.png
中间的动作是移动编辑光标到播放光标,单独使用是管用的

但是使用之后发现没有任何事情发生。这是因为这个动作组合没有时间间隔,同时做了这三个动作Action。播放之后紧接着又停止了,所以不会发生任何事情。

方法3.使用SWS_Cycle Action Editor循环动作编辑器创建带有条件判断语句的动作组合

在明白问题所在的情况下,我们需要的是:在检测到当前状态为正在播放的时候,移动编辑光标到播放光标并停止播放。这是一个条件判断语句,所以我们要用到SWS扩展中的循环动作编辑器Cycle Action Editor。如果没有安装过SWS扩展的话可以到这里进行下载安装。

打开循环动作编辑器,在左侧的操作窗口新建一个操作,按照Action List的命名规则将其命名为Transport&View:Play/Stop and Move edit cursor to play cursor ===> 走带/视图:播放/停止并将编辑光标移动至播放光标(因为包含三个Action,两个是走带Action一个是视图Action,所以前面的组名要写两个方便检索)。然后选中它,在右侧的命令窗口进行创建命令。

首先新建一个语句IF,同时也自动生成了一个ENDIF。IF语句的作用是如果IF下面的一个操作A的状态是ON,那么执行A下面的所有操作直到下一个条件语句。ENDIF的作用是结束这个条件语句,避免语法错误。

接下来需要一个让IF检测到当前状态是正在播放的动作。打开Action List,检索“Transport”和“play”,找到Transport:Play Action。它是一个状态开启关闭的动作,符合IF条件语句要求的下一个操作的状态是ON。所以选中它,在Cycle Action Editor的命令窗口中右键,插入已选中的Action到IF条件语句下。

b97f072d2275747fde18fb466589147b.png
也可以直接插入一个空白,在“命令”下直接输入Action List中列出的命令ID从而插入Action

接下来需要添加检测到正在播放时候要执行的动作。它就是View: Move edit cursor to play cursor ===> 视图: 移动编辑光标到播放光标。将它选中,在Cycle Action Editor的命令窗口中插入到1007Action的下面。

接下来需要立刻让走带停止,否则这个应该赋予给空格键的组合动作不能停止走带,有点太扯了。所以检索”Transport“和”Stop“并将Transport: Stop ===> 走带: 停止 Action插入到40434Action的下面。

但是光这样还不够,我们打算赋予这个组合动作空格键,那么它应当兼顾播放和停止功能。也就是当它检测到当前的走带状态不是播放的时候,它应当执行播放动作。所以我们在ENDIF前面插入一个语句ELSE,该语句的意思是:如果上一个IF下的第一个操作为OFF,则执行ELSE后面的所有操作直到下一个条件语句。于是我们把播放Action放到ELSE后面,这个组合动作就完成了。

809543f24f98c3dff73fe03219b40389.png

点击Cycle Action Editor左下角的应用,就可以在Action List中找到新组合好的组合动作,将Space赋予给它,就实现了Space控制走带的播放和停止并且在停止后将编辑光标移到播放光标的动作。

57af667a2780a04b195d8d54a49d0f14.gif
大功告成

下篇会讲如何用Cycle Action Editor实现更高级的走带和光标DIY以及如何使用更复杂的条件判断语句,并结合简单的脚本。

PS:封面纯属恶搞,如有侵权立即删除。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值