首页
/ Companion项目中的Action Recorder延迟时间记录功能解析

Companion项目中的Action Recorder延迟时间记录功能解析

2025-07-08 15:36:51作者:殷蕙予

功能背景

在Companion项目的Action Recorder功能中,用户长期以来一直期待能够记录动作之间的延迟时间。这一功能对于实现慢速变化、交叉淡入淡出等效果至关重要,特别是在MIDI模块等场景下,用户期望能像专业DAW软件那样实现"随时间学习"的功能。

技术实现

最新版本的Companion(v1.9.0及以上)已经实现了这一功能。开发者现在可以在调用recordAction方法时,通过添加delay参数来记录动作之间的延迟时间。具体实现方式如下:

this.recordAction(
    {
        actionId: msg.id,
        options: args,
        delay: 1000 // 延迟时间(毫秒)
    },
    `${msg.id} ${this.getValFromMsg(msg).key}`
)

使用注意事项

  1. 版本要求:必须使用@companion-module/base库的1.9.0或更高版本
  2. 延迟模式:目前建议生成相对延迟,并期望用户切换到相对延迟模式
  3. 兼容性考虑:由于按钮可能处于相对延迟模式或非延迟模式,当前实现中延迟的解释可能不一致

功能扩展建议

基于社区反馈,未来可以考虑以下增强功能:

  1. 延迟记录开关:在Recorder界面添加切换开关,允许用户选择是否捕获延迟
  2. 预设集成:允许将录制的动作添加到预设中,从而支持更多设置选项
  3. 绝对/相对延迟支持:提供更灵活的延迟时间处理方式

开发者实践指南

对于模块开发者,在实现延迟记录功能时应注意:

  1. 确保正确设置delay参数,单位为毫秒
  2. 考虑用户可能在不同延迟模式下使用功能
  3. 提供清晰的文档说明,告知用户功能限制和最佳实践

这一功能的加入大大增强了Companion在自动化控制场景下的表现力,为创建更复杂、更流畅的控制流程提供了可能。

登录后查看全文
热门项目推荐