Example
by: | Alex del Bondio with the help of Greg Haynes |
---|---|
published: | January 2019 |
description: | Changes fan curves, grouping and parts |
remarks: |
This selection of macros lets you change the fan curve, parts and grouping options without having to enter the fan menu. These macros have Active Binding set so they will highlight when the corresponding attribute is set.
5/1/19 Fan Toggle macro added in the file
The code below is a snippet of the whole file which contains macros for all curves, grouping options and a handful of segments/parts.
<?xml version="1.0" encoding="utf-8"?> <avolites.macros> <!-- Fan curves: Line, Mirror, Wings, Arrow, Pull Middle, Pull Ends, Pull End--> <macro id="adb.Macros.fan.Line" name="adb fan Line"> <active binding="{ propertyLink id='Programmer.Editor.Fixtures.Fan.SelectedFanCurveId' converter='Math.EqualityConverter' converterParameter='Line' }"/> <sequence> <step>Programmer.Editor.Fixtures.Fan.SelectCurve("Line")</step> </sequence> </macro> <!-- Fan Grouping --> <macro id="adb.Macros.fan.FanWithinGroup" name="adb fan FanWithinGroup"> <active binding="{ propertyLink id='Programmer.Editor.Fixtures.Fan.GroupOptions' converter='Math.EnumAsStringEqualityConverter' converterParameter='FanWithinGroup' }"/> <sequence> <step>ActionScript.SetProperty.Enum("Programmer.Editor.Fixtures.Fan.GroupOptions", "FanWithinGroup")</step> </sequence> </macro> <!-- Fan Parts --> <macro id="adb.Macros.fan.3part" name="adb fan 3part"> <active binding="{ propertyLink id='Programmer.Editor.Fixtures.Fan.SegmentCount' converter='Math.EqualityConverter' converterParameter='3' }"/> <sequence> <step>ActionScript.SetProperty("Programmer.Editor.Fixtures.Fan.SegmentCount",3)</step> </sequence> </macro> </avolites.macros>
This explains the functional steps within the sequence. For all the other XML details please refer to Formats and syntax
Programmer.Editor.Fixtures.Fan.SelectCurve(“Line”)
sets the SelectedFanCurveId
to “Line”Programmer.Editor.Fixtures.Fan.GroupOptions
is the property regarding the grouping options and needs to be set via ActionScript.SetProperty.Enum
Programmer.Editor.Fixtures.Fan.SegmentCount
the number of parts the fan is split into and again needs to be set via ActionScript.SetProperty
active binding
is used to highlight a macro when the corresponding property (propertyLink id
) matches the converterParameter
. A good starting point to understand active binding is either this wiki or this post in the Avo forum http://forum.avolites.com/viewtopic.php?f=20&t=5962