{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "title": "Viz MSE Options",
    "type": "object",
    "properties": {
        "host": {
            "type": "string",
            "ui:title": "Host",
            "description": "Host name or IP adress to the MSE machine"
        },
        "restPort": {
            "type": "integer",
            "ui:title": "(Optional) REST port",
            "description": "Port number to the REST interface (optional)"
        },
        "wsPort": {
            "type": "integer",
            "ui:title": "(Optional) Websocket port",
            "description": "Port number to the web-sockets interface (optional)"
        },
        "engineRestPort": {
            "type": "integer",
            "ui:title": "(Optional) Viz Engines REST port",
            "description": "Port number to the REST interfaces of Viz Engines (optional)"
        },
        "profile": {
            "type": "string",
            "ui:title": "Profile",
            "description": "Identifier of the \"profile\" to send commands to"
        },
        "playlistID": {
            "type": "string",
            "ui:title": "(Optional) Playlist ID",
            "description": "Identifier of the \"playlist\" to send commands to",
            "default": "SOFIE"
        },
        "showDirectoryPath": {
            "type": "string",
            "ui:title": "(Optional) Show Directory Path",
            "ui:description": "Path where the show references are stored, relative to /directory/shows/",
            "description": "Path relative to \"/directory/shows\", where Shows managed by Sofie are listed e.g. \"SOFIE\"",
            "default": ""
        },
        "preloadAllElements": {
            "type": "boolean",
            "ui:title": "Preload all elements",
            "description": "Whether all elements should be preloaded or not"
        },
        "purgeUnknownElements": {
            "type": "boolean",
            "ui:title": "Purge unknown/unused element from Viz Rundown upon activate",
            "description": "Whether unknown elements should be purged from the rundown upon activation"
        },
        "autoLoadInternalElements": {
            "type": "boolean",
            "ui:title": "Automatically load internal elements when added",
            "description": "Whether internal elements should automatically be loaded when added to expectedPlayoutItems"
        },
        "clearAllTemplateName": {
            "type": "string",
            "ui:title": "Clear-All template name",
            "description": "It is a common practice to have an element which only purpose is to \"clear all graphics\" on the vizEngine.\nTo use this in TSR, set a reference to that here"
        },
        "clearAllOnMakeReady": {
            "type": "boolean",
            "ui:title": "Clear-All on make-ready (activate rundown)",
            "description": "Whether to trigger a clear all templates upon makeReady"
        },
        "dontDeactivateOnStandDown": {
            "type": "boolean",
            "ui:title": "Don't deactivate on stand-down (deactivate rundown)",
            "description": "If true, the rundown won't be deactivated on standdown"
        },
        "onlyPreloadActivePlaylist": {
            "type": "boolean",
            "ui:title": "Only preload elements in active Playlist",
            "description": "If true, only elements in the currently active rundown will be loaded"
        },
        "clearAllCommands": {
            "type": "array",
            "ui:title": "Clear All Channels Commands",
            "description": "List of commands to be sent to Viz Engines in order to fully clear them",
            "items": {
                "type": "string"
            }
        }
    },
    "required": [
        "host",
        "profile"
    ],
    "additionalProperties": false
}
