2 using System.Collections.Generic;
27 private short _Universe = 0;
37 get {
return _Universe; }
38 set { _Universe = value; }
41 private string _BroadcastAddress =
"";
51 public string BroadcastAddress
53 get {
return _BroadcastAddress; }
54 set { _BroadcastAddress = value; }
74 if (OutputValues.Length == 512)
76 Engine.
SendDMX(BroadcastAddress, Universe, OutputValues, 512);
80 Log.
Exception(
"{0} {1} sent the wrong number of bytes to output.".Build(this.GetType().Name, Name));
81 throw new Exception(
"{0} {1} sent the wrong number of bytes to output.".Build(this.GetType().Name, Name));
86 string Msg =
"{0} {1} (Universe: {2}, Broadcast Address: {3}) is not connected.".Build(
new object[] { this.GetType().Name, Name, Universe, BroadcastAddress });
88 throw new Exception(Msg);
94 string Msg =
"{0} {1} (Universe: {2}, Broadcast Address: {3}) could not send data: {4}".Build(
new object[] { this.GetType().Name, Name, Universe, BroadcastAddress, E.Message });
96 throw new Exception(Msg, E);
108 Engine.
SendDMX(BroadcastAddress, Universe,
new byte[512], 512);
113 string Msg =
"{0} {1} (Universe: {2}, Broadcast Address: {3}) could not connect: {4}".Build(
new object[] { this.GetType().Name, Name, Universe, BroadcastAddress, E.Message });
115 throw new Exception(Msg, E);
124 Engine.
SendDMX(BroadcastAddress, Universe,
new byte[512], 512);
Artnet Engine used for DMX output. The code of this class is based on the Engine class of eDMX...
override int GetNumberOfConfiguredOutputs()
This method must return the number of configured outputs. The method is used internaly to determine t...
override void DisconnectFromController()
This method is called when DOF wants to disconnect from the controller. Implement your own logic to d...
override void UpdateOutputs(byte[] OutputValues)
This method is called whenever new data has to be sent to the output controller. Implement the commun...
A simple logger used to record important events and exceptions.
This abstract class implement the full base logic for a output controller with a separate thread for ...
The namespace DirectOutput.Cab contains all cabinet related classes like the Cabinet class itself...
DirectOutput.Cab.Out is the namespace for all output controller related classes like different output...
The namespace DMX contains the implementations of OutputControllers supporting DMX controlled light e...
The classes in this namespace are implementing the ArtNet engine used for DMX support. The code of the ArtNet classes in this namespace is based on eDMX.Net hosted on http://edmx.codeplex.com/.
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).
static Engine Instance
Gets a singleton instance of the ArtNet engine.
override bool VerifySettings()
Verifies the settings of the output controller.
override void ConnectToController()
This method is called when DOF wants to connect to the controller. Implement your own logic to connec...
static void Exception(string Message, Exception E=null)
Writes a exception message to the log.
void SendDMX(string BroadcastAdress, short Universe, byte[] Data, int DataLength)
Sends DMX data to a Art-Net node.