Skip to content

Custom JSON Fixtures

Mark Slee edited this page Nov 24, 2020 · 18 revisions

Overview

Custom lighting fixtures that cannot be simply represented as a strip, arc, or grid can be defined in custom fixture files. These JSON-formatted files should be placed in the Fixtures folder with the .lxf file suffix.

Here is example syntax indicating all possible fields. Fields are described in greater detail below.

{
  "label": "Custom",

  "modelKeys": [ "custom", "another" ],

  "parameters": {
    "intParam": { "type": "int", "default": 0, "min": 0, "max": 100, "label": "Int Param", "description": "Example integer parameter" },
    "floatParam": { "type": "float", "default": 0.5, "label": "Float Param", "description": "Example float parameter" },
    "stringParam": { "type": "string", "default": "text", "label": "String Param", "description": "Example string parameter" },
    "boolParam": { "type": "boolean", "default": false, "label": "Bool Param", "description": "Example boolean parameter" }
  },

  "points": [
    { "x": 0, "y":0, "z": 0 }
  ],

  "strips": [
    { "x": 0, "y": 0, "z": 0, "numPoints": 40, "spacing": 10, "yaw": 45, "pitch": 45, "roll": 45},
    { "x": 0, "y": 0, "z": 0, "numPoints": 50, "spacing": 20, "direction": { "x": 1, "y": -1, "z": 0.5 } }
  ],

  "arcs": [
    { "x": 0, "y": 0, "z": 0, "mode": "center", "radius": 100, "degrees": 90, "yaw": 0, "pitch": 0, "roll": 0 },
    { "x": 0, "y": 0, "z": 0, "mode": "origin", "radius": 100, "degrees": 90, "direction": { "x": 3, "y": 1, "z": -1 } },
    { "x": 0, "y": 0, "z": 0, "mode": "origin", "radius": 100, "degrees": 90, "normal": { "x": 3, "y": 1, "z": -1 } }
  ],

  "children": [
  ],

  "outputs": [
    {}
  ]
}

Fields

Model Keys