DirectOutput
DirectOutput framework R2 for virtual pinball cabinets.
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros Pages
DirectOutput.Cab.Out.DMX.ArtNet Class Reference

Artnet is a industry standard protocol used to control DMX lighting effects over ethernet. Using Art-Net it is possible to connect a very wide range of lighting effects like strobes or dimmer packs. There are tons of DMX controlled effects available on the market (from very cheap and small to very expensive and big). It might sounds a bit crazy, but with Art-net and DMX you could at least in theory control a whole stage lighting system (this would likely make you feel like Tommy in the movie). More...

Inheritance diagram for DirectOutput.Cab.Out.DMX.ArtNet:
Collaboration diagram for DirectOutput.Cab.Out.DMX.ArtNet:

Public Member Functions

override void Update ()
 Update triggers sending of the DMX data to the physical ArtNet node.
If no updates are required (no channel values have changed) no data will be sent.. More...
 
override void Init (Cabinet Cabinet)
 Initializes the Artnet object.
Adds the output objects to the outputcollection of the ArtNet instance and starts the updater thread. More...
 
override void Finish ()
 Finishes the ArtNet object More...
 
 ArtNet ()
 Initializes a new instance of the ArtNet class. More...
 

Protected Member Functions

override void OnOutputValueChanged (IOutput Output)
 This method is called whenever the value of a output in the Outputs property changes its value.
It updates the internal arry holding the values for the DMX channels of the universe specified. More...
 

Properties

short Universe [get, set]
 Gets or sets the number of the Dmx universe for the ArtNet node. More...
 
string BroadcastAddress [get, set]
 Gets or sets the broadcast address for the ArtNet object.
If no BroadcastAddress is set, the default address (255.255.255.255) will be used. More...
 
bool UpdaterThreadIsActive [get]
 Indicates whether the UpdaterThread of the Artnet instance is active or not. More...
 
- Properties inherited from DirectOutput.Cab.Out.OutputControllerBase
virtual OutputList Outputs [get, set]
 Contains the OutputList object for the outputs of the output controller.
More...
 
- Properties inherited from DirectOutput.General.Generic.NamedItemBase
string Name [get, set]
 Name of the named item.
Triggers BeforeNameChange before a new Name is set.
Triggers AfterNameChanged after a new name has been set. More...
 
- Properties inherited from DirectOutput.General.Generic.INamedItem
string Name [get, set]
 Gets or sets the name of the item.
Must fire the BeforeNameChange and AfterNameChange events when the value of the property is changed. More...
 
- Properties inherited from DirectOutput.Cab.Out.IOutputController
new string Name [get, set]
 Name of the IOutputController. This property is fully implemented in the abstract OutputControllerBase class. More...
 
OutputList Outputs [get, set]
 OutputList containing the IOutput objects for a IOutputController. More...
 

Additional Inherited Members

- Events inherited from DirectOutput.General.Generic.NamedItemBase
EventHandler< NameChangeEventArgsAfterNameChanged
 Event is fired after the value of the property Name has changed. More...
 
EventHandler< NameChangeEventArgsBeforeNameChange
 Event is fired before the value of the property Name is changed. More...
 
- Events inherited from DirectOutput.General.Generic.INamedItem
EventHandler< NameChangeEventArgsBeforeNameChange
 Occurs before the name of the item changes. More...
 
EventHandler< NameChangeEventArgsAfterNameChanged
 Occurs when after the name of the item has changed. More...
 

Detailed Description

Artnet is a industry standard protocol used to control DMX lighting effects over ethernet. Using Art-Net it is possible to connect a very wide range of lighting effects like strobes or dimmer packs. There are tons of DMX controlled effects available on the market (from very cheap and small to very expensive and big). It might sounds a bit crazy, but with Art-net and DMX you could at least in theory control a whole stage lighting system (this would likely make you feel like Tommy in the movie).

To use Art-Net you will need a Art-Net node (unit that converts from ethernet to DMX protocol) and also some DMX controlled lighting effect. There are quite a few different Art-Net nodes available on the market and most of them should be compatible with the DirectOutput framework. For testing the Art-Net node sold by Ulrich Radig as a DIY kit was used.

Each Art-Net node/DMX universe supports 512 DMX channels and several Art-Net nodes controlling different DMX universes can be used in parallel.

If you want to read more about Art-net, visit the website of Artistic License. The specs for Art-net can be found in the Resources - User Guides + Datasheets section of the site.

DMX.png
DMX

Constructor & Destructor Documentation

DirectOutput.Cab.Out.DMX.ArtNet.ArtNet ( )

Initializes a new instance of the ArtNet class.

Member Function Documentation

override void DirectOutput.Cab.Out.DMX.ArtNet.Finish ( )

Finishes the ArtNet object

Implements DirectOutput.Cab.Out.IOutputController.

override void DirectOutput.Cab.Out.DMX.ArtNet.Init ( Cabinet  Cabinet)

Initializes the Artnet object.
Adds the output objects to the outputcollection of the ArtNet instance and starts the updater thread.

Parameters
CabinetThe cabinet object which is using the ArtNet instance.

Implements DirectOutput.Cab.Out.IOutputController.

override void DirectOutput.Cab.Out.DMX.ArtNet.OnOutputValueChanged ( IOutput  Output)
protectedvirtual

This method is called whenever the value of a output in the Outputs property changes its value.
It updates the internal arry holding the values for the DMX channels of the universe specified.

Parameters
OutputThe output.
Exceptions
System.ExceptionThe OutputValueChanged event handler for ArtNet node {0} (controlling Dmx universe {1}) has been called by a sender which is not a DmxOutput..Build(Name, Universe)
System.ArgumentOutOfRangeExceptionArtNet node {0} has received a update for a illegal dmx channel number ({1})..Build(Name, O.DmxChannel)

Reimplemented from DirectOutput.Cab.Out.OutputControllerBase.

override void DirectOutput.Cab.Out.DMX.ArtNet.Update ( )

Update triggers sending of the DMX data to the physical ArtNet node.
If no updates are required (no channel values have changed) no data will be sent..

Implements DirectOutput.Cab.Out.IOutputController.

Property Documentation

string DirectOutput.Cab.Out.DMX.ArtNet.BroadcastAddress
getset

Gets or sets the broadcast address for the ArtNet object.
If no BroadcastAddress is set, the default address (255.255.255.255) will be used.

String containing broadcast address. If this parameter is not set the default broadcast address (255.255.255.255) will be used. Valid values are any IP adresses (e.g. 192.168.1.53).

short DirectOutput.Cab.Out.DMX.ArtNet.Universe
getset

Gets or sets the number of the Dmx universe for the ArtNet node.

The number of the Dmx universe.

bool DirectOutput.Cab.Out.DMX.ArtNet.UpdaterThreadIsActive
get

Indicates whether the UpdaterThread of the Artnet instance is active or not.


The documentation for this class was generated from the following file: