清单
每个插件都有一个清单,用于向 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。 | 
| Author | 必填 | 插件的作者 | 
| CodePath | 必填 | 包含插件代码的 HTML/二进制文件的相对路径 | 
| Description | 必填 | 插件功能的一般说明 | 
| Icon | 必填 | 图像的相对路径, 图像尺寸应为 128px x 128px。 | 
| Name | 必填 | 插件的名称。 | 
| Version | 必填 | 插件的版本 | 
| SDKVersion | 必填 | 当前 SDK 版本为 1 | 
| OS | 必填 | 插件支持的操作系统和版本列表 | 
| Software | 选填 | 插件支持的操作系统和版本列表 | 
| Category | 选填 | 应在其中列出action的自定义类别的名称。此字符串在action列表中对用户可见。如果您未提供类别,则action将显示在“自定义”类别中。 | 
| CategoryIcon | 选填 | 图像的相对路径,此图像用于action列表,图像应为 48px x 48px 图像。 | 
| CodePathMac | 选填 | 适用于 macOS 的 CodePath | 
| CodePathWin | 选填 | 适用于 Windows 的 CodePath | 
| PropertyInspectorPath | 选填 | 属性检查器 HTML 文件的相对路径,如果您的插件想要在属性检查器中显示一些自定义设置。如果缺少,插件将有一个空的属性检查器。 | 
| URL | 选填 | 提供有关插件的更多信息的网站 | 
| ApplicationsToMonitor | 选填 | 要监视的应用程序标识符列表(已启动或终止的应用程序)。请参阅 applicationDidLaunch和applicationDidTerminate事件 | 
| Nodejs | 选填 | 表示插件需要依赖nodejs,如需使用请查看最下方的说明 | 
Actions
| 成员 | 类型 | 描述 | 
|---|---|---|
| UUID | 必填 | action的唯一标识符,它应该为仅包含小写字母数字字符 (a-z, 0-9)、连字符 (-) 和句点 (.) 的统一类型标识符,推荐采用反向 DNS 格式,例如: com.mirabox.streamdock.demo.action1指定为action的唯一标识符。 | 
| Icon | 必填 | 图像的相对路径,此图像将显示在action列表中。图像尺寸应为 40px x 40px,对于在action列表中不可见的action,不需要此图标 | 
| Name | 必填 | action 的名称。此字符串在action列表中对用户可见 | 
| state | 选填 | 设置action的状态对应States数组的索引默认为0 | 
| States | 必填 | 指定状态数组。每个action可以有一个或多个状态 | 
| 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 | 必填 | 状态的图像 | 
| 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
Windows:需要软件的版本在3.10.188.226或以上,从3.10.188.226版本开始,软件内置node模块,并且内置的node版本为20.8.1,manifest中 Version设置为20即可,其他版本暂未内置
Mac:需要软件的版本在3.10.191.0421或以上

