DGI.Framework.Core.SystemDisplays 1.0.0-rc1

DGI Framework Core System Displays

Core Library for the control of all displays on a System (single or multiple rooms). Part of the DGI Framework.

The SystemDisplays class holds a List Collection of all displays on a system. Because each display on a system implements the IDgiRoom interface, each display can be given specific names and specific rooms it belongs, as well as a type generic identifier. This information is later used to uniquely identify a display. When instantiating a display in the system, the SystemDisplays Class will create a unique ID for the display that can later be used to communicate back and forth with a UI.

To instantiate each display the SystemDisplays class requires an instance of the SystemDisplaysConfiguration class passed to its constructor. This class should be created first in the main program. Is up to the main program to hard code the configuration, or to read it by deserializing it from a JSON string for example.

Each individual display driver in turn implements the IDgiCommunication interface, so the communication (Dot Net TCP, Dot Net UDP, CrestronComPort) method can be passed along to the individual display instantiation using the configuration information. This makes it easy to swap from one type of display driver to the next, without having to change the main program code. The communication implementation is effectively decoupled from the business logic.

Display Control Implementation

The functions implemented by this class correspond to the IDgiDisplay interface and they are currently:

  • PowerOn
  • PowerOff
  • VideoMute
  • AudioMute
  • SetInput

The Display state is provided by the following properties

  • PowerState
    • IsOff
    • IsOn
    • IsPoweringOn
    • IsPoweringOff
  • VideoIsMuted
  • AudioIsMuted
  • ActiveInput
    • HDMI1
    • HDMI2
    • DisplayPort
    • HdBaseT

Events that this driver provides are. The driver will only update the State when a change actually happens, providing a read only class with the state of the whole projector (all projector properties are passed around)

  • DisplayStateChange

No packages depend on DGI.Framework.Core.SystemDisplays.

Initial Release. Based off of the ARE Project

.NET Framework 4.7

Version Downloads Last updated
1.0.0-rc1 5 11/5/2023