DirectOutput
DirectOutput framework R3 for virtual pinball cabinets.
Loading...
Searching...
No Matches
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:

Protected Member Functions

override int GetNumberOfConfiguredOutputs ()
override bool VerifySettings ()
override void UpdateOutputs (byte[] OutputValues)
override void ConnectToController ()
override void DisconnectFromController ()
Protected Member Functions inherited from DirectOutput.Cab.Out.OutputControllerCompleteBase
void SetupOutputs ()
 Manages to output object of the output controller. Use the GetNumberOfConfiguredOutputs() method to determine the number of outputs to be setup.
override void AfterNameChange (string OldName, string NewName)
int GetNumberOfConfiguredOutputs ()
 This method must return the number of configured outputs. The method is used internally to determine the number of output objects which have to be setup. Return a fixed value for output controllers which have a fixed number of outputs. Return the value of a configurable property for controllers with a defineable number of outputs.
bool VerifySettings ()
 Verifies the settings of the output controller.
void UpdateOutputs (byte[] OutputValues)
 This method is called whenever new data has to be sent to the output controller. Implement the communication with your hereware in this method.
void ConnectToController ()
 This method is called when DOF wants to connect to the controller. Implement your own logic to connect to the controller here.
void DisconnectFromController ()
 This method is called when DOF wants to disconnect from the controller. Implement your own logic to disconnect from the controller here.
Protected Member Functions inherited from DirectOutput.General.Generic.NamedItemBase
virtual void BeforeNameChange (string OldName, string NewName)
virtual void OnPropertyChanged (string propertyName)
virtual void OnPropertyChanging (string propertyName)

Properties

short Universe [get, set]
 Gets or sets the number of the Dmx universe for the ArtNet node.
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.
Properties inherited from DirectOutput.Cab.Out.OutputControllerCompleteBase
OutputList Outputs [get, set]
 Contains the OutputList object for the outputs of the output controller.

bool UpdaterThreadIsActive [get]
 Indicates whether the UpdaterThread is active or not.
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.
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.

Additional Inherited Members

Public Member Functions inherited from DirectOutput.Cab.Out.OutputControllerCompleteBase
void SetValues (int FirstOutput, byte[] Values)
 Sets the values for one or several outputs of the controller.
virtual void Init (Cabinet Cabinet)
 Initializes the output controller and starts the updater thread.
virtual void Finish ()
 Finishes the output controller and stop the updater thread.
void Update ()
 Triggers the update of the physical outputs.
Protected Types inherited from DirectOutput.Cab.Out.OutputControllerCompleteBase
enum  InUseStates { Startup , ValueChanged , Running }
 Output controller in-use state. This tells us if we've ever received a value update from the client, and if we've sent any commands yet to the connected device. Initially, this is set to Startup. On a value change event, if this is still startup, we set it to ValueChanged. The updater thread can use this to determine if it needs to send initialization commands and/or value updates to the device. The updater thread can simply take no action when the value is Startup, as this means that the unit hasn't yet been addressed by the client and thus might not be in use at all during this session. When the state is ValueChanged, the updater thread should send any necessary initialization commands to the device and change the state to Running. When the state is Running, the thread can simply send value updates as normal. More...
Protected Attributes inherited from DirectOutput.Cab.Out.OutputControllerCompleteBase
InUseStates InUseState = InUseStates.Startup
 Current in-use state for this controller.
Events inherited from DirectOutput.General.Generic.NamedItemBase
EventHandler< NameChangeEventArgsAfterNameChanged
 Event is fired after the value of the property Name has changed.
EventHandler< NameChangeEventArgsBeforeNameChanged
 Event is fired before the value of the property Name is changed.
PropertyChangedEventHandler PropertyChanged
PropertyChangingEventHandler PropertyChanging
Events inherited from DirectOutput.General.Generic.INamedItem
EventHandler< NameChangeEventArgsBeforeNameChanged
 Occurs before the name of the item changes.
EventHandler< NameChangeEventArgsAfterNameChanged
 Occurs when after the name of the item has changed.

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

Member Function Documentation

◆ ConnectToController()

override void DirectOutput.Cab.Out.DMX.ArtNet.ConnectToController ( )
protected

◆ DisconnectFromController()

override void DirectOutput.Cab.Out.DMX.ArtNet.DisconnectFromController ( )
protected

◆ GetNumberOfConfiguredOutputs()

override int DirectOutput.Cab.Out.DMX.ArtNet.GetNumberOfConfiguredOutputs ( )
protected

◆ UpdateOutputs()

override void DirectOutput.Cab.Out.DMX.ArtNet.UpdateOutputs ( byte[] OutputValues)
protected

◆ VerifySettings()

override bool DirectOutput.Cab.Out.DMX.ArtNet.VerifySettings ( )
protected

Property Documentation

◆ BroadcastAddress

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).

◆ Universe

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.


The documentation for this class was generated from the following file:
  • D:/a/DirectOutput/DirectOutput/DirectOutput/Cab/Out/DMX/ArtNet.cs