基础
Stream Dock 如何与插件通信。
Stream Dock 软件在应用程序启动时加载所有自定义插件。Websocket API 允许使用 JSON 在插件和 Stream Dock 应用程序之间进行双向通信
插件注册
每个插件都使用 Stream Dock 应用程序指定的端口上的专用 WebSocket 与 Stream Dock 应用程序进行通信。插件必须遵循注册程序才能使此通信正常工作。
关键事件
Stream Dock 应用程序中运行着一个插件实例,即使多个键包含插件提供的相同操作也是如此。注册后,该插件将能够发送和接收事件,例如keyDown和keyUp事件。
跨平台
Stream Dock 支持适用于 Windows 和 macOS 的跨平台插件。除了支持 Javascript 的 SDK 外,还有许多其他编程语言的第三方插件库。
插件
插件由 4 个元素组成:
清单:描述插件(名称、作者、图标等)并定义操作
代码:启动时、按下某个键等时执行的代码。
属性检查器:在画布中选择键时显示的用户界面
资产:图像、国际化等。
插件唯一标识符
每个插件都有一个唯一的标识符,用于在 Stream Dock 商店中标识插件。唯一标识符必须是仅包含小写字母数字字符 (a-z, 0-9)、连字符 (-) 和句点 (.) 的统一类型标识符 (UTI)。字符串必须采用反向 DNS 格式。例如,如果您的域是hotspotek.com,并且您创建了一个名为text的插件,则可以将该字符串com.hotspotek.test指定为插件的唯一标识符。
插件实例
每个插件都有一个实例。添加到画布的所有键都会使用不同的context将事件发送到该单个插件实例。
Actions
插件可以在其清单中描述多个操作。例如,该插件有六个操作:场景、录制、屏幕截图、闪回录制、流、现场评论,所有这些都列在manifest.js中
坐标
事件可以在画布上提供键的坐标。有了这些坐标,键组可以具有其他功能。
Context
操作的每个实例都有一个 Stream Dock 应用程序用于查找操作。
Property Inspector(属性检查器)
插件和属性检查器彼此独立运行。两者都应使用注册过程注册到 Stream Dock 应用程序,并可以使用专用的 WebSocket 与 Stream Dock 应用程序进行通信。有几个 API 可用于在插件和 Property Inspector 之间交换数据:
显示“属性检查器”时,所选操作的当前设置将直接传递给 inActionInfo 参数中的“属性检查器”。属性检查器可以使用此信息在其 UI 中显示当前设置。
您可以使用setSettings用于永久保存操作实例设置的 API。该插件还将自动收到一个didReceiveSettings使用新设置进行回调。
您可以使用setGlobalSettings用于全局保存插件的一些数据(第三方访问密钥、用户设置等)的 API。当插件使用setGlobalSettings,属性检查器将自动收到didReceiveGlobalSettings使用新的全局设置进行回调。同样,当属性检查器使用此 API 时,插件将自动收到一个didReceiveGlobalSettings回调。
如果您需要将内部数据从插件传递给属性检查器,您可以使用sendToPropertyInspector应用程序接口。
同样,如果您需要将内部数据从 Property Inspector 传递到插件,您可以使用sendToPlugin应用程序接口。