DirectOutput
DirectOutput framework R2 for virtual pinball cabinets.
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros Pages
Built in Effects

AnalogAlphaMatrixBitmapAnimationEffect

Sample XML

A configuration section for AnalogAlphaMatrixBitmapAnimationEffect might resemble the following structure:

<AnalogAlphaMatrixBitmapAnimationEffect>
<Name>Name of AnalogAlphaMatrixBitmapAnimationEffect</Name>
<ToyName>Name of Toy</ToyName>
<Width>100</Width>
<Height>100</Height>
<Left>0</Left>
<Top>0</Top>
<LayerNr>0</LayerNr>
<FadeMode>Fade</FadeMode>
<AnimationStepDirection>Frame</AnimationStepDirection>
<AnimationStepSize>1</AnimationStepSize>
<AnimationFrameCount>1</AnimationFrameCount>
<AnimationBehaviour>Loop</AnimationBehaviour>
<AnimationFrameDurationMs>30</AnimationFrameDurationMs>
<BitmapFrameNumber>0</BitmapFrameNumber>
<BitmapTop>0</BitmapTop>
<BitmapLeft>0</BitmapLeft>
<BitmapWidth>-1</BitmapWidth>
<BitmapHeight>-1</BitmapHeight>
<DataExtractMode>BlendPixels</DataExtractMode>
<BitmapFilePattern>Pattern string</BitmapFilePattern>
</AnalogAlphaMatrixBitmapAnimationEffect>

Properties

AnalogAlphaMatrixBitmapAnimationEffect has the following 20 configurable properties:

AnimationBehaviour

The animation behaviour defines if a animation should run only once, run in a loop or continue at its last position when triggered.

The property AnimationBehaviour accepts the following values:

  • Continue: The animation continues with the next frame when triggered and is shown in a loop
  • Loop: The animation restarts when it is triggered and is shown in a loop
  • Once: The animation restarts when it is triggered, is shown once and stops after the last frame

AnimationFrameCount

The number of frames for the whole animation.

AnimationFrameDurationMs

The animation frame duration in miliseconds. Defaults to 30ms if not set.

AnimationStepDirection

The direction in which the effect will step formward through the source image to get the next frame of the animation.

The property AnimationStepDirection accepts the following values:

  • Down: Animation steps from top to bottom through the source image
  • Frame: Animation steps though frames of the source image.
  • Right: Animation steps from left to right through the source image

AnimationStepSize

Thesize of the step in pixels or frames (depending on the AnimationStepDirection) to the next frame of the animation.

BitmapFilePattern

The bitmap file pattern which is used to load the bitmap file for the effect.

Nested Properties

The following nested propteries exist for BitmapFilePattern:

  • Pattern
    The pattern used to look for files.

BitmapFrameNumber

The number of the frame to be displayed.

BitmapHeight

The height of the the part of the bitmap which is to be displayed. -1 selects the fully height resp. the remaining height from the BitMapTop position.

BitmapLeft

The left boundary in pixels of the the part of the bitmap which is to be displayed.

BitmapTop

The top of the the part of the bitmap which is to be displayed.

BitmapWidth

The width in pixels of the the part of the bitmap which is to be displayed. -1 selects the fully width resp. the remaining width from the BitMapLeft position.

DataExtractMode

The data extract mode which defines how the data is extracted from the source bitmap.

The property DataExtractMode accepts the following values:

  • SinglePixelTopLeft
  • SinglePixelCenter
  • BlendPixels

FadeMode

Fade (active and inactive values/color will fade depending on trigger value) or OnOff (actvice value/color is used for trigger values >0, otherwise inactive value/color will be used).

The property FadeMode accepts the following values:

  • Fade: Fading is enabled.
  • OnOff: No fading. There will be a simple on/off behaviour depending on the triggering value.

Height

The height in percent of the target area for the effect (0-100).

LayerNr

The number of the target layer for the effect.

Left

The left resp. X position of the upper left corner in percent of the target area for the effect (0-100).

Name

The name of the item.

Top

The top resp. Y position of the upper left corner in percent of the target area for the effect (0-100).

ToyName

The name of the toy which is controlled by the effect.

Width

The width in percent of the target area for the effect (0-100).

AnalogAlphaMatrixBitmapEffect

Summary

Displays a defined part of a bitmap on a area of a AnalogAlpha Matrix.

Sample XML

A configuration section for AnalogAlphaMatrixBitmapEffect might resemble the following structure:

<AnalogAlphaMatrixBitmapEffect>
<Name>Name of AnalogAlphaMatrixBitmapEffect</Name>
<ToyName>Name of Toy</ToyName>
<Width>100</Width>
<Height>100</Height>
<Left>0</Left>
<Top>0</Top>
<LayerNr>0</LayerNr>
<FadeMode>Fade</FadeMode>
<BitmapFrameNumber>0</BitmapFrameNumber>
<BitmapTop>0</BitmapTop>
<BitmapLeft>0</BitmapLeft>
<BitmapWidth>-1</BitmapWidth>
<BitmapHeight>-1</BitmapHeight>
<DataExtractMode>BlendPixels</DataExtractMode>
<BitmapFilePattern>Pattern string</BitmapFilePattern>
</AnalogAlphaMatrixBitmapEffect>

