コード例 #1
0
        /// <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);
        }
コード例 #2
0
        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);*/
        }
コード例 #3
0
 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;
 }
コード例 #4
0
        /// <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);
        }
コード例 #5
0
 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);
 }
コード例 #6
0
 /// <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);
 }
コード例 #7
0
        /// <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);
        }
コード例 #8
0
        /// <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);
        }
コード例 #9
0
 /// <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);
 }
コード例 #10
0
        /// <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);
        }