B2SServerPlugin | DirectOutputPlugin is the namespace of the Dll implementing the actual plugin interface for the B2S Server. |
Plugin | Plugin is the IDirectPlugin interface implementation required by the B2S Server. |
DirectOutput | |
Cab | The namespace DirectOutput.Cab contains all cabinet related classes like the Cabinet class itself, classes for output controllers like the LEDWiz as well as toy classes representing the toys in the cabinet |
Color | |
ColorList | List for Color objects |
RGBAColor | This class stores information on colors used for toys and effects (e.g. RGBLed). |
RGBAColorNamed | This class stores information on colors used for toys (e.g. RGBLed). |
RGBColor | This class stores information on RGB colors used for toys and effects (e.g. RGBLed). |
RGBColorNamed | Named RGBColor object |
Out | DirectOutput.Cab.Out is the namespace for all output controller related classes like different output controller classes (all implementing IOutputController). |
DMX | The namespace DMX contains the implementations of OutputControllers supporting DMX controlled light effects.
Information on DMX can be found on http://en.wikipedia.org/wiki/DMX512. |
ArtnetEngine | 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/.
|
Engine | Artnet Engine used for DMX output.
The code of this class is based on the Engine class of eDMX.Net hosted on http://edmx.codeplex.com/. |
ArtNet | Artnet is a industry standard protocol used to control DMX lighting effects over othernet. 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) |
DMXOutput | IOutput implementation for DMX.
Inherits from Output and adds the DmxChannel property. |
LW | The namespace DirectOutput.Cab.Out.LW contains the classes for LedWiz output controllers. |
LedWiz | The LedWiz is a easy to use outputcontroller with 32 outputs which all support 49 pwm levels. The LedWiz is able to drive leds and smaller loads directly, but will require some kind of booster for power hungery gadgets like big contactors or motors |
LedWizAutoConfigurator | This class is used to detect and configure LedWiz output controllers automatically. |
LedWizOutput | Output class for LedWiz output controllers. |
NullOutputController | This namespace contains a outputcontroller implementaion which isnt doing anything. |
NullOutputController | This is a dummy output controller not doing anthing with the data it receives.
It is mainly thought as a sample how to implement a simple output controller.
|
Pac | This namespace contains the classes for the integration of the Ultimarc products PacDrive and PacLed64. |
PacDriveSingleton | Singleton version of the PacDrive class found in the PacDrive SDK. |
PacLed64 | The PacLed64 is a output controller with 64 outputs all supporting 256 pwm levels. Since the outputs of the unit are constant current drivers providing 20ma each, smaller leds can be connected directly to the outputs, but booster circuits might be used to driver higher loads (e.g. Cree leds). Up to 4 PacLed64 controllers can be used with the DirectOutput framework |
PacLed64AutoConfigurator | This class detects all connected PacLed64 units and configures them. |
IAutoConfigOutputController | Interface for classes used to automatically detect and configure output controllers |
IOutput | Common interface for outputs of any output controller. The Output class implements this interface and can be inherited for the implementation of other output types. |
IOutputController | Common interface for all outputcontrollers. Only classes implementing this interface can be used as output controllers in the framework.
The abstract OutputControllerBase class implements this interface and can be inherited for other output controller classes.
It is important to ensure that all classes inherting this interface are XML serializeable. |
IOutputNumbered | Common interface for numbered outputs. |
Output | Basic IOutput implementation. |
OutputControllerBase | Abstract OutputController base class to be used for IOutputController implementations.
Implements IOutputController. |
OutputControllerList | List of IOutputController objects |
OutputEventArgs | EventArgs for events of IOutput objects. |
OutputList | List of IOutput objects |
OutputNumbered | Basic IOutputNumbered implementation. |
Toys | The namespace DirectOutput.Cab.Toys contains all toy related classes. |
Basic | Namespace for basic toys like contactors and RGBLeds. |
AnalogToy | |
Contactor | |
DigitalToy | |
GearMotor | |
IAnalogToy | Common interface of analog toys supporting values from 0-255.
The main purpose of this interface is to facilitate the development of effects. AssignedEffects using this interface for toy references are able to call the common methods of these toys. |
IDigitalToy | Generic interface for Toys having only 2 states.
The main purpose of this interface is to facilitate the development of effects. AssignedEffects using this interface for toy references are able to call the common methods of these toys. |
ILampToy | Common interface for lamp like toys.
Implement this interface if a toy resembles some kind of lamp so all effects working with lamps can use the toy. |
IRGBToy | This interface is to be used for toys outputing RGB colors (e.g. RGBLed toy).
|
Lamp | |
Motor | |
RGBLed | |
Shaker | |
Layer | |
AnalogAlphaLayer | This class implements a layer object with alpha support for toys working analog values. |
AnalogAlphaToy | This toy handles analog values (0-255) in a layer structure including alpha value (0=completely transparent, 255=fully opaque) and outputs the belended result of the layers on a single output. |
AnalogAlphaValue | Object containing a analog value (0-255) and a alpha value (0-255). |
AnalogLayerDictionary | A dictionary for AnalogAlphaLayer objects. |
IAnalogAlphaToy | Common interface for toys supporting analog alpha layers. |
IRGBAToy | Common interface for RGB toys supporting several layers of color with alpha value. |
RGBALayer | Layer object for toys supporting several layers of RGB colors with alpha channel. |
RGBALayerDictionary | Dictionary for RGBALayer objects. |
RGBAToy | Thie RGBAToy controls RGB leds and other gadgets displaying RGB colors.
The RGBAToy has multilayer support with alpha channels. This allows the effects targeting RGBAToys to send their data to different layers. Values in a layer do also have a alpha/transparency channel which will allow us to blend the colors/values in the various layers (e.g. if a bottom layer is blue and top is a semi transparent red, you will get some mix of both or if one of the two blinks you get changing colors).
The following picture might give you a clearer idea how the layers with their alpha channels work: |
LWEquivalent | |
LedWizEquivalent | The LEDWizEquivalent toy is only used by the framework when ini files are used for the configuration to determine which outputs should be controled by the columns in the ini files.
Do not target this type of toy with any effects. |
LedWizEquivalentOutput | LEDWizEquivalentOutput is the output object for the LedWizEquivalent IToy. |
LedWizEquivalentOutputList | List of LedWizEquivalentOutput objects. |
IToy | Common interface for all toy implementations.
The abstract class ToyBase implements this interface. |
IToyUpdatable | Interface for toys which need a update method which is used to update their outputs. |
ToyBase | Base class for IToy implementations |
ToyBaseUpdatable | Base class for toys which need update calls to update the state of their assigned outputs.
Toys which are directly updating their outputs when their state changes dont need to implement this method and should use the ToyBase class instead.. |
ToyEventArgs | EventArgs for events of IToy objects |
ToyList | List of IToy objects |
Cabinet | The Cabinet object describes the parts of a pinball cabinet (toys, outputcontrollers, outputs and more). |
CabinetOutputList | Readonly list containing all IOutput objects of all IOutputController objects in a cabinet. |
Enumerator | Enumerator class for IEnumerable<IOutput>. |
Frontend | |
AvailableEffectsInfo | |
AvailableToysInfo | |
CabinetInfo | |
GlobalConfigEdit | |
MainMenu | |
ScriptInfo | |
SystemMonitor | |
TableInfo | |
TimeSpanStatisticsDetails | |
FX | The namespace FX contains effect related classes.
Effects can be assigned directly to a Table and will be triggered when the Table is stated or the can be assigned to TableElement objects and will be triggered whenever the value of a TableElement changes.
AssignedEffects are triggered by the Table resp. the TableElement objects of the table.
|
AnalogToyFX | Namespace for effects controlling AnalogToy objects. |
AnalogToyFadeOnOffEffect | A effect fading the output value of a AnalogToy object to a active or inactive value. The fading is controlled by the value property (0, not 0) of the TableElementData parameter of the Trigger method |
AnalogToyOnOffEffect | A basic effect setting the output of a AnalogToy object to a active or inactive value, based on value property (0, not 0) of the TableElementData parameter of the Trigger method. |
AnanlogToyEffectBase | Base class for effects controlling a single AnalogToy object. |
ListFX | The DirectOutput.FX.ListFX namepsace contains the classes for the ListEffect. |
ListEffect | This effect triggers a list of other effect when it is triggered.
|
NullFX | This namespace does only contain the NullEffect. |
NullEffect | The NullEffect is a empty effect no doing anything. |
RGBAFX | This namespace contains effects which deal with RGBA toys. /summary> |
RGBAEffectBase | Base class for effects using RGBA toys |
RGBAFadeOnOffEffect | This RGBA effect fades the color of a RGBA toys towards a defined target color based on the state (not 0, 0) of the triggering table element |
RGBAOnOffEffect | A basic RBA effect which sets the color of a layer of a RGBA toy to a specified color based on the state (not 0, 0) of the triggering table element |
TimmedFX | Namespace for timmed effects (e.g. delay, duration) |
BlinkEffect | 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.
|
DelayEffect | 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.
|
DurationEffect | 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.
|
ExtendDurationEffect | 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.
|
MinDurationEffect | 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.
|
AssignedEffect | Handles the assignemt of a effect to a AssignedEffectList. |
AssignedEffectList | List of effects which are assigned to some other object. |
EffectBase | Abstract base class for IEffect objects.
This class inherits NamedItemBase and implements IEffect. |
EffectEffectBase | Base class for effects targeting another effect. |
EffectEventArgs | The EffectEventArgs class is used for events triggered by IEffect objects |
BeforeEffectNameChangeAventArgs | EventArgs for the BeforeEffectNameChanged event |
EffectList | Collection of IEffect objects. Every object can only exist once in the list and every objects needs to have a unique name. |
IEffect | Common interface for all effects.
If a new effect is implemented it is best to inherit from the abstract class Effect which does also inherit IEffect.
All classes inheriting IEffect must be XMLSerializeable. |
General | The namespace DirectOutput.General contains classes for general use. |
Generic | |
ExtList< T > | Extended version of the generic List class supporting events for various actions on the list. |
INamedItem | Interface for items which can be added the the NamedItemList. |
InsertEventArgs< Ty > | Eventargs of BeforeInsert and AfterInsert events. |
NameChangeEventArgs | EventArgs for name change events. |
NamedItemBase | Abstract base class for named items.
Implements the name property and the necessary events. |
NamedItemList< T > | A list of uniquely named items which can be referenced by their name. |
RemoveEventArgs< Ty > | EventErgs for remove events |
SetEventArgs< Ty > | Event args for Set events. |
SortableBindingList< T > | Inherits BindingList<T> and overrides the functions necessary to provide sorting.
The code of this class is based on the Codeprojekt article Implementing a Sortable BindingList Very, Very Quickly by Muigai Mwaura. |
ValidateItemEventArgs< Ty > | EventArgs for ValidateItem event. |
Statistics | |
SimpleStatistics< ValueType > | |
TimeSpanStatisticsItem | |
TimeSpanStatisticsList | |
Kernel32Imports | This class contains import of the kernel32.dll
|
ThreadInfo | This object provides information on a thread. |
ThreadInfoList | List of ThreadInfo objects.
This class is used by DOF for thread monitoring |
TypeList | List for Type objects. |
GlobalConfiguration | |
FilePattern | A file pattern class used to lookup files matching a specified pattern. |
FilePatternList | A list of file patterns. |
GlobalConfig | Global configuration for the DirectOutput framework.
|
LedControlIniFile | |
LedControlIniFileList | List of LedControlIniFile objects. |
LedControl | |
Loader | The DirectOutput.LedControl namespace contains the classes to read and understand the classical LedControl.ini files.
I hope the code in this area works correctly. After all there was a lot of guess work required when implementing these classes. |
ColorConfig | Color configuration from a LedControl file. |
ColorConfigList | List of color configurations from a ledcontrol.ini file. |
LedControlConfig | Ledcontrol configuration read from a ledcontrol.ini file. |
LedControlConfigList | List of LedControlConfig objects loaded from LedControl.ini files. |
TableConfig | A table config from a ini file. |
TableConfigColumn | Column in a LedControl.ini file.
Is a list of TableConfigSettingObjects for that column. |
TableConfigColumnList | List of columns of a LedCOntrol.ini file.
Inherits List>T<. |
TableConfigList | A list of table configs from a ini file. |
TableConfigSetting | A single setting from a LedControl.ini file. |
Setup | |
Configurator | Configures the system based on data from ini files (either directoutputconfig.ini or ledcontrol.ini files) |
PinballSupport | Support classes used by the Pinball object. |
AlarmHandler | The AlarmHandler classed is used to execute scheduled events (e.g. regular updates on a effect) in the framework.
Two types of alarms/scheduled events exist:
|
InputQueue | Simple queue of TableElementData objects.
Used by the framework to separate data receiving and data processing. |
Properties | |
Scripting | |
Script | Contains information on a loaded and compiled C# script file. |
ScriptList | List of Script objects. |
Table | The Table namespace contains all table specific classes like the Table class itself, TableElement and effect assigment classes. |
Table | Holds all table specific information and handles all TableElements |
TableElement | Represents a element (e.g. Switch, Solenoid) of a pinball table |
TableElementData | Data representing the state of a table emlement |
TableElementList | List of TableElement objects. |
TableElementValueChangedEventArgs | EventArgs object for TableElementValueChanged events. |
Log | A simple logger used to record important events and exceptions.
|
Pinball | Pinball is the main object of the DirectOutput framework.
It holds all objects required to process Pinmame data, trigger the necessary effects and update toys and output controllers. |
DirectOutputComObjectRegister | Namespace for the DirectOutputComObjectRegister application. |
Program | Main class of the DirectOutputComObjectRegister application. |
DirectOutputConfigTester | |
Properties | |
ConfigTester | |
OpenConfigDialog | |
Settings | |
DirectOutputHyperpinPlugin | DirectOutputHyperpinPlugin is the namespace of the Dll implementing the actual plugin interface for Hyperpin. |
DirectOutputPlugin | DirectOutputPlugin is IHyperpinPlugin interface implementation required by Hyperpin. |
DirectPlugin | DirectPlugin is the namespace of the Dll implementing the actual plugin interface. |
DirectOutputPlugin | DirectOutputPlugin is the IPlugin interface implementation required by generic the PluginInterface.dll. |
DocumentationHelper | |
Program | |
PropertyDocuData | |
TypeDocuData | |
LedControlFileTester | Namespace for the LedControlFileTester application. |
Properties | |
LedControlFileTestWizard | This is the main form of the LedControlFileTester application.
It contains all functionality of the tester. |