Properties

AnalogAlphaMatrixBitmapEffect has the following 15 configurable properties:

BitmapFilePattern

The bitmap file pattern which is used to load the bitmap file for the effect.

Nested Properties

The following nested propteries exist for BitmapFilePattern:

  • Pattern
    The pattern used to look for files.

BitmapFrameNumber

The number of the frame to be used (for animated gifs).

BitmapHeight

The height of the the part of the bitmap which is to be used.

BitmapLeft

The left boundary of the the part of the bitmap which is to be used.

BitmapTop

The top of the the part of the bitmap which is to be used.

BitmapWidth

The width of the the part of the bitmap which is to be used.

DataExtractMode

The data extract mode which defines how the data is extracted from the source bitmap.

The property DataExtractMode accepts the following values:

  • SinglePixelTopLeft
  • SinglePixelCenter
  • BlendPixels

FadeMode

Fade (active and inactive values/color will fade depending on trigger value) or OnOff (actvice value/color is used for trigger values >0, otherwise inactive value/color will be used).

The property FadeMode accepts the following values:

  • Fade: Fading is enabled.
  • OnOff: No fading. There will be a simple on/off behaviour depending on the triggering value.

Height

The height in percent of the target area for the effect (0-100).

LayerNr

The number of the target layer for the effect.

Left

The left resp. X position of the upper left corner in percent of the target area for the effect (0-100).

Name

The name of the item.

Top

The top resp. Y position of the upper left corner in percent of the target area for the effect (0-100).

ToyName

The name of the toy which is controlled by the effect.

Width

The width in percent of the target area for the effect (0-100).

AnalogAlphaMatrixFlickerEffect

Summary

Does create random flickering with a defineable density, durations and value within the spefied area of a matrix.

Sample XML

A configuration section for AnalogAlphaMatrixFlickerEffect might resemble the following structure:

<AnalogAlphaMatrixFlickerEffect>
<Name>Name of AnalogAlphaMatrixFlickerEffect</Name>
<ToyName>Name of Toy</ToyName>
<Width>100</Width>
<Height>100</Height>
<Left>0</Left>
<Top>0</Top>
<LayerNr>0</LayerNr>
<FadeMode>Fade</FadeMode>
<Density>10</Density>
<MinFlickerDurationMs>60</MinFlickerDurationMs>
<MaxFlickerDurationMs>150</MaxFlickerDurationMs>
<ActiveValue>
<Value>0</Value>
<Alpha>0</Alpha>
</ActiveValue>
<InactiveValue>
<Value>0</Value>
<Alpha>0</Alpha>
</InactiveValue>
</AnalogAlphaMatrixFlickerEffect>

Properties

AnalogAlphaMatrixFlickerEffect has the following 13 configurable properties:

ActiveValue

The active value.

Density

The density if the flickering in percent.

FadeMode

Fade (active and inactive values/color will fade depending on trigger value) or OnOff (actvice value/color is used for trigger values >0, otherwise inactive value/color will be used).

The property FadeMode accepts the following values:

  • Fade: Fading is enabled.
  • OnOff: No fading. There will be a simple on/off behaviour depending on the triggering value.

Height

The height in percent of the target area for the effect (0-100).

InactiveValue

The inactive value.

LayerNr

The number of the target layer for the effect.

Left

The left resp. X position of the upper left corner in percent of the target area for the effect (0-100).

MaxFlickerDurationMs

The max duration in milliseconds for a single flicker/blink of a element.

MinFlickerDurationMs

The min duration in milliseconds for a single flicker/blink of a element.

Name

The name of the item.

Top

The top resp. Y position of the upper left corner in percent of the target area for the effect (0-100).

ToyName

The name of the toy which is controlled by the effect.

Width

The width in percent of the target area for the effect (0-100).

AnalogAlphaMatrixShiftEffect

Sample XML

A configuration section for AnalogAlphaMatrixShiftEffect might resemble the following structure:

<AnalogAlphaMatrixShiftEffect>
<Name>Name of AnalogAlphaMatrixShiftEffect</Name>
<ToyName>Name of Toy</ToyName>
<Width>100</Width>
<Height>100</Height>
<Left>0</Left>
<Top>0</Top>
<LayerNr>0</LayerNr>
<FadeMode>Fade</FadeMode>
<ShiftDirection>Right</ShiftDirection>
<ShiftSpeed>200</ShiftSpeed>
<ShiftAcceleration>0</ShiftAcceleration>
<ActiveValue>
<Value>0</Value>
<Alpha>0</Alpha>
</ActiveValue>
<InactiveValue>
<Value>0</Value>
<Alpha>0</Alpha>
</InactiveValue>
</AnalogAlphaMatrixShiftEffect>

Properties

AnalogAlphaMatrixShiftEffect has the following 13 configurable properties:

ActiveValue

The active Value.

FadeMode

Fade (active and inactive values/color will fade depending on trigger value) or OnOff (actvice value/color is used for trigger values >0, otherwise inactive value/color will be used).

The property FadeMode accepts the following values:

  • Fade: Fading is enabled.
  • OnOff: No fading. There will be a simple on/off behaviour depending on the triggering value.

Height

The height in percent of the target area for the effect (0-100).

InactiveValue

The inactive Value.

LayerNr

