Commit Graph
22 Commits
Author SHA1 Message Date
Adam Honse e9f430d8ed Rework adding segments with ConfigureZone 2026-07-07 01:35:34 -05:00
Adam Honse a306cf815b Zone and Segment type updates
* Add zone flags to indicate if fields are manually configurable and if they have been manually configured
  * Add flags field to segment type
  * Add segment flags for group start and group member
  * Add color mode support flags to zone (RGB, RBG, GRB, GBR, BRG, BGR)
  * Add color mode enum to zone
  * Update zone and segment description functions to support new fields
  * Rename the effects-only configurable size flag
  * Remove zone type and matrix map configuration from E1.31 manual configuration, use zone editor instead
  * Rework DeviceResizeZone to DeviceConfigureZone
  * Rework most ARGB controllers to allow zone customizations
  * Rework DRGBController to define devices in DRGBDevices list (similar to RazerDevices)
  * Rework NollieController to define devices in NollieDevices list (similar to RazerDevices)
2026-07-07 01:35:34 -05:00
Adam Honse 3a74c85be8 Move RGBController base destructor functionality into RGBController::Shutdown() so that update thread can be stopped before deleting the controller. Shutdown() must be called in every RGBController implementation before deleting the controller. Also some fixes to the NetworkServer to avoid deadlocking and disconnect issues 2026-07-07 01:35:34 -05:00
Adam Honse 39f112bb98 Add optional HID device hotplug support (requires https://gitlab.com/OpenRGBDevelopers/hidapi-hotplug) 2026-07-07 01:35:34 -05:00
Adam Honse fe4ca34528 Move HID detector calls to RunHIDDetector/RunHIDWrappedDetector functions and return controller list from detector functions 2026-07-07 01:35:34 -05:00
Adam Honse 30e35eb44c Split out detection system from ResourceManager into DetectionManager
* Split detection system out into its own class, DetectionManager
    * Clean up ResourceManger's many callbacks into just two, one for detection and one general purpose
2026-07-07 01:35:34 -05:00
Adam Honse 25a753b97a RGBController API Overhaul
* Reorganize and clean up RGBController API functions
    * Add functions to get protected RGBController member values
    * Make NetworkClient, ProfileManager, and ResourceManager friend classes so they can access protected members
    * Protected previously-public RGBController members
        * Information strings (name, vendor, description, version, serial location)
        * Device type
        * Active mode
        * Flags
        * LEDs vector
        * LED alternate names vector
        * Modes vector
        * Colors vector
        * Zones vector
    * Add CONTROLLER_FLAG_HIDDEN to allow plugins to hide controllers from control GUI
    * Add update reason codes to RGBController update callback and signal updates on more RGBController events
    * Add loop zone types and segmented zone type
    * Add matrix map field to segments
    * Rework matrix_map_type from using pointers to vector to prevent memory leaks
    * Rework KeyboardLayoutManager to return new matrix_map_type
    * Add access mutex to RGBController API
    * Add per-zone modes ot RGBController API
    * Add JSON description functions to RGBController API
2026-07-07 01:35:34 -05:00
SU wuyi 5869e5ff31 Fix JGINYUE USB controller.Add destructor function to avoid memory leaks and serial occupied. 2025-12-26 10:34:32 +00:00
Adam Honse c71cc4f18a Change SPDX license identifier from GPL 2.0 only to GPL 2.0 or later, as the original LICENSE file includes an or later clause at the end so the file headers were incorrect 2025-09-28 00:47:08 -05:00
Adam Honse 2609822f8a Fix flickering on JGINYUE USB controller direct mode 2025-09-13 17:01:22 -05:00
Adam Honse e87d20b08d Fix JGINYUE not being detected in Linux 2025-06-26 00:28:05 -05:00
SU wuyi 7dcdef28c8 Initial commit for adding support to JGINYUE Motherboard Controller V2 2024-10-20 19:54:04 +00:00
Dmitry Kychanov 300abac9a8 Removed unused includes 2024-10-15 00:24:32 +00:00
James Buren 66109be668 Properly fix how how hidapi and libusb dependencies are handled 2024-08-05 01:14:17 +00:00
Adam Honse 215ae6118a Fix uninitialized bytes valgrind warning in JGINYUEInternalUSBController.cpp 2024-07-25 23:49:14 -05:00
Adam Honse beac78dcb6 Update JGINYUE USB controller files to new standardized header comment 2024-05-25 09:23:09 -05:00
Adam Honse 1bbfded78a Update more file header comments to standardized new format, move some locally owned files out of the dependencies folder 2024-05-08 11:53:07 -05:00
Adam Honse d89eb06cb1 Increase JGINYUE delay to prevent flickering at higher frame rate effects when zones have all 100 LEDs enabled 2024-03-21 00:40:50 -05:00
Adam Honse 6378f65ed1 Fix crash related to JGINYUE controller and clean up zone initializations 2024-03-21 00:26:42 -05:00
Adam Honse 730f83a97f Fix JGINYUE internal USB controller detection on Windows 2023-12-29 18:06:16 -06:00
Adam Honse db50b1f568 Add delay in between packets to stop flickering 2023-12-26 15:52:14 -06:00
Adam Honse 2d990ca037 JGINYUE USB controller cleanup, fix multiple detection 2023-12-26 15:52:08 -06:00