Alternative to MSI Mystic Light for controlling motherboard LEDs, without the fixed 7 colour limitation.
Fixes potential data races when accessing the LED chip. Adds other small stability fixes. Fixes LED chip not being correctly initialized from a cold boot (bug from v1.1.0).
Includes the fixes from the 3 beta releases:
Fixes unacceptable CPU usage (from 0.1-0.2% in previous beta release down to 0%) by implementing call batching. Scripts can now call Lighting.BatchBegin() and Lighting.BatchEnd() to batch updates to the LEDs. This way, calls are stored and only applied when BatchEnd() is called, which allows for optimizing the performance of the code by reducing the number of driver calls. Batching is optional, so this is backwards compatible. Fully implements fix for #13, so both Lighting.SetColour and Lighting.GetColour now work properly.
Reduces CPU usage down to 0.1-0.2% from 0.5%+ (tested on a Ryzen 5 1600 @ 3.7GHz).
Also fixes the order in which colours are applied on the chip (so there is no weird colour switching pattern anymore, i.e. the order of the colours from 1-8 is the same order in which the colours are displayed).
Adds the ability to query AIDA64 hardware sensor and system data via script. See the wiki for info on the Aida64 module. Fixes possibility of there being multiple instances of GUI open at the same time.
Adds support to switch between 8 colours as supported by the chip, instead of 4, which fixes problems related to wrong colours or wrong colour patterns being displayed by the LEDs.
Fixes #9 (if some other program used inpoutx64 as well, MSIRGB would fail to load its copy of the driver). Also fixes a problem where MSIRGB would not properly keep track of open handles to the driver, hence sometimes stopping/deleting the driver service when it shouldn't and making MSIRGB not start anymore.
Fixes MSIRGB not initializating the chip properly on Windows startup
Stops MSIRGB(.exe) from restarting an already running script on startup.
Fixes change from v1.0.2 (stopping os.sleep from blocking indefinitely) that reintroduced the high CPU usage issue that was fixed in v1.0.1, and adds a 'Stop running script' button for intuitiveness.