{
  "$schema": "https://raw.githubusercontent.com/OpenLightingProject/open-fixture-library/schema-12.5.0/schemas/fixture.json",
  "name": "MAC Viper Performance",
  "shortName": "MartinViperPerf",
  "categories": ["Moving Head", "Color Changer"],
  "meta": {
    "authors": ["novasfronteiras.co"],
    "createDate": "2017-09-08",
    "lastModifyDate": "2018-08-09"
  },
  "links": {
    "manual": [
      "https://www.martin.com/files/files/productdocuments/11_MANUALS/999/35000275c%20UM_MACViperPerf_EN_C.pdf"
    ],
    "video": [
      "https://www.youtube.com/watch?v=KfvX_vPbLc0"
    ]
  },
  "rdm": {
    "modelId": 65,
    "softwareVersion": "1.0.0"
  },
  "physical": {
    "dimensions": [472, 748, 566],
    "weight": 37.9,
    "power": 1225,
    "DMXconnector": "5-pin",
    "bulb": {
      "type": "1000 W short-arc discharge",
      "colorTemperature": 6000,
      "lumens": 26000
    },
    "lens": {
      "degreesMinMax": [10, 44]
    }
  },
  "wheels": {
    "Color Wheel": {
      "slots": [
        {
          "type": "Open"
        },
        {
          "type": "Color",
          "name": "Blue",
          "colors": ["#3857ad"]
        },
        {
          "type": "Color",
          "name": "Green",
          "colors": ["#61c15a"]
        },
        {
          "type": "Color",
          "name": "Orange",
          "colors": ["#fb9955"]
        },
        {
          "type": "Color",
          "name": "Rose",
          "colors": ["#fbe7f1"]
        },
        {
          "type": "Color",
          "name": "Magenta",
          "colors": ["#da9ecc"]
        },
        {
          "type": "Color",
          "name": "Deep Blue",
          "colors": ["#994ba6"]
        },
        {
          "type": "Color",
          "name": "Red",
          "colors": ["#de4b48"]
        }
      ]
    },
    "Gobo Wheel": {
      "slots": [
        {
          "type": "Open"
        },
        {
          "type": "Gobo"
        },
        {
          "type": "Gobo"
        },
        {
          "type": "Gobo"
        },
        {
          "type": "Gobo"
        },
        {
          "type": "Gobo"
        }
      ]
    },
    "Animation Wheel": {
      "slots": [
        {
          "type": "AnimationGoboStart",
          "name": "Ripple Waves"
        },
        {
          "type": "AnimationGoboEnd"
        }
      ]
    }
  },
  "availableChannels": {
    "Strobe / Shutter": {
      "defaultValue": 30,
      "capabilities": [
        {
          "dmxRange": [0, 19],
          "type": "ShutterStrobe",
          "shutterEffect": "Closed",
          "comment": "800W mode after 10s"
        },
        {
          "dmxRange": [20, 49],
          "type": "ShutterStrobe",
          "shutterEffect": "Open"
        },
        {
          "dmxRange": [50, 200],
          "type": "ShutterStrobe",
          "shutterEffect": "Strobe",
          "speedStart": "slow",
          "speedEnd": "fast"
        },
        {
          "dmxRange": [201, 210],
          "type": "ShutterStrobe",
          "shutterEffect": "Open"
        },
        {
          "dmxRange": [211, 255],
          "type": "ShutterStrobe",
          "shutterEffect": "Strobe",
          "speedStart": "slow",
          "speedEnd": "fast",
          "randomTiming": true
        }
      ]
    },
    "Dimmer fade": {
      "fineChannelAliases": ["Dimmer fade fine"],
      "capability": {
        "type": "Intensity"
      }
    },
    "Cyan": {
      "capability": {
        "type": "ColorIntensity",
        "color": "Cyan"
      }
    },
    "Magenta": {
      "capability": {
        "type": "ColorIntensity",
        "color": "Magenta"
      }
    },
    "Yellow": {
      "capability": {
        "type": "ColorIntensity",
        "color": "Yellow"
      }
    },
    "CTO": {
      "capability": {
        "type": "ColorTemperature",
        "colorTemperatureStart": "6000K",
        "colorTemperatureEnd": "3200K"
      }
    },
    "Color Wheel": {
      "capabilities": [
        {
          "dmxRange": [0, 0],
          "type": "WheelSlot",
          "slotNumber": 1
        },
        {
          "dmxRange": [1, 14],
          "type": "WheelSlot",
          "slotNumberStart": 1,
          "slotNumberEnd": 2
        },
        {
          "dmxRange": [15, 15],
          "type": "WheelSlot",
          "slotNumber": 2
        },
        {
          "dmxRange": [16, 29],
          "type": "WheelSlot",
          "slotNumberStart": 2,
          "slotNumberEnd": 3
        },
        {
          "dmxRange": [30, 30],
          "type": "WheelSlot",
          "slotNumber": 3
        },
        {
          "dmxRange": [31, 44],
          "type": "WheelSlot",
          "slotNumberStart": 3,
          "slotNumberEnd": 4
        },
        {
          "dmxRange": [45, 45],
          "type": "WheelSlot",
          "slotNumber": 4
        },
        {
          "dmxRange": [46, 59],
          "type": "WheelSlot",
          "slotNumberStart": 4,
          "slotNumberEnd": 5
        },
        {
          "dmxRange": [60, 60],
          "type": "WheelSlot",
          "slotNumber": 5
        },
        {
          "dmxRange": [61, 74],
          "type": "WheelSlot",
          "slotNumberStart": 5,
          "slotNumberEnd": 6
        },
        {
          "dmxRange": [75, 75],
          "type": "WheelSlot",
          "slotNumber": 6
        },
        {
          "dmxRange": [76, 89],
          "type": "WheelSlot",
          "slotNumberStart": 6,
          "slotNumberEnd": 7
        },
        {
          "dmxRange": [90, 90],
          "type": "WheelSlot",
          "slotNumber": 7
        },
        {
          "dmxRange": [91, 104],
          "type": "WheelSlot",
          "slotNumberStart": 7,
          "slotNumberEnd": 8
        },
        {
          "dmxRange": [105, 105],
          "type": "WheelSlot",
          "slotNumber": 8
        },
        {
          "dmxRange": [106, 119],
          "type": "WheelSlot",
          "slotNumberStart": 8,
          "slotNumberEnd": 9
        },
        {
          "dmxRange": [120, 160],
          "type": "WheelSlot",
          "slotNumber": 1
        },
        {
          "dmxRange": [161, 163],
          "type": "WheelSlot",
          "slotNumber": 2
        },
        {
          "dmxRange": [164, 166],
          "type": "WheelSlot",
          "slotNumber": 3
        },
        {
          "dmxRange": [167, 169],
          "type": "WheelSlot",
          "slotNumber": 4
        },
        {
          "dmxRange": [170, 172],
          "type": "WheelSlot",
          "slotNumber": 5
        },
        {
          "dmxRange": [173, 175],
          "type": "WheelSlot",
          "slotNumber": 6
        },
        {
          "dmxRange": [176, 178],
          "type": "WheelSlot",
          "slotNumber": 7
        },
        {
          "dmxRange": [179, 181],
          "type": "WheelSlot",
          "slotNumber": 8
        },
        {
          "dmxRange": [182, 192],
          "type": "WheelSlot",
          "slotNumber": 1
        },
        {
          "dmxRange": [193, 214],
          "type": "WheelRotation",
          "speedStart": "fast CW",
          "speedEnd": "slow CW"
        },
        {
          "dmxRange": [215, 221],
          "type": "WheelRotation",
          "speed": "stop"
        },
        {
          "dmxRange": [222, 243],
          "type": "WheelRotation",
          "speedStart": "slow CCW",
          "speedEnd": "fast CCW"
        },
        {
          "dmxRange": [244, 247],
          "type": "Effect",
          "effectName": "Random color",
          "speed": "fast"
        },
        {
          "dmxRange": [248, 251],
          "type": "Effect",
          "effectName": "Random color",
          "speed": "50%"
        },
        {
          "dmxRange": [252, 255],
          "type": "Effect",
          "effectName": "Random color",
          "speed": "slow"
        }
      ]
    },
    "Gobo Wheel": {
      "defaultValue": 0,
      "capabilities": [
        {
          "dmxRange": [0, 9],
          "type": "WheelSlot",
          "slotNumber": 1,
          "switchChannels": {
            "Gobo indexing angle / rotation speed": "Gobo indexing angle",
            "Gobo indexing angle / rotation speed fine": "Gobo indexing angle fine"
          }
        },
        {
          "dmxRange": [10, 14],
          "type": "WheelSlot",
          "slotNumber": 2,
          "comment": "indexed",
          "switchChannels": {
            "Gobo indexing angle / rotation speed": "Gobo indexing angle",
            "Gobo indexing angle / rotation speed fine": "Gobo indexing angle fine"
          }
        },
        {
          "dmxRange": [15, 19],
          "type": "WheelSlot",
          "slotNumber": 3,
          "comment": "indexed",
          "switchChannels": {
            "Gobo indexing angle / rotation speed": "Gobo indexing angle",
            "Gobo indexing angle / rotation speed fine": "Gobo indexing angle fine"
          }
        },
        {
          "dmxRange": [20, 24],
          "type": "WheelSlot",
          "slotNumber": 4,
          "comment": "indexed",
          "switchChannels": {
            "Gobo indexing angle / rotation speed": "Gobo indexing angle",
            "Gobo indexing angle / rotation speed fine": "Gobo indexing angle fine"
          }
        },
        {
          "dmxRange": [25, 29],
          "type": "WheelSlot",
          "slotNumber": 5,
          "comment": "indexed",
          "switchChannels": {
            "Gobo indexing angle / rotation speed": "Gobo indexing angle",
            "Gobo indexing angle / rotation speed fine": "Gobo indexing angle fine"
          }
        },
        {
          "dmxRange": [30, 34],
          "type": "WheelSlot",
          "slotNumber": 6,
          "comment": "indexed",
          "switchChannels": {
            "Gobo indexing angle / rotation speed": "Gobo indexing angle",
            "Gobo indexing angle / rotation speed fine": "Gobo indexing angle fine"
          }
        },
        {
          "dmxRange": [35, 39],
          "type": "WheelSlot",
          "slotNumber": 2,
          "comment": "continuous rotation",
          "switchChannels": {
            "Gobo indexing angle / rotation speed": "Gobo rotation speed",
            "Gobo indexing angle / rotation speed fine": "Gobo rotation speed fine"
          }
        },
        {
          "dmxRange": [40, 44],
          "type": "WheelSlot",
          "slotNumber": 3,
          "comment": "continuous rotation",
          "switchChannels": {
            "Gobo indexing angle / rotation speed": "Gobo rotation speed",
            "Gobo indexing angle / rotation speed fine": "Gobo rotation speed fine"
          }
        },
        {
          "dmxRange": [45, 49],
          "type": "WheelSlot",
          "slotNumber": 4,
          "comment": "continuous rotation",
          "switchChannels": {
            "Gobo indexing angle / rotation speed": "Gobo rotation speed",
            "Gobo indexing angle / rotation speed fine": "Gobo rotation speed fine"
          }
        },
        {
          "dmxRange": [50, 54],
          "type": "WheelSlot",
          "slotNumber": 5,
          "comment": "continuous rotation",
          "switchChannels": {
            "Gobo indexing angle / rotation speed": "Gobo rotation speed",
            "Gobo indexing angle / rotation speed fine": "Gobo rotation speed fine"
          }
        },
        {
          "dmxRange": [55, 59],
          "type": "WheelSlot",
          "slotNumber": 6,
          "comment": "continuous rotation",
          "switchChannels": {
            "Gobo indexing angle / rotation speed": "Gobo rotation speed",
            "Gobo indexing angle / rotation speed fine": "Gobo rotation speed fine"
          }
        },
        {
          "dmxRange": [60, 89],
          "type": "WheelShake",
          "slotNumber": 2,
          "shakeSpeedStart": "slow",
          "shakeSpeedEnd": "fast",
          "switchChannels": {
            "Gobo indexing angle / rotation speed": "Gobo indexing angle",
            "Gobo indexing angle / rotation speed fine": "Gobo indexing angle fine"
          }
        },
        {
          "dmxRange": [90, 119],
          "type": "WheelShake",
          "slotNumber": 3,
          "shakeSpeedStart": "slow",
          "shakeSpeedEnd": "fast",
          "switchChannels": {
            "Gobo indexing angle / rotation speed": "Gobo indexing angle",
            "Gobo indexing angle / rotation speed fine": "Gobo indexing angle fine"
          }
        },
        {
          "dmxRange": [120, 149],
          "type": "WheelShake",
          "slotNumber": 4,
          "shakeSpeedStart": "slow",
          "shakeSpeedEnd": "fast",
          "switchChannels": {
            "Gobo indexing angle / rotation speed": "Gobo indexing angle",
            "Gobo indexing angle / rotation speed fine": "Gobo indexing angle fine"
          }
        },
        {
          "dmxRange": [150, 179],
          "type": "WheelShake",
          "slotNumber": 5,
          "shakeSpeedStart": "slow",
          "shakeSpeedEnd": "fast",
          "switchChannels": {
            "Gobo indexing angle / rotation speed": "Gobo indexing angle",
            "Gobo indexing angle / rotation speed fine": "Gobo indexing angle fine"
          }
        },
        {
          "dmxRange": [180, 209],
          "type": "WheelShake",
          "slotNumber": 6,
          "shakeSpeedStart": "slow",
          "shakeSpeedEnd": "fast",
          "switchChannels": {
            "Gobo indexing angle / rotation speed": "Gobo indexing angle",
            "Gobo indexing angle / rotation speed fine": "Gobo indexing angle fine"
          }
        },
        {
          "dmxRange": [210, 232],
          "type": "WheelRotation",
          "speedStart": "fast CW",
          "speedEnd": "slow CW",
          "switchChannels": {
            "Gobo indexing angle / rotation speed": "Gobo rotation speed",
            "Gobo indexing angle / rotation speed fine": "Gobo rotation speed fine"
          }
        },
        {
          "dmxRange": [233, 255],
          "type": "WheelRotation",
          "speedStart": "slow CCW",
          "speedEnd": "fast CCW",
          "switchChannels": {
            "Gobo indexing angle / rotation speed": "Gobo rotation speed",
            "Gobo indexing angle / rotation speed fine": "Gobo rotation speed fine"
          }
        }
      ]
    },
    "Gobo indexing angle": {
      "fineChannelAliases": ["Gobo indexing angle fine"],
      "defaultValue": 32768,
      "capability": {
        "type": "WheelSlotRotation",
        "wheel": "Gobo Wheel",
        "angleStart": "-197.5deg",
        "angleEnd": "197.5deg"
      }
    },
    "Gobo rotation speed": {
      "fineChannelAliases": ["Gobo rotation speed fine"],
      "defaultValue": 32768,
      "capabilities": [
        {
          "dmxRange": [0, 600],
          "type": "WheelSlotRotation",
          "wheel": "Gobo Wheel",
          "angle": "0deg"
        },
        {
          "dmxRange": [601, 32130],
          "type": "WheelSlotRotation",
          "wheel": "Gobo Wheel",
          "speedStart": "fast CW",
          "speedEnd": "slow CW"
        },
        {
          "dmxRange": [32131, 32895],
          "type": "WheelSlotRotation",
          "wheel": "Gobo Wheel",
          "speed": "stop"
        },
        {
          "dmxRange": [32896, 64515],
          "type": "WheelSlotRotation",
          "wheel": "Gobo Wheel",
          "speedStart": "slow CCW",
          "speedEnd": "fast CCW"
        },
        {
          "dmxRange": [64516, 65535],
          "type": "WheelSlotRotation",
          "wheel": "Gobo Wheel",
          "angle": "90deg"
        }
      ]
    },
    "Animation Wheel": {
      "defaultValue": 0,
      "capabilities": [
        {
          "dmxRange": [0, 10],
          "type": "NoFunction",
          "comment": "Open",
          "switchChannels": {
            "Animation Wheel Indexing/Rotation": "Animation Wheel Rotation"
          }
        },
        {
          "dmxRange": [11, 20],
          "type": "Generic",
          "comment": "Indexed",
          "switchChannels": {
            "Animation Wheel Indexing/Rotation": "Animation Wheel Indexing"
          }
        },
        {
          "dmxRange": [21, 30],
          "type": "NoFunction",
          "comment": "Open",
          "switchChannels": {
            "Animation Wheel Indexing/Rotation": "Animation Wheel Rotation"
          }
        },
        {
          "dmxRange": [31, 40],
          "type": "Generic",
          "comment": "Continuous rotation",
          "switchChannels": {
            "Animation Wheel Indexing/Rotation": "Animation Wheel Rotation"
          }
        },
        {
          "dmxRange": [41, 50],
          "type": "WheelRotation",
          "angle": "0deg",
          "comment": "Position 1",
          "switchChannels": {
            "Animation Wheel Indexing/Rotation": "Animation Wheel Rotation"
          }
        },
        {
          "dmxRange": [51, 60],
          "type": "WheelRotation",
          "angle": "-7deg",
          "comment": "Position 2",
          "switchChannels": {
            "Animation Wheel Indexing/Rotation": "Animation Wheel Rotation"
          }
        },
        {
          "dmxRange": [61, 70],
          "type": "WheelRotation",
          "angle": "-14deg",
          "comment": "Position 3",
          "switchChannels": {
            "Animation Wheel Indexing/Rotation": "Animation Wheel Rotation"
          }
        },
        {
          "dmxRange": [71, 80],
          "type": "WheelRotation",
          "angle": "-21deg",
          "comment": "Position 4",
          "switchChannels": {
            "Animation Wheel Indexing/Rotation": "Animation Wheel Rotation"
          }
        },
        {
          "dmxRange": [81, 90],
          "type": "WheelRotation",
          "angle": "-28deg",
          "comment": "Position 5",
          "switchChannels": {
            "Animation Wheel Indexing/Rotation": "Animation Wheel Rotation"
          }
        },
        {
          "dmxRange": [91, 100],
          "type": "WheelRotation",
          "angle": "-35deg",
          "comment": "Position 6",
          "switchChannels": {
            "Animation Wheel Indexing/Rotation": "Animation Wheel Rotation"
          }
        },
        {
          "dmxRange": [101, 110],
          "type": "WheelRotation",
          "angle": "-42deg",
          "comment": "Position 7",
          "switchChannels": {
            "Animation Wheel Indexing/Rotation": "Animation Wheel Rotation"
          }
        },
        {
          "dmxRange": [111, 255],
          "type": "NoFunction",
          "comment": "Open",
          "switchChannels": {
            "Animation Wheel Indexing/Rotation": "Animation Wheel Rotation"
          }
        }
      ]
    },
    "Animation Wheel Indexing": {
      "defaultValue": 127,
      "capability": {
        "type": "WheelRotation",
        "wheel": "Animation Wheel",
        "angleStart": "0deg",
        "angleEnd": "360deg"
      }
    },
    "Animation Wheel Rotation": {
      "defaultValue": 127,
      "capabilities": [
        {
          "dmxRange": [0, 2],
          "type": "WheelRotation",
          "wheel": "Animation Wheel",
          "angle": "0deg"
        },
        {
          "dmxRange": [3, 126],
          "type": "WheelRotation",
          "wheel": "Animation Wheel",
          "speedStart": "fast CW",
          "speedEnd": "slow CW"
        },
        {
          "dmxRange": [127, 129],
          "type": "WheelRotation",
          "wheel": "Animation Wheel",
          "speed": "stop"
        },
        {
          "dmxRange": [130, 253],
          "type": "WheelRotation",
          "wheel": "Animation Wheel",
          "speedStart": "slow CCW",
          "speedEnd": "fast CCW"
        },
        {
          "dmxRange": [254, 255],
          "type": "WheelRotation",
          "wheel": "Animation Wheel",
          "angle": "90deg"
        }
      ]
    },
    "Framing blade 1, position": {
      "capability": {
        "type": "BladeInsertion",
        "insertionStart": "out",
        "insertionEnd": "in",
        "blade": 1
      }
    },
    "Framing blade 1, angle": {
      "defaultValue": 127,
      "capabilities": [
        {
          "dmxRange": [0, 126],
          "type": "BladeRotation",
          "angleStart": "-30deg",
          "angleEnd": "0deg",
          "blade": 1
        },
        {
          "dmxRange": [127, 128],
          "type": "BladeRotation",
          "angle": "0deg",
          "blade": 1
        },
        {
          "dmxRange": [129, 255],
          "type": "BladeRotation",
          "angleStart": "0deg",
          "angleEnd": "30deg",
          "blade": 1
        }
      ]
    },
    "Framing blade 2, position": {
      "capability": {
        "type": "BladeInsertion",
        "insertionStart": "out",
        "insertionEnd": "in",
        "blade": 2
      }
    },
    "Framing blade 2, angle": {
      "defaultValue": 127,
      "capabilities": [
        {
          "dmxRange": [0, 126],
          "type": "BladeRotation",
          "angleStart": "-30deg",
          "angleEnd": "0deg",
          "blade": 2
        },
        {
          "dmxRange": [127, 128],
          "type": "BladeRotation",
          "angle": "0deg",
          "blade": 2
        },
        {
          "dmxRange": [129, 255],
          "type": "BladeRotation",
          "angleStart": "0deg",
          "angleEnd": "30deg",
          "blade": 2
        }
      ]
    },
    "Framing blade 3, position": {
      "capability": {
        "type": "BladeInsertion",
        "insertionStart": "out",
        "insertionEnd": "in",
        "blade": 3
      }
    },
    "Framing blade 3, angle": {
      "defaultValue": 127,
      "capabilities": [
        {
          "dmxRange": [0, 126],
          "type": "BladeRotation",
          "angleStart": "-30deg",
          "angleEnd": "0deg",
          "blade": 3
        },
        {
          "dmxRange": [127, 128],
          "type": "BladeRotation",
          "angle": "0deg",
          "blade": 3
        },
        {
          "dmxRange": [129, 255],
          "type": "BladeRotation",
          "angleStart": "0deg",
          "angleEnd": "30deg",
          "blade": 3
        }
      ]
    },
    "Framing blade 4, position": {
      "capability": {
        "type": "BladeInsertion",
        "insertionStart": "out",
        "insertionEnd": "in",
        "blade": 4
      }
    },
    "Framing blade 4, angle": {
      "defaultValue": 127,
      "capabilities": [
        {
          "dmxRange": [0, 126],
          "type": "BladeRotation",
          "angleStart": "-30deg",
          "angleEnd": "0deg",
          "blade": 4
        },
        {
          "dmxRange": [127, 128],
          "type": "BladeRotation",
          "angle": "0deg",
          "blade": 4
        },
        {
          "dmxRange": [129, 255],
          "type": "BladeRotation",
          "angleStart": "0deg",
          "angleEnd": "30deg",
          "blade": 4
        }
      ]
    },
    "Framing indexing angle": {
      "defaultValue": 127,
      "capabilities": [
        {
          "dmxRange": [0, 126],
          "type": "BladeSystemRotation",
          "angleStart": "-55deg",
          "angleEnd": "0deg"
        },
        {
          "dmxRange": [127, 128],
          "type": "BladeSystemRotation",
          "angle": "0deg"
        },
        {
          "dmxRange": [129, 255],
          "type": "BladeSystemRotation",
          "angleStart": "0deg",
          "angleEnd": "55deg"
        }
      ]
    },
    "Frost": {
      "capability": {
        "type": "Frost",
        "frostIntensityStart": "off",
        "frostIntensityEnd": "high"
      }
    },
    "Prism": {
      "defaultValue": 0,
      "capabilities": [
        {
          "dmxRange": [0, 10],
          "type": "NoFunction",
          "switchChannels": {
            "Prism indexing/rotation": "Prism indexing"
          }
        },
        {
          "dmxRange": [11, 138],
          "type": "Prism",
          "comment": "indexing",
          "switchChannels": {
            "Prism indexing/rotation": "Prism indexing"
          }
        },
        {
          "dmxRange": [139, 255],
          "type": "Prism",
          "comment": "rotation",
          "switchChannels": {
            "Prism indexing/rotation": "Prism rotation"
          }
        }
      ]
    },
    "Prism indexing": {
      "defaultValue": 128,
      "capabilities": [
        {
          "dmxRange": [0, 126],
          "type": "PrismRotation",
          "angleStart": "-100%",
          "angleEnd": "-1%"
        },
        {
          "dmxRange": [127, 128],
          "type": "PrismRotation",
          "angle": "0deg"
        },
        {
          "dmxRange": [129, 255],
          "type": "PrismRotation",
          "angleStart": "1%",
          "angleEnd": "100%"
        }
      ]
    },
    "Prism rotation": {
      "defaultValue": 128,
      "capabilities": [
        {
          "dmxRange": [0, 2],
          "type": "PrismRotation",
          "angle": "0deg"
        },
        {
          "dmxRange": [3, 126],
          "type": "PrismRotation",
          "speedStart": "fast CW",
          "speedEnd": "slow CW"
        },
        {
          "dmxRange": [127, 129],
          "type": "PrismRotation",
          "speed": "stop"
        },
        {
          "dmxRange": [130, 253],
          "type": "PrismRotation",
          "speedStart": "slow CCW",
          "speedEnd": "fast CCW"
        },
        {
          "dmxRange": [254, 255],
          "type": "PrismRotation",
          "angle": "45deg"
        }
      ]
    },
    "Iris": {
      "capability": {
        "type": "Iris",
        "openPercentStart": "open",
        "openPercentEnd": "closed"
      }
    },
    "Zoom": {
      "fineChannelAliases": ["Zoom fine"],
      "defaultValue": 32768,
      "capability": {
        "type": "Zoom",
        "angleStart": "44deg",
        "angleEnd": "10deg"
      }
    },
    "Focus": {
      "fineChannelAliases": ["Focus fine"],
      "defaultValue": 32768,
      "capability": {
        "type": "Focus",
        "distanceStart": "far",
        "distanceEnd": "near"
      }
    },
    "Pan": {
      "fineChannelAliases": ["Pan fine"],
      "defaultValue": 32768,
      "capability": {
        "type": "Pan",
        "angleStart": "0deg",
        "angleEnd": "540deg"
      }
    },
    "Tilt": {
      "fineChannelAliases": ["Tilt fine"],
      "defaultValue": 32768,
      "capability": {
        "type": "Tilt",
        "angleStart": "0deg",
        "angleEnd": "268deg"
      }
    },
    "Fixture control/settings": {
      "capabilities": [
        {
          "dmxRange": [0, 9],
          "type": "NoFunction"
        },
        {
          "dmxRange": [10, 14],
          "type": "Maintenance",
          "comment": "reset entire fixture",
          "hold": "5s"
        },
        {
          "dmxRange": [15, 19],
          "type": "Maintenance",
          "comment": "reset dimmer and shutter only",
          "hold": "5s"
        },
        {
          "dmxRange": [20, 24],
          "type": "Maintenance",
          "comment": "reset CMY, CTO and color wheel only",
          "hold": "5s"
        },
        {
          "dmxRange": [25, 29],
          "type": "Maintenance",
          "comment": "reset effects (gobo and animation wheels, iris, prism, frost, zoom, focus)",
          "hold": "5s"
        },
        {
          "dmxRange": [30, 34],
          "type": "Maintenance",
          "comment": "reset pan and tilt only",
          "hold": "5s"
        },
        {
          "dmxRange": [35, 39],
          "type": "Maintenance",
          "comment": "reset framing",
          "hold": "5s"
        },
        {
          "dmxRange": [40, 44],
          "type": "Maintenance",
          "comment": "lamp on"
        },
        {
          "dmxRange": [45, 49],
          "type": "Maintenance",
          "comment": "lamp off",
          "hold": "5s"
        },
        {
          "dmxRange": [50, 54],
          "type": "NoFunction"
        },
        {
          "dmxRange": [55, 59],
          "type": "Maintenance",
          "comment": "enable calibration"
        },
        {
          "dmxRange": [60, 64],
          "type": "Maintenance",
          "comment": "linear dimming curve",
          "hold": "1s"
        },
        {
          "dmxRange": [65, 69],
          "type": "Maintenance",
          "comment": "square law dimming curve",
          "hold": "1s"
        },
        {
          "dmxRange": [70, 74],
          "type": "Maintenance",
          "comment": "inverse square lae dimming curve",
          "hold": "1s"
        },
        {
          "dmxRange": [75, 79],
          "type": "Maintenance",
          "comment": "s-curve dimming curve",
          "hold": "1s"
        },
        {
          "dmxRange": [80, 84],
          "type": "Maintenance",
          "comment": "normal pan and tilt speed",
          "hold": "1s"
        },
        {
          "dmxRange": [85, 89],
          "type": "Maintenance",
          "comment": "fast pan and tilt speed",
          "hold": "1s"
        },
        {
          "dmxRange": [90, 94],
          "type": "Maintenance",
          "comment": "slow pan and tilt speed",
          "hold": "1s"
        },
        {
          "dmxRange": [95, 99],
          "type": "Maintenance",
          "comment": "effect shortcuts = on",
          "hold": "1s"
        },
        {
          "dmxRange": [100, 104],
          "type": "Maintenance",
          "comment": "effect shortcuts = off",
          "hold": "1s"
        },
        {
          "dmxRange": [105, 109],
          "type": "Maintenance",
          "comment": "disable zoom/focus linking",
          "hold": "1s"
        },
        {
          "dmxRange": [110, 114],
          "type": "Maintenance",
          "comment": "enable zoom/focus linking, near distance",
          "hold": "1s"
        },
        {
          "dmxRange": [115, 119],
          "type": "Maintenance",
          "comment": "enable zoom/focus linking, medium distance (default)",
          "hold": "1s"
        },
        {
          "dmxRange": [120, 124],
          "type": "Maintenance",
          "comment": "enable zoom/focus linking, far distance",
          "hold": "1s"
        },
        {
          "dmxRange": [125, 126],
          "type": "Maintenance",
          "comment": "ballast output full, set to 100% (default)"
        },
        {
          "dmxRange": [127, 128],
          "type": "Maintenance",
          "comment": "ballast output reduced to 90%"
        },
        {
          "dmxRange": [129, 130],
          "type": "Maintenance",
          "comment": "ballast output reduced to 80%"
        },
        {
          "dmxRange": [131, 132],
          "type": "Maintenance",
          "comment": "ballast output reduced to 70%"
        },
        {
          "dmxRange": [133, 134],
          "type": "Maintenance",
          "comment": "ballast output reduced to 60%"
        },
        {
          "dmxRange": [135, 144],
          "type": "NoFunction"
        },
        {
          "dmxRange": [145, 149],
          "type": "Maintenance",
          "comment": "auto blackout = on",
          "hold": "1s"
        },
        {
          "dmxRange": [150, 154],
          "type": "Maintenance",
          "comment": "auto blackout = off (default)",
          "hold": "1s"
        },
        {
          "dmxRange": [155, 159],
          "type": "Maintenance",
          "comment": "turn on display",
          "hold": "1s"
        },
        {
          "dmxRange": [160, 164],
          "type": "Maintenance",
          "comment": "turn off display",
          "hold": "1s"
        },
        {
          "dmxRange": [165, 169],
          "type": "Maintenance",
          "comment": "store pan and tilt calibration",
          "hold": "5s"
        },
        {
          "dmxRange": [170, 174],
          "type": "Maintenance",
          "comment": "store dimmer calibration",
          "hold": "5s"
        },
        {
          "dmxRange": [175, 179],
          "type": "Maintenance",
          "comment": "store cyan calibration",
          "hold": "5s"
        },
        {
          "dmxRange": [180, 184],
          "type": "Maintenance",
          "comment": "store magenta calibration",
          "hold": "5s"
        },
        {
          "dmxRange": [185, 189],
          "type": "Maintenance",
          "comment": "store yellow calibration",
          "hold": "5s"
        },
        {
          "dmxRange": [190, 194],
          "type": "Maintenance",
          "comment": "store CTC calibration",
          "hold": "5s"
        },
        {
          "dmxRange": [195, 199],
          "type": "Maintenance",
          "comment": "store all CMY and CTC calibration",
          "hold": "5s"
        },
        {
          "dmxRange": [200, 204],
          "type": "Maintenance",
          "comment": "store gobo wheel current slot index calibration",
          "hold": "5s"
        },
        {
          "dmxRange": [205, 214],
          "type": "NoFunction"
        },
        {
          "dmxRange": [215, 219],
          "type": "Maintenance",
          "comment": "store prism calibration",
          "hold": "5s"
        },
        {
          "dmxRange": [220, 224],
          "type": "Maintenance",
          "comment": "store iris calibration",
          "hold": "5s"
        },
        {
          "dmxRange": [225, 229],
          "type": "Maintenance",
          "comment": "store focus calibration",
          "hold": "5s"
        },
        {
          "dmxRange": [230, 234],
          "type": "Maintenance",
          "comment": "store zoom calibration",
          "hold": "5s"
        },
        {
          "dmxRange": [235, 239],
          "type": "Maintenance",
          "comment": "store pan calibration",
          "hold": "5s"
        },
        {
          "dmxRange": [240, 244],
          "type": "Maintenance",
          "comment": "store tilt calibration",
          "hold": "5s"
        },
        {
          "dmxRange": [245, 249],
          "type": "Maintenance",
          "comment": "reset all calibration values to factory defaults",
          "hold": "5s"
        },
        {
          "dmxRange": [250, 255],
          "type": "NoFunction"
        }
      ]
    },
    "Reserved1": {
      "name": "Reserved for future use",
      "capability": {
        "type": "NoFunction"
      }
    },
    "Reserved2": {
      "name": "Reserved for future use",
      "capability": {
        "type": "NoFunction"
      }
    },
    "Reserved3": {
      "name": "Reserved for future use",
      "capability": {
        "type": "NoFunction"
      }
    },
    "Reserved4": {
      "name": "Reserved for future use",
      "capability": {
        "type": "NoFunction"
      }
    },
    "Reserved5": {
      "name": "Reserved for future use",
      "capability": {
        "type": "NoFunction"
      }
    }
  },
  "modes": [
    {
      "name": "Basic 16-bit",
      "shortName": "bas",
      "rdmPersonalityIndex": 1,
      "channels": [
        "Strobe / Shutter",
        "Dimmer fade",
        "Cyan",
        "Magenta",
        "Yellow",
        "CTO",
        "Color Wheel",
        "Gobo Wheel",
        "Gobo indexing angle / rotation speed",
        "Gobo indexing angle / rotation speed fine",
        "Animation Wheel",
        "Animation Wheel Indexing/Rotation",
        "Framing blade 1, position",
        "Framing blade 1, angle",
        "Framing blade 2, position",
        "Framing blade 2, angle",
        "Framing blade 3, position",
        "Framing blade 3, angle",
        "Framing blade 4, position",
        "Framing blade 4, angle",
        "Framing indexing angle",
        "Frost",
        "Prism",
        "Prism indexing/rotation",
        "Iris",
        "Zoom",
        "Focus",
        "Pan",
        "Pan fine",
        "Tilt",
        "Tilt fine",
        "Fixture control/settings"
      ]
    },
    {
      "name": "Extended 16-bit",
      "shortName": "ext",
      "rdmPersonalityIndex": 2,
      "channels": [
        "Strobe / Shutter",
        "Dimmer fade",
        "Dimmer fade fine",
        "Cyan",
        "Magenta",
        "Yellow",
        "CTO",
        "Color Wheel",
        "Gobo Wheel",
        "Gobo indexing angle / rotation speed",
        "Gobo indexing angle / rotation speed fine",
        "Animation Wheel",
        "Animation Wheel Indexing/Rotation",
        "Framing blade 1, position",
        "Framing blade 1, angle",
        "Framing blade 2, position",
        "Framing blade 2, angle",
        "Framing blade 3, position",
        "Framing blade 3, angle",
        "Framing blade 4, position",
        "Framing blade 4, angle",
        "Framing indexing angle",
        "Frost",
        "Prism",
        "Prism indexing/rotation",
        "Iris",
        "Zoom",
        "Zoom fine",
        "Focus",
        "Focus fine",
        "Pan",
        "Pan fine",
        "Tilt",
        "Tilt fine",
        "Fixture control/settings",
        "Reserved1",
        "Reserved2",
        "Reserved3",
        "Reserved4",
        "Reserved5"
      ]
    }
  ],
  "fixtureKey": "mac-viper-performance",
  "manufacturerKey": "martin",
  "oflURL": "https://open-fixture-library.org/martin/mac-viper-performance"
}
