DirectOutput
DirectOutput framework R3 for virtual pinball cabinets.
Loading...
Searching...
No Matches
DirectOutput.GlobalConfiguration.GlobalConfig Class Reference

Global configuration for the DirectOutput framework.
More...

Public Member Functions

Dictionary< int, FileInfo > GetIniFilesDictionary (string TableFilename="")
 Gets the a dictionary containing all ini files (file) and their number (key).
FileInfo GetTableMappingFile (string TableFilename="")
 Gets a FileInfo object pointing to the table mapping file or null if no table mapping file exists.
FileInfo GetShapeDefinitionFile (string TableFilename="", string RomName="")
 Gets the FileInfo object for the xml file defining the shapes to be used by DOF.
FileInfo GetCabinetConfigFile ()
 FileInfo object for the file containing the configuration of the cabinet (outputs, toys and so on).
DirectoryInfo GetCabinetConfigDirectory ()
 Gets the cabinet config directory.
FileInfo GetTableConfigFile (string FullTableFilename)
 Gets a FileInfo object for the table config file.
The file is looked up using the list of the property TableConfigFilePatterns. If more than one file matches the search patterns, only the first file is returned.
string GetLogFilename (string TableFilename="", string RomName="")
 Gets the log filename based on the LogFilePattern with replaced placeholders.
string GlobalConfigDirectoryName ()
 Path to the directory where the global config is stored (readonly).
DirectoryInfo GetGlobalConfigDirectory ()
 Gets a DirectoryInfo object for the global config directory.
FileInfo GetGlobalConfigFile ()
 Gets a FileInfo object for the global config file.
string GetGlobalConfigXml ()
 Returns a serialized XML representation of the global configuration.
void SaveGlobalConfig (string GlobalConfigFilename="")
 Saves the GlobalConfig to the file specified in GlobalConfigFilename.
Before saving the current global config file is backed up.
 GlobalConfig ()
 Initializes a new instance of the GlobalConfig class.

Static Public Member Functions

static GlobalConfig GetGlobalConfigFromConfigXmlFile (string GlobalConfigFileName)
 Instantiates a GlobalConfig object from a global configuration in a XML file.
If the global config file does not exist or can not be loaded, null will be returned.
static GlobalConfig GetGlobalConfigFromGlobalConfigXml (string ConfigXml)
 Instantiates a GlobalConfig object from a global configuration in a XML string.

Properties

int LedWizDefaultMinCommandIntervalMs [get, set]
 Gets or sets the minimal interval between commands sent to the LedWiz. This works around a design defect in the LedWiz that makes it misinterpret commands if USB packets are sent too quickly. See LedWiz.cs for details.
int LedControlMinimumEffectDurationMs [get, set]
 Gets or sets the minimum duration in milliseconds for LedControl effects occupying one output (e.g. contactors).
This settings has no effect if a duration or blinking is defined for the LedControlEffect.
If this value is not specified in the global config file, 60 milliseconds will be used by default.
int LedControlMinimumRGBEffectDurationMs [get, set]
 Gets or sets the minimum duration in milliseconds for LedControl effects controlling RGB LEDs.
This settings has no effect if a duration or blinking is defined for the LedControlEffect. If this value is not specified in the global config file, 120 milliseconds will be used by default.
int PacLedDefaultMinCommandIntervalMs [get, set]
 Gets or sets the minimal interval between commands sent to the PacLed64. The PacLed appears to have a design defect similar to the LedWiz that requires a similar workaround of spacing out commands sent to the device.
string IniFilesPath [get, set]
 Gets or sets the path to the ini files used for table configurations.
FilePattern ShapeDefinitionFilePattern [get, set]
 Gets or sets the path and name for the file containing shape definitions.
FilePattern CabinetConfigFilePattern [get, set]
 Gets or sets the path and name of the cabinet config file.
FilePatternList TableConfigFilePatterns [get, set]
 Gets or sets the config file patterns used to lookup the table configuration.
bool EnableLogging [get, set]
 Gets or sets a value indicating whether important events in the framework are logged to a file.
bool ClearLogOnSessionStart [get, set]
 Gets or sets a value indicating whether DOF clears the log file on session start.
FilePattern LogFilePattern [get, set]
 Gets or sets the log file pattern.
The log file pattern supports the following placeholders:
string Instrumentation [get, set]
string GlobalConfigFilename [get, set]
 Gets or sets the global config filename.

Detailed Description

Global configuration for the DirectOutput framework.

Constructor & Destructor Documentation

◆ GlobalConfig()

DirectOutput.GlobalConfiguration.GlobalConfig.GlobalConfig ( )

Initializes a new instance of the GlobalConfig class.

Member Function Documentation

◆ GetCabinetConfigDirectory()

DirectoryInfo DirectOutput.GlobalConfiguration.GlobalConfig.GetCabinetConfigDirectory ( )

Gets the cabinet config directory.

Returns
The DirectoryInfo object for the cabinet config directory or null if no CabinetConfigFile is available.

