Experimental:DMX Fixture POP

From Derivative
Jump to navigation Jump to search

Summary
[edit]

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 DMX Profile page.

DMX Channels are sequenced in the universe output in the same order they're defined on the DMX Profile 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.

Attribute components are interleaved by value unless Interleave Bytes is enabled for the attribute grouping. Example: Position attribute P with 16-bit resolution will be interleaved as Px[0] Px[1] Py[0] Py[1] Pz[0] Pz[1] ... when the Interleave Bytes toggle is disabled, but interleave as Px[0] Py[0] Pz[0] Px[1] Py[1] Pz[1] ... when the Interleave Bytes toggle is enabled.

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 - DMX Profile 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 group. Only points within the group will be used for universe creation, rather than all points.

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.

Interleave Bytes dmxchan0interleavebytes - When enabled, attribute component values will be interleaved by byte order, instead of value order. Example: Position attribute P with 16-bit resolution will be interleaved as Px[0] Px[1] Py[0] Py[1] Pz[0] Pz[1] ... when the toggle is disabled, but interleave as Px[0] Py[0] Pz[0] Px[1] Py[1] Pz[1] ... when the Interleave Bytes toggle is enabled. This also means that if the components have an 8-bit value resolution, then the toggle will have no effect. Interleave Bytes can only be enabled at the root (ie. top) DMX Channel in the case where multiple DMX Channel blocks are merged together with Merge Above Block.


Parameters - Common Page

Bypass bypass -

Delete Input Attributes delinputattrs -

Parameter Color Space parmcolorspace - - Controls how all color parameters on this node are interpreted. The color values as treated as being in the selected color space, and are converted to the Working Color Space before they are used as part of the node's operation. Note that this does not change the color space of the node itself, as that is always in the Working Color Space.
  • sRGB srgb - sRGB color space, with sRGB transfer function. Considered an SDR color space with respect to Reference White.


  • sRGB - Linear srgblinear - sRGB color space, with linear transfer function. Considered an SDR color space with respect to Reference White.


  • Rec.601 (NTSC) rec601ntsc - Rec.601 with NTSC primaries color space, with Rec.601 transfer function. Considered an SDR color space with respect to Reference White.


  • Rec.709 rec709 - Rec.709 color space, with Rec.709 (same as Rec.2020) transfer function. Considered an SDR color space with respect to Reference White.


  • Rec.2020 rec2020 - Rec.2020 color space, with Rec.2020 (same as Rec.709) transfer function. Considered an HDR color space with respect to Reference White.


  • DCI-P3 dcip3 - DCI-P3 color space, with D65 white point and 2.6 gamma transfer function. Considered an HDR color space with respect to Reference White.


  • DCI-P3 (D60) dcip3d60 - DCI-P3 "D60 sim" color space, with D60 white point, and 2.6 gamma transfer function. Considered an HDR color space with respect to Reference White.


  • Display-P3 (D65) displayp3d65 - Display-P3 color space, with D65 white point, and sRGB gamma transfer function. Considered an HDR color space with respect to Reference White.


  • ACES2065-1 aces2065-1 - ACES 2065-1 (also known as ACES AP0) color space, with a linear gamma transfer function. Considered an HDR color space with respect to Reference White.


  • ACEScg acescg - ACEScg (also known as ACES AP1) color space, with a linear gamma transfer function. Considered an HDR color space with respect to Reference White.


  • Passthrough passthrough - When selected, the color values will be used as-is in the operation, without any modification or attempt to convert them into the Working Color Space.

Parameter Reference White parmreferencewhite - - When converting a parameter color value to the Working Color Space, this controls how it should be treated with respect to Reference White. If the Working Color Space is the same Reference White, then no adjustment is done. If they are different, then the Reference White level (brightness) of this color will be adjusted to the range expected by the Working Color Space. For example if the project is set to have a SDR Reference White of 120 nits, and the HDR Reference White is 80 nits, then a color of (1, 1, 1), which is 120 nits in the SDR color space, will be converted to be (1.5, 1.5, 1.5), which is 120 nits still in the HDR Working Color Space.
  • Default For Color Space default - Will use either the SDR or the HDR Reference White, based on the color space selected.


  • Standard (SDR) sdr - Will treat the Parameter Color Space as SDR for it's reference white value.


  • High (HDR) hdr - Will treat the Parameter Color Space as HDR for it's reference white value.

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:

POPs
Experimental:Accumulate • Experimental:Analyze • Experimental:Attribute Combine • Experimental:Attribute Convert • Experimental:Attribute • Experimental:Blend • Experimental:Box • Experimental:Cache Blend • Experimental:Cache • Experimental:Cache Select • Experimental:CHOP to • Experimental:Circle • Experimental:Convert • Experimental:Copy • Experimental:CPlusPlus • Experimental:Curve • Experimental:DAT to • Experimental:Delete • Experimental:Dimension • Experimental:DMX Fixture • Experimental:DMX Out • Experimental:Extrude • Experimental:Facet • Experimental:Feedback • Experimental:Field • Experimental:File In • Experimental:Force • Experimental:GLSL Advanced • Experimental:GLSL Copy • Experimental:GLSL Create • Experimental:GLSL • Experimental:GLSL Select • Experimental:Grid • Experimental:Group • Experimental:Histogram • Experimental:Import Select • Experimental:In • Experimental:Limit • Experimental:Line Break • Experimental:Line Divide • Experimental:Line Metrics • Experimental:Line • Experimental:Line Smooth • Experimental:Line Thick • Experimental:Lookup Attribute • Experimental:Lookup Channel • Experimental:Lookup Texture • Experimental:Math Combine • Experimental:Math Mix • Experimental:Math • Experimental:Merge • Experimental:Neighbor • Experimental:Noise • Experimental:Normal • Experimental:Normalize • Experimental:Null • Experimental:OAK Select • Experimental:Out • Experimental:Particle • Experimental:Pattern • Experimental:Phaser • Experimental:Point File In • Experimental:Point Generator • Experimental:Point • Experimental:Points, Vertices and Primitives in s • Experimental:Polygonize • Experimental:Primitive • Experimental:Projection • Experimental:Proximity • Experimental:Quantize • Experimental:Random • Experimental:Ray • Experimental:Rectangle • Experimental:ReRange • Experimental:Revolve • Experimental:Select • Experimental:Skin Deform • Experimental:Skin • Experimental:SOP to • Experimental:Sort • Experimental:Sphere • Experimental:Sprinkle • Experimental:Subdivide • Experimental:Switch • Experimental:Texture Map • Experimental:TOP to • Experimental:Topology • Experimental:Torus • Experimental:Trail • Experimental:Transform • Experimental:Trig • Experimental:Tube • Experimental:Twist