清单
每个插件都有一个清单,用于向 Stream Dock 应用程序和 Stream Dock 商店提供信息。
示例 JSON
下面是一个manifest.json
文件示例。
{
"Actions": [
{
"UUID": "com.mirabox.streamdock.demo.action1",
"Icon": "images/icon.png",
"state": 0,
"States": [
{
"FontSize": "11",
"FontStyle": "Bold",
"TitleAlignment": "bottom",
"Image": "images/index.jpg"
}
],
"Settings": {
},
"UserTitleEnabled": false,
"SupportedInMultiActions": false,
"Controllers": [
"Keypad",
"Information",
"SecondaryScreen",
"Knob",
"btn"
],
"Name": "Name",
"Tooltip": "Tooltip",
"PropertyInspectorPath": "index.html"
}
],
"Version": "2.0.0",
"Name": "Demo",
"Icon": "images/icon.png",
"CategoryIcon": "images/icon.png",
"Category": "",
"Description": "插件描述",
"CodePath": "index.html",
"SDKVersion": 1,
"Author": "MiraBox",
"URL": "http://video.hotspotek.com.cn/",
"OS": [
{
"Platform": "mac",
"MinimumVersion": "10.11"
},
{
"Platform": "windows",
"MinimumVersion": "7"
}
],
"Software": {
"MinimumVersion": "2.10.179.426"
},
"Nodejs":{
"Version": "20"
}
}
成员
成员 | 类型 | 描述 |
---|---|---|
Actions | 必填 | 指定action数组。一个插件确实可以有一个或多个action。例如,该插件有六个action:场景、录制、屏幕截图、闪回录制、流、现场评论 |
Author | 必填 | 插件的作者 |
CodePath | 必填 | 包含插件代码的 HTML/二进制文件的相对路径 |
Description | 必填 | 插件功能的一般说明 |
Icon | 必填 | 不带扩展名的图像的相对路径。此图像显示在 Stream Dock 市场中。PNG 图像应为 288 x 288 像素。您应该提供@1x和@2x(分别为 288 x 288 像素和 576 x 576 像素)。Stream Dock 应用程序负责加载相应版本的图像 |
Name | 必填 | 插件的名称。此字符串在 Stream Dock 存储中向用户显示 |
Version | 必填 | 插件的版本 |
SDKVersion | 必填 | 当前 SDK 版本为 1 |
OS | 必填 | 插件支持的操作系统和版本列表 |
Software | 选填 | 插件支持的操作系统和版本列表 |
Category | 选填 | 应在其中列出action的自定义类别的名称。此字符串在action列表中对用户可见。如果您未提供类别,则action将显示在“自定义”类别中。 |
CategoryIcon | 选填 | 不带扩展名的 PNG 图像的相对路径。此图像用于action列表。PNG 图像应为 28pt x 28pt 图像。您应提供映像的@1x和@2x版本。Stream Dock 应用程序负责加载图像的适当版本 |
CodePathMac | 选填 | 适用于 macOS 的 CodePath |
CodePathWin | 选填 | 适用于 Windows 的 CodePath |
PropertyInspectorPath | 选填 | 属性检查器 HTML 文件的相对路径,如果您的插件想要在属性检查器中显示一些自定义设置。如果缺少,插件将有一个空的属性检查器。 |
URL | 选填 | 提供有关插件的更多信息的网站 |
ApplicationsToMonitor | 选填 | 要监视的应用程序标识符列表(已启动或终止的应用程序)。请参阅 applicationDidLaunch 和 applicationDidTerminate 事件 |
Nodejs | 选填 | 表示插件需要依赖nodejs,如需使用请查看最下方的说明 |
Actions
成员 | 类型 | 描述 |
---|---|---|
UUID | 必填 | action的唯一标识符。它必须是仅包含小写字母数字字符 (a-z, 0-9)、连字符 (-) 和句点 (.) 的统一类型标识符 (UTI)。字符串必须采用反向 DNS 格式。例如,您的域是mirabox.com,您创建了一个以 demo 命名的插件并且你的action命名为action1,则可以将该字符串com.mirabox.streamdock.demo.action1指定为action的唯一标识符。 |
Icon | 必填 | 不带扩展名的 PNG 图像的相对路径。此图像将显示在action列表中。PNG 图像应为 20pt x 20pt 图像。您应提供映像的@1x和@2x版本。Stream Dock 应用程序负责加载图像的适当版本。对于在action列表中不可见的action(设置为 false),不需要此图标 |
Name | 必填 | action 的名称。此字符串在action列表中对用户可见 |
state | 选填 | 设置action的状态对应States数组的索引默认为0 |
States | 必填 | 指定状态数组。每个action可以有一个或多个状态 |
PropertyInspectorPath | 选填 | 如果您希望基于action具有不同的 PropertyInspectorPath,这可以覆盖插件中的 PropertyInspectorPath 成员。属性检查器 HTML 文件的相对路径(如果您的插件想要在属性检查器中显示一些自定义设置) |
SupportedInMultiActions | 选填 | 用于标识该action是否可以在操作流插件中使用,默认为 true |
Tooltip | 选填 | 当用户将鼠标悬停在 action 列表中的action上时,该字符串将显示为工具提示 |
Settings | 选填 | 插件中调用setSetings方法持久化设置的就是这个值,可以在这边初始化 |
UserTitleEnabled | 选填 | Boolean 在属性检查器中禁用用户的标题字段。默认情况下为 True |
Controllers | 选填 | 指定控制器数组。有效值包括"Keypad","Information","SecondaryScreen","Knob",Keypad正常的按键,Information只能看,没有触摸、按键事件那些,SecondaryScreen副屏显示,Knob旋钮。 默认情况下。["Keypad"] |
VisibleInActionsList | 选填 | 在操作列表中隐藏操作。这可用于仅适用于特定配置文件的插件。默认情况下为 True。 |
OS | 选填 | 操作支持的操作系统平台数组,例如:["mac", "windows"] |
States
成员 | 类型 | 描述 |
---|---|---|
Image | 必填 | 状态的默认图像。当用户将自定义图像设置为主要状态时,Stream Dock 会自动将辅助状态设置为同一图标的较暗版本 |
MultiActionImage | 选填 | 如果您希望在Multi-Action中显示action时为状态提供不同的图像,则可以使用此方法 |
Name | 选填 | 显示在“多重操作”的下拉菜单中。例如,“游戏捕获记录”操作具有 Start 和 Stop 。如果未提供名称,则状态将不会显示在多重操作中。 |
Title | 选填 | 默认标题 |
ShowTitle | 选填 | 隐藏/显示标题。默认情况下为 true |
TitleColor | 选填 | 默认标题颜色 |
TitleAlignment | 选填 | 默认标题垂直对齐。可能的值为"top"、"bottom"和"center" |
FontFamily | 选填 | 标题默认字体 |
FontStyle | 选填 | 标题的默认字体样式。可能的值为“Regular”、“Bold”、“Italic”和“Bold Italic”。请注意,某些字体可能不支持所有值 |
FontSize | 选填 | 标题默认字体大小 |
FontUnderline | 选填 | 标题下划线,默认为false |
OS
成员 | 类型 | 描述 |
---|---|---|
Platform | 必填 | 平台的名称 mac 或 windows |
MinimumVersion | 必填 | 插件所需的操作系统的最低版本。对于 Windows 7,您可以使用7,对于 macOS 10.11,您可以使用 10.11 |
支持 macOS 10.11 及更高版本以及 Windows 7 及更高版本的插件示例:
"OS": [
{
"Platform": "mac",
"MinimumVersion" : "10.11"
},
{
"Platform": "windows",
"MinimumVersion" : "7"
}
]
Software
成员 | 类型 | 描述 |
---|---|---|
MinimumVersion | 必填 | 插件所需的 Stream Dock 应用程序的最低版本。此值应设置为支持 Stream Dock 2.10.179.426 或更高版本。 |
需要 Stream Dock 2.10.179.426 或更高版本的插件示例:
"Software": {
"MinimumVersion" : "2.10.179.426"
}
ApplicationsToMonitor
插件可以请求在某些应用程序启动或终止时收到通知。该对象应包含每个平台的数组,该数组指定要监视的应用程序标识符列表(macOS 上的捆绑标识符和 Windows 上的 exe)ApplicationsToMonitor
"ApplicationsToMonitor": {
"mac": [
"com.apple.mail",
"com.apple.safari"
],
"windows": [
"someApp.exe",
"anotherApp.exe"
]
}
Nodejs
对于依赖node的插件我们在软件里面内置了nodejs,配置了这个参数的插件会通过软件内置的node启动而无需将node的依赖打包进插件中
TIP
目前出于安装包体积的考虑我们尚未将node.js打包进我们的安装包中,想要使用的可以自行下载node.js并把node.js添加至软件的安装目录下,后续我们考虑将node.js打包进安装包中。
添加至软件安装目录首先在软件安装目录下创建一个node
文件夹,然后把node.js
的bin
目录下的node.exe
复制到node
文件夹下。