private void sendRGBValue(RGBOutput.IRGBOutput rgbOutput) { if (!_newRGBValue.Equals(_oldRGBValue)) { rgbOutput.ShowRGB(_newRGBValue); _oldRGBValue.CopyValues(_newRGBValue); } /* else * { * System.Diagnostics.Debug.WriteLine("Did not send Value, because it's the same as the old one"); * }*/ }
/// <summary> /// Fade a single RGB-Value /// </summary> /// <param name="oldValues">Old value to fade from</param> /// <param name="newValues">New Values to fade to</param> /// <param name="fade_time_ms">Time to sleedpbetween each fade iteration</param> public void Fade(RGBValue oldValue, RGBValue newValue, int fade_time_ms = 50) { RGBValue lastRGB = new RGBValue(); lastRGB.CopyValues(oldValue); while (!lastRGB.Equals(newValue) && _pauseEvent.WaitOne()) { lastRGB = GetNextFadeIteration(lastRGB, newValue); _rgbOutput.ShowRGB(lastRGB); Thread.Sleep(fade_time_ms); } }