Chapter 10. DMX Personality

Note that all multi-channel parameters are read big-endian. i.e. coarse setting followed by fine.

Parameters shown in italics are reserved but not currently implemented.

10.1. Universe

The MagicHD personality has been designed to fit within a single universe of DMX.

Block ChannelsOffset

Output layer

50

0

Text layer

33

50

reserved

17

Layer 1

42

100

reserved

8

Layer 2

42

150

reserved

8

Layer 3

42

200

reserved

8

Layer 4

42

250

reserved

8

Layer 5

42

300

reserved

8

Layer 6

42

350

reserved

8

Layer 7

42

400

reserved

8

Layer 8

42

450

reserved

8

spare

12

10.2. Output Layer

10.3. Text Layer

10.4. Media Layers

10.5. Parameter Types

The best way to understand the effect of parameters is to turn on the HUD, watch the corresponding arameter change as you turn an encoder wheel, and see the effect on the output.

10.5.1. Angle

Angles are specified by two consecutive DMX channels, with the values 0-65535 representing the range -180° to +179.995°. One bit is 0.0055°. 32768 is 0.0°. Positive rotation is clockwise.

10.5.2. Audio Pan

Audio pan controls stereo panning using a linear scale of 0-255 with 0 representing full left, 128 centre, and 255 full right. 128 is the default.

10.5.3. Audio Scale

Audio scale controls audio parameters using a linear scale with the values 0-255 representing the range 0 to 1.0.

10.5.4. Blend Type

When blending two layers together, the colour of each pixel in the resulting image is controlled by the blend setting.

Value Effect Notes

0

Normal

Layers are blended by their intensity.

1

Add Colour

The higher layer is added to the lower layer.

2

Subtract Colour

The higher layer is subtracted from the lower layer.

3

Max Colour

The result uses the highest value from each layer.

10.5.5. Colour Effect

Colour effect is usually accompanied by up to 3 additional parameters called FX-R, FX-G and FX-B.

Value Effect Notes

0

None

1

B&W

2

RGB select

FX parameters are numbers, selecting the mapping for R,G and B colour channels as follows:

0

Black

1

R

2

G

3

B

4

Intensity(1)

5

inverse R

6

inverse G

7

inverse B

8

inverse intensity(1)

3

Posterise

FX parameters are numbers, selecting the number of colour steps for R,G and B:

0

1 step, i.e. 1 bit colour.

1

2

2 steps

255

255 steps, i.e. normal

4

Colourise

FX parameters are colour scale values, controlling colourisation of the basic B&W image.

5

Mask(2)

Use the layer as a mask. FX-R selects the mode:

0

Transparency = intensity(1), colour unchanged.

1

As 0, with inverted colour

2

Transparency = inverse intensity(1), colour unchanged

3

As 2, with inverted colour

4

Transparency comes from the media’s alpha channel. Opaque pixels become fixed colour.

FX-G

Hue

0-254

Hue(5)

255

White.

FX-B

Lightness

0 is black, whatever hue is chosen.

5

Transparency = intensity(1), colour as for 4(6).

6

Transparency = inverse intensity(1), colour as for 4(6).

6

Key(2)(3)

Chroma Key. FX parameters are colour scale values, specifying the colour to match. The matched colour is made transparent.

FX-R

Hue(5).

FX-G

Selectivity

0

Narrow

255

Wide

FX-B

Transparency

0

Gradual

255

All transparent

7

Hue Offset(4)

FX-R controls the hue offset:

0

No effect

128

180°

Turns red into cyan, yellow into blue etc.

255

360°

No effect

8

Hue Filter(4)

Apply a bandpass filter to the hue. Filtered out hue becomes black & white.

FX-R

Hue(5).

FX-G

Selectivity

0

Narrow

255

Wide

FX-B

Fall-off

0

Triangle

255

Square

9

Invert

Invert RGB.

Shortcut for RGB select with parameters (5,6,7).

10

Curve 1

Not implemented yet.

11

Curve 2

Not implemented yet.

