Reduced SignalRGB’s idle (Non-Effect) CPU Usage by ~30%.
There have been a lot a improvements made to installing effects which should help alleviate issues with 404 errors and missing effects.
Fixed an issue with effects not being updated unless the cache was cleared or the user logged out and back in.
All Effect metadata will be re-fetched on the first launch of 2.2.27 to fix this for existing users.
Deleting an effect that is currently selected will now change to either Rainbow or Screen Ambience as appropriate.
Effect Cards on the dashboard will now display a loading indicator that blocks interactions while the effect is being downloaded.
Effects will now automatically reattempt downloads on failure up to 5 times over 60 seconds.
The Download Manager will now allow 10 concurrent downloads to help speed up the initial effect sync after logging into an existing SignalRGB account.
The Navigation Panel has had a minor redesign.
Minor visual tweaks.
Key navigation is now supported. (Tab, Up/Down arrows, enter, space, and right arrow).
You can now manually change the size of the navigation panel, and this will persist between sessions.
Users email and last name will no longer be shown in the bottom left corner.
For users having issues with installing SignalRGB we’ve added a few things to make it clearer why SignalRGB may not be launching after install.
First Time installs of SignalRGB should now properly prompt for administrator rights if needed instead of silently exiting on some systems.
Systems that do not support AVX2 instructions will now get a descriptive error message instead of SignalRGB quietly failing to open.
“lghub_updater.exe” is no longer considered a conflicting process.
Fixed an issue where Layouts wouldn’t react to changes in FX strip segments, or hue lights in the selected entertainment area.
Users logging out while on the Creator Console page will now be moved to the Customize Page automatically.
Component Brand and Type dropdowns are now sorted case insensitively.
Windows Settings now contains a setting to always launch SignalRGB minimized in the system tray.
The Title Bar now properly supports High DPI Scaling for the clickable area.
Device Properties are no longer checked for updates each frame, but instead now lean fully on the plugin event system to queue updates when the value changes for a minor reduction in CPU usage.
The Details button of device alerts will now take you to the devices page for that device instead of the deprecated device configuration page.
Added minor debug logging if Ultralight fails to load an effect file.
System Monitoring is now threaded and will no longer affect how responsive SignalRGB’s interface is.
Added more validation checks for if the previous sessions window is in a visible position on launch.
Several USB Device attributes during usb detection are now lazy loaded to reduce wasted operations.
The speed at which we convert data for use in device plugins has been increased by ~30%
ExEngine Bindings for Screen Ambience and Audio use in effects is now more conditional based on what the effect uses to reduce wasted operations.
Crash Fixes
Fixed a crash that could happen when deleting the currently playing effect in the middle of a render cycle.
Fixed a potential crash that could happen on application exit or when a device is removed from the system.
Fixed a rare crash on application exit for users with WhirlwindFX Element or Atom Keyboards.
Fixed a rare crash on application start for people with either developer or side-loaded effects.
Fixed a rare crash on application exit for users with USB Fan Controllers.
Macros
The Macro Emergency Stop hotkey is now Control + Shift + Delete to accommodate users without a Pause Break Key.
Fixed an issue where SignalRGB could crash when a Process Started/Ended event happens during a garbage cleaner cycle.
Fixed an issue where the scrollbar could randomly jump out of view when creating a new macro while already having 12+.
The ‘Word Typed’ macro input now properly supports shift modified symbols (~!@#$%^&*()_+{}|:"<>?)
The ‘Foreground App Match’ input now defaults to detecting via the active windows EXE name.
You can change between ‘Exe Name’ and "Window Title’ detection modes via a dropdown.
Added device.clearReadBuffer() to quickly discard all pending packets. This function only works with HID Write/Read devices, but is ~100x faster than doing the equivalent in JS.
device.notify() now takes an optional 4th parameter for if the alerts details button should take the user to the device’s setting page, or open the device’s documentation page in a web browser.
device.log() and bus.log() will now use a recursive scan for deeply nested objects/arrays.
Plugin Errors will now print out a more complete stack trace showing the entire function call chain.
Added device.getHidEndpoints() to get an array of all available hid endpoints on the device. This function isn’t populated until just before Validate() is called.