The number of the target layer for the effect.

Left

The left resp. X position of the upper left corner in percent of the target area for the effect (0-100).

Name

The name of the item.

ShiftAcceleration

The acceleration for the shift speed in percent of the effect area per second.

ShiftDirection

The shift direction (Left, Right, Up, Down).

The property ShiftDirection accepts the following values:

  • Down: Shift down
  • Left: Shift left
  • Right: Shift right
  • Up: Shift up

ShiftSpeed

The shift speed in percentage of the effect area (Left, Top, Width, Height properties) per second .

Top

The top resp. Y position of the upper left corner in percent of the target area for the effect (0-100).

ToyName

The name of the toy which is controlled by the effect.

Width

The width in percent of the target area for the effect (0-100).

AnalogAlphaMatrixValueEffect

Summary

Sets the spefied area of matrix to the specified values depending on the trigger value.

Sample XML

A configuration section for AnalogAlphaMatrixValueEffect might resemble the following structure:

<AnalogAlphaMatrixValueEffect>
<Name>Name of AnalogAlphaMatrixValueEffect</Name>
<ToyName>Name of Toy</ToyName>
<Width>100</Width>
<Height>100</Height>
<Left>0</Left>
<Top>0</Top>
<LayerNr>0</LayerNr>
<FadeMode>Fade</FadeMode>
<ActiveValue>
<Value>0</Value>
<Alpha>0</Alpha>
</ActiveValue>
<InactiveValue>
<Value>0</Value>
<Alpha>0</Alpha>
</InactiveValue>
</AnalogAlphaMatrixValueEffect>

Properties

AnalogAlphaMatrixValueEffect has the following 10 configurable properties:

ActiveValue

The active value.

FadeMode

Fade (active and inactive values/color will fade depending on trigger value) or OnOff (actvice value/color is used for trigger values >0, otherwise inactive value/color will be used).

The property FadeMode accepts the following values:

  • Fade: Fading is enabled.
  • OnOff: No fading. There will be a simple on/off behaviour depending on the triggering value.

Height

The height in percent of the target area for the effect (0-100).

InactiveValue

The inactive value.

LayerNr

The number of the target layer for the effect.

Left

The left resp. X position of the upper left corner in percent of the target area for the effect (0-100).

Name

The name of the item.

Top

The top resp. Y position of the upper left corner in percent of the target area for the effect (0-100).

ToyName

The name of the toy which is controlled by the effect.

Width

The width in percent of the target area for the effect (0-100).

AnalogToyValueEffect

Summary

This effect controlls sets the value and alpha channel of a analog alpha toy based on the trigger value.

Dependinging on the FadeMode property the effect sets the value of the target layer either to the active inactive value in OnOff mode or a mix of the value in Fade mode.

Sample XML

A configuration section for AnalogToyValueEffect might resemble the following structure:

<AnalogToyValueEffect>
<Name>Name of AnalogToyValueEffect</Name>
<ToyName>Name of Toy</ToyName>
<LayerNr>0</LayerNr>
<ActiveValue>
<Value>0</Value>
<Alpha>0</Alpha>
</ActiveValue>
<InactiveValue>
<Value>0</Value>
<Alpha>0</Alpha>
</InactiveValue>
<FadeMode>Fade</FadeMode>
</AnalogToyValueEffect>

Properties

AnalogToyValueEffect has the following 6 configurable properties:

ActiveValue

The active value and alpha channel between 0 and 255.

FadeMode

Fade (active and inactive color will fade depending on trigger value) or OnOff (actvice color is used for triger values >0, otherwise inactive color will be used).

The property FadeMode accepts the following values:

  • Fade: Fading is enabled.
  • OnOff: No fading. There will be a simple on/off behaviour depending on the triggering value.

InactiveValue

The inactive value and alpha channel between 0 and 255.

LayerNr

The layer number.

Name

The name of the item.

ToyName

The name of the AnalogToy.

BlinkEffect

Summary

Blink effect which triggers a TargetEffect at specified intervalls with active (org value of TableElementData used in Trigger method is used to trigger the TargetEffect) and inactive (uses 0 as the Value of the TableElementData to trigger the TargetEffect) values.

FX_Blink.png
Blink effect

Sample XML

A configuration section for BlinkEffect might resemble the following structure:

<BlinkEffect>
<Name>Name of BlinkEffect</Name>
<TargetEffectName>Name of TargetEffect</TargetEffectName>
<HighValue>-1</HighValue>
<LowValue>0</LowValue>
<DurationActiveMs>500</DurationActiveMs>
<DurationInactiveMs>500</DurationInactiveMs>
<UntriggerBehaviour>Immediate</UntriggerBehaviour>
</BlinkEffect>

Properties

BlinkEffect has the following 7 configurable properties:

DurationActiveMs

The active duration of the blinking in milliseconds.

DurationInactiveMs

The inactive duration of the blinking in milliseconds.

HighValue

The high value for the blinking. Values between 0 and 255 define the actual values which have to be output during the on phase of the blinking. A value of -1 defines that the value which has been received by the trigger event is used.

LowValue

The low value for the blinking (0-255).

Name

The name of the item.

TargetEffectName

Name of the target effect.
Triggers EffectNameChanged if value is changed.

UntriggerBehaviour

