From 5db766cfa0a6b6ff4dbd02af7f5695c3b1b10d5e Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Fri, 15 Aug 2025 16:16:06 -0500 Subject: [PATCH] Store name in CoolerMasterControllers to avoid setting it in detectors --- .../CMARGBGen2A1Controller.cpp | 8 +++- .../CMARGBGen2A1Controller.h | 6 ++- .../RGBController_CMARGBGen2A1Controller.cpp | 26 ++++++------- .../CMKeyboardAbstractController.cpp | 11 ++---- .../CMKeyboardAbstractController.h | 3 +- .../CMKeyboardV1Controller.cpp | 2 +- .../CMKeyboardV1Controller.h | 2 +- .../CMKeyboardV2Controller.cpp | 2 +- .../CMKeyboardV2Controller.h | 2 +- .../CMMMController/CMMMController.cpp | 9 ++++- .../CMMMController/CMMMController.h | 3 +- .../RGBController_CMMMController.cpp | 4 +- .../CMMonitorController.cpp | 8 +++- .../CMMonitorController/CMMonitorController.h | 7 +++- .../RGBController_CMMonitorController.cpp | 6 +-- .../CoolerMasterControllerDetect.cpp | 38 +++++++++---------- 16 files changed, 78 insertions(+), 59 deletions(-) diff --git a/Controllers/CoolerMasterController/CMARGBGen2A1Controller/CMARGBGen2A1Controller.cpp b/Controllers/CoolerMasterController/CMARGBGen2A1Controller/CMARGBGen2A1Controller.cpp index 65f2fdf5..5e7683eb 100644 --- a/Controllers/CoolerMasterController/CMARGBGen2A1Controller/CMARGBGen2A1Controller.cpp +++ b/Controllers/CoolerMasterController/CMARGBGen2A1Controller/CMARGBGen2A1Controller.cpp @@ -14,10 +14,11 @@ #include "CMARGBGen2A1Controller.h" #include "StringUtils.h" -CMARGBGen2A1controller::CMARGBGen2A1controller(hid_device* dev_handle, const hid_device_info& info) +CMARGBGen2A1controller::CMARGBGen2A1controller(hid_device* dev_handle, const hid_device_info& info, std::string dev_name) { dev = dev_handle; location = info.path; + name = dev_name; /*---------------------------------------------*\ | Setup direct mode on start | @@ -35,6 +36,11 @@ std::string CMARGBGen2A1controller::GetDeviceLocation() return("HID: " + location); } +std::string CMARGBGen2A1controller::GetNameString() +{ + return(name); +} + std::string CMARGBGen2A1controller::GetSerialString() { wchar_t serial_string[128]; diff --git a/Controllers/CoolerMasterController/CMARGBGen2A1Controller/CMARGBGen2A1Controller.h b/Controllers/CoolerMasterController/CMARGBGen2A1Controller/CMARGBGen2A1Controller.h index d7d5feba..7b30ee32 100644 --- a/Controllers/CoolerMasterController/CMARGBGen2A1Controller/CMARGBGen2A1Controller.h +++ b/Controllers/CoolerMasterController/CMARGBGen2A1Controller/CMARGBGen2A1Controller.h @@ -86,11 +86,12 @@ enum class CMARGBGen2A1controller { public: - CMARGBGen2A1controller(hid_device* dev_handle, const hid_device_info& info); + CMARGBGen2A1controller(hid_device* dev_handle, const hid_device_info& info, std::string dev_name); ~CMARGBGen2A1controller(); - std::string GetSerialString(); std::string GetDeviceLocation(); + std::string GetNameString(); + std::string GetSerialString(); void SendChannelColors(unsigned int zone_id, unsigned int subchannel_id, std::vector colors); void SetupZoneSize(unsigned int zone_id, unsigned int size); @@ -101,6 +102,7 @@ public: private: std::string location; + std::string name; bool software_mode_activated = false; hid_device* dev; diff --git a/Controllers/CoolerMasterController/CMARGBGen2A1Controller/RGBController_CMARGBGen2A1Controller.cpp b/Controllers/CoolerMasterController/CMARGBGen2A1Controller/RGBController_CMARGBGen2A1Controller.cpp index 2fbd4704..704b97cb 100644 --- a/Controllers/CoolerMasterController/CMARGBGen2A1Controller/RGBController_CMARGBGen2A1Controller.cpp +++ b/Controllers/CoolerMasterController/CMARGBGen2A1Controller/RGBController_CMARGBGen2A1Controller.cpp @@ -35,13 +35,13 @@ RGBController_CMARGBGen2A1Controller::RGBController_CMARGBGen2A1Controller(CMARGBGen2A1controller* controller_ptr) { controller = controller_ptr; - name = "CoolerMaster LED Controller A1"; + + name = controller->GetNameString(); vendor = "CoolerMaster"; type = DEVICE_TYPE_LEDSTRIP; - description = name; + description = "CoolerMaster LED Controller A1 Device"; location = controller->GetDeviceLocation(); serial = controller->GetSerialString(); - version = ""; mode Direct; Direct.name = "Direct"; @@ -155,16 +155,16 @@ RGBController_CMARGBGen2A1Controller::RGBController_CMARGBGen2A1Controller(CMARG modes.push_back(FillFlow); mode Rainbow; - Rainbow.name = "Rainbow"; - Rainbow.value = CM_ARGB_GEN2_A1_RAINBOW_MODE; - Rainbow.flags = MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_SPEED | MODE_FLAG_MANUAL_SAVE;; - Rainbow.color_mode = MODE_COLORS_NONE; - Rainbow.brightness = CM_ARGB_GEN2_A1_BRIGHTNESS_MAX; - Rainbow.brightness_min = CM_ARGB_GEN2_A1_BRIGHTNESS_MIN; - Rainbow.brightness_max = CM_ARGB_GEN2_A1_BRIGHTNESS_MAX; - Rainbow.speed = CM_ARGB_GEN2_A1_SPEED_MAX/2; - Rainbow.speed_min = CM_ARGB_GEN2_A1_SPEED_MIN; - Rainbow.speed_max = CM_ARGB_GEN2_A1_SPEED_MAX; + Rainbow.name = "Rainbow"; + Rainbow.value = CM_ARGB_GEN2_A1_RAINBOW_MODE; + Rainbow.flags = MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_SPEED | MODE_FLAG_MANUAL_SAVE;; + Rainbow.color_mode = MODE_COLORS_NONE; + Rainbow.brightness = CM_ARGB_GEN2_A1_BRIGHTNESS_MAX; + Rainbow.brightness_min = CM_ARGB_GEN2_A1_BRIGHTNESS_MIN; + Rainbow.brightness_max = CM_ARGB_GEN2_A1_BRIGHTNESS_MAX; + Rainbow.speed = CM_ARGB_GEN2_A1_SPEED_MAX/2; + Rainbow.speed_min = CM_ARGB_GEN2_A1_SPEED_MIN; + Rainbow.speed_max = CM_ARGB_GEN2_A1_SPEED_MAX; modes.push_back(Rainbow); mode Custom; diff --git a/Controllers/CoolerMasterController/CMKeyboardController/CMKeyboardAbstractController.cpp b/Controllers/CoolerMasterController/CMKeyboardController/CMKeyboardAbstractController.cpp index faab708f..655c0f73 100644 --- a/Controllers/CoolerMasterController/CMKeyboardController/CMKeyboardAbstractController.cpp +++ b/Controllers/CoolerMasterController/CMKeyboardController/CMKeyboardAbstractController.cpp @@ -12,20 +12,20 @@ #include "CMKeyboardAbstractController.h" #include "StringUtils.h" -CMKeyboardAbstractController::CMKeyboardAbstractController(hid_device* dev_handle, hid_device_info* dev_info) +CMKeyboardAbstractController::CMKeyboardAbstractController(hid_device* dev_handle, hid_device_info* dev_info, std::string dev_name) { wchar_t tmp[HID_MAX_STR]; m_pDev = dev_handle; m_productId = dev_info->product_id; m_sLocation = dev_info->path; + m_deviceName = dev_name; hid_get_manufacturer_string(m_pDev, tmp, HID_MAX_STR); m_vendorName = StringUtils::wstring_to_string(tmp); hid_get_product_string(m_pDev, tmp, HID_MAX_STR); - m_deviceName = StringUtils::wstring_to_string(tmp); - m_serialNumber = m_deviceName; + m_serialNumber = StringUtils::wstring_to_string(tmp); bool bNotFound = true; @@ -55,11 +55,6 @@ std::string CMKeyboardAbstractController::GetDeviceName() return(m_deviceName); } -void CMKeyboardAbstractController::SetDeviceName(std::string name) -{ - m_deviceName = name; -} - std::string CMKeyboardAbstractController::GetDeviceVendor() { return(m_vendorName); diff --git a/Controllers/CoolerMasterController/CMKeyboardController/CMKeyboardAbstractController.h b/Controllers/CoolerMasterController/CMKeyboardController/CMKeyboardAbstractController.h index 5ac6a2b7..23c865e7 100644 --- a/Controllers/CoolerMasterController/CMKeyboardController/CMKeyboardAbstractController.h +++ b/Controllers/CoolerMasterController/CMKeyboardController/CMKeyboardAbstractController.h @@ -56,7 +56,7 @@ enum cm_keyboard_control_mode class CMKeyboardAbstractController { public: - CMKeyboardAbstractController(hid_device* dev_handle, hid_device_info* dev_info); + CMKeyboardAbstractController(hid_device* dev_handle, hid_device_info* dev_info, std::string dev_name); virtual ~CMKeyboardAbstractController(); /*---------------------------------------------------------*\ @@ -64,7 +64,6 @@ public: \*---------------------------------------------------------*/ int GetProductID(); std::string GetDeviceName(); - void SetDeviceName(std::string name); std::string GetDeviceVendor(); std::string GetDeviceSerial(); std::string GetLocation(); diff --git a/Controllers/CoolerMasterController/CMKeyboardController/CMKeyboardV1Controller.cpp b/Controllers/CoolerMasterController/CMKeyboardController/CMKeyboardV1Controller.cpp index e758d780..c00ccf0f 100644 --- a/Controllers/CoolerMasterController/CMKeyboardController/CMKeyboardV1Controller.cpp +++ b/Controllers/CoolerMasterController/CMKeyboardController/CMKeyboardV1Controller.cpp @@ -13,7 +13,7 @@ #include "CMKeyboardV1Controller.h" #include "LogManager.h" -CMKeyboardV1Controller::CMKeyboardV1Controller(hid_device* dev_handle, hid_device_info* dev_info) : CMKeyboardAbstractController(dev_handle, dev_info) +CMKeyboardV1Controller::CMKeyboardV1Controller(hid_device* dev_handle, hid_device_info* dev_info, std::string dev_name) : CMKeyboardAbstractController(dev_handle, dev_info, dev_name) { m_sFirmwareVersion = _GetFirmwareVersion(); } diff --git a/Controllers/CoolerMasterController/CMKeyboardController/CMKeyboardV1Controller.h b/Controllers/CoolerMasterController/CMKeyboardController/CMKeyboardV1Controller.h index b9331a0c..987c40a1 100644 --- a/Controllers/CoolerMasterController/CMKeyboardController/CMKeyboardV1Controller.h +++ b/Controllers/CoolerMasterController/CMKeyboardController/CMKeyboardV1Controller.h @@ -16,7 +16,7 @@ class CMKeyboardV1Controller : public CMKeyboardAbstractController { public: - CMKeyboardV1Controller(hid_device* dev_handle, hid_device_info* dev_info); + CMKeyboardV1Controller(hid_device* dev_handle, hid_device_info* dev_info, std::string dev_name); ~CMKeyboardV1Controller(); /*---------------------------------------------------------*\ diff --git a/Controllers/CoolerMasterController/CMKeyboardController/CMKeyboardV2Controller.cpp b/Controllers/CoolerMasterController/CMKeyboardController/CMKeyboardV2Controller.cpp index 94872349..303f1cd5 100644 --- a/Controllers/CoolerMasterController/CMKeyboardController/CMKeyboardV2Controller.cpp +++ b/Controllers/CoolerMasterController/CMKeyboardController/CMKeyboardV2Controller.cpp @@ -16,7 +16,7 @@ #include "LogManager.h" #include "StringUtils.h" -CMKeyboardV2Controller::CMKeyboardV2Controller(hid_device* dev_handle, hid_device_info* dev_info) : CMKeyboardAbstractController(dev_handle, dev_info) +CMKeyboardV2Controller::CMKeyboardV2Controller(hid_device* dev_handle, hid_device_info* dev_info, std::string dev_name) : CMKeyboardAbstractController(dev_handle, dev_info, dev_name) { m_sFirmwareVersion = _GetFirmwareVersion(); m_bMoreFFs = false; diff --git a/Controllers/CoolerMasterController/CMKeyboardController/CMKeyboardV2Controller.h b/Controllers/CoolerMasterController/CMKeyboardController/CMKeyboardV2Controller.h index 711b6d1c..99d9a8ca 100644 --- a/Controllers/CoolerMasterController/CMKeyboardController/CMKeyboardV2Controller.h +++ b/Controllers/CoolerMasterController/CMKeyboardController/CMKeyboardV2Controller.h @@ -30,7 +30,7 @@ struct stCMKeyboardV2_mode class CMKeyboardV2Controller : public CMKeyboardAbstractController { public: - CMKeyboardV2Controller(hid_device* dev_handle, hid_device_info* dev_info); + CMKeyboardV2Controller(hid_device* dev_handle, hid_device_info* dev_info, std::string dev_name); ~CMKeyboardV2Controller(); /*---------------------------------------------------------*\ diff --git a/Controllers/CoolerMasterController/CMMMController/CMMMController.cpp b/Controllers/CoolerMasterController/CMMMController/CMMMController.cpp index 53e3e922..ecf989d7 100644 --- a/Controllers/CoolerMasterController/CMMMController/CMMMController.cpp +++ b/Controllers/CoolerMasterController/CMMMController/CMMMController.cpp @@ -14,11 +14,13 @@ #include "CMMMController.h" #include "StringUtils.h" -CMMMController::CMMMController(hid_device* dev_handle, char *_path, uint16_t pid) : product_id(pid) +CMMMController::CMMMController(hid_device* dev_handle, char *_path, uint16_t pid, std::string dev_name) { dev = dev_handle; location = _path; + name = dev_name; current_speed = CM_MM_SPEED_3; + product_id = pid; if(product_id == CM_MM530_PID || product_id == CM_MM531_PID) { @@ -144,6 +146,11 @@ std::string CMMMController::GetLocation() return("HID: " + location); } +std::string CMMMController::GetName() +{ + return(name); +} + uint16_t CMMMController::GetProductID() { return product_id; diff --git a/Controllers/CoolerMasterController/CMMMController/CMMMController.h b/Controllers/CoolerMasterController/CMMMController/CMMMController.h index 891a0b52..aa45d46e 100644 --- a/Controllers/CoolerMasterController/CMMMController/CMMMController.h +++ b/Controllers/CoolerMasterController/CMMMController/CMMMController.h @@ -89,12 +89,13 @@ enum class CMMMController { public: - CMMMController(hid_device* dev_handle, char *_path, uint16_t pid); + CMMMController(hid_device* dev_handle, char *_path, uint16_t pid, std::string dev_name); ~CMMMController(); std::string GetDeviceVendor(); std::string GetSerial(); std::string GetLocation(); + std::string GetName(); uint16_t GetProductID(); diff --git a/Controllers/CoolerMasterController/CMMMController/RGBController_CMMMController.cpp b/Controllers/CoolerMasterController/CMMMController/RGBController_CMMMController.cpp index cfaf7c26..d2a9d6e6 100644 --- a/Controllers/CoolerMasterController/CMMMController/RGBController_CMMMController.cpp +++ b/Controllers/CoolerMasterController/CMMMController/RGBController_CMMMController.cpp @@ -29,10 +29,10 @@ RGBController_CMMMController::RGBController_CMMMController(CMMMController* contr { controller = controller_ptr; - name = "Cooler Master MasterMouse"; + name = controller->GetName(); vendor = controller->GetDeviceVendor(); type = DEVICE_TYPE_MOUSE; - description = "Cooler Master MasterMouse"; + description = "Cooler Master MasterMouse Device"; serial = controller->GetSerial(); location = controller->GetLocation(); diff --git a/Controllers/CoolerMasterController/CMMonitorController/CMMonitorController.cpp b/Controllers/CoolerMasterController/CMMonitorController/CMMonitorController.cpp index d2e5aeaf..3b810a50 100644 --- a/Controllers/CoolerMasterController/CMMonitorController/CMMonitorController.cpp +++ b/Controllers/CoolerMasterController/CMMonitorController/CMMonitorController.cpp @@ -15,10 +15,11 @@ using namespace std::chrono_literals; -CMMonitorController::CMMonitorController(hid_device* dev_handle, const hid_device_info& info) +CMMonitorController::CMMonitorController(hid_device* dev_handle, const hid_device_info& info, std::string dev_name) { dev = dev_handle; location = info.path; + name = dev_name; } CMMonitorController::~CMMonitorController() @@ -31,6 +32,11 @@ std::string CMMonitorController::GetDeviceLocation() return("HID: " + location); } +std::string CMMonitorController::GetNameString() +{ + return(name); +} + std::string CMMonitorController::GetSerialString() { wchar_t serial_string[128]; diff --git a/Controllers/CoolerMasterController/CMMonitorController/CMMonitorController.h b/Controllers/CoolerMasterController/CMMonitorController/CMMonitorController.h index 889a933d..140c1f20 100644 --- a/Controllers/CoolerMasterController/CMMonitorController/CMMonitorController.h +++ b/Controllers/CoolerMasterController/CMMonitorController/CMMonitorController.h @@ -41,17 +41,20 @@ enum class CMMonitorController { public: - CMMonitorController(hid_device* dev_handle, const hid_device_info& info); + CMMonitorController(hid_device* dev_handle, const hid_device_info& info, std::string dev_name); ~CMMonitorController(); - std::string GetSerialString(); std::string GetDeviceLocation(); + std::string GetNameString(); + std::string GetSerialString(); + void SendDirect(const std::vector& colors); void SetMode(uint8_t mode_value, const RGBColor& color, uint8_t speed, uint8_t brightness); void SetCustomMode(const std::vector& colors, uint8_t brightnesss); private: std::string location; + std::string name; hid_device* dev; bool software_mode_enabled = false; void SetSoftwareModeEnabled(bool value); diff --git a/Controllers/CoolerMasterController/CMMonitorController/RGBController_CMMonitorController.cpp b/Controllers/CoolerMasterController/CMMonitorController/RGBController_CMMonitorController.cpp index e7c1f075..b9d1c969 100644 --- a/Controllers/CoolerMasterController/CMMonitorController/RGBController_CMMonitorController.cpp +++ b/Controllers/CoolerMasterController/CMMonitorController/RGBController_CMMonitorController.cpp @@ -27,13 +27,13 @@ RGBController_CMMonitorController::RGBController_CMMonitorController(CMMonitorController* controller_ptr) { controller = controller_ptr; - name = "CoolerMaster LED Controller A1"; + + name = controller->GetNameString(); vendor = "CoolerMaster"; type = DEVICE_TYPE_MONITOR; - description = name; + description = "CoolerMaster Monitor Device"; location = controller->GetDeviceLocation(); serial = controller->GetSerialString(); - version = ""; mode Direct; Direct.name = "Direct"; diff --git a/Controllers/CoolerMasterController/CoolerMasterControllerDetect.cpp b/Controllers/CoolerMasterController/CoolerMasterControllerDetect.cpp index f9c9813e..1e5b80b7 100644 --- a/Controllers/CoolerMasterController/CoolerMasterControllerDetect.cpp +++ b/Controllers/CoolerMasterController/CoolerMasterControllerDetect.cpp @@ -100,7 +100,7 @@ void DetectCoolerMasterARGB(hid_device_info* info, const std::string&) { CMARGBController* controller = new CMARGBController(dev, info->path, i, cm_mutex); RGBController_CMARGBController* rgb_controller = new RGBController_CMARGBController(controller); - // Constructor sets the name + ResourceManager::get()->RegisterRGBController(rgb_controller); } } @@ -112,9 +112,9 @@ void DetectCoolerMasterARGBGen2A1(hid_device_info* info, const std::string& name if(dev) { - CMARGBGen2A1controller* controller = new CMARGBGen2A1controller(dev, *info); + CMARGBGen2A1controller* controller = new CMARGBGen2A1controller(dev, *info, name); RGBController_CMARGBGen2A1Controller* rgb_controller = new RGBController_CMARGBGen2A1Controller(controller); - rgb_controller->name = name; + ResourceManager::get()->RegisterRGBController(rgb_controller); } } @@ -127,7 +127,7 @@ void DetectCoolerMasterGPU(hid_device_info* info, const std::string&) { CMR6000Controller* controller = new CMR6000Controller(dev, info->path, info->product_id); RGBController_CMR6000Controller* rgb_controller = new RGBController_CMR6000Controller(controller); - // Constructor sets the name + ResourceManager::get()->RegisterRGBController(rgb_controller); } } @@ -144,9 +144,9 @@ void DetectCoolerMasterV1Keyboards(hid_device_info* info, const std::string& nam case COOLERMASTER_KEYBOARD_PRO_L_WHITE_PID: case COOLERMASTER_KEYBOARD_PRO_S_PID: { - CMKeyboardV1Controller* controller = new CMKeyboardV1Controller(dev, info); - controller->SetDeviceName(name); + CMKeyboardV1Controller* controller = new CMKeyboardV1Controller(dev, info, name); RGBController_CMKeyboardController* rgb_controller = new RGBController_CMKeyboardController(controller); + ResourceManager::get()->RegisterRGBController(rgb_controller); } break; @@ -170,9 +170,9 @@ void DetectCoolerMasterV2Keyboards(hid_device_info* info, const std::string& nam case COOLERMASTER_KEYBOARD_PRO_L_WHITE_PID: case COOLERMASTER_KEYBOARD_PRO_S_PID: { - CMKeyboardV1Controller* controller = new CMKeyboardV1Controller(dev, info); - controller->SetDeviceName(name); + CMKeyboardV1Controller* controller = new CMKeyboardV1Controller(dev, info, name); RGBController_CMKeyboardController* rgb_controller = new RGBController_CMKeyboardController(controller); + ResourceManager::get()->RegisterRGBController(rgb_controller); } break; @@ -190,9 +190,9 @@ void DetectCoolerMasterV2Keyboards(hid_device_info* info, const std::string& nam case COOLERMASTER_KEYBOARD_MK730_PID: case COOLERMASTER_KEYBOARD_MK750_PID: { - CMKeyboardV2Controller* controller = new CMKeyboardV2Controller(dev, info); - controller->SetDeviceName(name); + CMKeyboardV2Controller* controller = new CMKeyboardV2Controller(dev, info, name); RGBController_CMKeyboardController* rgb_controller = new RGBController_CMKeyboardController(controller); + ResourceManager::get()->RegisterRGBController(rgb_controller); } break; @@ -210,9 +210,9 @@ void DetectCoolerMasterMouse(hid_device_info* info, const std::string& name) if(dev) { - CMMMController* controller = new CMMMController(dev, info->path, info->product_id); + CMMMController* controller = new CMMMController(dev, info->path, info->product_id, name); RGBController_CMMMController* rgb_controller = new RGBController_CMMMController(controller); - rgb_controller->name = name; + ResourceManager::get()->RegisterRGBController(rgb_controller); } } @@ -225,7 +225,7 @@ void DetectCoolerMasterMouse711(hid_device_info* info, const std::string& /*name { CMMM711Controller* controller = new CMMM711Controller(dev, info->path); RGBController_CMMM711Controller* rgb_controller = new RGBController_CMMM711Controller(controller); - // Constructor sets the name + ResourceManager::get()->RegisterRGBController(rgb_controller); } } @@ -238,7 +238,7 @@ void DetectCoolerMasterMouse712(hid_device_info* info, const std::string& /*name { CMMM712Controller* controller = new CMMM712Controller(dev, info->path); RGBController_CMMM712Controller* rgb_controller = new RGBController_CMMM712Controller(controller); - // Constructor sets the name + ResourceManager::get()->RegisterRGBController(rgb_controller); } } @@ -251,7 +251,7 @@ void DetectCoolerMasterMousemats(hid_device_info* info, const std::string& /*nam { CMMP750Controller* controller = new CMMP750Controller(dev, info->path); RGBController_CMMP750Controller* rgb_controller = new RGBController_CMMP750Controller(controller); - // Constructor sets the name + ResourceManager::get()->RegisterRGBController(rgb_controller); } } @@ -264,7 +264,7 @@ void DetectCoolerMasterRGB(hid_device_info* info, const std::string& /*name*/) { CMRGBController* controller = new CMRGBController(dev, info->path); RGBController_CMRGBController* rgb_controller = new RGBController_CMRGBController(controller); - // Constructor sets the name + ResourceManager::get()->RegisterRGBController(rgb_controller); } } @@ -277,7 +277,7 @@ void DetectCoolerMasterSmallARGB(hid_device_info* info, const std::string& /*nam { CMSmallARGBController* controller = new CMSmallARGBController(dev, info->path, 0); RGBController_CMSmallARGBController* rgb_controller = new RGBController_CMSmallARGBController(controller); - // Constructor sets the name + ResourceManager::get()->RegisterRGBController(rgb_controller); } } @@ -288,9 +288,9 @@ void DetectCoolerMasterMonitor(hid_device_info* info, const std::string& name) if(dev) { - CMMonitorController* controller = new CMMonitorController(dev, *info); + CMMonitorController* controller = new CMMonitorController(dev, *info, name); RGBController_CMMonitorController* rgb_controller = new RGBController_CMMonitorController(controller); - rgb_controller->name = name; + ResourceManager::get()->RegisterRGBController(rgb_controller); } }