◆ GetCabinetConfigFile()

FileInfo DirectOutput.GlobalConfiguration.GlobalConfig.GetCabinetConfigFile ( )

FileInfo object for the file containing the configuration of the cabinet (outputs, toys and so on).

Returns
FileInfo object for the file containing the configuration of the cabinet or null if no file has been specified.

◆ GetGlobalConfigDirectory()

DirectoryInfo DirectOutput.GlobalConfiguration.GlobalConfig.GetGlobalConfigDirectory ( )

Gets a DirectoryInfo object for the global config directory.

Returns
The DirectoryInfo object for the global config directory or null if no GlobalConfigFilename is defined.

◆ GetGlobalConfigFile()

FileInfo DirectOutput.GlobalConfiguration.GlobalConfig.GetGlobalConfigFile ( )

Gets a FileInfo object for the global config file.

Returns
FileInfo object for the global config file or null if no filename has been set.

◆ GetGlobalConfigFromConfigXmlFile()

GlobalConfig DirectOutput.GlobalConfiguration.GlobalConfig.GetGlobalConfigFromConfigXmlFile ( string GlobalConfigFileName)
static

Instantiates a GlobalConfig object from a global configuration in a XML file.
If the global config file does not exist or can not be loaded, null will be returned.

Parameters
GlobalConfigFileNameName of the global config XML file.
Returns
GlobalConfig object or null.

◆ GetGlobalConfigFromGlobalConfigXml()

GlobalConfig DirectOutput.GlobalConfiguration.GlobalConfig.GetGlobalConfigFromGlobalConfigXml ( string ConfigXml)
static

Instantiates a GlobalConfig object from a global configuration in a XML string.

Parameters
ConfigXmlXML string
Returns
GlobalConfig object for the specified ConfigXML or null if the XML data can not be deserialized.

◆ GetGlobalConfigXml()

string DirectOutput.GlobalConfiguration.GlobalConfig.GetGlobalConfigXml ( )

Returns a serialized XML representation of the global configuration.

Returns
XMLString

◆ GetIniFilesDictionary()

Dictionary< int, FileInfo > DirectOutput.GlobalConfiguration.GlobalConfig.GetIniFilesDictionary ( string TableFilename = "")

Gets the a dictionary containing all ini files (file) and their number (key).

Parameters
TableFilenameThe table filename.
Returns
Dictionary of ini files. Key is the ini file number, value is the ini file.

◆ GetLogFilename()

string DirectOutput.GlobalConfiguration.GlobalConfig.GetLogFilename ( string TableFilename = "",
string RomName = "" )

Gets the log filename based on the LogFilePattern with replaced placeholders.

Parameters
TableFilenameThe table filename.
RomNameName of the rom.
Returns

◆ GetShapeDefinitionFile()

FileInfo DirectOutput.GlobalConfiguration.GlobalConfig.GetShapeDefinitionFile ( string TableFilename = "",
string RomName = "" )

Gets the FileInfo object for the xml file defining the shapes to be used by DOF.

Returns
FileInfo object for the xml file defining the shapes to be used by DOF

◆ GetTableConfigFile()

FileInfo DirectOutput.GlobalConfiguration.GlobalConfig.GetTableConfigFile ( string FullTableFilename)

Gets a FileInfo object for the table config file.
The file is looked up using the list of the property TableConfigFilePatterns. If more than one file matches the search patterns, only the first file is returned.

Parameters
FullTableFilenameThe table filename (The *.vpt file for the table, not the config file).
Returns
A FileInfo object for the table config file or null if no matching file was found.

◆ GetTableMappingFile()

FileInfo DirectOutput.GlobalConfiguration.GlobalConfig.GetTableMappingFile ( string TableFilename = "")

Gets a FileInfo object pointing to the table mapping file or null if no table mapping file exists.

Parameters
TableFilenameThe table filename (optional).
Returns
FileInfo object pointing to the table mapping file or null if no table mapping file exists

◆ GlobalConfigDirectoryName()

string DirectOutput.GlobalConfiguration.GlobalConfig.GlobalConfigDirectoryName ( )

Path to the directory where the global config is stored (readonly).

Returns
string containing to the global config directory.

◆ SaveGlobalConfig()

void DirectOutput.GlobalConfiguration.GlobalConfig.SaveGlobalConfig ( string GlobalConfigFilename = "")

Saves the GlobalConfig to the file specified in GlobalConfigFilename.
Before saving the current global config file is backed up.

Parameters
GlobalConfigFilename(Optional)Global config filename. If no value is supplied the value of the property GlobalConfigFilename will be used.

Property Documentation

◆ CabinetConfigFilePattern

FilePattern DirectOutput.GlobalConfiguration.GlobalConfig.CabinetConfigFilePattern
getset

Gets or sets the path and name of the cabinet config file.

The path and name of the cabinet config file.

◆ ClearLogOnSessionStart