The untrigger behaviour defines how the blinking stops.

The property UntriggerBehaviour accepts the following values:

  • Immediate: Blinking stops immediately
  • CompleteHigh: Completes the high cycle of the blinking before stopping.

DelayEffect

Summary

The effect fires a assigned target effect after a specified delay.
The original values supplied when the effect is triggered are forwarded to the target effect.

FX_Delay.png
Delay effect

Sample XML

A configuration section for DelayEffect might resemble the following structure:

<DelayEffect>
<Name>Name of DelayEffect</Name>
<TargetEffectName>Name of TargetEffect</TargetEffectName>
<DelayMs>0</DelayMs>
</DelayEffect>

Properties

DelayEffect has the following 3 configurable properties:

DelayMs

The delay in milliseconds.

Name

The name of the item.

TargetEffectName

Name of the target effect.
Triggers EffectNameChanged if value is changed.

DurationEffect

Summary

Duration effect which triggers a specified target effect for a specified duration.
When this effect is triggered it triggers the target effect immediately with the same data it has received. After the specified duration it calls trigger on the target effect again with data for the same table elmenet, but with the value changed to 0.

FX_Duration.png
Duration effect

Sample XML

A configuration section for DurationEffect might resemble the following structure:

<DurationEffect>
<Name>Name of DurationEffect</Name>
<TargetEffectName>Name of TargetEffect</TargetEffectName>
<RetriggerBehaviour>Restart</RetriggerBehaviour>
<DurationMs>500</DurationMs>
</DurationEffect>

Properties

DurationEffect has the following 4 configurable properties:

DurationMs

The effect duration in milliseconds.

Name

The name of the item.

RetriggerBehaviour

Valid values are Restart (Restarts the duration) or Ignore (keeps the org duration).

The property RetriggerBehaviour accepts the following values:

  • Restart: The effect or its behaviour gets restarted in a retrigger situation.
  • Ignore: Retrigger calls are ignored. The effect or its behaviour is not being restarted.

TargetEffectName

Name of the target effect.
Triggers EffectNameChanged if value is changed.

ExtendDurationEffect

Summary

The extend duration effect triggers another effect for a duration which is extebnded by the number of milliseconds specified in DurationMs.
This is done by forwarding triggers calls which are seting the effect to active directly to the target effect and delaying the forwarding of calls which set the effect to inactive by the number of milliseconds specified in DurationMs.

FX_ExtendDuration.png
ExtendDuration effect

Sample XML

A configuration section for ExtendDurationEffect might resemble the following structure:

<ExtendDurationEffect>
<Name>Name of ExtendDurationEffect</Name>
<TargetEffectName>Name of TargetEffect</TargetEffectName>
<DurationMs>500</DurationMs>
</ExtendDurationEffect>

Properties

ExtendDurationEffect has the following 3 configurable properties:

DurationMs

The extended duration in milliseconds.

Name

The name of the item.

TargetEffectName

Name of the target effect.
Triggers EffectNameChanged if value is changed.

FadeEffect

Summary

This effect fades towards the value passed to the effect in the TableElementData of the trigger methods. It is calling the target effect repeatedly with the changing values.

Sample XML

A configuration section for FadeEffect might resemble the following structure:

<FadeEffect>
<Name>Name of FadeEffect</Name>
<TargetEffectName>Name of TargetEffect</TargetEffectName>
<FadeUpDuration>300</FadeUpDuration>
<FadeDownDuration>300</FadeDownDuration>
<FadeDurationMode>CurrentToTarget</FadeDurationMode>
</FadeEffect>

Properties

FadeEffect has the following 5 configurable properties:

FadeDownDuration

The duration for the fading down.

FadeDurationMode

The fade duration mode.
Depending on the FadeDurationMode the transition from the current to the target value will use one of the duration values directly or use the duration values to determine how long it would take to fade through the whole possible value range and the effective fading duration will depend on the defference between the current and the target value.

The property FadeDurationMode accepts the following values:

  • CurrentToTarget: The duration(s) specify whoe long it will take to fade from the current value to the target value.
  • FullValueRange: The duration(s) specify how long it would take to fade through the whole possible value range (0-255) for the target value. The effective fading duration will depend on the difference between the current and the target value.

FadeUpDuration

The duration for fading up.

Name

The name of the item.

TargetEffectName

Name of the target effect.
Triggers EffectNameChanged if value is changed.

ListEffect

Summary

This effect triggers a list of other effect when it is triggered.

Warning
Be careful not to add ListEffect objects which finnaly contain a reference to the instance you're working with. This will create a recursive loop which never exit!.

Sample XML

A configuration section for ListEffect might resemble the following structure:

<ListEffect>
<Name>Name of ListEffect</Name>
<AssignedEffects>
<AssignedEffect>
<EffectName>Name of Effect</EffectName>
</AssignedEffect>
<AssignedEffect>
<EffectName>Name of Effect</EffectName>
</AssignedEffect>
<AssignedEffect>
<EffectName>Name of Effect</EffectName>
</AssignedEffect>
</AssignedEffects>
</ListEffect>

Properties

ListEffect has the following 2 configurable properties:

AssignedEffects

The list of effects assigned to the ListEffect.

Nested Properties

The following nested propteries exist for AssignedEffects:

  • EffectName
    The name of the assigned effect.

