Openrgb device updated implementation#338
Open
Aytackydln wants to merge 6 commits into
Open
Conversation
Contributor
Author
|
I added naming changes when DeviceId doesn't exist, for example with fans. Same change with common commit is also in OpenRGB PR |
…to openrgb-device-updated # Conflicts: # RGB.NET.Devices.OpenRGB/OpenRGBDeviceProvider.cs
…to openrgb-device-updated # Conflicts: # RGB.NET.Core/Ids/IdGenerator.cs # RGB.NET.Devices.OpenRGB/OpenRGBDeviceProvider.cs
logicallysynced
added a commit
to logicallysynced/RGB.NET
that referenced
this pull request
May 18, 2026
Brings in Aytackydln's OpenRGB device-changed event implementation (DarthAffe#338) with the using-statements conflict in OpenRGBDeviceProvider.cs resolved. Includes: - IdGenerator key type changed from Assembly to object (non-breaking) - OpenRGBClientWrapper added to track devices per client - DeviceListUpdated event wired into RefreshClient - Device name generation made consistent via HashAndShorten Co-Authored-By: Aytaç Kayadelen <kayadelena@gmail.com> Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
logicallysynced
added a commit
to logicallysynced/RGB.NET
that referenced
this pull request
May 22, 2026
…per again Reverts the Corsair half of the Aytackydln merge (PR DarthAffe#339) back to origin/Development. Drops the connection-state event refactor, the CreateSingleChannelDevice / CreateCorsairDeviceChannel helpers, and the direct IdGenerator.MakeUnique(typeof(...), ...) call sites — the provider now goes through DeviceHelper.CreateDeviceName the way every other provider does. Reason: PR DarthAffe#339's CorsairRGBDeviceInfo.cs calls IdGenerator.MakeUnique(object, string) directly, a signature that only exists in our patched RGB.NET.Core. Downstream consumers (Chromatics in particular) that load our RGB.NET.Devices.Corsair.dll alongside an upstream RGB.NET.Core.dll throw MissingMethodException on first device init — Sentry report traced to exactly this. Routing the call through DeviceHelper keeps the MakeUnique resolution internal to whichever Core assembly is loaded at runtime, so the Corsair DLL no longer needs the patched Core to function. The Core-level changes from PR DarthAffe#339 (RGBDeviceException catch in Initialize, [MethodImpl(Synchronized)] on GetUpdateTrigger, DeviceUpdateTrigger UpdateTask disposal reordering, and the IdGenerator Assembly->object change shared with PR DarthAffe#338) are intentionally kept — the OpenRGB provider still depends on the IdGenerator change. If a similar Sentry report ever lands for OpenRGB, the same revert recipe applies to RGB.NET.Devices.OpenRGB. Files reverted to origin/Development: - RGB.NET.Devices.Corsair/CorsairDeviceProvider.cs - RGB.NET.Devices.Corsair/Generic/CorsairRGBDevice.cs - RGB.NET.Devices.Corsair/Generic/CorsairRGBDeviceInfo.cs - RGB.NET.Devices.Corsair/Generic/ICorsairRGBDevice.cs - RGB.NET.Devices.Corsair/Native/_CUESDK.cs - RGB.NET.Devices.Corsair/Native/_CorsairDeviceInfo.cs Files deleted (added by PR DarthAffe#339): - RGB.NET.Devices.Corsair/Enum/CorsairEventId.cs - RGB.NET.Devices.Corsair/Native/_CorsairDeviceConnectionStatusChangedEvent.cs - RGB.NET.Devices.Corsair/Native/_CorsairEvent.cs Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds DevicesChanged implementation for OpenRgb library.
Breaking Changes
Previously device names were created different each time, adding number in a paranthesis in their names. This caused problems when devices were reconnected or while checking if the device is new or not.
My proposal is adding a hash to the Device Names based on serial or device location (for internal devices). For zones and segments, their zone or segment name is also appended and not using incremental numbers in Device Names