User Tools

Site Tools


macros:example:fancurves

Example

Programmer - Fan Curves

by: Alex del Bondio with the help of Greg Haynes
published: January 2019
description: Changes fan curves, grouping and parts
remarks:

adb_fancurves.xml

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.

functions

affected properties

specials

Code

fancurves.xml
<?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>

Explanation

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

How to use it

You could leave a comment if you were logged in.
macros/example/fancurves.txt · Last modified: 2019/05/03 16:29 by icke_siegen