12

Curve 3

Not implemented yet.

(1) Intensity is the overall brightness of the image; effectively the black & white version of it.

(2) Not implemented in the output layer, because it is an inter-layer effect.

(3) The best way to understand this effect is to select some media in layer 1, then select the HSL image from folder 3 (masks) in layer 2, then play with the effect parameters.

(4) The best way to understand this effect is to select the HSL image from folder 3 (masks) then play with the effect parameters.

(5) Hue refers to the HSL colour model[4]

(6) Leave Hue and Lightness at 0 for no colour, so that the mask just controls the transparency of the layer below.

10.5.6. Colour Scale

Colour, intensity, transparency etc. are specified by a linear scale with the values 0-255 representing the range 0 to 1.0.

10.5.7. Control Enable

This parameter must held at 255 while Control Function is programmed.

[Note]

This parameter is only applicable to the MagicHD Box product.

10.5.8. Control Function

Any setting must be held for at least 5 seconds, with Control Enable enabled, before the corresponding function will happen.

ValueFunction

0

No Function

1-10

Turn Off

11-20

Standby

21-30

Turn On

31-40

Reboot

[Note]

This parameter is only applicable to the MagicHD Box product.

10.5.9. Direction

Direction (e.g. for scrolling) is encoded as follows:

ValueDirectionNotes

0

None

Stops scrolling but does not reset position

1

Left

2

Right

3

Up

4

Down

5

Char/Line

This mode allows text to be scrolled in X/Y simultaneously, to any position.

6

Top Left

Resets scroll position to top left and stays there

10.5.10. Duration

Linear scale with the values 0 to 65535 representing the range 0 to 10 seconds. Note that all 65536 values are mapped, but the resolution is only 1ms.

ValueDuration/ms

0-6

0

7-13

1

6554-6560

1000

65535

9999

10.5.11. Flag

Flags map the DMX value to a boolean value as follows:

ValueMeaning

0

False, off

1-255

True, on

10.5.12. HUD Control Bitmask

The HUD control channel is treated as a bitmask except for a few special values:

Bits Parameter Value

0-3

Layer

0-7

Media layers

8

Text layer

9

Output layer

10+

none

4-5

Position

0

Off

1

Left

2

Centre

3

Right

6-7

Unused

all

255

Grid overlay

10.5.13. Keystone

Linear scale with the values 0 to 65535 representing the range 0 to +1.0. The default value is 0.0 (0) or 1.0 (65535) depending on the corner.

10.5.14. Layer Stretch Mode

Value Mode Original Aspect Ratio Notes

0

Stretch to fill screen

Preserved

1

Stretch to fill screen X

Preserved

Other dimension might exceed the target area and become clipped.

2

Stretch to fill screen Y

Preserved

Ditto

3

Stretch X and Y to fill screen

Lost

4

Stretch X & Y to layer 1

-

Match aspect ratio & size to layer 1

5

Stretch X & Y to layer 2

-

Match aspect ratio & size to layer 2

6

Stretch X & Y to layer 3

-

Match aspect ratio & size to layer 3

7

Stretch X & Y to layer 4

-

Match aspect ratio & size to layer 4

10.5.15. Mirror / Flip

Value Effect Notes

0

Normal

1

Horizontal flip

2

Vertical flip

3

H&V flip

4-5

Horizontal mirror

Reflected about vertical centre line

6-7

H Mirror & V flip

8,10

Vertical mirror

Reflected about the horizontal centre line

9,11

V mirror & H flip

12-15

H & V mirror

Horizontal and Vertical mirroring combined

16-255

-

Reserved

[Note]

Mirroring is not available in all places a "Mirror/Flip" channel appears. In such cases just the first 4 options apply.

10.5.16. Number

The DMX channel value is used as sent, with no decoding.

Note that the media start and end frame parameters use 3 channels. Their range is therefore 0 to 16777215 (224-1). At a typical frame rate of 30 frames a second, the largest value corresponds to 155 hours, or nearly 6½ days. Although this might seem excessive, it does mean that points within a media file can be specified with frame accuracy regardless of length or speed.

