/// <summary> /// Constructor for Tesira DSP Dialer /// </summary> /// <param name="key">Unique Key</param> /// <param name="config">Component Config</param> /// <param name="parent">Parent Device</param> public TesiraDspDialer(string key, TesiraDialerControlBlockConfig config, TesiraDsp parent) : base(key, config.DialerInstanceTag, config.ControlStatusInstanceTag, config.Index, config.CallAppearance, parent, config.BridgeIndex) { Key = string.Format("{0}--Dialer{1}", parent.Key, key); Feedbacks = new FeedbackCollection <Feedback>(); DialStringFeedback = new StringFeedback(Key + "-DialStringFeedback", () => DialString); OffHookFeedback = new BoolFeedback(Key + "-OffHookFeedback", () => OffHookStatus); AutoAnswerFeedback = new BoolFeedback(Key + "-AutoAnswerFeedback", () => AutoAnswerState); DoNotDisturbFeedback = new BoolFeedback(Key + "-DoNotDisturbFeedback", () => DoNotDisturbState); CallerIdNumberFeedback = new StringFeedback(Key + "-CallerIDNumberFeedback", () => CallerIdNumber); CallerIdNameFeedback = new StringFeedback(Key + "-CallerIDNameFeedback", () => CallerIdName); IncomingCallFeedback = new BoolFeedback(Key + "-IncomingCallFeedback", () => IncomingCallState); CallStateFeedback = new IntFeedback(Key + "-CallStateFeedback", () => (int)CallStatusEnum); LastDialedFeedback = new StringFeedback(Key + "-LastDialedFeedback", () => LastDialed); NameFeedback = new StringFeedback(Key + "-NameFeedback", () => Name); DisplayNumberFeedback = new StringFeedback(Key + "-DisplayNumberFeedback", () => DisplayNumber); Feedbacks.Add(DialStringFeedback); Feedbacks.Add(OffHookFeedback); Feedbacks.Add(AutoAnswerFeedback); Feedbacks.Add(DoNotDisturbFeedback); Feedbacks.Add(CallerIdNumberFeedback); Feedbacks.Add(CallerIdNameFeedback); Feedbacks.Add(IncomingCallFeedback); Feedbacks.Add(CallStateFeedback); Feedbacks.Add(LastDialedFeedback); Feedbacks.Add(NameFeedback); Feedbacks.Add(DisplayNumberFeedback); parent.Feedbacks.AddRange(Feedbacks); Initialize(key, config); }
public TesiraDspMeter(string key, TesiraMeterBlockConfig config, TesiraDsp parent) : base(config.MeterInstanceTag, string.Empty, config.Index, 0, parent, string.Format(KeyFormatter, parent.Key, key), config.Label, config.BridgeIndex) { DeviceManager.AddDevice(this); Label = config.Label; Enabled = config.Enabled; MeterFeedback = new IntFeedback(Key + "-MeterFeedback", () => _currentMeter); SubscribedFeedback = new BoolFeedback(Key + "-SubscribedFeedback", () => IsSubscribed); Feedbacks.Add(MeterFeedback); Feedbacks.Add(SubscribedFeedback); Feedbacks.Add(NameFeedback); parent.Feedbacks.AddRange(Feedbacks); if (config.MeterData != null) { var data = config.MeterData; _meterMinimum = data.MeterMimimum; _meterMaximum = data.MeterMaxiumum; _defaultPollTime = data.DefaultPollTime; } else { _meterMinimum = MeterMinimumDefault; _meterMaximum = MeterMaximumDefault; _defaultPollTime = DefaultPollTimeDefault; } /*CrestronConsole.AddNewConsoleCommand(s => Subscribe(), "enablemeters", "", ConsoleAccessLevelEnum.AccessOperator); * CrestronConsole.AddNewConsoleCommand(s => UnSubscribe(), "disablemeters", "", ConsoleAccessLevelEnum.AccessOperator);*/ }
protected TesiraDspDialerControlPoint(string key, string instanceTag1, string instanceTag2, int index1, int index2, TesiraDsp parent, uint?bridgeIndex) : base(string.Format(KeyFormatter, parent.Key, key), key) { BridgeIndex = bridgeIndex; InstanceTag1 = string.IsNullOrEmpty(instanceTag1) ? "" : instanceTag1; InstanceTag2 = string.IsNullOrEmpty(instanceTag2) ? "" : instanceTag2; Index1 = index1; Index2 = index2; Parent = parent; }
/// <summary> /// Constructor for Device Info Object /// </summary> /// <param name="key">Unique Key</param> /// <param name="name">Friendly Name</param> /// <param name="parent">Parent Device</param> public TesiraDspDeviceInfo(string key, string name, TesiraDsp parent, Dictionary <string, TesiraDspPresets> presets) : base(key, name) { Presets = presets; _parent = parent; NameFeedback = new StringFeedback(() => _parent.Name); Feedbacks.Add(NameFeedback); Feedbacks.Add(_parent.CommunicationMonitor.IsOnlineFeedback); Feedbacks.Add(_parent.CommandPassthruFeedback); }
protected TesiraDspControlPoint(string instanceTag1, string instanceTag2, int index1, int index2, TesiraDsp parent, string key, string name, uint?bridgeIndex) : base(key, name) { BridgeIndex = bridgeIndex; Feedbacks = new FeedbackCollection <Feedback>(); InstanceTag1 = string.IsNullOrEmpty(instanceTag1) ? "" : instanceTag1; InstanceTag2 = string.IsNullOrEmpty(instanceTag2) ? "" : instanceTag2; Index1 = index1; Index2 = index2; Parent = parent; NameFeedback = new StringFeedback(key + "-NameFeedback", () => Name); }
/// <summary> /// Constructor for Tesira Dsp Room Combiner Component /// </summary> /// <param name="key">Unique Key</param> /// <param name="config">configuration object</param> /// <param name="parent">Parent Object</param> public TesiraDspRoomCombiner(string key, TesiraRoomCombinerBlockConfig config, TesiraDsp parent) : base(config.RoomCombinerInstanceTag, "", config.RoomIndex, 0, parent, string.Format(KeyFormatter, parent.Key, key), config.Label, config.BridgeIndex) { Initialize(config); }
/// <summary> /// Constructor for Tesira DSP Matrix Mixer Component /// </summary> /// <param name="key">Unique Key for Component</param> /// <param name="config">Config Object for Component</param> /// <param name="parent">Parent object of Component</param> public TesiraDspCrosspointState(string key, TesiraCrosspointStateBlockConfig config, TesiraDsp parent) : base(config.MatrixInstanceTag, string.Empty, config.Index1, config.Index2, parent, string.Format(KeyFormatter, parent.Key, key), config.Label, config.BridgeIndex) { Label = config.Label; Enabled = config.Enabled; CrosspointStateFeedback = new BoolFeedback(Key + "-CrosspointStateFeedback", () => _state); Feedbacks.Add(CrosspointStateFeedback); Feedbacks.Add(NameFeedback); parent.Feedbacks.AddRange(Feedbacks); }
/// <summary> /// Constructor for Tesira Dsp Switcher Component /// </summary> /// <param name="key">Unique Key</param> /// <param name="config">Sqitcher Config Object</param> /// <param name="parent">Parent Object</param> public TesiraDspSwitcher(string key, TesiraSwitcherControlBlockConfig config, TesiraDsp parent) : base(config.SwitcherInstanceTag, String.Empty, config.Index1, 0, parent, string.Format(KeyFormatter, parent.Key, key), config.Label, config.BridgeIndex) { SourceIndexFeedback = new IntFeedback(Key + "-SourceIndexFeedback", () => SourceIndex); InputPorts = new RoutingPortCollection <RoutingInputPort>(); OutputPorts = new RoutingPortCollection <RoutingOutputPort>(); Feedbacks.Add(SourceIndexFeedback); Feedbacks.Add(NameFeedback); parent.Feedbacks.AddRange(Feedbacks); Initialize(config); }
/// <summary> /// Constructor for Component /// </summary> /// <param name="key">Unique Identifier for component</param> /// <param name="config">Config Object of Component</param> /// <param name="parent">Parent object of Component</param> public TesiraDspFaderControl(string key, TesiraFaderControlBlockConfig config, TesiraDsp parent) : base(config.LevelInstanceTag, config.MuteInstanceTag, config.Index1, config.Index2, parent, String.Format(KeyFormatter, parent.Key, key), config.Label, config.BridgeIndex) { Initialize(config); }
/// <summary> /// Constructor for StateControl Component /// </summary> /// <param name="key">Unique Key for Component</param> /// <param name="config">Config Object for Component</param> /// <param name="parent">Component Parent Object</param> public TesiraDspStateControl(string key, TesiraStateControlBlockConfig config, TesiraDsp parent) : base(config.StateInstanceTag, String.Empty, config.Index, 0, parent, string.Format(KeyFormatter, parent.Key, key), config.Label, config.BridgeIndex) { Debug.Console(2, this, "New State Instance Tag = {0}", config.StateInstanceTag); Debug.Console(2, this, "Starting State {0} Initialize", key); StateFeedback = new BoolFeedback(Key + "-StateFeedback", () => _state); Feedbacks.Add(StateFeedback); Feedbacks.Add(NameFeedback); parent.Feedbacks.AddRange(Feedbacks); Initialize(config); }