Name

The name of the item.

MaxDurationEffect

Summary

Limits the max duration of the effect to the specified number of milliseconds.

Sample XML

A configuration section for MaxDurationEffect might resemble the following structure:

<MaxDurationEffect>
<Name>Name of MaxDurationEffect</Name>
<TargetEffectName>Name of TargetEffect</TargetEffectName>
<RetriggerBehaviour>Restart</RetriggerBehaviour>
<MaxDurationMs>500</MaxDurationMs>
</MaxDurationEffect>

Properties

MaxDurationEffect has the following 4 configurable properties:

MaxDurationMs

The max effect duration in milliseconds.

Name

The name of the item.

RetriggerBehaviour

Valid values are Restart (restarts the minimal duration) or Ignore (keeps the org duration).

The property RetriggerBehaviour accepts the following values:

  • Restart: The effect or its behaviour gets restarted in a retrigger situation.
  • Ignore: Retrigger calls are ignored. The effect or its behaviour is not being restarted.

TargetEffectName

Name of the target effect.
Triggers EffectNameChanged if value is changed.

MinDurationEffect

Summary

This effect enforces a minimum duration on the effect calls.
Calls which are setting a effect to active (having a trigger value which is not equal 0 or null) are forwarded directly to the TargetEffect.
Calls setting the effect to inactive (having a trigger value of 0) are only forwarded to the TargetEffect after the specified minimum duration has expired.

FX_MinDuration.png
MinDuration effect

Sample XML

A configuration section for MinDurationEffect might resemble the following structure:

<MinDurationEffect>
<Name>Name of MinDurationEffect</Name>
<TargetEffectName>Name of TargetEffect</TargetEffectName>
<RetriggerBehaviour>Restart</RetriggerBehaviour>
<MinDurationMs>500</MinDurationMs>
</MinDurationEffect>

Properties

MinDurationEffect has the following 4 configurable properties:

MinDurationMs

The minimal effect duration in milliseconds.

Name

The name of the item.

RetriggerBehaviour

Valid values are Restart (restarts the minimal duration) or Ignore (keeps the org duration).

The property RetriggerBehaviour accepts the following values:

  • Restart: The effect or its behaviour gets restarted in a retrigger situation.
  • Ignore: Retrigger calls are ignored. The effect or its behaviour is not being restarted.

TargetEffectName

Name of the target effect.
Triggers EffectNameChanged if value is changed.

NullEffect

Summary

The NullEffect is a empty effect no doing anything.

Sample XML

A configuration section for NullEffect might resemble the following structure:

<NullEffect>
<Name>Name of NullEffect</Name>
</NullEffect>

Properties

NullEffect has the following 1 configurable properties:

Name

The name of the item.

RGBAColorEffect

Summary

The effects sets the color of a RGBAToy based on the trigger value.

Depending on the setting of the FadeMode property, the effect uses the active or inactive color or a mix of those colors.

Sample XML

A configuration section for RGBAColorEffect might resemble the following structure:

<RGBAColorEffect>
<Name>Name of RGBAColorEffect</Name>
<ToyName>Name of Toy</ToyName>
<LayerNr>0</LayerNr>
<ActiveColor>
<HexColor>#00000000</HexColor>
</ActiveColor>
<InactiveColor>
<HexColor>#00000000</HexColor>
</InactiveColor>
<FadeMode>Fade</FadeMode>
</RGBAColorEffect>

Properties

RGBAColorEffect has the following 6 configurable properties:

ActiveColor

The active color.

Nested Properties

The following nested propteries exist for ActiveColor:

  • HexColor
    6 digit hexadecimal color code with leading #(e.g. #ff0000 for red).

FadeMode

Fade (active and inactive color will fade depending on trigger value) or OnOff (actvice color is used for triger values >0, otherwise inactive color will be used).

The property FadeMode accepts the following values:

  • Fade: Fading is enabled.
  • OnOff: No fading. There will be a simple on/off behaviour depending on the triggering value.

InactiveColor

The inactive color.

Nested Properties

The following nested propteries exist for InactiveColor:

  • HexColor
    6 digit hexadecimal color code with leading #(e.g. #ff0000 for red).

LayerNr

The layer number.

Name

The name of the item.

ToyName

The name of the RGBAToy.

RGBAMatrixBitmapAnimationEffect

Summary

The RGBAMatrixBitmapAnimationEffect displays a anmation which is based on a image file on the defineable part of a matrix of rgb toys (e.g. adressable ledstrip).

The properties of the effect allow you to specify the position, frame and size of the first image part to be displayed on the matrix. In addition you can define how the effect steps forward through the source picture for the further animation frames.

To get a better idea, have a look at the following video and the picture below it.


RGBAMatrixBitmapAnimationEffectExample.png

The image above shows what DOF does for the following settings:

  • AnimationStepDirection: Down
  • AnimationStepSize:5
  • AnimationFrameCount:116
  • AnimationBehaviour:Loop
  • AnimationFrameDurationMs:30
  • BitmapTop:10
  • BitmapLeft:0
  • BitmapWidth:100
  • BitmapHeight:20
  • DataExtractMode:BlendPixels

In this example DOF extracts a area of 20x100pixels for every frame of the animation. For every frame of the animation it steps 5 pixels down, so we slowly progress through the whole image.

