Close

Experimental:DMX Fixture POP

Summary

The DMX Fixture POP constructs DMX universes from a POP input, and is used in conjunction with a DMX Out POP to send DMX to a device.

In the POP input, each primitive is analogous to a fixture. Each fixture is iterated over and the DMX profile defined on the Channels page is used to construct the DMX universes for each fixture. The fixture/primitives are iterated over in the order they're defined in the POP.

The following primitive attributes, as unsigned integers, can be used to specify net, subnet, universe, channel, and netaddress, allowing for per-fixture customization without needing to use the Routing Table:

  • DMXFixtureNet
  • DMXFixtureSubnet
  • DMXFixtureUniverse
  • DMXFixtureChannel
  • DMXFixtureNetAddress

The DMX Map DAT can be used to inspect the DMX universes created.

Creating the DMX Profile

The DMX Profile is defined by the Channel sequence on the Channels page.

DMX Channels are sequenced in the universe output in the same order they're defined on the Channels page.

For any given Channel sequence, all attribute components will be interleaved together. Eg. 'P' will be interleaved as 'Px Py Pz'. If the DMX profile requires them to not be interleaved then they will instead need to be separated into their own Channel sequence blocks.

Multiple attributes can be specified together: Eg. 'P Color' will interleave P and Color together like so: 'Px Py Pz Colorr Colorg Colorb Colora'. If the interleaved components are of different resolutions, then they will need to be separated into their own Channel sequence blocks, but by enabling Merge with Above Block they can be interleaved together.

For Point Value Types, all points will be iterated over before the next Channel Sequence.

Individual attribute components can also be specified. Eg. 'P(0) P(1)' to use just position x and y.

See also: DMX Out POP, DMX Map DAT, DMX

PythonIcon.pngdmxfixturePOP_Class


Parameters - Fixture Page

Active active - When enabled, will actively update the fixture and universe data, and if used in a DMX Out POP will be sent out to the device. If disabled, the DMX Out POP will not merge the DMX universes constructed by this POP for sending.

Auto Layout autolayout - When enabled, the universes will be constructed sequentially starting from net, subnet, universe, and channel specified in the parameters. For example, if starting a net=0, subnet=0, universe=1, channel=0, then the DMX Fixture POP will iterate through all 512 channels using the profile at which point it will move to universe 2. When disabled, a Routing Table must be used instead, and the universes manually assigned to a primindex.

Routing Table routingtable - Use a Routing Table to assign specific net, subnet, universe values to a fixture/primitive. Additionally, netaddress may optionally be specified to override those on the DMX Out POP. The routing table will override use of parameters, as well as any of the reserved attributes: DMXFixtureNet, DMXFixtureSubnet, DMXFixtureUniverse, DMXFixtureChannel, and DMXFixtureNetAddress

Net (0-127) net - When using Auto Layout, specify the starting net value.

Subnet (0-15) subnet - When using Auto Layout, specify the starting subnet value.

Universe universe - When using Auto Layout, specify the starting universe value.

Channel channel - When using Auto Layout, specify the starting channel value.

Channel Gap changap - When using Auto Layout, specify the amount of channels between fixtures. Eg. if fixture 1 ends on channel 200 and there is a channel of 10, then fixture 2 will start on channel 211.

Quantize Universe quantizeuni - When enabled, fixtures cannot bridge universes (ie. have their channel range start in a different universe than it ends in), meaning that it must be a maximum of 512 channels. Also, if a fixture cannot fit in the remaining channels of a universe, then it will be moved to the next one.


Parameters - Channels Page

DMX Channel dmxchan - Channel sequence block used to define the DMX profile
Name dmxchan0name - Specify the unique DMX Channel identifier.

Value Type dmxchan0valuetype - - Specify how the channels values are iterated, and how the attributes are sourced.
  • Point point - When using the Point value type, each point will be iterated over for this channel block and have their values interleaved, before moving on to the next channel.
  • Primitive primitive - When using the Primitive value type, the channel value will be interleaved from the value source only once per primitive/fixture, before moving on to the next channel.

Value Source dmxchan0valuesource - -
  • Constant constant - Set the channel values using a constant. Note: if Value Type is Point, each point will still be iterated over once and have their value set to the constant value. In other words, the number of channels used is still the same whether using a constant or attribute value source.
  • Attribute attribute - Set the values using an attribute. Multiple attributes can be specified together. They will be all be interleaved.

Group dmxchan0group - Optionally select a point/primitive group, depending on Value Type. Only points/primitives within the group will be used for universe creation, rather than all points/primitives.

Number of Components dmxchan0numcomps - -
  • 1 1 - Number of constant components to use.
  • 2 2 -
  • 3 3 -
  • 4 4 -

Value dmxchan0value - - Set the constant value.
  • Value dmxchan0valuer -
  • Value dmxchan0valueg -
  • Value dmxchan0valueb -
  • Value dmxchan0valuea -

Attribute dmxchan0attr - Set the attributes to interleave. Multiple attributes can be specified together.

Value Resolution dmxchan0valueres - - The value resolution. Note: one DMX channel is 8-bit (ie. one byte and 0-255), so if a value is greater than 8-bit, it will use more than one channel: Eg. 16-bit uses 2 channels.
  • 8-bit b8 -
  • 16-bit b16 -
  • 24-bit b24 -
  • 32-bit b32 -

Value is Normalized dmxchan0normalized - When enabled, values of 0-1 are expected, and they will be scaled to the appropriate range for the resolution (ie. 0-255 for 8-bit). When disabled, the values will be output as-is. Clamping is done in both cases.

Merge with Above Block dmxchan0merge - When enabled, will interleave channel values with the above block. The blocks must be of the same value type and value source. This feature is useful if needing to interleave values of different resolutions.


Parameters - Common Page

Bypass bypass -

Delete Input Attributes delinputattrs -


Operator Inputs

  • Input 0: -


Info CHOP Channels

Extra Information for the DMX Fixture POP can be accessed via an Info CHOP.

Common POP Info Channels

Common Operator Info Channels

  • total_cooks - Number of times the operator has cooked since the process started.
  • cook_time - Duration of the last cook in milliseconds.
  • cook_frame - Frame number when this operator was last cooked relative to the component timeline.
  • cook_abs_frame - Frame number when this operator was last cooked relative to the absolute time.
  • cook_start_time - Time in milliseconds at which the operator started cooking in the frame it was cooked.
  • cook_end_time - Time in milliseconds at which the operator finished cooking in the frame it was cooked.
  • cooked_this_frame - 1 if operator was cooked this frame.
  • warnings - Number of warnings in this operator if any.
  • errors - Number of errors in this operator if any.


TouchDesigner Build: