Thank you for your reply. Yes, a GoboRotatingMacro is essential to differentiate between rotating and not rotating gobos.
However we still have the problem of the control software not knowing which rotation channel (#3) affects which gobo channel (#2) or which gobo LSB channel (#4) affects which MSB channel (#2). This is needed when there are multiple rotation channels (#3) and multiple LSB channels (#4) as in the Clay-Paky-Alpha-Spot-575-HPE.qxf fixture attached above.
Our proposal is:
1. Every channel is assigned an variable: Index
2. Channels can have one or more values: AffectedChannel with variable Index
3. Add a dropdown to the Fixture Definition Editor in Edit Channel called "Affected Channel" with a list of all group indexes in the fixture definition.
This solution does not break any existing functionality. It will also be useful for devices with multiple PositionTiltFine presets or other LSB presets. Important is that the Index is not change if a channel is moved in the list or deleted. A full file is attached and here are some examples:
Code: Select all
<Channel Name="Tilt fine" Preset="PositionTiltFine"/>
becomes
Code: Select all
<Channel Name="Tilt fine" Index="10" Preset="PositionTiltFine">
<AffectedChannel Index="9"></AffectedChannel>
</Channel>
OR
Code: Select all
<Channel Name="Gobo 1 rotation">
<Group Byte="0">Gobo</Group>
<Capability Min="0" Max="127">Fixed position</Capability>
<Capability Min="128" Max="190">Fast to slow rotation</Capability>
<Capability Min="191" Max="192">Stop rotation</Capability>
<Capability Min="193" Max="255">Slow to fast rotation</Capability>
</Channel>
becomes
Code: Select all
<Channel Name="Gobo 1 rotation" Index="19">
<Group Byte="0">Gobo</Group>
<AffectedChannel Index="18"></AffectedChannel>
<Capability Min="0" Max="127">Fixed position</Capability>
<Capability Min="128" Max="190">Fast to slow rotation</Capability>
<Capability Min="191" Max="192">Stop rotation</Capability>
<Capability Min="193" Max="255">Slow to fast rotation</Capability>
</Channel>
It is also possible to have multiple affected channels:
Code: Select all
<Channel Name="Pan - Tilt time" Index="13">
<Group Byte="0">Effect</Group>
<AffectedChannel Index="7"></AffectedChannel>
<AffectedChannel Index="9"></AffectedChannel>
<Capability Min="0" Max="0">Full</Capability>
<Capability Min="1" Max="254">0.2s - 310s</Capability>
<Capability Min="255" Max="255">Follow data cue</Capability>
</Channel>
This would take a lot of effort to implement. We would:
1. Update the Fixture Definition Editor
2. Update the QXF schema
3. Add the Index variable to all fixturs in the library
4. Add the AffectedChannel values to gobo rotation channels (#3) only
Are there any concerns about us implementing this change?
Kind regards