From 7ed9a9d486f1ca3d90c8656c3fd17fde43cd3ed3 Mon Sep 17 00:00:00 2001 From: aarongeiser Date: Mon, 23 Mar 2026 22:51:10 -0600 Subject: [PATCH 1/4] Add fixture \`eliminator/stealth-spot\` Co-Authored-By: Claude Sonnet 4.6 --- fixtures/eliminator/stealth-spot.json | 217 ++++++++++++++++++++++++++ 1 file changed, 217 insertions(+) create mode 100644 fixtures/eliminator/stealth-spot.json diff --git a/fixtures/eliminator/stealth-spot.json b/fixtures/eliminator/stealth-spot.json new file mode 100644 index 0000000000..2cadf5dcfb --- /dev/null +++ b/fixtures/eliminator/stealth-spot.json @@ -0,0 +1,217 @@ +{ + "$schema": "https://raw.githubusercontent.com/OpenLightingProject/open-fixture-library/master/schemas/fixture.json", + "name": "Stealth Spot", + "shortName": "EliminatorStealthSpot", + "categories": ["Moving Head", "Color Changer", "Effect"], + "meta": { + "authors": ["Anonymous"], + "createDate": "2026-03-23", + "lastModifyDate": "2026-03-23" + }, + "links": { + "manual": [ + "https://d295jznhem2tn9.cloudfront.net/ItemRelatedFiles/13273/Stealth%20Spot%20(1st%20Ed.).pdf" + ], + "productPage": [ + "https://www.adj.com/products/stealth-spot" + ] + }, + "physical": { + "dimensions": [239, 355, 170], + "weight": 4.6, + "power": 90, + "DMXconnector": "3-pin", + "bulb": { + "type": "60W White LED", + "colorTemperature": 6000 + }, + "lens": { + "name": "Spot", + "degreesMinMax": [13, 13] + } + }, + "wheels": { + "Color Wheel": { + "slots": [ + { "type": "Open" }, + { "type": "Color", "name": "Red", "colors": ["#ff0000"] }, + { "type": "Color", "name": "Yellow", "colors": ["#ffff00"] }, + { "type": "Color", "name": "Light Blue", "colors": ["#add8e6"] }, + { "type": "Color", "name": "Green", "colors": ["#00aa00"] }, + { "type": "Color", "name": "Orange", "colors": ["#ff7f00"] }, + { "type": "Color", "name": "Pink", "colors": ["#ff69b4"] }, + { "type": "Color", "name": "Blue", "colors": ["#0000ff"] } + ] + }, + "Gobo Wheel": { + "slots": [ + { "type": "Open" }, + { "type": "Gobo", "name": "Gobo 1" }, + { "type": "Gobo", "name": "Gobo 2" }, + { "type": "Gobo", "name": "Gobo 3" }, + { "type": "Gobo", "name": "Gobo 4" }, + { "type": "Gobo", "name": "Gobo 5" } + ] + } + }, + "availableChannels": { + "Pan": { + "fineChannelAliases": ["Pan fine"], + "defaultValue": "50%", + "capability": { + "type": "Pan", + "angleStart": "-270deg", + "angleEnd": "270deg" + } + }, + "Tilt": { + "fineChannelAliases": ["Tilt fine"], + "defaultValue": "50%", + "capability": { + "type": "Tilt", + "angleStart": "-105deg", + "angleEnd": "105deg" + } + }, + "Color Wheel": { + "capabilities": [ + { "dmxRange": [0, 13], "type": "WheelSlot", "slotNumber": 1 }, + { "dmxRange": [14, 31], "type": "WheelSlot", "slotNumber": 2 }, + { "dmxRange": [32, 49], "type": "WheelSlot", "slotNumber": 3 }, + { "dmxRange": [50, 67], "type": "WheelSlot", "slotNumber": 4 }, + { "dmxRange": [68, 85], "type": "WheelSlot", "slotNumber": 5 }, + { "dmxRange": [86, 103], "type": "WheelSlot", "slotNumber": 6 }, + { "dmxRange": [104, 121], "type": "WheelSlot", "slotNumber": 7 }, + { "dmxRange": [122, 130], "type": "WheelSlot", "slotNumber": 8 }, + { "dmxRange": [131, 139], "type": "WheelSlot", "slotNumber": 1 }, + { "dmxRange": [140, 195], "type": "WheelRotation", "speedStart": "fast CW", "speedEnd": "slow CW" }, + { "dmxRange": [196, 199], "type": "WheelRotation", "speed": "stop" }, + { "dmxRange": [200, 255], "type": "WheelRotation", "speedStart": "slow CCW", "speedEnd": "fast CCW" } + ] + }, + "Gobo Wheel": { + "capabilities": [ + { "dmxRange": [0, 8], "type": "WheelSlot", "slotNumber": 1 }, + { "dmxRange": [9, 33], "type": "WheelSlot", "slotNumber": 2 }, + { "dmxRange": [34, 58], "type": "WheelSlot", "slotNumber": 3 }, + { "dmxRange": [59, 83], "type": "WheelSlot", "slotNumber": 4 }, + { "dmxRange": [84, 108], "type": "WheelSlot", "slotNumber": 5 }, + { "dmxRange": [109, 133], "type": "WheelSlot", "slotNumber": 6 }, + { "dmxRange": [134, 194], "type": "WheelRotation", "speedStart": "fast CW", "speedEnd": "slow CW" }, + { "dmxRange": [195, 255], "type": "WheelRotation", "speedStart": "slow CCW", "speedEnd": "fast CCW" } + ] + }, + "Gobo Rotation": { + "capabilities": [ + { "dmxRange": [0, 9], "type": "WheelSlotRotation", "wheel": "Gobo Wheel", "speed": "stop" }, + { "dmxRange": [10, 129], "type": "WheelSlotRotation", "wheel": "Gobo Wheel", "speedStart": "fast CW", "speedEnd": "slow CW" }, + { "dmxRange": [130, 134], "type": "WheelSlotRotation", "wheel": "Gobo Wheel", "speed": "stop" }, + { "dmxRange": [135, 255], "type": "WheelSlotRotation", "wheel": "Gobo Wheel", "speedStart": "slow CCW", "speedEnd": "fast CCW" } + ] + }, + "Master Dimmer": { + "capability": { + "type": "Intensity" + } + }, + "Shutter / Strobe": { + "defaultValue": 255, + "capabilities": [ + { "dmxRange": [0, 4], "type": "ShutterStrobe", "shutterEffect": "Closed" }, + { "dmxRange": [5, 250], "type": "ShutterStrobe", "shutterEffect": "Strobe", "speedStart": "slow", "speedEnd": "fast" }, + { "dmxRange": [251, 255], "type": "ShutterStrobe", "shutterEffect": "Open" } + ] + }, + "Focus": { + "capability": { + "type": "Focus", + "distanceStart": "far", + "distanceEnd": "near" + } + }, + "Prism": { + "capabilities": [ + { "dmxRange": [0, 7], "type": "NoFunction" }, + { "dmxRange": [8, 127], "type": "Prism", "comment": "3-facet prism" }, + { "dmxRange": [128, 191], "type": "PrismRotation", "speedStart": "fast CW", "speedEnd": "slow CW" }, + { "dmxRange": [192, 255], "type": "PrismRotation", "speedStart": "slow CCW", "speedEnd": "fast CCW" } + ] + }, + "Programs": { + "capabilities": [ + { "dmxRange": [0, 7], "type": "NoFunction" }, + { "dmxRange": [8, 47], "type": "Effect", "effectName": "Program 1" }, + { "dmxRange": [48, 87], "type": "Effect", "effectName": "Program 2" }, + { "dmxRange": [88, 127], "type": "Effect", "effectName": "Program 3" }, + { "dmxRange": [128, 167], "type": "Effect", "effectName": "Program 4" }, + { "dmxRange": [168, 207], "type": "Effect", "effectName": "Program 5" }, + { "dmxRange": [208, 247], "type": "Effect", "effectName": "Program 6" }, + { "dmxRange": [248, 255], "type": "Effect", "effectName": "Sound Active", "soundControlled": true } + ] + }, + "Pan/Tilt Programs": { + "capabilities": [ + { "dmxRange": [0, 7], "type": "NoFunction" }, + { "dmxRange": [8, 32], "type": "Effect", "effectName": "Pan/Tilt Program 1" }, + { "dmxRange": [33, 58], "type": "Effect", "effectName": "Pan/Tilt Program 2" }, + { "dmxRange": [59, 84], "type": "Effect", "effectName": "Pan/Tilt Program 3" }, + { "dmxRange": [85, 110], "type": "Effect", "effectName": "Pan/Tilt Program 4" }, + { "dmxRange": [111, 136], "type": "Effect", "effectName": "Pan/Tilt Program 5" }, + { "dmxRange": [137, 162], "type": "Effect", "effectName": "Pan/Tilt Program 6" }, + { "dmxRange": [163, 214], "type": "Effect", "effectName": "Pan/Tilt Program 7" }, + { "dmxRange": [215, 240], "type": "Effect", "effectName": "Pan/Tilt Program 8" }, + { "dmxRange": [241, 255], "type": "Effect", "effectName": "Sound Active", "soundControlled": true } + ] + }, + "Pan/Tilt Speed": { + "capability": { + "type": "PanTiltSpeed", + "speedStart": "fast", + "speedEnd": "slow" + } + }, + "Pan/Tilt Program Speed": { + "capabilities": [ + { "dmxRange": [0, 50], "type": "NoFunction" }, + { "dmxRange": [51, 100], "type": "Maintenance", "comment": "Speed Mode High", "hold": "10s" }, + { "dmxRange": [101, 150], "type": "NoFunction" }, + { "dmxRange": [151, 200], "type": "Maintenance", "comment": "Speed Mode Low / Fade", "hold": "10s" }, + { "dmxRange": [201, 255], "type": "Maintenance", "comment": "Reset", "hold": "10s" } + ] + } + }, + "modes": [ + { + "name": "15-channel", + "shortName": "15ch", + "channels": [ + "Pan", + "Pan fine", + "Tilt", + "Tilt fine", + "Color Wheel", + "Gobo Wheel", + "Gobo Rotation", + "Master Dimmer", + "Shutter / Strobe", + "Focus", + "Prism", + "Programs", + "Pan/Tilt Programs", + "Pan/Tilt Speed", + "Pan/Tilt Program Speed" + ] + }, + { + "name": "5-channel", + "shortName": "5ch", + "channels": [ + "Pan", + "Tilt", + "Programs", + "Pan/Tilt Programs", + "Pan/Tilt Program Speed" + ] + } + ] +} From fc49acf1daccf5266e17b4287d3468561e15b19f Mon Sep 17 00:00:00 2001 From: aarongeiser Date: Mon, 23 Mar 2026 22:54:08 -0600 Subject: [PATCH 2/4] Add video link to eliminator/stealth-spot Co-Authored-By: Claude Sonnet 4.6 --- fixtures/eliminator/stealth-spot.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fixtures/eliminator/stealth-spot.json b/fixtures/eliminator/stealth-spot.json index 2cadf5dcfb..f39d2bc9ec 100644 --- a/fixtures/eliminator/stealth-spot.json +++ b/fixtures/eliminator/stealth-spot.json @@ -14,6 +14,9 @@ ], "productPage": [ "https://www.adj.com/products/stealth-spot" + ], + "video": [ + "https://www.youtube.com/watch?v=BJ_UyGj9ZxU" ] }, "physical": { From bca3c8936ed8132d2bea55b51207843cf60571bb Mon Sep 17 00:00:00 2001 From: aarongeiser Date: Mon, 23 Mar 2026 22:58:02 -0600 Subject: [PATCH 3/4] Fix lint: remove alignment spaces in stealth-spot Co-Authored-By: Claude Sonnet 4.6 --- fixtures/eliminator/stealth-spot.json | 82 +++++++++++++-------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/fixtures/eliminator/stealth-spot.json b/fixtures/eliminator/stealth-spot.json index f39d2bc9ec..d5492b55a8 100644 --- a/fixtures/eliminator/stealth-spot.json +++ b/fixtures/eliminator/stealth-spot.json @@ -37,13 +37,13 @@ "Color Wheel": { "slots": [ { "type": "Open" }, - { "type": "Color", "name": "Red", "colors": ["#ff0000"] }, - { "type": "Color", "name": "Yellow", "colors": ["#ffff00"] }, + { "type": "Color", "name": "Red", "colors": ["#ff0000"] }, + { "type": "Color", "name": "Yellow", "colors": ["#ffff00"] }, { "type": "Color", "name": "Light Blue", "colors": ["#add8e6"] }, - { "type": "Color", "name": "Green", "colors": ["#00aa00"] }, - { "type": "Color", "name": "Orange", "colors": ["#ff7f00"] }, - { "type": "Color", "name": "Pink", "colors": ["#ff69b4"] }, - { "type": "Color", "name": "Blue", "colors": ["#0000ff"] } + { "type": "Color", "name": "Green", "colors": ["#00aa00"] }, + { "type": "Color", "name": "Orange", "colors": ["#ff7f00"] }, + { "type": "Color", "name": "Pink", "colors": ["#ff69b4"] }, + { "type": "Color", "name": "Blue", "colors": ["#0000ff"] } ] }, "Gobo Wheel": { @@ -78,36 +78,36 @@ }, "Color Wheel": { "capabilities": [ - { "dmxRange": [0, 13], "type": "WheelSlot", "slotNumber": 1 }, - { "dmxRange": [14, 31], "type": "WheelSlot", "slotNumber": 2 }, - { "dmxRange": [32, 49], "type": "WheelSlot", "slotNumber": 3 }, - { "dmxRange": [50, 67], "type": "WheelSlot", "slotNumber": 4 }, - { "dmxRange": [68, 85], "type": "WheelSlot", "slotNumber": 5 }, - { "dmxRange": [86, 103], "type": "WheelSlot", "slotNumber": 6 }, - { "dmxRange": [104, 121], "type": "WheelSlot", "slotNumber": 7 }, - { "dmxRange": [122, 130], "type": "WheelSlot", "slotNumber": 8 }, - { "dmxRange": [131, 139], "type": "WheelSlot", "slotNumber": 1 }, - { "dmxRange": [140, 195], "type": "WheelRotation", "speedStart": "fast CW", "speedEnd": "slow CW" }, + { "dmxRange": [0, 13], "type": "WheelSlot", "slotNumber": 1 }, + { "dmxRange": [14, 31], "type": "WheelSlot", "slotNumber": 2 }, + { "dmxRange": [32, 49], "type": "WheelSlot", "slotNumber": 3 }, + { "dmxRange": [50, 67], "type": "WheelSlot", "slotNumber": 4 }, + { "dmxRange": [68, 85], "type": "WheelSlot", "slotNumber": 5 }, + { "dmxRange": [86, 103], "type": "WheelSlot", "slotNumber": 6 }, + { "dmxRange": [104, 121], "type": "WheelSlot", "slotNumber": 7 }, + { "dmxRange": [122, 130], "type": "WheelSlot", "slotNumber": 8 }, + { "dmxRange": [131, 139], "type": "WheelSlot", "slotNumber": 1 }, + { "dmxRange": [140, 195], "type": "WheelRotation", "speedStart": "fast CW", "speedEnd": "slow CW" }, { "dmxRange": [196, 199], "type": "WheelRotation", "speed": "stop" }, { "dmxRange": [200, 255], "type": "WheelRotation", "speedStart": "slow CCW", "speedEnd": "fast CCW" } ] }, "Gobo Wheel": { "capabilities": [ - { "dmxRange": [0, 8], "type": "WheelSlot", "slotNumber": 1 }, - { "dmxRange": [9, 33], "type": "WheelSlot", "slotNumber": 2 }, - { "dmxRange": [34, 58], "type": "WheelSlot", "slotNumber": 3 }, - { "dmxRange": [59, 83], "type": "WheelSlot", "slotNumber": 4 }, - { "dmxRange": [84, 108], "type": "WheelSlot", "slotNumber": 5 }, - { "dmxRange": [109, 133], "type": "WheelSlot", "slotNumber": 6 }, - { "dmxRange": [134, 194], "type": "WheelRotation", "speedStart": "fast CW", "speedEnd": "slow CW" }, + { "dmxRange": [0, 8], "type": "WheelSlot", "slotNumber": 1 }, + { "dmxRange": [9, 33], "type": "WheelSlot", "slotNumber": 2 }, + { "dmxRange": [34, 58], "type": "WheelSlot", "slotNumber": 3 }, + { "dmxRange": [59, 83], "type": "WheelSlot", "slotNumber": 4 }, + { "dmxRange": [84, 108], "type": "WheelSlot", "slotNumber": 5 }, + { "dmxRange": [109, 133], "type": "WheelSlot", "slotNumber": 6 }, + { "dmxRange": [134, 194], "type": "WheelRotation", "speedStart": "fast CW", "speedEnd": "slow CW" }, { "dmxRange": [195, 255], "type": "WheelRotation", "speedStart": "slow CCW", "speedEnd": "fast CCW" } ] }, "Gobo Rotation": { "capabilities": [ - { "dmxRange": [0, 9], "type": "WheelSlotRotation", "wheel": "Gobo Wheel", "speed": "stop" }, - { "dmxRange": [10, 129], "type": "WheelSlotRotation", "wheel": "Gobo Wheel", "speedStart": "fast CW", "speedEnd": "slow CW" }, + { "dmxRange": [0, 9], "type": "WheelSlotRotation", "wheel": "Gobo Wheel", "speed": "stop" }, + { "dmxRange": [10, 129], "type": "WheelSlotRotation", "wheel": "Gobo Wheel", "speedStart": "fast CW", "speedEnd": "slow CW" }, { "dmxRange": [130, 134], "type": "WheelSlotRotation", "wheel": "Gobo Wheel", "speed": "stop" }, { "dmxRange": [135, 255], "type": "WheelSlotRotation", "wheel": "Gobo Wheel", "speedStart": "slow CCW", "speedEnd": "fast CCW" } ] @@ -120,8 +120,8 @@ "Shutter / Strobe": { "defaultValue": 255, "capabilities": [ - { "dmxRange": [0, 4], "type": "ShutterStrobe", "shutterEffect": "Closed" }, - { "dmxRange": [5, 250], "type": "ShutterStrobe", "shutterEffect": "Strobe", "speedStart": "slow", "speedEnd": "fast" }, + { "dmxRange": [0, 4], "type": "ShutterStrobe", "shutterEffect": "Closed" }, + { "dmxRange": [5, 250], "type": "ShutterStrobe", "shutterEffect": "Strobe", "speedStart": "slow", "speedEnd": "fast" }, { "dmxRange": [251, 255], "type": "ShutterStrobe", "shutterEffect": "Open" } ] }, @@ -134,18 +134,18 @@ }, "Prism": { "capabilities": [ - { "dmxRange": [0, 7], "type": "NoFunction" }, - { "dmxRange": [8, 127], "type": "Prism", "comment": "3-facet prism" }, - { "dmxRange": [128, 191], "type": "PrismRotation", "speedStart": "fast CW", "speedEnd": "slow CW" }, + { "dmxRange": [0, 7], "type": "NoFunction" }, + { "dmxRange": [8, 127], "type": "Prism", "comment": "3-facet prism" }, + { "dmxRange": [128, 191], "type": "PrismRotation", "speedStart": "fast CW", "speedEnd": "slow CW" }, { "dmxRange": [192, 255], "type": "PrismRotation", "speedStart": "slow CCW", "speedEnd": "fast CCW" } ] }, "Programs": { "capabilities": [ - { "dmxRange": [0, 7], "type": "NoFunction" }, - { "dmxRange": [8, 47], "type": "Effect", "effectName": "Program 1" }, - { "dmxRange": [48, 87], "type": "Effect", "effectName": "Program 2" }, - { "dmxRange": [88, 127], "type": "Effect", "effectName": "Program 3" }, + { "dmxRange": [0, 7], "type": "NoFunction" }, + { "dmxRange": [8, 47], "type": "Effect", "effectName": "Program 1" }, + { "dmxRange": [48, 87], "type": "Effect", "effectName": "Program 2" }, + { "dmxRange": [88, 127], "type": "Effect", "effectName": "Program 3" }, { "dmxRange": [128, 167], "type": "Effect", "effectName": "Program 4" }, { "dmxRange": [168, 207], "type": "Effect", "effectName": "Program 5" }, { "dmxRange": [208, 247], "type": "Effect", "effectName": "Program 6" }, @@ -154,11 +154,11 @@ }, "Pan/Tilt Programs": { "capabilities": [ - { "dmxRange": [0, 7], "type": "NoFunction" }, - { "dmxRange": [8, 32], "type": "Effect", "effectName": "Pan/Tilt Program 1" }, - { "dmxRange": [33, 58], "type": "Effect", "effectName": "Pan/Tilt Program 2" }, - { "dmxRange": [59, 84], "type": "Effect", "effectName": "Pan/Tilt Program 3" }, - { "dmxRange": [85, 110], "type": "Effect", "effectName": "Pan/Tilt Program 4" }, + { "dmxRange": [0, 7], "type": "NoFunction" }, + { "dmxRange": [8, 32], "type": "Effect", "effectName": "Pan/Tilt Program 1" }, + { "dmxRange": [33, 58], "type": "Effect", "effectName": "Pan/Tilt Program 2" }, + { "dmxRange": [59, 84], "type": "Effect", "effectName": "Pan/Tilt Program 3" }, + { "dmxRange": [85, 110], "type": "Effect", "effectName": "Pan/Tilt Program 4" }, { "dmxRange": [111, 136], "type": "Effect", "effectName": "Pan/Tilt Program 5" }, { "dmxRange": [137, 162], "type": "Effect", "effectName": "Pan/Tilt Program 6" }, { "dmxRange": [163, 214], "type": "Effect", "effectName": "Pan/Tilt Program 7" }, @@ -175,8 +175,8 @@ }, "Pan/Tilt Program Speed": { "capabilities": [ - { "dmxRange": [0, 50], "type": "NoFunction" }, - { "dmxRange": [51, 100], "type": "Maintenance", "comment": "Speed Mode High", "hold": "10s" }, + { "dmxRange": [0, 50], "type": "NoFunction" }, + { "dmxRange": [51, 100], "type": "Maintenance", "comment": "Speed Mode High", "hold": "10s" }, { "dmxRange": [101, 150], "type": "NoFunction" }, { "dmxRange": [151, 200], "type": "Maintenance", "comment": "Speed Mode Low / Fade", "hold": "10s" }, { "dmxRange": [201, 255], "type": "Maintenance", "comment": "Reset", "hold": "10s" } From 3b54b6ba8658fd5185263c647592794cb154e315 Mon Sep 17 00:00:00 2001 From: aarongeiser Date: Fri, 3 Apr 2026 12:07:21 -0600 Subject: [PATCH 4/4] Add Chauvet DJ SlimPAR 64 fixture Includes 3-channel (RGB) and 7-channel modes sourced from User Manual Rev. 5. Co-Authored-By: Claude Sonnet 4.6 --- fixtures/chauvet-dj/slim-par-64.json | 170 +++++++++++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 fixtures/chauvet-dj/slim-par-64.json diff --git a/fixtures/chauvet-dj/slim-par-64.json b/fixtures/chauvet-dj/slim-par-64.json new file mode 100644 index 0000000000..bb37a5b410 --- /dev/null +++ b/fixtures/chauvet-dj/slim-par-64.json @@ -0,0 +1,170 @@ +{ + "$schema": "https://raw.githubusercontent.com/OpenLightingProject/open-fixture-library/master/schemas/fixture.json", + "name": "SlimPAR 64", + "categories": ["Color Changer"], + "meta": { + "authors": ["Aaron Geiser"], + "createDate": "2026-04-03", + "lastModifyDate": "2026-04-03" + }, + "links": { + "manual": [ + "https://www.chauvetdj.com/wp-content/uploads/2015/09/SlimPAR_64_UM_Rev5_WO.pdf" + ], + "productPage": [ + "https://www.chauvetdj.com/products/slimpar-64/" + ] + }, + "physical": { + "dimensions": [246, 282, 64], + "weight": 1.3, + "power": 32, + "DMXconnector": "3-pin", + "bulb": { + "type": "180× ¼W RGB LED" + }, + "lens": { + "degreesMinMax": [14, 23] + } + }, + "availableChannels": { + "Red": { + "capability": { + "type": "ColorIntensity", + "color": "Red", + "brightnessStart": "0%", + "brightnessEnd": "100%" + } + }, + "Green": { + "capability": { + "type": "ColorIntensity", + "color": "Green", + "brightnessStart": "0%", + "brightnessEnd": "100%" + } + }, + "Blue": { + "capability": { + "type": "ColorIntensity", + "color": "Blue", + "brightnessStart": "0%", + "brightnessEnd": "100%" + } + }, + "Color Macros": { + "capabilities": [ + { + "dmxRange": [0, 15], + "type": "NoFunction" + }, + { + "dmxRange": [16, 255], + "type": "ColorPreset", + "comment": "Color macros (overrides channels 1–3)" + } + ] + }, + "Speed / Strobe": { + "capabilities": [ + { + "dmxRange": [0, 15], + "type": "NoFunction", + "comment": "No strobe" + }, + { + "dmxRange": [16, 255], + "type": "ShutterStrobe", + "shutterEffect": "Strobe", + "speedStart": "slow", + "speedEnd": "fast", + "comment": "Strobe slow to fast (when Ch6 is 0–31 or 224–255); effect speed when Ch6 is 32–223", + "helpWanted": "Channel 5 is dual-purpose: strobe when Ch6 is in RGB mode (0–31) or Sound mode (224–255), and effect speed when Ch6 is in an effect mode (32–223). A switching channel may be needed to model this accurately." + } + ] + }, + "Mode": { + "capabilities": [ + { + "dmxRange": [0, 31], + "type": "Maintenance", + "comment": "RGB mode (manual color control via channels 1–3)" + }, + { + "dmxRange": [32, 63], + "type": "Effect", + "effectName": "Pulse", + "comment": "Pulse 0%→100% (Ch5 controls speed)" + }, + { + "dmxRange": [64, 95], + "type": "Effect", + "effectName": "Pulse", + "comment": "Pulse 100%→0% (Ch5 controls speed)" + }, + { + "dmxRange": [96, 127], + "type": "Effect", + "effectName": "Pulse", + "comment": "Pulse 100%→0%→100% (Ch5 controls speed)" + }, + { + "dmxRange": [128, 159], + "type": "Effect", + "effectName": "Auto fade", + "comment": "Auto fade transition (Ch5 controls speed)" + }, + { + "dmxRange": [160, 191], + "type": "Effect", + "effectName": "Auto snap 3-color", + "comment": "Auto snap transition, 3-color program (Ch5 controls speed)" + }, + { + "dmxRange": [192, 223], + "type": "Effect", + "effectName": "Auto snap 7-color", + "comment": "Auto snap transition, 7-color program (Ch5 controls speed)" + }, + { + "dmxRange": [224, 255], + "type": "Effect", + "effectName": "Sound", + "soundControlled": true, + "comment": "Sound-triggered mode" + } + ] + }, + "Dimmer": { + "capability": { + "type": "Intensity", + "brightnessStart": "0%", + "brightnessEnd": "100%" + } + } + }, + "modes": [ + { + "name": "3-channel", + "shortName": "3ch", + "channels": [ + "Red", + "Green", + "Blue" + ] + }, + { + "name": "7-channel", + "shortName": "7ch", + "channels": [ + "Red", + "Green", + "Blue", + "Color Macros", + "Speed / Strobe", + "Mode", + "Dimmer" + ] + } + ] +}