Values greater than the number of frames in the clip are taken to mean “the end”. i.e. a 200 frame clip will restart at 200 frames, rather than 6½ days later, if the end frame is left at the default of 16777215.

10.5.17. Physical Effect

Physical effect is usually accompanied by up to 3 additional parameters called FX-1, FX-2 and FX-3.

Value Effect Notes

0

None

1

Shake Gentle

FX-1

Horizontal amplitude

Range ±0.1 of screen width

FX-2

Vertical amplitude

Range ±0.1 of screen height

FX-3

Rotation amplitude

Range ±5°

2

Shake

FX-1

Horizontal amplitude

Range ±1 screen width

FX-2

Vertical amplitude

Range ±1 screen height

FX-3

Rotation amplitude

Range ±180°

3

Scroll

FX-1

Horizontal

scroll speed

FX-2

Vertical

scroll speed

4

Scroll to Index

FX-1

Horizontal index

Range 0 to 255/256 of screen width

FX-2

Vertical index

Range 0 to 255/256 of screen height

5

Tile

FX-1

Horizontal tiles

Range 1 to 255

FX-2

Vertical tiles

Range 1 to 255

FX-3

Mirroring

0-63

None

64-127

Horizontal mirror odd tiles

128-191

Vertical mirror odd tiles

192-255

H+V mirror odd tiles

[Note]

Changing between Scroll and Scroll to Index does not reset the position, so they can be combined to give static and moving scrolls.

10.5.18. Play Mode

Value Action Notes

0

Once

Play clip once, hold last frame

(hold first frame if playing backwards).

1

Once-then-black

Play clip once, then go to black

2

Loop

Loop in the current direction of play

3

Bounce

Reverse direction at first/last frame.

4

First frame

Show start frame(1).

5

Last frame

Show the end frame(1).

6

Pause

Show the current frame, regardless of speed.

7

Next frame

Advance to the next frame then automatically pause(2).

(1) Note that these modes ignore playback speed and always show the selected frame. If the start or end frames are changed, the displayed frame will change. This allows the user to view the start and end points as they are moved around within a clip.

(2) Play mode must go back to Pause before this mode can be used again.

10.5.19. Scale

Pseudo-logarithmic scale factor with the values 0 to 65535 corresponding to a multiplication factor of 0.0 to 10.0, with 32768 being 1.0.

10.5.20. Screen Offset

Linear scale, with the values 0 to 65535 corresponding to an offset in screen position of -1.0 to +1.0. 32768 corresponds to 0, i.e. no offset. A value of 0 in the X position of a layer, for example, would move the layer one screen width to the left (-1), effectively taking it just out of view (if its width was unchanged).

10.5.21. Scroll Position

Linear scale, with the values 0 to 65535 corresponding to a scroll position of -100.0 to + 555.0. When scrolling in X the position is in characters. When scrolling in Y the position is in lines. (0,0) is the top left of the first character in a piece of text.

10.5.22. Scroll Speed

When used to scroll the content of a layer, the speed is in units of width or height. In other words, a speed of 1.0 will scroll the entire width (or height) in 1 second.

Value Speed Notes

0

0

Reset to start position

1-127

1.0 - 0.008

Negative (Left, Down)

128

0

Stop

129-255

0.008 - 1.0

Positive (Right, Up)

10.5.23. Speed Factor

Speed is represented as a multiplier to be applied to the normal speed, with the values 0-65535 encoded linearly as follows:

Value Speed Multiplier Notes

0

-500%

Backwards at 5 times normal speed

26214

-100%

Backwards

32768

0

Stop

39321

100%

Forwards at normal speed

65535

+500%

Forwards at 5 times normal speed

10.5.24. Text Loop Mode

Value Action Text Behaviour

0

Loop

Scrolling loops round

1

Stop

Scroll then stop

2

Bounce

Scrolling reverses direction

10.5.25. Transition Type

Not implemented yet.