Ejemplo n.º 1
0
        protected void OnRenderFrame(out double duration, out bool shouldStop)
        {
            RenderFrameEventArgs ea = new RenderFrameEventArgs();

            RenderFrame?.Invoke(this, ea);
            duration   = ea.Duration;
            shouldStop = ea.ShouldStop;
        }
Ejemplo n.º 2
0
        private static void FrameAnimator_RenderLights(object sender, RenderFrameEventArgs ea)
        {
            if (sender is FrameAnimator frameAnimator && frameAnimator.Data is Light light)
            {
                if (frameAnimator.FrameIndex >= light.SequenceData.Count)
                {
                    ea.ShouldStop = true;
                    return;
                }

                LightSequenceData lightData = light.SequenceData[frameAnimator.FrameIndex];

                DmxLight dmxLight = null;

                if (light.ID == BluetoothLights.Left_ID)
                {
                    dmxLight = DmxLight.Left;
                }
                else if (light.ID == BluetoothLights.Center_ID)
                {
                    dmxLight = DmxLight.Center;
                }
                else if (light.ID == BluetoothLights.Right_ID)
                {
                    dmxLight = DmxLight.Right;
                }

                if (dmxLight == null)
                {
                    return;
                }

                dmxLight.SetColor(lightData);
                //Task.Run(async () => await bluetoothLight.SetAsync(lightData.Hue, lightData.Saturation, lightData.Lightness));
                ea.Duration = lightData.Duration;
            }
        }
Ejemplo n.º 3
0
 private void FrameAnimator_RenderFrame(object sender, RenderFrameEventArgs ea)
 {
     RenderFrame(out double duration, out bool shouldStop);
     ea.Duration   = duration;
     ea.ShouldStop = shouldStop;
 }