diff --git a/docs/capability-types.md b/docs/capability-types.md index 8b5db24417..f354259b52 100644 --- a/docs/capability-types.md +++ b/docs/capability-types.md @@ -20,7 +20,7 @@ To make common percentage values more readable, one can use specific keywords to | BeamAngle | `deg`, `%` | – | – | closed | narrow | wide | SwingAngle | `deg`, `%` | – | – | off | narrow | wide | Parameter | (no unit), `%` | – | – | off / instant | low / slow / small / short | high / fast / big / long -| Index | (no unit) | – | – | – | – | – +| SlotNumber | (no unit) | – | – | – | – | – | Percent | `%` | – | – | off | low | high | Insertion | `%` | – | – | out | – | in | IrisPercent | `%` | – | – | closed | – | open @@ -35,14 +35,13 @@ To make common percentage values more readable, one can use specific keywords to * [Intensity](#intensity) * [ColorIntensity](#colorintensity) * [ColorPreset](#colorpreset) -* [ColorWheelIndex](#colorwheelindex) / [ColorWheelRotation](#colorwheelrotation) * [ColorTemperature](#colortemperature) * [Pan](#pan) / [PanContinuous](#pancontinuous) * [Tilt](#tilt) / [TiltContinuous](#tiltcontinuous) * [PanTiltSpeed](#pantiltspeed) +* [WheelSlot](#wheelslot) / [WheelShake](#wheelshake) / [WheelSlotRotation](#wheelslotrotation) / [WheelRotation](#wheelrotation) * [Effect](#effect) / [EffectSpeed](#effectspeed) / [EffectDuration](#effectduration) / [EffectParameter](#effectparameter) * [SoundSensitivity](#soundsensitivity) -* [GoboIndex](#goboindex) / [GoboShake](#goboshake) / [GoboStencilRotation](#gobostencilrotation) / [GoboWheelRotation](#gobowheelrotation) * [Focus](#focus) * [Zoom](#zoom) * [Iris](#iris) / [IrisEffect](#iriseffect) @@ -135,31 +134,6 @@ To make common percentage values more readable, one can use specific keywords to
Represents a blueprint channel of which several similar channels can be generated. Currently used to create matrix channels.
Information about a fixture's wheel.
+Information about a single wheel slot (or a split slot).
+string
string
\| null
* [.color](#Capability+color) ⇒ 'Red'
\| 'Green'
\| 'Blue'
\| 'Cyan'
\| 'Magenta'
\| 'Yellow'
\| 'Amber'
\| 'White'
\| 'UV'
\| 'Lime'
\| 'Indigo'
\| null
* [.colors](#Capability+colors) ⇒ object
\| null
+ * [.wheels](#Capability+wheels) ⇒ [array.<Wheel>
](#Wheel)
+ * [.isShaking](#Capability+isShaking) ⇒ 'slot'
\| 'wheel'
* [.effectName](#Capability+effectName) ⇒ string
\| null
* [.effectPreset](#Capability+effectPreset) ⇒ string
\| null
* [.isSoundControlled](#Capability+isSoundControlled) ⇒ boolean
\| null
* [.randomTiming](#Capability+randomTiming) ⇒ boolean
\| null
- * [.isShaking](#Capability+isShaking) ⇒ boolean
* [.blade](#Capability+blade) ⇒ 'Top'
\| 'Right'
\| 'Bottom'
\| 'Left'
\| number
\| null
* [.fogType](#Capability+fogType) ⇒ 'Fog'
\| 'Haze'
\| null
* [.hold](#Capability+hold) ⇒ [Entity
](#Entity) \| null
@@ -171,7 +185,8 @@ A capability represents a range of a channel.
* [.duration](#Capability+duration) ⇒ [array.<Entity>
](#Entity) \| null
* [.time](#Capability+time) ⇒ [array.<Entity>
](#Entity) \| null
* [.brightness](#Capability+brightness) ⇒ [array.<Entity>
](#Entity) \| null
- * [.index](#Capability+index) ⇒ [array.<Entity>
](#Entity) \| null
+ * [.slotNumber](#Capability+slotNumber) ⇒ [array.<Entity>
](#Entity) \| null
+ * [.wheelSlot](#Capability+wheelSlot) ⇒ [array.<WheelSlot>
](#WheelSlot) \| null
* [.angle](#Capability+angle) ⇒ [array.<Entity>
](#Entity) \| null
* [.colorTemperature](#Capability+colorTemperature) ⇒ [array.<Entity>
](#Entity) \| null
* [.soundSensitivity](#Capability+soundSensitivity) ⇒ [array.<Entity>
](#Entity) \| null
@@ -185,6 +200,7 @@ A capability represents a range of a channel.
* [.parameter](#Capability+parameter) ⇒ [array.<Entity>
](#Entity) \| null
* [.getDmxRangeWithResolution(desiredResolution)](#Capability+getDmxRangeWithResolution) ⇒ [Range
](#Range)
* [.canCrossfadeTo(nextCapability)](#Capability+canCrossfadeTo) ⇒ boolean
+ * [.isSlotType(slotType)](#Capability+isSlotType) ⇒ boolean
* [._getStartEndArray(prop)](#Capability+_getStartEndArray) ⇒ array
\| null
℗
* _static_
* [.START_END_ENTITIES](#Capability.START_END_ENTITIES) ⇒ array.<string>
@@ -295,6 +311,18 @@ Create a new Capability instance.
### capability.colors ⇒ object
\| null
**Kind**: instance property of [Capability
](#Capability)
**Returns**: object
\| null
- The color hex codes for each visually distinguishable light beam. Defaults to null.
+
+
+### capability.wheels ⇒ [array.<Wheel>
](#Wheel)
+**Kind**: instance property of [Capability
](#Capability)
+**Returns**: [array.<Wheel>
](#Wheel) - The wheels this capability refers to. The array has one or more elements in wheel-related capabilities, zero otherwise.
+
+
+### capability.isShaking ⇒ 'slot'
\| 'wheel'
+Use only in `WheelShake` capabilities!
+
+**Kind**: instance property of [Capability
](#Capability)
+**Returns**: 'slot'
\| 'wheel'
- The fixture component that is shaking.
### capability.effectName ⇒ string
\| null
@@ -315,11 +343,6 @@ Create a new Capability instance.
### capability.randomTiming ⇒ boolean
\| null
**Kind**: instance property of [Capability
](#Capability)
**Returns**: boolean
\| null
- Whether this capability's speed / duration varies by a random offset. Defaults to false.
-
-
-### capability.isShaking ⇒ boolean
-**Kind**: instance property of [Capability
](#Capability)
-**Returns**: boolean
- True if this is a capability that activates Gobo shaking, false otherwise.
### capability.blade ⇒ 'Top'
\| 'Right'
\| 'Bottom'
\| 'Left'
\| number
\| null
@@ -355,11 +378,16 @@ Create a new Capability instance.
### capability.brightness ⇒ [array.<Entity>
](#Entity) \| null
**Kind**: instance property of [Capability
](#Capability)
**Returns**: [array.<Entity>
](#Entity) \| null
- Start and end brightness values. Defaults to null.
-
+
+
+### capability.slotNumber ⇒ [array.<Entity>
](#Entity) \| null
+**Kind**: instance property of [Capability
](#Capability)
+**Returns**: [array.<Entity>
](#Entity) \| null
- Start and end slot numbers. Defaults to null.
+
-### capability.index ⇒ [array.<Entity>
](#Entity) \| null
+### capability.wheelSlot ⇒ [array.<WheelSlot>
](#WheelSlot) \| null
**Kind**: instance property of [Capability
](#Capability)
-**Returns**: [array.<Entity>
](#Entity) \| null
- Start and end index values. Defaults to null.
+**Returns**: [array.<WheelSlot>
](#WheelSlot) \| null
- Start and end wheel slot objects this capability is referencing. Defaults to null.
### capability.angle ⇒ [array.<Entity>
](#Entity) \| null
@@ -435,6 +463,16 @@ Create a new Capability instance.
| --- | --- | --- |
| nextCapability | [Capability
](#Capability) | The next capability after this one. |
+
+
+### capability.isSlotType(slotType) ⇒ boolean
+**Kind**: instance method of [Capability
](#Capability)
+**Returns**: boolean
- True if the capability references a slot (or range of slots) of the given type, false otherwise.
+
+| Param | Type | Description |
+| --- | --- | --- |
+| slotType | string
\| RegExp
| The type of the slot to check. Can be a regular expression to be checked against the type. |
+
### capability._getStartEndArray(prop) ⇒ array
\| null
℗
@@ -949,6 +987,7 @@ A physical DMX device.
* [.rdm](#Fixture+rdm) ⇒ object
\| null
* [.physical](#Fixture+physical) ⇒ [Physical
](#Physical) \| null
* [.matrix](#Fixture+matrix) ⇒ [Matrix
](#Matrix) \| null
+ * [.wheels](#Fixture+wheels) ⇒ [array.<Wheel>
](#Wheel)
* [.uniqueChannelNames](#Fixture+uniqueChannelNames) ⇒ object.<string, string>
* [.availableChannelKeys](#Fixture+availableChannelKeys) ⇒ array.<string>
* [.availableChannels](#Fixture+availableChannels) ⇒ [array.<CoarseChannel>
](#CoarseChannel)
@@ -970,6 +1009,7 @@ A physical DMX device.
* [.capabilities](#Fixture+capabilities) ⇒ [array.<Capability>
](#Capability)
* [.modes](#Fixture+modes) ⇒ [array.<Mode>
](#Mode)
* [.getLinksOfType(type)](#Fixture+getLinksOfType) ⇒ array.<string>
+ * [.getWheelByName(wheelName)](#Fixture+getWheelByName) ⇒ [Wheel
](#Wheel) \| null
* [.getTemplateChannelByKey(chKey)](#Fixture+getTemplateChannelByKey) ⇒ [TemplateChannel
](#TemplateChannel) \| null
* [.getChannelByKey(key)](#Fixture+getChannelByKey) ⇒ [AbstractChannel
](#AbstractChannel) \| null
@@ -1104,6 +1144,11 @@ Create a new Fixture instance.
### fixture.matrix ⇒ [Matrix
](#Matrix) \| null
**Kind**: instance property of [Fixture
](#Fixture)
**Returns**: [Matrix
](#Matrix) \| null
- The matrix information for this fixture.
+
+
+### fixture.wheels ⇒ [array.<Wheel>
](#Wheel)
+**Kind**: instance property of [Fixture
](#Fixture)
+**Returns**: [array.<Wheel>
](#Wheel) - The fixture's wheels as [Wheel](#Wheel) instances.
### fixture.uniqueChannelNames ⇒ object.<string, string>
@@ -1218,6 +1263,16 @@ Template channels are used to automatically generate channels.
| --- | --- | --- |
| type | string
| The type of the links that should be returned. |
+
+
+### fixture.getWheelByName(wheelName) ⇒ [Wheel
](#Wheel) \| null
+**Kind**: instance method of [Fixture
](#Fixture)
+**Returns**: [Wheel
](#Wheel) \| null
- The wheel with the given name, or null if no wheel with the given name exists.
+
+| Param | Type | Description |
+| --- | --- | --- |
+| wheelName | string
| The name of the wheel. |
+
### fixture.getTemplateChannelByKey(chKey) ⇒ [TemplateChannel
](#TemplateChannel) \| null
@@ -2368,6 +2423,183 @@ Replaces the specified variables in the specified string.
| str | string
| The string which has to be modified. |
| variables | object.<string, string>
| Each variable (without $) pointing to its value. |
+
+
+## Wheel
+Information about a fixture's wheel.
+
+**Kind**: global class
+
+* [Wheel](#Wheel)
+ * [new Wheel(wheelName, jsonObject)](#new_Wheel_new)
+ * [.name](#Wheel+name) ⇒ string
+ * [.direction](#Wheel+direction) ⇒ 'CW'
\| 'CCW'
+ * [.type](#Wheel+type) ⇒ string
+ * [.slots](#Wheel+slots) ⇒ array.<object>
+ * [.getSlot(slotNumber)](#Wheel+getSlot) ⇒ object
+ * [.getAbsoluteSlotIndex(slotNumber)](#Wheel+getAbsoluteSlotIndex) ⇒ number
+ * [.getSlotsOfType(type)](#Wheel+getSlotsOfType) ⇒ [array.<WheelSlot>
](#WheelSlot)
+
+
+
+### new Wheel(wheelName, jsonObject)
+Creates a new Wheel instance.
+
+
+| Param | Type | Description |
+| --- | --- | --- |
+| wheelName | string
| The wheel's name, like specified in the JSON. |
+| jsonObject | object
| A wheel object from the fixture's JSON data. |
+
+
+
+### wheel.name ⇒ string
+**Kind**: instance property of [Wheel
](#Wheel)
+**Returns**: string
- The wheel's name.
+
+
+### wheel.direction ⇒ 'CW'
\| 'CCW'
+**Kind**: instance property of [Wheel
](#Wheel)
+**Returns**: 'CW'
\| 'CCW'
- The direction the wheel's slots are arranged in. Defaults to clockwise.
+
+
+### wheel.type ⇒ string
+**Kind**: instance property of [Wheel
](#Wheel)
+**Returns**: string
- The type of the Wheel, i.e. the most frequent slot type (except for animation gobo wheels; the wheel type is AnimationGobo there).
+
+
+### wheel.slots ⇒ array.<object>
+**Kind**: instance property of [Wheel
](#Wheel)
+**Returns**: array.<object>
- Array of wheel slots.
+
+
+### wheel.getSlot(slotNumber) ⇒ object
+**Kind**: instance method of [Wheel
](#Wheel)
+**Returns**: object
- The slot object. Can be a split slot object, if a non-integer index is specified.
+
+| Param | Type | Description |
+| --- | --- | --- |
+| slotNumber | number
| The one-based slot number. |
+
+
+
+### wheel.getAbsoluteSlotIndex(slotNumber) ⇒ number
+**Kind**: instance method of [Wheel
](#Wheel)
+**Returns**: number
- The zero-based slot index, bounded by the number of slots.
+
+| Param | Type | Description |
+| --- | --- | --- |
+| slotNumber | number
| The one-based slot number, can be smaller than 1 and greater than the number of slots. |
+
+
+
+### wheel.getSlotsOfType(type) ⇒ [array.<WheelSlot>
](#WheelSlot)
+**Kind**: instance method of [Wheel
](#Wheel)
+**Returns**: [array.<WheelSlot>
](#WheelSlot) - All slots with the given type.
+
+| Param | Type | Description |
+| --- | --- | --- |
+| type | string
| The wheel slot type to search for. |
+
+
+
+## WheelSlot
+Information about a single wheel slot (or a split slot).
+
+**Kind**: global class
+
+* [WheelSlot](#WheelSlot)
+ * [new WheelSlot(jsonObject, wheel, floorSlot, ceilSlot)](#new_WheelSlot_new)
+ * [.isSplitSlot](#WheelSlot+isSplitSlot) ⇒ boolean
+ * [.type](#WheelSlot+type) ⇒ string
+ * [.nthOfType](#WheelSlot+nthOfType) ⇒ number
+ * [.name](#WheelSlot+name) ⇒ string
+ * [.colors](#WheelSlot+colors) ⇒ array.<string>
\| null
+ * [.colorTemperature](#WheelSlot+colorTemperature) ⇒ [Entity
](#Entity) \| null
+ * [.facets](#WheelSlot+facets) ⇒ number
\| null
+ * [.openPercent](#WheelSlot+openPercent) ⇒ [Entity
](#Entity) \| null
+ * [.frostIntensity](#WheelSlot+frostIntensity) ⇒ [Entity
](#Entity) \| null
+ * [.floorSlot](#WheelSlot+floorSlot) ⇒ [WheelSlot
](#WheelSlot) \| null
+ * [.ceilSlot](#WheelSlot+ceilSlot) ⇒ [WheelSlot
](#WheelSlot) \| null
+
+
+
+### new WheelSlot(jsonObject, wheel, floorSlot, ceilSlot)
+Creates a new WheelSlot instance.
+
+
+| Param | Type | Default | Description |
+| --- | --- | --- | --- |
+| jsonObject | object
\| null
| | A wheel slot object from the fixture's JSON data. If null, this WheelSlot is a split slot. |
+| wheel | [Wheel
](#Wheel) | | The wheel that this slot belongs to. |
+| floorSlot | [WheelSlot
](#WheelSlot) \| null
|
| For split slots, the WheelSlot instance at the start. |
+| ceilSlot | [WheelSlot
](#WheelSlot) \| null
|
| For split slots, the WheelSlot instance at the end. |
+
+
+
+### wheelSlot.isSplitSlot ⇒ boolean
+**Kind**: instance property of [WheelSlot
](#WheelSlot)
+**Returns**: boolean
- True if this WheelSlot instance represents a split slot.
+
+
+### wheelSlot.type ⇒ string
+**Kind**: instance property of [WheelSlot
](#WheelSlot)
+**Returns**: string
- The slot's type.
+
+
+### wheelSlot.nthOfType ⇒ number
+**Kind**: instance property of [WheelSlot
](#WheelSlot)
+**Returns**: number
- The zero-based index of this slot amongst all slots with the same type in this wheel.
+
+
+### wheelSlot.name ⇒ string
+**Kind**: instance property of [WheelSlot
](#WheelSlot)
+**Returns**: string
- The wheel slot's name.
+
+
+### wheelSlot.colors ⇒ array.<string>
\| null
+**Kind**: instance property of [WheelSlot
](#WheelSlot)
+**Returns**: array.<string>
\| null
- The colors of this wheel slot, or null if this slot has no colors.
+
+
+### wheelSlot.colorTemperature ⇒ [Entity
](#Entity) \| null
+**Kind**: instance property of [WheelSlot
](#WheelSlot)
+**Returns**: [Entity
](#Entity) \| null
- For Color slots, the slot's color temperature. Null if this slot has no color temperature.
+
+
+### wheelSlot.facets ⇒ number
\| null
+**Kind**: instance property of [WheelSlot
](#WheelSlot)
+**Returns**: number
\| null
- For Prism slots, the number of prism facets. Null if number of facets is not defined.
+
+
+### wheelSlot.openPercent ⇒ [Entity
](#Entity) \| null
+**Kind**: instance property of [WheelSlot
](#WheelSlot)
+**Returns**: [Entity
](#Entity) \| null
- For Iris slots, the slot's openPercent value. Null if this slot has no openPercent value.
+
+
+### wheelSlot.frostIntensity ⇒ [Entity
](#Entity) \| null
+**Kind**: instance property of [WheelSlot
](#WheelSlot)
+**Returns**: [Entity
](#Entity) \| null
- For Frost slots, the slot's frost intensity. Null if this slot has no frost intensity.
+
+
+### wheelSlot.floorSlot ⇒ [WheelSlot
](#WheelSlot) \| null
+**Kind**: instance property of [WheelSlot
](#WheelSlot)
+**Returns**: [WheelSlot
](#WheelSlot) \| null
- For split slots, the floor (start) slot. Null for non-split slots.
+
+
+### wheelSlot.ceilSlot ⇒ [WheelSlot
](#WheelSlot) \| null
+**Kind**: instance property of [WheelSlot
](#WheelSlot)
+**Returns**: [WheelSlot
](#WheelSlot) \| null
- For split slots, the ceil (end) slot. Null for non-split slots.
+
+
+## getSlotCapabilityName(cap) ⇒ string
+**Kind**: global function
+**Returns**: string
- The name for the capability, without the comment appended (if any).
+
+| Param | Type | Description |
+| --- | --- | --- |
+| cap | object
| The capability (with a set slot property) to generate a name for. |
+
## Resolution : number
diff --git a/fixtures/5star-systems/spica-250m.json b/fixtures/5star-systems/spica-250m.json
index 1f0bcd93de..2f754b4d33 100644
--- a/fixtures/5star-systems/spica-250m.json
+++ b/fixtures/5star-systems/spica-250m.json
@@ -36,6 +36,77 @@
"tiltMax": 280
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Yellow",
+ "colors": ["#ffff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Orange",
+ "colors": ["#ff7f00"]
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#ff0000"]
+ },
+ {
+ "type": "Color",
+ "name": "Blue",
+ "colors": ["#0000ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#00ff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Pink",
+ "colors": ["#ffc0cb"]
+ },
+ {
+ "type": "Color",
+ "name": "Turquoise",
+ "colors": ["#40e0d0"]
+ },
+ {
+ "type": "Color",
+ "name": "Purple",
+ "colors": ["#9800ff"]
+ }
+ ]
+ },
+ "Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
@@ -115,144 +186,108 @@
"capabilities": [
{
"dmxRange": [0, 6],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [7, 13],
- "type": "ColorWheelIndex",
- "index": 0.5,
- "colors": ["#ffffff", "#ffff00"],
- "comment": "Split Open / Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 1.5
},
{
"dmxRange": [14, 20],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#ffff00"],
- "comment": "Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [21, 27],
- "type": "ColorWheelIndex",
- "index": 1.5,
- "colors": ["#ffff00", "#ff7f00"],
- "comment": "Split Yellow / Orange"
+ "type": "WheelSlot",
+ "slotNumber": 2.5
},
{
"dmxRange": [28, 34],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#ff7f00"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [35, 41],
- "type": "ColorWheelIndex",
- "index": 2.5,
- "colors": ["#ff7f00", "#ff0000"],
- "comment": "Split Orange / Red"
+ "type": "WheelSlot",
+ "slotNumber": 3.5
},
{
"dmxRange": [42, 48],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#ff0000"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [49, 55],
- "type": "ColorWheelIndex",
- "index": 3.5,
- "colors": ["#ff0000", "#0000ff"],
- "comment": "Split Red / Blue"
+ "type": "WheelSlot",
+ "slotNumber": 4.5
},
{
"dmxRange": [56, 62],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#0000ff"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [63, 69],
- "type": "ColorWheelIndex",
- "index": 4.5,
- "colors": ["#0000ff", "#00ff00"],
- "comment": "Split Blue / Green"
+ "type": "WheelSlot",
+ "slotNumber": 5.5
},
{
"dmxRange": [70, 76],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#00ff00"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [77, 83],
- "type": "ColorWheelIndex",
- "index": 5.5,
- "colors": ["#00ff00", "#ffc0cb"],
- "comment": "Split Green / Pink"
+ "type": "WheelSlot",
+ "slotNumber": 6.5
},
{
"dmxRange": [84, 90],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#ffc0cb"],
- "comment": "Pink"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [91, 97],
- "type": "ColorWheelIndex",
- "index": 6.5,
- "colors": ["#ffc0cb", "#40e0d0"],
- "comment": "Split Pink / Turquoise"
+ "type": "WheelSlot",
+ "slotNumber": 7.5
},
{
"dmxRange": [98, 104],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#40e0d0"],
- "comment": "Turquoise"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [105, 111],
- "type": "ColorWheelIndex",
- "index": 7.5,
- "colors": ["#40e0d0", "#9800ff"],
- "comment": "Split Turquoise / Purple"
+ "type": "WheelSlot",
+ "slotNumber": 8.5
},
{
"dmxRange": [112, 118],
- "type": "ColorWheelIndex",
- "index": 8,
- "colors": ["#9800ff"],
- "comment": "Purple"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [119, 127],
- "type": "ColorWheelIndex",
- "index": 8.5,
- "colors": ["#9800ff", "#ffffff"],
- "comment": "Split Purple / Open"
+ "type": "WheelSlot",
+ "slotNumber": 9.5
},
{
"dmxRange": [128, 189],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [190, 193],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [194, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
@@ -360,38 +395,37 @@
"capabilities": [
{
"dmxRange": [0, 31],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [32, 63],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [64, 95],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [96, 127],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [128, 159],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [160, 223],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [224, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW"
}
@@ -401,24 +435,28 @@
"capabilities": [
{
"dmxRange": [0, 127],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"angleStart": "0%",
"angleEnd": "100%"
},
{
"dmxRange": [128, 190],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [191, 192],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [193, 255],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
diff --git a/fixtures/abstract/twister-4.json b/fixtures/abstract/twister-4.json
index b7bed44d02..c06c33166a 100644
--- a/fixtures/abstract/twister-4.json
+++ b/fixtures/abstract/twister-4.json
@@ -31,6 +31,54 @@
"type": "Fixed"
}
},
+ "wheels": {
+ "Color / Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Red [Dot Tunnel]",
+ "colors": ["#ff0000"]
+ },
+ {
+ "type": "Color",
+ "name": "Blue [Slash]",
+ "colors": ["#0000ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Green [Segment]",
+ "colors": ["#00ff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Yellow [Triangle]",
+ "colors": ["#ffff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Cyan [Tunnel]",
+ "colors": ["#00ffff"]
+ },
+ {
+ "type": "Color",
+ "name": "Orange [Bubbles]",
+ "colors": ["#ff7f00"]
+ },
+ {
+ "type": "Color",
+ "name": "Pink [Stars]",
+ "colors": ["#ff00ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Multicolor [Quadrant]"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Rotation": {
"capabilities": [
@@ -81,93 +129,68 @@
},
{
"dmxRange": [10, 25],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [26, 42],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#ff0000"],
- "comment": "Red [Dot Tunnel]"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [43, 58],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#0000ff"],
- "comment": "Blue [Slash]"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [59, 74],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#00ff00"],
- "comment": "Green [Segment]"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [75, 90],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#ffff00"],
- "comment": "Yellow [Triangle]"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [91, 107],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#00ffff"],
- "comment": "Cyan [Tunnel]"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [108, 123],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#ff7f00"],
- "comment": "Orange [Bubbles]"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [124, 139],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#ff00ff"],
- "comment": "Pink [Stars]"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [140, 155],
- "type": "ColorWheelIndex",
- "index": 8,
- "comment": "Multicolor [Quadrant]"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [156, 172],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#ff7f00"],
- "comment": "Orange [Bubbles]"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [173, 188],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#00ffff"],
- "comment": "Cyan [Tunnel]"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [189, 220],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#ffff00"],
- "comment": "Yellow [Triangle]"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [221, 237],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#0000ff"],
- "comment": "Blue [Slash]"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [238, 253],
diff --git a/fixtures/adb/warp-m.json b/fixtures/adb/warp-m.json
index 0c2f9894e6..bd32cf4caa 100644
--- a/fixtures/adb/warp-m.json
+++ b/fixtures/adb/warp-m.json
@@ -377,7 +377,7 @@
"fineChannelAliases": ["Gobo 1 rotation fine"],
"defaultValue": 32767,
"capability": {
- "type": "GoboStencilRotation",
+ "type": "Rotation",
"angleStart": "0deg",
"angleEnd": "360deg"
}
diff --git a/fixtures/american-dj/auto-spot-150.json b/fixtures/american-dj/auto-spot-150.json
index 5f4ace9503..f24d4325af 100644
--- a/fixtures/american-dj/auto-spot-150.json
+++ b/fixtures/american-dj/auto-spot-150.json
@@ -28,6 +28,88 @@
"tiltMax": 270
}
},
+ "wheels": {
+ "Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ },
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Blue",
+ "colors": ["#0000ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Yellow",
+ "colors": ["#ffff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#00ff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Light Blue",
+ "colors": ["#aaddff"]
+ },
+ {
+ "type": "Color",
+ "name": "Orange",
+ "colors": ["#ff7f00"]
+ },
+ {
+ "type": "Color",
+ "name": "Pink",
+ "colors": ["#ffaaaa"]
+ },
+ {
+ "type": "Color",
+ "name": "Magenta",
+ "colors": ["#ff00ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Amber",
+ "colors": ["#ffbf00"]
+ },
+ {
+ "type": "Color",
+ "name": "Light Green",
+ "colors": ["#aaffaa"]
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"defaultValue": "50%",
@@ -50,48 +132,47 @@
"capabilities": [
{
"dmxRange": [0, 15],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [16, 31],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [32, 47],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [48, 63],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [64, 79],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [80, 95],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [96, 111],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [112, 127],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [128, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW"
}
@@ -102,29 +183,34 @@
"capabilities": [
{
"dmxRange": [0, 9],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [10, 120],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [121, 134],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [135, 245],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
},
{
"dmxRange": [246, 255],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speed": "stop"
}
]
@@ -134,140 +220,122 @@
"capabilities": [
{
"dmxRange": [0, 6],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 1
},
{
"dmxRange": [7, 13],
- "type": "ColorWheelIndex",
- "index": 0.5,
- "colors": ["#ffffff", "#0000ff"],
- "comment": "Split Open / Blue"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 1.5
},
{
"dmxRange": [14, 20],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#0000ff"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 2
},
{
"dmxRange": [21, 26],
- "type": "ColorWheelIndex",
- "index": 1.5,
- "colors": ["#0000ff", "#ffff00"],
- "comment": "Split Blue / Yellow"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 2.5
},
{
"dmxRange": [27, 33],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#ffff00"],
- "comment": "Yellow"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 3
},
{
"dmxRange": [34, 40],
- "type": "ColorWheelIndex",
- "index": 2.5,
- "colors": ["#ffff00", "#00ff00"],
- "comment": "Split Yellow / Green"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 3.5
},
{
"dmxRange": [41, 46],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#00ff00"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 4
},
{
"dmxRange": [47, 53],
- "type": "ColorWheelIndex",
- "index": 3.5,
- "colors": ["#00ff00", "#aaddff"],
- "comment": "Split Green / Light Blue"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 4.5
},
{
"dmxRange": [54, 60],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#aaddff"],
- "comment": "Light Blue"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 5
},
{
"dmxRange": [61, 66],
- "type": "ColorWheelIndex",
- "index": 4.5,
- "colors": ["#aaddff", "#ff7f00"],
- "comment": "Split Light Blue / Orange"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 5.5
},
{
"dmxRange": [67, 73],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#ff7f00"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 6
},
{
"dmxRange": [74, 80],
- "type": "ColorWheelIndex",
- "index": 5.5,
- "colors": ["#ff7f00", "#ffaaaa"],
- "comment": "Split Orange / Pink"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 6.5
},
{
"dmxRange": [81, 87],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#ffaaaa"],
- "comment": "Pink"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 7
},
{
"dmxRange": [88, 93],
- "type": "ColorWheelIndex",
- "index": 6.5,
- "colors": ["#ffaaaa", "#ff00ff"],
- "comment": "Split Pink / Magenta"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 7.5
},
{
"dmxRange": [94, 100],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#ff00ff"],
- "comment": "Magenta"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 8
},
{
"dmxRange": [101, 107],
- "type": "ColorWheelIndex",
- "index": 7.5,
- "colors": ["#ff00ff", "#ffbf00"],
- "comment": "Split Magenta / Amber"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 8.5
},
{
"dmxRange": [108, 113],
- "type": "ColorWheelIndex",
- "index": 8,
- "colors": ["#ffbf00"],
- "comment": "Amber"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 9
},
{
"dmxRange": [114, 120],
- "type": "ColorWheelIndex",
- "index": 8.5,
- "colors": ["#ffbf00", "#aaffaa"],
- "comment": "Split Amber / Light Green"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 9.5
},
{
"dmxRange": [121, 127],
- "type": "ColorWheelIndex",
- "index": 9,
- "colors": ["#aaffaa"],
- "comment": "Light Green"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 10
},
{
"dmxRange": [128, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Color Wheel",
"speedStart": "slow CW",
"speedEnd": "fast CW"
}
@@ -306,77 +374,68 @@
"capabilities": [
{
"dmxRange": [0, 12],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 1
},
{
"dmxRange": [13, 25],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#0000ff"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 2
},
{
"dmxRange": [26, 38],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#ffff00"],
- "comment": "Yellow"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 3
},
{
"dmxRange": [39, 51],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#00ff00"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 4
},
{
"dmxRange": [52, 63],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#aaddff"],
- "comment": "Light Blue"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 5
},
{
"dmxRange": [64, 76],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#ff7f00"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 6
},
{
"dmxRange": [77, 89],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#ffaaaa"],
- "comment": "Pink"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 7
},
{
"dmxRange": [90, 102],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#ff00ff"],
- "comment": "Magenta"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 8
},
{
"dmxRange": [103, 115],
- "type": "ColorWheelIndex",
- "index": 8,
- "colors": ["#ffbf00"],
- "comment": "Amber"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 9
},
{
"dmxRange": [116, 127],
- "type": "ColorWheelIndex",
- "index": 9,
- "colors": ["#aaffaa"],
- "comment": "Light Green"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 10
},
{
"dmxRange": [128, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Color Wheel",
"speedStart": "slow CW",
"speedEnd": "fast CW"
}
diff --git a/fixtures/american-dj/boom-box-fx2.json b/fixtures/american-dj/boom-box-fx2.json
index 2223b4662e..fa50f5c957 100644
--- a/fixtures/american-dj/boom-box-fx2.json
+++ b/fixtures/american-dj/boom-box-fx2.json
@@ -336,25 +336,25 @@
"capabilities": [
{
"dmxRange": [0, 127],
- "type": "GoboStencilRotation",
+ "type": "Rotation",
"comment": "indexing",
"angleStart": "0%",
"angleEnd": "100%"
},
{
"dmxRange": [128, 189],
- "type": "GoboStencilRotation",
+ "type": "Rotation",
"speedStart": "slow CW",
"speedEnd": "fast CW"
},
{
"dmxRange": [190, 193],
- "type": "GoboStencilRotation",
+ "type": "Rotation",
"speed": "stop"
},
{
"dmxRange": [194, 255],
- "type": "GoboStencilRotation",
+ "type": "Rotation",
"speedStart": "fast CCW",
"speedEnd": "slow CCW"
}
diff --git a/fixtures/american-dj/inno-pocket-fusion.json b/fixtures/american-dj/inno-pocket-fusion.json
index 4a080e41ef..e0aabe354c 100644
--- a/fixtures/american-dj/inno-pocket-fusion.json
+++ b/fixtures/american-dj/inno-pocket-fusion.json
@@ -35,6 +35,50 @@
"tiltMax": "infinite"
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#ff0000"]
+ },
+ {
+ "type": "Color",
+ "name": "Orange",
+ "colors": ["#ffaa00"]
+ },
+ {
+ "type": "Color",
+ "name": "Yellow",
+ "colors": ["#ffff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#00ff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Blue",
+ "colors": ["#0000ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Light Blue",
+ "colors": ["#77ccff"]
+ },
+ {
+ "type": "Color",
+ "name": "Pink",
+ "colors": ["#ff00ff"]
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"defaultValue": "50%",
@@ -79,112 +123,82 @@
"capabilities": [
{
"dmxRange": [0, 7],
- "type": "ColorWheelIndex",
- "index": 0,
- "comment": "Open",
- "colors": ["#ffffff"]
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [8, 15],
- "type": "ColorWheelIndex",
- "index": 1,
- "comment": "Red",
- "colors": ["#ff0000"]
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [16, 23],
- "type": "ColorWheelIndex",
- "index": 2,
- "comment": "Orange",
- "colors": ["#ffaa00"]
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [24, 31],
- "type": "ColorWheelIndex",
- "index": 3,
- "comment": "Yellow",
- "colors": ["#ffff00"]
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [32, 39],
- "type": "ColorWheelIndex",
- "index": 4,
- "comment": "Green",
- "colors": ["#00ff00"]
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [40, 47],
- "type": "ColorWheelIndex",
- "index": 5,
- "comment": "Blue",
- "colors": ["#0000ff"]
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [48, 55],
- "type": "ColorWheelIndex",
- "index": 6,
- "comment": "Light Blue",
- "colors": ["#77ccff"]
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [56, 63],
- "type": "ColorWheelIndex",
- "index": 7,
- "comment": "Pink",
- "colors": ["#ff00ff"]
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [64, 71],
- "type": "ColorWheelIndex",
- "index": 0.5,
- "comment": "Split Open / Red",
- "colors": ["#ffffff", "#ff0000"]
+ "type": "WheelSlot",
+ "slotNumber": 1.5
},
{
"dmxRange": [72, 79],
- "type": "ColorWheelIndex",
- "index": 1.5,
- "comment": "Split Red / Orange",
- "colors": ["#ff0000", "#ffaa00"]
+ "type": "WheelSlot",
+ "slotNumber": 2.5
},
{
"dmxRange": [80, 87],
- "type": "ColorWheelIndex",
- "index": 2.5,
- "comment": "Split Orange / Yellow",
- "colors": ["#ffaa00", "#ffff00"]
+ "type": "WheelSlot",
+ "slotNumber": 3.5
},
{
"dmxRange": [88, 95],
- "type": "ColorWheelIndex",
- "index": 3.5,
- "comment": "Split Yellow / Green",
- "colors": ["#ffff00", "#00ff00"]
+ "type": "WheelSlot",
+ "slotNumber": 4.5
},
{
"dmxRange": [96, 103],
- "type": "ColorWheelIndex",
- "index": 4.5,
- "comment": "Split Green / Blue",
- "colors": ["#00ff00", "#0000ff"]
+ "type": "WheelSlot",
+ "slotNumber": 5.5
},
{
"dmxRange": [104, 111],
- "type": "ColorWheelIndex",
- "index": 5.5,
- "comment": "Split Blue / Light Blue",
- "colors": ["#0000ff", "#77ccff"]
+ "type": "WheelSlot",
+ "slotNumber": 6.5
},
{
"dmxRange": [112, 127],
- "type": "ColorWheelIndex",
- "index": 6.5,
- "comment": "Split Light Blue / Pink",
- "colors": ["#77ccff", "#ff00ff"]
+ "type": "WheelSlot",
+ "slotNumber": 7.5
},
{
"dmxRange": [128, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW"
}
diff --git a/fixtures/american-dj/vizi-spot-led-pro.json b/fixtures/american-dj/vizi-spot-led-pro.json
index 66f1bbb3b0..001da9a785 100644
--- a/fixtures/american-dj/vizi-spot-led-pro.json
+++ b/fixtures/american-dj/vizi-spot-led-pro.json
@@ -32,6 +32,83 @@
"tiltMax": 270
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#ff0000"]
+ },
+ {
+ "type": "Color",
+ "name": "Blue",
+ "colors": ["#0000ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#00ff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Yellow",
+ "colors": ["#ffff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Purple",
+ "colors": ["#800080"]
+ },
+ {
+ "type": "Color",
+ "name": "Orange",
+ "colors": ["#ffa500"]
+ },
+ {
+ "type": "Color",
+ "name": "UV",
+ "colors": ["#3e0694"]
+ },
+ {
+ "type": "Color",
+ "name": "Pink",
+ "colors": ["#ffc0cb"]
+ }
+ ]
+ },
+ "Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
@@ -59,81 +136,63 @@
"capabilities": [
{
"dmxRange": [0, 14],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [15, 29],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#ff0000"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [30, 44],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#0000ff"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [45, 59],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#00ff00"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [60, 74],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#ffff00"],
- "comment": "Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [75, 89],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#800080"],
- "comment": "Purple"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [90, 104],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#ffa500"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [105, 119],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#3e0694"],
- "comment": "UV"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [120, 127],
- "type": "ColorWheelIndex",
- "index": 8,
- "colors": ["#ffc0cb"],
- "comment": "Pink"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [128, 189],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [190, 193],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [194, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
@@ -145,90 +204,82 @@
"capabilities": [
{
"dmxRange": [0, 9],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [10, 19],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [20, 29],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [30, 39],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [40, 49],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [50, 59],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [60, 69],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [70, 79],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [80, 95],
- "type": "GoboIndex",
- "index": 1,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 2
},
{
"dmxRange": [96, 111],
- "type": "GoboIndex",
- "index": 2,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 3
},
{
"dmxRange": [112, 127],
- "type": "GoboIndex",
- "index": 3,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 4
},
{
"dmxRange": [128, 143],
- "type": "GoboIndex",
- "index": 4,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 5
},
{
"dmxRange": [144, 159],
- "type": "GoboIndex",
- "index": 5,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 6
},
{
"dmxRange": [160, 175],
- "type": "GoboIndex",
- "index": 6,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 7
},
{
"dmxRange": [176, 191],
- "type": "GoboIndex",
- "index": 7,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 8
},
{
"dmxRange": [192, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW"
}
@@ -240,24 +291,28 @@
"capabilities": [
{
"dmxRange": [0, 127],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"angleStart": "0deg",
"angleEnd": "360deg"
},
{
"dmxRange": [128, 189],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [190, 193],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [194, 255],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
diff --git a/fixtures/big-dipper/ls90.json b/fixtures/big-dipper/ls90.json
index 8236d11f3c..f623d171de 100644
--- a/fixtures/big-dipper/ls90.json
+++ b/fixtures/big-dipper/ls90.json
@@ -35,6 +35,106 @@
"tiltMax": 270
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#ff0000"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#00ff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Blue",
+ "colors": ["#0000ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Yellow",
+ "colors": ["#ffff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Fuchsia",
+ "colors": ["#ff00ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Blue Green",
+ "colors": ["#00ffff"]
+ },
+ {
+ "type": "Color",
+ "name": "Dark Yellow",
+ "colors": ["#ccaa00"]
+ }
+ ]
+ },
+ "Glass Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ },
+ "Metal Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
@@ -82,112 +182,82 @@
"capabilities": [
{
"dmxRange": [0, 9],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [10, 19],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#ff0000"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [20, 29],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#00ff00"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [30, 39],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#0000ff"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [40, 49],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#ffff00"],
- "comment": "Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [50, 59],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#ff00ff"],
- "comment": "Fuchsia"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [60, 69],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#00ffff"],
- "comment": "Blue Green"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [70, 79],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#ccaa00"],
- "comment": "Dark Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [80, 89],
- "type": "ColorWheelIndex",
- "index": 7.5,
- "colors": ["#ccaa00", "#ffffff"],
- "comment": "Split Dark Yellow / Open"
+ "type": "WheelSlot",
+ "slotNumber": 8.5
},
{
"dmxRange": [90, 99],
- "type": "ColorWheelIndex",
- "index": 6.5,
- "colors": ["#00ffff", "#ccaa00"],
- "comment": "Split Blue Green / Dark Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 7.5
},
{
"dmxRange": [100, 109],
- "type": "ColorWheelIndex",
- "index": 5.5,
- "colors": ["#ff00ff", "#00ffff"],
- "comment": "Split Fuchsia / Blue Green"
+ "type": "WheelSlot",
+ "slotNumber": 6.5
},
{
"dmxRange": [110, 119],
- "type": "ColorWheelIndex",
- "index": 4.5,
- "colors": ["#ffff00", "#ff00ff"],
- "comment": "Split Yellow / Fuchsia"
+ "type": "WheelSlot",
+ "slotNumber": 5.5
},
{
"dmxRange": [120, 129],
- "type": "ColorWheelIndex",
- "index": 3.5,
- "colors": ["#0000ff", "#ffff00"],
- "comment": "Split Blue / Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 4.5
},
{
"dmxRange": [130, 139],
- "type": "ColorWheelIndex",
- "index": 2.5,
- "colors": ["#00ff00", "#0000ff"],
- "comment": "Split Green / Blue"
+ "type": "WheelSlot",
+ "slotNumber": 3.5
},
{
"dmxRange": [140, 149],
- "type": "ColorWheelIndex",
- "index": 1.5,
- "colors": ["#ff0000", "#00ff00"],
- "comment": "Split Red / Green"
+ "type": "WheelSlot",
+ "slotNumber": 2.5
},
{
"dmxRange": [150, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
@@ -197,43 +267,42 @@
"capabilities": [
{
"dmxRange": [0, 35],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [36, 71],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [72, 107],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [108, 143],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [144, 179],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [180, 215],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [216, 219],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [220, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
@@ -243,26 +312,30 @@
"capabilities": [
{
"dmxRange": [0, 89],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Glass Gobo Wheel",
"angleStart": "0deg",
"angleEnd": "360deg",
"helpWanted": "Is this capability correct?"
},
{
"dmxRange": [90, 167],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Glass Gobo Wheel",
"speedStart": "fast CCW",
"speedEnd": "slow CCW",
"helpWanted": "Does the Gobo still rotate at DMX value 167?"
},
{
"dmxRange": [168, 178],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Glass Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [179, 255],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Glass Gobo Wheel",
"speedStart": "slow CW",
"speedEnd": "fast CW"
}
@@ -277,7 +350,8 @@
},
{
"dmxRange": [11, 250],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Glass Gobo Wheel",
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
@@ -291,53 +365,52 @@
"capabilities": [
{
"dmxRange": [0, 26],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [27, 53],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [54, 80],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [81, 107],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [108, 134],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [135, 161],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [162, 188],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [189, 214],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [215, 219],
- "type": "GoboIndex",
- "index": 8
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [220, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
@@ -352,7 +425,8 @@
},
{
"dmxRange": [11, 250],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Metal Gobo Wheel",
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
diff --git a/fixtures/boomtonedj/crazy-spot-30.json b/fixtures/boomtonedj/crazy-spot-30.json
index fa9533f2c6..876ce4e1f1 100644
--- a/fixtures/boomtonedj/crazy-spot-30.json
+++ b/fixtures/boomtonedj/crazy-spot-30.json
@@ -32,6 +32,64 @@
"tiltMax": 270
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ }
+ ]
+ },
+ "Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
@@ -62,51 +120,43 @@
"capabilities": [
{
"dmxRange": [0, 7],
- "type": "ColorWheelIndex",
- "index": 0,
- "comment": "Color 1"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [8, 14],
- "type": "ColorWheelIndex",
- "index": 1,
- "comment": "Color 2"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [15, 21],
- "type": "ColorWheelIndex",
- "index": 2,
- "comment": "Color 3"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [22, 28],
- "type": "ColorWheelIndex",
- "index": 3,
- "comment": "Color 4"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [29, 35],
- "type": "ColorWheelIndex",
- "index": 4,
- "comment": "Color 5"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [36, 42],
- "type": "ColorWheelIndex",
- "index": 5,
- "comment": "Color 6"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [43, 49],
- "type": "ColorWheelIndex",
- "index": 6,
- "comment": "Color 7"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [50, 56],
- "type": "ColorWheelIndex",
- "index": 7,
- "comment": "Color 8"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [57, 127],
@@ -116,19 +166,19 @@
},
{
"dmxRange": [128, 189],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW",
"helpWanted": "Correct direction?"
},
{
"dmxRange": [190, 193],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [194, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW",
"helpWanted": "Correct direction?"
@@ -139,123 +189,99 @@
"capabilities": [
{
"dmxRange": [0, 7],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Gobo 1"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [8, 15],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Gobo 2"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [16, 23],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Gobo 3"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [24, 31],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Gobo 4"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [32, 39],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Gobo 5"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [40, 47],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Gobo 6"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [48, 55],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Gobo 7"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [56, 63],
- "type": "GoboIndex",
- "index": 7,
- "comment": "Gobo 8"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [64, 71],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Gobo 1",
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 1
},
{
"dmxRange": [72, 79],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Gobo 2",
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 2
},
{
"dmxRange": [80, 87],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Gobo 3",
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 3
},
{
"dmxRange": [88, 95],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Gobo 4",
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 4
},
{
"dmxRange": [96, 103],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Gobo 5",
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 5
},
{
"dmxRange": [104, 111],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Gobo 6",
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 6
},
{
"dmxRange": [112, 119],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Gobo 7",
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 7
},
{
"dmxRange": [120, 127],
- "type": "GoboIndex",
- "index": 7,
- "comment": "Gobo 8",
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 8
},
{
"dmxRange": [128, 189],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW",
"helpWanted": "Correct direction?"
},
{
"dmxRange": [190, 193],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [194, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW",
"helpWanted": "Correct direction?"
diff --git a/fixtures/cameo/gobo-scanner-80.json b/fixtures/cameo/gobo-scanner-80.json
index e4b8237756..7287a56581 100644
--- a/fixtures/cameo/gobo-scanner-80.json
+++ b/fixtures/cameo/gobo-scanner-80.json
@@ -30,6 +30,94 @@
"tiltMax": 90
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Warm Yellow",
+ "colors": ["#f9d716"]
+ },
+ {
+ "type": "Color",
+ "name": "Lavender",
+ "colors": ["#e6e6fa"]
+ },
+ {
+ "type": "Color",
+ "name": "Lime",
+ "colors": ["#bfff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Cyan",
+ "colors": ["#00ffff"]
+ },
+ {
+ "type": "Color",
+ "name": "Amber",
+ "colors": ["#ffbf00"]
+ },
+ {
+ "type": "Color",
+ "name": "Yellow",
+ "colors": ["#ffff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Blue",
+ "colors": ["#0000ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#00ff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#ff0000"]
+ }
+ ]
+ },
+ "Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
@@ -81,82 +169,62 @@
"capabilities": [
{
"dmxRange": [0, 5],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [6, 18],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#f9d716"],
- "comment": "Warm Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [19, 31],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#e6e6fa"],
- "comment": "Lavender"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [32, 44],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#bfff00"],
- "comment": "Lime"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [45, 57],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#00ffff"],
- "comment": "Cyan"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [58, 70],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#ffbf00"],
- "comment": "Amber"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [71, 83],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#ffff00"],
- "comment": "Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [84, 96],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#0000ff"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [97, 109],
- "type": "ColorWheelIndex",
- "index": 8,
- "colors": ["#00ff00"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [110, 122],
- "type": "ColorWheelIndex",
- "index": 9,
- "colors": ["#ff0000"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [123, 128],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [129, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW"
}
@@ -166,132 +234,131 @@
"capabilities": [
{
"dmxRange": [0, 5],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [6, 17],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [18, 29],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [30, 41],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [42, 53],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [54, 65],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [66, 77],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [78, 89],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [90, 101],
- "type": "GoboIndex",
- "index": 8
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [102, 113],
- "type": "GoboIndex",
- "index": 9
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [114, 125],
- "type": "GoboIndex",
- "index": 1,
+ "type": "WheelShake",
+ "slotNumber": 2,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [126, 137],
- "type": "GoboIndex",
- "index": 2,
+ "type": "WheelShake",
+ "slotNumber": 3,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [138, 149],
- "type": "GoboIndex",
- "index": 3,
+ "type": "WheelShake",
+ "slotNumber": 4,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [150, 161],
- "type": "GoboIndex",
- "index": 4,
+ "type": "WheelShake",
+ "slotNumber": 5,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [162, 173],
- "type": "GoboIndex",
- "index": 5,
+ "type": "WheelShake",
+ "slotNumber": 6,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [174, 185],
- "type": "GoboIndex",
- "index": 6,
+ "type": "WheelShake",
+ "slotNumber": 7,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [186, 197],
- "type": "GoboIndex",
- "index": 7,
+ "type": "WheelShake",
+ "slotNumber": 8,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [198, 209],
- "type": "GoboIndex",
- "index": 8,
+ "type": "WheelShake",
+ "slotNumber": 9,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [210, 221],
- "type": "GoboIndex",
- "index": 9,
+ "type": "WheelShake",
+ "slotNumber": 10,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [222, 231],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [232, 243],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW"
},
{
"dmxRange": [244, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CCW",
"speedEnd": "slow CCW"
}
diff --git a/fixtures/cameo/nanospot-120.json b/fixtures/cameo/nanospot-120.json
index 321fd73968..e8605f72cf 100644
--- a/fixtures/cameo/nanospot-120.json
+++ b/fixtures/cameo/nanospot-120.json
@@ -33,6 +33,75 @@
"tiltMax": 230
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#ff0000"]
+ },
+ {
+ "type": "Color",
+ "name": "Orange",
+ "colors": ["#ffaa00"]
+ },
+ {
+ "type": "Color",
+ "name": "Yellow",
+ "colors": ["#ffff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#00ff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Blue",
+ "colors": ["#0000ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Cyan",
+ "colors": ["#00ffff"]
+ },
+ {
+ "type": "Color",
+ "name": "Purple",
+ "colors": ["#ff00ff"]
+ }
+ ]
+ },
+ "Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
@@ -63,69 +132,53 @@
"capabilities": [
{
"dmxRange": [0, 10],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [11, 21],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#ff0000"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [22, 32],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#ffaa00"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [33, 43],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#ffff00"],
- "comment": "Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [44, 54],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#00ff00"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [55, 65],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#0000ff"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [66, 76],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#00ffff"],
- "comment": "Cyan"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [77, 87],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#ff00ff"],
- "comment": "Purple"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [88, 175],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"angleStart": "0deg",
"angleEnd": "360deg"
},
{
"dmxRange": [176, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW"
}
@@ -141,34 +194,29 @@
"capabilities": [
{
"dmxRange": [0, 15],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [16, 124],
- "type": "GoboIndex",
- "indexStart": 1,
- "indexEnd": 6,
- "comment": "Gobo 1 … Gobo 6"
+ "type": "WheelSlot",
+ "slotNumberStart": 2,
+ "slotNumberEnd": 7
},
{
"dmxRange": [125, 234],
- "type": "GoboIndex",
- "indexStart": 1,
- "indexEnd": 6,
- "shakeAngle": "wide",
- "comment": "Gobo 1 … Gobo 6"
+ "type": "WheelShake",
+ "slotNumberStart": 2,
+ "slotNumberEnd": 7
},
{
"dmxRange": [235, 249],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [250, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speed": "fast CW"
}
]
diff --git a/fixtures/clay-paky/alpha-spot-qwo-800.json b/fixtures/clay-paky/alpha-spot-qwo-800.json
index f5deb75178..4258926801 100644
--- a/fixtures/clay-paky/alpha-spot-qwo-800.json
+++ b/fixtures/clay-paky/alpha-spot-qwo-800.json
@@ -45,6 +45,125 @@
"tiltMax": 250
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#ee262d"]
+ },
+ {
+ "type": "Color",
+ "name": "CTO",
+ "colors": ["#f1c136"],
+ "colorTemperature": "2600K"
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#08954d"]
+ },
+ {
+ "type": "Color",
+ "name": "Light Green",
+ "colors": ["#87cf34"]
+ },
+ {
+ "type": "Color",
+ "name": "Lavender",
+ "colors": ["#8566ba"]
+ },
+ {
+ "type": "Color",
+ "name": "Aquamarine",
+ "colors": ["#69c981"]
+ },
+ {
+ "type": "Color",
+ "name": "Orange",
+ "colors": ["#f47327"]
+ },
+ {
+ "type": "Color",
+ "name": "Blue",
+ "colors": ["#2e52ab"]
+ }
+ ]
+ },
+ "Static Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ },
+ "Rotating Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ },
+ "Animation Disk": {
+ "slots": [
+ {
+ "type": "AnimationGoboStart"
+ },
+ {
+ "type": "AnimationGoboEnd"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Cyan": {
"defaultValue": 255,
@@ -82,163 +201,118 @@
"capabilities": [
{
"dmxRange": [0, 0],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [1, 14],
- "type": "ColorWheelIndex",
- "indexStart": 0,
- "indexEnd": 1,
- "colorsStart": ["#ffffff"],
- "colorsEnd": ["#ee262d"],
- "comment": "Open … Red"
+ "type": "WheelSlot",
+ "slotNumberStart": 1,
+ "slotNumberEnd": 2
},
{
"dmxRange": [15, 15],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#ee262d"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [16, 29],
- "type": "ColorWheelIndex",
- "indexStart": 1,
- "indexEnd": 2,
- "colorsStart": ["#ee262d"],
- "colorsEnd": ["#f1c136"],
- "comment": "Red … CTO (2600K)"
+ "type": "WheelSlot",
+ "slotNumberStart": 2,
+ "slotNumberEnd": 3
},
{
"dmxRange": [30, 30],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#f1c136"],
- "comment": "CTO (2600K)"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [31, 44],
- "type": "ColorWheelIndex",
- "indexStart": 2,
- "indexEnd": 3,
- "colorsStart": ["#f1c136"],
- "colorsEnd": ["#08954d"],
- "comment": "CTO (2600K) … Green"
+ "type": "WheelSlot",
+ "slotNumberStart": 3,
+ "slotNumberEnd": 4
},
{
"dmxRange": [45, 45],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#08954d"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [46, 59],
- "type": "ColorWheelIndex",
- "indexStart": 3,
- "indexEnd": 4,
- "colorsStart": ["#08954d"],
- "colorsEnd": ["#87cf34"],
- "comment": "Green … Light Green"
+ "type": "WheelSlot",
+ "slotNumberStart": 4,
+ "slotNumberEnd": 5
},
{
"dmxRange": [60, 60],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#87cf34"],
- "comment": "Light Green"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [61, 74],
- "type": "ColorWheelIndex",
- "indexStart": 4,
- "indexEnd": 5,
- "colorsStart": ["#87cf34"],
- "colorsEnd": ["#8566ba"],
- "comment": "Light Green … Lavender"
+ "type": "WheelSlot",
+ "slotNumberStart": 5,
+ "slotNumberEnd": 6
},
{
"dmxRange": [75, 75],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#8566ba"],
- "comment": "Lavender"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [76, 89],
- "type": "ColorWheelIndex",
- "indexStart": 5,
- "indexEnd": 6,
- "colorsStart": ["#8566ba"],
- "colorsEnd": ["#69c981"],
- "comment": "Lavender … Aquamarine"
+ "type": "WheelSlot",
+ "slotNumberStart": 6,
+ "slotNumberEnd": 7
},
{
"dmxRange": [90, 90],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#69c981"],
- "comment": "Aquamarine"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [91, 104],
- "type": "ColorWheelIndex",
- "indexStart": 6,
- "indexEnd": 7,
- "colorsStart": ["#69c981"],
- "colorsEnd": ["#f47327"],
- "comment": "Aquamarine … Orange"
+ "type": "WheelSlot",
+ "slotNumberStart": 7,
+ "slotNumberEnd": 8
},
{
"dmxRange": [105, 105],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#f47327"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [106, 119],
- "type": "ColorWheelIndex",
- "indexStart": 7,
- "indexEnd": 8,
- "colorsStart": ["#f47327"],
- "colorsEnd": ["#2e52ab"],
- "comment": "Orange … Blue"
+ "type": "WheelSlot",
+ "slotNumberStart": 8,
+ "slotNumberEnd": 9
},
{
"dmxRange": [120, 120],
- "type": "ColorWheelIndex",
- "index": 8,
- "colors": ["#2e52ab"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [121, 127],
- "type": "ColorWheelIndex",
- "indexStart": 8,
- "indexEnd": 9,
- "colorsStart": ["#2e52ab"],
- "colorsEnd": ["#ffffff"],
- "comment": "Blue … Open"
+ "type": "WheelSlot",
+ "slotNumberStart": 9,
+ "slotNumberEnd": 10
},
{
"dmxRange": [128, 190],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "-5rpm",
"speedEnd": "0rpm",
"helpWanted": "Can the color wheel rotate in both directions? The manual only mentions slow to fast rotation in the DMX range 128…255. The capabilities here were imported from the GDTF file and manually edited instead."
},
{
"dmxRange": [191, 192],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [193, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "5rpm",
"speedEnd": "0rpm"
}
@@ -798,120 +872,119 @@
"capabilities": [
{
"dmxRange": [0, 7],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [8, 15],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [16, 23],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [24, 31],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [32, 39],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [40, 47],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [48, 55],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [56, 63],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [64, 71],
- "type": "GoboIndex",
- "index": 8
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [72, 113],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "-100rpm",
"speedEnd": "-5rpm"
},
{
"dmxRange": [114, 117],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [118, 159],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "5rpm",
"speedEnd": "100rpm"
},
{
"dmxRange": [160, 171],
- "type": "GoboIndex",
- "index": 1,
+ "type": "WheelShake",
+ "slotNumber": 2,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [172, 183],
- "type": "GoboIndex",
- "index": 2,
+ "type": "WheelShake",
+ "slotNumber": 3,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [184, 195],
- "type": "GoboIndex",
- "index": 3,
+ "type": "WheelShake",
+ "slotNumber": 4,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [196, 207],
- "type": "GoboIndex",
- "index": 4,
+ "type": "WheelShake",
+ "slotNumber": 5,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [208, 219],
- "type": "GoboIndex",
- "index": 5,
+ "type": "WheelShake",
+ "slotNumber": 6,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [220, 231],
- "type": "GoboIndex",
- "index": 6,
+ "type": "WheelShake",
+ "slotNumber": 7,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [232, 243],
- "type": "GoboIndex",
- "index": 7,
+ "type": "WheelShake",
+ "slotNumber": 8,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [244, 255],
- "type": "GoboIndex",
- "index": 8,
+ "type": "WheelShake",
+ "slotNumber": 9,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
}
@@ -922,91 +995,90 @@
"capabilities": [
{
"dmxRange": [0, 16],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [17, 32],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [33, 48],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [49, 64],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [65, 81],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [82, 97],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [98, 113],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [114, 129],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [130, 147],
- "type": "GoboIndex",
- "index": 1,
+ "type": "WheelShake",
+ "slotNumber": 2,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [148, 165],
- "type": "GoboIndex",
- "index": 2,
+ "type": "WheelShake",
+ "slotNumber": 3,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [166, 183],
- "type": "GoboIndex",
- "index": 3,
+ "type": "WheelShake",
+ "slotNumber": 4,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [184, 201],
- "type": "GoboIndex",
- "index": 4,
+ "type": "WheelShake",
+ "slotNumber": 5,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [202, 219],
- "type": "GoboIndex",
- "index": 5,
+ "type": "WheelShake",
+ "slotNumber": 6,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [220, 237],
- "type": "GoboIndex",
- "index": 6,
+ "type": "WheelShake",
+ "slotNumber": 7,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [238, 255],
- "type": "GoboIndex",
- "index": 7,
+ "type": "WheelShake",
+ "slotNumber": 8,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
}
@@ -1018,89 +1090,105 @@
"capabilities": [
{
"dmxRange": [0, 0],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"angle": "0deg"
},
{
"dmxRange": [1, 20],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"angleStart": "0deg",
"angleEnd": "90deg"
},
{
"dmxRange": [21, 21],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"angle": "90deg"
},
{
"dmxRange": [22, 41],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"angleStart": "90deg",
"angleEnd": "180deg"
},
{
"dmxRange": [42, 42],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"angle": "180deg"
},
{
"dmxRange": [43, 62],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"angleStart": "180deg",
"angleEnd": "270deg"
},
{
"dmxRange": [63, 63],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"angle": "270deg"
},
{
"dmxRange": [64, 83],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"angleStart": "270deg",
"angleEnd": "360deg"
},
{
"dmxRange": [84, 84],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"angle": "360deg"
},
{
"dmxRange": [85, 104],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"angleStart": "360deg",
"angleEnd": "450deg"
},
{
"dmxRange": [105, 105],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"angle": "450deg"
},
{
"dmxRange": [106, 126],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"angleStart": "450deg",
"angleEnd": "540deg"
},
{
"dmxRange": [127, 127],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"angle": "540deg"
},
{
"dmxRange": [128, 190],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"speedStart": "180rpm",
"speedEnd": "0.0367rpm"
},
{
"dmxRange": [191, 192],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [193, 255],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"speedStart": "-0.0367rpm",
"speedEnd": "-180rpm"
}
@@ -1230,18 +1318,21 @@
"capabilities": [
{
"dmxRange": [0, 124],
- "type": "Rotation",
+ "type": "WheelRotation",
+ "wheel": "Animation Disk",
"speedStart": "-120rpm",
"speedEnd": "-0.0733rpm"
},
{
"dmxRange": [125, 125],
- "type": "Rotation",
+ "type": "WheelRotation",
+ "wheel": "Animation Disk",
"speed": "stop"
},
{
"dmxRange": [126, 255],
- "type": "Rotation",
+ "type": "WheelRotation",
+ "wheel": "Animation Disk",
"speedStart": "0.0733rpm",
"speedEnd": "120rpm"
}
diff --git a/fixtures/clay-paky/sharpy.json b/fixtures/clay-paky/sharpy.json
index 7e243e53e2..1eea305f11 100644
--- a/fixtures/clay-paky/sharpy.json
+++ b/fixtures/clay-paky/sharpy.json
@@ -39,252 +39,314 @@
"tiltMax": 250
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#c41c1a"]
+ },
+ {
+ "type": "Color",
+ "name": "Orange",
+ "colors": ["#ed8229"]
+ },
+ {
+ "type": "Color",
+ "name": "Aquamarine",
+ "colors": ["#7abd82"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#05822b"]
+ },
+ {
+ "type": "Color",
+ "name": "Light Green",
+ "colors": ["#9ec233"]
+ },
+ {
+ "type": "Color",
+ "name": "Lavender",
+ "colors": ["#8f73ad"]
+ },
+ {
+ "type": "Color",
+ "name": "Pink",
+ "colors": ["#ed8080"]
+ },
+ {
+ "type": "Color",
+ "name": "Yellow",
+ "colors": ["#ffed00"]
+ },
+ {
+ "type": "Color",
+ "name": "Magenta",
+ "colors": ["#e30082"]
+ },
+ {
+ "type": "Color",
+ "name": "Cyan",
+ "colors": ["#00a6eb"]
+ },
+ {
+ "type": "Color",
+ "name": "CTO 260",
+ "colors": ["#f5c745"]
+ },
+ {
+ "type": "Color",
+ "name": "CTO 190",
+ "colors": ["#f5d985"]
+ },
+ {
+ "type": "Color",
+ "name": "CTB 8000",
+ "colors": ["#96c7b8"]
+ },
+ {
+ "type": "Color",
+ "name": "Blue",
+ "colors": ["#004f99"]
+ }
+ ]
+ },
+ "Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Color Wheel": {
"capabilities": [
{
"dmxRange": [0, 4],
- "type": "ColorWheelIndex",
- "index": 0,
- "comment": "Open",
- "colors": ["#ffffff"]
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [5, 8],
- "type": "ColorWheelIndex",
- "indexStart": 0,
- "indexEnd": 1,
- "colorsStart": ["#ffffff"],
- "colorsEnd": ["#c41c1a"],
- "comment": "Open … Red"
+ "type": "WheelSlot",
+ "slotNumberStart": 1,
+ "slotNumberEnd": 2
},
{
"dmxRange": [9, 12],
- "type": "ColorWheelIndex",
- "index": 1,
- "comment": "Red",
- "colors": ["#c41c1a"]
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [13, 17],
- "type": "ColorWheelIndex",
- "indexStart": 1,
- "indexEnd": 2,
- "colorsStart": ["#c41c1a"],
- "colorsEnd": ["#ed8229"],
- "comment": "Red … Orange"
+ "type": "WheelSlot",
+ "slotNumberStart": 2,
+ "slotNumberEnd": 3
},
{
"dmxRange": [18, 21],
- "type": "ColorWheelIndex",
- "index": 2,
- "comment": "Orange",
- "colors": ["#ed8229"]
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [22, 25],
- "type": "ColorWheelIndex",
- "indexStart": 2,
- "indexEnd": 3,
- "colorsStart": ["#ed8229"],
- "colorsEnd": ["#7abd82"],
- "comment": "Orange … Aquamarine"
+ "type": "WheelSlot",
+ "slotNumberStart": 3,
+ "slotNumberEnd": 4
},
{
"dmxRange": [26, 29],
- "type": "ColorWheelIndex",
- "index": 3,
- "comment": "Aquamarine",
- "colors": ["#7abd82"]
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [30, 34],
- "type": "ColorWheelIndex",
- "indexStart": 3,
- "indexEnd": 4,
- "colorsStart": ["#7abd82"],
- "colorsEnd": ["#05822b"],
- "comment": "Aquamarine … Green"
+ "type": "WheelSlot",
+ "slotNumberStart": 4,
+ "slotNumberEnd": 5
},
{
"dmxRange": [35, 38],
- "type": "ColorWheelIndex",
- "index": 4,
- "comment": "Green",
- "colors": ["#05822b"]
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [39, 42],
- "type": "ColorWheelIndex",
- "indexStart": 4,
- "indexEnd": 5,
- "colorsStart": ["#05822b"],
- "colorsEnd": ["#9ec233"],
- "comment": "Green … Light Green"
+ "type": "WheelSlot",
+ "slotNumberStart": 5,
+ "slotNumberEnd": 6
},
{
"dmxRange": [43, 46],
- "type": "ColorWheelIndex",
- "index": 5,
- "comment": "Light Green",
- "colors": ["#9ec233"]
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [47, 51],
- "type": "ColorWheelIndex",
- "indexStart": 5,
- "indexEnd": 6,
- "colorsStart": ["#9ec233"],
- "colorsEnd": ["#8f73ad"],
- "comment": "Light Green … Lavender"
+ "type": "WheelSlot",
+ "slotNumberStart": 6,
+ "slotNumberEnd": 7
},
{
"dmxRange": [52, 55],
- "type": "ColorWheelIndex",
- "index": 6,
- "comment": "Lavender",
- "colors": ["#8f73ad"]
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [56, 59],
- "type": "ColorWheelIndex",
- "indexStart": 6,
- "indexEnd": 7,
- "colorsStart": ["#8f73ad"],
- "colorsEnd": ["#ed8080"],
- "comment": "Lavender … Pink"
+ "type": "WheelSlot",
+ "slotNumberStart": 7,
+ "slotNumberEnd": 8
},
{
"dmxRange": [60, 63],
- "type": "ColorWheelIndex",
- "index": 7,
- "comment": "Pink",
- "colors": ["#ed8080"]
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [64, 68],
- "type": "ColorWheelIndex",
- "indexStart": 7,
- "indexEnd": 8,
- "colorsStart": ["#ed8080"],
- "colorsEnd": ["#ffed00"],
- "comment": "Pink … Yellow"
+ "type": "WheelSlot",
+ "slotNumberStart": 8,
+ "slotNumberEnd": 9
},
{
"dmxRange": [69, 72],
- "type": "ColorWheelIndex",
- "index": 8,
- "comment": "Yellow",
- "colors": ["#ffed00"]
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [73, 76],
- "type": "ColorWheelIndex",
- "indexStart": 8,
- "indexEnd": 9,
- "colorsStart": ["#ffed00"],
- "colorsEnd": ["#e30082"],
- "comment": "Yellow … Magenta"
+ "type": "WheelSlot",
+ "slotNumberStart": 9,
+ "slotNumberEnd": 10
},
{
"dmxRange": [77, 81],
- "type": "ColorWheelIndex",
- "index": 9,
- "comment": "Magenta",
- "colors": ["#e30082"]
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [82, 85],
- "type": "ColorWheelIndex",
- "indexStart": 9,
- "indexEnd": 10,
- "colorsStart": ["#e30082"],
- "colorsEnd": ["#00a6eb"],
- "comment": "Magenta … Cyan"
+ "type": "WheelSlot",
+ "slotNumberStart": 10,
+ "slotNumberEnd": 11
},
{
"dmxRange": [86, 89],
- "type": "ColorWheelIndex",
- "index": 10,
- "comment": "Cyan",
- "colors": ["#00a6eb"]
+ "type": "WheelSlot",
+ "slotNumber": 11
},
{
"dmxRange": [90, 93],
- "type": "ColorWheelIndex",
- "indexStart": 10,
- "indexEnd": 11,
- "colorsStart": ["#00a6eb"],
- "colorsEnd": ["#f5c745"],
- "comment": "Cyan … CTO 260"
+ "type": "WheelSlot",
+ "slotNumberStart": 11,
+ "slotNumberEnd": 12
},
{
"dmxRange": [94, 98],
- "type": "ColorWheelIndex",
- "index": 11,
- "comment": "CTO 260",
- "colors": ["#f5c745"]
+ "type": "WheelSlot",
+ "slotNumber": 12
},
{
"dmxRange": [99, 102],
- "type": "ColorWheelIndex",
- "indexStart": 11,
- "indexEnd": 12,
- "colorsStart": ["#f5c745"],
- "colorsEnd": ["#f5d985"],
- "comment": "CTO 260 … CTO 190"
+ "type": "WheelSlot",
+ "slotNumberStart": 12,
+ "slotNumberEnd": 13
},
{
"dmxRange": [103, 106],
- "type": "ColorWheelIndex",
- "index": 12,
- "comment": "CTO 190",
- "colors": ["#f5d985"]
+ "type": "WheelSlot",
+ "slotNumber": 13
},
{
"dmxRange": [107, 110],
- "type": "ColorWheelIndex",
- "indexStart": 12,
- "indexEnd": 13,
- "colorsStart": ["#f5d985"],
- "colorsEnd": ["#96c7b8"],
- "comment": "CTO 190 … CTB 8000"
+ "type": "WheelSlot",
+ "slotNumberStart": 13,
+ "slotNumberEnd": 14
},
{
"dmxRange": [111, 115],
- "type": "ColorWheelIndex",
- "index": 13,
- "comment": "CTB 8000",
- "colors": ["#96c7b8"]
+ "type": "WheelSlot",
+ "slotNumber": 14
},
{
"dmxRange": [116, 119],
- "type": "ColorWheelIndex",
- "indexStart": 13,
- "indexEnd": 14,
- "colorsStart": ["#96c7b8"],
- "colorsEnd": ["#004f99"],
- "comment": "CTB 8000 … Blue"
+ "type": "WheelSlot",
+ "slotNumberStart": 14,
+ "slotNumberEnd": 15
},
{
"dmxRange": [120, 123],
- "type": "ColorWheelIndex",
- "index": 14,
- "comment": "Blue",
- "colors": ["#004f99"]
+ "type": "WheelSlot",
+ "slotNumber": 15
},
{
"dmxRange": [124, 127],
- "type": "ColorWheelIndex",
- "indexStart": 14,
- "indexEnd": 0,
- "colorsStart": ["#004f99"],
- "colorsEnd": ["#ffffff"],
- "comment": "Blue … Open"
+ "type": "WheelSlot",
+ "slotNumberStart": 15,
+ "slotNumberEnd": 16
},
{
"dmxRange": [128, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "0.2rpm",
"speedEnd": "160rpm"
}
@@ -358,214 +420,213 @@
"capabilities": [
{
"dmxRange": [0, 3],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [4, 7],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [8, 11],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [12, 15],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [16, 19],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [20, 23],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [24, 27],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [28, 31],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [32, 35],
- "type": "GoboIndex",
- "index": 8
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [36, 39],
- "type": "GoboIndex",
- "index": 9
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [40, 43],
- "type": "GoboIndex",
- "index": 10
+ "type": "WheelSlot",
+ "slotNumber": 11
},
{
"dmxRange": [44, 47],
- "type": "GoboIndex",
- "index": 11
+ "type": "WheelSlot",
+ "slotNumber": 12
},
{
"dmxRange": [48, 51],
- "type": "GoboIndex",
- "index": 12
+ "type": "WheelSlot",
+ "slotNumber": 13
},
{
"dmxRange": [52, 55],
- "type": "GoboIndex",
- "index": 13
+ "type": "WheelSlot",
+ "slotNumber": 14
},
{
"dmxRange": [56, 59],
- "type": "GoboIndex",
- "index": 14
+ "type": "WheelSlot",
+ "slotNumber": 15
},
{
"dmxRange": [60, 63],
- "type": "GoboIndex",
- "index": 15
+ "type": "WheelSlot",
+ "slotNumber": 16
},
{
"dmxRange": [64, 67],
- "type": "GoboIndex",
- "index": 16
+ "type": "WheelSlot",
+ "slotNumber": 17
},
{
"dmxRange": [68, 71],
- "type": "GoboIndex",
- "index": 17
+ "type": "WheelSlot",
+ "slotNumber": 18
},
{
"dmxRange": [72, 113],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "-60rpm",
"speedEnd": "-5rpm"
},
{
"dmxRange": [114, 117],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [118, 159],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "5rpm",
"speedEnd": "60rpm"
},
{
"dmxRange": [160, 166],
- "type": "GoboIndex",
- "index": 2,
+ "type": "WheelShake",
+ "slotNumber": 3,
"shakeSpeedStart": "24bpm",
"shakeSpeedEnd": "600bpm"
},
{
"dmxRange": [167, 172],
- "type": "GoboIndex",
- "index": 3,
+ "type": "WheelShake",
+ "slotNumber": 4,
"shakeSpeedStart": "24bpm",
"shakeSpeedEnd": "600bpm"
},
{
"dmxRange": [173, 179],
- "type": "GoboIndex",
- "index": 4,
+ "type": "WheelShake",
+ "slotNumber": 5,
"shakeSpeedStart": "24bpm",
"shakeSpeedEnd": "600bpm"
},
{
"dmxRange": [180, 185],
- "type": "GoboIndex",
- "index": 5,
+ "type": "WheelShake",
+ "slotNumber": 6,
"shakeSpeedStart": "24bpm",
"shakeSpeedEnd": "600bpm"
},
{
"dmxRange": [186, 191],
- "type": "GoboIndex",
- "index": 6,
+ "type": "WheelShake",
+ "slotNumber": 7,
"shakeSpeedStart": "24bpm",
"shakeSpeedEnd": "600bpm"
},
{
"dmxRange": [192, 198],
- "type": "GoboIndex",
- "index": 7,
+ "type": "WheelShake",
+ "slotNumber": 8,
"shakeSpeedStart": "24bpm",
"shakeSpeedEnd": "600bpm"
},
{
"dmxRange": [199, 204],
- "type": "GoboIndex",
- "index": 8,
+ "type": "WheelShake",
+ "slotNumber": 9,
"shakeSpeedStart": "24bpm",
"shakeSpeedEnd": "600bpm"
},
{
"dmxRange": [205, 211],
- "type": "GoboIndex",
- "index": 9,
+ "type": "WheelShake",
+ "slotNumber": 10,
"shakeSpeedStart": "24bpm",
"shakeSpeedEnd": "600bpm"
},
{
"dmxRange": [212, 217],
- "type": "GoboIndex",
- "index": 10,
+ "type": "WheelShake",
+ "slotNumber": 11,
"shakeSpeedStart": "24bpm",
"shakeSpeedEnd": "600bpm"
},
{
"dmxRange": [218, 223],
- "type": "GoboIndex",
- "index": 11,
+ "type": "WheelShake",
+ "slotNumber": 12,
"shakeSpeedStart": "24bpm",
"shakeSpeedEnd": "600bpm"
},
{
"dmxRange": [224, 230],
- "type": "GoboIndex",
- "index": 12,
+ "type": "WheelShake",
+ "slotNumber": 13,
"shakeSpeedStart": "24bpm",
"shakeSpeedEnd": "600bpm"
},
{
"dmxRange": [231, 236],
- "type": "GoboIndex",
- "index": 13,
+ "type": "WheelShake",
+ "slotNumber": 14,
"shakeSpeedStart": "24bpm",
"shakeSpeedEnd": "600bpm"
},
{
"dmxRange": [237, 243],
- "type": "GoboIndex",
- "index": 14,
+ "type": "WheelShake",
+ "slotNumber": 15,
"shakeSpeedStart": "24bpm",
"shakeSpeedEnd": "600bpm"
},
{
"dmxRange": [244, 249],
- "type": "GoboIndex",
- "index": 15,
+ "type": "WheelShake",
+ "slotNumber": 16,
"shakeSpeedStart": "24bpm",
"shakeSpeedEnd": "600bpm"
},
{
"dmxRange": [250, 255],
- "type": "GoboIndex",
- "index": 16,
+ "type": "WheelShake",
+ "slotNumber": 17,
"shakeSpeedStart": "24bpm",
"shakeSpeedEnd": "600bpm"
}
diff --git a/fixtures/clay-paky/spheriscan.json b/fixtures/clay-paky/spheriscan.json
index 249732b9a5..d21796f6e9 100644
--- a/fixtures/clay-paky/spheriscan.json
+++ b/fixtures/clay-paky/spheriscan.json
@@ -39,6 +39,120 @@
"tiltMax": 60
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Dark red",
+ "colors": ["#dc2919"]
+ },
+ {
+ "type": "Color",
+ "name": "Brilliant blue",
+ "colors": ["#234faa"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#51bc49"]
+ },
+ {
+ "type": "Color",
+ "name": "Half minus green",
+ "colors": ["#eee2d8"]
+ },
+ {
+ "type": "Color",
+ "name": "Light orange",
+ "colors": ["#ff9c35"]
+ },
+ {
+ "type": "Color",
+ "name": "Dark orange",
+ "colors": ["#ff4f23"]
+ },
+ {
+ "type": "Color",
+ "name": "Navy blue",
+ "colors": ["#1356a4"]
+ }
+ ]
+ },
+ "Static Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo",
+ "name": "Small Dots"
+ },
+ {
+ "type": "Gobo",
+ "name": "Shuffle"
+ },
+ {
+ "type": "Gobo",
+ "name": "Floating Squares"
+ },
+ {
+ "type": "Gobo",
+ "name": "Random Lines"
+ },
+ {
+ "type": "Gobo",
+ "name": "Large Bubbles"
+ },
+ {
+ "type": "Gobo",
+ "name": "Shattered"
+ },
+ {
+ "type": "Gobo",
+ "name": "Big Dots"
+ },
+ {
+ "type": "Gobo",
+ "name": "Tunnel"
+ }
+ ]
+ },
+ "Rotating Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo",
+ "name": "Clouds"
+ },
+ {
+ "type": "Gobo",
+ "name": "Eccentric Circle"
+ },
+ {
+ "type": "Gobo",
+ "name": "Multiple Cones"
+ },
+ {
+ "type": "Gobo",
+ "name": "Fat Line"
+ },
+ {
+ "type": "Gobo",
+ "name": "Half Circle"
+ },
+ {
+ "type": "Gobo",
+ "name": "Linear Dots"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Cyan": {
"defaultValue": 0,
@@ -66,119 +180,87 @@
"capabilities": [
{
"dmxRange": [0, 7],
- "type": "ColorWheelIndex",
- "index": 0,
- "comment": "Open",
- "colors": ["#ffffff"]
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [8, 15],
- "type": "ColorWheelIndex",
- "index": 0.5,
- "comment": "Split Open / Dark red",
- "colors": ["#ffffff", "#dc2919"]
+ "type": "WheelSlot",
+ "slotNumber": 1.5
},
{
"dmxRange": [16, 23],
- "type": "ColorWheelIndex",
- "index": 1,
- "comment": "Dark red",
- "colors": ["#dc2919"]
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [24, 31],
- "type": "ColorWheelIndex",
- "index": 1.5,
- "comment": "Split Dark red / Brilliant blue",
- "colors": ["#dc2919", "#234faa"]
+ "type": "WheelSlot",
+ "slotNumber": 2.5
},
{
"dmxRange": [32, 39],
- "type": "ColorWheelIndex",
- "index": 2,
- "comment": "Brilliant blue",
- "colors": ["#234faa"]
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [40, 47],
- "type": "ColorWheelIndex",
- "index": 2.5,
- "comment": "Split Brilliant blue / Green",
- "colors": ["#234faa", "#51bc49"]
+ "type": "WheelSlot",
+ "slotNumber": 3.5
},
{
"dmxRange": [48, 55],
- "type": "ColorWheelIndex",
- "index": 3,
- "comment": "Green",
- "colors": ["#51bc49"]
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [56, 63],
- "type": "ColorWheelIndex",
- "index": 3.5,
- "comment": "Split Green / Half minus green",
- "colors": ["#51bc49", "#eee2d8"]
+ "type": "WheelSlot",
+ "slotNumber": 4.5
},
{
"dmxRange": [64, 71],
- "type": "ColorWheelIndex",
- "index": 4,
- "comment": "Half minus green",
- "colors": ["#eee2d8"]
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [72, 79],
- "type": "ColorWheelIndex",
- "index": 4.5,
- "comment": "Split Half minus green / Light orange",
- "colors": ["#eee2d8", "#ff9c35"]
+ "type": "WheelSlot",
+ "slotNumber": 5.5
},
{
"dmxRange": [80, 87],
- "type": "ColorWheelIndex",
- "index": 5,
- "comment": "Light orange",
- "colors": ["#ff9c35"]
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [88, 95],
- "type": "ColorWheelIndex",
- "index": 5.5,
- "comment": "Split Light orange / Dark orange",
- "colors": ["#ff9c35", "#ff4f23"]
+ "type": "WheelSlot",
+ "slotNumber": 6.5
},
{
"dmxRange": [96, 103],
- "type": "ColorWheelIndex",
- "index": 6,
- "comment": "Dark orange",
- "colors": ["#ff4f23"]
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [104, 111],
- "type": "ColorWheelIndex",
- "index": 6.5,
- "comment": "Split Dark orange / Navy blue",
- "colors": ["#ff4f23", "#1356a4"]
+ "type": "WheelSlot",
+ "slotNumber": 7.5
},
{
"dmxRange": [112, 119],
- "type": "ColorWheelIndex",
- "index": 7,
- "comment": "Navy blue",
- "colors": ["#1356a4"]
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [120, 127],
- "type": "ColorWheelIndex",
- "index": 7.5,
- "comment": "Split Navy blue / Open",
- "colors": ["#1356a4", "#ffffff"]
+ "type": "WheelSlot",
+ "slotNumber": 8.5
},
{
"dmxRange": [128, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "0.73rpm",
"speedEnd": "160rpm"
}
@@ -298,136 +380,119 @@
"capabilities": [
{
"dmxRange": [0, 7],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [8, 15],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Small Dots"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [16, 23],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Shuffle"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [24, 31],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Floating Squares"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [32, 39],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Random Lines"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [40, 47],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Large Bubbles"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [48, 55],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Shattered"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [56, 63],
- "type": "GoboIndex",
- "index": 7,
- "comment": "Big Dots"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [64, 71],
- "type": "GoboIndex",
- "index": 8,
- "comment": "Tunnel"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [72, 113],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "60rpm",
"speedEnd": "5rpm"
},
{
"dmxRange": [114, 117],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [118, 159],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "-5rpm",
"speedEnd": "-60rpm"
},
{
"dmxRange": [160, 171],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Small Dots",
+ "type": "WheelShake",
+ "slotNumber": 2,
"shakeSpeedStart": "24bpm",
"shakeSpeedEnd": "600bpm"
},
{
"dmxRange": [172, 183],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Shuffle",
+ "type": "WheelShake",
+ "slotNumber": 3,
"shakeSpeedStart": "24bpm",
"shakeSpeedEnd": "600bpm"
},
{
"dmxRange": [184, 195],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Floating Squares",
+ "type": "WheelShake",
+ "slotNumber": 4,
"shakeSpeedStart": "24bpm",
"shakeSpeedEnd": "600bpm"
},
{
"dmxRange": [196, 207],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Random Lines",
+ "type": "WheelShake",
+ "slotNumber": 5,
"shakeSpeedStart": "24bpm",
"shakeSpeedEnd": "600bpm"
},
{
"dmxRange": [208, 219],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Large Bubbles",
+ "type": "WheelShake",
+ "slotNumber": 6,
"shakeSpeedStart": "24bpm",
"shakeSpeedEnd": "600bpm"
},
{
"dmxRange": [220, 231],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Shattered",
+ "type": "WheelShake",
+ "slotNumber": 7,
"shakeSpeedStart": "24bpm",
"shakeSpeedEnd": "600bpm"
},
{
"dmxRange": [232, 243],
- "type": "GoboIndex",
- "index": 7,
- "comment": "Big Dots",
+ "type": "WheelShake",
+ "slotNumber": 8,
"shakeSpeedStart": "24bpm",
"shakeSpeedEnd": "600bpm"
},
{
"dmxRange": [244, 255],
- "type": "GoboIndex",
- "index": 8,
- "comment": "Tunnel",
+ "type": "WheelShake",
+ "slotNumber": 9,
"shakeSpeedStart": "24bpm",
"shakeSpeedEnd": "600bpm"
}
@@ -438,91 +503,78 @@
"capabilities": [
{
"dmxRange": [0, 18],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [19, 37],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Clouds"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [38, 56],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Eccentric Circle"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [57, 74],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Multiple Cones"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [75, 92],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Fat Line"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [93, 111],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Half Circle"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [112, 129],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Linear Dots"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [130, 150],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Clouds",
+ "type": "WheelShake",
+ "slotNumber": 2,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [151, 171],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Eccentric Circle",
+ "type": "WheelShake",
+ "slotNumber": 3,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [172, 192],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Multiple Cones",
+ "type": "WheelShake",
+ "slotNumber": 4,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [193, 213],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Fat Line",
+ "type": "WheelShake",
+ "slotNumber": 5,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [214, 234],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Half Circle",
+ "type": "WheelShake",
+ "slotNumber": 6,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [235, 255],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Linear Dots",
+ "type": "WheelShake",
+ "slotNumber": 7,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
}
@@ -535,24 +587,28 @@
"capabilities": [
{
"dmxRange": [0, 125],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"angleStart": "0deg",
"angleEnd": "540deg"
},
{
"dmxRange": [126, 190],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"speedStart": "180rpm",
"speedEnd": "0.36rpm"
},
{
"dmxRange": [191, 192],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [193, 255],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"speedStart": "-0.36rpm",
"speedEnd": "-180rpm"
}
diff --git a/fixtures/coemar/prospot-250-lx.json b/fixtures/coemar/prospot-250-lx.json
index 8b883c3011..fdbce924b9 100644
--- a/fixtures/coemar/prospot-250-lx.json
+++ b/fixtures/coemar/prospot-250-lx.json
@@ -35,6 +35,73 @@
"tiltMax": 284
}
},
+ "wheels": {
+ "Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ },
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
@@ -176,49 +243,57 @@
"capabilities": [
{
"dmxRange": [0, 10],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 1
},
{
"dmxRange": [11, 30],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 2
},
{
"dmxRange": [31, 50],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 3
},
{
"dmxRange": [51, 70],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 4
},
{
"dmxRange": [71, 90],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 5
},
{
"dmxRange": [91, 110],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 6
},
{
"dmxRange": [111, 127],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 7
},
{
"dmxRange": [128, 192],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Gobo Wheel",
"angleStart": "0deg",
"angleEnd": "360deg"
},
{
"dmxRange": [193, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CW",
"speedEnd": "fast CW"
}
@@ -232,7 +307,8 @@
},
{
"dmxRange": [11, 255],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"angleStart": "0deg",
"angleEnd": "360deg"
}
@@ -246,18 +322,21 @@
},
{
"dmxRange": [11, 131],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [132, 134],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [135, 255],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
@@ -300,86 +379,84 @@
"capabilities": [
{
"dmxRange": [0, 4],
- "type": "ColorWheelIndex",
- "index": 0,
- "comment": "Open",
- "colors": ["#ffffff"]
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [5, 9],
- "type": "ColorWheelIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [10, 14],
- "type": "ColorWheelIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [15, 19],
- "type": "ColorWheelIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [20, 24],
- "type": "ColorWheelIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [25, 29],
- "type": "ColorWheelIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [30, 34],
- "type": "ColorWheelIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [35, 39],
- "type": "ColorWheelIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [40, 44],
- "type": "ColorWheelIndex",
- "index": 8
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [45, 49],
- "type": "ColorWheelIndex",
- "index": 9
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [50, 54],
- "type": "ColorWheelIndex",
- "index": 10
+ "type": "WheelSlot",
+ "slotNumber": 11
},
{
"dmxRange": [55, 59],
- "type": "ColorWheelIndex",
- "index": 11
+ "type": "WheelSlot",
+ "slotNumber": 12
},
{
"dmxRange": [60, 127],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"angleStart": "0deg",
"angleEnd": "360deg"
},
{
"dmxRange": [128, 190],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [191, 192],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [193, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
@@ -393,7 +470,8 @@
},
{
"dmxRange": [10, 249],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
@@ -408,57 +486,68 @@
"capabilities": [
{
"dmxRange": [0, 23],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
"shakeAngle": "100%"
},
{
"dmxRange": [24, 47],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
"shakeAngle": "91%"
},
{
"dmxRange": [48, 71],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
"shakeAngle": "82%"
},
{
"dmxRange": [72, 95],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
"shakeAngle": "73%"
},
{
"dmxRange": [96, 119],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
"shakeAngle": "64%"
},
{
"dmxRange": [120, 143],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
"shakeAngle": "55%"
},
{
"dmxRange": [144, 167],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
"shakeAngle": "45%"
},
{
"dmxRange": [168, 191],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
"shakeAngle": "36%"
},
{
"dmxRange": [192, 215],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
"shakeAngle": "27%"
},
{
"dmxRange": [216, 239],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
"shakeAngle": "18%"
},
{
"dmxRange": [240, 255],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
"shakeAngle": "9%"
}
]
@@ -660,43 +749,50 @@
"capabilities": [
{
"dmxRange": [0, 31],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 1
},
{
"dmxRange": [32, 63],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 2
},
{
"dmxRange": [64, 95],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 3
},
{
"dmxRange": [96, 127],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 4
},
{
"dmxRange": [128, 159],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 5
},
{
"dmxRange": [160, 191],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 6
},
{
"dmxRange": [192, 223],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 7
},
{
"dmxRange": [224, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CW",
"speedEnd": "fast CW"
}
@@ -706,24 +802,28 @@
"capabilities": [
{
"dmxRange": [0, 127],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"angleStart": "0deg",
"angleEnd": "360deg"
},
{
"dmxRange": [128, 190],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [191, 192],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [193, 255],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
diff --git a/fixtures/dts/xr1200-wash.json b/fixtures/dts/xr1200-wash.json
index 11b5bca273..d78cb3ddda 100644
--- a/fixtures/dts/xr1200-wash.json
+++ b/fixtures/dts/xr1200-wash.json
@@ -27,6 +27,57 @@
"tiltMax": 320
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "CTO",
+ "colors": ["#ffd85e"],
+ "colorTemperature": "3200K"
+ },
+ {
+ "type": "Color",
+ "name": "CTB",
+ "colors": ["#d1ffff"],
+ "colorTemperature": "5600K"
+ },
+ {
+ "type": "Color",
+ "name": "Purple",
+ "colors": ["#7038aa"]
+ },
+ {
+ "type": "Color",
+ "name": "Orange",
+ "colors": ["#ff7000"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#00c628"]
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#f4001c"]
+ },
+ {
+ "type": "Color",
+ "name": "Dark Blue",
+ "colors": ["#660adb"]
+ },
+ {
+ "type": "Color",
+ "name": "Amber",
+ "colors": ["#ffbf00"]
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
@@ -152,123 +203,93 @@
"capabilities": [
{
"dmxRange": [0, 12],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [13, 25],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#ffd85e"],
- "comment": "CTO (3200K)"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [26, 38],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#d1ffff"],
- "comment": "CTB (5600K)"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [39, 51],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#7038aa"],
- "comment": "Purple"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [52, 64],
- "type": "ColorWheelIndex",
- "index": 3.5,
- "colors": ["#7038aa", "#ff7000"],
- "comment": "Split Purple / Orange"
+ "type": "WheelSlot",
+ "slotNumber": 4.5
},
{
"dmxRange": [65, 77],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#ff7000"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [78, 90],
- "type": "ColorWheelIndex",
- "index": 4.5,
- "colors": ["#ff7000", "#00c628"],
- "comment": "Split Orange / Green"
+ "type": "WheelSlot",
+ "slotNumber": 5.5
},
{
"dmxRange": [91, 103],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#00c628"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [104, 116],
- "type": "ColorWheelIndex",
- "index": 5.5,
- "colors": ["#00c628", "#f4001c"],
- "comment": "Split Green / Red"
+ "type": "WheelSlot",
+ "slotNumber": 6.5
},
{
"dmxRange": [117, 129],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#f4001c"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [130, 142],
- "type": "ColorWheelIndex",
- "index": 6.5,
- "colors": ["#f4001c", "#660adb"],
- "comment": "Split Red / Dark Blue"
+ "type": "WheelSlot",
+ "slotNumber": 7.5
},
{
"dmxRange": [143, 155],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#660adb"],
- "comment": "Dark Blue"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [156, 168],
- "type": "ColorWheelIndex",
- "index": 7.5,
- "colors": ["#660adb", "#ffbf00"],
- "comment": "Split Dark Blue / Amber"
+ "type": "WheelSlot",
+ "slotNumber": 8.5
},
{
"dmxRange": [169, 181],
- "type": "ColorWheelIndex",
- "index": 8,
- "colors": ["#ffbf00"],
- "comment": "Amber"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [182, 197],
- "type": "ColorWheelIndex",
- "index": 8.5,
- "colors": ["#ffbf00", "#ffffff"],
- "comment": "Split Amber / Open"
+ "type": "WheelSlot",
+ "slotNumber": 9.5
},
{
"dmxRange": [198, 224],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [225, 228],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [229, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
diff --git a/fixtures/elation/platinum-hfx.json b/fixtures/elation/platinum-hfx.json
index 5e2c2c7d82..d8f873597d 100644
--- a/fixtures/elation/platinum-hfx.json
+++ b/fixtures/elation/platinum-hfx.json
@@ -29,6 +29,154 @@
"tiltMax": 270
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#ed2024"]
+ },
+ {
+ "type": "Color",
+ "name": "Blue",
+ "colors": ["#20409a"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#0ba14b"]
+ },
+ {
+ "type": "Color",
+ "name": "Yellow",
+ "colors": ["#fff200"]
+ },
+ {
+ "type": "Color",
+ "name": "Pink",
+ "colors": ["#d93595"]
+ },
+ {
+ "type": "Color",
+ "name": "Orange",
+ "colors": ["#f26522"]
+ },
+ {
+ "type": "Color",
+ "name": "Aqua",
+ "colors": ["#149389"]
+ },
+ {
+ "type": "Color",
+ "name": "Magenta",
+ "colors": ["#ec008c"]
+ },
+ {
+ "type": "Color",
+ "name": "Quad color",
+ "colors": ["#3b59a8", "#f6f06b", "#47b749", "#991b1e"]
+ },
+ {
+ "type": "Color",
+ "name": "Cyan",
+ "colors": ["#00aeef"]
+ },
+ {
+ "type": "Color",
+ "name": "CTO",
+ "colors": ["#f26751"]
+ },
+ {
+ "type": "Color",
+ "name": "CTB",
+ "colors": ["#c3e7ec"]
+ },
+ {
+ "type": "Color",
+ "name": "UV",
+ "colors": ["#3e69b3"]
+ }
+ ]
+ },
+ "Rotating Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ },
+ "Static Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
@@ -54,116 +202,88 @@
"capabilities": [
{
"dmxRange": [0, 10],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [11, 19],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#ed2024"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [20, 28],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#20409a"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [29, 37],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#0ba14b"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [38, 46],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#fff200"],
- "comment": "Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [47, 55],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#d93595"],
- "comment": "Pink"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [56, 64],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#f26522"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [65, 73],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#149389"],
- "comment": "Aqua"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [74, 82],
- "type": "ColorWheelIndex",
- "index": 8,
- "colors": ["#ec008c"],
- "comment": "Magenta"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [83, 91],
- "type": "ColorWheelIndex",
- "index": 9,
- "colors": ["#3b59a8", "#f6f06b", "#47b749", "#991b1e"],
- "comment": "Quad color"
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [92, 100],
- "type": "ColorWheelIndex",
- "index": 10,
- "colors": ["#00aeef"],
- "comment": "Cyan"
+ "type": "WheelSlot",
+ "slotNumber": 11
},
{
"dmxRange": [101, 109],
- "type": "ColorWheelIndex",
- "index": 11,
- "colors": ["#f26751"],
- "comment": "CTO"
+ "type": "WheelSlot",
+ "slotNumber": 12
},
{
"dmxRange": [110, 118],
- "type": "ColorWheelIndex",
- "index": 12,
- "colors": ["#c3e7ec"],
- "comment": "CTB"
+ "type": "WheelSlot",
+ "slotNumber": 13
},
{
"dmxRange": [119, 127],
- "type": "ColorWheelIndex",
- "index": 13,
- "colors": ["#3e69b3"],
- "comment": "UV"
+ "type": "WheelSlot",
+ "slotNumber": 14
},
{
"dmxRange": [128, 189],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [190, 193],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [194, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
@@ -178,115 +298,114 @@
},
{
"dmxRange": [12, 21],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [22, 31],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [32, 41],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [42, 51],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [52, 61],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [62, 71],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [72, 81],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [82, 91],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [92, 101],
- "type": "GoboIndex",
- "index": 8
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [102, 112],
- "type": "GoboIndex",
- "index": 1,
+ "type": "WheelShake",
+ "slotNumber": 2,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [113, 123],
- "type": "GoboIndex",
- "index": 2,
+ "type": "WheelShake",
+ "slotNumber": 3,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [124, 134],
- "type": "GoboIndex",
- "index": 3,
+ "type": "WheelShake",
+ "slotNumber": 4,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [135, 145],
- "type": "GoboIndex",
- "index": 4,
+ "type": "WheelShake",
+ "slotNumber": 5,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [146, 156],
- "type": "GoboIndex",
- "index": 5,
+ "type": "WheelShake",
+ "slotNumber": 6,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [157, 167],
- "type": "GoboIndex",
- "index": 6,
+ "type": "WheelShake",
+ "slotNumber": 7,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [168, 178],
- "type": "GoboIndex",
- "index": 7,
+ "type": "WheelShake",
+ "slotNumber": 8,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [179, 189],
- "type": "GoboIndex",
- "index": 8,
+ "type": "WheelShake",
+ "slotNumber": 9,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [190, 223],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [224, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
@@ -298,24 +417,28 @@
"capabilities": [
{
"dmxRange": [0, 127],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"angleStart": "0deg",
"angleEnd": "360deg"
},
{
"dmxRange": [128, 189],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [190, 193],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [194, 255],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
@@ -327,168 +450,167 @@
"capabilities": [
{
"dmxRange": [0, 21],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [22, 28],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [29, 35],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [36, 42],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [43, 49],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [50, 56],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [57, 63],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [64, 70],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [71, 77],
- "type": "GoboIndex",
- "index": 8
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [78, 84],
- "type": "GoboIndex",
- "index": 9
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [85, 91],
- "type": "GoboIndex",
- "index": 10
+ "type": "WheelSlot",
+ "slotNumber": 11
},
{
"dmxRange": [92, 98],
- "type": "GoboIndex",
- "index": 11
+ "type": "WheelSlot",
+ "slotNumber": 12
},
{
"dmxRange": [99, 105],
- "type": "GoboIndex",
- "index": 12
+ "type": "WheelSlot",
+ "slotNumber": 13
},
{
"dmxRange": [106, 112],
- "type": "GoboIndex",
- "index": 1,
+ "type": "WheelShake",
+ "slotNumber": 2,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [113, 119],
- "type": "GoboIndex",
- "index": 2,
+ "type": "WheelShake",
+ "slotNumber": 3,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [120, 126],
- "type": "GoboIndex",
- "index": 3,
+ "type": "WheelShake",
+ "slotNumber": 4,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [127, 133],
- "type": "GoboIndex",
- "index": 4,
+ "type": "WheelShake",
+ "slotNumber": 5,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [134, 140],
- "type": "GoboIndex",
- "index": 5,
+ "type": "WheelShake",
+ "slotNumber": 6,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [141, 147],
- "type": "GoboIndex",
- "index": 6,
+ "type": "WheelShake",
+ "slotNumber": 7,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [148, 154],
- "type": "GoboIndex",
- "index": 7,
+ "type": "WheelShake",
+ "slotNumber": 8,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [155, 161],
- "type": "GoboIndex",
- "index": 8,
+ "type": "WheelShake",
+ "slotNumber": 9,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [162, 168],
- "type": "GoboIndex",
- "index": 9,
+ "type": "WheelShake",
+ "slotNumber": 10,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [169, 175],
- "type": "GoboIndex",
- "index": 10,
+ "type": "WheelShake",
+ "slotNumber": 11,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [176, 182],
- "type": "GoboIndex",
- "index": 11,
+ "type": "WheelShake",
+ "slotNumber": 12,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [183, 189],
- "type": "GoboIndex",
- "index": 12,
+ "type": "WheelShake",
+ "slotNumber": 13,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [190, 221],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [222, 223],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [224, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
diff --git a/fixtures/elation/platinum-spot-15r-pro.json b/fixtures/elation/platinum-spot-15r-pro.json
index 3643b13e0f..bf56859a4b 100644
--- a/fixtures/elation/platinum-spot-15r-pro.json
+++ b/fixtures/elation/platinum-spot-15r-pro.json
@@ -26,6 +26,113 @@
"tiltMax": 270
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ }
+ ]
+ },
+ "Rotating Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ },
+ "Static Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
@@ -51,55 +158,53 @@
"capabilities": [
{
"dmxRange": [0, 18],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [19, 37],
- "type": "ColorWheelIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [38, 56],
- "type": "ColorWheelIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [57, 75],
- "type": "ColorWheelIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [76, 94],
- "type": "ColorWheelIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [95, 113],
- "type": "ColorWheelIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [114, 127],
- "type": "ColorWheelIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [128, 189],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [190, 193],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [194, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
@@ -133,101 +238,92 @@
"capabilities": [
{
"dmxRange": [0, 9],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [10, 19],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [20, 29],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [30, 39],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [40, 49],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [50, 59],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [60, 69],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [70, 79],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [80, 89],
- "type": "GoboIndex",
- "index": 8
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [90, 104],
- "type": "GoboIndex",
- "index": 1,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 2
},
{
"dmxRange": [105, 119],
- "type": "GoboIndex",
- "index": 2,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 3
},
{
"dmxRange": [120, 134],
- "type": "GoboIndex",
- "index": 3,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 4
},
{
"dmxRange": [135, 149],
- "type": "GoboIndex",
- "index": 4,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 5
},
{
"dmxRange": [150, 164],
- "type": "GoboIndex",
- "index": 5,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 6
},
{
"dmxRange": [165, 179],
- "type": "GoboIndex",
- "index": 6,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 7
},
{
"dmxRange": [180, 194],
- "type": "GoboIndex",
- "index": 7,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 8
},
{
"dmxRange": [195, 209],
- "type": "GoboIndex",
- "index": 8,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 9
},
{
"dmxRange": [210, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW"
}
@@ -239,24 +335,28 @@
"capabilities": [
{
"dmxRange": [0, 127],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"angleStart": "0deg",
"angleEnd": "360deg"
},
{
"dmxRange": [128, 189],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [190, 193],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [194, 255],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
@@ -268,181 +368,180 @@
"capabilities": [
{
"dmxRange": [0, 7],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [8, 15],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [16, 23],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [24, 31],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [32, 39],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [40, 47],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [48, 55],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [56, 63],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [64, 71],
- "type": "GoboIndex",
- "index": 8
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [72, 79],
- "type": "GoboIndex",
- "index": 9
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [80, 87],
- "type": "GoboIndex",
- "index": 10
+ "type": "WheelSlot",
+ "slotNumber": 11
},
{
"dmxRange": [88, 95],
- "type": "GoboIndex",
- "index": 11
+ "type": "WheelSlot",
+ "slotNumber": 12
},
{
"dmxRange": [96, 103],
- "type": "GoboIndex",
- "index": 12
+ "type": "WheelSlot",
+ "slotNumber": 13
},
{
"dmxRange": [104, 111],
- "type": "GoboIndex",
- "index": 13
+ "type": "WheelSlot",
+ "slotNumber": 14
},
{
"dmxRange": [112, 119],
- "type": "GoboIndex",
- "index": 14
+ "type": "WheelSlot",
+ "slotNumber": 15
},
{
"dmxRange": [120, 126],
- "type": "GoboIndex",
- "index": 1,
+ "type": "WheelShake",
+ "slotNumber": 2,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [127, 133],
- "type": "GoboIndex",
- "index": 2,
+ "type": "WheelShake",
+ "slotNumber": 3,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [134, 140],
- "type": "GoboIndex",
- "index": 3,
+ "type": "WheelShake",
+ "slotNumber": 4,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [141, 147],
- "type": "GoboIndex",
- "index": 4,
+ "type": "WheelShake",
+ "slotNumber": 5,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [148, 154],
- "type": "GoboIndex",
- "index": 5,
+ "type": "WheelShake",
+ "slotNumber": 6,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [155, 161],
- "type": "GoboIndex",
- "index": 6,
+ "type": "WheelShake",
+ "slotNumber": 7,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [162, 168],
- "type": "GoboIndex",
- "index": 7,
+ "type": "WheelShake",
+ "slotNumber": 8,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [169, 175],
- "type": "GoboIndex",
- "index": 8,
+ "type": "WheelShake",
+ "slotNumber": 9,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [176, 182],
- "type": "GoboIndex",
- "index": 9,
+ "type": "WheelShake",
+ "slotNumber": 10,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [183, 189],
- "type": "GoboIndex",
- "index": 10,
+ "type": "WheelShake",
+ "slotNumber": 11,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [190, 196],
- "type": "GoboIndex",
- "index": 11,
+ "type": "WheelShake",
+ "slotNumber": 12,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [197, 203],
- "type": "GoboIndex",
- "index": 12,
+ "type": "WheelShake",
+ "slotNumber": 13,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [204, 210],
- "type": "GoboIndex",
- "index": 13,
+ "type": "WheelShake",
+ "slotNumber": 14,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [211, 217],
- "type": "GoboIndex",
- "index": 14,
+ "type": "WheelShake",
+ "slotNumber": 15,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [218, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW"
}
diff --git a/fixtures/eurolite/led-tmh-x12.json b/fixtures/eurolite/led-tmh-x12.json
index 53f44fd121..1d0930856c 100644
--- a/fixtures/eurolite/led-tmh-x12.json
+++ b/fixtures/eurolite/led-tmh-x12.json
@@ -36,6 +36,83 @@
"tiltMax": 270
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#ff0000"]
+ },
+ {
+ "type": "Color",
+ "name": "Orange",
+ "colors": ["#ffaa00"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#00ff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Light Blue",
+ "colors": ["#aaccff"]
+ },
+ {
+ "type": "Color",
+ "name": "Purple",
+ "colors": ["#cc00bb"]
+ },
+ {
+ "type": "Color",
+ "name": "Yellow",
+ "colors": ["#ffff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Blue",
+ "colors": ["#0000ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Pink",
+ "colors": ["#ff00ff"]
+ }
+ ]
+ },
+ "Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
@@ -109,133 +186,97 @@
"capabilities": [
{
"dmxRange": [0, 8],
- "type": "ColorWheelIndex",
- "index": 0.5,
- "comment": "Split Open / Red",
- "colors": ["#ffffff", "#ff0000"]
+ "type": "WheelSlot",
+ "slotNumber": 1.5
},
{
"dmxRange": [9, 10],
- "type": "ColorWheelIndex",
- "index": 1,
- "comment": "Red",
- "colors": ["#ff0000"]
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [11, 18],
- "type": "ColorWheelIndex",
- "index": 1.5,
- "comment": "Split Red / Orange",
- "colors": ["#ff0000", "#ffaa00"]
+ "type": "WheelSlot",
+ "slotNumber": 2.5
},
{
"dmxRange": [19, 20],
- "type": "ColorWheelIndex",
- "index": 2,
- "comment": "Orange",
- "colors": ["#ffaa00"]
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [21, 28],
- "type": "ColorWheelIndex",
- "index": 2.5,
- "comment": "Split Orange / Green",
- "colors": ["#ffaa00", "#00ff00"]
+ "type": "WheelSlot",
+ "slotNumber": 3.5
},
{
"dmxRange": [29, 30],
- "type": "ColorWheelIndex",
- "index": 3,
- "comment": "Green",
- "colors": ["#00ff00"]
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [31, 38],
- "type": "ColorWheelIndex",
- "index": 3.5,
- "comment": "Split Green / Light Blue",
- "colors": ["#00ff00", "#aaccff"]
+ "type": "WheelSlot",
+ "slotNumber": 4.5
},
{
"dmxRange": [39, 40],
- "type": "ColorWheelIndex",
- "index": 4,
- "comment": "Light Blue",
- "colors": ["#aaccff"]
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [41, 48],
- "type": "ColorWheelIndex",
- "index": 4.5,
- "comment": "Split Light Blue / Purple",
- "colors": ["#aaccff", "#cc00bb"]
+ "type": "WheelSlot",
+ "slotNumber": 5.5
},
{
"dmxRange": [49, 50],
- "type": "ColorWheelIndex",
- "index": 5,
- "comment": "Purple",
- "colors": ["#cc00bb"]
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [51, 58],
- "type": "ColorWheelIndex",
- "index": 5.5,
- "comment": "Split Purple / Yellow",
- "colors": ["#cc00bb", "#ffff00"]
+ "type": "WheelSlot",
+ "slotNumber": 6.5
},
{
"dmxRange": [59, 60],
- "type": "ColorWheelIndex",
- "index": 6,
- "comment": "Yellow",
- "colors": ["#ffff00"]
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [61, 68],
- "type": "ColorWheelIndex",
- "index": 6.5,
- "comment": "Split Yellow / Blue",
- "colors": ["#ffff00", "#0000ff"]
+ "type": "WheelSlot",
+ "slotNumber": 7.5
},
{
"dmxRange": [69, 70],
- "type": "ColorWheelIndex",
- "index": 7,
- "comment": "Blue",
- "colors": ["#0000ff"]
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [71, 78],
- "type": "ColorWheelIndex",
- "index": 7.5,
- "comment": "Split Blue / Pink",
- "colors": ["#0000ff", "#ff00ff"]
+ "type": "WheelSlot",
+ "slotNumber": 8.5
},
{
"dmxRange": [79, 80],
- "type": "ColorWheelIndex",
- "index": 8,
- "comment": "Pink",
- "colors": ["#ff00ff"]
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [81, 88],
- "type": "ColorWheelIndex",
- "index": 8.5,
- "comment": "Split Pink / Open",
- "colors": ["#ff00ff", "#ffffff"]
+ "type": "WheelSlot",
+ "slotNumber": 9.5
},
{
"dmxRange": [89, 90],
- "type": "ColorWheelIndex",
- "index": 0,
- "comment": "Open",
- "colors": ["#ffffff"]
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [91, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW"
}
@@ -245,118 +286,95 @@
"capabilities": [
{
"dmxRange": [0, 4],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [5, 9],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Gobo 1"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [10, 14],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Gobo 2"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [15, 19],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Gobo 3"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [20, 24],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Gobo 4"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [25, 29],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Gobo 5"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [30, 34],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Gobo 6"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [35, 39],
- "type": "GoboIndex",
- "index": 7,
- "comment": "Gobo 7"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [40, 129],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CCW",
"speedEnd": "slow CCW"
},
{
"dmxRange": [130, 134],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [135, 220],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW"
},
{
"dmxRange": [221, 225],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Gobo 1",
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 2
},
{
"dmxRange": [226, 230],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Gobo 2",
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 3
},
{
"dmxRange": [231, 235],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Gobo 3",
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 4
},
{
"dmxRange": [236, 240],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Gobo 4",
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 5
},
{
"dmxRange": [241, 245],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Gobo 5",
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 6
},
{
"dmxRange": [246, 250],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Gobo 6",
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 7
},
{
"dmxRange": [251, 255],
- "type": "GoboIndex",
- "index": 7,
- "comment": "Gobo 7",
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 8
}
]
},
@@ -368,24 +386,28 @@
},
{
"dmxRange": [64, 126],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "fast CCW",
"speedEnd": "slow CCW"
},
{
"dmxRange": [127, 127],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [128, 191],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CW",
"speedEnd": "fast CW"
},
{
"dmxRange": [192, 192],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speed": "stop"
},
{
diff --git a/fixtures/futurelight/dmh-75-i-led-moving-head.json b/fixtures/futurelight/dmh-75-i-led-moving-head.json
index 462f7949f1..0208f4f7bd 100644
--- a/fixtures/futurelight/dmh-75-i-led-moving-head.json
+++ b/fixtures/futurelight/dmh-75-i-led-moving-head.json
@@ -29,6 +29,67 @@
"tiltMax": "infinite"
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ }
+ ]
+ },
+ "Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
@@ -242,7 +303,8 @@
},
{
"dmxRange": [32, 47],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Color Wheel",
"speed": "fast CW",
"switchChannels": {
"Color wheel": "Color wheel speed CW"
@@ -250,7 +312,8 @@
},
{
"dmxRange": [48, 63],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Color Wheel",
"speed": "fast CCW",
"switchChannels": {
"Color wheel": "Color wheel speed CCW"
@@ -266,8 +329,8 @@
},
{
"dmxRange": [80, 111],
- "type": "Effect",
- "effectName": "Color Wheel shake",
+ "type": "WheelShake",
+ "wheel": "Color Wheel",
"switchChannels": {
"Color wheel": "Color wheel: Color selection"
}
@@ -285,70 +348,80 @@
"capabilities": [
{
"dmxRange": [0, 27],
- "type": "ColorWheelIndex",
- "index": 0,
- "comment": "Open",
- "colors": ["#ffffff"]
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 1
},
{
"dmxRange": [28, 55],
- "type": "ColorWheelIndex",
- "index": 1
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 2
},
{
"dmxRange": [56, 83],
- "type": "ColorWheelIndex",
- "index": 2
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 3
},
{
"dmxRange": [84, 111],
- "type": "ColorWheelIndex",
- "index": 3
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 4
},
{
"dmxRange": [112, 139],
- "type": "ColorWheelIndex",
- "index": 4
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 5
},
{
"dmxRange": [140, 167],
- "type": "ColorWheelIndex",
- "index": 5
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 6
},
{
"dmxRange": [168, 195],
- "type": "ColorWheelIndex",
- "index": 6
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 7
},
{
"dmxRange": [196, 223],
- "type": "ColorWheelIndex",
- "index": 7
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 8
},
{
"dmxRange": [224, 255],
- "type": "ColorWheelIndex",
- "index": 8
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 9
}
]
},
"Color wheel speed CW": {
"capability": {
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Color Wheel",
"speedStart": "slow CW",
"speedEnd": "fast CW"
}
},
"Color wheel speed CCW": {
"capability": {
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Color Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
},
"Color wheel position": {
"capability": {
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Color Wheel",
"angleStart": "0deg",
"angleEnd": "360deg"
}
@@ -358,171 +431,187 @@
"capabilities": [
{
"dmxRange": [0, 5],
- "type": "ColorWheelIndex",
- "index": 0,
- "comment": "Open",
- "colors": ["#ffffff"]
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 1
},
{
"dmxRange": [6, 11],
- "type": "ColorWheelIndex",
- "index": 1
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 2
},
{
"dmxRange": [12, 17],
- "type": "ColorWheelIndex",
- "index": 2
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 3
},
{
"dmxRange": [18, 23],
- "type": "ColorWheelIndex",
- "index": 3
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 4
},
{
"dmxRange": [24, 29],
- "type": "ColorWheelIndex",
- "index": 4
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 5
},
{
"dmxRange": [30, 35],
- "type": "ColorWheelIndex",
- "index": 5
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 6
},
{
"dmxRange": [36, 41],
- "type": "ColorWheelIndex",
- "index": 6
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 7
},
{
"dmxRange": [42, 47],
- "type": "ColorWheelIndex",
- "index": 7
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 8
},
{
"dmxRange": [48, 53],
- "type": "ColorWheelIndex",
- "index": 8
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 9
},
{
"dmxRange": [54, 59],
- "type": "ColorWheelIndex",
- "index": 0,
- "comment": "Open (blackout at color change)",
- "colors": ["#ffffff"]
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 1,
+ "comment": "blackout at color change"
},
{
"dmxRange": [60, 65],
- "type": "ColorWheelIndex",
- "index": 1,
- "comment": "Color 1 (blackout at color change)"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 2,
+ "comment": "blackout at color change"
},
{
"dmxRange": [66, 71],
- "type": "ColorWheelIndex",
- "index": 2,
- "comment": "Color 2 (blackout at color change)"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 3,
+ "comment": "blackout at color change"
},
{
"dmxRange": [72, 77],
- "type": "ColorWheelIndex",
- "index": 3,
- "comment": "Color 3 (blackout at color change)"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 4,
+ "comment": "blackout at color change"
},
{
"dmxRange": [78, 83],
- "type": "ColorWheelIndex",
- "index": 4,
- "comment": "Color 4 (blackout at color change)"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 5,
+ "comment": "blackout at color change"
},
{
"dmxRange": [84, 89],
- "type": "ColorWheelIndex",
- "index": 5,
- "comment": "Color 5 (blackout at color change)"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 6,
+ "comment": "blackout at color change"
},
{
"dmxRange": [90, 95],
- "type": "ColorWheelIndex",
- "index": 6,
- "comment": "Color 6 (blackout at color change)"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 7,
+ "comment": "blackout at color change"
},
{
"dmxRange": [96, 101],
- "type": "ColorWheelIndex",
- "index": 7,
- "comment": "Color 7 (blackout at color change)"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 8,
+ "comment": "blackout at color change"
},
{
"dmxRange": [102, 106],
- "type": "ColorWheelIndex",
- "index": 8,
- "comment": "Color 8 (blackout at color change)"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 9,
+ "comment": "blackout at color change"
},
{
"dmxRange": [107, 119],
- "type": "ColorWheelIndex",
- "index": 0,
- "comment": "Open shake",
- "colors": ["#ffffff"]
+ "type": "WheelShake",
+ "wheel": "Color Wheel",
+ "slotNumber": 1
},
{
"dmxRange": [120, 132],
- "type": "ColorWheelIndex",
- "index": 1,
- "comment": "Color 1 shake"
+ "type": "WheelShake",
+ "wheel": "Color Wheel",
+ "slotNumber": 2
},
{
"dmxRange": [133, 145],
- "type": "ColorWheelIndex",
- "index": 2,
- "comment": "Color 2 shake"
+ "type": "WheelShake",
+ "wheel": "Color Wheel",
+ "slotNumber": 3
},
{
"dmxRange": [146, 158],
- "type": "ColorWheelIndex",
- "index": 3,
- "comment": "Color 3 shake"
+ "type": "WheelShake",
+ "wheel": "Color Wheel",
+ "slotNumber": 4
},
{
"dmxRange": [159, 171],
- "type": "ColorWheelIndex",
- "index": 4,
- "comment": "Color 4 shake"
+ "type": "WheelShake",
+ "wheel": "Color Wheel",
+ "slotNumber": 5
},
{
"dmxRange": [172, 184],
- "type": "ColorWheelIndex",
- "index": 5,
- "comment": "Color 5 shake"
+ "type": "WheelShake",
+ "wheel": "Color Wheel",
+ "slotNumber": 6
},
{
"dmxRange": [185, 197],
- "type": "ColorWheelIndex",
- "index": 6,
- "comment": "Color 6 shake"
+ "type": "WheelShake",
+ "wheel": "Color Wheel",
+ "slotNumber": 7
},
{
"dmxRange": [198, 210],
- "type": "ColorWheelIndex",
- "index": 7,
- "comment": "Color 7 shake"
+ "type": "WheelShake",
+ "wheel": "Color Wheel",
+ "slotNumber": 8
},
{
"dmxRange": [211, 223],
- "type": "ColorWheelIndex",
- "index": 8,
- "comment": "Color 8 shake"
+ "type": "WheelShake",
+ "wheel": "Color Wheel",
+ "slotNumber": 9
},
{
"dmxRange": [224, 239],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Color Wheel",
"speedStart": "slow CW",
"speedEnd": "fast CW",
"comment": "Forwards rainbow effect"
},
{
"dmxRange": [240, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Color Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW",
"comment": "Backwards rainbow effect"
@@ -574,7 +663,8 @@
},
{
"dmxRange": [80, 95],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
"switchChannels": {
"Gobo wheel": "Gobo wheel: Gobo selection"
}
@@ -592,44 +682,51 @@
"capabilities": [
{
"dmxRange": [0, 31],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 1
},
{
"dmxRange": [32, 63],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 2
},
{
"dmxRange": [64, 95],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 3
},
{
"dmxRange": [96, 127],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 4
},
{
"dmxRange": [128, 159],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 5
},
{
"dmxRange": [160, 191],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 6
},
{
"dmxRange": [192, 223],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 7
},
{
"dmxRange": [224, 255],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 8
}
]
},
@@ -637,12 +734,14 @@
"capabilities": [
{
"dmxRange": [0, 7],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [8, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CW",
"speedEnd": "fast CW"
}
@@ -652,12 +751,14 @@
"capabilities": [
{
"dmxRange": [0, 7],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [8, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
@@ -665,7 +766,8 @@
},
"Gobo wheel position": {
"capability": {
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Gobo Wheel",
"angleStart": "0deg",
"angleEnd": "360deg"
}
@@ -675,92 +777,107 @@
"capabilities": [
{
"dmxRange": [0, 5],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 1
},
{
"dmxRange": [6, 11],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 2
},
{
"dmxRange": [12, 17],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 3
},
{
"dmxRange": [18, 23],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 4
},
{
"dmxRange": [24, 29],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 5
},
{
"dmxRange": [30, 35],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 6
},
{
"dmxRange": [36, 41],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 7
},
{
"dmxRange": [42, 47],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 8
},
{
"dmxRange": [48, 53],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open (blackout at gobo change)"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 1,
+ "comment": "blackout at gobo change"
},
{
"dmxRange": [54, 59],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Gobo 1 (blackout at gobo change)"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 2,
+ "comment": "blackout at gobo change"
},
{
"dmxRange": [60, 65],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Gobo 2 (blackout at gobo change)"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 3,
+ "comment": "blackout at gobo change"
},
{
"dmxRange": [66, 71],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Gobo 3 (blackout at gobo change)"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 4,
+ "comment": "blackout at gobo change"
},
{
"dmxRange": [72, 77],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Gobo 4 (blackout at gobo change)"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 5,
+ "comment": "blackout at gobo change"
},
{
"dmxRange": [78, 83],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Gobo 5 (blackout at gobo change)"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 6,
+ "comment": "blackout at gobo change"
},
{
"dmxRange": [84, 89],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Gobo 6 (blackout at gobo change)"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 7,
+ "comment": "blackout at gobo change"
},
{
"dmxRange": [90, 95],
- "type": "GoboIndex",
- "index": 7,
- "comment": "Gobo 7 (blackout at gobo change)"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 8,
+ "comment": "blackout at gobo change"
},
{
"dmxRange": [96, 97],
@@ -769,65 +886,69 @@
},
{
"dmxRange": [98, 115],
- "type": "GoboIndex",
- "index": 1,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 2
},
{
"dmxRange": [116, 133],
- "type": "GoboIndex",
- "index": 2,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 3
},
{
"dmxRange": [134, 151],
- "type": "GoboIndex",
- "index": 3,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 4
},
{
"dmxRange": [152, 169],
- "type": "GoboIndex",
- "index": 4,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 5
},
{
"dmxRange": [170, 187],
- "type": "GoboIndex",
- "index": 5,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 6
},
{
"dmxRange": [188, 205],
- "type": "GoboIndex",
- "index": 6,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 7
},
{
"dmxRange": [206, 223],
- "type": "GoboIndex",
- "index": 7,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 8
},
{
"dmxRange": [224, 224],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [225, 239],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CW",
"speedEnd": "fast CW"
},
{
"dmxRange": [240, 240],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [241, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
@@ -903,7 +1024,8 @@
},
"Gobo indexing": {
"capability": {
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"angleStart": "0deg",
"angleEnd": "360deg"
}
@@ -912,12 +1034,14 @@
"capabilities": [
{
"dmxRange": [0, 7],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [8, 255],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CW",
"speedEnd": "fast CW"
}
@@ -927,12 +1051,14 @@
"capabilities": [
{
"dmxRange": [0, 7],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [8, 255],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
@@ -950,7 +1076,8 @@
"capabilities": [
{
"dmxRange": [0, 191],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"angleStart": "0deg",
"angleEnd": "360deg"
},
@@ -970,23 +1097,27 @@
},
{
"dmxRange": [224, 224],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [225, 239],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CW",
"speedEnd": "fast CW"
},
{
"dmxRange": [240, 240],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [241, 255],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
diff --git a/fixtures/futurelight/sc-250-scanner.json b/fixtures/futurelight/sc-250-scanner.json
index db6b00dc72..ee81685407 100644
--- a/fixtures/futurelight/sc-250-scanner.json
+++ b/fixtures/futurelight/sc-250-scanner.json
@@ -28,6 +28,124 @@
"type": "Mirror"
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Turquoise",
+ "colors": ["#40e0d0"]
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#ff0000"]
+ },
+ {
+ "type": "Color",
+ "name": "Cyan",
+ "colors": ["#00ffff"]
+ },
+ {
+ "type": "Color",
+ "name": "Lightgreen",
+ "colors": ["#90ee90"]
+ },
+ {
+ "type": "Color",
+ "name": "Magenta",
+ "colors": ["#ff00ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Lightblue",
+ "colors": ["#66ccff"]
+ },
+ {
+ "type": "Color",
+ "name": "Yellow",
+ "colors": ["#ffff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#00ff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Pink",
+ "colors": ["#ffaaaa"]
+ },
+ {
+ "type": "Color",
+ "name": "Blue",
+ "colors": ["#0000ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Orange",
+ "colors": ["#ffaa00"]
+ },
+ {
+ "type": "Color",
+ "name": "UV",
+ "colors": ["#7f1ae5"]
+ },
+ {
+ "type": "Color",
+ "name": "Red-Blue",
+ "colors": ["#ff0000", "#0000ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Yellow-Green",
+ "colors": ["#ffff00", "#00ff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Lightblue-Magenta",
+ "colors": ["#66ccff", "#ff00ff"]
+ }
+ ]
+ },
+ "Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"defaultValue": 128,
@@ -49,131 +167,99 @@
"capabilities": [
{
"dmxRange": [0, 7],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [8, 15],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#40e0d0"],
- "comment": "Turquoise"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [16, 23],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#ff0000"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [24, 31],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#00ffff"],
- "comment": "Cyan"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [32, 39],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#90ee90"],
- "comment": "Lightgreen"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [40, 47],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#ff00ff"],
- "comment": "Magenta"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [48, 55],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#66ccff"],
- "comment": "Lightblue"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [56, 63],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#ffff00"],
- "comment": "Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [64, 71],
- "type": "ColorWheelIndex",
- "index": 8,
- "colors": ["#00ff00"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [72, 79],
- "type": "ColorWheelIndex",
- "index": 9,
- "colors": ["#ffaaaa"],
- "comment": "Pink"
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [80, 87],
- "type": "ColorWheelIndex",
- "index": 10,
- "colors": ["#0000ff"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "slotNumber": 11
},
{
"dmxRange": [88, 95],
- "type": "ColorWheelIndex",
- "index": 11,
- "colors": ["#ffaa00"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 12
},
{
"dmxRange": [96, 103],
- "type": "ColorWheelIndex",
- "index": 12,
- "colors": ["#7f1ae5"],
- "comment": "UV"
+ "type": "WheelSlot",
+ "slotNumber": 13
},
{
"dmxRange": [104, 111],
- "type": "ColorWheelIndex",
- "index": 13,
- "colors": ["#ff0000", "#0000ff"],
- "comment": "Red-Blue"
+ "type": "WheelSlot",
+ "slotNumber": 14
},
{
"dmxRange": [112, 119],
- "type": "ColorWheelIndex",
- "index": 14,
- "colors": ["#ffff00", "#00ff00"],
- "comment": "Yellow-Green"
+ "type": "WheelSlot",
+ "slotNumber": 15
},
{
"dmxRange": [120, 127],
- "type": "ColorWheelIndex",
- "index": 15,
- "colors": ["#66ccff", "#ff00ff"],
- "comment": "Lightblue-Magenta"
+ "type": "WheelSlot",
+ "slotNumber": 16
},
{
"dmxRange": [128, 190],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW",
"comment": "Rainbow Effect"
},
{
"dmxRange": [191, 192],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [193, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW",
"comment": "Rainbow Effect"
@@ -184,54 +270,53 @@
"capabilities": [
{
"dmxRange": [0, 23],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [24, 47],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [48, 79],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [80, 103],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [104, 127],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [128, 151],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [152, 175],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [176, 207],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [208, 231],
- "type": "GoboIndex",
- "index": 8
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [232, 255],
- "type": "GoboIndex",
- "index": 9
+ "type": "WheelSlot",
+ "slotNumber": 10
}
]
},
@@ -239,24 +324,28 @@
"capabilities": [
{
"dmxRange": [0, 127],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"angleStart": "0deg",
"angleEnd": "360deg"
},
{
"dmxRange": [128, 191],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [192, 193],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [194, 255],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
diff --git a/fixtures/glp/impression-spot-one.json b/fixtures/glp/impression-spot-one.json
index 669f9cf9b0..668c3a2395 100644
--- a/fixtures/glp/impression-spot-one.json
+++ b/fixtures/glp/impression-spot-one.json
@@ -33,6 +33,78 @@
"tiltMax": 280
}
},
+ "wheels": {
+ "Gobo Wheel 1": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo",
+ "name": "4 Circles"
+ },
+ {
+ "type": "Gobo",
+ "name": "Vertical Bars"
+ },
+ {
+ "type": "Gobo",
+ "name": "Two Light Tunnels"
+ },
+ {
+ "type": "Gobo",
+ "name": "Triangles Random"
+ },
+ {
+ "type": "Gobo",
+ "name": "Dash Mini"
+ },
+ {
+ "type": "Gobo",
+ "name": "Dots Medium"
+ },
+ {
+ "type": "Gobo",
+ "name": "Starry Night Dense"
+ }
+ ]
+ },
+ "Gobo Wheel 2": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo",
+ "name": "Cone"
+ },
+ {
+ "type": "Gobo",
+ "name": "Leaves Foliage"
+ },
+ {
+ "type": "Gobo",
+ "name": "Teeth"
+ },
+ {
+ "type": "Gobo",
+ "name": "Shreds"
+ },
+ {
+ "type": "Gobo",
+ "name": "Angry Hurricane"
+ },
+ {
+ "type": "Gobo",
+ "name": "Shredded Earth"
+ },
+ {
+ "type": "Gobo",
+ "name": "Diamond Pattern"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
@@ -284,195 +356,195 @@
},
{
"dmxRange": [16, 23],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel 1",
"shakeAngleStart": "12.5%",
"shakeAngleEnd": "100%",
- "shakeSpeed": "12.5%",
- "comment": "Gobowheel 1"
+ "shakeSpeed": "12.5%"
},
{
"dmxRange": [24, 31],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel 1",
"shakeAngleStart": "12.5%",
"shakeAngleEnd": "100%",
- "shakeSpeed": "25%",
- "comment": "Gobowheel 1"
+ "shakeSpeed": "25%"
},
{
"dmxRange": [32, 39],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel 1",
"shakeAngleStart": "12.5%",
"shakeAngleEnd": "100%",
- "shakeSpeed": "37.5%",
- "comment": "Gobowheel 1"
+ "shakeSpeed": "37.5%"
},
{
"dmxRange": [40, 47],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel 1",
"shakeAngleStart": "12.5%",
"shakeAngleEnd": "100%",
- "shakeSpeed": "50%",
- "comment": "Gobowheel 1"
+ "shakeSpeed": "50%"
},
{
"dmxRange": [48, 55],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel 1",
"shakeAngleStart": "12.5%",
"shakeAngleEnd": "100%",
- "shakeSpeed": "62.5%",
- "comment": "Gobowheel 1"
+ "shakeSpeed": "62.5%"
},
{
"dmxRange": [56, 63],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel 1",
"shakeAngleStart": "12.5%",
"shakeAngleEnd": "100%",
- "shakeSpeed": "75%",
- "comment": "Gobowheel 1"
+ "shakeSpeed": "75%"
},
{
"dmxRange": [64, 71],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel 1",
"shakeAngleStart": "12.5%",
"shakeAngleEnd": "100%",
- "shakeSpeed": "87.5%",
- "comment": "Gobowheel 1"
+ "shakeSpeed": "87.5%"
},
{
"dmxRange": [72, 79],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel 1",
"shakeAngleStart": "12.5%",
"shakeAngleEnd": "100%",
- "shakeSpeed": "100%",
- "comment": "Gobowheel 1"
+ "shakeSpeed": "100%"
},
{
"dmxRange": [80, 87],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel 2",
"shakeAngleStart": "12.5%",
"shakeAngleEnd": "100%",
- "shakeSpeed": "12.5%",
- "comment": "Gobowheel 2"
+ "shakeSpeed": "12.5%"
},
{
"dmxRange": [88, 95],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel 2",
"shakeAngleStart": "12.5%",
"shakeAngleEnd": "100%",
- "shakeSpeed": "25%",
- "comment": "Gobowheel 2"
+ "shakeSpeed": "25%"
},
{
"dmxRange": [96, 103],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel 2",
"shakeAngleStart": "12.5%",
"shakeAngleEnd": "100%",
- "shakeSpeed": "37.5%",
- "comment": "Gobowheel 2"
+ "shakeSpeed": "37.5%"
},
{
"dmxRange": [104, 111],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel 2",
"shakeAngleStart": "12.5%",
"shakeAngleEnd": "100%",
- "shakeSpeed": "50%",
- "comment": "Gobowheel 2"
+ "shakeSpeed": "50%"
},
{
"dmxRange": [112, 119],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel 2",
"shakeAngleStart": "12.5%",
"shakeAngleEnd": "100%",
- "shakeSpeed": "62.5%",
- "comment": "Gobowheel 2"
+ "shakeSpeed": "62.5%"
},
{
"dmxRange": [120, 127],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel 2",
"shakeAngleStart": "12.5%",
"shakeAngleEnd": "100%",
- "shakeSpeed": "75%",
- "comment": "Gobowheel 2"
+ "shakeSpeed": "75%"
},
{
"dmxRange": [128, 135],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel 2",
"shakeAngleStart": "12.5%",
"shakeAngleEnd": "100%",
- "shakeSpeed": "87.5%",
- "comment": "Gobowheel 2"
+ "shakeSpeed": "87.5%"
},
{
"dmxRange": [136, 143],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel 2",
"shakeAngleStart": "12.5%",
"shakeAngleEnd": "100%",
- "shakeSpeed": "100%",
- "comment": "Gobowheel 2"
+ "shakeSpeed": "100%"
},
{
"dmxRange": [144, 151],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": ["Gobo Wheel 1", "Gobo Wheel 2"],
"shakeAngleStart": "12.5%",
"shakeAngleEnd": "100%",
- "shakeSpeed": "12.5%",
- "comment": "Gobowheel 1&2"
+ "shakeSpeed": "12.5%"
},
{
"dmxRange": [152, 159],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": ["Gobo Wheel 1", "Gobo Wheel 2"],
"shakeAngleStart": "12.5%",
"shakeAngleEnd": "100%",
- "shakeSpeed": "25%",
- "comment": "Gobowheel 1&2"
+ "shakeSpeed": "25%"
},
{
"dmxRange": [160, 167],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": ["Gobo Wheel 1", "Gobo Wheel 2"],
"shakeAngleStart": "12.5%",
"shakeAngleEnd": "100%",
- "shakeSpeed": "37.5%",
- "comment": "Gobowheel 1&2"
+ "shakeSpeed": "37.5%"
},
{
"dmxRange": [168, 175],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": ["Gobo Wheel 1", "Gobo Wheel 2"],
"shakeAngleStart": "12.5%",
"shakeAngleEnd": "100%",
- "shakeSpeed": "50%",
- "comment": "Gobowheel 1&2"
+ "shakeSpeed": "50%"
},
{
"dmxRange": [176, 183],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": ["Gobo Wheel 1", "Gobo Wheel 2"],
"shakeAngleStart": "12.5%",
"shakeAngleEnd": "100%",
- "shakeSpeed": "62.5%",
- "comment": "Gobowheel 1&2"
+ "shakeSpeed": "62.5%"
},
{
"dmxRange": [184, 191],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": ["Gobo Wheel 1", "Gobo Wheel 2"],
"shakeAngleStart": "12.5%",
"shakeAngleEnd": "100%",
- "shakeSpeed": "75%",
- "comment": "Gobowheel 1&2"
+ "shakeSpeed": "75%"
},
{
"dmxRange": [192, 199],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": ["Gobo Wheel 1", "Gobo Wheel 2"],
"shakeAngleStart": "12.5%",
"shakeAngleEnd": "100%",
- "shakeSpeed": "87.5%",
- "comment": "Gobowheel 1&2"
+ "shakeSpeed": "87.5%"
},
{
"dmxRange": [200, 207],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": ["Gobo Wheel 1", "Gobo Wheel 2"],
"shakeAngleStart": "12.5%",
"shakeAngleEnd": "100%",
- "shakeSpeed": "100%",
- "comment": "Gobowheel 1&2"
+ "shakeSpeed": "100%"
},
{
"dmxRange": [208, 249],
@@ -695,66 +767,58 @@
"capabilities": [
{
"dmxRange": [0, 15],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [16, 31],
- "type": "GoboIndex",
- "index": 2,
- "comment": "4 Circles"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [32, 47],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Vertical Bars"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [48, 63],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Two Light Tunnels"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [64, 79],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Triangles Random"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [80, 95],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Dash Mini"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [96, 111],
- "type": "GoboIndex",
- "index": 7,
- "comment": "Dots Medium"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [112, 126],
- "type": "GoboIndex",
- "index": 8,
- "comment": "Starry Night Dense"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [127, 127],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [128, 192],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW"
},
{
"dmxRange": [193, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
@@ -766,30 +830,35 @@
"capabilities": [
{
"dmxRange": [0, 127],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 1",
"angleStart": "0deg",
"angleEnd": "540deg"
},
{
"dmxRange": [128, 129],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 1",
"speed": "stop"
},
{
"dmxRange": [130, 192],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 1",
"speedStart": "slow CW",
"speedEnd": "fast CW"
},
{
"dmxRange": [193, 253],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 1",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
},
{
"dmxRange": [254, 255],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 1",
"speed": "stop"
}
]
@@ -798,66 +867,58 @@
"capabilities": [
{
"dmxRange": [0, 15],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [16, 31],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Cone"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [32, 47],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Leaves Foliage"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [48, 63],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Teeth"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [64, 79],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Shreds"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [80, 95],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Angry Hurricane"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [96, 111],
- "type": "GoboIndex",
- "index": 7,
- "comment": "Shredded Earth"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [112, 126],
- "type": "GoboIndex",
- "index": 8,
- "comment": "Diamond Pattern"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [127, 127],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [128, 192],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW"
},
{
"dmxRange": [193, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
@@ -869,30 +930,35 @@
"capabilities": [
{
"dmxRange": [0, 127],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 2",
"angleStart": "0deg",
"angleEnd": "540deg"
},
{
"dmxRange": [128, 129],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 2",
"speed": "stop"
},
{
"dmxRange": [130, 192],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 2",
"speedStart": "slow CW",
"speedEnd": "fast CW"
},
{
"dmxRange": [193, 253],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 2",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
},
{
"dmxRange": [254, 255],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 2",
"speed": "stop"
}
]
diff --git a/fixtures/hong-yi/hy-g60.json b/fixtures/hong-yi/hy-g60.json
index fef1f77111..fd3fd901a5 100644
--- a/fixtures/hong-yi/hy-g60.json
+++ b/fixtures/hong-yi/hy-g60.json
@@ -38,6 +38,78 @@
"tiltMax": 180
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#ff0000"]
+ },
+ {
+ "type": "Color",
+ "name": "Orange",
+ "colors": ["#ffaa00"]
+ },
+ {
+ "type": "Color",
+ "name": "Yellow",
+ "colors": ["#ffff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#19ff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Blue",
+ "colors": ["#0000ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Purple",
+ "colors": ["#ff01fb"]
+ },
+ {
+ "type": "Color",
+ "name": "Cyan",
+ "colors": ["#00fbff"]
+ }
+ ]
+ },
+ "Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
@@ -59,118 +131,88 @@
"capabilities": [
{
"dmxRange": [0, 10],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [11, 21],
- "type": "ColorWheelIndex",
- "index": 0.5,
- "colors": ["#ffffff", "#ff0000"],
- "comment": "Split Open / Red"
+ "type": "WheelSlot",
+ "slotNumber": 1.5
},
{
"dmxRange": [22, 32],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#ff0000"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [33, 43],
- "type": "ColorWheelIndex",
- "index": 1.5,
- "colors": ["#ff0000", "#ffaa00"],
- "comment": "Split Red / Orange"
+ "type": "WheelSlot",
+ "slotNumber": 2.5
},
{
"dmxRange": [44, 54],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#ffaa00"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [55, 65],
- "type": "ColorWheelIndex",
- "index": 2.5,
- "colors": ["#ffaa00", "#ffff00"],
- "comment": "Split Orange / Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 3.5
},
{
"dmxRange": [66, 76],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#ffff00"],
- "comment": "Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [77, 87],
- "type": "ColorWheelIndex",
- "index": 3.5,
- "colors": ["#ffff00", "#19ff00"],
- "comment": "Split Yellow / Green"
+ "type": "WheelSlot",
+ "slotNumber": 4.5
},
{
"dmxRange": [88, 98],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#19ff00"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [99, 109],
- "type": "ColorWheelIndex",
- "index": 4.5,
- "colors": ["#19ff00", "#0000ff"],
- "comment": "Split Green / Blue"
+ "type": "WheelSlot",
+ "slotNumber": 5.5
},
{
"dmxRange": [110, 120],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#0000ff"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [121, 131],
- "type": "ColorWheelIndex",
- "index": 5.5,
- "colors": ["#0000ff", "#ff01fb"],
- "comment": "Split Blue / Purple"
+ "type": "WheelSlot",
+ "slotNumber": 6.5
},
{
"dmxRange": [132, 142],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#ff01fb"],
- "comment": "Purple"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [143, 153],
- "type": "ColorWheelIndex",
- "index": 6.5,
- "colors": ["#ff01fb", "#00fbff"],
- "comment": "Split Purple / Cyan"
+ "type": "WheelSlot",
+ "slotNumber": 7.5
},
{
"dmxRange": [154, 159],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#00fbff"],
- "comment": "Cyan"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [160, 207],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW"
},
{
"dmxRange": [208, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
@@ -180,96 +222,88 @@
"capabilities": [
{
"dmxRange": [0, 9],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [10, 19],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [20, 29],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [30, 39],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [40, 49],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [50, 59],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [60, 69],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [70, 79],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [80, 89],
- "type": "GoboIndex",
- "index": 7,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 8
},
{
"dmxRange": [90, 99],
- "type": "GoboIndex",
- "index": 6,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 7
},
{
"dmxRange": [100, 109],
- "type": "GoboIndex",
- "index": 5,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 6
},
{
"dmxRange": [110, 119],
- "type": "GoboIndex",
- "index": 4,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 5
},
{
"dmxRange": [120, 129],
- "type": "GoboIndex",
- "index": 3,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 4
},
{
"dmxRange": [130, 139],
- "type": "GoboIndex",
- "index": 2,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 3
},
{
"dmxRange": [140, 149],
- "type": "GoboIndex",
- "index": 1,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 2
},
{
"dmxRange": [150, 202],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW"
},
{
"dmxRange": [203, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
diff --git a/fixtures/jb-lighting/varyscan-p7.json b/fixtures/jb-lighting/varyscan-p7.json
index bce43d44a9..d048565eba 100644
--- a/fixtures/jb-lighting/varyscan-p7.json
+++ b/fixtures/jb-lighting/varyscan-p7.json
@@ -30,6 +30,119 @@
"tiltMax": 280
}
},
+ "wheels": {
+ "Gobo Wheel 1": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ },
+ "Gobo Wheel 2": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ },
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#ff0000"]
+ },
+ {
+ "type": "Color",
+ "name": "Yellow",
+ "colors": ["#ffff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Magenta",
+ "colors": ["#ff00ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#00ff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Amber",
+ "colors": ["#ffbf00"]
+ },
+ {
+ "type": "Color",
+ "name": "Dark Blue",
+ "colors": ["#0000aa"]
+ },
+ {
+ "type": "Color",
+ "name": "Turquoise",
+ "colors": ["#40e0d0"]
+ },
+ {
+ "type": "Color",
+ "name": "Pink",
+ "colors": ["#ff88cc"]
+ },
+ {
+ "type": "Color",
+ "name": "CTO",
+ "colors": ["#ffd2b0"]
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
@@ -432,64 +545,63 @@
"capabilities": [
{
"dmxRange": [0, 7],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [8, 15],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [16, 23],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [24, 31],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [32, 39],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [40, 47],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [48, 55],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [56, 63],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [64, 71],
- "type": "GoboIndex",
- "index": 8
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [72, 191],
- "type": "GoboIndex",
- "index": 9
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [192, 223],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [224, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
@@ -500,39 +612,38 @@
"capabilities": [
{
"dmxRange": [0, 7],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [8, 15],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [16, 23],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [24, 31],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [32, 39],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [40, 47],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [48, 255],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
}
]
},
@@ -542,23 +653,27 @@
"capabilities": [
{
"dmxRange": [0, 191],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 2",
"angleStart": "0deg",
"angleEnd": "540deg"
},
{
"dmxRange": [192, 222],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 2",
"speed": "fast CW"
},
{
"dmxRange": [223, 223],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 2",
"speed": "stop"
},
{
"dmxRange": [224, 255],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 2",
"speed": "fast CCW"
}
]
@@ -568,143 +683,103 @@
"capabilities": [
{
"dmxRange": [0, 1],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [2, 3],
- "type": "ColorWheelIndex",
- "index": 0.5,
- "colors": ["#ffffff", "#ff0000"],
- "comment": "Split Open / Red"
+ "type": "WheelSlot",
+ "slotNumber": 1.5
},
{
"dmxRange": [4, 5],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#ff0000"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [6, 7],
- "type": "ColorWheelIndex",
- "index": 1.5,
- "colors": ["#ff0000", "#ffff00"],
- "comment": "Split Red / Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 2.5
},
{
"dmxRange": [8, 9],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#ffff00"],
- "comment": "Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [10, 11],
- "type": "ColorWheelIndex",
- "index": 2.5,
- "colors": ["#ffff00", "#ff00ff"],
- "comment": "Split Yellow / Magenta"
+ "type": "WheelSlot",
+ "slotNumber": 3.5
},
{
"dmxRange": [12, 13],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#ff00ff"],
- "comment": "Magenta"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [14, 15],
- "type": "ColorWheelIndex",
- "index": 3.5,
- "colors": ["#ff00ff", "#00ff00"],
- "comment": "Split Magenta / Green"
+ "type": "WheelSlot",
+ "slotNumber": 4.5
},
{
"dmxRange": [16, 17],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#00ff00"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [18, 19],
- "type": "ColorWheelIndex",
- "index": 4.5,
- "colors": ["#00ff00", "#ffbf00"],
- "comment": "Split Green / Amber"
+ "type": "WheelSlot",
+ "slotNumber": 5.5
},
{
"dmxRange": [20, 21],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#ffbf00"],
- "comment": "Amber"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [22, 23],
- "type": "ColorWheelIndex",
- "index": 5.5,
- "colors": ["#ffbf00", "#0000aa"],
- "comment": "Split Amber / Dark Blue"
+ "type": "WheelSlot",
+ "slotNumber": 6.5
},
{
"dmxRange": [24, 25],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#0000aa"],
- "comment": "Dark Blue"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [26, 27],
- "type": "ColorWheelIndex",
- "index": 6.5,
- "colors": ["#0000aa", "#40e0d0"],
- "comment": "Split Dark Blue / Turquoise"
+ "type": "WheelSlot",
+ "slotNumber": 7.5
},
{
"dmxRange": [28, 29],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#40e0d0"],
- "comment": "Turquoise"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [30, 31],
- "type": "ColorWheelIndex",
- "index": 7.5,
- "colors": ["#40e0d0", "#ff88cc"],
- "comment": "Split Turquoise / Pink"
+ "type": "WheelSlot",
+ "slotNumber": 8.5
},
{
"dmxRange": [32, 33],
- "type": "ColorWheelIndex",
- "index": 8,
- "colors": ["#ff88cc"],
- "comment": "Pink"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [34, 35],
- "type": "ColorWheelIndex",
- "index": 8.5,
- "colors": ["#ff88cc", "#ffd2b0"],
- "comment": "Split Pink / CTO"
+ "type": "WheelSlot",
+ "slotNumber": 9.5
},
{
"dmxRange": [36, 37],
- "type": "ColorWheelIndex",
- "index": 9,
- "colors": ["#ffd2b0"],
- "comment": "CTO"
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [38, 39],
- "type": "ColorWheelIndex",
- "index": 9.5,
- "colors": ["#ffd2b0", "#ffffff"],
- "comment": "Split CTO / Open"
+ "type": "WheelSlot",
+ "slotNumber": 10.5
},
{
"dmxRange": [40, 63],
@@ -712,20 +787,20 @@
},
{
"dmxRange": [64, 191],
- "type": "ColorWheelRotation",
- "comment": "Colors linear, beginning from white",
+ "type": "WheelRotation",
"angleStart": "0deg",
- "angleEnd": "360deg"
+ "angleEnd": "360deg",
+ "comment": "Colors linear, beginning from white"
},
{
"dmxRange": [192, 223],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [224, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
diff --git a/fixtures/kam/gobotracer.json b/fixtures/kam/gobotracer.json
index ad42f3dede..10f0fc17f8 100644
--- a/fixtures/kam/gobotracer.json
+++ b/fixtures/kam/gobotracer.json
@@ -27,6 +27,78 @@
"tiltMax": 230
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#ff0000"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#00ff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Blue",
+ "colors": ["#0000ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Yellow",
+ "colors": ["#ffff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Purple",
+ "colors": ["#ff00ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Orange",
+ "colors": ["#ffaa00"]
+ },
+ {
+ "type": "Color",
+ "name": "Cyan",
+ "colors": ["#00ffff"]
+ }
+ ]
+ },
+ "Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
@@ -50,119 +122,87 @@
"capabilities": [
{
"dmxRange": [0, 9],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [10, 19],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#ff0000"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [20, 29],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#00ff00"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [30, 39],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#0000ff"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [40, 49],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#ffff00"],
- "comment": "Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [50, 59],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#ff00ff"],
- "comment": "Purple"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [60, 69],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#ffaa00"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [70, 79],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#00ffff"],
- "comment": "Cyan"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [80, 89],
- "type": "ColorWheelIndex",
- "index": 0.5,
- "colors": ["#ffffff", "#ff0000"],
- "comment": "Split Open / Red"
+ "type": "WheelSlot",
+ "slotNumber": 1.5
},
{
"dmxRange": [90, 99],
- "type": "ColorWheelIndex",
- "index": 1.5,
- "colors": ["#ff0000", "#00ff00"],
- "comment": "Split Red / Green"
+ "type": "WheelSlot",
+ "slotNumber": 2.5
},
{
"dmxRange": [100, 109],
- "type": "ColorWheelIndex",
- "index": 2.5,
- "colors": ["#00ff00", "#0000ff"],
- "comment": "Split Green / Blue"
+ "type": "WheelSlot",
+ "slotNumber": 3.5
},
{
"dmxRange": [110, 119],
- "type": "ColorWheelIndex",
- "index": 3.5,
- "colors": ["#0000ff", "#ffff00"],
- "comment": "Split Blue / Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 4.5
},
{
"dmxRange": [120, 129],
- "type": "ColorWheelIndex",
- "index": 4.5,
- "colors": ["#ffff00", "#ff00ff"],
- "comment": "Split Yellow / Purple"
+ "type": "WheelSlot",
+ "slotNumber": 5.5
},
{
"dmxRange": [130, 139],
- "type": "ColorWheelIndex",
- "index": 5.5,
- "colors": ["#ff00ff", "#ffaa00"],
- "comment": "Split Purple / Orange"
+ "type": "WheelSlot",
+ "slotNumber": 6.5
},
{
"dmxRange": [140, 149],
- "type": "ColorWheelIndex",
- "index": 6.5,
- "colors": ["#ffaa00", "#00ffff"],
- "comment": "Split Orange / Cyan"
+ "type": "WheelSlot",
+ "slotNumber": 7.5
},
{
"dmxRange": [150, 159],
- "type": "ColorWheelIndex",
- "index": 7.5,
- "colors": ["#00ffff", "#ffffff"],
- "comment": "Split Cyan / Open"
+ "type": "WheelSlot",
+ "slotNumber": 8.5
},
{
"dmxRange": [160, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW",
"comment": "Color scroll"
@@ -173,57 +213,54 @@
"capabilities": [
{
"dmxRange": [0, 7],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [8, 15],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [16, 23],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [24, 31],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [32, 39],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [40, 47],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [48, 55],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [56, 63],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [64, 127],
- "type": "GoboIndex",
- "indexStart": 1,
- "indexEnd": 7,
- "shakeAngle": "wide",
- "comment": "Gobo 1 … Gobo 7",
+ "type": "WheelShake",
+ "slotNumberStart": 2,
+ "slotNumberEnd": 8,
"helpWanted": "At which DMX values can which Gobos be selected?"
},
{
"dmxRange": [128, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW"
}
diff --git a/fixtures/lightmaxx/dj-scan-led.json b/fixtures/lightmaxx/dj-scan-led.json
index c8157be36e..f41f7a256e 100644
--- a/fixtures/lightmaxx/dj-scan-led.json
+++ b/fixtures/lightmaxx/dj-scan-led.json
@@ -22,6 +22,48 @@
"type": "Mirror"
}
},
+ "wheels": {
+ "Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"defaultValue": "50%",
@@ -116,134 +158,122 @@
"capabilities": [
{
"dmxRange": [0, 8],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [9, 17],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [18, 26],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [27, 35],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [36, 44],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [45, 53],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [54, 62],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [63, 71],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [72, 80],
- "type": "GoboIndex",
- "index": 8
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [81, 89],
- "type": "GoboIndex",
- "index": 9
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [90, 98],
- "type": "GoboIndex",
- "index": 10
+ "type": "WheelSlot",
+ "slotNumber": 11
},
{
"dmxRange": [99, 107],
- "type": "GoboIndex",
- "index": 11
+ "type": "WheelSlot",
+ "slotNumber": 12
},
{
"dmxRange": [108, 116],
- "type": "GoboIndex",
- "index": 1,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 2
},
{
"dmxRange": [117, 125],
- "type": "GoboIndex",
- "index": 2,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 3
},
{
"dmxRange": [126, 134],
- "type": "GoboIndex",
- "index": 3,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 4
},
{
"dmxRange": [135, 143],
- "type": "GoboIndex",
- "index": 4,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 5
},
{
"dmxRange": [144, 152],
- "type": "GoboIndex",
- "index": 5,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 6
},
{
"dmxRange": [153, 161],
- "type": "GoboIndex",
- "index": 6,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 7
},
{
"dmxRange": [162, 170],
- "type": "GoboIndex",
- "index": 7,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 8
},
{
"dmxRange": [171, 179],
- "type": "GoboIndex",
- "index": 8,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 9
},
{
"dmxRange": [180, 188],
- "type": "GoboIndex",
- "index": 9,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 10
},
{
"dmxRange": [189, 197],
- "type": "GoboIndex",
- "index": 10,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 11
},
{
"dmxRange": [198, 206],
- "type": "GoboIndex",
- "index": 11,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 12
},
{
"dmxRange": [207, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW"
}
diff --git a/fixtures/lixada/mini-gobo-moving-head-light.json b/fixtures/lixada/mini-gobo-moving-head-light.json
index 8c96b358d8..376e3dc190 100644
--- a/fixtures/lixada/mini-gobo-moving-head-light.json
+++ b/fixtures/lixada/mini-gobo-moving-head-light.json
@@ -40,6 +40,78 @@
"tiltMax": 180
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Color",
+ "name": "Blue",
+ "colors": ["#0000ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Pink",
+ "colors": ["#ff00ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#ff0000"]
+ },
+ {
+ "type": "Color",
+ "name": "Pale Blue",
+ "colors": ["#88dddd"]
+ },
+ {
+ "type": "Color",
+ "name": "Yellow",
+ "colors": ["#ffff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#00ff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Orange",
+ "colors": ["#ffaa00"]
+ },
+ {
+ "type": "Open"
+ }
+ ]
+ },
+ "Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
@@ -61,27 +133,27 @@
"capabilities": [
{
"dmxRange": [0, 127],
- "type": "ColorWheelIndex",
- "indexStart": 0,
- "indexEnd": 7,
+ "type": "WheelSlot",
+ "slotNumberStart": 1,
+ "slotNumberEnd": 8,
"comment": "blue/pink/red/pale blue/yellow/green/orange/white",
- "helpWanted": "Which color can be selected at which DMX values?"
+ "helpWanted": "Which color can be selected at which DMX values? Is the Color Wheel correct?"
},
{
"dmxRange": [128, 189],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CCW",
"speedEnd": "slow CCW",
"helpWanted": "Is this counterclockwise or clockwise?"
},
{
"dmxRange": [190, 193],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [194, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW",
"helpWanted": "Is this counterclockwise or clockwise?"
@@ -92,36 +164,33 @@
"capabilities": [
{
"dmxRange": [0, 63],
- "type": "GoboIndex",
- "indexStart": 0,
- "indexEnd": 7,
- "comment": "Open … Gobo 7",
+ "type": "WheelSlot",
+ "slotNumberStart": 1,
+ "slotNumberEnd": 8,
"helpWanted": "Which Gobo can be selected at which DMX values?"
},
{
"dmxRange": [64, 127],
- "type": "GoboIndex",
- "indexStart": 0,
- "indexEnd": 7,
- "shakeAngle": "wide",
- "comment": "Open … Gobo 7",
+ "type": "WheelShake",
+ "slotNumberStart": 1,
+ "slotNumberEnd": 8,
"helpWanted": "Which Gobo can be selected at which DMX values?"
},
{
"dmxRange": [128, 189],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW",
"helpWanted": "Is this counterclockwise or clockwise?"
},
{
"dmxRange": [190, 193],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [194, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW",
"helpWanted": "Is this counterclockwise or clockwise?"
diff --git a/fixtures/martin/mac-600.json b/fixtures/martin/mac-600.json
index 429f1ddbbb..c23997bb9d 100644
--- a/fixtures/martin/mac-600.json
+++ b/fixtures/martin/mac-600.json
@@ -36,6 +36,27 @@
"tiltMax": 306
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Shutter / Strobe / Reset / Lamp": {
"capabilities": [
@@ -147,68 +168,62 @@
"capabilities": [
{
"dmxRange": [0, 40],
- "type": "ColorWheelIndex",
- "indexStart": 0,
- "indexEnd": 1,
- "comment": "Open … Color 1"
+ "type": "WheelSlot",
+ "slotNumberStart": 1,
+ "slotNumberEnd": 2
},
{
"dmxRange": [41, 80],
- "type": "ColorWheelIndex",
- "indexStart": 1,
- "indexEnd": 2,
- "comment": "Color 1 … Color 2"
+ "type": "WheelSlot",
+ "slotNumberStart": 2,
+ "slotNumberEnd": 3
},
{
"dmxRange": [81, 120],
- "type": "ColorWheelIndex",
- "indexStart": 2,
- "indexEnd": 3,
- "comment": "Color 2 … Color 3"
+ "type": "WheelSlot",
+ "slotNumberStart": 3,
+ "slotNumberEnd": 4
},
{
"dmxRange": [121, 160],
- "type": "ColorWheelIndex",
- "indexStart": 3,
- "indexEnd": 4,
- "comment": "Color 3 … Color 4"
+ "type": "WheelSlot",
+ "slotNumberStart": 4,
+ "slotNumberEnd": 5
},
{
"dmxRange": [161, 165],
- "type": "ColorWheelIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [166, 170],
- "type": "ColorWheelIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [171, 175],
- "type": "ColorWheelIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [176, 180],
- "type": "ColorWheelIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [181, 185],
- "type": "ColorWheelIndex",
- "index": 0,
- "comment": "Open",
- "colors": ["#ffffff"]
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [186, 214],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [215, 243],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
},
diff --git a/fixtures/martin/mac-700-wash.json b/fixtures/martin/mac-700-wash.json
index 4f20357a1f..f1964af4b7 100644
--- a/fixtures/martin/mac-700-wash.json
+++ b/fixtures/martin/mac-700-wash.json
@@ -36,6 +36,47 @@
"tiltMax": 246
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Blue 110"
+ },
+ {
+ "type": "Color",
+ "name": "Green 206 IAD"
+ },
+ {
+ "type": "Color",
+ "name": "Pink 312"
+ },
+ {
+ "type": "Color",
+ "name": "Orange 306M"
+ },
+ {
+ "type": "Color",
+ "name": "Half minus green"
+ },
+ {
+ "type": "Color",
+ "name": "CTO 3200-4100K"
+ },
+ {
+ "type": "Color",
+ "name": "UV"
+ },
+ {
+ "type": "Color",
+ "name": "Red 308"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Shutter / Strobe": {
"defaultValue": 0,
@@ -286,193 +327,162 @@
"capabilities": [
{
"dmxRange": [0, 0],
- "type": "ColorWheelIndex",
- "index": 0,
- "comment": "Open",
- "colors": ["#ffffff"]
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [1, 16],
- "type": "ColorWheelIndex",
- "indexStart": 0,
- "indexEnd": 1,
- "comment": "Open … Blue 110"
+ "type": "WheelSlot",
+ "slotNumberStart": 1,
+ "slotNumberEnd": 2
},
{
"dmxRange": [17, 17],
- "type": "ColorWheelIndex",
- "index": 1,
- "comment": "Blue 110"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [18, 33],
- "type": "ColorWheelIndex",
- "indexStart": 1,
- "indexEnd": 2,
- "comment": "Blue 110 … Green 206 IAD"
+ "type": "WheelSlot",
+ "slotNumberStart": 2,
+ "slotNumberEnd": 3
},
{
"dmxRange": [34, 34],
- "type": "ColorWheelIndex",
- "index": 2,
- "comment": "Green 206 IAD"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [35, 50],
- "type": "ColorWheelIndex",
- "indexStart": 2,
- "indexEnd": 3,
- "comment": "Green 206 IAD … Pink 312"
+ "type": "WheelSlot",
+ "slotNumberStart": 3,
+ "slotNumberEnd": 4
},
{
"dmxRange": [51, 51],
- "type": "ColorWheelIndex",
- "index": 3,
- "comment": "Pink 312"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [52, 67],
- "type": "ColorWheelIndex",
- "indexStart": 3,
- "indexEnd": 4,
- "comment": "Pink 312 … Orange 306M"
+ "type": "WheelSlot",
+ "slotNumberStart": 4,
+ "slotNumberEnd": 5
},
{
"dmxRange": [68, 68],
- "type": "ColorWheelIndex",
- "index": 4,
- "comment": "Orange 306M"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [69, 84],
- "type": "ColorWheelIndex",
- "indexStart": 4,
- "indexEnd": 5,
- "comment": "Orange 306M … Half minus green"
+ "type": "WheelSlot",
+ "slotNumberStart": 5,
+ "slotNumberEnd": 6
},
{
"dmxRange": [85, 85],
- "type": "ColorWheelIndex",
- "index": 5,
- "comment": "Half minus green"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [86, 101],
- "type": "ColorWheelIndex",
- "indexStart": 5,
- "indexEnd": 6,
- "comment": "Half minus green … CTO 3200-4100K"
+ "type": "WheelSlot",
+ "slotNumberStart": 6,
+ "slotNumberEnd": 7
},
{
"dmxRange": [102, 102],
- "type": "ColorWheelIndex",
- "index": 6,
- "comment": "CTO 3200-4100K"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [103, 118],
- "type": "ColorWheelIndex",
- "indexStart": 6,
- "indexEnd": 7,
- "comment": "CTO 3200-4100K … UV"
+ "type": "WheelSlot",
+ "slotNumberStart": 7,
+ "slotNumberEnd": 8
},
{
"dmxRange": [119, 119],
- "type": "ColorWheelIndex",
- "index": 7,
- "comment": "UV"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [120, 135],
- "type": "ColorWheelIndex",
- "indexStart": 7,
- "indexEnd": 8,
- "comment": "UV … Red 308"
+ "type": "WheelSlot",
+ "slotNumberStart": 8,
+ "slotNumberEnd": 9
},
{
"dmxRange": [136, 136],
- "type": "ColorWheelIndex",
- "index": 8,
- "comment": "Red 308"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [137, 152],
- "type": "ColorWheelIndex",
- "indexStart": 8,
- "indexEnd": 9,
- "comment": "Red 308 … Open"
+ "type": "WheelSlot",
+ "slotNumberStart": 9,
+ "slotNumberEnd": 10
},
{
"dmxRange": [153, 153],
- "type": "ColorWheelIndex",
- "index": 0,
- "comment": "Open",
- "colors": ["#ffffff"]
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [154, 158],
- "type": "ColorWheelIndex",
- "index": 8,
- "comment": "Red 308"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [159, 163],
- "type": "ColorWheelIndex",
- "index": 7,
- "comment": "UV"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [164, 168],
- "type": "ColorWheelIndex",
- "index": 6,
- "comment": "CTO 3200-4100K"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [169, 173],
- "type": "ColorWheelIndex",
- "index": 5,
- "comment": "Half minus green"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [174, 178],
- "type": "ColorWheelIndex",
- "index": 4,
- "comment": "Orange 306M"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [179, 183],
- "type": "ColorWheelIndex",
- "index": 3,
- "comment": "Pink 312"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [184, 188],
- "type": "ColorWheelIndex",
- "index": 2,
- "comment": "Green 206 IAD"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [189, 193],
- "type": "ColorWheelIndex",
- "index": 1,
- "comment": "Blue 110"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [194, 198],
- "type": "ColorWheelIndex",
- "index": 0,
- "comment": "Open",
- "colors": ["#ffffff"]
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [199, 219],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [220, 240],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
},
diff --git a/fixtures/martin/mac-axiom-hybrid.json b/fixtures/martin/mac-axiom-hybrid.json
index cfea729671..ec06f91c4b 100644
--- a/fixtures/martin/mac-axiom-hybrid.json
+++ b/fixtures/martin/mac-axiom-hybrid.json
@@ -36,6 +36,211 @@
"tiltMax": 260
}
},
+ "wheels": {
+ "Color Wheel": {
+ "direction": "CCW",
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Blue",
+ "colors": ["#71c9ed"]
+ },
+ {
+ "type": "Color",
+ "name": "Light green",
+ "colors": ["#8ad088"]
+ },
+ {
+ "type": "Color",
+ "name": "Half CTB",
+ "colors": ["#d4f1fb"]
+ },
+ {
+ "type": "Color",
+ "name": "Orange",
+ "colors": ["#cb6122"]
+ },
+ {
+ "type": "Color",
+ "name": "Magenta",
+ "colors": ["#a035a0"]
+ },
+ {
+ "type": "Color",
+ "name": "Full CTB",
+ "colors": ["#9bd2ef"]
+ },
+ {
+ "type": "Color",
+ "name": "Yellow 2",
+ "colors": ["#f2e663"]
+ },
+ {
+ "type": "Color",
+ "name": "Light blue",
+ "colors": ["#85d2f1"]
+ },
+ {
+ "type": "Color",
+ "name": "Light red",
+ "colors": ["#be2b1f"]
+ },
+ {
+ "type": "Color",
+ "name": "Lavender",
+ "colors": ["#5765b4"]
+ },
+ {
+ "type": "Color",
+ "name": "Dark green",
+ "colors": ["#8cc783"]
+ },
+ {
+ "type": "Color",
+ "name": "Purple",
+ "colors": ["#ac87c3"]
+ },
+ {
+ "type": "Color",
+ "name": "Pink",
+ "colors": ["#aa47a3"]
+ },
+ {
+ "type": "Color",
+ "name": "Yellow 1",
+ "colors": ["#ffde3f"]
+ },
+ {
+ "type": "Color",
+ "name": "Blue 101",
+ "colors": ["#3b51aa"]
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#ac241b"]
+ }
+ ]
+ },
+ "Rotating Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo",
+ "name": "Damped Wave"
+ },
+ {
+ "type": "Gobo",
+ "name": "Luck Stakes"
+ },
+ {
+ "type": "Gobo",
+ "name": "Bite Me"
+ },
+ {
+ "type": "Gobo",
+ "name": "Laser Squares"
+ },
+ {
+ "type": "Gobo",
+ "name": "Kite Surf"
+ },
+ {
+ "type": "Gobo",
+ "name": "Dots in Space"
+ },
+ {
+ "type": "Gobo",
+ "name": "Organic Delight"
+ },
+ {
+ "type": "Gobo",
+ "name": "Slice It"
+ },
+ {
+ "type": "Gobo",
+ "name": "Circles"
+ }
+ ]
+ },
+ "Fixed Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Iris",
+ "openPercent": "75%"
+ },
+ {
+ "type": "Iris",
+ "openPercent": "50%"
+ },
+ {
+ "type": "Iris",
+ "openPercent": "25%"
+ },
+ {
+ "type": "Iris",
+ "openPercent": "5%"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Frost"
+ },
+ {
+ "type": "AnimationGoboStart"
+ },
+ {
+ "type": "AnimationGoboEnd"
+ },
+ {
+ "type": "Gobo",
+ "name": "Not used"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Strobe": {
"defaultValue": 30,
@@ -120,416 +325,295 @@
"capabilities": [
{
"dmxRange": [0, 0],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [1, 8],
- "type": "ColorWheelIndex",
- "indexStart": 0,
- "indexEnd": 1,
- "colorsStart": ["#ffffff"],
- "colorsEnd": ["#71c9ed"],
- "comment": "Open … Blue"
+ "type": "WheelSlot",
+ "slotNumberStart": 1,
+ "slotNumberEnd": 2
},
{
"dmxRange": [9, 9],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#71c9ed"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [10, 17],
- "type": "ColorWheelIndex",
- "indexStart": 1,
- "indexEnd": 2,
- "colorsStart": ["#71c9ed"],
- "colorsEnd": ["#8ad088"],
- "comment": "Blue … Light green"
+ "type": "WheelSlot",
+ "slotNumberStart": 2,
+ "slotNumberEnd": 3
},
{
"dmxRange": [18, 18],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#8ad088"],
- "comment": "Light green"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [19, 26],
- "type": "ColorWheelIndex",
- "indexStart": 2,
- "indexEnd": 3,
- "colorsStart": ["#8ad088"],
- "colorsEnd": ["#d4f1fb"],
- "comment": "Light green … Half CTB"
+ "type": "WheelSlot",
+ "slotNumberStart": 3,
+ "slotNumberEnd": 4
},
{
"dmxRange": [27, 27],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#d4f1fb"],
- "comment": "Half CTB"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [28, 35],
- "type": "ColorWheelIndex",
- "indexStart": 3,
- "indexEnd": 4,
- "colorsStart": ["#d4f1fb"],
- "colorsEnd": ["#cb6122"],
- "comment": "Half CTB … Orange"
+ "type": "WheelSlot",
+ "slotNumberStart": 4,
+ "slotNumberEnd": 5
},
{
"dmxRange": [36, 36],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#cb6122"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [37, 44],
- "type": "ColorWheelIndex",
- "indexStart": 4,
- "indexEnd": 5,
- "colorsStart": ["#cb6122"],
- "colorsEnd": ["#a035a0"],
- "comment": "Orange … Magenta"
+ "type": "WheelSlot",
+ "slotNumberStart": 5,
+ "slotNumberEnd": 6
},
{
"dmxRange": [45, 45],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#a035a0"],
- "comment": "Magenta"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [46, 53],
- "type": "ColorWheelIndex",
- "indexStart": 5,
- "indexEnd": 6,
- "colorsStart": ["#a035a0"],
- "colorsEnd": ["#9bd2ef"],
- "comment": "Magenta … Full CTB"
+ "type": "WheelSlot",
+ "slotNumberStart": 6,
+ "slotNumberEnd": 7
},
{
"dmxRange": [54, 54],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#9bd2ef"],
- "comment": "Full CTB"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [55, 62],
- "type": "ColorWheelIndex",
- "indexStart": 6,
- "indexEnd": 7,
- "colorsStart": ["#9bd2ef"],
- "colorsEnd": ["#f2e663"],
- "comment": "Full CTB … Yellow 2"
+ "type": "WheelSlot",
+ "slotNumberStart": 7,
+ "slotNumberEnd": 8
},
{
"dmxRange": [63, 63],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#f2e663"],
- "comment": "Yellow 2"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [64, 71],
- "type": "ColorWheelIndex",
- "indexStart": 7,
- "indexEnd": 8,
- "colorsStart": ["#f2e663"],
- "colorsEnd": ["#85d2f1"],
- "comment": "Yellow 2 … Light blue"
+ "type": "WheelSlot",
+ "slotNumberStart": 8,
+ "slotNumberEnd": 9
},
{
"dmxRange": [72, 72],
- "type": "ColorWheelIndex",
- "index": 8,
- "colors": ["#85d2f1"],
- "comment": "Light blue"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [73, 80],
- "type": "ColorWheelIndex",
- "indexStart": 8,
- "indexEnd": 9,
- "colorsStart": ["#85d2f1"],
- "colorsEnd": ["#be2b1f"],
- "comment": "Light blue … Light red"
+ "type": "WheelSlot",
+ "slotNumberStart": 9,
+ "slotNumberEnd": 10
},
{
"dmxRange": [81, 81],
- "type": "ColorWheelIndex",
- "index": 9,
- "colors": ["#be2b1f"],
- "comment": "Light red"
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [82, 89],
- "type": "ColorWheelIndex",
- "indexStart": 9,
- "indexEnd": 10,
- "colorsStart": ["#be2b1f"],
- "colorsEnd": ["#5765b4"],
- "comment": "Light red … Lavender"
+ "type": "WheelSlot",
+ "slotNumberStart": 10,
+ "slotNumberEnd": 11
},
{
"dmxRange": [90, 90],
- "type": "ColorWheelIndex",
- "index": 10,
- "colors": ["#5765b4"],
- "comment": "Lavender"
+ "type": "WheelSlot",
+ "slotNumber": 11
},
{
"dmxRange": [91, 98],
- "type": "ColorWheelIndex",
- "indexStart": 10,
- "indexEnd": 11,
- "colorsStart": ["#5765b4"],
- "colorsEnd": ["#8cc783"],
- "comment": "Lavender … Dark green"
+ "type": "WheelSlot",
+ "slotNumberStart": 11,
+ "slotNumberEnd": 12
},
{
"dmxRange": [99, 99],
- "type": "ColorWheelIndex",
- "index": 11,
- "colors": ["#8cc783"],
- "comment": "Dark green"
+ "type": "WheelSlot",
+ "slotNumber": 12
},
{
"dmxRange": [100, 107],
- "type": "ColorWheelIndex",
- "indexStart": 11,
- "indexEnd": 12,
- "colorsStart": ["#8cc783"],
- "colorsEnd": ["#ac87c3"],
- "comment": "Dark green … Purple"
+ "type": "WheelSlot",
+ "slotNumberStart": 12,
+ "slotNumberEnd": 13
},
{
"dmxRange": [108, 108],
- "type": "ColorWheelIndex",
- "index": 12,
- "colors": ["#ac87c3"],
- "comment": "Purple"
+ "type": "WheelSlot",
+ "slotNumber": 13
},
{
"dmxRange": [109, 116],
- "type": "ColorWheelIndex",
- "indexStart": 12,
- "indexEnd": 13,
- "colorsStart": ["#ac87c3"],
- "colorsEnd": ["#aa47a3"],
- "comment": "Purple … Pink"
+ "type": "WheelSlot",
+ "slotNumberStart": 13,
+ "slotNumberEnd": 14
},
{
"dmxRange": [117, 117],
- "type": "ColorWheelIndex",
- "index": 13,
- "colors": ["#aa47a3"],
- "comment": "Pink"
+ "type": "WheelSlot",
+ "slotNumber": 14
},
{
"dmxRange": [118, 125],
- "type": "ColorWheelIndex",
- "indexStart": 13,
- "indexEnd": 14,
- "colorsStart": ["#aa47a3"],
- "colorsEnd": ["#ffde3f"],
- "comment": "Pink … Yellow 1"
+ "type": "WheelSlot",
+ "slotNumberStart": 14,
+ "slotNumberEnd": 15
},
{
"dmxRange": [126, 126],
- "type": "ColorWheelIndex",
- "index": 14,
- "colors": ["#ffde3f"],
- "comment": "Yellow 1"
+ "type": "WheelSlot",
+ "slotNumber": 15
},
{
"dmxRange": [127, 134],
- "type": "ColorWheelIndex",
- "indexStart": 14,
- "indexEnd": 15,
- "colorsStart": ["#ffde3f"],
- "colorsEnd": ["#3b51aa"],
- "comment": "Yellow 1 … Blue 101"
+ "type": "WheelSlot",
+ "slotNumberStart": 15,
+ "slotNumberEnd": 16
},
{
"dmxRange": [135, 135],
- "type": "ColorWheelIndex",
- "index": 15,
- "colors": ["#3b51aa"],
- "comment": "Blue 101"
+ "type": "WheelSlot",
+ "slotNumber": 16
},
{
"dmxRange": [136, 143],
- "type": "ColorWheelIndex",
- "indexStart": 15,
- "indexEnd": 16,
- "colorsStart": ["#3b51aa"],
- "colorsEnd": ["#ac241b"],
- "comment": "Blue 101 … Red"
+ "type": "WheelSlot",
+ "slotNumberStart": 16,
+ "slotNumberEnd": 17
},
{
"dmxRange": [144, 144],
- "type": "ColorWheelIndex",
- "index": 16,
- "colors": ["#ac241b"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "slotNumber": 17
},
{
"dmxRange": [145, 152],
- "type": "ColorWheelIndex",
- "indexStart": 16,
- "indexEnd": 0,
- "colorsStart": ["#ac241b"],
- "colorsEnd": ["#ffffff"],
- "comment": "Red … Open"
+ "type": "WheelSlot",
+ "slotNumberStart": 17,
+ "slotNumberEnd": 1
},
{
"dmxRange": [153, 162],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [163, 163],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#71c9ed"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [164, 164],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#8ad088"],
- "comment": "Light green"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [165, 165],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#d4f1fb"],
- "comment": "Half CTB"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [166, 166],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#cb6122"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [167, 167],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#a035a0"],
- "comment": "Magenta"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [168, 168],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#9bd2ef"],
- "comment": "Full CTB"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [169, 169],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#f2e663"],
- "comment": "Yellow 2"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [170, 170],
- "type": "ColorWheelIndex",
- "index": 8,
- "colors": ["#85d2f1"],
- "comment": "Light blue"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [171, 171],
- "type": "ColorWheelIndex",
- "index": 9,
- "colors": ["#be2b1f"],
- "comment": "Light red"
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [172, 172],
- "type": "ColorWheelIndex",
- "index": 10,
- "colors": ["#5765b4"],
- "comment": "Lavender"
+ "type": "WheelSlot",
+ "slotNumber": 11
},
{
"dmxRange": [173, 173],
- "type": "ColorWheelIndex",
- "index": 11,
- "colors": ["#8cc783"],
- "comment": "Dark green"
+ "type": "WheelSlot",
+ "slotNumber": 12
},
{
"dmxRange": [174, 174],
- "type": "ColorWheelIndex",
- "index": 12,
- "colors": ["#ac87c3"],
- "comment": "Purple"
+ "type": "WheelSlot",
+ "slotNumber": 13
},
{
"dmxRange": [175, 175],
- "type": "ColorWheelIndex",
- "index": 13,
- "colors": ["#aa47a3"],
- "comment": "Pink"
+ "type": "WheelSlot",
+ "slotNumber": 14
},
{
"dmxRange": [176, 176],
- "type": "ColorWheelIndex",
- "index": 14,
- "colors": ["#ffde3f"],
- "comment": "Yellow 1"
+ "type": "WheelSlot",
+ "slotNumber": 15
},
{
"dmxRange": [177, 177],
- "type": "ColorWheelIndex",
- "index": 15,
- "colors": ["#3b51aa"],
- "comment": "Blue 101"
+ "type": "WheelSlot",
+ "slotNumber": 16
},
{
"dmxRange": [178, 178],
- "type": "ColorWheelIndex",
- "index": 16,
- "colors": ["#ac241b"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "slotNumber": 17
},
{
"dmxRange": [179, 192],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [193, 214],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [215, 221],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [222, 243],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
},
@@ -557,7 +641,8 @@
"fineChannelAliases": ["Gobo indexing angle fine"],
"defaultValue": 32768,
"capability": {
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"angleStart": "0deg",
"angleEnd": "360deg"
}
@@ -568,29 +653,34 @@
"capabilities": [
{
"dmxRange": [0, 600],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"angle": "0deg"
},
{
"dmxRange": [601, 32130],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [32131, 32895],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [32896, 64515],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
},
{
"dmxRange": [64516, 65535],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"angle": "90deg"
}
]
@@ -600,9 +690,8 @@
"capabilities": [
{
"dmxRange": [0, 2],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open",
+ "type": "WheelSlot",
+ "slotNumber": 1,
"switchChannels": {
"Gobo indexing angle / rotation": "Gobo indexing angle",
"Gobo indexing angle / rotation fine": "Gobo indexing angle fine"
@@ -610,9 +699,9 @@
},
{
"dmxRange": [3, 6],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Damped Wave (indexing)",
+ "type": "WheelSlot",
+ "slotNumber": 2,
+ "comment": "indexing",
"switchChannels": {
"Gobo indexing angle / rotation": "Gobo indexing angle",
"Gobo indexing angle / rotation fine": "Gobo indexing angle fine"
@@ -620,9 +709,9 @@
},
{
"dmxRange": [7, 10],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Luck Stakes (indexing)",
+ "type": "WheelSlot",
+ "slotNumber": 3,
+ "comment": "indexing",
"switchChannels": {
"Gobo indexing angle / rotation": "Gobo indexing angle",
"Gobo indexing angle / rotation fine": "Gobo indexing angle fine"
@@ -630,9 +719,9 @@
},
{
"dmxRange": [11, 14],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Bite Me (indexing)",
+ "type": "WheelSlot",
+ "slotNumber": 4,
+ "comment": "indexing",
"switchChannels": {
"Gobo indexing angle / rotation": "Gobo indexing angle",
"Gobo indexing angle / rotation fine": "Gobo indexing angle fine"
@@ -640,9 +729,9 @@
},
{
"dmxRange": [15, 19],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Laser Squares (indexing)",
+ "type": "WheelSlot",
+ "slotNumber": 5,
+ "comment": "indexing",
"switchChannels": {
"Gobo indexing angle / rotation": "Gobo indexing angle",
"Gobo indexing angle / rotation fine": "Gobo indexing angle fine"
@@ -650,9 +739,9 @@
},
{
"dmxRange": [20, 23],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Kite Surf (indexing)",
+ "type": "WheelSlot",
+ "slotNumber": 6,
+ "comment": "indexing",
"switchChannels": {
"Gobo indexing angle / rotation": "Gobo indexing angle",
"Gobo indexing angle / rotation fine": "Gobo indexing angle fine"
@@ -660,9 +749,9 @@
},
{
"dmxRange": [24, 27],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Dots in Space (indexing)",
+ "type": "WheelSlot",
+ "slotNumber": 7,
+ "comment": "indexing",
"switchChannels": {
"Gobo indexing angle / rotation": "Gobo indexing angle",
"Gobo indexing angle / rotation fine": "Gobo indexing angle fine"
@@ -670,9 +759,9 @@
},
{
"dmxRange": [28, 31],
- "type": "GoboIndex",
- "index": 7,
- "comment": "Organic Delight (indexing)",
+ "type": "WheelSlot",
+ "slotNumber": 8,
+ "comment": "indexing",
"switchChannels": {
"Gobo indexing angle / rotation": "Gobo indexing angle",
"Gobo indexing angle / rotation fine": "Gobo indexing angle fine"
@@ -680,9 +769,9 @@
},
{
"dmxRange": [32, 35],
- "type": "GoboIndex",
- "index": 8,
- "comment": "Slice It (indexing)",
+ "type": "WheelSlot",
+ "slotNumber": 9,
+ "comment": "indexing",
"switchChannels": {
"Gobo indexing angle / rotation": "Gobo indexing angle",
"Gobo indexing angle / rotation fine": "Gobo indexing angle fine"
@@ -690,9 +779,9 @@
},
{
"dmxRange": [36, 40],
- "type": "GoboIndex",
- "index": 9,
- "comment": "Circles (indexing)",
+ "type": "WheelSlot",
+ "slotNumber": 10,
+ "comment": "indexing",
"switchChannels": {
"Gobo indexing angle / rotation": "Gobo indexing angle",
"Gobo indexing angle / rotation fine": "Gobo indexing angle fine"
@@ -700,9 +789,9 @@
},
{
"dmxRange": [41, 44],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Damped Wave (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 2,
+ "comment": "rotation",
"switchChannels": {
"Gobo indexing angle / rotation": "Gobo rotation",
"Gobo indexing angle / rotation fine": "Gobo rotation fine"
@@ -710,9 +799,9 @@
},
{
"dmxRange": [45, 48],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Luck Stakes (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 3,
+ "comment": "rotation",
"switchChannels": {
"Gobo indexing angle / rotation": "Gobo rotation",
"Gobo indexing angle / rotation fine": "Gobo rotation fine"
@@ -720,9 +809,9 @@
},
{
"dmxRange": [49, 52],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Bite Me (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 4,
+ "comment": "rotation",
"switchChannels": {
"Gobo indexing angle / rotation": "Gobo rotation",
"Gobo indexing angle / rotation fine": "Gobo rotation fine"
@@ -730,9 +819,9 @@
},
{
"dmxRange": [53, 56],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Laser Squares (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 5,
+ "comment": "rotation",
"switchChannels": {
"Gobo indexing angle / rotation": "Gobo rotation",
"Gobo indexing angle / rotation fine": "Gobo rotation fine"
@@ -740,9 +829,9 @@
},
{
"dmxRange": [57, 60],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Kite Surf (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 6,
+ "comment": "rotation",
"switchChannels": {
"Gobo indexing angle / rotation": "Gobo rotation",
"Gobo indexing angle / rotation fine": "Gobo rotation fine"
@@ -750,9 +839,9 @@
},
{
"dmxRange": [61, 64],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Dots in Space (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 7,
+ "comment": "rotation",
"switchChannels": {
"Gobo indexing angle / rotation": "Gobo rotation",
"Gobo indexing angle / rotation fine": "Gobo rotation fine"
@@ -760,9 +849,9 @@
},
{
"dmxRange": [65, 68],
- "type": "GoboIndex",
- "index": 7,
- "comment": "Organic Delight (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 8,
+ "comment": "rotation",
"switchChannels": {
"Gobo indexing angle / rotation": "Gobo rotation",
"Gobo indexing angle / rotation fine": "Gobo rotation fine"
@@ -770,9 +859,9 @@
},
{
"dmxRange": [69, 71],
- "type": "GoboIndex",
- "index": 8,
- "comment": "Slice It (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 9,
+ "comment": "rotation",
"switchChannels": {
"Gobo indexing angle / rotation": "Gobo rotation",
"Gobo indexing angle / rotation fine": "Gobo rotation fine"
@@ -780,9 +869,9 @@
},
{
"dmxRange": [72, 80],
- "type": "GoboIndex",
- "index": 9,
- "comment": "Circles (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 10,
+ "comment": "rotation",
"switchChannels": {
"Gobo indexing angle / rotation": "Gobo rotation",
"Gobo indexing angle / rotation fine": "Gobo rotation fine"
@@ -790,9 +879,8 @@
},
{
"dmxRange": [81, 90],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Damped Wave",
+ "type": "WheelShake",
+ "slotNumber": 2,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
"shakeAngleStart": "25deg",
@@ -804,9 +892,8 @@
},
{
"dmxRange": [91, 100],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Luck Stakes",
+ "type": "WheelShake",
+ "slotNumber": 3,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
"shakeAngleStart": "25deg",
@@ -818,9 +905,8 @@
},
{
"dmxRange": [101, 110],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Bite Me",
+ "type": "WheelShake",
+ "slotNumber": 4,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
"shakeAngleStart": "25deg",
@@ -832,9 +918,8 @@
},
{
"dmxRange": [111, 120],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Laser Squares",
+ "type": "WheelShake",
+ "slotNumber": 5,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
"shakeAngleStart": "25deg",
@@ -846,9 +931,8 @@
},
{
"dmxRange": [121, 130],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Kite Surf",
+ "type": "WheelShake",
+ "slotNumber": 6,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
"shakeAngleStart": "25deg",
@@ -860,9 +944,8 @@
},
{
"dmxRange": [131, 140],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Dots in Space",
+ "type": "WheelShake",
+ "slotNumber": 7,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
"shakeAngleStart": "25deg",
@@ -874,9 +957,8 @@
},
{
"dmxRange": [141, 150],
- "type": "GoboIndex",
- "index": 7,
- "comment": "Organic Delight",
+ "type": "WheelShake",
+ "slotNumber": 8,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
"shakeAngleStart": "25deg",
@@ -888,9 +970,8 @@
},
{
"dmxRange": [151, 160],
- "type": "GoboIndex",
- "index": 8,
- "comment": "Slice It",
+ "type": "WheelShake",
+ "slotNumber": 9,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
"shakeAngleStart": "25deg",
@@ -902,9 +983,8 @@
},
{
"dmxRange": [161, 170],
- "type": "GoboIndex",
- "index": 9,
- "comment": "Circles",
+ "type": "WheelShake",
+ "slotNumber": 10,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
"shakeAngleStart": "25deg",
@@ -916,9 +996,8 @@
},
{
"dmxRange": [171, 200],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open",
+ "type": "WheelSlot",
+ "slotNumber": 1,
"switchChannels": {
"Gobo indexing angle / rotation": "Gobo indexing angle",
"Gobo indexing angle / rotation fine": "Gobo indexing angle fine"
@@ -926,7 +1005,7 @@
},
{
"dmxRange": [201, 228],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW",
"switchChannels": {
@@ -936,7 +1015,7 @@
},
{
"dmxRange": [229, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW",
"switchChannels": {
@@ -950,150 +1029,132 @@
"capabilities": [
{
"dmxRange": [0, 20],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [21, 30],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Iris 1"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [31, 40],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Iris 2"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [41, 50],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Iris 3"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [51, 60],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Pinspot"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [61, 70],
- "type": "GoboIndex",
- "index": 5,
- "comment": "1"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [71, 80],
- "type": "GoboIndex",
- "index": 6,
- "comment": "2"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [81, 90],
- "type": "GoboIndex",
- "index": 7,
- "comment": "3"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [91, 100],
- "type": "GoboIndex",
- "index": 8,
- "comment": "4"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [101, 110],
- "type": "GoboIndex",
- "index": 9,
- "comment": "5"
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [111, 120],
- "type": "GoboIndex",
- "index": 10,
- "comment": "6"
+ "type": "WheelSlot",
+ "slotNumber": 11
},
{
"dmxRange": [121, 130],
- "type": "GoboIndex",
- "index": 11,
- "comment": "7"
+ "type": "WheelSlot",
+ "slotNumber": 12
},
{
"dmxRange": [131, 140],
- "type": "GoboIndex",
- "index": 12,
- "comment": "8"
+ "type": "WheelSlot",
+ "slotNumber": 13
},
{
"dmxRange": [141, 150],
- "type": "GoboIndex",
- "index": 13,
- "comment": "9"
+ "type": "WheelSlot",
+ "slotNumber": 14
},
{
"dmxRange": [151, 160],
- "type": "GoboIndex",
- "index": 14,
- "comment": "10"
+ "type": "WheelSlot",
+ "slotNumber": 15
},
{
"dmxRange": [161, 170],
- "type": "GoboIndex",
- "index": 15,
- "comment": "11"
+ "type": "WheelSlot",
+ "slotNumber": 16
},
{
"dmxRange": [171, 180],
- "type": "GoboIndex",
- "index": 16,
- "comment": "12"
+ "type": "WheelSlot",
+ "slotNumber": 17
},
{
"dmxRange": [181, 190],
- "type": "GoboIndex",
- "index": 17,
- "comment": "Frost"
+ "type": "WheelSlot",
+ "slotNumber": 18
},
{
"dmxRange": [191, 200],
- "type": "GoboIndex",
- "index": 18,
- "comment": "Animation indexed"
+ "type": "WheelSlot",
+ "slotNumberStart": 19,
+ "slotNumberEnd": 20
},
{
"dmxRange": [201, 201],
- "type": "GoboIndex",
- "index": 18,
- "comment": "Animation slow"
+ "type": "WheelShake",
+ "slotNumber": 19.5,
+ "shakeSpeed": "slow"
},
{
"dmxRange": [202, 202],
- "type": "GoboIndex",
- "index": 18,
- "comment": "Animation medium"
+ "type": "WheelShake",
+ "slotNumber": 19.5,
+ "shakeSpeed": "50%"
},
{
"dmxRange": [203, 203],
- "type": "GoboIndex",
- "index": 18,
- "comment": "Animation fast"
+ "type": "WheelShake",
+ "slotNumber": 19.5,
+ "shakeSpeed": "fast"
},
{
"dmxRange": [204, 220],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [221, 226],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [227, 243],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
},
diff --git a/fixtures/martin/mac-viper-airfx.json b/fixtures/martin/mac-viper-airfx.json
index 316ecdd43e..bbc06896a1 100644
--- a/fixtures/martin/mac-viper-airfx.json
+++ b/fixtures/martin/mac-viper-airfx.json
@@ -48,6 +48,86 @@
]
]
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ }
+ ]
+ },
+ "Aerial Effects Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ },
+ "Static Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Strobe / Shutter": {
"defaultValue": 30,
@@ -123,165 +203,151 @@
"capabilities": [
{
"dmxRange": [0, 0],
- "type": "ColorWheelIndex",
- "index": 0,
- "comment": "Open",
- "colors": ["#ffffff"]
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [1, 14],
- "type": "ColorWheelIndex",
- "indexStart": 0,
- "indexEnd": 1,
- "comment": "Open … Color 1"
+ "type": "WheelSlot",
+ "slotNumberStart": 1,
+ "slotNumberEnd": 2
},
{
"dmxRange": [15, 15],
- "type": "ColorWheelIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [16, 29],
- "type": "ColorWheelIndex",
- "indexStart": 1,
- "indexEnd": 2,
- "comment": "Color 1 … Color 2"
+ "type": "WheelSlot",
+ "slotNumberStart": 2,
+ "slotNumberEnd": 3
},
{
"dmxRange": [30, 30],
- "type": "ColorWheelIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [31, 44],
- "type": "ColorWheelIndex",
- "indexStart": 2,
- "indexEnd": 3,
- "comment": "Color 2 … Color 3"
+ "type": "WheelSlot",
+ "slotNumberStart": 3,
+ "slotNumberEnd": 4
},
{
"dmxRange": [45, 45],
- "type": "ColorWheelIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [46, 59],
- "type": "ColorWheelIndex",
- "indexStart": 3,
- "indexEnd": 4,
- "comment": "Color 3 … Color 4"
+ "type": "WheelSlot",
+ "slotNumberStart": 4,
+ "slotNumberEnd": 5
},
{
"dmxRange": [60, 60],
- "type": "ColorWheelIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [61, 74],
- "type": "ColorWheelIndex",
- "indexStart": 4,
- "indexEnd": 5,
- "comment": "Color 4 … Color 5"
+ "type": "WheelSlot",
+ "slotNumberStart": 5,
+ "slotNumberEnd": 6
},
{
"dmxRange": [75, 75],
- "type": "ColorWheelIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [76, 89],
- "type": "ColorWheelIndex",
- "indexStart": 5,
- "indexEnd": 6,
- "comment": "Color 5 … Color 6"
+ "type": "WheelSlot",
+ "slotNumberStart": 6,
+ "slotNumberEnd": 7
},
{
"dmxRange": [90, 90],
- "type": "ColorWheelIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [91, 104],
- "type": "ColorWheelIndex",
- "indexStart": 6,
- "indexEnd": 7,
- "comment": "Color 6 … Color 7"
+ "type": "WheelSlot",
+ "slotNumberStart": 7,
+ "slotNumberEnd": 8
},
{
"dmxRange": [105, 105],
- "type": "ColorWheelIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [106, 119],
- "type": "ColorWheelIndex",
- "indexStart": 7,
- "indexEnd": 8,
- "comment": "Color 7 … Open"
+ "type": "WheelSlot",
+ "slotNumberStart": 8,
+ "slotNumberEnd": 9
},
{
"dmxRange": [120, 120],
- "type": "ColorWheelIndex",
- "index": 0,
- "comment": "Open",
- "colors": ["#ffffff"]
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [121, 125],
- "type": "ColorWheelIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [126, 130],
- "type": "ColorWheelIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [131, 135],
- "type": "ColorWheelIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [136, 140],
- "type": "ColorWheelIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [141, 145],
- "type": "ColorWheelIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [146, 150],
- "type": "ColorWheelIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [151, 155],
- "type": "ColorWheelIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [156, 160],
- "type": "ColorWheelIndex",
- "index": 0,
- "comment": "Open",
- "colors": ["#ffffff"]
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [161, 200],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [201, 203],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [204, 243],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
},
@@ -309,7 +375,8 @@
"fineChannelAliases": ["Aerial effects wheel: gobo indexing fine"],
"defaultValue": 32768,
"capability": {
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Aerial Effects Wheel",
"angleStart": "-197.5deg",
"angleEnd": "197.5deg"
}
@@ -319,29 +386,34 @@
"capabilities": [
{
"dmxRange": [0, 600],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Aerial Effects Wheel",
"angle": "0deg"
},
{
"dmxRange": [601, 32130],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Aerial Effects Wheel",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [32131, 32895],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Aerial Effects Wheel",
"speed": "stop"
},
{
"dmxRange": [32896, 64515],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Aerial Effects Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
},
{
"dmxRange": [64516, 65535],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Aerial Effects Wheel",
"angle": "90deg"
}
]
@@ -351,9 +423,9 @@
"capabilities": [
{
"dmxRange": [0, 9],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open",
+ "type": "WheelSlot",
+ "wheel": "Aerial Effects Wheel",
+ "slotNumber": 1,
"switchChannels": {
"Aerial effects wheel: gobo indexing / rotation": "Aerial effects wheel: gobo indexing",
"Aerial effects wheel: gobo indexing / rotation fine": "Aerial effects wheel: gobo indexing fine"
@@ -361,9 +433,10 @@
},
{
"dmxRange": [10, 14],
- "type": "GoboIndex",
- "index": 1,
- "comment": "1 (Indexed)",
+ "type": "WheelSlot",
+ "wheel": "Aerial Effects Wheel",
+ "slotNumber": 2,
+ "comment": "Indexed",
"switchChannels": {
"Aerial effects wheel: gobo indexing / rotation": "Aerial effects wheel: gobo indexing",
"Aerial effects wheel: gobo indexing / rotation fine": "Aerial effects wheel: gobo indexing fine"
@@ -371,9 +444,10 @@
},
{
"dmxRange": [15, 19],
- "type": "GoboIndex",
- "index": 2,
- "comment": "2 (Indexed)",
+ "type": "WheelSlot",
+ "wheel": "Aerial Effects Wheel",
+ "slotNumber": 3,
+ "comment": "Indexed",
"switchChannels": {
"Aerial effects wheel: gobo indexing / rotation": "Aerial effects wheel: gobo indexing",
"Aerial effects wheel: gobo indexing / rotation fine": "Aerial effects wheel: gobo indexing fine"
@@ -381,9 +455,10 @@
},
{
"dmxRange": [20, 24],
- "type": "GoboIndex",
- "index": 3,
- "comment": "3 (Indexed)",
+ "type": "WheelSlot",
+ "wheel": "Aerial Effects Wheel",
+ "slotNumber": 4,
+ "comment": "Indexed",
"switchChannels": {
"Aerial effects wheel: gobo indexing / rotation": "Aerial effects wheel: gobo indexing",
"Aerial effects wheel: gobo indexing / rotation fine": "Aerial effects wheel: gobo indexing fine"
@@ -391,9 +466,10 @@
},
{
"dmxRange": [25, 29],
- "type": "GoboIndex",
- "index": 4,
- "comment": "4 (Indexed)",
+ "type": "WheelSlot",
+ "wheel": "Aerial Effects Wheel",
+ "slotNumber": 5,
+ "comment": "Indexed",
"switchChannels": {
"Aerial effects wheel: gobo indexing / rotation": "Aerial effects wheel: gobo indexing",
"Aerial effects wheel: gobo indexing / rotation fine": "Aerial effects wheel: gobo indexing fine"
@@ -401,9 +477,10 @@
},
{
"dmxRange": [30, 34],
- "type": "GoboIndex",
- "index": 5,
- "comment": "5 (Indexed)",
+ "type": "WheelSlot",
+ "wheel": "Aerial Effects Wheel",
+ "slotNumber": 6,
+ "comment": "Indexed",
"switchChannels": {
"Aerial effects wheel: gobo indexing / rotation": "Aerial effects wheel: gobo indexing",
"Aerial effects wheel: gobo indexing / rotation fine": "Aerial effects wheel: gobo indexing fine"
@@ -411,9 +488,10 @@
},
{
"dmxRange": [35, 39],
- "type": "GoboIndex",
- "index": 1,
- "comment": "1 (Continuous Rotation)",
+ "type": "WheelSlot",
+ "wheel": "Aerial Effects Wheel",
+ "slotNumber": 2,
+ "comment": "Continuous Rotation",
"switchChannels": {
"Aerial effects wheel: gobo indexing / rotation": "Aerial effects wheel: gobo rotation",
"Aerial effects wheel: gobo indexing / rotation fine": "Aerial effects wheel: gobo rotation fine"
@@ -421,9 +499,10 @@
},
{
"dmxRange": [40, 44],
- "type": "GoboIndex",
- "index": 2,
- "comment": "2 (Continuous Rotation)",
+ "type": "WheelSlot",
+ "wheel": "Aerial Effects Wheel",
+ "slotNumber": 3,
+ "comment": "Continuous Rotation",
"switchChannels": {
"Aerial effects wheel: gobo indexing / rotation": "Aerial effects wheel: gobo rotation",
"Aerial effects wheel: gobo indexing / rotation fine": "Aerial effects wheel: gobo rotation fine"
@@ -431,9 +510,10 @@
},
{
"dmxRange": [45, 49],
- "type": "GoboIndex",
- "index": 3,
- "comment": "3 (Continuous Rotation)",
+ "type": "WheelSlot",
+ "wheel": "Aerial Effects Wheel",
+ "slotNumber": 4,
+ "comment": "Continuous Rotation",
"switchChannels": {
"Aerial effects wheel: gobo indexing / rotation": "Aerial effects wheel: gobo rotation",
"Aerial effects wheel: gobo indexing / rotation fine": "Aerial effects wheel: gobo rotation fine"
@@ -441,9 +521,10 @@
},
{
"dmxRange": [50, 54],
- "type": "GoboIndex",
- "index": 4,
- "comment": "4 (Continuous Rotation)",
+ "type": "WheelSlot",
+ "wheel": "Aerial Effects Wheel",
+ "slotNumber": 5,
+ "comment": "Continuous Rotation",
"switchChannels": {
"Aerial effects wheel: gobo indexing / rotation": "Aerial effects wheel: gobo rotation",
"Aerial effects wheel: gobo indexing / rotation fine": "Aerial effects wheel: gobo rotation fine"
@@ -451,9 +532,10 @@
},
{
"dmxRange": [55, 59],
- "type": "GoboIndex",
- "index": 5,
- "comment": "5 (Continuous Rotation)",
+ "type": "WheelSlot",
+ "wheel": "Aerial Effects Wheel",
+ "slotNumber": 6,
+ "comment": "Continuous Rotation",
"switchChannels": {
"Aerial effects wheel: gobo indexing / rotation": "Aerial effects wheel: gobo rotation",
"Aerial effects wheel: gobo indexing / rotation fine": "Aerial effects wheel: gobo rotation fine"
@@ -461,8 +543,9 @@
},
{
"dmxRange": [60, 89],
- "type": "GoboIndex",
- "index": 1,
+ "type": "WheelShake",
+ "wheel": "Aerial Effects Wheel",
+ "slotNumber": 2,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
"shakeAngleStart": "360deg",
@@ -474,8 +557,9 @@
},
{
"dmxRange": [90, 119],
- "type": "GoboIndex",
- "index": 2,
+ "type": "WheelShake",
+ "wheel": "Aerial Effects Wheel",
+ "slotNumber": 3,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
"shakeAngleStart": "360deg",
@@ -487,8 +571,9 @@
},
{
"dmxRange": [120, 149],
- "type": "GoboIndex",
- "index": 3,
+ "type": "WheelShake",
+ "wheel": "Aerial Effects Wheel",
+ "slotNumber": 4,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
"shakeAngleStart": "360deg",
@@ -500,8 +585,9 @@
},
{
"dmxRange": [150, 179],
- "type": "GoboIndex",
- "index": 4,
+ "type": "WheelShake",
+ "wheel": "Aerial Effects Wheel",
+ "slotNumber": 5,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
"shakeAngleStart": "360deg",
@@ -513,8 +599,9 @@
},
{
"dmxRange": [180, 209],
- "type": "GoboIndex",
- "index": 5,
+ "type": "WheelShake",
+ "wheel": "Aerial Effects Wheel",
+ "slotNumber": 6,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
"shakeAngleStart": "360deg",
@@ -526,7 +613,8 @@
},
{
"dmxRange": [210, 232],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Aerial Effects Wheel",
"speedStart": "fast CW",
"speedEnd": "slow CW",
"switchChannels": {
@@ -536,7 +624,8 @@
},
{
"dmxRange": [233, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Aerial Effects Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW",
"switchChannels": {
@@ -550,162 +639,151 @@
"capabilities": [
{
"dmxRange": [0, 0],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [1, 14],
- "type": "GoboIndex",
- "indexStart": 0,
- "indexEnd": 1,
- "comment": "Open … Gobo 1"
+ "type": "WheelSlot",
+ "slotNumberStart": 1,
+ "slotNumberEnd": 2
},
{
"dmxRange": [15, 15],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [16, 29],
- "type": "GoboIndex",
- "indexStart": 1,
- "indexEnd": 2,
- "comment": "Gobo 1 … Gobo 2"
+ "type": "WheelSlot",
+ "slotNumberStart": 2,
+ "slotNumberEnd": 3
},
{
"dmxRange": [30, 30],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [31, 44],
- "type": "GoboIndex",
- "indexStart": 2,
- "indexEnd": 3,
- "comment": "Gobo 2 … Gobo 3"
+ "type": "WheelSlot",
+ "slotNumberStart": 3,
+ "slotNumberEnd": 4
},
{
"dmxRange": [45, 45],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [46, 59],
- "type": "GoboIndex",
- "indexStart": 3,
- "indexEnd": 4,
- "comment": "Gobo 3 … Gobo 4"
+ "type": "WheelSlot",
+ "slotNumberStart": 4,
+ "slotNumberEnd": 5
},
{
"dmxRange": [60, 60],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [61, 74],
- "type": "GoboIndex",
- "indexStart": 4,
- "indexEnd": 5,
- "comment": "Gobo 4 … Gobo 5"
+ "type": "WheelSlot",
+ "slotNumberStart": 5,
+ "slotNumberEnd": 6
},
{
"dmxRange": [75, 75],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [76, 89],
- "type": "GoboIndex",
- "indexStart": 5,
- "indexEnd": 6,
- "comment": "Gobo 5 … Gobo 6"
+ "type": "WheelSlot",
+ "slotNumberStart": 6,
+ "slotNumberEnd": 7
},
{
"dmxRange": [90, 90],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [91, 104],
- "type": "GoboIndex",
- "indexStart": 6,
- "indexEnd": 7,
- "comment": "Gobo 6 … Gobo 7"
+ "type": "WheelSlot",
+ "slotNumberStart": 7,
+ "slotNumberEnd": 8
},
{
"dmxRange": [105, 105],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [106, 119],
- "type": "GoboIndex",
- "indexStart": 7,
- "indexEnd": 8,
- "comment": "Gobo 7 … Open"
+ "type": "WheelSlot",
+ "slotNumberStart": 8,
+ "slotNumberEnd": 9
},
{
"dmxRange": [120, 120],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [121, 125],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [126, 130],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [131, 135],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [136, 140],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [141, 145],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [146, 150],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [151, 155],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [156, 160],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [161, 200],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [201, 203],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [204, 243],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
},
diff --git a/fixtures/martin/mac-viper-performance.json b/fixtures/martin/mac-viper-performance.json
index 3f0268b440..08098083ec 100644
--- a/fixtures/martin/mac-viper-performance.json
+++ b/fixtures/martin/mac-viper-performance.json
@@ -39,6 +39,83 @@
"tiltMax": 268
}
},
+ "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,
@@ -111,209 +188,151 @@
"capabilities": [
{
"dmxRange": [0, 0],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [1, 14],
- "type": "ColorWheelIndex",
- "indexStart": 0,
- "indexEnd": 1,
- "colorsStart": ["#ffffff"],
- "colorsEnd": ["#3857ad"],
- "comment": "Open … Blue"
+ "type": "WheelSlot",
+ "slotNumberStart": 1,
+ "slotNumberEnd": 2
},
{
"dmxRange": [15, 15],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#3857ad"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [16, 29],
- "type": "ColorWheelIndex",
- "indexStart": 1,
- "indexEnd": 2,
- "colorsStart": ["#3857ad"],
- "colorsEnd": ["#61c15a"],
- "comment": "Blue … Green"
+ "type": "WheelSlot",
+ "slotNumberStart": 2,
+ "slotNumberEnd": 3
},
{
"dmxRange": [30, 30],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#61c15a"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [31, 44],
- "type": "ColorWheelIndex",
- "indexStart": 2,
- "indexEnd": 3,
- "colorsStart": ["#61c15a"],
- "colorsEnd": ["#fb9955"],
- "comment": "Green … Orange"
+ "type": "WheelSlot",
+ "slotNumberStart": 3,
+ "slotNumberEnd": 4
},
{
"dmxRange": [45, 45],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#fb9955"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [46, 59],
- "type": "ColorWheelIndex",
- "indexStart": 3,
- "indexEnd": 4,
- "colorsStart": ["#fb9955"],
- "colorsEnd": ["#fbe7f1"],
- "comment": "Orange … Rose"
+ "type": "WheelSlot",
+ "slotNumberStart": 4,
+ "slotNumberEnd": 5
},
{
"dmxRange": [60, 60],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#fbe7f1"],
- "comment": "Rose"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [61, 74],
- "type": "ColorWheelIndex",
- "indexStart": 4,
- "indexEnd": 5,
- "colorsStart": ["#fbe7f1"],
- "colorsEnd": ["#da9ecc"],
- "comment": "Rose … Magenta"
+ "type": "WheelSlot",
+ "slotNumberStart": 5,
+ "slotNumberEnd": 6
},
{
"dmxRange": [75, 75],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#da9ecc"],
- "comment": "Magenta"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [76, 89],
- "type": "ColorWheelIndex",
- "indexStart": 5,
- "indexEnd": 6,
- "colorsStart": ["#da9ecc"],
- "colorsEnd": ["#994ba6"],
- "comment": "Magenta … Deep Blue"
+ "type": "WheelSlot",
+ "slotNumberStart": 6,
+ "slotNumberEnd": 7
},
{
"dmxRange": [90, 90],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#994ba6"],
- "comment": "Deep Blue"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [91, 104],
- "type": "ColorWheelIndex",
- "indexStart": 6,
- "indexEnd": 7,
- "colorsStart": ["#994ba6"],
- "colorsEnd": ["#de4b48"],
- "comment": "Deep Blue … Red"
+ "type": "WheelSlot",
+ "slotNumberStart": 7,
+ "slotNumberEnd": 8
},
{
"dmxRange": [105, 105],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#de4b48"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [106, 119],
- "type": "ColorWheelIndex",
- "indexStart": 7,
- "indexEnd": 8,
- "colorsStart": ["#de4b48"],
- "colorsEnd": ["#ffffff"],
- "comment": "Red … Open"
+ "type": "WheelSlot",
+ "slotNumberStart": 8,
+ "slotNumberEnd": 9
},
{
"dmxRange": [120, 160],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [161, 163],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#3857ad"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [164, 166],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#61c15a"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [167, 169],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#fb9955"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [170, 172],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#fbe7f1"],
- "comment": "Rose"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [173, 175],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#da9ecc"],
- "comment": "Magenta"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [176, 178],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#994ba6"],
- "comment": "Deep Blue"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [179, 181],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#de4b48"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [182, 192],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [193, 214],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [215, 221],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [222, 243],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
},
@@ -342,9 +361,8 @@
"capabilities": [
{
"dmxRange": [0, 9],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open",
+ "type": "WheelSlot",
+ "slotNumber": 1,
"switchChannels": {
"Gobo indexing angle / rotation speed": "Gobo indexing angle",
"Gobo indexing angle / rotation speed fine": "Gobo indexing angle fine"
@@ -352,9 +370,9 @@
},
{
"dmxRange": [10, 14],
- "type": "GoboIndex",
- "index": 1,
- "comment": "1 (indexed)",
+ "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"
@@ -362,9 +380,9 @@
},
{
"dmxRange": [15, 19],
- "type": "GoboIndex",
- "index": 2,
- "comment": "2 (indexed)",
+ "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"
@@ -372,9 +390,9 @@
},
{
"dmxRange": [20, 24],
- "type": "GoboIndex",
- "index": 3,
- "comment": "3 (indexed)",
+ "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"
@@ -382,9 +400,9 @@
},
{
"dmxRange": [25, 29],
- "type": "GoboIndex",
- "index": 4,
- "comment": "4 (indexed)",
+ "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"
@@ -392,9 +410,9 @@
},
{
"dmxRange": [30, 34],
- "type": "GoboIndex",
- "index": 5,
- "comment": "5 (indexed)",
+ "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"
@@ -402,9 +420,9 @@
},
{
"dmxRange": [35, 39],
- "type": "GoboIndex",
- "index": 1,
- "comment": "1 (continuous rotation)",
+ "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"
@@ -412,9 +430,9 @@
},
{
"dmxRange": [40, 44],
- "type": "GoboIndex",
- "index": 2,
- "comment": "2 (continuous rotation)",
+ "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"
@@ -422,9 +440,9 @@
},
{
"dmxRange": [45, 49],
- "type": "GoboIndex",
- "index": 3,
- "comment": "3 (continuous rotation)",
+ "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"
@@ -432,9 +450,9 @@
},
{
"dmxRange": [50, 54],
- "type": "GoboIndex",
- "index": 4,
- "comment": "4 (continuous rotation)",
+ "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"
@@ -442,9 +460,9 @@
},
{
"dmxRange": [55, 59],
- "type": "GoboIndex",
- "index": 5,
- "comment": "5 (continuous rotation)",
+ "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"
@@ -452,8 +470,8 @@
},
{
"dmxRange": [60, 89],
- "type": "GoboIndex",
- "index": 1,
+ "type": "WheelShake",
+ "slotNumber": 2,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
"switchChannels": {
@@ -463,8 +481,8 @@
},
{
"dmxRange": [90, 119],
- "type": "GoboIndex",
- "index": 2,
+ "type": "WheelShake",
+ "slotNumber": 3,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
"switchChannels": {
@@ -474,8 +492,8 @@
},
{
"dmxRange": [120, 149],
- "type": "GoboIndex",
- "index": 3,
+ "type": "WheelShake",
+ "slotNumber": 4,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
"switchChannels": {
@@ -485,8 +503,8 @@
},
{
"dmxRange": [150, 179],
- "type": "GoboIndex",
- "index": 4,
+ "type": "WheelShake",
+ "slotNumber": 5,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
"switchChannels": {
@@ -496,8 +514,8 @@
},
{
"dmxRange": [180, 209],
- "type": "GoboIndex",
- "index": 5,
+ "type": "WheelShake",
+ "slotNumber": 6,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
"switchChannels": {
@@ -507,7 +525,7 @@
},
{
"dmxRange": [210, 232],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW",
"switchChannels": {
@@ -517,7 +535,7 @@
},
{
"dmxRange": [233, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW",
"switchChannels": {
@@ -531,7 +549,8 @@
"fineChannelAliases": ["Gobo indexing angle fine"],
"defaultValue": 32768,
"capability": {
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"angleStart": "-197.5deg",
"angleEnd": "197.5deg"
}
@@ -542,29 +561,34 @@
"capabilities": [
{
"dmxRange": [0, 600],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"angle": "0deg"
},
{
"dmxRange": [601, 32130],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [32131, 32895],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [32896, 64515],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
},
{
"dmxRange": [64516, 65535],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"angle": "90deg"
}
]
@@ -582,7 +606,7 @@
},
{
"dmxRange": [11, 20],
- "type": "Maintenance",
+ "type": "Generic",
"comment": "Indexed",
"switchChannels": {
"Animation Wheel Indexing/Rotation": "Animation Wheel Indexing"
@@ -598,7 +622,7 @@
},
{
"dmxRange": [31, 40],
- "type": "Maintenance",
+ "type": "Generic",
"comment": "Continuous rotation",
"switchChannels": {
"Animation Wheel Indexing/Rotation": "Animation Wheel Rotation"
@@ -606,7 +630,7 @@
},
{
"dmxRange": [41, 50],
- "type": "Rotation",
+ "type": "WheelRotation",
"angle": "0deg",
"comment": "Position 1",
"switchChannels": {
@@ -615,7 +639,7 @@
},
{
"dmxRange": [51, 60],
- "type": "Rotation",
+ "type": "WheelRotation",
"angle": "-7deg",
"comment": "Position 2",
"switchChannels": {
@@ -624,7 +648,7 @@
},
{
"dmxRange": [61, 70],
- "type": "Rotation",
+ "type": "WheelRotation",
"angle": "-14deg",
"comment": "Position 3",
"switchChannels": {
@@ -633,7 +657,7 @@
},
{
"dmxRange": [71, 80],
- "type": "Rotation",
+ "type": "WheelRotation",
"angle": "-21deg",
"comment": "Position 4",
"switchChannels": {
@@ -642,7 +666,7 @@
},
{
"dmxRange": [81, 90],
- "type": "Rotation",
+ "type": "WheelRotation",
"angle": "-28deg",
"comment": "Position 5",
"switchChannels": {
@@ -651,7 +675,7 @@
},
{
"dmxRange": [91, 100],
- "type": "Rotation",
+ "type": "WheelRotation",
"angle": "-35deg",
"comment": "Position 6",
"switchChannels": {
@@ -660,7 +684,7 @@
},
{
"dmxRange": [101, 110],
- "type": "Rotation",
+ "type": "WheelRotation",
"angle": "-42deg",
"comment": "Position 7",
"switchChannels": {
@@ -680,7 +704,8 @@
"Animation Wheel Indexing": {
"defaultValue": 127,
"capability": {
- "type": "Rotation",
+ "type": "WheelRotation",
+ "wheel": "Animation Wheel",
"angleStart": "0deg",
"angleEnd": "360deg"
}
@@ -690,29 +715,34 @@
"capabilities": [
{
"dmxRange": [0, 2],
- "type": "Rotation",
+ "type": "WheelRotation",
+ "wheel": "Animation Wheel",
"angle": "0deg"
},
{
"dmxRange": [3, 126],
- "type": "Rotation",
+ "type": "WheelRotation",
+ "wheel": "Animation Wheel",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [127, 129],
- "type": "Rotation",
+ "type": "WheelRotation",
+ "wheel": "Animation Wheel",
"speed": "stop"
},
{
"dmxRange": [130, 253],
- "type": "Rotation",
+ "type": "WheelRotation",
+ "wheel": "Animation Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
},
{
"dmxRange": [254, 255],
- "type": "Rotation",
+ "type": "WheelRotation",
+ "wheel": "Animation Wheel",
"angle": "90deg"
}
]
diff --git a/fixtures/martin/mac-viper-wash.json b/fixtures/martin/mac-viper-wash.json
index a716bcbb29..8eb825dd98 100644
--- a/fixtures/martin/mac-viper-wash.json
+++ b/fixtures/martin/mac-viper-wash.json
@@ -40,6 +40,36 @@
"tiltMax": 268
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ },
+ {
+ "type": "Color"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Strobe / Shutter": {
"capabilities": [
@@ -111,165 +141,151 @@
"capabilities": [
{
"dmxRange": [0, 0],
- "type": "ColorWheelIndex",
- "index": 0,
- "comment": "Open",
- "colors": ["#ffffff"]
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [1, 14],
- "type": "ColorWheelIndex",
- "indexStart": 0,
- "indexEnd": 1,
- "comment": "Open … Color 1"
+ "type": "WheelSlot",
+ "slotNumberStart": 1,
+ "slotNumberEnd": 2
},
{
"dmxRange": [15, 15],
- "type": "ColorWheelIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [16, 29],
- "type": "ColorWheelIndex",
- "indexStart": 1,
- "indexEnd": 2,
- "comment": "Color 1 … Color 2"
+ "type": "WheelSlot",
+ "slotNumberStart": 2,
+ "slotNumberEnd": 3
},
{
"dmxRange": [30, 30],
- "type": "ColorWheelIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [31, 44],
- "type": "ColorWheelIndex",
- "indexStart": 2,
- "indexEnd": 3,
- "comment": "Color 2 … Color 3"
+ "type": "WheelSlot",
+ "slotNumberStart": 3,
+ "slotNumberEnd": 4
},
{
"dmxRange": [45, 45],
- "type": "ColorWheelIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [46, 59],
- "type": "ColorWheelIndex",
- "indexStart": 3,
- "indexEnd": 4,
- "comment": "Color 3 … Color 4"
+ "type": "WheelSlot",
+ "slotNumberStart": 4,
+ "slotNumberEnd": 5
},
{
"dmxRange": [60, 60],
- "type": "ColorWheelIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [61, 74],
- "type": "ColorWheelIndex",
- "indexStart": 4,
- "indexEnd": 5,
- "comment": "Color 4 … Color 5"
+ "type": "WheelSlot",
+ "slotNumberStart": 5,
+ "slotNumberEnd": 6
},
{
"dmxRange": [75, 75],
- "type": "ColorWheelIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [76, 89],
- "type": "ColorWheelIndex",
- "indexStart": 5,
- "indexEnd": 6,
- "comment": "Color 5 … Color 6"
+ "type": "WheelSlot",
+ "slotNumberStart": 6,
+ "slotNumberEnd": 7
},
{
"dmxRange": [90, 90],
- "type": "ColorWheelIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [91, 104],
- "type": "ColorWheelIndex",
- "indexStart": 6,
- "indexEnd": 7,
- "comment": "Color 6 … Color 7"
+ "type": "WheelSlot",
+ "slotNumberStart": 7,
+ "slotNumberEnd": 8
},
{
"dmxRange": [105, 105],
- "type": "ColorWheelIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [106, 119],
- "type": "ColorWheelIndex",
- "indexStart": 7,
- "indexEnd": 8,
- "comment": "Color 7 … Open"
+ "type": "WheelSlot",
+ "slotNumberStart": 8,
+ "slotNumberEnd": 9
},
{
"dmxRange": [120, 120],
- "type": "ColorWheelIndex",
- "index": 0,
- "comment": "Open",
- "colors": ["#ffffff"]
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [121, 125],
- "type": "ColorWheelIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [126, 130],
- "type": "ColorWheelIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [131, 135],
- "type": "ColorWheelIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [136, 140],
- "type": "ColorWheelIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [141, 145],
- "type": "ColorWheelIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [146, 150],
- "type": "ColorWheelIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [151, 155],
- "type": "ColorWheelIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [156, 160],
- "type": "ColorWheelIndex",
- "index": 0,
- "comment": "Open",
- "colors": ["#ffffff"]
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [161, 200],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [201, 203],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [204, 243],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
},
diff --git a/fixtures/martin/roboscan-812.json b/fixtures/martin/roboscan-812.json
index 8b0d9a08b7..2a76be4994 100644
--- a/fixtures/martin/roboscan-812.json
+++ b/fixtures/martin/roboscan-812.json
@@ -31,6 +31,127 @@
"tiltMax": 83
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Closed"
+ },
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Magenta",
+ "colors": ["#ca1f7b"]
+ },
+ {
+ "type": "Color",
+ "name": "Pink",
+ "colors": ["#ffc0cb"]
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#ff0000"]
+ },
+ {
+ "type": "Color",
+ "name": "Orange",
+ "colors": ["#ff7f00"]
+ },
+ {
+ "type": "Color",
+ "name": "Amber",
+ "colors": ["#ffbf00"]
+ },
+ {
+ "type": "Color",
+ "name": "Yellow",
+ "colors": ["#ffff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Light Green",
+ "colors": ["#90ee90"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#00ff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Cyan",
+ "colors": ["#00ffff"]
+ },
+ {
+ "type": "Color",
+ "name": "Blue",
+ "colors": ["#0000ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Dark Blue",
+ "colors": ["#00008b"]
+ }
+ ]
+ },
+ "Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Closed"
+ },
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo",
+ "name": "Dot"
+ },
+ {
+ "type": "Gobo",
+ "name": "Line"
+ },
+ {
+ "type": "Gobo",
+ "name": "Stars"
+ },
+ {
+ "type": "Gobo",
+ "name": "Triangles"
+ },
+ {
+ "type": "Gobo",
+ "name": "Star"
+ },
+ {
+ "type": "Gobo",
+ "name": "Dots"
+ },
+ {
+ "type": "Gobo",
+ "name": "Bells"
+ },
+ {
+ "type": "Gobo",
+ "name": "Cone"
+ },
+ {
+ "type": "Gobo",
+ "name": "Phone"
+ },
+ {
+ "type": "Gobo",
+ "name": "Window"
+ },
+ {
+ "type": "Gobo",
+ "name": "Triangle"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Strobe": {
"defaultValue": 0,
@@ -84,298 +205,212 @@
"capabilities": [
{
"dmxRange": [0, 0],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#000000"],
- "comment": "Closed"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [1, 14],
- "type": "ColorWheelIndex",
- "indexStart": 0,
- "indexEnd": 1,
- "colorsStart": ["#000000"],
- "colorsEnd": ["#ffffff"],
- "comment": "Closed … Open",
+ "type": "WheelSlot",
+ "slotNumberStart": 1,
+ "slotNumberEnd": 2,
"menuClick": "center"
},
{
"dmxRange": [15, 15],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [16, 29],
- "type": "ColorWheelIndex",
- "indexStart": 1,
- "indexEnd": 2,
- "colorsStart": ["#ffffff"],
- "colorsEnd": ["#ca1f7b"],
- "comment": "Open … Magenta",
+ "type": "WheelSlot",
+ "slotNumberStart": 2,
+ "slotNumberEnd": 3,
"menuClick": "center"
},
{
"dmxRange": [30, 30],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#ca1f7b"],
- "comment": "Magenta"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [31, 44],
- "type": "ColorWheelIndex",
- "indexStart": 2,
- "indexEnd": 3,
- "colorsStart": ["#ca1f7b"],
- "colorsEnd": ["#ffc0cb"],
- "comment": "Magenta … Pink",
+ "type": "WheelSlot",
+ "slotNumberStart": 3,
+ "slotNumberEnd": 4,
"menuClick": "center"
},
{
"dmxRange": [45, 45],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#ffc0cb"],
- "comment": "Pink"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [46, 59],
- "type": "ColorWheelIndex",
- "indexStart": 3,
- "indexEnd": 4,
- "colorsStart": ["#ffc0cb"],
- "colorsEnd": ["#ff0000"],
- "comment": "Pink … Red",
+ "type": "WheelSlot",
+ "slotNumberStart": 4,
+ "slotNumberEnd": 5,
"menuClick": "center"
},
{
"dmxRange": [60, 60],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#ff0000"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [61, 74],
- "type": "ColorWheelIndex",
- "indexStart": 4,
- "indexEnd": 5,
- "colorsStart": ["#ff0000"],
- "colorsEnd": ["#ff7f00"],
- "comment": "Red … Orange",
+ "type": "WheelSlot",
+ "slotNumberStart": 5,
+ "slotNumberEnd": 6,
"menuClick": "center"
},
{
"dmxRange": [75, 75],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#ff7f00"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [76, 89],
- "type": "ColorWheelIndex",
- "indexStart": 5,
- "indexEnd": 6,
- "colorsStart": ["#ff7f00"],
- "colorsEnd": ["#ffbf00"],
- "comment": "Orange … Amber",
+ "type": "WheelSlot",
+ "slotNumberStart": 6,
+ "slotNumberEnd": 7,
"menuClick": "center"
},
{
"dmxRange": [90, 90],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#ffbf00"],
- "comment": "Amber"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [91, 104],
- "type": "ColorWheelIndex",
- "indexStart": 6,
- "indexEnd": 7,
- "colorsStart": ["#ffbf00"],
- "colorsEnd": ["#ffff00"],
- "comment": "Amber … Yellow",
+ "type": "WheelSlot",
+ "slotNumberStart": 7,
+ "slotNumberEnd": 8,
"menuClick": "center"
},
{
"dmxRange": [105, 105],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#ffff00"],
- "comment": "Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [106, 119],
- "type": "ColorWheelIndex",
- "indexStart": 7,
- "indexEnd": 8,
- "colorsStart": ["#ffff00"],
- "colorsEnd": ["#90ee90"],
- "comment": "Yellow … Light Green",
+ "type": "WheelSlot",
+ "slotNumberStart": 8,
+ "slotNumberEnd": 9,
"menuClick": "center"
},
{
"dmxRange": [120, 120],
- "type": "ColorWheelIndex",
- "index": 8,
- "colors": ["#90ee90"],
- "comment": "Light Green"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [121, 134],
- "type": "ColorWheelIndex",
- "indexStart": 8,
- "indexEnd": 9,
- "colorsStart": ["#90ee90"],
- "colorsEnd": ["#00ff00"],
- "comment": "Light Green … Green",
+ "type": "WheelSlot",
+ "slotNumberStart": 9,
+ "slotNumberEnd": 10,
"menuClick": "center"
},
{
"dmxRange": [135, 135],
- "type": "ColorWheelIndex",
- "index": 9,
- "colors": ["#00ff00"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [136, 149],
- "type": "ColorWheelIndex",
- "indexStart": 9,
- "indexEnd": 10,
- "colorsStart": ["#00ff00"],
- "colorsEnd": ["#00ffff"],
- "comment": "Green … Cyan",
+ "type": "WheelSlot",
+ "slotNumberStart": 10,
+ "slotNumberEnd": 11,
"menuClick": "center"
},
{
"dmxRange": [150, 150],
- "type": "ColorWheelIndex",
- "index": 10,
- "colors": ["#00ffff"],
- "comment": "Cyan"
+ "type": "WheelSlot",
+ "slotNumber": 11
},
{
"dmxRange": [151, 164],
- "type": "ColorWheelIndex",
- "indexStart": 10,
- "indexEnd": 11,
- "colorsStart": ["#00ffff"],
- "colorsEnd": ["#0000ff"],
- "comment": "Cyan … Blue",
+ "type": "WheelSlot",
+ "slotNumberStart": 11,
+ "slotNumberEnd": 12,
"menuClick": "center"
},
{
"dmxRange": [165, 165],
- "type": "ColorWheelIndex",
- "index": 11,
- "colors": ["#0000ff"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "slotNumber": 12
},
{
"dmxRange": [166, 179],
- "type": "ColorWheelIndex",
- "indexStart": 11,
- "indexEnd": 12,
- "colorsStart": ["#0000ff"],
- "colorsEnd": ["#00008b"],
- "comment": "Blue … Dark Blue",
+ "type": "WheelSlot",
+ "slotNumberStart": 12,
+ "slotNumberEnd": 13,
"menuClick": "center"
},
{
"dmxRange": [180, 184],
- "type": "ColorWheelIndex",
- "index": 12,
- "colors": ["#00008b"],
- "comment": "Dark Blue"
+ "type": "WheelSlot",
+ "slotNumber": 13
},
{
"dmxRange": [185, 189],
- "type": "ColorWheelIndex",
- "index": 11,
- "colors": ["#0000ff"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "slotNumber": 12
},
{
"dmxRange": [190, 194],
- "type": "ColorWheelIndex",
- "index": 10,
- "colors": ["#00ffff"],
- "comment": "Cyan"
+ "type": "WheelSlot",
+ "slotNumber": 11
},
{
"dmxRange": [195, 199],
- "type": "ColorWheelIndex",
- "index": 9,
- "colors": ["#00ff00"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [200, 204],
- "type": "ColorWheelIndex",
- "index": 8,
- "colors": ["#90ee90"],
- "comment": "Light Green"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [205, 209],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#ffff00"],
- "comment": "Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [210, 214],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#ffbf00"],
- "comment": "Amber"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [215, 219],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#ff7f00"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [220, 224],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#ff0000"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [225, 229],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#ffc0cb"],
- "comment": "Pink"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [230, 234],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#ca1f7b"],
- "comment": "Magenta"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [235, 239],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [240, 255],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#000000"],
- "comment": "Closed"
+ "type": "WheelSlot",
+ "slotNumber": 1
}
]
},
@@ -383,237 +418,200 @@
"capabilities": [
{
"dmxRange": [0, 0],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Closed"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [1, 14],
- "type": "GoboIndex",
- "indexStart": 0,
- "indexEnd": 1,
- "comment": "Closed … Open"
+ "type": "WheelSlot",
+ "slotNumberStart": 1,
+ "slotNumberEnd": 2
},
{
"dmxRange": [15, 15],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [16, 29],
- "type": "GoboIndex",
- "indexStart": 1,
- "indexEnd": 2,
- "comment": "Open … Gobo Dot"
+ "type": "WheelSlot",
+ "slotNumberStart": 2,
+ "slotNumberEnd": 3
},
{
"dmxRange": [30, 30],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Dot"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [31, 44],
- "type": "GoboIndex",
- "indexStart": 2,
- "indexEnd": 3,
- "comment": "Gobo Dot … Gobo Line"
+ "type": "WheelSlot",
+ "slotNumberStart": 3,
+ "slotNumberEnd": 4
},
{
"dmxRange": [45, 45],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Line"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [46, 59],
- "type": "GoboIndex",
- "indexStart": 3,
- "indexEnd": 4,
- "comment": "Gobo Line … Gobo Stars"
+ "type": "WheelSlot",
+ "slotNumberStart": 4,
+ "slotNumberEnd": 5
},
{
"dmxRange": [60, 60],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Stars"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [61, 74],
- "type": "GoboIndex",
- "indexStart": 4,
- "indexEnd": 5,
- "comment": "Gobo Stars … Gobo Triangles"
+ "type": "WheelSlot",
+ "slotNumberStart": 5,
+ "slotNumberEnd": 6
},
{
"dmxRange": [75, 75],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Triangles"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [76, 89],
- "type": "GoboIndex",
- "indexStart": 5,
- "indexEnd": 6,
- "comment": "Gobo Triangles … Gobo Star"
+ "type": "WheelSlot",
+ "slotNumberStart": 6,
+ "slotNumberEnd": 7
},
{
"dmxRange": [90, 90],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Star"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [91, 104],
- "type": "GoboIndex",
- "indexStart": 6,
- "indexEnd": 7,
- "comment": "Gobo Star … Gobo Dots"
+ "type": "WheelSlot",
+ "slotNumberStart": 7,
+ "slotNumberEnd": 8
},
{
"dmxRange": [105, 105],
- "type": "GoboIndex",
- "index": 7,
- "comment": "Dots"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [106, 119],
- "type": "GoboIndex",
- "indexStart": 7,
- "indexEnd": 8,
- "comment": "Gobo Dots … Gobo Bells"
+ "type": "WheelSlot",
+ "slotNumberStart": 8,
+ "slotNumberEnd": 9
},
{
"dmxRange": [120, 120],
- "type": "GoboIndex",
- "index": 8,
- "comment": "Bells"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [121, 134],
- "type": "GoboIndex",
- "indexStart": 8,
- "indexEnd": 9,
- "comment": "Gobo Bells … Gobo Cone"
+ "type": "WheelSlot",
+ "slotNumberStart": 9,
+ "slotNumberEnd": 10
},
{
"dmxRange": [135, 135],
- "type": "GoboIndex",
- "index": 9,
- "comment": "Cone"
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [136, 149],
- "type": "GoboIndex",
- "indexStart": 9,
- "indexEnd": 10,
- "comment": "Gobo Cone … Gobo Phone"
+ "type": "WheelSlot",
+ "slotNumberStart": 10,
+ "slotNumberEnd": 11
},
{
"dmxRange": [150, 150],
- "type": "GoboIndex",
- "index": 10,
- "comment": "Phone"
+ "type": "WheelSlot",
+ "slotNumber": 11
},
{
"dmxRange": [151, 164],
- "type": "GoboIndex",
- "indexStart": 10,
- "indexEnd": 11,
- "comment": "Gobo Phone … Gobo Window"
+ "type": "WheelSlot",
+ "slotNumberStart": 11,
+ "slotNumberEnd": 12
},
{
"dmxRange": [165, 165],
- "type": "GoboIndex",
- "index": 11,
- "comment": "Window"
+ "type": "WheelSlot",
+ "slotNumber": 12
},
{
"dmxRange": [166, 179],
- "type": "GoboIndex",
- "indexStart": 11,
- "indexEnd": 12,
- "comment": "Gobo Window … Gobo Triangle"
+ "type": "WheelSlot",
+ "slotNumberStart": 12,
+ "slotNumberEnd": 13
},
{
"dmxRange": [180, 184],
- "type": "GoboIndex",
- "index": 12,
- "comment": "Triangle"
+ "type": "WheelSlot",
+ "slotNumber": 13
},
{
"dmxRange": [185, 189],
- "type": "GoboIndex",
- "index": 11,
- "comment": "Window"
+ "type": "WheelSlot",
+ "slotNumber": 12
},
{
"dmxRange": [190, 194],
- "type": "GoboIndex",
- "index": 10,
- "comment": "Phone"
+ "type": "WheelSlot",
+ "slotNumber": 11
},
{
"dmxRange": [195, 199],
- "type": "GoboIndex",
- "index": 9,
- "comment": "Cone"
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [200, 204],
- "type": "GoboIndex",
- "index": 8,
- "comment": "Bells"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [205, 209],
- "type": "GoboIndex",
- "index": 7,
- "comment": "Dots"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [210, 214],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Star"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [215, 219],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Triangles"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [220, 224],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Stars"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [225, 229],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Line"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [230, 234],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Dot"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [235, 239],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [240, 255],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Closed"
+ "type": "WheelSlot",
+ "slotNumber": 1
}
]
},
diff --git a/fixtures/martin/rush-mh-3-beam.json b/fixtures/martin/rush-mh-3-beam.json
index 67a77531bd..281d663e69 100644
--- a/fixtures/martin/rush-mh-3-beam.json
+++ b/fixtures/martin/rush-mh-3-beam.json
@@ -36,6 +36,143 @@
"tiltMax": 270
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#ff0000"]
+ },
+ {
+ "type": "Color",
+ "name": "Yellow",
+ "colors": ["#ffff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Blue",
+ "colors": ["#0000ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Turquoise",
+ "colors": ["#40e0d0"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#00ff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Light Blue",
+ "colors": ["#00aaff"]
+ },
+ {
+ "type": "Color",
+ "name": "Light Pink",
+ "colors": ["#e0b0ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Yellow Green",
+ "colors": ["#ddff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Dark Pink",
+ "colors": ["#ff00ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Blue",
+ "colors": ["#0000ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Light Yellow",
+ "colors": ["#ffff99"]
+ },
+ {
+ "type": "Color",
+ "name": "Off White",
+ "colors": ["#ffffff"]
+ },
+ {
+ "type": "Color",
+ "name": "Light Blue",
+ "colors": ["#00aaff"]
+ },
+ {
+ "type": "Color",
+ "name": "Dark Blue",
+ "colors": ["#0000aa"]
+ }
+ ]
+ },
+ "Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
@@ -352,235 +489,175 @@
"capabilities": [
{
"dmxRange": [0, 2],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [3, 4],
- "type": "ColorWheelIndex",
- "index": 0.5,
- "colors": ["#ffffff", "#ff0000"],
- "comment": "Split Open / Red"
+ "type": "WheelSlot",
+ "slotNumber": 1.5
},
{
"dmxRange": [5, 6],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#ff0000"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [7, 8],
- "type": "ColorWheelIndex",
- "index": 1.5,
- "colors": ["#ff0000", "#ffff00"],
- "comment": "Split Red / Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 2.5
},
{
"dmxRange": [9, 10],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#ffff00"],
- "comment": "Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [11, 12],
- "type": "ColorWheelIndex",
- "index": 2.5,
- "colors": ["#ffff00", "#0000ff"],
- "comment": "Split Yellow / Blue"
+ "type": "WheelSlot",
+ "slotNumber": 3.5
},
{
"dmxRange": [13, 14],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#0000ff"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [15, 16],
- "type": "ColorWheelIndex",
- "index": 3.5,
- "colors": ["#0000ff", "#40e0d0"],
- "comment": "Split Blue / Turquoise"
+ "type": "WheelSlot",
+ "slotNumber": 4.5
},
{
"dmxRange": [17, 18],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#40e0d0"],
- "comment": "Turquoise"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [19, 21],
- "type": "ColorWheelIndex",
- "index": 4.5,
- "colors": ["#40e0d0", "#00ff00"],
- "comment": "Split Turquoise / Green"
+ "type": "WheelSlot",
+ "slotNumber": 5.5
},
{
"dmxRange": [22, 23],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#00ff00"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [24, 25],
- "type": "ColorWheelIndex",
- "index": 5.5,
- "colors": ["#00ff00", "#00aaff"],
- "comment": "Split Green / Light Blue"
+ "type": "WheelSlot",
+ "slotNumber": 6.5
},
{
"dmxRange": [26, 27],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#00aaff"],
- "comment": "Light Blue"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [28, 29],
- "type": "ColorWheelIndex",
- "index": 6.5,
- "colors": ["#00aaff", "#e0b0ff"],
- "comment": "Split Light Blue / Light Pink"
+ "type": "WheelSlot",
+ "slotNumber": 7.5
},
{
"dmxRange": [30, 31],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#e0b0ff"],
- "comment": "Light Pink"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [32, 33],
- "type": "ColorWheelIndex",
- "index": 7.5,
- "colors": ["#e0b0ff", "#ddff00"],
- "comment": "Split Light Pink / Yellow Green"
+ "type": "WheelSlot",
+ "slotNumber": 8.5
},
{
"dmxRange": [34, 35],
- "type": "ColorWheelIndex",
- "index": 8,
- "colors": ["#ddff00"],
- "comment": "Yellow Green"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [36, 37],
- "type": "ColorWheelIndex",
- "index": 8.5,
- "colors": ["#ddff00", "#ff00ff"],
- "comment": "Split Yellow Green / Dark Pink"
+ "type": "WheelSlot",
+ "slotNumber": 9.5
},
{
"dmxRange": [38, 39],
- "type": "ColorWheelIndex",
- "index": 9,
- "colors": ["#ff00ff"],
- "comment": "Dark Pink"
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [40, 42],
- "type": "ColorWheelIndex",
- "index": 9.5,
- "colors": ["#ff00ff", "#0000ff"],
- "comment": "Split Dark Pink / Blue"
+ "type": "WheelSlot",
+ "slotNumber": 10.5
},
{
"dmxRange": [43, 44],
- "type": "ColorWheelIndex",
- "index": 10,
- "colors": ["#0000ff"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "slotNumber": 11
},
{
"dmxRange": [45, 46],
- "type": "ColorWheelIndex",
- "index": 10.5,
- "colors": ["#0000ff", "#ffff99"],
- "comment": "Split Blue / Light Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 11.5
},
{
"dmxRange": [47, 48],
- "type": "ColorWheelIndex",
- "index": 11,
- "colors": ["#ffff99"],
- "comment": "Light Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 12
},
{
"dmxRange": [49, 50],
- "type": "ColorWheelIndex",
- "index": 11.5,
- "colors": ["#ffff99", "#ffffff"],
- "comment": "Split Light Yellow / Off White"
+ "type": "WheelSlot",
+ "slotNumber": 12.5
},
{
"dmxRange": [51, 52],
- "type": "ColorWheelIndex",
- "index": 12,
- "colors": ["#ffffff"],
- "comment": "Off White",
+ "type": "WheelSlot",
+ "slotNumber": 13,
"helpWanted": "What color is \"Off White\"?"
},
{
"dmxRange": [53, 54],
- "type": "ColorWheelIndex",
- "index": 12.5,
- "colors": ["#ffffff", "#00aaff"],
- "comment": "Split Off White / Light Blue"
+ "type": "WheelSlot",
+ "slotNumber": 13.5
},
{
"dmxRange": [55, 56],
- "type": "ColorWheelIndex",
- "index": 13,
- "colors": ["#00aaff"],
- "comment": "Light Blue"
+ "type": "WheelSlot",
+ "slotNumber": 14
},
{
"dmxRange": [57, 58],
- "type": "ColorWheelIndex",
- "index": 13.5,
- "colors": ["#00aaff", "#0000aa"],
- "comment": "Split Light Blue / Dark Blue"
+ "type": "WheelSlot",
+ "slotNumber": 14.5
},
{
"dmxRange": [59, 60],
- "type": "ColorWheelIndex",
- "index": 14,
- "colors": ["#0000aa"],
- "comment": "Dark Blue"
+ "type": "WheelSlot",
+ "slotNumber": 15
},
{
"dmxRange": [61, 63],
- "type": "ColorWheelIndex",
- "index": 14.5,
- "colors": ["#0000aa", "#ffffff"],
- "comment": "Split Dark Blue / Open"
+ "type": "WheelSlot",
+ "slotNumber": 15.5
},
{
"dmxRange": [64, 127],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"angleStart": "0deg",
"angleEnd": "360deg"
},
{
"dmxRange": [128, 189],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [190, 193],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [194, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
@@ -590,218 +667,198 @@
"capabilities": [
{
"dmxRange": [0, 3],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [4, 6],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [7, 9],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [10, 12],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [13, 15],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [16, 18],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [19, 21],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [22, 24],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [25, 27],
- "type": "GoboIndex",
- "index": 8
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [28, 30],
- "type": "GoboIndex",
- "index": 9
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [31, 33],
- "type": "GoboIndex",
- "index": 10
+ "type": "WheelSlot",
+ "slotNumber": 11
},
{
"dmxRange": [34, 36],
- "type": "GoboIndex",
- "index": 11
+ "type": "WheelSlot",
+ "slotNumber": 12
},
{
"dmxRange": [37, 39],
- "type": "GoboIndex",
- "index": 12
+ "type": "WheelSlot",
+ "slotNumber": 13
},
{
"dmxRange": [40, 42],
- "type": "GoboIndex",
- "index": 13
+ "type": "WheelSlot",
+ "slotNumber": 14
},
{
"dmxRange": [43, 45],
- "type": "GoboIndex",
- "index": 14
+ "type": "WheelSlot",
+ "slotNumber": 15
},
{
"dmxRange": [46, 48],
- "type": "GoboIndex",
- "index": 15
+ "type": "WheelSlot",
+ "slotNumber": 16
},
{
"dmxRange": [49, 51],
- "type": "GoboIndex",
- "index": 16
+ "type": "WheelSlot",
+ "slotNumber": 17
},
{
"dmxRange": [52, 55],
- "type": "GoboIndex",
- "index": 17
+ "type": "WheelSlot",
+ "slotNumber": 18
},
{
"dmxRange": [56, 59],
- "type": "GoboIndex",
- "index": 0,
- "shakeAngle": "wide",
- "comment": "Open"
+ "type": "WheelShake",
+ "slotNumber": 1
},
{
"dmxRange": [60, 63],
- "type": "GoboIndex",
- "index": 1,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 2
},
{
"dmxRange": [64, 67],
- "type": "GoboIndex",
- "index": 2,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 3
},
{
"dmxRange": [68, 71],
- "type": "GoboIndex",
- "index": 3,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 4
},
{
"dmxRange": [72, 75],
- "type": "GoboIndex",
- "index": 4,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 5
},
{
"dmxRange": [76, 79],
- "type": "GoboIndex",
- "index": 5,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 6
},
{
"dmxRange": [80, 83],
- "type": "GoboIndex",
- "index": 6,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 7
},
{
"dmxRange": [84, 87],
- "type": "GoboIndex",
- "index": 7,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 8
},
{
"dmxRange": [88, 91],
- "type": "GoboIndex",
- "index": 8,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 9
},
{
"dmxRange": [92, 95],
- "type": "GoboIndex",
- "index": 9,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 10
},
{
"dmxRange": [96, 99],
- "type": "GoboIndex",
- "index": 10,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 11
},
{
"dmxRange": [100, 103],
- "type": "GoboIndex",
- "index": 11,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 12
},
{
"dmxRange": [104, 107],
- "type": "GoboIndex",
- "index": 12,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 13
},
{
"dmxRange": [108, 111],
- "type": "GoboIndex",
- "index": 13,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 14
},
{
"dmxRange": [112, 115],
- "type": "GoboIndex",
- "index": 14,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 15
},
{
"dmxRange": [116, 119],
- "type": "GoboIndex",
- "index": 15,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 16
},
{
"dmxRange": [120, 123],
- "type": "GoboIndex",
- "index": 16,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 17
},
{
"dmxRange": [124, 127],
- "type": "GoboIndex",
- "index": 17,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 18
},
{
"dmxRange": [128, 189],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CCW",
"speedEnd": "slow CCW"
},
{
"dmxRange": [190, 193],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [194, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW"
}
diff --git a/fixtures/martin/rush-mh-7-hybrid.json b/fixtures/martin/rush-mh-7-hybrid.json
index 481ae3f760..e848db0aae 100644
--- a/fixtures/martin/rush-mh-7-hybrid.json
+++ b/fixtures/martin/rush-mh-7-hybrid.json
@@ -34,6 +34,171 @@
"tiltMax": 250
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#ff0000"]
+ },
+ {
+ "type": "Color",
+ "name": "Blue",
+ "colors": ["#0000ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#00ff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Magenta",
+ "colors": ["#ff00ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Yellow",
+ "colors": ["#ffff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Light Blue",
+ "colors": ["#00ffff"]
+ },
+ {
+ "type": "Color",
+ "name": "Pink",
+ "colors": ["#ffaaff"]
+ },
+ {
+ "type": "Color",
+ "name": "Orange",
+ "colors": ["#ffaa00"]
+ },
+ {
+ "type": "Color",
+ "name": "Aqua",
+ "colors": ["#99ddff"]
+ },
+ {
+ "type": "Color",
+ "name": "Purple",
+ "colors": ["#aa00ff"]
+ },
+ {
+ "type": "Color",
+ "name": "CTO",
+ "colors": ["#ffcc99"]
+ },
+ {
+ "type": "Color",
+ "name": "CTB",
+ "colors": ["#88bbdd"]
+ },
+ {
+ "type": "Color",
+ "name": "UV",
+ "colors": ["#a996ff"]
+ }
+ ]
+ },
+ "Rotating Gobo Wheel": {
+ "direction": "CCW",
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo",
+ "name": "Damped Wave"
+ },
+ {
+ "type": "Gobo",
+ "name": "Luck Stakes"
+ },
+ {
+ "type": "Gobo",
+ "name": "Bite Me"
+ },
+ {
+ "type": "Gobo",
+ "name": "Laser Squares"
+ },
+ {
+ "type": "Gobo",
+ "name": "Kite Surf"
+ },
+ {
+ "type": "Gobo",
+ "name": "Dots in Space"
+ },
+ {
+ "type": "Gobo",
+ "name": "Organic Delight"
+ },
+ {
+ "type": "Gobo",
+ "name": "Slice It"
+ }
+ ]
+ },
+ "Fixed Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Iris",
+ "openPercent": "75%"
+ },
+ {
+ "type": "Iris",
+ "openPercent": "60%"
+ },
+ {
+ "type": "Iris",
+ "openPercent": "40%"
+ },
+ {
+ "type": "Iris",
+ "openPercent": "20%"
+ },
+ {
+ "type": "Iris",
+ "openPercent": "5%"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Dimmer": {
"fineChannelAliases": ["Dimmer fine"],
@@ -95,354 +260,256 @@
"capabilities": [
{
"dmxRange": [0, 0],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [1, 11],
- "type": "ColorWheelIndex",
- "indexStart": 0,
- "indexEnd": 1,
- "colorsStart": ["#ffffff"],
- "colorsEnd": ["#ff0000"],
- "comment": "Open … Red",
+ "type": "WheelSlot",
+ "slotNumberStart": 1,
+ "slotNumberEnd": 2,
"menuClick": "center"
},
{
"dmxRange": [12, 12],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#ff0000"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [13, 22],
- "type": "ColorWheelIndex",
- "indexStart": 1,
- "indexEnd": 2,
- "colorsStart": ["#ff0000"],
- "colorsEnd": ["#0000ff"],
- "comment": "Red … Blue",
+ "type": "WheelSlot",
+ "slotNumberStart": 2,
+ "slotNumberEnd": 3,
"menuClick": "center"
},
{
"dmxRange": [23, 23],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#0000ff"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [24, 32],
- "type": "ColorWheelIndex",
- "indexStart": 2,
- "indexEnd": 3,
- "colorsStart": ["#0000ff"],
- "colorsEnd": ["#00ff00"],
- "comment": "Blue … Green",
+ "type": "WheelSlot",
+ "slotNumberStart": 3,
+ "slotNumberEnd": 4,
"menuClick": "center"
},
{
"dmxRange": [33, 33],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#00ff00"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [34, 42],
- "type": "ColorWheelIndex",
- "indexStart": 3,
- "indexEnd": 4,
- "colorsStart": ["#00ff00"],
- "colorsEnd": ["#ff00ff"],
- "comment": "Green … Magenta",
+ "type": "WheelSlot",
+ "slotNumberStart": 4,
+ "slotNumberEnd": 5,
"menuClick": "center"
},
{
"dmxRange": [43, 43],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#ff00ff"],
- "comment": "Magenta"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [44, 52],
- "type": "ColorWheelIndex",
- "indexStart": 4,
- "indexEnd": 5,
- "colorsStart": ["#ff00ff"],
- "colorsEnd": ["#ffff00"],
- "comment": "Magenta … Yellow",
+ "type": "WheelSlot",
+ "slotNumberStart": 5,
+ "slotNumberEnd": 6,
"menuClick": "center"
},
{
"dmxRange": [53, 53],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#ffff00"],
- "comment": "Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [54, 62],
- "type": "ColorWheelIndex",
- "indexStart": 5,
- "indexEnd": 6,
- "colorsStart": ["#ffff00"],
- "colorsEnd": ["#00ffff"],
- "comment": "Yellow … Light Blue",
+ "type": "WheelSlot",
+ "slotNumberStart": 6,
+ "slotNumberEnd": 7,
"menuClick": "center"
},
{
"dmxRange": [63, 63],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#00ffff"],
- "comment": "Light Blue"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [64, 73],
- "type": "ColorWheelIndex",
- "indexStart": 6,
- "indexEnd": 7,
- "colorsStart": ["#00ffff"],
- "colorsEnd": ["#ffaaff"],
- "comment": "Light Blue … Pink",
+ "type": "WheelSlot",
+ "slotNumberStart": 7,
+ "slotNumberEnd": 8,
"menuClick": "center"
},
{
"dmxRange": [74, 74],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#ffaaff"],
- "comment": "Pink"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [75, 84],
- "type": "ColorWheelIndex",
- "indexStart": 7,
- "indexEnd": 8,
- "colorsStart": ["#ffaaff"],
- "colorsEnd": ["#ffaa00"],
- "comment": "Pink … Orange",
+ "type": "WheelSlot",
+ "slotNumberStart": 8,
+ "slotNumberEnd": 9,
"menuClick": "center"
},
{
"dmxRange": [85, 85],
- "type": "ColorWheelIndex",
- "index": 8,
- "colors": ["#ffaa00"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [86, 95],
- "type": "ColorWheelIndex",
- "indexStart": 8,
- "indexEnd": 9,
- "colorsStart": ["#ffaa00"],
- "colorsEnd": ["#99ddff"],
- "comment": "Orange … Aqua",
+ "type": "WheelSlot",
+ "slotNumberStart": 9,
+ "slotNumberEnd": 10,
"menuClick": "center"
},
{
"dmxRange": [96, 96],
- "type": "ColorWheelIndex",
- "index": 9,
- "colors": ["#99ddff"],
- "comment": "Aqua"
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [97, 105],
- "type": "ColorWheelIndex",
- "indexStart": 9,
- "indexEnd": 10,
- "colorsStart": ["#99ddff"],
- "colorsEnd": ["#aa00ff"],
- "comment": "Aqua … Purple",
+ "type": "WheelSlot",
+ "slotNumberStart": 10,
+ "slotNumberEnd": 11,
"menuClick": "center"
},
{
"dmxRange": [106, 106],
- "type": "ColorWheelIndex",
- "index": 10,
- "colors": ["#aa00ff"],
- "comment": "Purple"
+ "type": "WheelSlot",
+ "slotNumber": 11
},
{
"dmxRange": [107, 114],
- "type": "ColorWheelIndex",
- "indexStart": 10,
- "indexEnd": 11,
- "colorsStart": ["#aa00ff"],
- "colorsEnd": ["#ffcc99"],
- "comment": "Purple … CTO",
+ "type": "WheelSlot",
+ "slotNumberStart": 11,
+ "slotNumberEnd": 12,
"menuClick": "center"
},
{
"dmxRange": [115, 115],
- "type": "ColorWheelIndex",
- "index": 11,
- "colors": ["#ffcc99"],
- "comment": "CTO"
+ "type": "WheelSlot",
+ "slotNumber": 12
},
{
"dmxRange": [116, 124],
- "type": "ColorWheelIndex",
- "indexStart": 11,
- "indexEnd": 12,
- "colorsStart": ["#ffcc99"],
- "colorsEnd": ["#88bbdd"],
- "comment": "CTO … CTB",
+ "type": "WheelSlot",
+ "slotNumberStart": 12,
+ "slotNumberEnd": 13,
"menuClick": "center"
},
{
"dmxRange": [125, 125],
- "type": "ColorWheelIndex",
- "index": 12,
- "colors": ["#88bbdd"],
- "comment": "CTB"
+ "type": "WheelSlot",
+ "slotNumber": 13
},
{
"dmxRange": [126, 136],
- "type": "ColorWheelIndex",
- "indexStart": 12,
- "indexEnd": 13,
- "colorsStart": ["#88bbdd"],
- "colorsEnd": ["#a996ff"],
- "comment": "CTB … UV",
+ "type": "WheelSlot",
+ "slotNumberStart": 13,
+ "slotNumberEnd": 14,
"menuClick": "center"
},
{
"dmxRange": [137, 137],
- "type": "ColorWheelIndex",
- "index": 13,
- "colors": ["#a996ff"],
- "comment": "UV"
+ "type": "WheelSlot",
+ "slotNumber": 14
},
{
"dmxRange": [138, 146],
- "type": "ColorWheelIndex",
- "indexStart": 13,
- "indexEnd": 14,
- "colorsStart": ["#a996ff"],
- "colorsEnd": ["#ffffff"],
- "comment": "UV … Open",
+ "type": "WheelSlot",
+ "slotNumberStart": 14,
+ "slotNumberEnd": 15,
"menuClick": "center"
},
{
"dmxRange": [147, 147],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [148, 151],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#ff0000"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [152, 155],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#0000ff"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [156, 159],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#00ff00"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [160, 163],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#ff00ff"],
- "comment": "Magenta"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [164, 167],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#ffff00"],
- "comment": "Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [168, 171],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#00ffff"],
- "comment": "Light Blue"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [172, 175],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#ffaaff"],
- "comment": "Pink"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [176, 179],
- "type": "ColorWheelIndex",
- "index": 8,
- "colors": ["#ffaa00"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [180, 183],
- "type": "ColorWheelIndex",
- "index": 9,
- "colors": ["#99ddff"],
- "comment": "Aqua"
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [184, 187],
- "type": "ColorWheelIndex",
- "index": 10,
- "colors": ["#aa00ff"],
- "comment": "Purple"
+ "type": "WheelSlot",
+ "slotNumber": 11
},
{
"dmxRange": [188, 191],
- "type": "ColorWheelIndex",
- "index": 11,
- "colors": ["#ffcc99"],
- "comment": "CTO"
+ "type": "WheelSlot",
+ "slotNumber": 12
},
{
"dmxRange": [192, 195],
- "type": "ColorWheelIndex",
- "index": 12,
- "colors": ["#88bbdd"],
- "comment": "CTB"
+ "type": "WheelSlot",
+ "slotNumber": 13
},
{
"dmxRange": [196, 199],
- "type": "ColorWheelIndex",
- "index": 13,
- "colors": ["#a996ff"],
- "comment": "UV"
+ "type": "WheelSlot",
+ "slotNumber": 14
},
{
"dmxRange": [200, 220],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [221, 222],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [223, 243],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
},
@@ -479,9 +546,8 @@
},
{
"dmxRange": [12, 23],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open",
+ "type": "WheelSlot",
+ "slotNumber": 1,
"switchChannels": {
"Rotating Gobo Indexing/Speed": "Rotating Gobo Speed",
"Rotating Gobo Indexing/Speed fine": "Rotating Gobo Speed fine"
@@ -489,9 +555,9 @@
},
{
"dmxRange": [24, 29],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Gobo Damped Wave (indexed)",
+ "type": "WheelSlot",
+ "slotNumber": 2,
+ "comment": "indexed",
"switchChannels": {
"Rotating Gobo Indexing/Speed": "Rotating Gobo Indexing",
"Rotating Gobo Indexing/Speed fine": "Rotating Gobo Indexing fine"
@@ -499,9 +565,9 @@
},
{
"dmxRange": [30, 35],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Gobo Luck Stakes (indexed)",
+ "type": "WheelSlot",
+ "slotNumber": 3,
+ "comment": "indexed",
"switchChannels": {
"Rotating Gobo Indexing/Speed": "Rotating Gobo Indexing",
"Rotating Gobo Indexing/Speed fine": "Rotating Gobo Indexing fine"
@@ -509,9 +575,9 @@
},
{
"dmxRange": [36, 41],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Gobo Bite Me (indexed)",
+ "type": "WheelSlot",
+ "slotNumber": 4,
+ "comment": "indexed",
"switchChannels": {
"Rotating Gobo Indexing/Speed": "Rotating Gobo Indexing",
"Rotating Gobo Indexing/Speed fine": "Rotating Gobo Indexing fine"
@@ -519,9 +585,9 @@
},
{
"dmxRange": [42, 47],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Gobo Laser Squares (indexed)",
+ "type": "WheelSlot",
+ "slotNumber": 5,
+ "comment": "indexed",
"switchChannels": {
"Rotating Gobo Indexing/Speed": "Rotating Gobo Indexing",
"Rotating Gobo Indexing/Speed fine": "Rotating Gobo Indexing fine"
@@ -529,9 +595,9 @@
},
{
"dmxRange": [48, 53],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Gobo Kite Surf (indexed)",
+ "type": "WheelSlot",
+ "slotNumber": 6,
+ "comment": "indexed",
"switchChannels": {
"Rotating Gobo Indexing/Speed": "Rotating Gobo Indexing",
"Rotating Gobo Indexing/Speed fine": "Rotating Gobo Indexing fine"
@@ -539,9 +605,9 @@
},
{
"dmxRange": [54, 59],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Gobo Dots in Space (indexed)",
+ "type": "WheelSlot",
+ "slotNumber": 7,
+ "comment": "indexed",
"switchChannels": {
"Rotating Gobo Indexing/Speed": "Rotating Gobo Indexing",
"Rotating Gobo Indexing/Speed fine": "Rotating Gobo Indexing fine"
@@ -549,9 +615,9 @@
},
{
"dmxRange": [60, 65],
- "type": "GoboIndex",
- "index": 7,
- "comment": "Gobo Organic Delight (indexed)",
+ "type": "WheelSlot",
+ "slotNumber": 8,
+ "comment": "indexed",
"switchChannels": {
"Rotating Gobo Indexing/Speed": "Rotating Gobo Indexing",
"Rotating Gobo Indexing/Speed fine": "Rotating Gobo Indexing fine"
@@ -559,9 +625,9 @@
},
{
"dmxRange": [66, 71],
- "type": "GoboIndex",
- "index": 8,
- "comment": "Gobo Slice It (indexed)",
+ "type": "WheelSlot",
+ "slotNumber": 9,
+ "comment": "indexed",
"switchChannels": {
"Rotating Gobo Indexing/Speed": "Rotating Gobo Indexing",
"Rotating Gobo Indexing/Speed fine": "Rotating Gobo Indexing fine"
@@ -569,9 +635,9 @@
},
{
"dmxRange": [72, 76],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Gobo Damped Wave (rotating)",
+ "type": "WheelSlot",
+ "slotNumber": 2,
+ "comment": "rotating",
"switchChannels": {
"Rotating Gobo Indexing/Speed": "Rotating Gobo Speed",
"Rotating Gobo Indexing/Speed fine": "Rotating Gobo Speed fine"
@@ -579,9 +645,9 @@
},
{
"dmxRange": [77, 81],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Gobo Luck Stakes (rotating)",
+ "type": "WheelSlot",
+ "slotNumber": 3,
+ "comment": "rotating",
"switchChannels": {
"Rotating Gobo Indexing/Speed": "Rotating Gobo Speed",
"Rotating Gobo Indexing/Speed fine": "Rotating Gobo Speed fine"
@@ -589,9 +655,9 @@
},
{
"dmxRange": [82, 86],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Gobo Bite Me (rotating)",
+ "type": "WheelSlot",
+ "slotNumber": 4,
+ "comment": "rotating",
"switchChannels": {
"Rotating Gobo Indexing/Speed": "Rotating Gobo Speed",
"Rotating Gobo Indexing/Speed fine": "Rotating Gobo Speed fine"
@@ -599,9 +665,9 @@
},
{
"dmxRange": [87, 91],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Gobo Laser Squares (rotating)",
+ "type": "WheelSlot",
+ "slotNumber": 5,
+ "comment": "rotating",
"switchChannels": {
"Rotating Gobo Indexing/Speed": "Rotating Gobo Speed",
"Rotating Gobo Indexing/Speed fine": "Rotating Gobo Speed fine"
@@ -609,9 +675,9 @@
},
{
"dmxRange": [92, 96],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Gobo Kite Surf (rotating)",
+ "type": "WheelSlot",
+ "slotNumber": 6,
+ "comment": "rotating",
"switchChannels": {
"Rotating Gobo Indexing/Speed": "Rotating Gobo Speed",
"Rotating Gobo Indexing/Speed fine": "Rotating Gobo Speed fine"
@@ -619,9 +685,9 @@
},
{
"dmxRange": [97, 101],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Gobo Dots in Space (rotating)",
+ "type": "WheelSlot",
+ "slotNumber": 7,
+ "comment": "rotating",
"switchChannels": {
"Rotating Gobo Indexing/Speed": "Rotating Gobo Speed",
"Rotating Gobo Indexing/Speed fine": "Rotating Gobo Speed fine"
@@ -629,9 +695,9 @@
},
{
"dmxRange": [102, 106],
- "type": "GoboIndex",
- "index": 7,
- "comment": "Gobo Organic Delight (rotating)",
+ "type": "WheelSlot",
+ "slotNumber": 8,
+ "comment": "rotating",
"switchChannels": {
"Rotating Gobo Indexing/Speed": "Rotating Gobo Speed",
"Rotating Gobo Indexing/Speed fine": "Rotating Gobo Speed fine"
@@ -639,9 +705,9 @@
},
{
"dmxRange": [107, 111],
- "type": "GoboIndex",
- "index": 8,
- "comment": "Gobo Slice It (rotating)",
+ "type": "WheelSlot",
+ "slotNumber": 9,
+ "comment": "rotating",
"switchChannels": {
"Rotating Gobo Indexing/Speed": "Rotating Gobo Speed",
"Rotating Gobo Indexing/Speed fine": "Rotating Gobo Speed fine"
@@ -649,10 +715,8 @@
},
{
"dmxRange": [112, 121],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Damped Wave",
- "shakeAngle": "wide",
+ "type": "WheelShake",
+ "slotNumber": 2,
"switchChannels": {
"Rotating Gobo Indexing/Speed": "Rotating Gobo Speed",
"Rotating Gobo Indexing/Speed fine": "Rotating Gobo Speed fine"
@@ -660,10 +724,8 @@
},
{
"dmxRange": [122, 131],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Luck Stakes",
- "shakeAngle": "wide",
+ "type": "WheelShake",
+ "slotNumber": 3,
"switchChannels": {
"Rotating Gobo Indexing/Speed": "Rotating Gobo Speed",
"Rotating Gobo Indexing/Speed fine": "Rotating Gobo Speed fine"
@@ -671,10 +733,8 @@
},
{
"dmxRange": [132, 141],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Bite Me",
- "shakeAngle": "wide",
+ "type": "WheelShake",
+ "slotNumber": 4,
"switchChannels": {
"Rotating Gobo Indexing/Speed": "Rotating Gobo Speed",
"Rotating Gobo Indexing/Speed fine": "Rotating Gobo Speed fine"
@@ -682,10 +742,8 @@
},
{
"dmxRange": [142, 151],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Laser Squares",
- "shakeAngle": "wide",
+ "type": "WheelShake",
+ "slotNumber": 5,
"switchChannels": {
"Rotating Gobo Indexing/Speed": "Rotating Gobo Speed",
"Rotating Gobo Indexing/Speed fine": "Rotating Gobo Speed fine"
@@ -693,10 +751,8 @@
},
{
"dmxRange": [152, 161],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Kite Surf",
- "shakeAngle": "wide",
+ "type": "WheelShake",
+ "slotNumber": 6,
"switchChannels": {
"Rotating Gobo Indexing/Speed": "Rotating Gobo Speed",
"Rotating Gobo Indexing/Speed fine": "Rotating Gobo Speed fine"
@@ -704,10 +760,8 @@
},
{
"dmxRange": [162, 171],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Dots in Space",
- "shakeAngle": "wide",
+ "type": "WheelShake",
+ "slotNumber": 7,
"switchChannels": {
"Rotating Gobo Indexing/Speed": "Rotating Gobo Speed",
"Rotating Gobo Indexing/Speed fine": "Rotating Gobo Speed fine"
@@ -715,10 +769,8 @@
},
{
"dmxRange": [172, 181],
- "type": "GoboIndex",
- "index": 7,
- "comment": "Organic Delight",
- "shakeAngle": "wide",
+ "type": "WheelShake",
+ "slotNumber": 8,
"switchChannels": {
"Rotating Gobo Indexing/Speed": "Rotating Gobo Speed",
"Rotating Gobo Indexing/Speed fine": "Rotating Gobo Speed fine"
@@ -726,10 +778,8 @@
},
{
"dmxRange": [182, 191],
- "type": "GoboIndex",
- "index": 8,
- "comment": "Slice It",
- "shakeAngle": "wide",
+ "type": "WheelShake",
+ "slotNumber": 9,
"switchChannels": {
"Rotating Gobo Indexing/Speed": "Rotating Gobo Speed",
"Rotating Gobo Indexing/Speed fine": "Rotating Gobo Speed fine"
@@ -737,7 +787,7 @@
},
{
"dmxRange": [192, 223],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW",
"switchChannels": {
@@ -747,7 +797,7 @@
},
{
"dmxRange": [224, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW",
"switchChannels": {
@@ -760,7 +810,8 @@
"Rotating Gobo Indexing": {
"fineChannelAliases": ["Rotating Gobo Indexing fine"],
"capability": {
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"angleStart": "0deg",
"angleEnd": "360deg"
}
@@ -771,29 +822,34 @@
"capabilities": [
{
"dmxRange": [0, 31],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"angle": "0deg"
},
{
"dmxRange": [32, 93],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [94, 127],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [128, 189],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
},
{
"dmxRange": [190, 255],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"angle": "90deg"
}
]
@@ -802,277 +858,236 @@
"capabilities": [
{
"dmxRange": [0, 2],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [3, 5],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Iris 1 (widest)"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [6, 8],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Iris 2"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [9, 11],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Iris 3"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [12, 14],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Iris 4"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [15, 17],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Iris 5 (narrowest)"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [18, 20],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Gobo 1"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [21, 23],
- "type": "GoboIndex",
- "index": 7,
- "comment": "Gobo 2"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [24, 26],
- "type": "GoboIndex",
- "index": 8,
- "comment": "Gobo 3"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [27, 29],
- "type": "GoboIndex",
- "index": 9,
- "comment": "Gobo 4"
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [30, 32],
- "type": "GoboIndex",
- "index": 10,
- "comment": "Gobo 5"
+ "type": "WheelSlot",
+ "slotNumber": 11
},
{
"dmxRange": [33, 35],
- "type": "GoboIndex",
- "index": 11,
- "comment": "Gobo 6"
+ "type": "WheelSlot",
+ "slotNumber": 12
},
{
"dmxRange": [36, 38],
- "type": "GoboIndex",
- "index": 12,
- "comment": "Gobo 7"
+ "type": "WheelSlot",
+ "slotNumber": 13
},
{
"dmxRange": [39, 41],
- "type": "GoboIndex",
- "index": 13,
- "comment": "Gobo 8"
+ "type": "WheelSlot",
+ "slotNumber": 14
},
{
"dmxRange": [42, 42],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [43, 53],
- "type": "GoboIndex",
- "indexStart": 0,
- "indexEnd": 1,
- "comment": "Open … Iris 1"
+ "type": "WheelSlot",
+ "slotNumberStart": 1,
+ "slotNumberEnd": 2
},
{
"dmxRange": [54, 54],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Iris 1"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [55, 64],
- "type": "GoboIndex",
- "indexStart": 1,
- "indexEnd": 2,
- "comment": "Iris 1 … Iris 2"
+ "type": "WheelSlot",
+ "slotNumberStart": 2,
+ "slotNumberEnd": 3
},
{
"dmxRange": [65, 65],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Iris 2"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [66, 76],
- "type": "GoboIndex",
- "indexStart": 2,
- "indexEnd": 3,
- "comment": "Iris 2 … Iris 3"
+ "type": "WheelSlot",
+ "slotNumberStart": 3,
+ "slotNumberEnd": 4
},
{
"dmxRange": [77, 77],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Iris 3"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [78, 88],
- "type": "GoboIndex",
- "indexStart": 3,
- "indexEnd": 4,
- "comment": "Iris 3 … Iris 4"
+ "type": "WheelSlot",
+ "slotNumberStart": 4,
+ "slotNumberEnd": 5
},
{
"dmxRange": [89, 89],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Iris 4"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [90, 100],
- "type": "GoboIndex",
- "indexStart": 4,
- "indexEnd": 5,
- "comment": "Iris 4 … Iris 5"
+ "type": "WheelSlot",
+ "slotNumberStart": 5,
+ "slotNumberEnd": 6
},
{
"dmxRange": [101, 101],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Iris 5"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [102, 112],
- "type": "GoboIndex",
- "indexStart": 5,
- "indexEnd": 6,
- "comment": "Iris 5 … Gobo 1"
+ "type": "WheelSlot",
+ "slotNumberStart": 6,
+ "slotNumberEnd": 7
},
{
"dmxRange": [113, 113],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Gobo 1"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [114, 123],
- "type": "GoboIndex",
- "indexStart": 6,
- "indexEnd": 7,
- "comment": "Gobo 1 … Gobo 2"
+ "type": "WheelSlot",
+ "slotNumberStart": 7,
+ "slotNumberEnd": 8
},
{
"dmxRange": [124, 124],
- "type": "GoboIndex",
- "index": 7,
- "comment": "Gobo 2"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [125, 135],
- "type": "GoboIndex",
- "indexStart": 7,
- "indexEnd": 8,
- "comment": "Gobo 2 … Gobo 3"
+ "type": "WheelSlot",
+ "slotNumberStart": 8,
+ "slotNumberEnd": 9
},
{
"dmxRange": [136, 136],
- "type": "GoboIndex",
- "index": 8,
- "comment": "Gobo 3"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [137, 147],
- "type": "GoboIndex",
- "indexStart": 8,
- "indexEnd": 9,
- "comment": "Gobo 3 … Gobo 4"
+ "type": "WheelSlot",
+ "slotNumberStart": 9,
+ "slotNumberEnd": 10
},
{
"dmxRange": [148, 148],
- "type": "GoboIndex",
- "index": 9,
- "comment": "Gobo 4"
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [149, 159],
- "type": "GoboIndex",
- "indexStart": 9,
- "indexEnd": 10,
- "comment": "Gobo 4 … Gobo 5"
+ "type": "WheelSlot",
+ "slotNumberStart": 10,
+ "slotNumberEnd": 11
},
{
"dmxRange": [160, 160],
- "type": "GoboIndex",
- "index": 10,
- "comment": "Gobo 5"
+ "type": "WheelSlot",
+ "slotNumber": 11
},
{
"dmxRange": [161, 170],
- "type": "GoboIndex",
- "indexStart": 10,
- "indexEnd": 11,
- "comment": "Gobo 5 … Gobo 6"
+ "type": "WheelSlot",
+ "slotNumberStart": 11,
+ "slotNumberEnd": 12
},
{
"dmxRange": [171, 171],
- "type": "GoboIndex",
- "index": 11,
- "comment": "Gobo 6"
+ "type": "WheelSlot",
+ "slotNumber": 12
},
{
"dmxRange": [172, 182],
- "type": "GoboIndex",
- "indexStart": 11,
- "indexEnd": 12,
- "comment": "Gobo 6 … Gobo 7"
+ "type": "WheelSlot",
+ "slotNumberStart": 12,
+ "slotNumberEnd": 13
},
{
"dmxRange": [183, 183],
- "type": "GoboIndex",
- "index": 12,
- "comment": "Gobo 7"
+ "type": "WheelSlot",
+ "slotNumber": 13
},
{
"dmxRange": [184, 194],
- "type": "GoboIndex",
- "indexStart": 12,
- "indexEnd": 13,
- "comment": "Gobo 7 … Gobo 8"
+ "type": "WheelSlot",
+ "slotNumberStart": 13,
+ "slotNumberEnd": 14
},
{
"dmxRange": [195, 195],
- "type": "GoboIndex",
- "index": 13,
- "comment": "Gobo 8"
+ "type": "WheelSlot",
+ "slotNumber": 14
},
{
"dmxRange": [196, 217],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [218, 221],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [222, 243],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
},
diff --git a/fixtures/nicols/pat-252.json b/fixtures/nicols/pat-252.json
index fef1ed4ee0..8f6930fdd7 100644
--- a/fixtures/nicols/pat-252.json
+++ b/fixtures/nicols/pat-252.json
@@ -37,6 +37,119 @@
"tiltMax": 60
}
},
+ "wheels": {
+ "Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ },
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#58b848"]
+ },
+ {
+ "type": "Color",
+ "name": "Orange 306",
+ "colors": ["#f46f34"]
+ },
+ {
+ "type": "Color",
+ "name": "Light blue",
+ "colors": ["#95d8e0"]
+ },
+ {
+ "type": "Color",
+ "name": "Y52-Yellow",
+ "colors": ["#e8ea7c"]
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#ef332d"]
+ },
+ {
+ "type": "Color",
+ "name": "Purple",
+ "colors": ["#73479a"]
+ },
+ {
+ "type": "Color",
+ "name": "Pink",
+ "colors": ["#f097c0"]
+ },
+ {
+ "type": "Color",
+ "name": "Light green",
+ "colors": ["#39b773"]
+ },
+ {
+ "type": "Color",
+ "name": "Blue",
+ "colors": ["#1857a7"]
+ },
+ {
+ "type": "Color",
+ "name": "Yellow",
+ "colors": ["#e6e74d"]
+ },
+ {
+ "type": "Color",
+ "name": "Magenta",
+ "colors": ["#a65a9d"]
+ }
+ ]
+ }
+ },
"availableChannels": {
"Shutter": {
"capabilities": [
@@ -71,7 +184,8 @@
},
{
"dmxRange": [197, 255],
- "type": "GoboShake"
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel"
}
]
},
@@ -84,83 +198,82 @@
},
{
"dmxRange": [8, 15],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [16, 23],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [24, 31],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [32, 39],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [40, 47],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [48, 55],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [56, 63],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [64, 71],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [72, 79],
- "type": "GoboIndex",
- "index": 8
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [80, 87],
- "type": "GoboIndex",
- "index": 9
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [88, 95],
- "type": "GoboIndex",
- "index": 10
+ "type": "WheelSlot",
+ "slotNumber": 11
},
{
"dmxRange": [96, 103],
- "type": "GoboIndex",
- "index": 11
+ "type": "WheelSlot",
+ "slotNumber": 12
},
{
"dmxRange": [104, 111],
- "type": "GoboIndex",
- "index": 12
+ "type": "WheelSlot",
+ "slotNumber": 13
},
{
"dmxRange": [112, 119],
- "type": "GoboIndex",
- "index": 13
+ "type": "WheelSlot",
+ "slotNumber": 14
},
{
"dmxRange": [120, 127],
- "type": "GoboIndex",
- "index": 14
+ "type": "WheelSlot",
+ "slotNumber": 15
},
{
"dmxRange": [128, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW"
}
@@ -170,91 +283,67 @@
"capabilities": [
{
"dmxRange": [0, 11],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [12, 22],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#58b848"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [23, 33],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#f46f34"],
- "comment": "Orange 306"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [34, 44],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#95d8e0"],
- "comment": "Light blue"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [45, 55],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#e8ea7c"],
- "comment": "Y52-Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [56, 66],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#ef332d"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [67, 77],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#73479a"],
- "comment": "Purple"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [78, 88],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#f097c0"],
- "comment": "Pink"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [89, 99],
- "type": "ColorWheelIndex",
- "index": 8,
- "colors": ["#39b773"],
- "comment": "Light green"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [100, 110],
- "type": "ColorWheelIndex",
- "index": 9,
- "colors": ["#1857a7"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [111, 121],
- "type": "ColorWheelIndex",
- "index": 10,
- "colors": ["#e6e74d"],
- "comment": "Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 11
},
{
"dmxRange": [122, 128],
- "type": "ColorWheelIndex",
- "index": 11,
- "colors": ["#a65a9d"],
- "comment": "Magenta"
+ "type": "WheelSlot",
+ "slotNumber": 12
},
{
"dmxRange": [129, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW"
}
diff --git a/fixtures/prolights/v700spot.json b/fixtures/prolights/v700spot.json
index 3d4a9e9e8a..1c7f5e54e5 100644
--- a/fixtures/prolights/v700spot.json
+++ b/fixtures/prolights/v700spot.json
@@ -40,6 +40,126 @@
"tiltMax": 270
}
},
+ "wheels": {
+ "Color Wheel 1": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Light Blue",
+ "colors": ["#add8e6"]
+ },
+ {
+ "type": "Color",
+ "name": "Pink",
+ "colors": ["#ffc0cb"]
+ },
+ {
+ "type": "Color",
+ "name": "UV Purple",
+ "colors": ["#e005fa"]
+ },
+ {
+ "type": "Color",
+ "name": "Light Green",
+ "colors": ["#90ee90"]
+ },
+ {
+ "type": "Color",
+ "name": "3200K",
+ "colors": ["#ffc076"]
+ },
+ {
+ "type": "Color",
+ "name": "5600K",
+ "colors": ["#ffefe1"]
+ }
+ ]
+ },
+ "Color Wheel 2": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#00ff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Blue",
+ "colors": ["#0000ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Orange",
+ "colors": ["#ffa500"]
+ },
+ {
+ "type": "Color",
+ "name": "Magenta",
+ "colors": ["#ff00ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Light Yellow",
+ "colors": ["#ffffe0"]
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#ff0000"]
+ }
+ ]
+ },
+ "Gobo Wheel 1": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ },
+ "Gobo Wheel 2": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
@@ -93,17 +213,17 @@
},
{
"dmxRange": [132, 185],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel 1",
"shakeSpeedStart": "slow",
- "shakeSpeedEnd": "fast",
- "comment": "Gobo Wheel 1"
+ "shakeSpeedEnd": "fast"
},
{
"dmxRange": [186, 239],
- "type": "GoboShake",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel 2",
"shakeSpeedStart": "slow",
- "shakeSpeedEnd": "fast",
- "comment": "Gobo Wheel 2"
+ "shakeSpeedEnd": "fast"
},
{
"dmxRange": [240, 247],
@@ -122,68 +242,54 @@
"capabilities": [
{
"dmxRange": [0, 9],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [10, 18],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#add8e6"],
- "comment": "Light Blue"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [19, 27],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#ffc0cb"],
- "comment": "Pink"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [28, 36],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#e005fa"],
- "comment": "UV Purple"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [37, 45],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#90ee90"],
- "comment": "Light Green"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [46, 54],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#ffc076"],
- "comment": "3200K"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [55, 63],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#ffefe1"],
- "comment": "5600K"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [64, 127],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"angleStart": "0deg",
"angleEnd": "360deg"
},
{
"dmxRange": [128, 191],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [192, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
@@ -193,68 +299,54 @@
"capabilities": [
{
"dmxRange": [0, 9],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [10, 18],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#00ff00"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [19, 27],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#0000ff"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [28, 36],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#ffa500"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [37, 45],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#ff00ff"],
- "comment": "Magenta"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [46, 54],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#ffffe0"],
- "comment": "Light Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [55, 63],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#ff0000"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [64, 127],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"angleStart": "0deg",
"angleEnd": "360deg"
},
{
"dmxRange": [128, 167],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [168, 207],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
},
@@ -294,44 +386,43 @@
"capabilities": [
{
"dmxRange": [0, 21],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [22, 42],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [43, 63],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [64, 84],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [85, 105],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [106, 127],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [128, 191],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [192, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
@@ -341,19 +432,22 @@
"capabilities": [
{
"dmxRange": [0, 127],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 1",
"angleStart": "0deg",
"angleEnd": "360deg"
},
{
"dmxRange": [128, 191],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 1",
"speedStart": "slow CW",
"speedEnd": "fast CW"
},
{
"dmxRange": [192, 255],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 1",
"speedStart": "fast CCW",
"speedEnd": "slow CCW"
}
@@ -363,44 +457,43 @@
"capabilities": [
{
"dmxRange": [0, 21],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [22, 42],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [43, 63],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [64, 84],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [85, 105],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [106, 127],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [128, 191],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW"
},
{
"dmxRange": [192, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CCW",
"speedEnd": "slow CCW"
}
diff --git a/fixtures/qtx/lux-ld30w.json b/fixtures/qtx/lux-ld30w.json
index 31bf208df3..456388dd92 100644
--- a/fixtures/qtx/lux-ld30w.json
+++ b/fixtures/qtx/lux-ld30w.json
@@ -30,74 +30,127 @@
"type": "Head"
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#ff0000"]
+ },
+ {
+ "type": "Color",
+ "name": "Yellow",
+ "colors": ["#ffff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Cyan",
+ "colors": ["#00ffff"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#00ff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Orange",
+ "colors": ["#ff7700"]
+ },
+ {
+ "type": "Color",
+ "name": "Purple",
+ "colors": ["#ff00aa"]
+ },
+ {
+ "type": "Color",
+ "name": "Blue",
+ "colors": ["#0000ff"]
+ }
+ ]
+ },
+ "Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Color Wheel": {
"capabilities": [
{
"dmxRange": [0, 17],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [18, 33],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#ff0000"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [34, 50],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#ffff00"],
- "comment": "Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [51, 67],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#00ffff"],
- "comment": "Cyan"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [68, 84],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#00ff00"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [85, 101],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#ff7700"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [102, 107],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#ff00aa"],
- "comment": "Purple"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [108, 127],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#0000ff"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [128, 192],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CCW",
"speedEnd": "slow CCW"
},
{
"dmxRange": [193, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
@@ -107,49 +160,48 @@
"capabilities": [
{
"dmxRange": [0, 20],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [21, 41],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [42, 62],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [63, 83],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [84, 104],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [105, 119],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [120, 127],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [128, 192],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CCW",
"speedEnd": "slow CCW"
},
{
"dmxRange": [193, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
@@ -159,18 +211,21 @@
"capabilities": [
{
"dmxRange": [0, 0],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [1, 127],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [128, 255],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
diff --git a/fixtures/robe/colorspot-2500e-at.json b/fixtures/robe/colorspot-2500e-at.json
index 9c5a9b85a8..eb6e8f5ce0 100644
--- a/fixtures/robe/colorspot-2500e-at.json
+++ b/fixtures/robe/colorspot-2500e-at.json
@@ -32,6 +32,108 @@
"tiltMax": 260
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Deep Red",
+ "colors": ["#dd0000"]
+ },
+ {
+ "type": "Color",
+ "name": "Deep Blue",
+ "colors": ["#0000dd"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#00ff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Orange",
+ "colors": ["#ff9900"]
+ },
+ {
+ "type": "Color",
+ "name": "White",
+ "colors": ["#fff6ed"],
+ "colorTemperature": "6000K"
+ },
+ {
+ "type": "Color",
+ "name": "UV Filter",
+ "colors": ["#8800ff"]
+ }
+ ]
+ },
+ "Gobo Wheel 1": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo",
+ "name": "Rainbow Chips 15030012"
+ },
+ {
+ "type": "Gobo",
+ "name": "Sun Man 15030013"
+ },
+ {
+ "type": "Gobo",
+ "name": "Water Drops 15030014"
+ },
+ {
+ "type": "Gobo",
+ "name": "Triangle Floating 15020123"
+ },
+ {
+ "type": "Gobo",
+ "name": "Laser 15020124"
+ },
+ {
+ "type": "Gobo",
+ "name": "Swirl Electric 15020125"
+ }
+ ]
+ },
+ "Gobo Wheel 2": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo",
+ "name": "Diamante Spot 15040020"
+ },
+ {
+ "type": "Gobo",
+ "name": "Wheel 15020126"
+ },
+ {
+ "type": "Gobo",
+ "name": "Space Tunel 15020127"
+ },
+ {
+ "type": "Gobo",
+ "name": "Bubbles 1 15020128"
+ },
+ {
+ "type": "Gobo",
+ "name": "12 Dots 15020129"
+ },
+ {
+ "type": "Gobo",
+ "name": "Radial Dashes 15020130"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
@@ -270,181 +372,130 @@
"capabilities": [
{
"dmxRange": [0, 0],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [1, 17],
- "type": "ColorWheelIndex",
- "indexStart": 0,
- "indexEnd": 1,
- "colorsStart": ["#ffffff"],
- "colorsEnd": ["#dd0000"],
- "comment": "Open … Deep Red"
+ "type": "WheelSlot",
+ "slotNumberStart": 1,
+ "slotNumberEnd": 2
},
{
"dmxRange": [18, 18],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#dd0000"],
- "comment": "Deep Red"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [19, 36],
- "type": "ColorWheelIndex",
- "indexStart": 1,
- "indexEnd": 2,
- "colorsStart": ["#dd0000"],
- "colorsEnd": ["#0000dd"],
- "comment": "Deep Red … Deep Blue"
+ "type": "WheelSlot",
+ "slotNumberStart": 2,
+ "slotNumberEnd": 3
},
{
"dmxRange": [37, 37],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#0000dd"],
- "comment": "Deep Blue"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [38, 54],
- "type": "ColorWheelIndex",
- "indexStart": 2,
- "indexEnd": 3,
- "colorsStart": ["#0000dd"],
- "colorsEnd": ["#00ff00"],
- "comment": "Deep Blue … Green"
+ "type": "WheelSlot",
+ "slotNumberStart": 3,
+ "slotNumberEnd": 4
},
{
"dmxRange": [55, 55],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#00ff00"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [56, 72],
- "type": "ColorWheelIndex",
- "indexStart": 3,
- "indexEnd": 4,
- "colorsStart": ["#00ff00"],
- "colorsEnd": ["#ff9900"],
- "comment": "Green … Orange"
+ "type": "WheelSlot",
+ "slotNumberStart": 4,
+ "slotNumberEnd": 5
},
{
"dmxRange": [73, 73],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#ff9900"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [74, 90],
- "type": "ColorWheelIndex",
- "indexStart": 4,
- "indexEnd": 5,
- "colorsStart": ["#ff9900"],
- "colorsEnd": ["#fff6ed"],
- "comment": "Orange … White (6000K)"
+ "type": "WheelSlot",
+ "slotNumberStart": 5,
+ "slotNumberEnd": 6
},
{
"dmxRange": [91, 91],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#fff6ed"],
- "comment": "White",
- "colorTemperature": "6000K"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [92, 109],
- "type": "ColorWheelIndex",
- "indexStart": 5,
- "indexEnd": 6,
- "colorsStart": ["#fff6ed"],
- "colorsEnd": ["#8800ff"],
- "comment": "White (6000K) … UV Filter"
+ "type": "WheelSlot",
+ "slotNumberStart": 6,
+ "slotNumberEnd": 7
},
{
"dmxRange": [110, 110],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#8800ff"],
- "comment": "UV Filter"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [111, 127],
- "type": "ColorWheelIndex",
- "indexStart": 6,
- "indexEnd": 7,
- "colorsStart": ["#8800ff"],
- "colorsEnd": ["#ffffff"],
- "comment": "UV Filter … Open"
+ "type": "WheelSlot",
+ "slotNumberStart": 7,
+ "slotNumberEnd": 8
},
{
"dmxRange": [128, 129],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [130, 139],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#dd0000"],
- "comment": "Deep Red"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [140, 149],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#0000dd"],
- "comment": "Deep Blue"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [150, 159],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#00ff00"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [160, 169],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#ff9900"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [170, 179],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#fff6ed"],
- "comment": "White",
- "colorTemperature": "6000K"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [180, 189],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#8800ff"],
- "comment": "UV Filter"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [190, 215],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [216, 217],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [218, 243],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
},
@@ -845,9 +896,8 @@
"capabilities": [
{
"dmxRange": [0, 9],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open",
+ "type": "WheelSlot",
+ "slotNumber": 1,
"switchChannels": {
"Gobo 1 indexing/rotation": "Gobo 1 indexing",
"Gobo 1 indexing/rotation fine": "Gobo 1 indexing fine"
@@ -855,9 +905,9 @@
},
{
"dmxRange": [10, 13],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Rainbow Chips 15030012 (indexed)",
+ "type": "WheelSlot",
+ "slotNumber": 2,
+ "comment": "indexed",
"switchChannels": {
"Gobo 1 indexing/rotation": "Gobo 1 indexing",
"Gobo 1 indexing/rotation fine": "Gobo 1 indexing fine"
@@ -865,9 +915,9 @@
},
{
"dmxRange": [14, 17],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Sun Man 15030013 (indexed)",
+ "type": "WheelSlot",
+ "slotNumber": 3,
+ "comment": "indexed",
"switchChannels": {
"Gobo 1 indexing/rotation": "Gobo 1 indexing",
"Gobo 1 indexing/rotation fine": "Gobo 1 indexing fine"
@@ -875,9 +925,9 @@
},
{
"dmxRange": [18, 21],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Water Drops 15030014 (indexed)",
+ "type": "WheelSlot",
+ "slotNumber": 4,
+ "comment": "indexed",
"switchChannels": {
"Gobo 1 indexing/rotation": "Gobo 1 indexing",
"Gobo 1 indexing/rotation fine": "Gobo 1 indexing fine"
@@ -885,9 +935,9 @@
},
{
"dmxRange": [22, 25],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Triangle Floating 15020123 (indexed)",
+ "type": "WheelSlot",
+ "slotNumber": 5,
+ "comment": "indexed",
"switchChannels": {
"Gobo 1 indexing/rotation": "Gobo 1 indexing",
"Gobo 1 indexing/rotation fine": "Gobo 1 indexing fine"
@@ -895,9 +945,9 @@
},
{
"dmxRange": [26, 29],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Laser 15020124 (indexed)",
+ "type": "WheelSlot",
+ "slotNumber": 6,
+ "comment": "indexed",
"switchChannels": {
"Gobo 1 indexing/rotation": "Gobo 1 indexing",
"Gobo 1 indexing/rotation fine": "Gobo 1 indexing fine"
@@ -905,9 +955,9 @@
},
{
"dmxRange": [30, 33],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Swirl Electric 15020125 (indexed)",
+ "type": "WheelSlot",
+ "slotNumber": 7,
+ "comment": "indexed",
"switchChannels": {
"Gobo 1 indexing/rotation": "Gobo 1 indexing",
"Gobo 1 indexing/rotation fine": "Gobo 1 indexing fine"
@@ -915,9 +965,9 @@
},
{
"dmxRange": [34, 37],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Rainbow Chips 15030012 (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 2,
+ "comment": "rotation",
"switchChannels": {
"Gobo 1 indexing/rotation": "Gobo 1 rotation",
"Gobo 1 indexing/rotation fine": "Gobo 1 rotation fine"
@@ -925,9 +975,9 @@
},
{
"dmxRange": [38, 41],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Sun Man 15030013 (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 3,
+ "comment": "rotation",
"switchChannels": {
"Gobo 1 indexing/rotation": "Gobo 1 rotation",
"Gobo 1 indexing/rotation fine": "Gobo 1 rotation fine"
@@ -935,9 +985,9 @@
},
{
"dmxRange": [42, 45],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Water Drops 15030014 (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 4,
+ "comment": "rotation",
"switchChannels": {
"Gobo 1 indexing/rotation": "Gobo 1 rotation",
"Gobo 1 indexing/rotation fine": "Gobo 1 rotation fine"
@@ -945,9 +995,9 @@
},
{
"dmxRange": [46, 49],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Triangle Floating 15020123 (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 5,
+ "comment": "rotation",
"switchChannels": {
"Gobo 1 indexing/rotation": "Gobo 1 rotation",
"Gobo 1 indexing/rotation fine": "Gobo 1 rotation fine"
@@ -955,9 +1005,9 @@
},
{
"dmxRange": [50, 53],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Laser 15020124 (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 6,
+ "comment": "rotation",
"switchChannels": {
"Gobo 1 indexing/rotation": "Gobo 1 rotation",
"Gobo 1 indexing/rotation fine": "Gobo 1 rotation fine"
@@ -965,9 +1015,9 @@
},
{
"dmxRange": [54, 57],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Swirl Electric 15020125 (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 7,
+ "comment": "rotation",
"switchChannels": {
"Gobo 1 indexing/rotation": "Gobo 1 rotation",
"Gobo 1 indexing/rotation fine": "Gobo 1 rotation fine"
@@ -975,11 +1025,11 @@
},
{
"dmxRange": [58, 69],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Rainbow Chips 15030012 (indexed)",
+ "type": "WheelShake",
+ "slotNumber": 2,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
+ "comment": "indexed",
"switchChannels": {
"Gobo 1 indexing/rotation": "Gobo 1 indexing",
"Gobo 1 indexing/rotation fine": "Gobo 1 indexing fine"
@@ -987,11 +1037,11 @@
},
{
"dmxRange": [70, 81],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Sun Man 15030013 (indexed)",
+ "type": "WheelShake",
+ "slotNumber": 3,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
+ "comment": "indexed",
"switchChannels": {
"Gobo 1 indexing/rotation": "Gobo 1 indexing",
"Gobo 1 indexing/rotation fine": "Gobo 1 indexing fine"
@@ -999,11 +1049,11 @@
},
{
"dmxRange": [82, 93],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Water Drops 15030014 (indexed)",
+ "type": "WheelShake",
+ "slotNumber": 4,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
+ "comment": "indexed",
"switchChannels": {
"Gobo 1 indexing/rotation": "Gobo 1 indexing",
"Gobo 1 indexing/rotation fine": "Gobo 1 indexing fine"
@@ -1011,11 +1061,11 @@
},
{
"dmxRange": [94, 105],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Triangle Floating 15020123 (indexed)",
+ "type": "WheelShake",
+ "slotNumber": 5,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
+ "comment": "indexed",
"switchChannels": {
"Gobo 1 indexing/rotation": "Gobo 1 indexing",
"Gobo 1 indexing/rotation fine": "Gobo 1 indexing fine"
@@ -1023,11 +1073,11 @@
},
{
"dmxRange": [106, 117],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Laser 15020124 (indexed)",
+ "type": "WheelShake",
+ "slotNumber": 6,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
+ "comment": "indexed",
"switchChannels": {
"Gobo 1 indexing/rotation": "Gobo 1 indexing",
"Gobo 1 indexing/rotation fine": "Gobo 1 indexing fine"
@@ -1035,11 +1085,11 @@
},
{
"dmxRange": [118, 129],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Swirl Electric 15020125 (indexed)",
+ "type": "WheelShake",
+ "slotNumber": 7,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
+ "comment": "indexed",
"switchChannels": {
"Gobo 1 indexing/rotation": "Gobo 1 indexing",
"Gobo 1 indexing/rotation fine": "Gobo 1 indexing fine"
@@ -1047,11 +1097,11 @@
},
{
"dmxRange": [130, 141],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Rainbow Chips 15030012 (rotation)",
+ "type": "WheelShake",
+ "slotNumber": 2,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
+ "comment": "rotation",
"switchChannels": {
"Gobo 1 indexing/rotation": "Gobo 1 rotation",
"Gobo 1 indexing/rotation fine": "Gobo 1 rotation fine"
@@ -1059,11 +1109,11 @@
},
{
"dmxRange": [142, 153],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Sun Man 15030013 (rotation)",
+ "type": "WheelShake",
+ "slotNumber": 3,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
+ "comment": "rotation",
"switchChannels": {
"Gobo 1 indexing/rotation": "Gobo 1 rotation",
"Gobo 1 indexing/rotation fine": "Gobo 1 rotation fine"
@@ -1071,11 +1121,11 @@
},
{
"dmxRange": [154, 165],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Water Drops 15030014 (rotation)",
+ "type": "WheelShake",
+ "slotNumber": 4,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
+ "comment": "rotation",
"switchChannels": {
"Gobo 1 indexing/rotation": "Gobo 1 rotation",
"Gobo 1 indexing/rotation fine": "Gobo 1 rotation fine"
@@ -1083,11 +1133,11 @@
},
{
"dmxRange": [166, 177],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Triangle Floating 15020123 (rotation)",
+ "type": "WheelShake",
+ "slotNumber": 5,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
+ "comment": "rotation",
"switchChannels": {
"Gobo 1 indexing/rotation": "Gobo 1 rotation",
"Gobo 1 indexing/rotation fine": "Gobo 1 rotation fine"
@@ -1095,11 +1145,11 @@
},
{
"dmxRange": [178, 189],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Laser 15020124 (rotation)",
+ "type": "WheelShake",
+ "slotNumber": 6,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
+ "comment": "rotation",
"switchChannels": {
"Gobo 1 indexing/rotation": "Gobo 1 rotation",
"Gobo 1 indexing/rotation fine": "Gobo 1 rotation fine"
@@ -1107,11 +1157,11 @@
},
{
"dmxRange": [190, 201],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Swirl Electric 15020125 (rotation)",
+ "type": "WheelShake",
+ "slotNumber": 7,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
+ "comment": "rotation",
"switchChannels": {
"Gobo 1 indexing/rotation": "Gobo 1 rotation",
"Gobo 1 indexing/rotation fine": "Gobo 1 rotation fine"
@@ -1119,7 +1169,7 @@
},
{
"dmxRange": [202, 221],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW",
"switchChannels": {
@@ -1129,7 +1179,7 @@
},
{
"dmxRange": [222, 223],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speed": "stop",
"switchChannels": {
"Gobo 1 indexing/rotation": "Gobo 1 rotation",
@@ -1138,7 +1188,7 @@
},
{
"dmxRange": [224, 243],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW",
"switchChannels": {
@@ -1172,7 +1222,8 @@
"Gobo 1 indexing": {
"fineChannelAliases": ["Gobo 1 indexing fine"],
"capability": {
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 1",
"angleStart": "0deg",
"angleEnd": "360deg"
}
@@ -1183,23 +1234,27 @@
"capabilities": [
{
"dmxRange": [0, 0],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 1",
"speed": "stop"
},
{
"dmxRange": [1, 127],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 1",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [128, 129],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 1",
"speed": "stop"
},
{
"dmxRange": [130, 255],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 1",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
@@ -1210,9 +1265,8 @@
"capabilities": [
{
"dmxRange": [0, 9],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open",
+ "type": "WheelSlot",
+ "slotNumber": 1,
"switchChannels": {
"Gobo 2 indexing/rotation": "Gobo 2 indexing",
"Gobo 2 indexing/rotation fine": "Gobo 2 indexing fine"
@@ -1220,9 +1274,9 @@
},
{
"dmxRange": [10, 13],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Diamante Spot 15040020 (indexed)",
+ "type": "WheelSlot",
+ "slotNumber": 2,
+ "comment": "indexed",
"switchChannels": {
"Gobo 2 indexing/rotation": "Gobo 2 indexing",
"Gobo 2 indexing/rotation fine": "Gobo 2 indexing fine"
@@ -1230,9 +1284,9 @@
},
{
"dmxRange": [14, 17],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Wheel 15020126 (indexed)",
+ "type": "WheelSlot",
+ "slotNumber": 3,
+ "comment": "indexed",
"switchChannels": {
"Gobo 2 indexing/rotation": "Gobo 2 indexing",
"Gobo 2 indexing/rotation fine": "Gobo 2 indexing fine"
@@ -1240,9 +1294,9 @@
},
{
"dmxRange": [18, 21],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Space Tunel 15020127 (indexed)",
+ "type": "WheelSlot",
+ "slotNumber": 4,
+ "comment": "indexed",
"switchChannels": {
"Gobo 2 indexing/rotation": "Gobo 2 indexing",
"Gobo 2 indexing/rotation fine": "Gobo 2 indexing fine"
@@ -1250,9 +1304,9 @@
},
{
"dmxRange": [22, 25],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Bubbles 1 15020128 (indexed)",
+ "type": "WheelSlot",
+ "slotNumber": 5,
+ "comment": "indexed",
"switchChannels": {
"Gobo 2 indexing/rotation": "Gobo 2 indexing",
"Gobo 2 indexing/rotation fine": "Gobo 2 indexing fine"
@@ -1260,9 +1314,9 @@
},
{
"dmxRange": [26, 29],
- "type": "GoboIndex",
- "index": 5,
- "comment": "12 Dots 15020129 (indexed)",
+ "type": "WheelSlot",
+ "slotNumber": 6,
+ "comment": "indexed",
"switchChannels": {
"Gobo 2 indexing/rotation": "Gobo 2 indexing",
"Gobo 2 indexing/rotation fine": "Gobo 2 indexing fine"
@@ -1270,9 +1324,9 @@
},
{
"dmxRange": [30, 33],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Radial Dashes 15020130 (indexed)",
+ "type": "WheelSlot",
+ "slotNumber": 7,
+ "comment": "indexed",
"switchChannels": {
"Gobo 2 indexing/rotation": "Gobo 2 indexing",
"Gobo 2 indexing/rotation fine": "Gobo 2 indexing fine"
@@ -1280,9 +1334,9 @@
},
{
"dmxRange": [34, 37],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Diamante Spot 15040020 (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 2,
+ "comment": "rotation",
"switchChannels": {
"Gobo 2 indexing/rotation": "Gobo 2 rotation",
"Gobo 2 indexing/rotation fine": "Gobo 2 rotation fine"
@@ -1290,9 +1344,9 @@
},
{
"dmxRange": [38, 41],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Wheel 15020126 (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 3,
+ "comment": "rotation",
"switchChannels": {
"Gobo 2 indexing/rotation": "Gobo 2 rotation",
"Gobo 2 indexing/rotation fine": "Gobo 2 rotation fine"
@@ -1300,9 +1354,9 @@
},
{
"dmxRange": [42, 45],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Space Tunel 15020127 (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 4,
+ "comment": "rotation",
"switchChannels": {
"Gobo 2 indexing/rotation": "Gobo 2 rotation",
"Gobo 2 indexing/rotation fine": "Gobo 2 rotation fine"
@@ -1310,9 +1364,9 @@
},
{
"dmxRange": [46, 49],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Bubbles 1 15020128 (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 5,
+ "comment": "rotation",
"switchChannels": {
"Gobo 2 indexing/rotation": "Gobo 2 rotation",
"Gobo 2 indexing/rotation fine": "Gobo 2 rotation fine"
@@ -1320,9 +1374,9 @@
},
{
"dmxRange": [50, 53],
- "type": "GoboIndex",
- "index": 5,
- "comment": "12 Dots 15020129 (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 6,
+ "comment": "rotation",
"switchChannels": {
"Gobo 2 indexing/rotation": "Gobo 2 rotation",
"Gobo 2 indexing/rotation fine": "Gobo 2 rotation fine"
@@ -1330,9 +1384,9 @@
},
{
"dmxRange": [54, 57],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Radial Dashes 15020130 (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 7,
+ "comment": "rotation",
"switchChannels": {
"Gobo 2 indexing/rotation": "Gobo 2 rotation",
"Gobo 2 indexing/rotation fine": "Gobo 2 rotation fine"
@@ -1340,11 +1394,11 @@
},
{
"dmxRange": [58, 69],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Diamante Spot 15040020 (indexed)",
+ "type": "WheelShake",
+ "slotNumber": 2,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
+ "comment": "indexed",
"switchChannels": {
"Gobo 2 indexing/rotation": "Gobo 2 indexing",
"Gobo 2 indexing/rotation fine": "Gobo 2 indexing fine"
@@ -1352,11 +1406,11 @@
},
{
"dmxRange": [70, 81],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Wheel 15020126 (indexed)",
+ "type": "WheelShake",
+ "slotNumber": 3,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
+ "comment": "indexed",
"switchChannels": {
"Gobo 2 indexing/rotation": "Gobo 2 indexing",
"Gobo 2 indexing/rotation fine": "Gobo 2 indexing fine"
@@ -1364,11 +1418,11 @@
},
{
"dmxRange": [82, 93],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Space Tunel 15020127 (indexed)",
+ "type": "WheelShake",
+ "slotNumber": 4,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
+ "comment": "indexed",
"switchChannels": {
"Gobo 2 indexing/rotation": "Gobo 2 indexing",
"Gobo 2 indexing/rotation fine": "Gobo 2 indexing fine"
@@ -1376,11 +1430,11 @@
},
{
"dmxRange": [94, 105],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Bubbles 1 15020128 (indexed)",
+ "type": "WheelShake",
+ "slotNumber": 5,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
+ "comment": "indexed",
"switchChannels": {
"Gobo 2 indexing/rotation": "Gobo 2 indexing",
"Gobo 2 indexing/rotation fine": "Gobo 2 indexing fine"
@@ -1388,11 +1442,11 @@
},
{
"dmxRange": [106, 117],
- "type": "GoboIndex",
- "index": 5,
- "comment": "12 Dots 15020129 (indexed)",
+ "type": "WheelShake",
+ "slotNumber": 6,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
+ "comment": "indexed",
"switchChannels": {
"Gobo 2 indexing/rotation": "Gobo 2 indexing",
"Gobo 2 indexing/rotation fine": "Gobo 2 indexing fine"
@@ -1400,11 +1454,11 @@
},
{
"dmxRange": [118, 129],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Radial Dashes 15020130 (indexed)",
+ "type": "WheelShake",
+ "slotNumber": 7,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
+ "comment": "indexed",
"switchChannels": {
"Gobo 2 indexing/rotation": "Gobo 2 indexing",
"Gobo 2 indexing/rotation fine": "Gobo 2 indexing fine"
@@ -1412,11 +1466,11 @@
},
{
"dmxRange": [130, 141],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Diamante Spot 15040020 (rotation)",
+ "type": "WheelShake",
+ "slotNumber": 2,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
+ "comment": "rotation",
"switchChannels": {
"Gobo 2 indexing/rotation": "Gobo 2 rotation",
"Gobo 2 indexing/rotation fine": "Gobo 2 rotation fine"
@@ -1424,11 +1478,11 @@
},
{
"dmxRange": [142, 153],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Wheel 15020126 (rotation)",
+ "type": "WheelShake",
+ "slotNumber": 3,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
+ "comment": "rotation",
"switchChannels": {
"Gobo 2 indexing/rotation": "Gobo 2 rotation",
"Gobo 2 indexing/rotation fine": "Gobo 2 rotation fine"
@@ -1436,11 +1490,11 @@
},
{
"dmxRange": [154, 165],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Space Tunel 15020127 (rotation)",
+ "type": "WheelShake",
+ "slotNumber": 4,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
+ "comment": "rotation",
"switchChannels": {
"Gobo 2 indexing/rotation": "Gobo 2 rotation",
"Gobo 2 indexing/rotation fine": "Gobo 2 rotation fine"
@@ -1448,11 +1502,11 @@
},
{
"dmxRange": [166, 177],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Bubbles 1 15020128 (rotation)",
+ "type": "WheelShake",
+ "slotNumber": 5,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
+ "comment": "rotation",
"switchChannels": {
"Gobo 2 indexing/rotation": "Gobo 2 rotation",
"Gobo 2 indexing/rotation fine": "Gobo 2 rotation fine"
@@ -1460,11 +1514,11 @@
},
{
"dmxRange": [178, 189],
- "type": "GoboIndex",
- "index": 5,
- "comment": "12 Dots 15020129 (rotation)",
+ "type": "WheelShake",
+ "slotNumber": 6,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
+ "comment": "rotation",
"switchChannels": {
"Gobo 2 indexing/rotation": "Gobo 2 rotation",
"Gobo 2 indexing/rotation fine": "Gobo 2 rotation fine"
@@ -1472,11 +1526,11 @@
},
{
"dmxRange": [190, 201],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Radial Dashes 15020130 (rotation)",
+ "type": "WheelShake",
+ "slotNumber": 7,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
+ "comment": "rotation",
"switchChannels": {
"Gobo 2 indexing/rotation": "Gobo 2 rotation",
"Gobo 2 indexing/rotation fine": "Gobo 2 rotation fine"
@@ -1484,7 +1538,7 @@
},
{
"dmxRange": [202, 221],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW",
"switchChannels": {
@@ -1494,7 +1548,7 @@
},
{
"dmxRange": [222, 223],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speed": "stop",
"switchChannels": {
"Gobo 2 indexing/rotation": "Gobo 2 rotation",
@@ -1503,7 +1557,7 @@
},
{
"dmxRange": [224, 243],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW",
"switchChannels": {
@@ -1537,7 +1591,8 @@
"Gobo 2 indexing": {
"fineChannelAliases": ["Gobo 2 indexing fine"],
"capability": {
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 2",
"angleStart": "0deg",
"angleEnd": "360deg"
}
@@ -1548,23 +1603,27 @@
"capabilities": [
{
"dmxRange": [0, 0],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 2",
"speed": "stop"
},
{
"dmxRange": [1, 127],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 2",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [128, 129],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 2",
"speed": "stop"
},
{
"dmxRange": [130, 255],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel 2",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
diff --git a/fixtures/robe/dj-scan-250-xt.json b/fixtures/robe/dj-scan-250-xt.json
index 1a4eb2b43e..719fcdb048 100644
--- a/fixtures/robe/dj-scan-250-xt.json
+++ b/fixtures/robe/dj-scan-250-xt.json
@@ -29,6 +29,124 @@
"type": "Mirror"
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Turquoise",
+ "colors": ["#40e0d0"]
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#ff0000"]
+ },
+ {
+ "type": "Color",
+ "name": "Cyan",
+ "colors": ["#00ffff"]
+ },
+ {
+ "type": "Color",
+ "name": "Light green",
+ "colors": ["#90ee90"]
+ },
+ {
+ "type": "Color",
+ "name": "Magenta",
+ "colors": ["#ca1f7b"]
+ },
+ {
+ "type": "Color",
+ "name": "Light blue",
+ "colors": ["#add8e6"]
+ },
+ {
+ "type": "Color",
+ "name": "Yellow",
+ "colors": ["#ffff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#00ff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Pink",
+ "colors": ["#ffc0cb"]
+ },
+ {
+ "type": "Color",
+ "name": "Blue",
+ "colors": ["#0000ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Orange",
+ "colors": ["#ff7f00"]
+ },
+ {
+ "type": "Color",
+ "name": "UV",
+ "colors": ["#bf00fe"]
+ },
+ {
+ "type": "Color",
+ "name": "Split Red / Blue",
+ "colors": ["#ff0000", "#0000ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Split Yellow / Green",
+ "colors": ["#ffff00", "#00ff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Split Pink / Blue",
+ "colors": ["#ffc0cb", "#0000ff"]
+ }
+ ]
+ },
+ "Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"defaultValue": "50%",
@@ -51,131 +169,99 @@
"capabilities": [
{
"dmxRange": [0, 7],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [8, 15],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#40e0d0"],
- "comment": "Turquoise"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [16, 23],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#ff0000"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [24, 31],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#00ffff"],
- "comment": "Cyan"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [32, 39],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#90ee90"],
- "comment": "Light green"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [40, 47],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#ca1f7b"],
- "comment": "Magenta"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [48, 55],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#add8e6"],
- "comment": "Light blue"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [56, 63],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#ffff00"],
- "comment": "Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [64, 71],
- "type": "ColorWheelIndex",
- "index": 8,
- "colors": ["#00ff00"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [72, 79],
- "type": "ColorWheelIndex",
- "index": 9,
- "colors": ["#ffc0cb"],
- "comment": "Pink"
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [80, 87],
- "type": "ColorWheelIndex",
- "index": 10,
- "colors": ["#0000ff"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "slotNumber": 11
},
{
"dmxRange": [88, 95],
- "type": "ColorWheelIndex",
- "index": 11,
- "colors": ["#ff7f00"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 12
},
{
"dmxRange": [96, 103],
- "type": "ColorWheelIndex",
- "index": 12,
- "colors": ["#bf00fe"],
- "comment": "UV"
+ "type": "WheelSlot",
+ "slotNumber": 13
},
{
"dmxRange": [104, 111],
- "type": "ColorWheelIndex",
- "index": 13,
- "colors": ["#ff0000", "#0000ff"],
- "comment": "Split Red / Blue"
+ "type": "WheelSlot",
+ "slotNumber": 14
},
{
"dmxRange": [112, 119],
- "type": "ColorWheelIndex",
- "index": 14,
- "colors": ["#ffff00", "#00ff00"],
- "comment": "Split Yellow / Green"
+ "type": "WheelSlot",
+ "slotNumber": 15
},
{
"dmxRange": [120, 127],
- "type": "ColorWheelIndex",
- "index": 15,
- "colors": ["#ffc0cb", "#0000ff"],
- "comment": "Split Pink / Blue"
+ "type": "WheelSlot",
+ "slotNumber": 16
},
{
"dmxRange": [128, 190],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW",
"menuClick": "center"
},
{
"dmxRange": [191, 192],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [193, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW",
"menuClick": "center"
@@ -186,54 +272,53 @@
"capabilities": [
{
"dmxRange": [0, 23],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [24, 47],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [48, 79],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [80, 103],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [104, 127],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [128, 151],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [152, 175],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [176, 207],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [208, 231],
- "type": "GoboIndex",
- "index": 8
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [232, 255],
- "type": "GoboIndex",
- "index": 9
+ "type": "WheelSlot",
+ "slotNumber": 10
}
]
},
@@ -241,25 +326,29 @@
"capabilities": [
{
"dmxRange": [0, 127],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"angleStart": "0deg",
"angleEnd": "360deg"
},
{
"dmxRange": [128, 190],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "fast CW",
"speedEnd": "slow CW",
"menuClick": "center"
},
{
"dmxRange": [191, 192],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [193, 255],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW",
"menuClick": "center"
diff --git a/fixtures/robe/robin-600e-spot.json b/fixtures/robe/robin-600e-spot.json
index ae7196bb47..0eb904a887 100644
--- a/fixtures/robe/robin-600e-spot.json
+++ b/fixtures/robe/robin-600e-spot.json
@@ -41,6 +41,112 @@
"tiltMax": 280
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Deep Red",
+ "colors": ["#aa0000"]
+ },
+ {
+ "type": "Color",
+ "name": "Deep Blue",
+ "colors": ["#0000ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Orange",
+ "colors": ["#ff7f00"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#00ff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Light Red",
+ "colors": ["#ff4000"]
+ },
+ {
+ "type": "Color",
+ "name": "Amber",
+ "colors": ["#ffbf00"]
+ },
+ {
+ "type": "Color",
+ "name": "UV Filter",
+ "colors": ["#8800ff"]
+ }
+ ]
+ },
+ "Static Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ },
+ "Rotating Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
@@ -192,202 +298,146 @@
"capabilities": [
{
"dmxRange": [0, 0],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [1, 15],
- "type": "ColorWheelIndex",
- "indexStart": 0,
- "indexEnd": 1,
- "colorsStart": ["#ffffff"],
- "colorsEnd": ["#aa0000"],
- "comment": "Open … Deep Red"
+ "type": "WheelSlot",
+ "slotNumberStart": 1,
+ "slotNumberEnd": 2
},
{
"dmxRange": [16, 16],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#aa0000"],
- "comment": "Deep Red"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [17, 31],
- "type": "ColorWheelIndex",
- "indexStart": 1,
- "indexEnd": 2,
- "colorsStart": ["#aa0000"],
- "colorsEnd": ["#0000ff"],
- "comment": "Deep Red … Deep Blue"
+ "type": "WheelSlot",
+ "slotNumberStart": 2,
+ "slotNumberEnd": 3
},
{
"dmxRange": [32, 32],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#0000ff"],
- "comment": "Deep Blue"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [33, 47],
- "type": "ColorWheelIndex",
- "indexStart": 2,
- "indexEnd": 3,
- "colorsStart": ["#0000ff"],
- "colorsEnd": ["#ff7f00"],
- "comment": "Deep Blue … Orange"
+ "type": "WheelSlot",
+ "slotNumberStart": 3,
+ "slotNumberEnd": 4
},
{
"dmxRange": [48, 48],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#ff7f00"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [49, 63],
- "type": "ColorWheelIndex",
- "indexStart": 3,
- "indexEnd": 4,
- "colorsStart": ["#ff7f00"],
- "colorsEnd": ["#00ff00"],
- "comment": "Orange … Green"
+ "type": "WheelSlot",
+ "slotNumberStart": 4,
+ "slotNumberEnd": 5
},
{
"dmxRange": [64, 64],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#00ff00"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [65, 79],
- "type": "ColorWheelIndex",
- "indexStart": 4,
- "indexEnd": 5,
- "colorsStart": ["#00ff00"],
- "colorsEnd": ["#ff4000"],
- "comment": "Green … Light Red"
+ "type": "WheelSlot",
+ "slotNumberStart": 5,
+ "slotNumberEnd": 6
},
{
"dmxRange": [80, 80],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#ff4000"],
- "comment": "Light Red"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [81, 95],
- "type": "ColorWheelIndex",
- "indexStart": 5,
- "indexEnd": 6,
- "colorsStart": ["#ff4000"],
- "colorsEnd": ["#ffbf00"],
- "comment": "Light Red … Amber"
+ "type": "WheelSlot",
+ "slotNumberStart": 6,
+ "slotNumberEnd": 7
},
{
"dmxRange": [96, 96],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#ffbf00"],
- "comment": "Amber"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [97, 111],
- "type": "ColorWheelIndex",
- "indexStart": 6,
- "indexEnd": 7,
- "colorsStart": ["#ffbf00"],
- "colorsEnd": ["#8800ff"],
- "comment": "Amber … UV Filter"
+ "type": "WheelSlot",
+ "slotNumberStart": 7,
+ "slotNumberEnd": 8
},
{
"dmxRange": [112, 112],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#8800ff"],
- "comment": "UV Filter"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [113, 127],
- "type": "ColorWheelIndex",
- "indexStart": 7,
- "indexEnd": 8,
- "colorsStart": ["#8800ff"],
- "colorsEnd": ["#ffffff"],
- "comment": "UV Filter … Open"
+ "type": "WheelSlot",
+ "slotNumberStart": 8,
+ "slotNumberEnd": 9
},
{
"dmxRange": [128, 129],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [130, 137],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#aa0000"],
- "comment": "Deep Red"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [138, 145],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#0000ff"],
- "comment": "Deep Blue"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [146, 153],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#ff7f00"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [154, 163],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#00ff00"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [164, 171],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#ff4000"],
- "comment": "Light Red"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [172, 181],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#ffbf00"],
- "comment": "Amber"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [182, 189],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#8800ff"],
- "comment": "UV Filter"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [190, 215],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [216, 217],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [218, 243],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
},
@@ -616,250 +666,228 @@
"capabilities": [
{
"dmxRange": [0, 0],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [1, 6],
- "type": "GoboIndex",
- "indexStart": 0,
- "indexEnd": 1,
- "comment": "Open … Gobo 1"
+ "type": "WheelSlot",
+ "slotNumberStart": 1,
+ "slotNumberEnd": 2
},
{
"dmxRange": [7, 7],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [8, 12],
- "type": "GoboIndex",
- "indexStart": 1,
- "indexEnd": 2,
- "comment": "Gobo 1 … Gobo 2"
+ "type": "WheelSlot",
+ "slotNumberStart": 2,
+ "slotNumberEnd": 3
},
{
"dmxRange": [13, 13],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [14, 18],
- "type": "GoboIndex",
- "indexStart": 2,
- "indexEnd": 3,
- "comment": "Gobo 2 … Gobo 3"
+ "type": "WheelSlot",
+ "slotNumberStart": 3,
+ "slotNumberEnd": 4
},
{
"dmxRange": [19, 19],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [20, 25],
- "type": "GoboIndex",
- "indexStart": 3,
- "indexEnd": 4,
- "comment": "Gobo 3 … Gobo 4"
+ "type": "WheelSlot",
+ "slotNumberStart": 4,
+ "slotNumberEnd": 5
},
{
"dmxRange": [26, 26],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [27, 31],
- "type": "GoboIndex",
- "indexStart": 4,
- "indexEnd": 5,
- "comment": "Gobo 4 … Gobo 5"
+ "type": "WheelSlot",
+ "slotNumberStart": 5,
+ "slotNumberEnd": 6
},
{
"dmxRange": [32, 32],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [33, 38],
- "type": "GoboIndex",
- "indexStart": 5,
- "indexEnd": 6,
- "comment": "Gobo 5 … Gobo 6"
+ "type": "WheelSlot",
+ "slotNumberStart": 6,
+ "slotNumberEnd": 7
},
{
"dmxRange": [39, 39],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [40, 44],
- "type": "GoboIndex",
- "indexStart": 6,
- "indexEnd": 7,
- "comment": "Gobo 6 … Gobo 7"
+ "type": "WheelSlot",
+ "slotNumberStart": 7,
+ "slotNumberEnd": 8
},
{
"dmxRange": [45, 45],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [46, 50],
- "type": "GoboIndex",
- "indexStart": 7,
- "indexEnd": 8,
- "comment": "Gobo 7 … Gobo 8"
+ "type": "WheelSlot",
+ "slotNumberStart": 8,
+ "slotNumberEnd": 9
},
{
"dmxRange": [51, 51],
- "type": "GoboIndex",
- "index": 8
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [52, 57],
- "type": "GoboIndex",
- "indexStart": 8,
- "indexEnd": 9,
- "comment": "Gobo 8 … Gobo 9"
+ "type": "WheelSlot",
+ "slotNumberStart": 9,
+ "slotNumberEnd": 10
},
{
"dmxRange": [58, 58],
- "type": "GoboIndex",
- "index": 9
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [59, 63],
- "type": "GoboIndex",
- "indexStart": 9,
- "indexEnd": 10,
- "comment": "Gobo 9 … Open"
+ "type": "WheelSlot",
+ "slotNumberStart": 10,
+ "slotNumberEnd": 11
},
{
"dmxRange": [64, 64],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [65, 69],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [70, 74],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [75, 79],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [80, 84],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [85, 89],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [90, 94],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [95, 99],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [100, 104],
- "type": "GoboIndex",
- "index": 8
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [105, 109],
- "type": "GoboIndex",
- "index": 9
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [110, 119],
- "type": "GoboIndex",
- "index": 1,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 2
},
{
"dmxRange": [120, 129],
- "type": "GoboIndex",
- "index": 2,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 3
},
{
"dmxRange": [130, 139],
- "type": "GoboIndex",
- "index": 3,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 4
},
{
"dmxRange": [140, 149],
- "type": "GoboIndex",
- "index": 4,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 5
},
{
"dmxRange": [150, 159],
- "type": "GoboIndex",
- "index": 5,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 6
},
{
"dmxRange": [160, 169],
- "type": "GoboIndex",
- "index": 6,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 7
},
{
"dmxRange": [170, 179],
- "type": "GoboIndex",
- "index": 7,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 8
},
{
"dmxRange": [180, 189],
- "type": "GoboIndex",
- "index": 8,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 9
},
{
"dmxRange": [190, 199],
- "type": "GoboIndex",
- "index": 9,
- "shakeAngle": "wide"
+ "type": "WheelShake",
+ "slotNumber": 10
},
{
"dmxRange": [200, 201],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [202, 221],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [222, 223],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [224, 243],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
},
@@ -883,9 +911,8 @@
"capabilities": [
{
"dmxRange": [0, 3],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open",
+ "type": "WheelSlot",
+ "slotNumber": 1,
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Indexing",
"Rotating Gobo Control fine": "Rotating Gobo Indexing fine"
@@ -893,9 +920,9 @@
},
{
"dmxRange": [4, 7],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Gobo 1 (indexing)",
+ "type": "WheelSlot",
+ "slotNumber": 2,
+ "comment": "indexing",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Indexing",
"Rotating Gobo Control fine": "Rotating Gobo Indexing fine"
@@ -903,9 +930,9 @@
},
{
"dmxRange": [8, 11],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Gobo 2 (indexing)",
+ "type": "WheelSlot",
+ "slotNumber": 3,
+ "comment": "indexing",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Indexing",
"Rotating Gobo Control fine": "Rotating Gobo Indexing fine"
@@ -913,9 +940,9 @@
},
{
"dmxRange": [12, 15],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Gobo 3 (indexing)",
+ "type": "WheelSlot",
+ "slotNumber": 4,
+ "comment": "indexing",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Indexing",
"Rotating Gobo Control fine": "Rotating Gobo Indexing fine"
@@ -923,9 +950,9 @@
},
{
"dmxRange": [16, 19],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Gobo 4 (indexing)",
+ "type": "WheelSlot",
+ "slotNumber": 5,
+ "comment": "indexing",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Indexing",
"Rotating Gobo Control fine": "Rotating Gobo Indexing fine"
@@ -933,9 +960,9 @@
},
{
"dmxRange": [20, 23],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Gobo 5 (indexing)",
+ "type": "WheelSlot",
+ "slotNumber": 6,
+ "comment": "indexing",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Indexing",
"Rotating Gobo Control fine": "Rotating Gobo Indexing fine"
@@ -943,9 +970,9 @@
},
{
"dmxRange": [24, 27],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Gobo 6 (indexing)",
+ "type": "WheelSlot",
+ "slotNumber": 7,
+ "comment": "indexing",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Indexing",
"Rotating Gobo Control fine": "Rotating Gobo Indexing fine"
@@ -953,9 +980,9 @@
},
{
"dmxRange": [28, 31],
- "type": "GoboIndex",
- "index": 7,
- "comment": "Gobo 7 (indexing)",
+ "type": "WheelSlot",
+ "slotNumber": 8,
+ "comment": "indexing",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Indexing",
"Rotating Gobo Control fine": "Rotating Gobo Indexing fine"
@@ -963,9 +990,9 @@
},
{
"dmxRange": [32, 35],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Gobo 1 (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 2,
+ "comment": "rotation",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Rotation",
"Rotating Gobo Control fine": "Rotating Gobo Rotation fine"
@@ -973,9 +1000,9 @@
},
{
"dmxRange": [36, 39],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Gobo 2 (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 3,
+ "comment": "rotation",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Rotation",
"Rotating Gobo Control fine": "Rotating Gobo Rotation fine"
@@ -983,9 +1010,9 @@
},
{
"dmxRange": [40, 43],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Gobo 3 (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 4,
+ "comment": "rotation",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Rotation",
"Rotating Gobo Control fine": "Rotating Gobo Rotation fine"
@@ -993,9 +1020,9 @@
},
{
"dmxRange": [44, 47],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Gobo 4 (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 5,
+ "comment": "rotation",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Rotation",
"Rotating Gobo Control fine": "Rotating Gobo Rotation fine"
@@ -1003,9 +1030,9 @@
},
{
"dmxRange": [48, 51],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Gobo 5 (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 6,
+ "comment": "rotation",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Rotation",
"Rotating Gobo Control fine": "Rotating Gobo Rotation fine"
@@ -1013,9 +1040,9 @@
},
{
"dmxRange": [52, 55],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Gobo 6 (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 7,
+ "comment": "rotation",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Rotation",
"Rotating Gobo Control fine": "Rotating Gobo Rotation fine"
@@ -1023,9 +1050,9 @@
},
{
"dmxRange": [56, 59],
- "type": "GoboIndex",
- "index": 7,
- "comment": "Gobo 7 (rotation)",
+ "type": "WheelSlot",
+ "slotNumber": 8,
+ "comment": "rotation",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Rotation",
"Rotating Gobo Control fine": "Rotating Gobo Rotation fine"
@@ -1033,10 +1060,9 @@
},
{
"dmxRange": [60, 69],
- "type": "GoboIndex",
- "index": 1,
- "shakeAngle": "wide",
- "comment": "1 (indexing)",
+ "type": "WheelShake",
+ "slotNumber": 2,
+ "comment": "indexing",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Indexing",
"Rotating Gobo Control fine": "Rotating Gobo Indexing fine"
@@ -1044,10 +1070,9 @@
},
{
"dmxRange": [70, 79],
- "type": "GoboIndex",
- "index": 2,
- "shakeAngle": "wide",
- "comment": "2 (indexing)",
+ "type": "WheelShake",
+ "slotNumber": 3,
+ "comment": "indexing",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Indexing",
"Rotating Gobo Control fine": "Rotating Gobo Indexing fine"
@@ -1055,10 +1080,9 @@
},
{
"dmxRange": [80, 89],
- "type": "GoboIndex",
- "index": 3,
- "shakeAngle": "wide",
- "comment": "3 (indexing)",
+ "type": "WheelShake",
+ "slotNumber": 4,
+ "comment": "indexing",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Indexing",
"Rotating Gobo Control fine": "Rotating Gobo Indexing fine"
@@ -1066,10 +1090,9 @@
},
{
"dmxRange": [90, 99],
- "type": "GoboIndex",
- "index": 4,
- "shakeAngle": "wide",
- "comment": "4 (indexing)",
+ "type": "WheelShake",
+ "slotNumber": 5,
+ "comment": "indexing",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Indexing",
"Rotating Gobo Control fine": "Rotating Gobo Indexing fine"
@@ -1077,10 +1100,9 @@
},
{
"dmxRange": [100, 109],
- "type": "GoboIndex",
- "index": 5,
- "shakeAngle": "wide",
- "comment": "5 (indexing)",
+ "type": "WheelShake",
+ "slotNumber": 6,
+ "comment": "indexing",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Indexing",
"Rotating Gobo Control fine": "Rotating Gobo Indexing fine"
@@ -1088,10 +1110,9 @@
},
{
"dmxRange": [110, 119],
- "type": "GoboIndex",
- "index": 6,
- "shakeAngle": "wide",
- "comment": "6 (indexing)",
+ "type": "WheelShake",
+ "slotNumber": 7,
+ "comment": "indexing",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Indexing",
"Rotating Gobo Control fine": "Rotating Gobo Indexing fine"
@@ -1099,10 +1120,9 @@
},
{
"dmxRange": [120, 129],
- "type": "GoboIndex",
- "index": 7,
- "shakeAngle": "wide",
- "comment": "7 (indexing)",
+ "type": "WheelShake",
+ "slotNumber": 8,
+ "comment": "indexing",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Indexing",
"Rotating Gobo Control fine": "Rotating Gobo Indexing fine"
@@ -1110,10 +1130,9 @@
},
{
"dmxRange": [130, 139],
- "type": "GoboIndex",
- "index": 1,
- "shakeAngle": "wide",
- "comment": "1 (rotation)",
+ "type": "WheelShake",
+ "slotNumber": 2,
+ "comment": "rotation",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Rotation",
"Rotating Gobo Control fine": "Rotating Gobo Rotation fine"
@@ -1121,10 +1140,9 @@
},
{
"dmxRange": [140, 149],
- "type": "GoboIndex",
- "index": 2,
- "shakeAngle": "wide",
- "comment": "2 (rotation)",
+ "type": "WheelShake",
+ "slotNumber": 3,
+ "comment": "rotation",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Rotation",
"Rotating Gobo Control fine": "Rotating Gobo Rotation fine"
@@ -1132,10 +1150,9 @@
},
{
"dmxRange": [150, 159],
- "type": "GoboIndex",
- "index": 3,
- "shakeAngle": "wide",
- "comment": "3 (rotation)",
+ "type": "WheelShake",
+ "slotNumber": 4,
+ "comment": "rotation",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Rotation",
"Rotating Gobo Control fine": "Rotating Gobo Rotation fine"
@@ -1143,10 +1160,9 @@
},
{
"dmxRange": [160, 169],
- "type": "GoboIndex",
- "index": 4,
- "shakeAngle": "wide",
- "comment": "4 (rotation)",
+ "type": "WheelShake",
+ "slotNumber": 5,
+ "comment": "rotation",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Rotation",
"Rotating Gobo Control fine": "Rotating Gobo Rotation fine"
@@ -1154,10 +1170,9 @@
},
{
"dmxRange": [170, 179],
- "type": "GoboIndex",
- "index": 5,
- "shakeAngle": "wide",
- "comment": "5 (rotation)",
+ "type": "WheelShake",
+ "slotNumber": 6,
+ "comment": "rotation",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Rotation",
"Rotating Gobo Control fine": "Rotating Gobo Rotation fine"
@@ -1165,10 +1180,9 @@
},
{
"dmxRange": [180, 189],
- "type": "GoboIndex",
- "index": 6,
- "shakeAngle": "wide",
- "comment": "6 (rotation)",
+ "type": "WheelShake",
+ "slotNumber": 7,
+ "comment": "rotation",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Rotation",
"Rotating Gobo Control fine": "Rotating Gobo Rotation fine"
@@ -1176,10 +1190,9 @@
},
{
"dmxRange": [190, 199],
- "type": "GoboIndex",
- "index": 7,
- "shakeAngle": "wide",
- "comment": "7 (rotation)",
+ "type": "WheelShake",
+ "slotNumber": 8,
+ "comment": "rotation",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Rotation",
"Rotating Gobo Control fine": "Rotating Gobo Rotation fine"
@@ -1187,9 +1200,8 @@
},
{
"dmxRange": [200, 201],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open",
+ "type": "WheelSlot",
+ "slotNumber": 1,
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Indexing",
"Rotating Gobo Control fine": "Rotating Gobo Indexing fine"
@@ -1197,7 +1209,7 @@
},
{
"dmxRange": [202, 221],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW",
"switchChannels": {
@@ -1207,7 +1219,7 @@
},
{
"dmxRange": [222, 223],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speed": "stop",
"switchChannels": {
"Rotating Gobo Control": "Rotating Gobo Indexing",
@@ -1216,7 +1228,7 @@
},
{
"dmxRange": [224, 243],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW",
"switchChannels": {
@@ -1250,7 +1262,8 @@
"Rotating Gobo Indexing": {
"fineChannelAliases": ["Rotating Gobo Indexing fine"],
"capability": {
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"angleStart": "0deg",
"angleEnd": "360deg"
}
@@ -1261,23 +1274,27 @@
"capabilities": [
{
"dmxRange": [0, 0],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [1, 127],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [128, 129],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [130, 255],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
diff --git a/fixtures/robe/robin-viva-cmy.json b/fixtures/robe/robin-viva-cmy.json
index b8cbd607af..47078f1b66 100644
--- a/fixtures/robe/robin-viva-cmy.json
+++ b/fixtures/robe/robin-viva-cmy.json
@@ -47,6 +47,124 @@
"tiltMax": 270
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Deep red",
+ "colors": ["#d0282f"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#00a650"]
+ },
+ {
+ "type": "Color",
+ "name": "CTO",
+ "colors": ["#f9d1aa"],
+ "colorTemperature": "2700K"
+ },
+ {
+ "type": "Color",
+ "name": "Orange",
+ "colors": ["#faa649"]
+ },
+ {
+ "type": "Color",
+ "name": "Lavender",
+ "colors": ["#c6cbe6"]
+ },
+ {
+ "type": "Color",
+ "name": "Congo blue",
+ "colors": ["#6863e1"]
+ }
+ ]
+ },
+ "Static Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo",
+ "name": "Gobo 1 (99014836-1)"
+ },
+ {
+ "type": "Gobo",
+ "name": "Gobo 2 (99014836-2)"
+ },
+ {
+ "type": "Gobo",
+ "name": "Gobo 3 (99014836-3)"
+ },
+ {
+ "type": "Gobo",
+ "name": "Gobo 4 (99014836-4)"
+ },
+ {
+ "type": "Gobo",
+ "name": "Gobo 5 (99014836-5)"
+ },
+ {
+ "type": "Gobo",
+ "name": "Gobo 6 (99014836-6)"
+ },
+ {
+ "type": "Gobo",
+ "name": "Gobo 7 (99014836-7)"
+ },
+ {
+ "type": "Gobo",
+ "name": "Gobo 8 (99014836-8)"
+ },
+ {
+ "type": "Gobo",
+ "name": "Gobo 9 (99014836-9)"
+ }
+ ]
+ },
+ "Rotating Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo",
+ "name": "Ornament"
+ },
+ {
+ "type": "Gobo",
+ "name": "Bubble Triangle"
+ },
+ {
+ "type": "Gobo",
+ "name": "Whirls"
+ },
+ {
+ "type": "Gobo",
+ "name": "Pinwheel"
+ },
+ {
+ "type": "Gobo",
+ "name": "Abstract Squares"
+ },
+ {
+ "type": "Gobo",
+ "name": "Abstract Lines"
+ },
+ {
+ "type": "Gobo",
+ "name": "Lines With Wheels"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
@@ -263,181 +381,130 @@
"capabilities": [
{
"dmxRange": [0, 0],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [1, 17],
- "type": "ColorWheelIndex",
- "indexStart": 0,
- "indexEnd": 1,
- "colorsStart": ["#ffffff"],
- "colorsEnd": ["#d0282f"],
- "comment": "Open … Deep red"
+ "type": "WheelSlot",
+ "slotNumberStart": 1,
+ "slotNumberEnd": 2
},
{
"dmxRange": [18, 18],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#d0282f"],
- "comment": "Deep red"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [19, 36],
- "type": "ColorWheelIndex",
- "indexStart": 1,
- "indexEnd": 2,
- "colorsStart": ["#d0282f"],
- "colorsEnd": ["#00a650"],
- "comment": "Deep red … Green"
+ "type": "WheelSlot",
+ "slotNumberStart": 2,
+ "slotNumberEnd": 3
},
{
"dmxRange": [37, 37],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#00a650"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [38, 54],
- "type": "ColorWheelIndex",
- "indexStart": 2,
- "indexEnd": 3,
- "colorsStart": ["#00a650"],
- "colorsEnd": ["#f9d1aa"],
- "comment": "Green … CTO (2700K)"
+ "type": "WheelSlot",
+ "slotNumberStart": 3,
+ "slotNumberEnd": 4
},
{
"dmxRange": [55, 55],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#f9d1aa"],
- "colorTemperature": "2700K",
- "comment": "CTO"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [56, 72],
- "type": "ColorWheelIndex",
- "indexStart": 3,
- "indexEnd": 4,
- "colorsStart": ["#f9d1aa"],
- "colorsEnd": ["#faa649"],
- "comment": "CTO (2700K) … Orange"
+ "type": "WheelSlot",
+ "slotNumberStart": 4,
+ "slotNumberEnd": 5
},
{
"dmxRange": [73, 73],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#faa649"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [74, 90],
- "type": "ColorWheelIndex",
- "indexStart": 4,
- "indexEnd": 5,
- "colorsStart": ["#faa649"],
- "colorsEnd": ["#c6cbe6"],
- "comment": "Orange … Lavender"
+ "type": "WheelSlot",
+ "slotNumberStart": 5,
+ "slotNumberEnd": 6
},
{
"dmxRange": [91, 91],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#c6cbe6"],
- "comment": "Lavender"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [92, 108],
- "type": "ColorWheelIndex",
- "indexStart": 5,
- "indexEnd": 6,
- "colorsStart": ["#c6cbe6"],
- "colorsEnd": ["#6863e1"],
- "comment": "Lavender … Congo blue"
+ "type": "WheelSlot",
+ "slotNumberStart": 6,
+ "slotNumberEnd": 7
},
{
"dmxRange": [109, 109],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#6863e1"],
- "comment": "Congo blue"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [110, 127],
- "type": "ColorWheelIndex",
- "indexStart": 6,
- "indexEnd": 7,
- "colorsStart": ["#6863e1"],
- "colorsEnd": ["#ffffff"],
- "comment": "Congo blue … Open"
+ "type": "WheelSlot",
+ "slotNumberStart": 7,
+ "slotNumberEnd": 8
},
{
"dmxRange": [128, 129],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [130, 139],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#d0282f"],
- "comment": "Deep red"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [140, 149],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#00a650"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [150, 159],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#f9d1aa"],
- "colorTemperature": "2700K",
- "comment": "CTO"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [160, 169],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#faa649"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [170, 179],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#c6cbe6"],
- "comment": "Lavender"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [180, 189],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#6863e1"],
- "comment": "Congo blue"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [190, 215],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [216, 217],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speed": "stop"
},
{
"dmxRange": [218, 243],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
},
@@ -872,151 +939,131 @@
"capabilities": [
{
"dmxRange": [0, 8],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [9, 17],
- "type": "GoboIndex",
- "index": 1,
- "comment": "1 (99014836-1)"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [18, 26],
- "type": "GoboIndex",
- "index": 2,
- "comment": "2 (99014836-2)"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [27, 35],
- "type": "GoboIndex",
- "index": 3,
- "comment": "3 (99014836-3)"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [36, 44],
- "type": "GoboIndex",
- "index": 4,
- "comment": "4 (99014836-4)"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [45, 53],
- "type": "GoboIndex",
- "index": 5,
- "comment": "5 (99014836-5)"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [54, 62],
- "type": "GoboIndex",
- "index": 6,
- "comment": "6 (99014836-6)"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [63, 71],
- "type": "GoboIndex",
- "index": 7,
- "comment": "7 (99014836-7)"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [72, 80],
- "type": "GoboIndex",
- "index": 8,
- "comment": "8 (99014836-8)"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [81, 91],
- "type": "GoboIndex",
- "index": 9,
- "comment": "9 (99014836-9)"
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [92, 103],
- "type": "GoboIndex",
- "index": 1,
- "comment": "1 (99014836-1)",
+ "type": "WheelShake",
+ "slotNumber": 2,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [104, 115],
- "type": "GoboIndex",
- "index": 2,
- "comment": "2 (99014836-2)",
+ "type": "WheelShake",
+ "slotNumber": 3,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [116, 127],
- "type": "GoboIndex",
- "index": 3,
- "comment": "3 (99014836-3)",
+ "type": "WheelShake",
+ "slotNumber": 4,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [128, 139],
- "type": "GoboIndex",
- "index": 4,
- "comment": "4 (99014836-4)",
+ "type": "WheelShake",
+ "slotNumber": 5,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [140, 151],
- "type": "GoboIndex",
- "index": 5,
- "comment": "5 (99014836-5)",
+ "type": "WheelShake",
+ "slotNumber": 6,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [152, 163],
- "type": "GoboIndex",
- "index": 6,
- "comment": "6 (99014836-6)",
+ "type": "WheelShake",
+ "slotNumber": 7,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [164, 175],
- "type": "GoboIndex",
- "index": 7,
- "comment": "7 (99014836-7)",
+ "type": "WheelShake",
+ "slotNumber": 8,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [176, 187],
- "type": "GoboIndex",
- "index": 8,
- "comment": "8 (99014836-8)",
+ "type": "WheelShake",
+ "slotNumber": 9,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [188, 199],
- "type": "GoboIndex",
- "index": 9,
- "comment": "9 (99014836-9)",
+ "type": "WheelShake",
+ "slotNumber": 10,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [200, 201],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [202, 222],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [223, 243],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
},
@@ -1040,9 +1087,8 @@
"capabilities": [
{
"dmxRange": [0, 3],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open",
+ "type": "WheelSlot",
+ "slotNumber": 1,
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Speed",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Speed fine"
@@ -1050,9 +1096,9 @@
},
{
"dmxRange": [4, 7],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Ornament (indexing)",
+ "type": "WheelSlot",
+ "slotNumber": 2,
+ "comment": "indexing",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Angle",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Angle fine"
@@ -1060,9 +1106,9 @@
},
{
"dmxRange": [8, 11],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Bubble Triangle (indexing)",
+ "type": "WheelSlot",
+ "slotNumber": 3,
+ "comment": "indexing",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Angle",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Angle fine"
@@ -1070,9 +1116,9 @@
},
{
"dmxRange": [12, 15],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Whirls (indexing)",
+ "type": "WheelSlot",
+ "slotNumber": 4,
+ "comment": "indexing",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Angle",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Angle fine"
@@ -1080,9 +1126,9 @@
},
{
"dmxRange": [16, 19],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Pinwheel (indexing)",
+ "type": "WheelSlot",
+ "slotNumber": 5,
+ "comment": "indexing",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Angle",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Angle fine"
@@ -1090,9 +1136,9 @@
},
{
"dmxRange": [20, 23],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Abstract Squares (indexing)",
+ "type": "WheelSlot",
+ "slotNumber": 6,
+ "comment": "indexing",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Angle",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Angle fine"
@@ -1100,9 +1146,9 @@
},
{
"dmxRange": [24, 27],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Abstract Lines (indexing)",
+ "type": "WheelSlot",
+ "slotNumber": 7,
+ "comment": "indexing",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Angle",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Angle fine"
@@ -1110,9 +1156,9 @@
},
{
"dmxRange": [28, 31],
- "type": "GoboIndex",
- "index": 7,
- "comment": "Lines With Wheels (indexing)",
+ "type": "WheelSlot",
+ "slotNumber": 8,
+ "comment": "indexing",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Angle",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Angle fine"
@@ -1120,9 +1166,9 @@
},
{
"dmxRange": [32, 35],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Ornament (rotating)",
+ "type": "WheelSlot",
+ "slotNumber": 2,
+ "comment": "rotating",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Speed",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Speed fine"
@@ -1130,9 +1176,9 @@
},
{
"dmxRange": [36, 39],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Bubble Triangle (rotating)",
+ "type": "WheelSlot",
+ "slotNumber": 3,
+ "comment": "rotating",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Speed",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Speed fine"
@@ -1140,9 +1186,9 @@
},
{
"dmxRange": [40, 43],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Whirls (rotating)",
+ "type": "WheelSlot",
+ "slotNumber": 4,
+ "comment": "rotating",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Speed",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Speed fine"
@@ -1150,9 +1196,9 @@
},
{
"dmxRange": [44, 47],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Pinwheel (rotating)",
+ "type": "WheelSlot",
+ "slotNumber": 5,
+ "comment": "rotating",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Speed",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Speed fine"
@@ -1160,9 +1206,9 @@
},
{
"dmxRange": [48, 51],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Abstract Squares (rotating)",
+ "type": "WheelSlot",
+ "slotNumber": 6,
+ "comment": "rotating",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Speed",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Speed fine"
@@ -1170,9 +1216,9 @@
},
{
"dmxRange": [52, 55],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Abstract Lines (rotating)",
+ "type": "WheelSlot",
+ "slotNumber": 7,
+ "comment": "rotating",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Speed",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Speed fine"
@@ -1180,9 +1226,9 @@
},
{
"dmxRange": [56, 59],
- "type": "GoboIndex",
- "index": 7,
- "comment": "Lines With Wheels (rotating)",
+ "type": "WheelSlot",
+ "slotNumber": 8,
+ "comment": "rotating",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Speed",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Speed fine"
@@ -1190,11 +1236,11 @@
},
{
"dmxRange": [60, 69],
- "type": "GoboIndex",
- "index": 1,
+ "type": "WheelShake",
+ "slotNumber": 2,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
- "comment": "Ornament (indexing)",
+ "comment": "indexing",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Angle",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Angle fine"
@@ -1202,11 +1248,11 @@
},
{
"dmxRange": [70, 79],
- "type": "GoboIndex",
- "index": 2,
+ "type": "WheelShake",
+ "slotNumber": 3,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
- "comment": "Bubble Triangle (indexing)",
+ "comment": "indexing",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Angle",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Angle fine"
@@ -1214,11 +1260,11 @@
},
{
"dmxRange": [80, 89],
- "type": "GoboIndex",
- "index": 3,
+ "type": "WheelShake",
+ "slotNumber": 4,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
- "comment": "Whirls (indexing)",
+ "comment": "indexing",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Angle",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Angle fine"
@@ -1226,11 +1272,11 @@
},
{
"dmxRange": [90, 99],
- "type": "GoboIndex",
- "index": 4,
+ "type": "WheelShake",
+ "slotNumber": 5,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
- "comment": "Pinwheel (indexing)",
+ "comment": "indexing",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Angle",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Angle fine"
@@ -1238,11 +1284,11 @@
},
{
"dmxRange": [100, 109],
- "type": "GoboIndex",
- "index": 5,
+ "type": "WheelShake",
+ "slotNumber": 6,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
- "comment": "Abstract Squares (indexing)",
+ "comment": "indexing",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Angle",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Angle fine"
@@ -1250,11 +1296,11 @@
},
{
"dmxRange": [110, 119],
- "type": "GoboIndex",
- "index": 6,
+ "type": "WheelShake",
+ "slotNumber": 7,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
- "comment": "Abstract Lines (indexing)",
+ "comment": "indexing",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Angle",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Angle fine"
@@ -1262,11 +1308,11 @@
},
{
"dmxRange": [120, 129],
- "type": "GoboIndex",
- "index": 7,
+ "type": "WheelShake",
+ "slotNumber": 8,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
- "comment": "Lines With Wheels (indexing)",
+ "comment": "indexing",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Angle",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Angle fine"
@@ -1274,11 +1320,11 @@
},
{
"dmxRange": [130, 139],
- "type": "GoboIndex",
- "index": 1,
+ "type": "WheelShake",
+ "slotNumber": 2,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
- "comment": "Ornament (rotating)",
+ "comment": "rotating",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Speed",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Speed fine"
@@ -1286,11 +1332,11 @@
},
{
"dmxRange": [140, 149],
- "type": "GoboIndex",
- "index": 2,
+ "type": "WheelShake",
+ "slotNumber": 3,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
- "comment": "Bubble Triangle (rotating)",
+ "comment": "rotating",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Speed",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Speed fine"
@@ -1298,11 +1344,11 @@
},
{
"dmxRange": [150, 159],
- "type": "GoboIndex",
- "index": 3,
+ "type": "WheelShake",
+ "slotNumber": 4,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
- "comment": "Whirls (rotating)",
+ "comment": "rotating",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Speed",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Speed fine"
@@ -1310,11 +1356,11 @@
},
{
"dmxRange": [160, 169],
- "type": "GoboIndex",
- "index": 4,
+ "type": "WheelShake",
+ "slotNumber": 5,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
- "comment": "Pinwheel (rotating)",
+ "comment": "rotating",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Speed",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Speed fine"
@@ -1322,11 +1368,11 @@
},
{
"dmxRange": [170, 179],
- "type": "GoboIndex",
- "index": 5,
+ "type": "WheelShake",
+ "slotNumber": 6,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
- "comment": "Abstract Squares (rotating)",
+ "comment": "rotating",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Speed",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Speed fine"
@@ -1334,11 +1380,11 @@
},
{
"dmxRange": [180, 189],
- "type": "GoboIndex",
- "index": 6,
+ "type": "WheelShake",
+ "slotNumber": 7,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
- "comment": "Abstract Lines (rotating)",
+ "comment": "rotating",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Speed",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Speed fine"
@@ -1346,11 +1392,11 @@
},
{
"dmxRange": [190, 199],
- "type": "GoboIndex",
- "index": 7,
+ "type": "WheelShake",
+ "slotNumber": 8,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
- "comment": "Lines With Wheels (rotating)",
+ "comment": "rotating",
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Speed",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Speed fine"
@@ -1358,9 +1404,8 @@
},
{
"dmxRange": [200, 201],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open",
+ "type": "WheelSlot",
+ "slotNumber": 1,
"switchChannels": {
"Gobo Stencil Rotation": "Gobo Stencil Rotation Speed",
"Gobo Stencil Rotation fine": "Gobo Stencil Rotation Speed fine"
@@ -1368,7 +1413,7 @@
},
{
"dmxRange": [202, 222],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "fast CW",
"speedEnd": "slow CW",
"switchChannels": {
@@ -1378,7 +1423,7 @@
},
{
"dmxRange": [223, 243],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW",
"switchChannels": {
@@ -1413,7 +1458,8 @@
"fineChannelAliases": ["Gobo Stencil Rotation Angle fine"],
"defaultValue": 32896,
"capability": {
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"angleStart": "0deg",
"angleEnd": "360deg"
}
@@ -1424,18 +1470,21 @@
"capabilities": [
{
"dmxRange": [0, 32767],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"speedStart": "fast CW",
"speedEnd": "slow CW"
},
{
"dmxRange": [32768, 32768],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [32769, 65535],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Rotating Gobo Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
diff --git a/fixtures/showtec/kanjo-spot-60.json b/fixtures/showtec/kanjo-spot-60.json
index 9eaac28cce..8b4de178e2 100644
--- a/fixtures/showtec/kanjo-spot-60.json
+++ b/fixtures/showtec/kanjo-spot-60.json
@@ -32,6 +32,36 @@
"tiltMax": 230
}
},
+ "wheels": {
+ "Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
@@ -123,48 +153,47 @@
"capabilities": [
{
"dmxRange": [0, 7],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [8, 15],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [16, 23],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [24, 31],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [32, 39],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [40, 47],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [48, 55],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [56, 63],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [64, 127],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW"
},
@@ -174,50 +203,50 @@
},
{
"dmxRange": [144, 159],
- "type": "GoboIndex",
- "index": 1,
+ "type": "WheelShake",
+ "slotNumber": 2,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [160, 175],
- "type": "GoboIndex",
- "index": 2,
+ "type": "WheelShake",
+ "slotNumber": 3,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [176, 191],
- "type": "GoboIndex",
- "index": 3,
+ "type": "WheelShake",
+ "slotNumber": 4,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [192, 207],
- "type": "GoboIndex",
- "index": 4,
+ "type": "WheelShake",
+ "slotNumber": 5,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [208, 223],
- "type": "GoboIndex",
- "index": 5,
+ "type": "WheelShake",
+ "slotNumber": 6,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [224, 239],
- "type": "GoboIndex",
- "index": 6,
+ "type": "WheelShake",
+ "slotNumber": 7,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [240, 255],
- "type": "GoboIndex",
- "index": 7,
+ "type": "WheelShake",
+ "slotNumber": 8,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
}
diff --git a/fixtures/showtec/phantom-140-led-spot.json b/fixtures/showtec/phantom-140-led-spot.json
index a60c0e3cf1..01bd38e444 100644
--- a/fixtures/showtec/phantom-140-led-spot.json
+++ b/fixtures/showtec/phantom-140-led-spot.json
@@ -34,6 +34,143 @@
"tiltMax": 270
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Yellow",
+ "colors": ["#fffc00"]
+ },
+ {
+ "type": "Color",
+ "name": "Light Pink",
+ "colors": ["#ff8697"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#1c7403"]
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#cd000f"]
+ },
+ {
+ "type": "Color",
+ "name": "Bright Blue",
+ "colors": ["#0065fd"]
+ },
+ {
+ "type": "Color",
+ "name": "Light Green",
+ "colors": ["#60fb0a"]
+ },
+ {
+ "type": "Color",
+ "name": "Dark Yellow",
+ "colors": ["#e1e900"]
+ },
+ {
+ "type": "Color",
+ "name": "Old Yellow",
+ "colors": ["#ff9c03"]
+ },
+ {
+ "type": "Color",
+ "name": "Violet",
+ "colors": ["#7173c8"]
+ },
+ {
+ "type": "Color",
+ "name": "Hard Pink",
+ "colors": ["#ee008a"]
+ },
+ {
+ "type": "Color",
+ "name": "Light Blue",
+ "colors": ["#6ea4ee"]
+ },
+ {
+ "type": "Color",
+ "name": "Moon Yellow",
+ "colors": ["#f8d158"]
+ },
+ {
+ "type": "Color",
+ "name": "Steel Blue",
+ "colors": ["#d6e5fc"]
+ },
+ {
+ "type": "Color",
+ "name": "UV",
+ "colors": ["#33199e"]
+ }
+ ]
+ },
+ "Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ },
+ {
+ "type": "Gobo"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
@@ -66,224 +203,164 @@
"capabilities": [
{
"dmxRange": [0, 3],
- "type": "ColorWheelIndex",
- "index": 0,
- "comment": "Open",
- "colors": ["#ffffff"]
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [4, 7],
- "type": "ColorWheelIndex",
- "index": 1,
- "comment": "Yellow",
- "colors": ["#fffc00"]
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [8, 11],
- "type": "ColorWheelIndex",
- "index": 2,
- "comment": "Light Pink",
- "colors": ["#ff8697"]
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [12, 15],
- "type": "ColorWheelIndex",
- "index": 3,
- "comment": "Green",
- "colors": ["#1c7403"]
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [16, 19],
- "type": "ColorWheelIndex",
- "index": 4,
- "comment": "Red",
- "colors": ["#cd000f"]
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [20, 23],
- "type": "ColorWheelIndex",
- "index": 5,
- "comment": "Bright Blue",
- "colors": ["#0065fd"]
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [24, 27],
- "type": "ColorWheelIndex",
- "index": 6,
- "comment": "Light Green",
- "colors": ["#60fb0a"]
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [28, 31],
- "type": "ColorWheelIndex",
- "index": 7,
- "comment": "Dark Yellow",
- "colors": ["#e1e900"]
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [32, 35],
- "type": "ColorWheelIndex",
- "index": 8,
- "comment": "Old Yellow",
- "colors": ["#ff9c03"]
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [36, 39],
- "type": "ColorWheelIndex",
- "index": 9,
- "comment": "Violet",
- "colors": ["#7173c8"]
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [40, 43],
- "type": "ColorWheelIndex",
- "index": 10,
- "comment": "Hard Pink",
- "colors": ["#ee008a"]
+ "type": "WheelSlot",
+ "slotNumber": 11
},
{
"dmxRange": [44, 47],
- "type": "ColorWheelIndex",
- "index": 11,
- "comment": "Light Blue",
- "colors": ["#6ea4ee"]
+ "type": "WheelSlot",
+ "slotNumber": 12
},
{
"dmxRange": [48, 51],
- "type": "ColorWheelIndex",
- "index": 12,
- "comment": "Moon Yellow",
- "colors": ["#f8d158"]
+ "type": "WheelSlot",
+ "slotNumber": 13
},
{
"dmxRange": [52, 55],
- "type": "ColorWheelIndex",
- "index": 13,
- "comment": "Steel Blue",
- "colors": ["#d6e5fc"]
+ "type": "WheelSlot",
+ "slotNumber": 14
},
{
"dmxRange": [56, 63],
- "type": "ColorWheelIndex",
- "index": 14,
- "comment": "UV",
- "colors": ["#33199e"]
+ "type": "WheelSlot",
+ "slotNumber": 15
},
{
"dmxRange": [64, 67],
- "type": "ColorWheelIndex",
- "index": 0.5,
- "comment": "Split Open / Yellow",
- "colors": ["#ffffff", "#fffc00"]
+ "type": "WheelSlot",
+ "slotNumber": 1.5
},
{
"dmxRange": [68, 71],
- "type": "ColorWheelIndex",
- "index": 1.5,
- "comment": "Split Yellow / Light Pink",
- "colors": ["#fffc00", "#ff8697"]
+ "type": "WheelSlot",
+ "slotNumber": 2.5
},
{
"dmxRange": [72, 75],
- "type": "ColorWheelIndex",
- "index": 2.5,
- "comment": "Split Light Pink / Green",
- "colors": ["#ff8697", "#1c7403"]
+ "type": "WheelSlot",
+ "slotNumber": 3.5
},
{
"dmxRange": [76, 79],
- "type": "ColorWheelIndex",
- "index": 3.5,
- "comment": "Split Green / Red",
- "colors": ["#1c7403", "#cd000f"]
+ "type": "WheelSlot",
+ "slotNumber": 4.5
},
{
"dmxRange": [80, 83],
- "type": "ColorWheelIndex",
- "index": 4.5,
- "comment": "Split Red / Bright Blue",
- "colors": ["#cd000f", "#0065fd"]
+ "type": "WheelSlot",
+ "slotNumber": 5.5
},
{
"dmxRange": [84, 87],
- "type": "ColorWheelIndex",
- "index": 5.5,
- "comment": "Split Bright Blue / Light Green",
- "colors": ["#0065fd", "#60fb0a"]
+ "type": "WheelSlot",
+ "slotNumber": 6.5
},
{
"dmxRange": [88, 91],
- "type": "ColorWheelIndex",
- "index": 6.5,
- "comment": "Split Light Green / Dark Yellow",
- "colors": ["#60fb0a", "#e1e900"]
+ "type": "WheelSlot",
+ "slotNumber": 7.5
},
{
"dmxRange": [92, 95],
- "type": "ColorWheelIndex",
- "index": 7.5,
- "comment": "Split Dark Yellow / Old Yellow",
- "colors": ["#e1e900", "#ff9c03"]
+ "type": "WheelSlot",
+ "slotNumber": 8.5
},
{
"dmxRange": [96, 99],
- "type": "ColorWheelIndex",
- "index": 8.5,
- "comment": "Split Old Yellow / Violet",
- "colors": ["#ff9c03", "#7173c8"]
+ "type": "WheelSlot",
+ "slotNumber": 9.5
},
{
"dmxRange": [100, 103],
- "type": "ColorWheelIndex",
- "index": 9.5,
- "comment": "Split Violet / Hard Pink",
- "colors": ["#7173c8", "#ee008a"]
+ "type": "WheelSlot",
+ "slotNumber": 10.5
},
{
"dmxRange": [104, 107],
- "type": "ColorWheelIndex",
- "index": 10.5,
- "comment": "Split Hard Pink / Light Blue",
- "colors": ["#ee008a", "#6ea4ee"]
+ "type": "WheelSlot",
+ "slotNumber": 11.5
},
{
"dmxRange": [108, 111],
- "type": "ColorWheelIndex",
- "index": 11.5,
- "comment": "Split Light Blue / Moon Yellow",
- "colors": ["#6ea4ee", "#f8d158"]
+ "type": "WheelSlot",
+ "slotNumber": 12.5
},
{
"dmxRange": [112, 115],
- "type": "ColorWheelIndex",
- "index": 12.5,
- "comment": "Split Moon Yellow / Steel Blue",
- "colors": ["#f8d158", "#d6e5fc"]
+ "type": "WheelSlot",
+ "slotNumber": 13.5
},
{
"dmxRange": [116, 119],
- "type": "ColorWheelIndex",
- "index": 13.5,
- "comment": "Split Steel Blue / UV",
- "colors": ["#d6e5fc", "#33199e"]
+ "type": "WheelSlot",
+ "slotNumber": 14.5
},
{
"dmxRange": [120, 127],
- "type": "ColorWheelIndex",
- "index": 14.5,
- "comment": "Split UV / Open",
- "colors": ["#33199e", "#ffffff"]
+ "type": "WheelSlot",
+ "slotNumber": 15.5
},
{
"dmxRange": [128, 191],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW",
"menuClick": "center"
},
{
"dmxRange": [192, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW",
"menuClick": "center"
@@ -346,230 +423,228 @@
"capabilities": [
{
"dmxRange": [0, 3],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [4, 7],
- "type": "GoboIndex",
- "index": 1
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [8, 11],
- "type": "GoboIndex",
- "index": 2
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [12, 15],
- "type": "GoboIndex",
- "index": 3
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [16, 19],
- "type": "GoboIndex",
- "index": 4
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [20, 23],
- "type": "GoboIndex",
- "index": 5
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [24, 27],
- "type": "GoboIndex",
- "index": 6
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [28, 31],
- "type": "GoboIndex",
- "index": 7
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [32, 35],
- "type": "GoboIndex",
- "index": 8
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [36, 39],
- "type": "GoboIndex",
- "index": 9
+ "type": "WheelSlot",
+ "slotNumber": 10
},
{
"dmxRange": [40, 43],
- "type": "GoboIndex",
- "index": 10
+ "type": "WheelSlot",
+ "slotNumber": 11
},
{
"dmxRange": [44, 47],
- "type": "GoboIndex",
- "index": 11
+ "type": "WheelSlot",
+ "slotNumber": 12
},
{
"dmxRange": [48, 51],
- "type": "GoboIndex",
- "index": 12
+ "type": "WheelSlot",
+ "slotNumber": 13
},
{
"dmxRange": [52, 55],
- "type": "GoboIndex",
- "index": 13
+ "type": "WheelSlot",
+ "slotNumber": 14
},
{
"dmxRange": [56, 59],
- "type": "GoboIndex",
- "index": 14
+ "type": "WheelSlot",
+ "slotNumber": 15
},
{
"dmxRange": [60, 63],
- "type": "GoboIndex",
- "index": 15
+ "type": "WheelSlot",
+ "slotNumber": 16
},
{
"dmxRange": [64, 67],
- "type": "GoboIndex",
- "index": 16
+ "type": "WheelSlot",
+ "slotNumber": 17
},
{
"dmxRange": [68, 71],
- "type": "GoboIndex",
- "index": 17
+ "type": "WheelSlot",
+ "slotNumber": 18
},
{
"dmxRange": [72, 77],
- "type": "GoboIndex",
- "index": 17,
+ "type": "WheelShake",
+ "slotNumber": 18,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [78, 83],
- "type": "GoboIndex",
- "index": 16,
+ "type": "WheelShake",
+ "slotNumber": 17,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [84, 89],
- "type": "GoboIndex",
- "index": 15,
+ "type": "WheelShake",
+ "slotNumber": 16,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [90, 95],
- "type": "GoboIndex",
- "index": 14,
+ "type": "WheelShake",
+ "slotNumber": 15,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [96, 101],
- "type": "GoboIndex",
- "index": 13,
+ "type": "WheelShake",
+ "slotNumber": 14,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [102, 107],
- "type": "GoboIndex",
- "index": 12,
+ "type": "WheelShake",
+ "slotNumber": 13,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [108, 113],
- "type": "GoboIndex",
- "index": 11,
+ "type": "WheelShake",
+ "slotNumber": 12,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [114, 119],
- "type": "GoboIndex",
- "index": 10,
+ "type": "WheelShake",
+ "slotNumber": 11,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [120, 125],
- "type": "GoboIndex",
- "index": 9,
+ "type": "WheelShake",
+ "slotNumber": 10,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [126, 131],
- "type": "GoboIndex",
- "index": 8,
+ "type": "WheelShake",
+ "slotNumber": 9,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [132, 137],
- "type": "GoboIndex",
- "index": 7,
+ "type": "WheelShake",
+ "slotNumber": 8,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [138, 143],
- "type": "GoboIndex",
- "index": 6,
+ "type": "WheelShake",
+ "slotNumber": 7,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [144, 149],
- "type": "GoboIndex",
- "index": 5,
+ "type": "WheelShake",
+ "slotNumber": 6,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [150, 155],
- "type": "GoboIndex",
- "index": 4,
+ "type": "WheelShake",
+ "slotNumber": 5,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [156, 161],
- "type": "GoboIndex",
- "index": 3,
+ "type": "WheelShake",
+ "slotNumber": 4,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [162, 167],
- "type": "GoboIndex",
- "index": 2,
+ "type": "WheelShake",
+ "slotNumber": 3,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [168, 173],
- "type": "GoboIndex",
- "index": 1,
+ "type": "WheelShake",
+ "slotNumber": 2,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast"
},
{
"dmxRange": [174, 179],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [180, 217],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW",
"menuClick": "center"
},
{
"dmxRange": [218, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW",
"menuClick": "center"
diff --git a/fixtures/showtec/phantom-50-led-spot.json b/fixtures/showtec/phantom-50-led-spot.json
index bba90ff55b..3982c5df28 100644
--- a/fixtures/showtec/phantom-50-led-spot.json
+++ b/fixtures/showtec/phantom-50-led-spot.json
@@ -35,6 +35,90 @@
"tiltMax": 270
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Yellow",
+ "colors": ["#fef201"]
+ },
+ {
+ "type": "Color",
+ "name": "Pink",
+ "colors": ["#c600ce"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#017f01"]
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#941e30"]
+ },
+ {
+ "type": "Color",
+ "name": "Light Blue",
+ "colors": ["#0155e9"]
+ },
+ {
+ "type": "Color",
+ "name": "Light Green",
+ "colors": ["#01c702"]
+ },
+ {
+ "type": "Color",
+ "name": "Orange",
+ "colors": ["#ca450c"]
+ },
+ {
+ "type": "Color",
+ "name": "Dark Blue",
+ "colors": ["#2921d3"]
+ }
+ ]
+ },
+ "Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo",
+ "name": "Gobo 1 Glass"
+ },
+ {
+ "type": "Gobo",
+ "name": "Gobo 2 Glass"
+ },
+ {
+ "type": "Gobo",
+ "name": "Gobo 3 Metal"
+ },
+ {
+ "type": "Gobo",
+ "name": "Gobo 4 Metal"
+ },
+ {
+ "type": "Gobo",
+ "name": "Gobo 5 Metal"
+ },
+ {
+ "type": "Gobo",
+ "name": "Gobo 6 Metal"
+ },
+ {
+ "type": "Gobo",
+ "name": "Gobo 7 Metal"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
@@ -68,140 +152,104 @@
"capabilities": [
{
"dmxRange": [0, 6],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "slotNumber": 1
},
{
"dmxRange": [7, 13],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#fef201"],
- "comment": "Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 2
},
{
"dmxRange": [14, 20],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#c600ce"],
- "comment": "Pink"
+ "type": "WheelSlot",
+ "slotNumber": 3
},
{
"dmxRange": [21, 27],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#017f01"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "slotNumber": 4
},
{
"dmxRange": [28, 34],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#941e30"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "slotNumber": 5
},
{
"dmxRange": [35, 41],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#0155e9"],
- "comment": "Light Blue"
+ "type": "WheelSlot",
+ "slotNumber": 6
},
{
"dmxRange": [42, 48],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#01c702"],
- "comment": "Light Green"
+ "type": "WheelSlot",
+ "slotNumber": 7
},
{
"dmxRange": [49, 55],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#ca450c"],
- "comment": "Orange"
+ "type": "WheelSlot",
+ "slotNumber": 8
},
{
"dmxRange": [56, 64],
- "type": "ColorWheelIndex",
- "index": 8,
- "colors": ["#2921d3"],
- "comment": "Dark Blue"
+ "type": "WheelSlot",
+ "slotNumber": 9
},
{
"dmxRange": [65, 71],
- "type": "ColorWheelIndex",
- "index": 0.5,
- "colors": ["#ffffff", "#fef201"],
- "comment": "Split Open / Yellow"
+ "type": "WheelSlot",
+ "slotNumber": 1.5
},
{
"dmxRange": [72, 78],
- "type": "ColorWheelIndex",
- "index": 1.5,
- "colors": ["#fef201", "#c600ce"],
- "comment": "Split Yellow / Pink"
+ "type": "WheelSlot",
+ "slotNumber": 2.5
},
{
"dmxRange": [79, 85],
- "type": "ColorWheelIndex",
- "index": 2.5,
- "colors": ["#c600ce", "#017f01"],
- "comment": "Split Pink / Green"
+ "type": "WheelSlot",
+ "slotNumber": 3.5
},
{
"dmxRange": [86, 92],
- "type": "ColorWheelIndex",
- "index": 3.5,
- "colors": ["#017f01", "#941e30"],
- "comment": "Split Green / Red"
+ "type": "WheelSlot",
+ "slotNumber": 4.5
},
{
"dmxRange": [93, 99],
- "type": "ColorWheelIndex",
- "index": 4.5,
- "colors": ["#941e30", "#0155e9"],
- "comment": "Split Red / Light Blue"
+ "type": "WheelSlot",
+ "slotNumber": 5.5
},
{
"dmxRange": [100, 106],
- "type": "ColorWheelIndex",
- "index": 5.5,
- "colors": ["#0155e9", "#01c702"],
- "comment": "Split Light Blue / Light Green"
+ "type": "WheelSlot",
+ "slotNumber": 6.5
},
{
"dmxRange": [107, 113],
- "type": "ColorWheelIndex",
- "index": 6.5,
- "colors": ["#01c702", "#ca450c"],
- "comment": "Split Light Green / Orange"
+ "type": "WheelSlot",
+ "slotNumber": 7.5
},
{
"dmxRange": [114, 120],
- "type": "ColorWheelIndex",
- "index": 7.5,
- "colors": ["#ca450c", "#2921d3"],
- "comment": "Split Orange / Dark Blue"
+ "type": "WheelSlot",
+ "slotNumber": 8.5
},
{
"dmxRange": [121, 127],
- "type": "ColorWheelIndex",
- "index": 8.5,
- "colors": ["#2921d3", "#ffffff"],
- "comment": "Split Dark Blue / Open"
+ "type": "WheelSlot",
+ "slotNumber": 9.5
},
{
"dmxRange": [128, 191],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CW",
"speedEnd": "fast CW",
"menuClick": "center"
},
{
"dmxRange": [192, 255],
- "type": "ColorWheelRotation",
+ "type": "WheelRotation",
"speedStart": "slow CCW",
"speedEnd": "fast CCW",
"menuClick": "center"
@@ -247,131 +295,133 @@
"capabilities": [
{
"dmxRange": [0, 7],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 1
},
{
"dmxRange": [8, 15],
- "type": "GoboIndex",
- "index": 1,
- "comment": "1 Glass"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 2
},
{
"dmxRange": [16, 23],
- "type": "GoboIndex",
- "index": 2,
- "comment": "2 Glass"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 3
},
{
"dmxRange": [24, 31],
- "type": "GoboIndex",
- "index": 3,
- "comment": "3 Metal"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 4
},
{
"dmxRange": [32, 39],
- "type": "GoboIndex",
- "index": 4,
- "comment": "4 Metal"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 5
},
{
"dmxRange": [40, 47],
- "type": "GoboIndex",
- "index": 5,
- "comment": "5 Metal"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 6
},
{
"dmxRange": [48, 55],
- "type": "GoboIndex",
- "index": 6,
- "comment": "6 Metal"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 7
},
{
"dmxRange": [56, 63],
- "type": "GoboIndex",
- "index": 7,
- "comment": "7 Metal"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 8
},
{
"dmxRange": [64, 71],
- "type": "GoboIndex",
- "index": 7,
- "comment": "7 Metal",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 8,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
"menuClick": "center"
},
{
"dmxRange": [72, 79],
- "type": "GoboIndex",
- "index": 6,
- "comment": "6 Metal",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 7,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
"menuClick": "center"
},
{
"dmxRange": [80, 87],
- "type": "GoboIndex",
- "index": 5,
- "comment": "5 Metal",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 6,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
"menuClick": "center"
},
{
"dmxRange": [88, 95],
- "type": "GoboIndex",
- "index": 4,
- "comment": "4 Metal",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 5,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
"menuClick": "center"
},
{
"dmxRange": [96, 103],
- "type": "GoboIndex",
- "index": 3,
- "comment": "3 Metal",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 4,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
"menuClick": "center"
},
{
"dmxRange": [104, 111],
- "type": "GoboIndex",
- "index": 2,
- "comment": "2 Glass",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 3,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
"menuClick": "center"
},
{
"dmxRange": [112, 119],
- "type": "GoboIndex",
- "index": 1,
- "comment": "1 Glass",
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 2,
"shakeSpeedStart": "slow",
"shakeSpeedEnd": "fast",
"menuClick": "center"
},
{
"dmxRange": [120, 127],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 1
},
{
"dmxRange": [128, 191],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CW",
"speedEnd": "fast CW",
"menuClick": "center"
},
{
"dmxRange": [192, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW",
"menuClick": "center"
@@ -383,27 +433,31 @@
"capabilities": [
{
"dmxRange": [0, 7],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speed": "stop"
},
{
"dmxRange": [8, 119],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CW",
"speedEnd": "fast CW",
"menuClick": "center"
},
{
"dmxRange": [120, 231],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW",
"menuClick": "center"
},
{
"dmxRange": [232, 255],
- "type": "Effect",
- "effectName": "Gobo Wheel slot shake"
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
+ "isShaking": "slot"
}
]
},
diff --git a/fixtures/stairville/mh-x25.json b/fixtures/stairville/mh-x25.json
index 36d2a01956..8658366fed 100644
--- a/fixtures/stairville/mh-x25.json
+++ b/fixtures/stairville/mh-x25.json
@@ -28,6 +28,90 @@
"tiltMax": 270
}
},
+ "wheels": {
+ "Color Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Color",
+ "name": "Yellow",
+ "colors": ["#ffff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Pink",
+ "colors": ["#ff00ff"]
+ },
+ {
+ "type": "Color",
+ "name": "Green",
+ "colors": ["#00ff00"]
+ },
+ {
+ "type": "Color",
+ "name": "Peachblow",
+ "colors": ["#d7735b"]
+ },
+ {
+ "type": "Color",
+ "name": "Light Blue",
+ "colors": ["#add8e6"]
+ },
+ {
+ "type": "Color",
+ "name": "Yellow-Green",
+ "colors": ["#ccfe50"]
+ },
+ {
+ "type": "Color",
+ "name": "Red",
+ "colors": ["#ff0000"]
+ },
+ {
+ "type": "Color",
+ "name": "Blue",
+ "colors": ["#0000ff"]
+ }
+ ]
+ },
+ "Gobo Wheel": {
+ "slots": [
+ {
+ "type": "Open"
+ },
+ {
+ "type": "Gobo",
+ "name": "Gobo 2"
+ },
+ {
+ "type": "Gobo",
+ "name": "Gobo 3"
+ },
+ {
+ "type": "Gobo",
+ "name": "Gobo 4"
+ },
+ {
+ "type": "Gobo",
+ "name": "Gobo 5"
+ },
+ {
+ "type": "Gobo",
+ "name": "Gobo 6"
+ },
+ {
+ "type": "Gobo",
+ "name": "Gobo 7"
+ },
+ {
+ "type": "Gobo",
+ "name": "Gobo 8"
+ }
+ ]
+ }
+ },
"availableChannels": {
"Pan": {
"fineChannelAliases": ["Pan fine"],
@@ -51,147 +135,120 @@
"capabilities": [
{
"dmxRange": [0, 4],
- "type": "ColorWheelIndex",
- "index": 0,
- "colors": ["#ffffff"],
- "comment": "Open"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 1
},
{
"dmxRange": [5, 9],
- "type": "ColorWheelIndex",
- "index": 1,
- "colors": ["#ffff00"],
- "comment": "Yellow"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 2
},
{
"dmxRange": [10, 14],
- "type": "ColorWheelIndex",
- "index": 2,
- "colors": ["#ff00ff"],
- "comment": "Pink"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 3
},
{
"dmxRange": [15, 19],
- "type": "ColorWheelIndex",
- "index": 3,
- "colors": ["#00ff00"],
- "comment": "Green"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 4
},
{
"dmxRange": [20, 24],
- "type": "ColorWheelIndex",
- "index": 4,
- "colors": ["#d7735b"],
- "comment": "Peachblow"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 5
},
{
"dmxRange": [25, 29],
- "type": "ColorWheelIndex",
- "index": 5,
- "colors": ["#add8e6"],
- "comment": "Light Blue"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 6
},
{
"dmxRange": [30, 34],
- "type": "ColorWheelIndex",
- "index": 6,
- "colors": ["#ccfe50"],
- "comment": "Yellow-Green"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 7
},
{
"dmxRange": [35, 39],
- "type": "ColorWheelIndex",
- "index": 7,
- "colors": ["#ff0000"],
- "comment": "Red"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 8
},
{
"dmxRange": [40, 44],
- "type": "ColorWheelIndex",
- "index": 8,
- "colors": ["#0000ff"],
- "comment": "Blue"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumber": 9
},
{
"dmxRange": [45, 54],
- "type": "ColorWheelIndex",
- "indexStart": 0,
- "indexEnd": 1,
- "colorsStart": ["#ffffff"],
- "colorsEnd": ["#ffff00"],
- "comment": "Open … Yellow"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumberStart": 1,
+ "slotNumberEnd": 2
},
{
"dmxRange": [55, 64],
- "type": "ColorWheelIndex",
- "indexStart": 1,
- "indexEnd": 2,
- "colorsStart": ["#ffff00"],
- "colorsEnd": ["#ff00ff"],
- "comment": "Yellow … Pink"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumberStart": 2,
+ "slotNumberEnd": 3
},
{
"dmxRange": [65, 73],
- "type": "ColorWheelIndex",
- "indexStart": 2,
- "indexEnd": 3,
- "colorsStart": ["#ff00ff"],
- "colorsEnd": ["#00ff00"],
- "comment": "Pink … Green"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumberStart": 3,
+ "slotNumberEnd": 4
},
{
"dmxRange": [74, 83],
- "type": "ColorWheelIndex",
- "indexStart": 3,
- "indexEnd": 4,
- "colorsStart": ["#00ff00"],
- "colorsEnd": ["#d7735b"],
- "comment": "Green … Peachblow"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumberStart": 4,
+ "slotNumberEnd": 5
},
{
"dmxRange": [84, 92],
- "type": "ColorWheelIndex",
- "indexStart": 4,
- "indexEnd": 5,
- "colorsStart": ["#d7735b"],
- "colorsEnd": ["#add8e6"],
- "comment": "Peachblow … Light Blue"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumberStart": 5,
+ "slotNumberEnd": 6
},
{
"dmxRange": [93, 101],
- "type": "ColorWheelIndex",
- "indexStart": 5,
- "indexEnd": 6,
- "colorsStart": ["#add8e6"],
- "colorsEnd": ["#ccfe50"],
- "comment": "Light Blue … Yellow-Green"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumberStart": 6,
+ "slotNumberEnd": 7
},
{
"dmxRange": [102, 110],
- "type": "ColorWheelIndex",
- "indexStart": 6,
- "indexEnd": 7,
- "colorsStart": ["#ccfe50"],
- "colorsEnd": ["#ff0000"],
- "comment": "Yellow-Green … Red"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumberStart": 7,
+ "slotNumberEnd": 8
},
{
"dmxRange": [111, 119],
- "type": "ColorWheelIndex",
- "indexStart": 7,
- "indexEnd": 8,
- "colorsStart": ["#ff0000"],
- "colorsEnd": ["#0000ff"],
- "comment": "Red … Blue"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumberStart": 8,
+ "slotNumberEnd": 9
},
{
"dmxRange": [120, 127],
- "type": "ColorWheelIndex",
- "indexStart": 8,
- "indexEnd": 9,
- "colorsStart": ["#0000ff"],
- "colorsEnd": ["#ffffff"],
- "comment": "Blue … Open"
+ "type": "WheelSlot",
+ "wheel": "Color Wheel",
+ "slotNumberStart": 9,
+ "slotNumberEnd": 10
},
{
"dmxRange": [128, 191],
@@ -239,116 +296,111 @@
"capabilities": [
{
"dmxRange": [0, 7],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 1
},
{
"dmxRange": [8, 15],
- "type": "GoboIndex",
- "index": 1,
- "comment": "Gobo 2"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 2
},
{
"dmxRange": [16, 23],
- "type": "GoboIndex",
- "index": 2,
- "comment": "Gobo 3"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 3
},
{
"dmxRange": [24, 31],
- "type": "GoboIndex",
- "index": 3,
- "comment": "Gobo 4"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 4
},
{
"dmxRange": [32, 39],
- "type": "GoboIndex",
- "index": 4,
- "comment": "Gobo 5"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 5
},
{
"dmxRange": [40, 47],
- "type": "GoboIndex",
- "index": 5,
- "comment": "Gobo 6"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 6
},
{
"dmxRange": [48, 55],
- "type": "GoboIndex",
- "index": 6,
- "comment": "Gobo 7"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 7
},
{
"dmxRange": [56, 63],
- "type": "GoboIndex",
- "index": 7,
- "comment": "Gobo 8"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 8
},
{
"dmxRange": [64, 71],
- "type": "GoboIndex",
- "index": 7,
- "shakeAngle": "wide",
- "comment": "Gobo 8"
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 8
},
{
"dmxRange": [72, 79],
- "type": "GoboIndex",
- "index": 6,
- "shakeAngle": "wide",
- "comment": "Gobo 7"
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 7
},
{
"dmxRange": [80, 87],
- "type": "GoboIndex",
- "index": 5,
- "shakeAngle": "wide",
- "comment": "Gobo 6"
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 6
},
{
"dmxRange": [88, 95],
- "type": "GoboIndex",
- "index": 4,
- "shakeAngle": "wide",
- "comment": "Gobo 5"
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 5
},
{
"dmxRange": [96, 103],
- "type": "GoboIndex",
- "index": 3,
- "shakeAngle": "wide",
- "comment": "Gobo 4"
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 4
},
{
"dmxRange": [104, 111],
- "type": "GoboIndex",
- "index": 2,
- "shakeAngle": "wide",
- "comment": "Gobo 3"
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 3
},
{
"dmxRange": [112, 119],
- "type": "GoboIndex",
- "index": 1,
- "shakeAngle": "wide",
- "comment": "Gobo 2"
+ "type": "WheelShake",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 2
},
{
"dmxRange": [120, 127],
- "type": "GoboIndex",
- "index": 0,
- "comment": "Open"
+ "type": "WheelSlot",
+ "wheel": "Gobo Wheel",
+ "slotNumber": 1
},
{
"dmxRange": [128, 191],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CW",
"speedEnd": "fast CW"
},
{
"dmxRange": [192, 255],
- "type": "GoboWheelRotation",
+ "type": "WheelRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
}
@@ -358,19 +410,22 @@
"capabilities": [
{
"dmxRange": [0, 63],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"angleStart": "0deg",
"angleEnd": "360deg"
},
{
"dmxRange": [64, 147],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CW",
"speedEnd": "fast CW"
},
{
"dmxRange": [148, 231],
- "type": "GoboStencilRotation",
+ "type": "WheelSlotRotation",
+ "wheel": "Gobo Wheel",
"speedStart": "slow CCW",
"speedEnd": "fast CCW"
},
diff --git a/lib/fixture-features/wheels.js b/lib/fixture-features/wheels.js
new file mode 100644
index 0000000000..35d77b2703
--- /dev/null
+++ b/lib/fixture-features/wheels.js
@@ -0,0 +1,58 @@
+/* eslint-disable no-unused-vars */
+const {
+ AbstractChannel,
+ Capability,
+ CoarseChannel,
+ FineChannel,
+ Fixture,
+ Manufacturer,
+ Matrix,
+ Meta,
+ Mode,
+ NullChannel,
+ Physical,
+ Range,
+ SwitchingChannel,
+ TemplateChannel
+} = require(`../model.js`);
+/* eslint-enable no-unused-vars */
+
+const schemaProperties = require(`../../lib/schema-properties.js`);
+
+/** @type {Array.