bool DirectOutput.GlobalConfiguration.GlobalConfig.ClearLogOnSessionStart
getset

Gets or sets a value indicating whether DOF clears the log file on session start.

true if DOF should clear the log file on session start; otherwise, false.

◆ EnableLogging

bool DirectOutput.GlobalConfiguration.GlobalConfig.EnableLogging
getset

Gets or sets a value indicating whether important events in the framework are logged to a file.

true if logging is enabled, false if logging is disabled.

◆ GlobalConfigFilename

string DirectOutput.GlobalConfiguration.GlobalConfig.GlobalConfigFilename
getset

Gets or sets the global config filename.

The global config filename.

◆ IniFilesPath

string DirectOutput.GlobalConfiguration.GlobalConfig.IniFilesPath
getset

Gets or sets the path to the ini files used for table configurations.

The path to the directory containing the ini files used for table configurations.

◆ Instrumentation

string DirectOutput.GlobalConfiguration.GlobalConfig.Instrumentation
getset

◆ LedControlMinimumEffectDurationMs

int DirectOutput.GlobalConfiguration.GlobalConfig.LedControlMinimumEffectDurationMs
getset

Gets or sets the minimum duration in milliseconds for LedControl effects occupying one output (e.g. contactors).
This settings has no effect if a duration or blinking is defined for the LedControlEffect.
If this value is not specified in the global config file, 60 milliseconds will be used by default.

The minimum effect duration in milliseconds.

◆ LedControlMinimumRGBEffectDurationMs

int DirectOutput.GlobalConfiguration.GlobalConfig.LedControlMinimumRGBEffectDurationMs
getset

Gets or sets the minimum duration in milliseconds for LedControl effects controlling RGB LEDs.
This settings has no effect if a duration or blinking is defined for the LedControlEffect. If this value is not specified in the global config file, 120 milliseconds will be used by default.

The minimum effect duration in milliseconds.

◆ LedWizDefaultMinCommandIntervalMs

int DirectOutput.GlobalConfiguration.GlobalConfig.LedWizDefaultMinCommandIntervalMs
getset

Gets or sets the minimal interval between commands sent to the LedWiz. This works around a design defect in the LedWiz that makes it misinterpret commands if USB packets are sent too quickly. See LedWiz.cs for details.

The minimum interval between commands sent to LedWiz units, in milliseconds.

◆ LogFilePattern

FilePattern DirectOutput.GlobalConfiguration.GlobalConfig.LogFilePattern
getset

Gets or sets the log file pattern.
The log file pattern supports the following placeholders:

  • {GlobalConfigDir} - Config folder (subfolder of main install folder)
  • {DllDir} - DOF main install folder - DEPRECATED, use InstallDir instead
  • {AssemblyDir} - DOF main install folder - DEPRECATED, use InstallDir instead
  • {InstallDir} - DOF main install folder
  • {BinDir} - folder containing current executing assembly DLL/EXE
  • {TableDir} - pinball table (.vpx) folder when running under VP
  • {TableName} - pinball table name
  • {RomName} - ROM name when VPinMame is running
  • {DateTime} - current date and time, YYYYMMDD hhmmss format
  • {Date} - current date, YYYYMMDD format
  • {Time} - current time, hhmmss format

Note that {DllDir} is a misnomer; it's actually the installation folder. In the newer install configuration, the DLLs are in subfolders that separate them by architecture (x86\, x64). Since {DllDir} is used in user-editable config files for locating assets (e.g., the predefined .png files for matrix effects), we have to preserve its semantic meaning of the folder containing the asset files. It's still the parent folder of the DLLs as long as you think of the DLL name as a relative path starting with the the x86\ or x64\ subfolder name. Because the name is a misnomer under the new installation layout, this variable should no longer be used - use {InstallDir} instead, since that's properly named for its function. If you actually need the executing binary file's location, use {BinDir}.

The log file pattern.

◆ PacLedDefaultMinCommandIntervalMs

int DirectOutput.GlobalConfiguration.GlobalConfig.PacLedDefaultMinCommandIntervalMs
getset

Gets or sets the minimal interval between commands sent to the PacLed64. The PacLed appears to have a design defect similar to the LedWiz that requires a similar workaround of spacing out commands sent to the device.

The minimum interval between commands sent to PacLed units, in milliseconds.

◆ ShapeDefinitionFilePattern

FilePattern DirectOutput.GlobalConfiguration.GlobalConfig.ShapeDefinitionFilePattern
getset

Gets or sets the path and name for the file containing shape definitions.

The path and name of the file containing shape definitions.

◆ TableConfigFilePatterns

FilePatternList DirectOutput.GlobalConfiguration.GlobalConfig.TableConfigFilePatterns
getset

Gets or sets the config file patterns used to lookup the table configuration.

The table config file patterns.


The documentation for this class was generated from the following file:
  • D:/a/DirectOutput/DirectOutput/DirectOutput/GlobalConfiguration/GlobalConfig.cs