Sample XML

A configuration section for RGBAMatrixBitmapAnimationEffect might resemble the following structure:

<RGBAMatrixBitmapAnimationEffect>
<Name>Name of RGBAMatrixBitmapAnimationEffect</Name>
<ToyName>Name of Toy</ToyName>
<Width>100</Width>
<Height>100</Height>
<Left>0</Left>
<Top>0</Top>
<LayerNr>0</LayerNr>
<FadeMode>Fade</FadeMode>
<AnimationStepDirection>Frame</AnimationStepDirection>
<AnimationStepSize>1</AnimationStepSize>
<AnimationFrameCount>1</AnimationFrameCount>
<AnimationBehaviour>Loop</AnimationBehaviour>
<AnimationFrameDurationMs>30</AnimationFrameDurationMs>
<BitmapFrameNumber>0</BitmapFrameNumber>
<BitmapTop>0</BitmapTop>
<BitmapLeft>0</BitmapLeft>
<BitmapWidth>-1</BitmapWidth>
<BitmapHeight>-1</BitmapHeight>
<DataExtractMode>BlendPixels</DataExtractMode>
<BitmapFilePattern>Pattern string</BitmapFilePattern>
</RGBAMatrixBitmapAnimationEffect>

Properties

RGBAMatrixBitmapAnimationEffect has the following 20 configurable properties:

AnimationBehaviour

The animation behaviour defines if a animation should run only once, run in a loop or continue at its last position when triggered.

The property AnimationBehaviour accepts the following values:

  • Continue: The animation continues with the next frame when triggered and is shown in a loop
  • Loop: The animation restarts when it is triggered and is shown in a loop
  • Once: The animation restarts when it is triggered, is shown once and stops after the last frame

AnimationFrameCount

The number of frames for the whole animation.

AnimationFrameDurationMs

The animation frame duration in miliseconds. Defaults to 30ms if not set.

AnimationStepDirection

The direction in which the effect will step formward through the source image to get the next frame of the animation.

The property AnimationStepDirection accepts the following values:

  • Down: Animation steps from top to bottom through the source image
  • Frame: Animation steps though frames of the source image.
  • Right: Animation steps from left to right through the source image

AnimationStepSize

Thesize of the step in pixels or frames (depending on the AnimationStepDirection) to the next frame of the animation.

BitmapFilePattern

The bitmap file pattern which is used to load the bitmap file for the effect.

Nested Properties

The following nested propteries exist for BitmapFilePattern:

  • Pattern
    The pattern used to look for files.

BitmapFrameNumber

The number of the frame to be displayed.

BitmapHeight

The height of the the part of the bitmap which is to be displayed. -1 selects the fully height resp. the remaining height from the BitMapTop position.

BitmapLeft

The left boundary in pixels of the the part of the bitmap which is to be displayed.

BitmapTop

The top of the the part of the bitmap which is to be displayed.

BitmapWidth

The width in pixels of the the part of the bitmap which is to be displayed. -1 selects the fully width resp. the remaining width from the BitMapLeft position.

DataExtractMode

The data extract mode which defines how the data is extracted from the source bitmap.

The property DataExtractMode accepts the following values:

  • SinglePixelTopLeft
  • SinglePixelCenter
  • BlendPixels

FadeMode

Fade (active and inactive values/color will fade depending on trigger value) or OnOff (actvice value/color is used for trigger values >0, otherwise inactive value/color will be used).

The property FadeMode accepts the following values:

  • Fade: Fading is enabled.
  • OnOff: No fading. There will be a simple on/off behaviour depending on the triggering value.

Height

The height in percent of the target area for the effect (0-100).

LayerNr

The number of the target layer for the effect.

Left

The left resp. X position of the upper left corner in percent of the target area for the effect (0-100).

Name

The name of the item.

Top

The top resp. Y position of the upper left corner in percent of the target area for the effect (0-100).

ToyName

The name of the toy which is controlled by the effect.

Width

The width in percent of the target area for the effect (0-100).

RGBAMatrixBitmapEffect

Summary

The RGBAMatrixBitmapEffect displays a defined part of a bitmap on a area of a RGBAtoy Matrix.

The properties of the effect allow you to select the part of the bitmap to display as well as the area of the matrix on which the bitmap is displayed. Dempending on the size of your bitmap you might choose different modes for the image extraction.

The effect supports numerous imahe formats, inluding png, gif (also animated) and jpg.

The image extraction takes place upon initalization of the framework. While the framework is active, it only outputs the previously extracted and scaled data to allow for better performance.

Sample XML

A configuration section for RGBAMatrixBitmapEffect might resemble the following structure:

<RGBAMatrixBitmapEffect>
<Name>Name of RGBAMatrixBitmapEffect</Name>
<ToyName>Name of Toy</ToyName>
<Width>100</Width>
<Height>100</Height>
<Left>0</Left>
<Top>0</Top>
<LayerNr>0</LayerNr>
<FadeMode>Fade</FadeMode>
<BitmapFrameNumber>0</BitmapFrameNumber>
<BitmapTop>0</BitmapTop>
<BitmapLeft>0</BitmapLeft>
<BitmapWidth>-1</BitmapWidth>
<BitmapHeight>-1</BitmapHeight>
<DataExtractMode>BlendPixels</DataExtractMode>
<BitmapFilePattern>Pattern string</BitmapFilePattern>
</RGBAMatrixBitmapEffect>

