From 3ab1519e25428308454c356f91dc67f3fe5d92cd Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Thu, 14 Aug 2025 11:50:06 -0500 Subject: [PATCH] Store name in NZXTKrakenController to avoid setting it in detector --- .../NZXTKrakenController.cpp | 8 +- .../NZXTKrakenController.h | 4 +- .../NZXTKrakenControllerDetect.cpp | 7 +- .../RGBController_NZXTKraken.cpp | 217 +++++++++--------- 4 files changed, 122 insertions(+), 114 deletions(-) diff --git a/Controllers/NZXTKrakenController/NZXTKrakenController.cpp b/Controllers/NZXTKrakenController/NZXTKrakenController.cpp index 591094a0..f1d8979c 100644 --- a/Controllers/NZXTKrakenController/NZXTKrakenController.cpp +++ b/Controllers/NZXTKrakenController/NZXTKrakenController.cpp @@ -32,10 +32,11 @@ static RGBColor ToLogoColor(RGBColor rgb) return ToRGBColor(RGBGetGValue(rgb), RGBGetRValue(rgb), RGBGetBValue(rgb)); } -NZXTKrakenController::NZXTKrakenController(hid_device* dev_handle, const char* path) +NZXTKrakenController::NZXTKrakenController(hid_device* dev_handle, const char* path, std::string dev_name) { dev = dev_handle; location = path; + name = dev_name; /*-----------------------------------------------------*\ | Get the firmware version | @@ -58,6 +59,11 @@ std::string NZXTKrakenController::GetLocation() return("HID: " + location); } +std::string NZXTKrakenController::GetName() +{ + return(name); +} + std::string NZXTKrakenController::GetSerialString() { wchar_t serial_string[128]; diff --git a/Controllers/NZXTKrakenController/NZXTKrakenController.h b/Controllers/NZXTKrakenController/NZXTKrakenController.h index 8387a989..5b286a9d 100644 --- a/Controllers/NZXTKrakenController/NZXTKrakenController.h +++ b/Controllers/NZXTKrakenController/NZXTKrakenController.h @@ -51,11 +51,12 @@ enum class NZXTKrakenController { public: - NZXTKrakenController(hid_device* dev_handle, const char* path); + NZXTKrakenController(hid_device* dev_handle, const char* path, std::string dev_name); ~NZXTKrakenController(); std::string GetFirmwareVersion(); std::string GetLocation(); + std::string GetName(); std::string GetSerialString(); void UpdateEffect @@ -89,6 +90,7 @@ private: std::string firmware_version; double liquid_temperature; std::string location; + std::string name; unsigned int fan_speed; unsigned int pump_speed; }; diff --git a/Controllers/NZXTKrakenController/NZXTKrakenControllerDetect.cpp b/Controllers/NZXTKrakenController/NZXTKrakenControllerDetect.cpp index 2b6705b4..eb6ca5e1 100644 --- a/Controllers/NZXTKrakenController/NZXTKrakenControllerDetect.cpp +++ b/Controllers/NZXTKrakenController/NZXTKrakenControllerDetect.cpp @@ -29,11 +29,12 @@ void DetectNZXTKrakenControllers(hid_device_info* info, const std::string& name) { hid_device* dev = hid_open_path(info->path); - if( dev ) + + if(dev) { - NZXTKrakenController* controller = new NZXTKrakenController(dev, info->path); + NZXTKrakenController* controller = new NZXTKrakenController(dev, info->path, name); RGBController_NZXTKraken* rgb_controller = new RGBController_NZXTKraken(controller); - rgb_controller->name = name; + ResourceManager::get()->RegisterRGBController(rgb_controller); } } /* DetectNZXTKrakenControllers() */ diff --git a/Controllers/NZXTKrakenController/RGBController_NZXTKraken.cpp b/Controllers/NZXTKrakenController/RGBController_NZXTKraken.cpp index 85a61487..37cc8a51 100644 --- a/Controllers/NZXTKrakenController/RGBController_NZXTKraken.cpp +++ b/Controllers/NZXTKrakenController/RGBController_NZXTKraken.cpp @@ -25,158 +25,158 @@ RGBController_NZXTKraken::RGBController_NZXTKraken(NZXTKrakenController* controller_ptr) { - controller = controller_ptr; + controller = controller_ptr; - name = "NZXT Kraken X/M"; - vendor = "NZXT"; - type = DEVICE_TYPE_COOLER; - description = "NZXT Kraken X42/X52/X62/X72/M22"; - version = controller->GetFirmwareVersion(); - location = controller->GetLocation(); - serial = controller->GetSerialString(); + name = controller->GetName(); + vendor = "NZXT"; + type = DEVICE_TYPE_COOLER; + description = "NZXT Kraken X42/X52/X62/X72/M22"; + version = controller->GetFirmwareVersion(); + location = controller->GetLocation(); + serial = controller->GetSerialString(); mode Direct; - Direct.name = "Direct"; - Direct.value = NZXT_KRAKEN_MODE_FIXED; - Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR; - Direct.color_mode = MODE_COLORS_PER_LED; + Direct.name = "Direct"; + Direct.value = NZXT_KRAKEN_MODE_FIXED; + Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR; + Direct.color_mode = MODE_COLORS_PER_LED; modes.push_back(Direct); mode Fading; - Fading.name = "Fading"; - Fading.value = NZXT_KRAKEN_MODE_FADING; - Fading.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; - Fading.speed_min = NZXT_KRAKEN_SPEED_SLOWEST; - Fading.speed_max = NZXT_KRAKEN_SPEED_FASTEST; - Fading.colors_min = 2; - Fading.colors_max = 8; - Fading.speed = NZXT_KRAKEN_SPEED_NORMAL; - Fading.color_mode = MODE_COLORS_MODE_SPECIFIC; + Fading.name = "Fading"; + Fading.value = NZXT_KRAKEN_MODE_FADING; + Fading.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; + Fading.speed_min = NZXT_KRAKEN_SPEED_SLOWEST; + Fading.speed_max = NZXT_KRAKEN_SPEED_FASTEST; + Fading.colors_min = 2; + Fading.colors_max = 8; + Fading.speed = NZXT_KRAKEN_SPEED_NORMAL; + Fading.color_mode = MODE_COLORS_MODE_SPECIFIC; Fading.colors.resize(2); modes.push_back(Fading); mode SpectrumCycle; - SpectrumCycle.name = "Spectrum Cycle"; - SpectrumCycle.value = NZXT_KRAKEN_MODE_SPECTRUM; - SpectrumCycle.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR; - SpectrumCycle.speed_min = NZXT_KRAKEN_SPEED_SLOWEST; - SpectrumCycle.speed_max = NZXT_KRAKEN_SPEED_FASTEST; - SpectrumCycle.speed = NZXT_KRAKEN_SPEED_NORMAL; - SpectrumCycle.direction = MODE_DIRECTION_RIGHT; - SpectrumCycle.color_mode = MODE_COLORS_NONE; + SpectrumCycle.name = "Spectrum Cycle"; + SpectrumCycle.value = NZXT_KRAKEN_MODE_SPECTRUM; + SpectrumCycle.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR; + SpectrumCycle.speed_min = NZXT_KRAKEN_SPEED_SLOWEST; + SpectrumCycle.speed_max = NZXT_KRAKEN_SPEED_FASTEST; + SpectrumCycle.speed = NZXT_KRAKEN_SPEED_NORMAL; + SpectrumCycle.direction = MODE_DIRECTION_RIGHT; + SpectrumCycle.color_mode = MODE_COLORS_NONE; modes.push_back(SpectrumCycle); mode Marquee; - Marquee.name = "Marquee"; - Marquee.value = NZXT_KRAKEN_MODE_MARQUEE; - Marquee.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; - Marquee.speed_min = NZXT_KRAKEN_SPEED_SLOWEST; - Marquee.speed_max = NZXT_KRAKEN_SPEED_FASTEST; - Marquee.colors_min = 1; - Marquee.colors_max = 1; - Marquee.speed = NZXT_KRAKEN_SPEED_NORMAL; - Marquee.direction = MODE_DIRECTION_RIGHT; - Marquee.color_mode = MODE_COLORS_MODE_SPECIFIC; + Marquee.name = "Marquee"; + Marquee.value = NZXT_KRAKEN_MODE_MARQUEE; + Marquee.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; + Marquee.speed_min = NZXT_KRAKEN_SPEED_SLOWEST; + Marquee.speed_max = NZXT_KRAKEN_SPEED_FASTEST; + Marquee.colors_min = 1; + Marquee.colors_max = 1; + Marquee.speed = NZXT_KRAKEN_SPEED_NORMAL; + Marquee.direction = MODE_DIRECTION_RIGHT; + Marquee.color_mode = MODE_COLORS_MODE_SPECIFIC; Marquee.colors.resize(1); modes.push_back(Marquee); mode CoverMarquee; - CoverMarquee.name = "Cover Marquee"; - CoverMarquee.value = NZXT_KRAKEN_MODE_COVER_MARQUEE; - CoverMarquee.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; - CoverMarquee.speed_min = NZXT_KRAKEN_SPEED_SLOWEST; - CoverMarquee.speed_max = NZXT_KRAKEN_SPEED_FASTEST; - CoverMarquee.colors_min = 1; - CoverMarquee.colors_max = 8; - CoverMarquee.speed = NZXT_KRAKEN_SPEED_NORMAL; - CoverMarquee.direction = MODE_DIRECTION_RIGHT; - CoverMarquee.color_mode = MODE_COLORS_MODE_SPECIFIC; + CoverMarquee.name = "Cover Marquee"; + CoverMarquee.value = NZXT_KRAKEN_MODE_COVER_MARQUEE; + CoverMarquee.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; + CoverMarquee.speed_min = NZXT_KRAKEN_SPEED_SLOWEST; + CoverMarquee.speed_max = NZXT_KRAKEN_SPEED_FASTEST; + CoverMarquee.colors_min = 1; + CoverMarquee.colors_max = 8; + CoverMarquee.speed = NZXT_KRAKEN_SPEED_NORMAL; + CoverMarquee.direction = MODE_DIRECTION_RIGHT; + CoverMarquee.color_mode = MODE_COLORS_MODE_SPECIFIC; CoverMarquee.colors.resize(2); modes.push_back(CoverMarquee); mode Alternating; - Alternating.name = "Alternating"; - Alternating.value = NZXT_KRAKEN_MODE_ALTERNATING; - Alternating.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; - Alternating.speed_min = NZXT_KRAKEN_SPEED_SLOWEST; - Alternating.speed_max = NZXT_KRAKEN_SPEED_FASTEST; - Alternating.colors_min = 2; - Alternating.colors_max = 2; - Alternating.speed = NZXT_KRAKEN_SPEED_NORMAL; - Alternating.direction = MODE_DIRECTION_RIGHT; - Alternating.color_mode = MODE_COLORS_MODE_SPECIFIC; + Alternating.name = "Alternating"; + Alternating.value = NZXT_KRAKEN_MODE_ALTERNATING; + Alternating.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; + Alternating.speed_min = NZXT_KRAKEN_SPEED_SLOWEST; + Alternating.speed_max = NZXT_KRAKEN_SPEED_FASTEST; + Alternating.colors_min = 2; + Alternating.colors_max = 2; + Alternating.speed = NZXT_KRAKEN_SPEED_NORMAL; + Alternating.direction = MODE_DIRECTION_RIGHT; + Alternating.color_mode = MODE_COLORS_MODE_SPECIFIC; Alternating.colors.resize(2); modes.push_back(Alternating); mode Pulse; - Pulse.name = "Pulse"; - Pulse.value = NZXT_KRAKEN_MODE_PULSE; - Pulse.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; - Pulse.speed_min = NZXT_KRAKEN_SPEED_SLOWEST; - Pulse.speed_max = NZXT_KRAKEN_SPEED_FASTEST; - Pulse.colors_min = 1; - Pulse.colors_max = 8; - Pulse.speed = NZXT_KRAKEN_SPEED_NORMAL; - Pulse.color_mode = MODE_COLORS_MODE_SPECIFIC; + Pulse.name = "Pulse"; + Pulse.value = NZXT_KRAKEN_MODE_PULSE; + Pulse.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; + Pulse.speed_min = NZXT_KRAKEN_SPEED_SLOWEST; + Pulse.speed_max = NZXT_KRAKEN_SPEED_FASTEST; + Pulse.colors_min = 1; + Pulse.colors_max = 8; + Pulse.speed = NZXT_KRAKEN_SPEED_NORMAL; + Pulse.color_mode = MODE_COLORS_MODE_SPECIFIC; Pulse.colors.resize(1); modes.push_back(Pulse); mode Breathing; - Breathing.name = "Breathing"; - Breathing.value = NZXT_KRAKEN_MODE_BREATHING; - Breathing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_PER_LED_COLOR; - Breathing.speed_min = NZXT_KRAKEN_SPEED_SLOWEST; - Breathing.speed_max = NZXT_KRAKEN_SPEED_FASTEST; - Breathing.colors_min = 1; - Breathing.colors_max = 8; - Breathing.speed = NZXT_KRAKEN_SPEED_NORMAL; - Breathing.color_mode = MODE_COLORS_MODE_SPECIFIC; + Breathing.name = "Breathing"; + Breathing.value = NZXT_KRAKEN_MODE_BREATHING; + Breathing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_PER_LED_COLOR; + Breathing.speed_min = NZXT_KRAKEN_SPEED_SLOWEST; + Breathing.speed_max = NZXT_KRAKEN_SPEED_FASTEST; + Breathing.colors_min = 1; + Breathing.colors_max = 8; + Breathing.speed = NZXT_KRAKEN_SPEED_NORMAL; + Breathing.color_mode = MODE_COLORS_MODE_SPECIFIC; Breathing.colors.resize(1); modes.push_back(Breathing); mode ThaiChi; - ThaiChi.name = "Thai Chi"; - ThaiChi.value = NZXT_KRAKEN_MODE_TAI_CHI; - ThaiChi.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; - ThaiChi.speed_min = NZXT_KRAKEN_SPEED_SLOWEST; - ThaiChi.speed_max = NZXT_KRAKEN_SPEED_FASTEST; - ThaiChi.speed = NZXT_KRAKEN_SPEED_NORMAL; - ThaiChi.colors_min = 2; - ThaiChi.colors_max = 2; - ThaiChi.color_mode = MODE_COLORS_MODE_SPECIFIC; + ThaiChi.name = "Thai Chi"; + ThaiChi.value = NZXT_KRAKEN_MODE_TAI_CHI; + ThaiChi.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; + ThaiChi.speed_min = NZXT_KRAKEN_SPEED_SLOWEST; + ThaiChi.speed_max = NZXT_KRAKEN_SPEED_FASTEST; + ThaiChi.speed = NZXT_KRAKEN_SPEED_NORMAL; + ThaiChi.colors_min = 2; + ThaiChi.colors_max = 2; + ThaiChi.color_mode = MODE_COLORS_MODE_SPECIFIC; ThaiChi.colors.resize(2); modes.push_back(ThaiChi); mode WaterCooler; - WaterCooler.name = "Water Cooler"; - WaterCooler.value = NZXT_KRAKEN_MODE_WATER_COOLER; - WaterCooler.flags = MODE_FLAG_HAS_SPEED; - WaterCooler.speed_min = NZXT_KRAKEN_SPEED_SLOWEST; - WaterCooler.speed_max = NZXT_KRAKEN_SPEED_FASTEST; - WaterCooler.speed = NZXT_KRAKEN_SPEED_NORMAL; - WaterCooler.color_mode = MODE_COLORS_NONE; + WaterCooler.name = "Water Cooler"; + WaterCooler.value = NZXT_KRAKEN_MODE_WATER_COOLER; + WaterCooler.flags = MODE_FLAG_HAS_SPEED; + WaterCooler.speed_min = NZXT_KRAKEN_SPEED_SLOWEST; + WaterCooler.speed_max = NZXT_KRAKEN_SPEED_FASTEST; + WaterCooler.speed = NZXT_KRAKEN_SPEED_NORMAL; + WaterCooler.color_mode = MODE_COLORS_NONE; modes.push_back(WaterCooler); mode Loading; - Loading.name = "Loading"; - Loading.value = NZXT_KRAKEN_MODE_LOADING; - Loading.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; - Loading.colors_min = 1; - Loading.colors_max = 1; - Loading.color_mode = MODE_COLORS_MODE_SPECIFIC; + Loading.name = "Loading"; + Loading.value = NZXT_KRAKEN_MODE_LOADING; + Loading.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; + Loading.colors_min = 1; + Loading.colors_max = 1; + Loading.color_mode = MODE_COLORS_MODE_SPECIFIC; Loading.colors.resize(1); modes.push_back(Loading); mode Wings; - Wings.name = "Wings"; - Wings.value = NZXT_KRAKEN_MODE_WINGS; - Wings.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; - Wings.speed_min = NZXT_KRAKEN_SPEED_SLOWEST; - Wings.speed_max = NZXT_KRAKEN_SPEED_FASTEST; - Wings.speed = NZXT_KRAKEN_SPEED_NORMAL; - Wings.colors_min = 1; - Wings.colors_max = 1; - Wings.color_mode = MODE_COLORS_MODE_SPECIFIC; + Wings.name = "Wings"; + Wings.value = NZXT_KRAKEN_MODE_WINGS; + Wings.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; + Wings.speed_min = NZXT_KRAKEN_SPEED_SLOWEST; + Wings.speed_max = NZXT_KRAKEN_SPEED_FASTEST; + Wings.speed = NZXT_KRAKEN_SPEED_NORMAL; + Wings.colors_min = 1; + Wings.colors_max = 1; + Wings.color_mode = MODE_COLORS_MODE_SPECIFIC; Wings.colors.resize(1); modes.push_back(Wings); @@ -197,7 +197,6 @@ RGBController_NZXTKraken::RGBController_NZXTKraken(NZXTKrakenController* control NZXT_KRAKEN_MODE_PULSE }; - SetupZones(); }