Skip to main content
Skip table of contents

ICE Control Panel browsers

Tabs and applications shown by ICE Control Panel instances connected to a service are configured by that service. This page describes available pre-set browsers, defaults, and custom browser configuration.
The related keys in config.json are outlined here, as well as being discussed in more detail below.

Any configured browser can be used as an app or a tab.


config.json

See Configuration | controlPanel for details on the section of config.json that this page is describing.

JSON
{
  "controlPanel": {
    "tabs": ["default"],
    "apps": ["matterport", "streetview", "warping", "default"],
    "_defaultOverrides": {}
  }
}

The tabs entry is a list of browser identifiers that will be displayed as tabs in ICE Control Panel.

The apps entry is a list of browser identifiers that will be displayed in the Apps tab of ICE Control Panel (if that tab is configured for display).

Pre-configured browsers

Pre-configured browser identifiers are as follows:


Defaults

The "default" identifier for apps and tabs displays the recommended selection. This can change between versions, so new apps and tabs are automatically shown when using this setting.
Current defaults:

  • Tabs: ["cast", "layers", "gameEngine", "apps"]

  • Apps: ["contentBank", "icedrop"]


Custom browser configuration

A custom browser can be described in the custom_browsers.json file, and then added to config.json to display it as an app or tab.

Here’s an example browser declaration for viewing the NDI Studio Monitor control page in Control Panel:

CODE
  "studioMonitor": {
    "name": "NDI Studio Monitor",
    "url": "$remoteIP:80",
    "https": false,
    "icon": "$ai/ndi.png",
    "description": "Access NDI settings remotely"
  }

studioMonitor is a unique key for the browser, as for the pre-configured browsers above. This unique key is the string that should be added to the apps array in config.json.

name is a string, and should be self-explanatory.

url is a string of the URL that the browser will load. $remoteIP will be replaced with the IP address of the server that Control Panel is connected to. Do not include http(s):// in this URL, because:

https is a boolean - if this is true, the browser will use https to connect to the provided URL. This defaults to false, so doesn’t need to be specified for browsers that don’t need to use https.

icon is a string which dictates what icon will be displayed for a browser.
$ai is replaced with a path to the app-icons directory in the service’s installation folder - Icons can be placed in this folder and then referenced by filename as above.
Alternatively, any item of this list is also an acceptable string. A default icon will be displayed if no icon is provided.

description is a short string that describes the browser’s functionality, which is displayed alongside the name and icon on the apps tab.

custom_browsers.json will look like this after adding this browser declaration:

Additional browsers should be separated with commas:

After saving custom_browsers.json, you can add keys to config.json for the new browsers.

This will set the tabs to the current defaults followed by the browser defined as touchMix, and the apps to the current defaults followed by the studioMonitor browser.


Overriding pre-configured browsers

the _defaultOverrides key in config.json (described here) allows alteration of pre-set browser properties using the same structure as a custom browser declaration.

e.g. to change the Mouse tab’s name to “Cast” and the Controller tab’s description to “Something else”:


Icons

todo

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.