Properties

RGBAMatrixBitmapEffect has the following 15 configurable properties:

BitmapFilePattern

The bitmap file pattern which is used to load the bitmap file for the effect.

Nested Properties

The following nested propteries exist for BitmapFilePattern:

  • Pattern
    The pattern used to look for files.

BitmapFrameNumber

The number of the frame to be used (for animated gifs).

BitmapHeight

The height of the the part of the bitmap which is to be used.

BitmapLeft

The left boundary of the the part of the bitmap which is to be used.

BitmapTop

The top of the the part of the bitmap which is to be used.

BitmapWidth

The width of the the part of the bitmap which is to be used.

DataExtractMode

The data extract mode which defines how the data is extracted from the source bitmap.

The property DataExtractMode accepts the following values:

  • SinglePixelTopLeft
  • SinglePixelCenter
  • BlendPixels

FadeMode

Fade (active and inactive values/color will fade depending on trigger value) or OnOff (actvice value/color is used for trigger values >0, otherwise inactive value/color will be used).

The property FadeMode accepts the following values:

  • Fade: Fading is enabled.
  • OnOff: No fading. There will be a simple on/off behaviour depending on the triggering value.

Height

The height in percent of the target area for the effect (0-100).

LayerNr

The number of the target layer for the effect.

Left

The left resp. X position of the upper left corner in percent of the target area for the effect (0-100).

Name

The name of the item.

Top

The top resp. Y position of the upper left corner in percent of the target area for the effect (0-100).

ToyName

The name of the toy which is controlled by the effect.

Width

The width in percent of the target area for the effect (0-100).

RGBAMatrixColorEffect

Summary

Sets the spefied area of matrix to the specified colors depending on the trigger value.

Sample XML

A configuration section for RGBAMatrixColorEffect might resemble the following structure:

<RGBAMatrixColorEffect>
<Name>Name of RGBAMatrixColorEffect</Name>
<ToyName>Name of Toy</ToyName>
<Width>100</Width>
<Height>100</Height>
<Left>0</Left>
<Top>0</Top>
<LayerNr>0</LayerNr>
<FadeMode>Fade</FadeMode>
<ActiveColor>
<HexColor>#00000000</HexColor>
</ActiveColor>
<InactiveColor>
<HexColor>#00000000</HexColor>
</InactiveColor>
</RGBAMatrixColorEffect>

Properties

RGBAMatrixColorEffect has the following 10 configurable properties:

ActiveColor

The active color.

Nested Properties

The following nested propteries exist for ActiveColor:

  • HexColor
    6 digit hexadecimal color code with leading #(e.g. #ff0000 for red).

FadeMode

Fade (active and inactive values/color will fade depending on trigger value) or OnOff (actvice value/color is used for trigger values >0, otherwise inactive value/color will be used).

The property FadeMode accepts the following values:

  • Fade: Fading is enabled.
  • OnOff: No fading. There will be a simple on/off behaviour depending on the triggering value.

Height

The height in percent of the target area for the effect (0-100).

InactiveColor

The inactive color.

Nested Properties

The following nested propteries exist for InactiveColor:

  • HexColor
    6 digit hexadecimal color code with leading #(e.g. #ff0000 for red).

LayerNr

The number of the target layer for the effect.

Left

The left resp. X position of the upper left corner in percent of the target area for the effect (0-100).

Name

The name of the item.

Top

The top resp. Y position of the upper left corner in percent of the target area for the effect (0-100).

ToyName

The name of the toy which is controlled by the effect.

Width

The width in percent of the target area for the effect (0-100).

RGBAMatrixFlickerEffect

Summary

Does create random flickering with a defineable density, durations and color within the spefied area of a ledstrip.

Sample XML

A configuration section for RGBAMatrixFlickerEffect might resemble the following structure:

<RGBAMatrixFlickerEffect>
<Name>Name of RGBAMatrixFlickerEffect</Name>
<ToyName>Name of Toy</ToyName>
<Width>100</Width>
<Height>100</Height>
<Left>0</Left>
<Top>0</Top>
<LayerNr>0</LayerNr>
<FadeMode>Fade</FadeMode>
<Density>10</Density>
<MinFlickerDurationMs>60</MinFlickerDurationMs>
<MaxFlickerDurationMs>150</MaxFlickerDurationMs>
<ActiveColor>
<HexColor>#00000000</HexColor>
</ActiveColor>
<InactiveColor>
<HexColor>#00000000</HexColor>
</InactiveColor>
</RGBAMatrixFlickerEffect>

Properties

RGBAMatrixFlickerEffect has the following 13 configurable properties:

ActiveColor

The active color.

Nested Properties

The following nested propteries exist for ActiveColor:

  • HexColor
    6 digit hexadecimal color code with leading #(e.g. #ff0000 for red).

Density

The density if the flickering in percent.

FadeMode

Fade (active and inactive values/color will fade depending on trigger value) or OnOff (actvice value/color is used for trigger values >0, otherwise inactive value/color will be used).

