public void SetMode() { Stopwatch sw = Stopwatch.StartNew(); using var client = new OpenRGBClient(); var devices = client.GetAllControllerData(); client.SetMode(0, 0); //for testing purposes for (int i = 0; i < devices.Length; i++) { for (int j = 0; j < devices[i].Modes.Length; j++) { var mode = devices[i].Modes[j]; if (mode.HasFlag(ModeFlags.HasModeSpecificColor) && mode.HasFlag(ModeFlags.HasSpeed)) { var len = (int)mode.ColorMax; client.SetMode(i, j, speed: mode.SpeedMax, colors: Enumerable.Range(0, len).Select(_ => new Color(0, 255, 0)).ToArray()); break; } } } Output.WriteLine($"Time elapsed: {(double)sw.ElapsedTicks / Stopwatch.Frequency * 1000} ms."); }
public void Configure(DriverDetails driverDetails) { client = new OpenRGBClient(name: "RGB Sync Studio", autoconnect: true, timeout: 1000); var deviceCount = client.GetControllerCount(); var devices = client.GetAllControllerData(); for (int devId = 0; devId < devices.Length; devId++) { ORGBControlDevice slsDevice = new ORGBControlDevice(); slsDevice.id = devId; slsDevice.Driver = this; slsDevice.Name = devices[devId].Name; slsDevice.DeviceType = DeviceTypeConverter.GetType(devices[devId].Type); slsDevice.Has2DSupport = false; slsDevice.ProductImage = (Bitmap)Image.FromStream(orgbImage); List <ControlDevice.LedUnit> deviceLeds = new List <ControlDevice.LedUnit>(); int i = 0; foreach (Led orgbLed in devices[devId].Leds) { ControlDevice.LedUnit slsLed = new ControlDevice.LedUnit(); slsLed.LEDName = orgbLed.Name; deviceLeds.Add(slsLed); } slsDevice.LEDs = deviceLeds.ToArray(); DeviceAdded?.Invoke(slsDevice, new Events.DeviceChangeEventArgs(slsDevice)); } }
public void TestProtocolVersionOne() { using OpenRGBClient versionZero = new OpenRGBClient(protocolVersion: 0); var devicesZero = versionZero.GetAllControllerData(); Assert.All(devicesZero, d => Assert.Null(d.Vendor)); using OpenRGBClient versionOne = new OpenRGBClient(protocolVersion: 1); var devicesOne = versionOne.GetAllControllerData(); Assert.All(devicesOne, d => Assert.NotNull(d.Vendor)); }
public override bool Initialize() { if (IsInitialized) { return(true); } try { var ip = Global.Configuration.VarRegistry.GetVariable <string>($"{DeviceName}_ip"); var port = Global.Configuration.VarRegistry.GetVariable <int>($"{DeviceName}_port"); var usePeriphLogo = Global.Configuration.VarRegistry.GetVariable <bool>($"{DeviceName}_use_periph_logo"); var ignoreDirectMode = Global.Configuration.VarRegistry.GetVariable <bool>($"{DeviceName}_ignore_direct"); _openRgb = new OpenRGBClient(name: "Aurora", ip: ip, port: port); _openRgb.Connect(); var devices = _openRgb.GetAllControllerData(); _devices = new List <HelperOpenRGBDevice>(); for (int i = 0; i < devices.Length; i++) { if (devices[i].Modes.Any(m => m.Name == "Direct") || ignoreDirectMode) { var helper = new HelperOpenRGBDevice(i, devices[i]); helper.ProcessMappings(usePeriphLogo); _devices.Add(helper); } } } catch (Exception e) { LogError("error in OpenRGB device: " + e); IsInitialized = false; return(false); } IsInitialized = true; return(IsInitialized); }