当前位置: 首页>>代码示例>>C#>>正文


C# ICommand.ToChannelValuesAsBytes方法代码示例

本文整理汇总了C#中ICommand.ToChannelValuesAsBytes方法的典型用法代码示例。如果您正苦于以下问题:C# ICommand.ToChannelValuesAsBytes方法的具体用法?C# ICommand.ToChannelValuesAsBytes怎么用?C# ICommand.ToChannelValuesAsBytes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ICommand的用法示例。


在下文中一共展示了ICommand.ToChannelValuesAsBytes方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: UpdateState

 public override void UpdateState(int chainIndex, ICommand[] outputStates)
 {
     UpdateState(chainIndex, outputStates.ToChannelValuesAsBytes());
 }
开发者ID:Jchuchla,项目名称:vixen,代码行数:4,代码来源:E131OutputPlugin.cs

示例2: UpdateState

        public override void UpdateState(int chainIndex, ICommand[] outputStates)
        {
            Stopwatch stopWatch = Stopwatch.StartNew();
            var channelValues = outputStates.ToChannelValuesAsBytes();
            this._eventCnt++;

            if (_universeTable == null)
            {
                return;
            }

            foreach (var uE in this._universeTable)
            {
                if (uE.Active)
                {
                    if (this._eventRepeatCount > 0)
                    {
                        if (uE.EventRepeatCount-- > 0)
                        {
                            if (E131Packet.CompareSlots(uE.PhyBuffer, channelValues, uE.Start, uE.Size))
                            {
                                continue;
                            }
                        }
                    }

                    E131Packet.CopySeqNumSlots(uE.PhyBuffer, channelValues, uE.Start, uE.Size, this._seqNum++);
                    uE.Socket.SendTo(uE.PhyBuffer, uE.DestIpEndPoint);
                    uE.EventRepeatCount = this._eventRepeatCount;

                    uE.PktCount++;
                    uE.SlotCount += uE.Size;
                }
            }

            stopWatch.Stop();

            this._totalTicks += stopWatch.ElapsedTicks;
        }
开发者ID:kjburns31,项目名称:vixen-modules,代码行数:39,代码来源:E131OutputPlugin.cs

示例3: UpdateState

        public override void UpdateState(int chainIndex, ICommand[] outputStates)
        {
            Stopwatch stopWatch = Stopwatch.StartNew();

            //Make sure the setup form is closed & the plugin has started
            if (isSetupOpen && hasStarted)
            {
                return;
            }

            var channelValues = outputStates.ToChannelValuesAsBytes();

            int universeSize = 0;

            this._eventCnt++;

            if (_universeTable == null)
            {
                return;
            }

            foreach (var uE in this._universeTable)
            {
                //Check if the universe is active and inside a valid channel range
                if (uE.Active && (uE.Start+1) <= OutputCount)
                {
                    //Check the universe size boundary.
                    if ((uE.Start + 1 + uE.Size) > OutputCount)
                    {
                        universeSize = OutputCount - uE.Start-1;
                    }
                    else
                    {
                        universeSize = uE.Size;
                    }

                    //Reduce duplicate packets
                    //SeqNumbers are per universe so that they can run independently
                   if (this._eventRepeatCount > 0)
                    {
                        if (uE.EventRepeatCount-- > 0)
                        {
                            if (E131Packet.CompareSlots(uE.PhyBuffer, channelValues, uE.Start, universeSize))
                            {
                                continue;
                            }
                        }
                    }

                    //Not sure why this is needed, but the plugin will crash after being reconfigured otherwise.
                   if (uE.PhyBuffer != null)
                   {
                       E131Packet.CopySeqNumSlots(uE.PhyBuffer, channelValues, uE.Start, universeSize, uE.seqNum++);
                       uE.Socket.SendTo(uE.PhyBuffer, uE.DestIpEndPoint);
                       uE.EventRepeatCount = this._eventRepeatCount;

                       uE.PktCount++;
                       uE.SlotCount += uE.Size;
                   }
                }
            }

            stopWatch.Stop();

            this._totalTicks += stopWatch.ElapsedTicks;
        }
开发者ID:vegaslight,项目名称:vixen-modules,代码行数:66,代码来源:E131OutputPlugin.cs


注:本文中的ICommand.ToChannelValuesAsBytes方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。