/// <summary> /// Call this method to refresh the color properties /// </summary> /// <param name="player">player instance</param> /// <param name="density">density for adaptive color</param> public void LoadColor(Color primaryColor, Color secondaryColor) { this._primaryColor = primaryColor.ToChromaColor(); this._secondaryColor = secondaryColor.ToChromaColor(); var gradients = ColorProcessing.GenerateGradients(new[] { primaryColor, secondaryColor }, true); this._albumColors?.Dispose(); this._albumColors = new AutoshiftCirculaQueue <ChromaColor>(gradients.Select(ColorExtensions.ToChromaColor), 500); }
private ChromaWorker() { this._albumColors = AutoshiftCirculaQueue <ChromaColor> .Empty; this.FullGridArray = Listener.Plugin.ChromaEffect.Implementation.VirtualLedGrid.CreateDefaultGrid(); try { var adapters = new List <IPhysicalDeviceAdapter>(); adapters.Add(new RazerSdkAdapter()); adapters.Add(new AsusSdkAdapter()); this._deviceAdapters = adapters; } catch (Exception ex) { this.IsError = true; Debug.WriteLine(ex); } }