小工具:切换2个普通动作

有很多情况下,需要把2个单独的动作绑定在同一个快捷键上,实现切换功能,下面这个小工具可以实现,需要一定动手能力。 :upside_down_face:
首先在动作列表中载入脚本:
image

接下来点右键进入编辑界面:
image

action1 = 和 action2= 后面的信息需要自己填入,有2种类型,一种是原厂动作是数字,一种是非原厂动作是字符串,数字直接填写,字符串需要加上‘’,格式如图中最前面2行:
2

这个动作信息从哪里获取呢?还是动作列表中,在动作上点右键,复制ID:

这些做好以后就可以给这个脚本绑定一个快捷键了。
切换2个动作.lua (543 字节)

2 Likes

local action1 = 'action_command_ID'
local action2 = 40619
action1 = tonumber(action1) and action1 or reaper.NamedCommandLookup(action1)
action2 = tonumber(action2) and action2 or reaper.NamedCommandLookup(action2)
local old_action = tonumber(reaper.GetExtState('toggle action', 'action'))
local action = old_action == action1 and action1 or action2
local action_next = old_action == action1 and action2 or action1
reaper.Main_OnCommand(action, 0)
reaper.SetExtState('toggle action', 'action', tostring(action_next), true)

别让新手手打这么多代码了,容易出错,顺便简化了一下

感谢两位大神 学到了

我忘记上传脚本了。 :joy:

感谢大神!

有错误呢?
运行后退画框提示 yqy Toggle Cursor On Stop.lua:5: unexpected symbol near '<\226>'
错误说是在这一行
local old_action = tonumber(reaper.GetExtState(‘toggle action’, ‘action’))

去一楼重新下载吧,论坛好像会自动把引号换成中文的,不能直接复制

确实!
image

试验着改了一个。但是结果不理想。
运行这个命令结果是:执行了里面的一个动作,而不是切换了某个快捷键所绑定的动作哦。

有点不明白。
运行这个脚本,是为了切换某个快捷键所绑定的动作吗?
还是这个脚本过后绑定的快捷键,本身就带了2个动作?如果是这样的话,那如何切换呢?

切换的意思:
第一次运行,执行动作 1.
再次运行,执行动作 2.
再次运行,执行动作1.
再次运行,执行动作 2.
如此循环。

好像没有被转成中文引号,我再看看,谢谢前辈

哦哦,好的,谢谢老师


左边是原来我打的,右边是你实际看到的,已经是两个符号了。这个要等管理员修

哦哦,我说呢,看起来一模一样呢

已解决。


这个暂时没有解决方案。大家贴代码块的时候,还是用 markdown 语法里的代码块 ```,> 的引用还是会变。

没事,这个论坛上传文件图片都很方便。

增加了一个按钮,如果用 代码块 贴代码,会有一个复制按钮,如:

def main():
    pass

main()
1 Like