Skip to content

Commit

Permalink
Beam position (#922)
Browse files Browse the repository at this point in the history
* Add BeamPosition type to schema, docs, model and editor
* Bump schema version to 12.1.0
* Update capability type order
* Fix Laser fixtures, also by using BeamPosition
* Make test fixtures
  • Loading branch information
fxedel authored Jun 6, 2019
1 parent 9b5d264 commit c3c9fa4
Show file tree
Hide file tree
Showing 22 changed files with 807 additions and 336 deletions.
27 changes: 20 additions & 7 deletions docs/capability-types.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ To make common percentage values more readable, one can use specific keywords to
| FogOutput | `m^3/min`, `%` | – | – | off | weak | strong
| RotationAngle | `deg`, `%` | – | – | – | – | –
| BeamAngle | `deg`, `%` | – | – | closed | narrow | wide
| HorizontalAngle | `deg`, `%` | left | – | center | – | right
| VerticalAngle | `deg`, `%` | top | – | center | – | bottom
| SwingAngle | `deg`, `%` | – | – | off | narrow | wide
| Parameter | (no unit), `%` | – | – | off / instant | low / slow / small / short | high / fast / big / long
| SlotNumber | (no unit) | – | – | – | – | –
Expand All @@ -42,6 +44,7 @@ To make common percentage values more readable, one can use specific keywords to
* [WheelSlot](#wheelslot) / [WheelShake](#wheelshake) / [WheelSlotRotation](#wheelslotrotation) / [WheelRotation](#wheelrotation)
* [Effect](#effect) / [EffectSpeed](#effectspeed) / [EffectDuration](#effectduration) / [EffectParameter](#effectparameter)
* [SoundSensitivity](#soundsensitivity)
* [BeamAngle](#beamangle) / [BeamPosition](#beamposition)
* [Focus](#focus)
* [Zoom](#zoom)
* [Iris](#iris) / [IrisEffect](#iriseffect)
Expand All @@ -50,7 +53,7 @@ To make common percentage values more readable, one can use specific keywords to
* [BladeInsertion](#bladeinsertion)
/ [BladeRotation](#bladerotation) / [BladeSystemRotation](#bladesystemrotation)
* [Fog](#fog) / [FogOutput](#fogoutput) / [FogType](#fogtype)
* Generic types: [BeamAngle](#beamangle) / [Rotation](#rotation) / [Speed](#speed) / [Time](#time) / [Maintenance](#maintenance) / [Generic](#generic)
* Generic types: [Rotation](#rotation) / [Speed](#speed) / [Time](#time) / [Maintenance](#maintenance) / [Generic](#generic)


<table>
Expand Down Expand Up @@ -276,6 +279,22 @@ To make common percentage values more readable, one can use specific keywords to
<td valign="top">Entity <em>Percent</em></td>
<td valign="top"></td>
</tr>
<tr>
<th valign="top" scope="row" id="beamangle">BeamAngle</th>
<td valign="top">angle<br><sub>:star2: required</sub></td>
<td valign="top">Entity <em>BeamAngle</em></td>
<td valign="top"></td>
</tr>
<tr>
<th valign="top" scope="row" id="beamposition" rowspan="2">BeamPosition</th>
<td valign="top">horizontalAngle<br><sub>:star2: required</sub></td>
<td valign="top">Entity <em>HorizontalAngle</em></td>
<td valign="top" rowspan="2">at least one of <em>horizontalAngle</em> or <em>verticalAngle</em> is required</td>
</tr>
<tr>
<td valign="top">verticalAngle<br><sub>:star2: required</sub></td>
<td valign="top">Entity <em>VerticalAngle</em></td>
</tr>
<tr>
<th valign="top" scope="row" id="effectspeed">EffectSpeed</th>
<td valign="top">speed<br><sub>:star2: required</sub></td>
Expand Down Expand Up @@ -417,12 +436,6 @@ To make common percentage values more readable, one can use specific keywords to
<td valign="top"><code>Fog</code> or <code>Haze</code></td>
<td valign="top"></td>
</tr>
<tr>
<th valign="top" scope="row" id="beamangle">BeamAngle</th>
<td valign="top">angle<br><sub>:star2: required</sub></td>
<td valign="top">Entity <em>BeamAngle</em></td>
<td valign="top"></td>
</tr>
<tr>
<th valign="top" scope="row" id="rotation" rowspan="2">Rotation</th>
<td valign="top">speed<br><sub>:vs: required</sub></td>
Expand Down
12 changes: 12 additions & 0 deletions docs/model-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,8 @@ A capability represents a range of a channel.
* [.slotNumber](#Capability+slotNumber)[<code>array.&lt;Entity&gt;</code>](#Entity) \| <code>null</code>
* [.wheelSlot](#Capability+wheelSlot)[<code>array.&lt;WheelSlot&gt;</code>](#WheelSlot) \| <code>null</code>
* [.angle](#Capability+angle)[<code>array.&lt;Entity&gt;</code>](#Entity) \| <code>null</code>
* [.horizontalAngle](#Capability+horizontalAngle)[<code>array.&lt;Entity&gt;</code>](#Entity) \| <code>null</code>
* [.verticalAngle](#Capability+verticalAngle)[<code>array.&lt;Entity&gt;</code>](#Entity) \| <code>null</code>
* [.colorTemperature](#Capability+colorTemperature)[<code>array.&lt;Entity&gt;</code>](#Entity) \| <code>null</code>
* [.soundSensitivity](#Capability+soundSensitivity)[<code>array.&lt;Entity&gt;</code>](#Entity) \| <code>null</code>
* [.shakeAngle](#Capability+shakeAngle)[<code>array.&lt;Entity&gt;</code>](#Entity) \| <code>null</code>
Expand Down Expand Up @@ -398,6 +400,16 @@ Use only in `WheelShake` capabilities!
### capability.angle ⇒ [<code>array.&lt;Entity&gt;</code>](#Entity) \| <code>null</code>
**Kind**: instance property of [<code>Capability</code>](#Capability)
**Returns**: [<code>array.&lt;Entity&gt;</code>](#Entity) \| <code>null</code> - Start and end angle values. Defaults to null.
<a name="Capability+horizontalAngle"></a>

### capability.horizontalAngle ⇒ [<code>array.&lt;Entity&gt;</code>](#Entity) \| <code>null</code>
**Kind**: instance property of [<code>Capability</code>](#Capability)
**Returns**: [<code>array.&lt;Entity&gt;</code>](#Entity) \| <code>null</code> - Start and end horizontal angle values. Defaults to null.
<a name="Capability+verticalAngle"></a>

### capability.verticalAngle ⇒ [<code>array.&lt;Entity&gt;</code>](#Entity) \| <code>null</code>
**Kind**: instance property of [<code>Capability</code>](#Capability)
**Returns**: [<code>array.&lt;Entity&gt;</code>](#Entity) \| <code>null</code> - Start and end vertical angle values. Defaults to null.
<a name="Capability+colorTemperature"></a>

### capability.colorTemperature ⇒ [<code>array.&lt;Entity&gt;</code>](#Entity) \| <code>null</code>
Expand Down
18 changes: 8 additions & 10 deletions fixtures/glp/impression-laser.json
Original file line number Diff line number Diff line change
Expand Up @@ -423,17 +423,15 @@
"capability": {
"type": "BeamAngle",
"angleStart": "0deg",
"angleEnd": "40deg",
"helpWanted": "Is this the correct direction?"
"angleEnd": "40deg"
}
},
"Y Size": {
"defaultValue": 0,
"capability": {
"type": "BeamAngle",
"angleStart": "0deg",
"angleEnd": "40deg",
"helpWanted": "Is this the correct direction?"
"angleEnd": "40deg"
}
},
"Rotation": {
Expand All @@ -446,17 +444,17 @@
"X Position": {
"defaultValue": 128,
"capability": {
"type": "Pan",
"angleStart": "0deg",
"angleEnd": "40deg"
"type": "BeamPosition",
"horizontalAngleStart": "0deg",
"horizontalAngleEnd": "40deg"
}
},
"Y Position": {
"defaultValue": 128,
"capability": {
"type": "Tilt",
"angleStart": "0deg",
"angleEnd": "40deg"
"type": "BeamPosition",
"verticalAngleStart": "0deg",
"verticalAngleEnd": "40deg"
}
},
"Visible Points": {
Expand Down
55 changes: 28 additions & 27 deletions fixtures/jb-systems/twin-effect-laser.json
Original file line number Diff line number Diff line change
Expand Up @@ -420,10 +420,9 @@
"capabilities": [
{
"dmxRange": [0, 127],
"type": "Rotation",
"angleStart": "0%",
"angleEnd": "100%",
"comment": "128 different fixed positions on X-axis"
"type": "BeamPosition",
"horizontalAngleStart": "0%",
"horizontalAngleEnd": "100%"
},
{
"dmxRange": [128, 191],
Expand All @@ -443,10 +442,9 @@
"capabilities": [
{
"dmxRange": [0, 127],
"type": "Rotation",
"angleStart": "0%",
"angleEnd": "100%",
"comment": "128 different fixed positions on Y-axis"
"type": "BeamPosition",
"verticalAngleStart": "0%",
"verticalAngleEnd": "100%"
},
{
"dmxRange": [128, 191],
Expand All @@ -466,56 +464,59 @@
"capabilities": [
{
"dmxRange": [0, 127],
"type": "Effect",
"effectName": "0º to 359º fixed positions around X axis"
"type": "Rotation",
"angleStart": "0deg",
"angleEnd": "359deg"
},
{
"dmxRange": [128, 191],
"type": "Effect",
"effectName": "CW rolling around X axis"
"type": "Rotation",
"speed": "fast CW"
},
{
"dmxRange": [192, 255],
"type": "Effect",
"effectName": "CCW rolling around X axis"
"type": "Rotation",
"speed": "fast CCW"
}
]
},
"Y Axis Rolling": {
"capabilities": [
{
"dmxRange": [0, 127],
"type": "Effect",
"effectName": "0º to 359º fixed positions around Y axis"
"type": "Rotation",
"angleStart": "0deg",
"angleEnd": "359deg"
},
{
"dmxRange": [128, 191],
"type": "Effect",
"effectName": "CW rolling around Y axis"
"type": "Rotation",
"speed": "fast CW"
},
{
"dmxRange": [192, 255],
"type": "Effect",
"effectName": "CCW rolling around Y axis"
"type": "Rotation",
"speed": "fast CCW"
}
]
},
"Z Axis Rolling": {
"capabilities": [
{
"dmxRange": [0, 127],
"type": "Effect",
"effectName": "0º to 359º fixed positions around Z axis"
"type": "Rotation",
"angleStart": "0deg",
"angleEnd": "359deg"
},
{
"dmxRange": [128, 191],
"type": "Effect",
"effectName": "CW rolling around Z axis"
"type": "Rotation",
"speed": "fast CW"
},
{
"dmxRange": [192, 255],
"type": "Effect",
"effectName": "CCW rolling around Z axis"
"type": "Rotation",
"speed": "fast CCW"
}
]
},
Expand Down Expand Up @@ -705,7 +706,7 @@
"capabilities": [
{
"dmxRange": [0, 127],
"type": "BeamAngle",
"type": "Zoom",
"angleStart": "wide",
"angleEnd": "narrow",
"comment": "Pattern size"
Expand Down
12 changes: 6 additions & 6 deletions fixtures/laserworld/cs-1000rgb.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,17 +49,17 @@
"Horizontal Movement": {
"defaultValue": "50%",
"capability": {
"type": "Pan",
"angleStart": "0deg",
"angleEnd": "40deg"
"type": "BeamPosition",
"horizontalAngleStart": "0deg",
"horizontalAngleEnd": "40deg"
}
},
"Vertical Movement": {
"defaultValue": "50%",
"capability": {
"type": "Tilt",
"angleStart": "0deg",
"angleEnd": "40deg"
"type": "BeamPosition",
"verticalAngleStart": "0deg",
"verticalAngleEnd": "40deg"
}
},
"Manual Zoom": {
Expand Down
Loading

0 comments on commit c3c9fa4

Please sign in to comment.