spec icon indicating copy to clipboard operation
spec copied to clipboard

let the console know what a MacroDMX does

Open petrvanekrobe opened this issue 4 years ago • 5 comments

The MacroDMX definitions are good for consoles to prepare UX interfaces (buttons) to trigger macros, but the console itself has no idea how to actually for example start a lamp (if this is based on a sequence or on a combination of channels). This has been requested by Avolites.

For this, adding (optional?) Fixture Type Attribute to the Macro would help. Maybe we would either have to define some more attributes (LampOn, LampOff) or add also physical value.

Example:

name: Reset shutters, attribute: ShutterReset name: Lamp on, attribute: LampControl , physicalvalue: 1 name: Lamp off, attribute: LampControl, physicalvalue: 0

Or:

name: Lamp on, attribute: LampOn name: Lamp off, attribute: LampOff

The physical value might be present - defined on the control channel already, so it possibly could be reused... (matching attribute and a dmx value...).

petrvanekrobe avatar Apr 15 '21 11:04 petrvanekrobe

Control channel is defined as usual, it contains all that is needed (attribute, physical) so we would just link to it:

              <ChannelFunction Attribute="LampControl" DMXFrom="130/1" Default="130/1" Name="LampControl 1" OriginalAttribute="Lamp On" PhysicalFrom="0.000000" PhysicalTo="1.000000" RealAcceleration="0.000000" RealFade="0.000000">
                <ChannelSet DMXFrom="130/1" Name="Lamp On" WheelSlotIndex="0"/>
              </ChannelFunction>
              <ChannelFunction Attribute="LampControl" DMXFrom="230/1" Default="230/1" Name="LampControl 2" OriginalAttribute="Lamp Off" PhysicalFrom="0.000000" PhysicalTo="1.000000" RealAcceleration="0.000000" RealFade="0.000000">
                <ChannelSet DMXFrom="230/1" Name="Lamp Off" PhysicalFrom="0.000000" PhysicalTo="1.000000" WheelSlotIndex="0"/>
              </ChannelFunction>

        <FTMacros>
          <FTMacro Name="Lamp ON">
            <MacroDMX Attribute="Head_Control1.Control1.Lamp Control 1" >
              <MacroDMXStep Duration="3.000000">
                <MacroDMXValue DMXChannel="Head_Control1" Value="135/1"/>
              </MacroDMXStep>
            </MacroDMX>
          </FTMacro>
          <FTMacro Name="Lamp OFF">
            <MacroDMX ChannelFunction="Head_Control1.Control1.Lamp Control 2" >
              <MacroDMXStep Duration="3.000000">
                <MacroDMXValue DMXChannel="Head_Control1" Value="235/1"/>
              </MacroDMXStep>
            </MacroDMX>
          </FTMacro>
        </FTMacros>

Any suggestions on the naming @moritzstaffel @danielmuellerma ? Attribute or ChannelFunction...

petrvanekrobe avatar May 21 '21 04:05 petrvanekrobe

I would vote to call it ChannelFunction. Value Type: Node Description: Link to channel function; Starting point DMX mode

danielmuellerma avatar May 21 '21 11:05 danielmuellerma

I'm confused as to the purpose of this. The existing definition already contains all the necessary information (Name then steps, each comprising the DMXChannel and value). I can't see why I would need anything else or what it would be used for.

I wonder if I confused you when I commented that there were no examples in the library for me to look at or test and I was surprised as it is important (particularly if you need a lamp on).

At the time of writing this is still true. As far as I can see there are no fixtures with any macros to achieve functions that have special requirements (ie. go straight from 0 to the value, hold x seconds etc.). There are only four fixtures that have any macros - three of these just have a name or a step duration but nothing that will actually do anything (ACME AM-WASH300, ACME CM-350Z and Ayrton Merak) leaving the Robe Esprite which has the macros that you added after I mentioned the lack thereof and which will do something, albeit not the functions that have special requirements.

nicavolites avatar Jun 29 '21 15:06 nicavolites

I'm confused as to the purpose of this. The existing definition already contains all the necessary information (Name then steps, each comprising the DMXChannel and value). I can't see why I would need anything else or what it would be used for.

Adding a unique intent to the macro removes ambiguity.

I wonder if I confused you when I commented that there were no examples in the library for me to look at or test and I was surprised as it is important (particularly if you need a lamp on).

At the time of writing this is still true. As far as I can see there are no fixtures with any macros to achieve functions that have special requirements (ie. go straight from 0 to the value, hold x seconds etc.). There are only four fixtures that have any macros - three of these just have a name or a step duration but nothing that will actually do anything (ACME AM-WASH300, ACME CM-350Z and Ayrton Merak) leaving the Robe Esprite which has the macros that you added after I mentioned the lack thereof and which will do something, albeit not the functions that have special requirements.

2020-10-08 07:56:06: added animation macros

petrvanekrobe avatar Jun 29 '21 20:06 petrvanekrobe

Thank you. Apologies for my delay in responding! Could you perhaps give an example of where the existing definition might be ambiguous?

nicavolites avatar Jul 05 '21 17:07 nicavolites