The property FadeMode accepts the following values:

  • Fade: Fading is enabled.
  • OnOff: No fading. There will be a simple on/off behaviour depending on the triggering value.

Height

The height in percent of the target area for the effect (0-100).

InactiveColor

The inactive color.

Nested Properties

The following nested propteries exist for InactiveColor:

  • HexColor
    6 digit hexadecimal color code with leading #(e.g. #ff0000 for red).

LayerNr

The number of the target layer for the effect.

Left

The left resp. X position of the upper left corner in percent of the target area for the effect (0-100).

MaxFlickerDurationMs

The max duration in milliseconds for a single flicker/blink of a element.

MinFlickerDurationMs

The min duration in milliseconds for a single flicker/blink of a element.

Name

The name of the item.

Top

The top resp. Y position of the upper left corner in percent of the target area for the effect (0-100).

ToyName

The name of the toy which is controlled by the effect.

Width

The width in percent of the target area for the effect (0-100).

RGBAMatrixShiftEffect

Sample XML

A configuration section for RGBAMatrixShiftEffect might resemble the following structure:

<RGBAMatrixShiftEffect>
<Name>Name of RGBAMatrixShiftEffect</Name>
<ToyName>Name of Toy</ToyName>
<Width>100</Width>
<Height>100</Height>
<Left>0</Left>
<Top>0</Top>
<LayerNr>0</LayerNr>
<FadeMode>Fade</FadeMode>
<ShiftDirection>Right</ShiftDirection>
<ShiftSpeed>200</ShiftSpeed>
<ShiftAcceleration>0</ShiftAcceleration>
<ActiveColor>
<HexColor>#00000000</HexColor>
</ActiveColor>
<InactiveColor>
<HexColor>#00000000</HexColor>
</InactiveColor>
</RGBAMatrixShiftEffect>

Properties

RGBAMatrixShiftEffect has the following 13 configurable properties:

ActiveColor

The active color.

Nested Properties

The following nested propteries exist for ActiveColor:

  • HexColor
    6 digit hexadecimal color code with leading #(e.g. #ff0000 for red).

FadeMode

Fade (active and inactive values/color will fade depending on trigger value) or OnOff (actvice value/color is used for trigger values >0, otherwise inactive value/color will be used).

The property FadeMode accepts the following values:

  • Fade: Fading is enabled.
  • OnOff: No fading. There will be a simple on/off behaviour depending on the triggering value.

Height

The height in percent of the target area for the effect (0-100).

InactiveColor

The inactive color.

Nested Properties

The following nested propteries exist for InactiveColor:

  • HexColor
    6 digit hexadecimal color code with leading #(e.g. #ff0000 for red).

LayerNr

The number of the target layer for the effect.

Left

The left resp. X position of the upper left corner in percent of the target area for the effect (0-100).

Name

The name of the item.

ShiftAcceleration

The acceleration for the shift speed in percent of the effect area per second.

ShiftDirection

The shift direction (Left, Right, Up, Down).

The property ShiftDirection accepts the following values:

  • Down: Shift down
  • Left: Shift left
  • Right: Shift right
  • Up: Shift up

ShiftSpeed

The shift speed in percentage of the effect area (Left, Top, Width, Height properties) per second .

Top

The top resp. Y position of the upper left corner in percent of the target area for the effect (0-100).

ToyName

The name of the toy which is controlled by the effect.

Width

The width in percent of the target area for the effect (0-100).

TableElementConditionEffect

Summary

This effect evaluates the condition specified in the Condition property.

Sample XML

A configuration section for TableElementConditionEffect might resemble the following structure:

<TableElementConditionEffect>
<Name>Name of TableElementConditionEffect</Name>
<TargetEffectName>Name of TargetEffect</TargetEffectName>
</TableElementConditionEffect>

Properties

TableElementConditionEffect has the following 3 configurable properties:

Condition

The condition.

Name

The name of the item.

TargetEffectName

Name of the target effect.
Triggers EffectNameChanged if value is changed.

ValueInvertEffect

Summary

Inverts the trigger value of the effect before the target effect is called (e.g. 0 becomes 255, 255 becomes 0, 10 becomes 245).

Sample XML

A configuration section for ValueInvertEffect might resemble the following structure:

<ValueInvertEffect>
<Name>Name of ValueInvertEffect</Name>
<TargetEffectName>Name of TargetEffect</TargetEffectName>
</ValueInvertEffect>

Properties

ValueInvertEffect has the following 2 configurable properties:

Name

The name of the item.

TargetEffectName

Name of the target effect.
Triggers EffectNameChanged if value is changed.

ValueMapFullRangeEffect

Summary

This effects maps the trigger value to the full range of 0 - 255. If the trigger value is 0, the mapped trigger value for the target effect is also 0. If the trigger value is >0, the mapped trigger value for the target effect is 255.

Sample XML

A configuration section for ValueMapFullRangeEffect might resemble the following structure:

<ValueMapFullRangeEffect>
<Name>Name of ValueMapFullRangeEffect</Name>
<TargetEffectName>Name of TargetEffect</TargetEffectName>
</ValueMapFullRangeEffect>

Properties

ValueMapFullRangeEffect has the following 2 configurable properties:

Name

The name of the item.

TargetEffectName

Name of the target effect.
Triggers EffectNameChanged if value is changed.