Space Plugin SDKSpace Plugin SDK
Home
Overview
  • 中文简体
  • English
Home
Overview
  • 中文简体
  • English
  • SDK

    • Overview
    • Getting Started
    • Terminology
    • Architecture
    • Manifest
    • Internationalization
    • Received Events
    • Events Sent
    • Registration Procedure
    • Property Inspector
    • Style Guide
    • Changelog
  • Example

    • Counter
    • Timer
    • Number Display
    • Time
  • Support

    • Help and Error Reporting

Manifest

Each plugin has a manifest that provides information to the Stream Dock application and the Stream Dock store.

Example JSON

Here is an example of a manifest.json file.

{
  "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": "This is a sample plugin",
  "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"
  }
}

Members

MemberTypeDescription
ActionsRequiredSpecify an action array. A plugin can have one or more actions.
AuthorRequiredThe author of the plugin
CodePathRequiredThe relative path to the HTML/binary files containing the plugin code
DescriptionRequiredA general description of the plugin's functionality
IconRequiredRelative path to the image, image dimensions should be 128px x 128px.
NameRequiredThe name of the plugin.
VersionRequiredThe version of the plugin
SDKVersionRequiredThe current SDK version, which is 1
OSRequiredThe list of supported operating systems and versions for the plugin
SoftwareOptionalThe list of supported operating systems and versions for the plugin
CategoryOptionalThe name of the custom category to list actions under. This string is visible to users in the action list. If you do not provide a category, the action will be listed under "Custom"
CategoryIconOptionalThe relative path to the image. This image is used in the action list. The image should be a 48px x 48px image.
CodePathMacOptionalThe CodePath for macOS
CodePathWinOptionalThe CodePath for Windows
PropertyInspectorPathOptionalThe relative path to the Property Inspector HTML file, if your plugin wants to display custom settings in the Property Inspector. If omitted, the plugin will have an empty Property Inspector
URLOptionalA website providing more information about the plugin
ApplicationsToMonitorOptionalA list of application identifiers to monitor (applications that are started or terminated). See the applicationDidLaunch and applicationDidTerminate events
NodejsOptionalIndicates that the plugin requires Node.js. If needed, please refer to the instructions at the bottom.

Actions

MemberTypeDescription
UUIDRequiredThe unique identifier of the action. It should be a uniform type identifier containing only lowercase alphanumeric characters (a-z, 0-9), hyphens (-), and periods (.). It is recommended to use the reverse DNS format, for example: com.mirabox.streamdock.demo.action1 is specified as the unique identifier of the action.
IconRequiredRelative path to an image that will be displayed in the action list. Image size should be 40px x 40px. For actions that are not visible in the action list, this icon is not needed.
NameRequiredThe name of the action. This string is visible to users in the action list
stateOptionalSets the state of the action corresponding to the index in the States array, default is 0
StatesRequiredSpecifies the array of states. Each action can have one or more states
PropertyInspectorPathOptionalRelative path to the Property Inspector HTML file (if your plug-in wants to show some custom settings in the Property Inspector)
SupportedInMultiActionsOptionalUsed to identify whether the action can be used in the Operation Flow plugin. The default value is true
TooltipOptionalThe string that will be displayed as a tooltip when the user hovers over the action in the action list
SettingsOptionalThis is the value where the setSettings method is used to persist settings in the plugin and can be initialized here
UserTitleEnabledOptionalBoolean to disable the user title field in the Property Inspector. Default is True
ControllersOptionalSpecifies the array of controllers. Valid values include "Keypad", "Information", "SecondaryScreen", "Knob". Keypad for normal buttons, Information for view-only without touch or button events, SecondaryScreen for secondary screen display, Knob for rotary controls. Default is ["Keypad"]
VisibleInActionsListOptionalShows the action in the action list, by default True.
OSOptionalAn array of supported operating system platforms, e.g., ["mac", "windows"]

States

MemberTypeDescription
ImageRequiredThe default image for the state. When a custom image is set for the main state, Stream Dock automatically sets the secondary state to a darker version of the same icon
TitleOptionalDefault title
ShowTitleOptionalHides/shows the title. Default is true
TitleColorOptionalDefault title color
TitleAlignmentOptionalDefault vertical alignment of the title. Possible values are "top", "bottom", and "center"
FontFamilyOptionalDefault font for the title
FontStyleOptionalDefault font style for the title. Possible values are "Regular", "Bold", "Italic", and "Bold Italic". Note that some fonts may not support all values
FontSizeOptionalDefault font size for the title
FontUnderlineOptionalUnderline for the title, default is false

OS

MemberTypeDescription
PlatformRequiredThe name of the platform: mac or windows
MinimumVersionRequiredThe minimum version of the operating system required for the plugin. For Windows 7, you can use 7; for macOS 10.11, you can use 10.11

Example of a plugin supporting macOS 10.11 and higher and Windows 7 and higher:

"OS": [
  {
    "Platform": "mac",
    "MinimumVersion" : "10.11"
  },
  {
    "Platform": "windows",
    "MinimumVersion" : "7"
  }
]

Software

MemberTypeDescription
MinimumVersionRequiredThe minimum version of the Stream Dock application required for the plugin. This value should be set to support Stream Dock 2.10.179.426 or higher.

Example of a plugin requiring Stream Dock 2.10.179.426 or higher:

"Software": {
  "MinimumVersion" : "2.10.179.426"
}

ApplicationsToMonitor

Plugins can request notifications when certain applications start or terminate. This object should include an array for each platform, specifying the list of application identifiers to monitor (bundle identifiers on macOS and executables on Windows).ApplicationsToMonitor

"ApplicationsToMonitor": {
  "mac": [
    "com.apple.mail",
    "com.apple.safari"
  ],
  "windows": [
    "someApp.exe",
    "anotherApp.exe"
  ]
}

Nodejs

For plugins that depend on Node.js, we have integrated Node.js within the software. Plugins configured with this parameter will be launched using the built-in Node.js, eliminating the need to package Node.js dependencies within the plugin.

TIP

Windows: The software version needs to be 3.10.188.226 or above. Starting from 3.10.188.226, the software has a built-in node module, and the built-in node version is 20.8.1. Set Version in manifest to 20. Other versions are not built-in yet.

Mac: The software version required is 3.10.191.0421 or above

node
Last Updated:
Contributors: Heart
Prev
Architecture
Next
Internationalization