gitextract_fb__7fh1/ ├── .config/ │ └── dotnet-tools.json ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── feature_request.md │ │ └── rfi_request.md │ ├── scripts/ │ │ ├── GenerateVersionNumber-2.0.0.ps1 │ │ ├── GenerateVersionNumber.ps1 │ │ ├── UpdateAssemblyVersion.ps1 │ │ └── ZipBuildOutput.ps1 │ └── workflows/ │ ├── EssentialsPlugins-builds-4-series-caller.yml │ └── publish-docs.yml ├── .gitignore ├── .gitmodules ├── .releaserc.json ├── .vscode/ │ └── extensions.json ├── CONTRIBUTING.md ├── Crestron-Library-Usage-Analysis.md ├── IR Drivers/ │ ├── Apple_AppleTV_4th_Gen_Essentials.ir │ ├── Cisco Explorer 4642HDC.ir │ ├── Comcast Motorola DVR.ir │ ├── Comcast X1.ir │ ├── DirecTV H21.ir │ ├── EXPLORER 8200HD Full Set Pulsed.ir │ ├── Etisalat Cable Box.ir │ ├── Etisalat e-Vision.ir │ ├── Panasonic DMP-BD70.ir │ ├── Sony BDP Series.ir │ └── samsung_un_series.ir ├── LICENSE.md ├── PepperDash.Essentials.4Series.sln ├── README.md ├── Sample Presets/ │ └── SampleDirecTV.json ├── docs/ │ ├── docfx.json │ ├── docs/ │ │ ├── CardFrame.md │ │ ├── Get-started.md │ │ ├── Home.md │ │ ├── Plugins-Deprecated.md │ │ ├── SIMPL-Bridging-Deprecated.md │ │ ├── SIMPL-Bridging.md │ │ ├── getting-started.md │ │ ├── how-to/ │ │ │ └── how-to-add-docs.md │ │ ├── technical-docs/ │ │ │ ├── Arch-1.md │ │ │ ├── Arch-activate.md │ │ │ ├── Arch-lifecycle.md │ │ │ ├── Arch-summary.md │ │ │ ├── Arch-topics.md │ │ │ ├── Communication-Basics.md │ │ │ ├── ConfigurationStructure.md │ │ │ ├── Connection-Based-Routing.md │ │ │ ├── Debugging.md │ │ │ ├── Feedback-Classes.md │ │ │ ├── Glossary-of-Terms.md │ │ │ ├── Plugins.md │ │ │ └── Supported-Devices.md │ │ ├── toc.yml │ │ └── usage/ │ │ ├── Bridging-To-Hardware-Resources.md │ │ ├── DigitalInput.md │ │ ├── GenericComm.md │ │ ├── IR-Driver-Bridging.md │ │ ├── JoinMaps.md │ │ ├── RelayOutput.md │ │ ├── SIMPL-Bridging-Updated.md │ │ └── Standalone-Use.md │ ├── index.md │ └── toc.yml └── src/ ├── Directory.Build.props ├── Directory.Build.targets ├── PepperDash.Core/ │ ├── ComTextHelper.cs │ ├── Comm/ │ │ ├── CommunicationGather.cs │ │ ├── CommunicationStreamDebugging.cs │ │ ├── ControlPropertiesConfig.cs │ │ ├── EventArgs.cs │ │ ├── GenericSecureTcpIpClient.cs │ │ ├── GenericSecureTcpIpClient_ForServer.cs │ │ ├── GenericSecureTcpIpServer.cs │ │ ├── GenericSshClient.cs │ │ ├── GenericTcpIpClient.cs │ │ ├── GenericTcpIpClient_ForServer.cs │ │ ├── GenericTcpIpServer.cs │ │ ├── GenericUdpClient.cs │ │ ├── GenericUdpServer.cs │ │ ├── StreamDebuggingExtensions.cs │ │ ├── TcpClientConfigObject.cs │ │ ├── TcpServerConfigObject.cs │ │ ├── eControlMethods.cs │ │ ├── eStreamDebuggingDataTypeSettings.cs │ │ └── eStreamDebuggingSetting.cs │ ├── CommunicationExtras.cs │ ├── Config/ │ │ └── PortalConfigReader.cs │ ├── Conversion/ │ │ └── Convert.cs │ ├── CoreInterfaces.cs │ ├── Device.cs │ ├── EthernetHelper.cs │ ├── EventArgs.cs │ ├── GenericRESTfulCommunications/ │ │ ├── Constants.cs │ │ └── GenericRESTfulClient.cs │ ├── JsonStandardObjects/ │ │ ├── EventArgs and Constants.cs │ │ ├── JsonToSimplDevice.cs │ │ └── JsonToSimplDeviceConfig.cs │ ├── JsonToSimpl/ │ │ ├── Constants.cs │ │ ├── Global.cs │ │ ├── JsonToSimplArrayLookupChild.cs │ │ ├── JsonToSimplChildObjectBase.cs │ │ ├── JsonToSimplFileMaster.cs │ │ ├── JsonToSimplFixedPathObject.cs │ │ ├── JsonToSimplGenericMaster.cs │ │ ├── JsonToSimplMaster.cs │ │ └── JsonToSimplPortalFileMaster.cs │ ├── Logging/ │ │ ├── CrestronEnricher.cs │ │ ├── Debug.cs │ │ ├── DebugConsoleSink.cs │ │ ├── DebugContext.cs │ │ ├── DebugCrestronLoggerSink.cs │ │ ├── DebugErrorLogSink.cs │ │ ├── DebugExtensions.cs │ │ ├── DebugMemory.cs │ │ └── DebugWebsocketSink.cs │ ├── Network/ │ │ └── DiscoveryThings.cs │ ├── PasswordManagement/ │ │ ├── Config.cs │ │ ├── Constants.cs │ │ ├── PasswordClient.cs │ │ └── PasswordManager.cs │ ├── PepperDash.Core.csproj │ ├── PepperDashCore.build/ │ │ └── net472/ │ │ ├── PepperDashCore.props │ │ └── PepperDashCore.targets │ ├── Properties/ │ │ └── ControlSystem.cfg │ ├── SystemInfo/ │ │ ├── EventArgs and Constants.cs │ │ ├── SystemInfoConfig.cs │ │ └── SystemInfoToSimpl.cs │ ├── Web/ │ │ ├── BouncyCertificate.cs │ │ ├── RequestHandlers/ │ │ │ ├── DefaultRequestHandler.cs │ │ │ ├── WebApiBaseRequestAsyncHandler.cs │ │ │ └── WebApiBaseRequestHandler.cs │ │ └── WebApiServer.cs │ ├── WebApi/ │ │ └── Presets/ │ │ ├── Preset.cs │ │ ├── User.cs │ │ └── WebApiPasscodeClient.cs │ └── XSigUtility/ │ ├── Serialization/ │ │ ├── IXSigSerialization.cs │ │ └── XSigSerializationException.cs │ ├── Tokens/ │ │ ├── XSigAnalogToken.cs │ │ ├── XSigDigitalToken.cs │ │ ├── XSigSerialToken.cs │ │ ├── XSigToken.cs │ │ └── XSigTokenType.cs │ ├── XSigHelpers.cs │ ├── XSigTokenStreamReader.cs │ └── XSigTokenStreamWriter.cs ├── PepperDash.Essentials/ │ ├── AssetLoader.cs │ ├── ClassDiagram1.cd │ ├── ControlSystem.cs │ ├── Example Configuration/ │ │ ├── EssentialsHuddleSpaceRoom/ │ │ │ └── configurationFile-HuddleSpace-2-Source.json │ │ ├── EssentialsHuddleVtc1Room/ │ │ │ └── configurationFile-mockVideoCodec_din-ap3_-_dm4x1.json │ │ └── SIMPLBridging/ │ │ ├── SIMPLBridgeExample_configurationFile.json │ │ └── configurationFile-dmps3300c-avRouting.json │ ├── Factory/ │ │ └── DeviceFactory.cs │ ├── HttpLogoServer.cs │ ├── PepperDash.Essentials.csproj │ ├── Properties/ │ │ ├── ControlSystem.cfg │ │ └── UpdateAssemblyVersion.ps1 │ ├── SGD/ │ │ ├── PepperDash Essentials TSW-560.sgd │ │ ├── PepperDash Essentials TSW-760.sgd │ │ └── PepperDash Essentials iPad.sgd │ └── app.config ├── PepperDash.Essentials.Core/ │ ├── Bridges/ │ │ ├── BridgeBase.cs │ │ ├── BridgeHelper.cs │ │ ├── IBridge.cs │ │ └── JoinMaps/ │ │ ├── AirMediaControllerJoinMap.cs │ │ ├── AppleTvJoinMap.cs │ │ ├── C2nRthsControllerJoinMap.cs │ │ ├── CameraControllerJoinMap.cs │ │ ├── CenOdtOccupancySensorBaseJoinMap.cs │ │ ├── DisplayControllerJoinMap.cs │ │ ├── DmBladeChassisControllerJoinMap.cs │ │ ├── DmChassisControllerJoinMap.cs │ │ ├── DmRmcControllerJoinMap.cs │ │ ├── DmTxControllerJoinMap.cs │ │ ├── DmpsAudioOutputControllerJoinMap.cs │ │ ├── DmpsMicrophoneControllerJoinMap.cs │ │ ├── DmpsRoutingControllerJoinMap.cs │ │ ├── GenericIrControllerJoinMap.cs │ │ ├── GenericLightingJoinMap.cs │ │ ├── GenericRelayControllerJoinMap.cs │ │ ├── GlsOccupancySensorBaseJoinMap.cs │ │ ├── GlsPartitionSensorJoinMap.cs │ │ ├── HdMdNxM4kEControllerJoinMap.cs │ │ ├── HdMdxxxCEControllerJoinMap.cs │ │ ├── HdPsXxxControllerJoinMap.cs │ │ ├── Hrxxx0WirelessRemoteControllerJoinMap.cs │ │ ├── IAnalogInputJoinMap.cs │ │ ├── IBasicCommunicationJoinMap.cs │ │ ├── IDigitalInputJoinMap.cs │ │ ├── IDigitalOutputJoinMap.cs │ │ ├── IRBlurayBaseJoinMap.cs │ │ ├── PduJoinMapBase.cs │ │ ├── SetTopBoxControllerJoinMap.cs │ │ ├── StatusSignControllerJoinMap.cs │ │ ├── SystemMonitorJoinMap.cs │ │ └── VideoCodecControllerJoinMap.cs │ ├── Comm and IR/ │ │ ├── CecPortController.cs │ │ ├── ComPortController.cs │ │ ├── ComSpecJsonConverter.cs │ │ ├── CommBridge.cs │ │ ├── CommFactory.cs │ │ ├── CommunicationExtras.cs │ │ ├── ConsoleCommMockDevice.cs │ │ ├── GenericComm.cs │ │ ├── GenericHttpClient.cs │ │ └── IRPortHelper.cs │ ├── Config/ │ │ ├── AudioControlPointListItem.cs │ │ ├── BaseStreamingDeviceProperties.cs │ │ ├── BasicConfig.cs │ │ ├── ConfigPropertiesHelpers.cs │ │ ├── DeviceConfig.cs │ │ ├── Essentials/ │ │ │ ├── ConfigReader.cs │ │ │ ├── ConfigUpdater.cs │ │ │ ├── ConfigWriter.cs │ │ │ └── EssentialsConfig.cs │ │ ├── ILoadConfig.cs │ │ ├── InfoConfig.cs │ │ └── SourceDevicePropertiesConfigBase.cs │ ├── Crestron/ │ │ ├── CrestronGenericBaseDevice.cs │ │ └── CrestronGenericBaseDevice.cs.orig │ ├── CrestronIO/ │ │ ├── GenericDigitalInputDevice.cs │ │ ├── GenericRelayDevice.cs │ │ ├── GenericVersiportAnalogInputDevice.cs │ │ ├── GenericVersiportInputDevice.cs │ │ ├── GenericVersiportOutputDevice.cs │ │ ├── IAnalogInput.cs │ │ ├── IDigitalInput.cs │ │ ├── IDigitalOutput.cs │ │ ├── IHasCresnetBranches.cs │ │ ├── IOPortConfig.cs │ │ └── ISwitchedOutput.cs │ ├── Device Info/ │ │ ├── DeviceInfo.cs │ │ ├── DeviceInfoEventArgs.cs │ │ ├── IDeviceInfoProvider.cs │ │ └── NetworkDeviceHelpers.cs │ ├── DeviceControlsParentInterfaces/ │ │ └── IPresentationSource.cs │ ├── DeviceTypeInterfaces/ │ │ ├── IAudioZone.cs │ │ ├── IAudioZones.cs │ │ ├── IBasicVolumeControls.cs │ │ ├── IBasicVolumeWithFeedback.cs │ │ ├── IBasicVolumeWithFeedbackAdvanced.cs │ │ ├── IChannel.cs │ │ ├── IColorFunctions.cs │ │ ├── ICustomMobileControl.cs │ │ ├── IDPad.cs │ │ ├── IDiscPlayerControls.cs │ │ ├── IDisplay.cs │ │ ├── IDisplayBasic.cs │ │ ├── IDumbSource.cs │ │ ├── IDvr.cs │ │ ├── IEmergencyOSD.cs │ │ ├── IFullAudioSettings.cs │ │ ├── IHasBranding.cs │ │ ├── IHasCurrentVolumeControls.cs │ │ ├── IHasFarEndContentStatus.cs │ │ ├── IHasInputs.cs │ │ ├── IHasMuteControl.cs │ │ ├── IHasMuteControlWithFeedback.cs │ │ ├── IHasPhoneDialing.cs │ │ ├── IHasScreensWithLayouts.cs │ │ ├── IHasSurroundSoundModes.cs │ │ ├── IHasVolumeControl.cs │ │ ├── IHasVolumeControlWithFeedback.cs │ │ ├── IHasVolumeDevice.cs │ │ ├── IHasWebView.cs │ │ ├── IHumiditySensor.cs │ │ ├── ILanguageDefinition.cs │ │ ├── ILanguageProvider.cs │ │ ├── ILevelControls.cs │ │ ├── IMeterFeedback.cs │ │ ├── IMobileControl.cs │ │ ├── IMobileControlAction.cs │ │ ├── IMobileControlCrestronTouchpanelController.cs │ │ ├── IMobileControlMessage.cs │ │ ├── IMobileControlMessenger.cs │ │ ├── IMobileControlMessengerWithSubscriptions.cs │ │ ├── IMobileControlRoomMessenger.cs │ │ ├── IMobileControlTouchpanelController.cs │ │ ├── INumeric.cs │ │ ├── INvxNetworkPortInformation.cs │ │ ├── IPasswordPrompt.cs │ │ ├── IPower.cs │ │ ├── IProjectorScreenLiftControl.cs │ │ ├── ISelectableItem.cs │ │ ├── ISelectableItems.cs │ │ ├── ISetTopBoxControls.cs │ │ ├── IStateFeedback.cs │ │ ├── ITemperatureSensor.cs │ │ ├── ITransport.cs │ │ ├── ITvPresetsProvider.cs │ │ ├── IUiDisplayInfo.cs │ │ ├── IWarmingCooling.cs │ │ ├── LanguageLabel.cs │ │ ├── Template.cs │ │ └── eVolumeLevelUnits.cs │ ├── Devices/ │ │ ├── AudioControlListItemBase.cs │ │ ├── AudioInterfaces.cs │ │ ├── CameraListItem.cs │ │ ├── CodecInterfaces.cs │ │ ├── ConfigSnippetAttribute.cs │ │ ├── CrestronProcessor.cs │ │ ├── DescriptionAttribute.cs │ │ ├── DestinationListItem.cs │ │ ├── DeviceApiBase.cs │ │ ├── DeviceFeedbackExtensions.cs │ │ ├── DeviceJsonApi.cs │ │ ├── DeviceManager.cs │ │ ├── DisplayUiConstants.cs │ │ ├── EssentialsBridgeableDevice.cs │ │ ├── EssentialsDevice.cs │ │ ├── EssentialsDeviceFactory.cs │ │ ├── EssentialsPluginDevelopmentDeviceFactory.cs │ │ ├── EssentialsPluginDeviceFactory.cs │ │ ├── GenericIRController.cs │ │ ├── GenericMonitoredTcpDevice.cs │ │ ├── IAttachVideoStatus.cs │ │ ├── IAttachVideoStatusExtensions.cs │ │ ├── IDisplayUsage.cs │ │ ├── IDspPresets.cs │ │ ├── IHasFeedbacks.cs │ │ ├── IMakeModel.cs │ │ ├── IOnline.cs │ │ ├── IProjectorInterfaces.cs │ │ ├── IReconfigurableDevice.cs │ │ ├── IUsageTracking.cs │ │ ├── IrOutputPortController.cs │ │ ├── LevelControlListItem.cs │ │ ├── PduInterfaces.cs │ │ ├── PowerInterfaces.cs │ │ ├── PresentationDeviceType.cs │ │ ├── PresetListItem.cs │ │ ├── ProcessorExtensionDeviceFactory.cs │ │ ├── ReconfigurableDevice.cs │ │ ├── SmartObjectBaseTypes.cs │ │ ├── SourceListItem.cs │ │ └── VolumeDeviceChangeEventArgs.cs │ ├── Ethernet/ │ │ └── EthernetStatistics.cs │ ├── Extensions/ │ │ ├── IpAddressExtensions.cs │ │ ├── JsonExtensions.cs │ │ └── StringExtensions.cs │ ├── Factory/ │ │ ├── DeviceFactory.cs │ │ ├── DeviceFactoryWrapper.cs │ │ ├── IDeviceFactory.cs │ │ ├── IProcessorExtensionDeviceFactory.cs │ │ ├── ProcessorExtensionDeviceFactory.cs │ │ └── ReadyEventArgs.cs │ ├── Feedbacks/ │ │ ├── BoolFeedback.cs │ │ ├── BoolFeedbackOneShot.cs │ │ ├── BoolFeedbackPulseExtender.cs │ │ ├── BoolOutputLogicals.cs │ │ ├── FeedbackBase.cs │ │ ├── FeedbackCollection.cs │ │ ├── FeedbackEventArgs.cs │ │ ├── IntFeedback.cs │ │ ├── SerialFeedback.cs │ │ └── StringFeedback.cs │ ├── File/ │ │ └── FileIO.cs │ ├── Fusion/ │ │ ├── EssentialsHuddleSpaceRoomFusionRoomJoinMap.cs │ │ ├── FusionCustomPropertiesBridge.cs │ │ ├── FusionEventHandlers.cs │ │ ├── FusionProcessorQueries.cs │ │ ├── FusionRviDataClasses.cs │ │ ├── IEssentialsRoomFusionController.cs │ │ ├── IEssentialsRoomFusionControllerFactory.cs │ │ ├── IEssentialsRoomFusionControllerPropertiesConfig.cs │ │ ├── IFusionHelpRequest.cs │ │ └── eFusionHelpResponse.cs │ ├── Global/ │ │ ├── EthernetAdapterInfo.cs │ │ ├── Global.cs │ │ ├── JobTimer.cs │ │ └── Scheduler.cs │ ├── InUseTracking/ │ │ ├── IInUseTracking.cs │ │ └── InUseTracking.cs │ ├── Interfaces/ │ │ ├── ILogStrings.cs │ │ └── ILogStringsWithLevel.cs │ ├── JoinMaps/ │ │ └── JoinMapBase.cs │ ├── License/ │ │ └── EssentialsLicenseManager.cs │ ├── Lighting/ │ │ ├── Lighting Interfaces.cs │ │ └── LightingScene.cs │ ├── Microphone Privacy/ │ │ ├── MicrophonePrivacyController.cs │ │ └── MicrophonePrivacyControllerConfig.cs │ ├── Monitoring/ │ │ ├── CrestronGenericBaseCommunicationMonitor.cs │ │ ├── GenericCommunicationMonitor.cs │ │ ├── Interfaces.cs │ │ ├── StatusMonitorBase.cs │ │ ├── StatusMonitorCollection.cs │ │ └── SystemMonitorController.cs │ ├── PartitionSensor/ │ │ ├── EssentialsPartitionController.cs │ │ └── IPartitionStateProvider.cs │ ├── PepperDash.Essentials.Core.csproj │ ├── PepperDash_Essentials_Core.csproj.DotSettings │ ├── Plugins/ │ │ ├── IPluginDeviceFactory.cs │ │ └── PluginLoader.cs │ ├── Presets/ │ │ ├── DevicePresets.cs │ │ ├── DevicePresetsView.cs │ │ ├── Interfaces.cs │ │ ├── PresetBase.cs │ │ ├── PresetChannel.cs │ │ └── PresetsListSubpageReferenceListItem.cs │ ├── Properties/ │ │ └── ControlSystem.cfg │ ├── Queues/ │ │ ├── ComsMessage.cs │ │ ├── GenericQueue.cs │ │ ├── IQueue.cs │ │ ├── IQueueMessage.cs │ │ ├── ProcessStringMessage.cs │ │ └── StringResponseProcessor.cs │ ├── Ramps and Increments/ │ │ ├── ActionIncrementer.cs │ │ ├── NumericalHelpers.cs │ │ └── UshortSigIncrementer.cs │ ├── Room/ │ │ ├── Behaviours/ │ │ │ └── RoomOnToDefaultSourceWhenOccupied.cs │ │ ├── Combining/ │ │ │ ├── EssentialsRoomCombiner.cs │ │ │ ├── EssentialsRoomCombinerPropertiesConfig.cs │ │ │ ├── IEssentialsRoomCombiner.cs │ │ │ └── RoomCombinationScenario.cs │ │ ├── Config/ │ │ │ ├── EssentialsDualDisplayRoomPropertiesConfig.cs │ │ │ ├── EssentialsHuddleRoomPropertiesConfig.cs │ │ │ ├── EssentialsHuddleVtc1PropertiesConfig.cs │ │ │ ├── EssentialsNDisplayRoomPropertiesConfig.cs │ │ │ ├── EssentialsPresentationPropertiesConfig.cs │ │ │ ├── EssentialsRoomConfig.cs │ │ │ ├── EssentialsRoomEmergencyConfig.cs │ │ │ ├── EssentialsRoomScheduledEventsConfig.cs │ │ │ ├── EssentialsTechRoomConfig.cs │ │ │ ├── EssentialsVolumeLevelConfig.cs │ │ │ └── SimplRoomPropertiesConfig.cs │ │ ├── EsentialsRoomEmergencyContactClosure.cs │ │ ├── EssentialsRoomBase.cs │ │ ├── IEssentialsRoom.cs │ │ ├── IRoomEventSchedule.cs │ │ ├── Interfaces.cs │ │ ├── Room.cs │ │ └── iOccupancyStatusProvider.cs │ ├── Routing/ │ │ ├── DummyRoutingInputsDevice.cs │ │ ├── Extensions.cs │ │ ├── ICardPortsDevice.cs │ │ ├── ICurrentSources.cs │ │ ├── IHasCurrentSourceInfoChange.cs │ │ ├── IInputSync.cs │ │ ├── IMatrixRouting.cs │ │ ├── IRmcRouting.cs │ │ ├── IRmcRoutingWithFeedback.cs │ │ ├── IRouting.cs │ │ ├── IRoutingFeedback.cs │ │ ├── IRoutingHasVideoInputSyncFeedbacks.cs │ │ ├── IRoutingInputSlot.cs │ │ ├── IRoutingInputs.cs │ │ ├── IRoutingInputsOutputs.cs │ │ ├── IRoutingNumeric.cs │ │ ├── IRoutingNumericWithFeedback.cs │ │ ├── IRoutingOutputSlot.cs │ │ ├── IRoutingOutputs.cs │ │ ├── IRoutingSink.cs │ │ ├── IRoutingSinkWithFeedback.cs │ │ ├── IRoutingSinkWithSwitching.cs │ │ ├── IRoutingSlot.cs │ │ ├── IRoutingSource.cs │ │ ├── IRoutingWithClear.cs │ │ ├── IRoutingWithFeedback.cs │ │ ├── ITxRouting.cs │ │ ├── ITxRoutingWithFeedback.cs │ │ ├── RouteDescriptor.cs │ │ ├── RouteDescriptorCollection.cs │ │ ├── RouteRequest.cs │ │ ├── RouteRequestQueueItem.cs │ │ ├── RouteSwitchDescriptor.cs │ │ ├── RoutingFeedbackManager.cs │ │ ├── RoutingInputPort.cs │ │ ├── RoutingInputPortWithVideoStatuses.cs │ │ ├── RoutingNumericEventArgs.cs │ │ ├── RoutingOutputPort.cs │ │ ├── RoutingPort.cs │ │ ├── RoutingPortCollection.cs │ │ ├── RoutingPortNames.cs │ │ ├── TieLine.cs │ │ ├── TieLineConfig.cs │ │ ├── eRoutingPortConnectionType.cs │ │ └── eRoutingSignalType.cs │ ├── Secrets/ │ │ ├── CrestronGlobalSecretsProvider.cs │ │ ├── CrestronLocalSecretsProvider.cs │ │ ├── CrestronSecret.cs │ │ ├── Interfaces.cs │ │ ├── SecretsManager.cs │ │ └── SecretsPropertiesConfig.cs │ ├── Shades/ │ │ ├── Shade Interfaces.cs │ │ └── ShadeBase.cs │ ├── SigHelper.cs │ ├── SmartObjects/ │ │ ├── SmartObjectDPad.cs │ │ ├── SmartObjectDynamicList.cs │ │ ├── SmartObjectHelperBase.cs │ │ ├── SmartObjectNumeric.cs │ │ └── SubpageReferencList/ │ │ ├── SourceListSubpageReferenceList.cs │ │ ├── SubpageReferenceList.cs │ │ └── SubpageReferenceListItem.cs │ ├── Timers/ │ │ ├── CountdownTimer.cs │ │ └── RetriggerableTimer.cs │ ├── Touchpanels/ │ │ ├── CrestronTouchpanelPropertiesConfig.cs │ │ ├── Interfaces.cs │ │ ├── Keyboards/ │ │ │ └── HabaneroKeyboardController.cs │ │ ├── ModalDialog.cs │ │ ├── Mpc3Touchpanel.cs │ │ └── TriListExtensions.cs │ ├── TriListBridges/ │ │ └── HandlerBridge.cs │ ├── UI/ │ │ └── TouchpanelBase.cs │ ├── UI PageManagers/ │ │ ├── BlurayPageManager.cs │ │ ├── PageManager.cs │ │ ├── SetTopBoxThreePanelPageManager.cs │ │ ├── SetTopBoxTwoPanelPageManager.cs │ │ └── SinglePageManager.cs │ ├── Utilities/ │ │ └── ActionSequence.cs │ ├── VideoStatus/ │ │ └── VideoStatusOutputs.cs │ ├── Web/ │ │ ├── EssentialsWebApi.cs │ │ ├── EssentialsWebApiFactory.cs │ │ ├── EssentialsWebApiHelpers.cs │ │ ├── EssentialsWebApiPropertiesConfig.cs │ │ └── RequestHandlers/ │ │ ├── AppDebugRequestHandler.cs │ │ ├── DebugSessionRequestHandler.cs │ │ ├── DefaultRequestHandler.cs │ │ ├── DevJsonRequestHandler.cs │ │ ├── DevListRequestHandler.cs │ │ ├── DevMethodsRequestHandler.cs │ │ ├── DevPropsRequestHandler.cs │ │ ├── DisableAllStreamDebugRequestHandler.cs │ │ ├── DoNotLoadConfigOnNextBootRequestHandler.cs │ │ ├── GetFeedbacksForDeviceRequestHandler.cs │ │ ├── GetJoinMapForBridgeKeyRequestHandler.cs │ │ ├── GetJoinMapForDeviceKeyRequestHandler.cs │ │ ├── GetRoutesHandler.cs │ │ ├── GetRoutingDevicesAndTieLinesHandler.cs │ │ ├── GetRoutingPortsHandler.cs │ │ ├── GetTieLinesRequestHandler.cs │ │ ├── GetTypesByFilterRequestHandler.cs │ │ ├── GetTypesRequestHandler.cs │ │ ├── LoadConfigRequestHandler.cs │ │ ├── LoginRequestHandler.cs │ │ ├── ReportVersionsRequestHandler.cs │ │ ├── RestartProgramRequestHandler.cs │ │ ├── ServeDebugAppRequestHandler.cs │ │ ├── SetDeviceStreamDebugRequestHandler.cs │ │ └── ShowConfigRequestHandler.cs │ └── app.config ├── PepperDash.Essentials.Devices.Common/ │ ├── Audio/ │ │ └── GenericAudioOut.cs │ ├── AudioCodec/ │ │ ├── AudioCodecBase.cs │ │ ├── Interfaces/ │ │ │ ├── IAudioCodecInfo.cs │ │ │ └── IHasAudioCodec.cs │ │ └── MockAC/ │ │ ├── MockAC.cs │ │ └── MockAcPropertiesConfig.cs │ ├── Cameras/ │ │ ├── CameraBase.cs │ │ ├── CameraVisca.cs │ │ ├── IHasCameraPresets.cs │ │ └── Interfaces/ │ │ ├── CameraSelectedEventArgs.cs │ │ ├── IAmFarEndCamera.cs │ │ ├── ICameraCapabilities.cs │ │ ├── IHasAutoFocusMode.cs │ │ ├── IHasCameraAutoMode.cs │ │ ├── IHasCameraControls.cs │ │ ├── IHasCameraFocusControl.cs │ │ ├── IHasCameraMute.cs │ │ ├── IHasCameraMuteWithUnmuteRequest.cs │ │ ├── IHasCameraOff.cs │ │ ├── IHasCameraPanControl.cs │ │ ├── IHasCameraPtzControl.cs │ │ ├── IHasCameraTiltControl.cs │ │ ├── IHasCameraZoomControl.cs │ │ ├── IHasCameras.cs │ │ ├── IHasCamerasWithControls.cs │ │ ├── IHasCodecCameras.cs │ │ ├── IHasFarEndCameraControl.cs │ │ └── eCameraControlMode.cs │ ├── Codec/ │ │ ├── Call.cs │ │ ├── Cisco/ │ │ │ ├── IPresenterTrack.cs │ │ │ └── ISpeakerTrack.cs │ │ ├── CodecActiveCallItem.cs │ │ ├── CodecDirectory.cs │ │ ├── CodecScheduleAwareness.cs │ │ ├── ContactMethod.cs │ │ ├── DirectoryContact.cs │ │ ├── DirectoryEventArgs.cs │ │ ├── DirectoryFolder.cs │ │ ├── DirectoryItem.cs │ │ ├── ICiscoCodecCameraConfig.cs │ │ ├── IHasCallHold.cs │ │ ├── IHasDirectoryHistoryStack.cs │ │ ├── IHasDoNotDisturb.cs │ │ ├── IHasExternalSourceSwitching.cs │ │ ├── IInvitableContact.cs │ │ ├── InvitableDirectoryContact.cs │ │ ├── Meeting.cs │ │ ├── MeetingEventArgs.cs │ │ ├── eCodecCallDirection.cs │ │ ├── eCodecCallStatus.cs │ │ ├── eCodecCallType.cs │ │ ├── eContactMethodCallType.cs │ │ ├── eContactMethodDevice.cs │ │ ├── eMeetingEventChangeType.cs │ │ ├── eMeetingPrivacy.cs │ │ ├── iCodecAudio.cs │ │ ├── iHasCallFavorites.cs │ │ ├── iHasCallHistory.cs │ │ ├── iHasContentSharing.cs │ │ ├── iHasDialer.cs │ │ ├── iHasDirectory.cs │ │ └── iHasScheduleAwareness.cs │ ├── DSP/ │ │ └── DspBase.cs │ ├── DeviceFactory.cs │ ├── Displays/ │ │ ├── BasicIrDisplay.cs │ │ ├── DisplayBase.cs │ │ ├── InputInterfaces.cs │ │ ├── MockDisplay.cs │ │ ├── MockDisplayInputs.cs │ │ ├── ScreenLiftController.cs │ │ ├── ScreenLiftControllerConfigProperties.cs │ │ ├── ScreenLiftRelaysConfig.cs │ │ ├── TwoWayDisplayBase.cs │ │ └── eScreenLiftControlMode.cs │ ├── Generic/ │ │ ├── GenericSink.cs │ │ └── GenericSource.cs │ ├── Lighting/ │ │ └── LightingBase.cs │ ├── PepperDash.Essentials.Devices.Common.csproj │ ├── Properties/ │ │ └── ControlSystem.cfg │ ├── Room/ │ │ ├── IEssentialsHuddleSpaceRoom.cs │ │ ├── IEssentialsHuddleVtc1Room.cs │ │ ├── IEssentialsRoomPropertiesConfig.cs │ │ └── IEssentialsTechRoom.cs │ ├── SetTopBox/ │ │ ├── IRSetTopBoxBase.cs │ │ ├── IRSetTopBoxBaseFactory.cs │ │ └── SetTopBoxPropertiesConfig.cs │ ├── Shades/ │ │ ├── RelayControlledShade.cs │ │ ├── ShadeBase.cs │ │ └── ShadeController.cs │ ├── SoftCodec/ │ │ ├── BlueJeansPc.cs │ │ ├── BlueJeansPcFactory.cs │ │ ├── GenericSoftCodec.cs │ │ ├── GenericSoftCodecFactory.cs │ │ └── GenericSoftCodecProperties.cs │ ├── Sources/ │ │ ├── InRoomPc.cs │ │ ├── InRoomPcFactory.cs │ │ ├── Laptop.cs │ │ └── LaptopFactory.cs │ ├── Streaming/ │ │ ├── AppleTV.cs │ │ ├── AppleTVFactory.cs │ │ ├── AppleTvIrCommands.cs │ │ ├── Roku.cs │ │ └── Roku2Factory.cs │ └── VideoCodec/ │ ├── CiscoCodec/ │ │ ├── CallHistoryDataClasses.cs │ │ ├── RoomPresets.cs │ │ ├── eCommandType.cs │ │ ├── eExternalSourceMode.cs │ │ └── eExternalSourceType.cs │ ├── CodecCommandWithLabel.cs │ ├── CodecPhonebookSyncState.cs │ ├── ConvertiblePreset.cs │ ├── Interfaces/ │ │ ├── CodecParticipants.cs │ │ ├── IHasCodecLayouts.cs │ │ ├── IHasCodecSelfview.cs │ │ ├── IHasMeetingInfo.cs │ │ ├── IHasMeetingLock.cs │ │ ├── IHasMeetingRecording.cs │ │ ├── IHasMeetingRecordingWithPrompt.cs │ │ ├── IHasParticipantAudioMute.cs │ │ ├── IHasParticipantPinUnpin.cs │ │ ├── IHasParticipantVideoMute.cs │ │ ├── IHasParticipants.cs │ │ ├── IHasPresentationOnlyMeeting.cs │ │ ├── IHasSelfviewPosition.cs │ │ ├── IHasSelfviewSize.cs │ │ ├── IHasStandbyMode.cs │ │ ├── IHasStartMeeting.cs │ │ ├── IHasVideoCodec.cs │ │ ├── IJoinCalls.cs │ │ ├── MeetingInfo.cs │ │ ├── MeetingInfoEventArgs.cs │ │ ├── Participant.cs │ │ └── iVideoCodecInfo.cs │ ├── MockVC/ │ │ ├── MockCodecDirectory.cs │ │ ├── MockVC.cs │ │ ├── MockVCCamera.cs │ │ └── MockVcPropertiesConfig.cs │ └── VideoCodecBase.cs ├── PepperDash.Essentials.MobileControl/ │ ├── AuthorizationResponse.cs │ ├── ClientSpecificUpdateRequest.cs │ ├── IDelayedConfiguration.cs │ ├── MessageToClients.cs │ ├── MobileControlAction.cs │ ├── MobileControlConfig.cs │ ├── MobileControlDeviceFactory.cs │ ├── MobileControlEssentialsConfig.cs │ ├── MobileControlFactory.cs │ ├── MobileControlSimplDeviceBridge.cs │ ├── MobileControlSystemController.cs │ ├── PepperDash.Essentials.MobileControl.csproj │ ├── RoomBridges/ │ │ ├── MobileControlBridgeBase.cs │ │ ├── MobileControlEssentialsRoomBridge.cs │ │ ├── MobileControlSIMPLRoomBridge.cs │ │ └── SourceDeviceMapDictionary.cs │ ├── Services/ │ │ └── MobileControlApiService.cs │ ├── Touchpanel/ │ │ ├── ITheme.cs │ │ ├── ITswAppControl.cs │ │ ├── ITswAppControlMessenger.cs │ │ ├── ITswZoomControlMessenger.cs │ │ ├── MobileControlTouchpanelController.cs │ │ ├── MobileControlTouchpanelProperties.cs │ │ └── ThemeMessenger.cs │ ├── TransmitMessage.cs │ ├── UserCodeChanged.cs │ ├── UserCodeChangedContent.cs │ ├── Utilities.cs │ ├── Volumes.cs │ ├── WebApiHandlers/ │ │ ├── ActionPathsHandler.cs │ │ ├── DeleteAllUiClientsHandler.cs │ │ ├── MobileAuthRequestHandler.cs │ │ ├── MobileInfoHandler.cs │ │ └── UiClientHandler.cs │ └── WebSocketServer/ │ ├── ConnectionClosedEventArgs.cs │ ├── DeviceInterfaceInfo.cs │ ├── JoinResponse.cs │ ├── JoinToken.cs │ ├── MobileControlWebsocketServer.cs │ ├── ServerTokenSecrets.cs │ ├── UiClient.cs │ ├── UiClientContext.cs │ ├── Version.cs │ └── WebSocketServerSecretProvider.cs └── PepperDash.Essentials.MobileControl.Messengers/ ├── ContentTypes.cs ├── DeviceTypeExtensions/ │ ├── DisplayBaseMessenger.cs │ ├── IChannelMessenger.cs │ ├── IColorMessenger.cs │ ├── IDPadMessenger.cs │ ├── IDvrMessenger.cs │ ├── IHasPowerMessenger.cs │ ├── INumericMessenger.cs │ ├── ISetTopBoxControlsMessenger.cs │ └── ITransportMessenger.cs ├── Messengers/ │ ├── AudioCodecBaseMessenger.cs │ ├── CameraBaseMessenger.cs │ ├── CurrentSourcesMessenger.cs │ ├── DeviceEventMessageBase.cs │ ├── DeviceInfoMessenger.cs │ ├── DeviceMessageBase.cs │ ├── DevicePresetsModelMessenger.cs │ ├── DeviceStateMessageBase.cs │ ├── DeviceVolumeMessenger.cs │ ├── GenericMessenger.cs │ ├── IBasicVideoMuteWithFeedbackMessenger.cs │ ├── ICommunicationMonitorMessenger.cs │ ├── IDspPresetsMessenger.cs │ ├── IEssentialsRoomCombinerMessenger.cs │ ├── IHasCamerasMessenger.cs │ ├── IHasCamerasWithControlMessenger.cs │ ├── IHasCurrentSourceInfoMessenger.cs │ ├── IHasInputsMessenger.cs │ ├── IHasPowerControlWithFeedbackMessenger.cs │ ├── IHasScheduleAwarenessMessenger.cs │ ├── IHumiditySensor.cs │ ├── ILevelControlsMessenger.cs │ ├── IMatrixRoutingMessenger.cs │ ├── IProjectorScreenLiftControlMessenger.cs │ ├── IRunRouteActionMessenger.cs │ ├── ISelectableItemsMessenger.cs │ ├── IShutdownPromptTimerMessenger.cs │ ├── ISwitchedOutputMessenger.cs │ ├── ITechPasswordMessenger.cs │ ├── ITemperatureSensorMessenger.cs │ ├── LightingBaseMessenger.cs │ ├── MessengerBase.cs │ ├── PressAndHoldHandler.cs │ ├── RoomEventScheduleMessenger.cs │ ├── SIMPLAtcMessenger.cs │ ├── SIMPLCameraMessenger.cs │ ├── SIMPLDirectRouteMessenger.cs │ ├── SIMPLRouteMessenger.cs │ ├── SIMPLVtcMessenger.cs │ ├── ShadeBaseMessenger.cs │ ├── SimplMessengerPropertiesConfig.cs │ ├── SystemMonitorMessenger.cs │ ├── TwoWayDisplayBaseMessenger.cs │ └── VideoCodecBaseMessenger.cs ├── MobileControlMessage.cs ├── MobileControlSimpleContent.cs ├── PepperDash.Essentials.MobileControl.Messengers.csproj └── SIMPLJoinMaps/ ├── MobileControlSIMPLRoomJoinMap.cs ├── MobileControlSIMPLRunDirectRouteActionJoinMap.cs ├── SIMPLAtcJoinMap.cs └── SIMPLVtcJoinMap.cs