コード例 #1
0
 /// <param name="channel"><see cref="AbstractChannelCommand.Channel"/></param>
 /// <param name="layer"><see cref="AbstractLayerCommand.Layer"/></param>
 /// <param name="enableChroma"><see cref="EnableChroma"/></param>
 /// <param name="chroma"><see cref="Chroma"/></param>
 /// <param name="transform"><see cref="Transform"/></param>
 public MixerChromaSetCommand(int?channel = null, int?layer = null, bool?enableChroma = null, MixerChroma chroma = null, Transform transform = null)
 {
     Channel      = channel;
     Layer        = layer;
     EnableChroma = enableChroma;
     Chroma       = chroma;
     Transform    = transform;
 }
コード例 #2
0
        internal override void ProcessData(AmcpParsedData data)
        {
            base.ProcessData(data);

            // TODO add logic to MixerChroma class Parse method ???
            var values = Converter.StringToDoubleArray(data.Data[1], " ", NumberStyles.AllowDecimalPoint, new CultureInfo("en-US"));

            IsChromaEnabled = Convert.ToBoolean(values[0]);
            Chroma          = new MixerChroma(values[1], values[2], values[3], values[4], values[5], values[6], values[7], Convert.ToBoolean(values[8]));
        }
コード例 #3
0
        private void MixerChromaSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs <double> e)
        {
            if (!IsLoaded || !_connection.IsConnected())
            {
                return;
            }

            var chroma = new MixerChroma
            {
                TargetHue               = MixerChromaTargetHueSlider.Value,
                HueWidth                = MixerChromaHueWidthSlider.Value,
                MinSaturation           = MixerChromaMinSaturationSlider.Value,
                MinBrightness           = MixerChromaMinBrightnessSlider.Value,
                Softness                = MixerChromaSoftnessSlider.Value,
                SpillSuppress           = MixerChromaSpillSuppressSlider.Value,
                SpillSuppressSaturation = MixerChromaSpillSuppressSaturationSlider.Value,
                ShowMask                = MixerChromaShowMaskCheckBox.IsChecked
            };

            new MixerChromaSetCommand(_channel, _layer, MixerChromaEnableCheckBox.IsChecked, chroma).ExecuteAsync(_connection).ContinueWith(task =>
            {
                if (task.Status == TaskStatus.RanToCompletion)
                {
                    new MixerChromaGetCommand(_channel, _layer).ExecuteAsync(_connection).ContinueWith(task2 =>
                    {
                        if (task2.Status == TaskStatus.RanToCompletion)
                        {
                            var chroma2 = task2.Result.Chroma;

                            MixerChromaTargetHueTextBlock.Text               = chroma2.TargetHue.GetValueOrDefault().ToString("000");
                            MixerChromaHueWidthTextBlock.Text                = chroma2.HueWidth.GetValueOrDefault().ToString("0.00");;
                            MixerChromaMinSaturationTextBlock.Text           = chroma2.MinSaturation.GetValueOrDefault().ToString("0.00");
                            MixerChromaMinBrightnessTextBlock.Text           = chroma2.MinBrightness.GetValueOrDefault().ToString("0.00");
                            MixerChromaSoftnessTextBlock.Text                = chroma2.Softness.GetValueOrDefault().ToString("0.00");
                            MixerChromaSpillSuppressTextBlock.Text           = chroma2.SpillSuppress.GetValueOrDefault().ToString("000");
                            MixerChromaSpillSuppressSaturationTextBlock.Text = chroma2.SpillSuppressSaturation.GetValueOrDefault().ToString("0.00");
                            MixerChromaShowMaskCheckBox.IsChecked            = chroma2.ShowMask.GetValueOrDefault();
                            MixerChromaEnableCheckBox.IsChecked              = task2.Result.IsChromaEnabled;
                        }
                    });
                }
            }, TaskScheduler.FromCurrentSynchronizationContext());
        }