WIP
DirectOutput framework for virtual pinball cabinets WIP
Go to:
Overview 
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 123456]
 NB2SServerPluginDirectOutputPlugin is the namespace of the Dll implementing the actual plugin interface for the B2S Server.
 CPluginPlugin is the IDirectPlugin interface implementation required by the B2S Server.
 NDirectOutput
 NCabThe 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
 NOutDirectOutput.Cab.Out is the namespace for all output controller related classes like different output controller classes (all implementing IOutputController).
 NToysThe namespace DirectOutput.Cab.Toys contains all toy related classes.
 CCabinetThe Cabinet object describes the parts of a pinball cabinet (toys, outputcontrollers, outputs and more).
 CCabinetOutputListReadonly list containing all IOutput objects of all IOutputController objects in a cabinet.
 CCabinetOwner
 CICabinetOwner
 NFrontend
 CAvailableEffectsInfo
 CAvailableToysInfo
 CCabinetInfo
 CMainMenu
 CTableInfo
 NFXThe 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.
 NAnalogToyFXNamespace for effects controlling AnalogToy objects.
 NConditionFXNamespace for effects which trigger target effects based on conditions.
 NListFXThe DirectOutput.FX.ListFX namepsace contains the classes for the ListEffect.
 NMatrixFXEffects in this namespace are controlling toys which implement the IMatrix interface
 NNullFXThis namespace does only contain the NullEffect.
 NRGBAFXThis namespace contains effects which deal with RGBA toys. /summary>
 NTimmedFXNamespace for timmed effects (e.g. delay, duration)
 NValueFXEffects which influence the trigger value, before a target effect is called.
 CAssignedEffectHandles the assignemt of a effect to a AssignedEffectList.
 CAssignedEffectListList of effects which are assigned to some other object.
 CBeforeEffectNameChangeAventArgsEventArgs for the BeforeEffectNameChanged event
 CEffectBaseAbstract base class for IEffect objects.
This class inherits NamedItemBase and implements IEffect.
 CEffectEffectBaseBase class for effects targeting another effect.
 CEffectEventArgsThe EffectEventArgs class is used for events triggered by IEffect objects
 CEffectListCollection of IEffect objects. Every object can only exist once in the list and every objects needs to have a unique name.
 CIEffectCommon 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.
 NGeneralThe namespace DirectOutput.General contains classes for general use.
 NAnalog
 NBitmapHandling
 NColor
 NGeneric
 CCurveRepresents a curve which can be used to map values (e.g. adjust a brighnetss value of a led to the brightness perception of the human eye).
 CCurveList
 CFilePatternA file pattern class used to lookup files matching a specified pattern.
 CFilePatternListA list of file patterns.
 CKernel32ImportsThis class contains import of the kernel32.dll
 CThreadInfoThis object provides information on a thread.
 CThreadInfoListList of ThreadInfo objects.
This class is used by DOF for thread monitoring
 CTypeListList for Type objects.
 NGlobalConfiguration
 CGlobalConfigGlobal configuration for the DirectOutput framework.
 NLedControl
 NLoaderThe 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.
 NSetup
 NPinballSupportSupport classes used by the Pinball object.
 CAlarmHandlerThe 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:
 CInputQueueSimple queue of TableElementData objects.
Used by the framework to separate data receiving and data processing.
 NTableThe Table namespace contains all table specific classes like the Table class itself, TableElement and effect assigment classes.
 CTableHolds all table specific information and handles all TableElements
 CTableElementRepresents a element (e.g. Switch, Solenoid) of a pinball table
 CTableElementDataData representing the state of a table emlement
 CTableElementListList of TableElement objects.
 CTableElementValueChangedEventArgsEventArgs object for TableElementValueChanged events.
 CLogA simple logger used to record important events and exceptions.
 CPinballPinball 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.
 NDirectOutput_PinballX_Plugin_Tester
 CProgram
 NDirectOutputComObjectRegisterNamespace for the DirectOutputComObjectRegister application.
 CProgramMain class of the DirectOutputComObjectRegister application.
 NDirectOutputConfigTester
 CConfigTester
 COpenConfigDialog
 CSettings
 NDocumentationHelper
 CProgram
 CPropertyDocuData
 CTypeDocuData
 NDracLabs
 CIniFile
 CIniSection
 NGlobalConfigEditor
 CGlobalConfigEdit
 NLedControlFileTesterNamespace for the LedControlFileTester application.
 CLedControlFileTestWizardThis is the main form of the LedControlFileTester application.
It contains all functionality of the tester.
 NPinballX
 NTable2RomMapping
 CMappingSimple class containing the mappinging between tablename and romname
 CTableNameMappings
 CConfig
 CConfigure
 CDOFManager
 CGameInfo
 CPinballXInfo
 CPluginThis is the base calls for PinballX plugins. It contains the public methods which are called from PinballX when it is using the plugin.
 CPluginInfo
 NSystem
 NLinq
 NWindows
 NTest
 CProgram
 NUpdateNotification
 CNotification