/// <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; }
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])); }
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()); }