Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RGB

A small Windows console client built on RGB.NET that drives the LEDs of every supported device on the machine at once.

What it does

On start-up the app loads the Asus, Corsair and Logitech device providers, aligns them into a single RGBSurface and prints the devices it found. From there it runs one of two modes:

Mode Argument Behaviour
Rainbow (none) Puts a moving LinearGradientBrush with a RainbowGradient across all LEDs. A timer advances the gradient every 100 ms.
Sync sync Reads the colour of the Asus mainboard's Mainboard1 LED and mirrors it onto every other LED, so peripherals follow whatever the mainboard software is doing.

The colour mirroring is done by SyncBrush, a tiny AbstractBrush that returns the sync LED's current colour for every render target.

Usage

REM rainbow across all devices
RGB.exe

REM mirror the mainboard colour onto everything else
RGB.exe sync

The process keeps running until you press a key.

Building

Open RGB.sln in Visual Studio and build, or use MSBuild:

nuget restore RGB.sln -Source https://www.myget.org/F/rgb_net/api/v3/index.json
msbuild /property:Configuration=Release RGB.sln

The RGB.NET packages used here are pre-release builds published to the project's MyGet feed rather than nuget.org, so the extra -Source is required. .gitlab-ci.yml in the repo root does the same two steps on a Windows runner.

Tech stack

  • C#, .NET Framework 4.6.1, console application
  • RGB.NET (Core, Brushes, Groups) plus the Asus, Corsair and Logitech device providers

Requirements

  • Windows
  • The vendor software/SDKs that RGB.NET talks to (Aura, iCUE, Logitech Gaming Software). Sync mode additionally needs an Asus mainboard — it aborts with "No mainboard to sync with is loaded." if none is detected.

Note that sync mode opens Asus devices without exclusive access on purpose, so the mainboard can be read back while its own software controls it.

Status

A 2018 experiment against an early RGB.NET version. The API has changed considerably since, so expect to update the calls before it compiles against a current release.

License

MIT — see LICENSE.

About

Windows console client built on RGB.NET that drives Asus, Corsair and Logitech LEDs together: a moving rainbow gradient across all devices, or mirroring the mainboard LED colour onto every peripheral.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages