From f0e9650085357bf24521a823f4a1e45571e2b615 Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Thu, 14 Aug 2025 11:41:23 -0500 Subject: [PATCH] Store name in NZXTHue1Controller to avoid setting it in detector --- .../NZXTHue1Controller/NZXTHue1Controller.cpp | 8 +- .../NZXTHue1Controller/NZXTHue1Controller.h | 4 +- .../NZXTHue1ControllerDetect.cpp | 3 +- .../RGBController_NZXTHue1.cpp | 206 +++++++++--------- 4 files changed, 114 insertions(+), 107 deletions(-) diff --git a/Controllers/NZXTHue1Controller/NZXTHue1Controller.cpp b/Controllers/NZXTHue1Controller/NZXTHue1Controller.cpp index aff8a008..801ec7d5 100644 --- a/Controllers/NZXTHue1Controller/NZXTHue1Controller.cpp +++ b/Controllers/NZXTHue1Controller/NZXTHue1Controller.cpp @@ -13,10 +13,11 @@ #include "NZXTHue1Controller.h" #include "StringUtils.h" -NZXTHue1Controller::NZXTHue1Controller(hid_device* dev_handle, unsigned int /*fan_channels*/, const char* path) +NZXTHue1Controller::NZXTHue1Controller(hid_device* dev_handle, unsigned int /*fan_channels*/, const char* path, std::string dev_name) { dev = dev_handle; location = path; + name = dev_name; Initialize(); } @@ -36,6 +37,11 @@ std::string NZXTHue1Controller::GetLocation() return("HID: " + location); } +std::string NZXTHue1Controller::GetName() +{ + return(name); +} + std::string NZXTHue1Controller::GetSerialString() { wchar_t serial_string[128]; diff --git a/Controllers/NZXTHue1Controller/NZXTHue1Controller.h b/Controllers/NZXTHue1Controller/NZXTHue1Controller.h index 157f3d46..b96e3b8d 100644 --- a/Controllers/NZXTHue1Controller/NZXTHue1Controller.h +++ b/Controllers/NZXTHue1Controller/NZXTHue1Controller.h @@ -48,11 +48,12 @@ enum class NZXTHue1Controller { public: - NZXTHue1Controller(hid_device* dev_handle, unsigned int fan_channels, const char* path); + NZXTHue1Controller(hid_device* dev_handle, unsigned int fan_channels, const char* path, std::string dev_name); ~NZXTHue1Controller(); std::string GetFirmwareVersion(); std::string GetLocation(); + std::string GetName(); std::string GetSerialString(); unsigned int GetAccessoryType(); @@ -79,6 +80,7 @@ private: char firmware_version[16]; std::string location; + std::string name; unsigned int accessory_type; void Initialize(); diff --git a/Controllers/NZXTHue1Controller/NZXTHue1ControllerDetect.cpp b/Controllers/NZXTHue1Controller/NZXTHue1ControllerDetect.cpp index d8e89f68..e6a37607 100644 --- a/Controllers/NZXTHue1Controller/NZXTHue1ControllerDetect.cpp +++ b/Controllers/NZXTHue1Controller/NZXTHue1ControllerDetect.cpp @@ -34,9 +34,8 @@ void DetectNZXTHue1Controllers(hid_device_info* info, const std::string& name) if(dev) { - NZXTHue1Controller* controller = new NZXTHue1Controller(dev, 3, info->path); + NZXTHue1Controller* controller = new NZXTHue1Controller(dev, 3, info->path, name); RGBController_NZXTHue1* rgb_controller = new RGBController_NZXTHue1(controller); - rgb_controller->name = name; ResourceManager::get()->RegisterRGBController(rgb_controller); } diff --git a/Controllers/NZXTHue1Controller/RGBController_NZXTHue1.cpp b/Controllers/NZXTHue1Controller/RGBController_NZXTHue1.cpp index 802a57b7..493edafe 100644 --- a/Controllers/NZXTHue1Controller/RGBController_NZXTHue1.cpp +++ b/Controllers/NZXTHue1Controller/RGBController_NZXTHue1.cpp @@ -24,153 +24,153 @@ RGBController_NZXTHue1::RGBController_NZXTHue1(NZXTHue1Controller* controller_ptr) { - controller = controller_ptr; + controller = controller_ptr; - name = "NZXT Hue 1"; - vendor = "NZXT"; - type = DEVICE_TYPE_LEDSTRIP; - description = "NZXT Hue 1 Device"; - version = controller->GetFirmwareVersion(); - location = controller->GetLocation(); - serial = controller->GetSerialString(); + name = controller->GetName(); + vendor = "NZXT"; + type = DEVICE_TYPE_LEDSTRIP; + description = "NZXT Hue 1 Device"; + version = controller->GetFirmwareVersion(); + location = controller->GetLocation(); + serial = controller->GetSerialString(); mode Direct; - Direct.name = "Direct"; - Direct.value = HUE_1_MODE_FIXED; - Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR; - Direct.color_mode = MODE_COLORS_PER_LED; + Direct.name = "Direct"; + Direct.value = HUE_1_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 = HUE_1_MODE_FADING; - Fading.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; - Fading.speed_min = HUE_1_SPEED_SLOWEST; - Fading.speed_max = HUE_1_SPEED_FASTEST; - Fading.colors_min = 1; - Fading.colors_max = 8; - Fading.speed = HUE_1_SPEED_NORMAL; - Fading.color_mode = MODE_COLORS_MODE_SPECIFIC; + Fading.name = "Fading"; + Fading.value = HUE_1_MODE_FADING; + Fading.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; + Fading.speed_min = HUE_1_SPEED_SLOWEST; + Fading.speed_max = HUE_1_SPEED_FASTEST; + Fading.colors_min = 1; + Fading.colors_max = 8; + Fading.speed = HUE_1_SPEED_NORMAL; + Fading.color_mode = MODE_COLORS_MODE_SPECIFIC; Fading.colors.resize(2); modes.push_back(Fading); mode SpectrumCycle; - SpectrumCycle.name = "Rainbow Wave"; - SpectrumCycle.value = HUE_1_MODE_SPECTRUM; - SpectrumCycle.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR; - SpectrumCycle.speed_min = HUE_1_SPEED_SLOWEST; - SpectrumCycle.speed_max = HUE_1_SPEED_FASTEST; - SpectrumCycle.speed = HUE_1_SPEED_NORMAL; - SpectrumCycle.direction = MODE_DIRECTION_RIGHT; - SpectrumCycle.color_mode = MODE_COLORS_NONE; + SpectrumCycle.name = "Rainbow Wave"; + SpectrumCycle.value = HUE_1_MODE_SPECTRUM; + SpectrumCycle.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR; + SpectrumCycle.speed_min = HUE_1_SPEED_SLOWEST; + SpectrumCycle.speed_max = HUE_1_SPEED_FASTEST; + SpectrumCycle.speed = HUE_1_SPEED_NORMAL; + SpectrumCycle.direction = MODE_DIRECTION_RIGHT; + SpectrumCycle.color_mode = MODE_COLORS_NONE; modes.push_back(SpectrumCycle); mode Marquee; - Marquee.name = "Marquee"; - Marquee.value = HUE_1_MODE_MARQUEE; - Marquee.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; - Marquee.speed_min = HUE_1_SPEED_SLOWEST; - Marquee.speed_max = HUE_1_SPEED_FASTEST; - Marquee.colors_min = 1; - Marquee.colors_max = 1; - Marquee.speed = HUE_1_SPEED_NORMAL; - Marquee.direction = MODE_DIRECTION_RIGHT; - Marquee.color_mode = MODE_COLORS_MODE_SPECIFIC; + Marquee.name = "Marquee"; + Marquee.value = HUE_1_MODE_MARQUEE; + Marquee.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; + Marquee.speed_min = HUE_1_SPEED_SLOWEST; + Marquee.speed_max = HUE_1_SPEED_FASTEST; + Marquee.colors_min = 1; + Marquee.colors_max = 1; + Marquee.speed = HUE_1_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 = HUE_1_MODE_COVER_MARQUEE; - CoverMarquee.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; - CoverMarquee.speed_min = HUE_1_SPEED_SLOWEST; - CoverMarquee.speed_max = HUE_1_SPEED_FASTEST; - CoverMarquee.colors_min = 1; - CoverMarquee.colors_max = 8; - CoverMarquee.speed = HUE_1_SPEED_NORMAL; - CoverMarquee.direction = MODE_DIRECTION_RIGHT; - CoverMarquee.color_mode = MODE_COLORS_MODE_SPECIFIC; + CoverMarquee.name = "Cover Marquee"; + CoverMarquee.value = HUE_1_MODE_COVER_MARQUEE; + CoverMarquee.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; + CoverMarquee.speed_min = HUE_1_SPEED_SLOWEST; + CoverMarquee.speed_max = HUE_1_SPEED_FASTEST; + CoverMarquee.colors_min = 1; + CoverMarquee.colors_max = 8; + CoverMarquee.speed = HUE_1_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 = HUE_1_MODE_ALTERNATING; - Alternating.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; - Alternating.speed_min = HUE_1_SPEED_SLOWEST; - Alternating.speed_max = HUE_1_SPEED_FASTEST; - Alternating.colors_min = 1; - Alternating.colors_max = 2; - Alternating.speed = HUE_1_SPEED_NORMAL; - Alternating.direction = MODE_DIRECTION_RIGHT; - Alternating.color_mode = MODE_COLORS_MODE_SPECIFIC; + Alternating.name = "Alternating"; + Alternating.value = HUE_1_MODE_ALTERNATING; + Alternating.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; + Alternating.speed_min = HUE_1_SPEED_SLOWEST; + Alternating.speed_max = HUE_1_SPEED_FASTEST; + Alternating.colors_min = 1; + Alternating.colors_max = 2; + Alternating.speed = HUE_1_SPEED_NORMAL; + Alternating.direction = MODE_DIRECTION_RIGHT; + Alternating.color_mode = MODE_COLORS_MODE_SPECIFIC; Alternating.colors.resize(2); modes.push_back(Alternating); mode Pulsing; - Pulsing.name = "Pulsing"; - Pulsing.value = HUE_1_MODE_PULSING; - Pulsing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; - Pulsing.speed_min = HUE_1_SPEED_SLOWEST; - Pulsing.speed_max = HUE_1_SPEED_FASTEST; - Pulsing.colors_min = 1; - Pulsing.colors_max = 8; - Pulsing.speed = HUE_1_SPEED_NORMAL; - Pulsing.color_mode = MODE_COLORS_MODE_SPECIFIC; + Pulsing.name = "Pulsing"; + Pulsing.value = HUE_1_MODE_PULSING; + Pulsing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; + Pulsing.speed_min = HUE_1_SPEED_SLOWEST; + Pulsing.speed_max = HUE_1_SPEED_FASTEST; + Pulsing.colors_min = 1; + Pulsing.colors_max = 8; + Pulsing.speed = HUE_1_SPEED_NORMAL; + Pulsing.color_mode = MODE_COLORS_MODE_SPECIFIC; Pulsing.colors.resize(2); modes.push_back(Pulsing); mode Breathing; - Breathing.name = "Breathing"; - Breathing.value = HUE_1_MODE_BREATHING; - Breathing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_PER_LED_COLOR; - Breathing.speed_min = HUE_1_SPEED_SLOWEST; - Breathing.speed_max = HUE_1_SPEED_FASTEST; - Breathing.colors_min = 1; - Breathing.colors_max = 8; - Breathing.speed = HUE_1_SPEED_NORMAL; - Breathing.color_mode = MODE_COLORS_MODE_SPECIFIC; + Breathing.name = "Breathing"; + Breathing.value = HUE_1_MODE_BREATHING; + Breathing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_PER_LED_COLOR; + Breathing.speed_min = HUE_1_SPEED_SLOWEST; + Breathing.speed_max = HUE_1_SPEED_FASTEST; + Breathing.colors_min = 1; + Breathing.colors_max = 8; + Breathing.speed = HUE_1_SPEED_NORMAL; + Breathing.color_mode = MODE_COLORS_MODE_SPECIFIC; Breathing.colors.resize(2); modes.push_back(Breathing); mode Alert; - Alert.name = "Alert"; - Alert.value = HUE_1_MODE_ALERT; - Alert.flags = 0; - Alert.color_mode = MODE_COLORS_NONE; + Alert.name = "Alert"; + Alert.value = HUE_1_MODE_ALERT; + Alert.flags = 0; + Alert.color_mode = MODE_COLORS_NONE; modes.push_back(Alert); mode Candlelight; - Candlelight.name = "Candlelight"; - Candlelight.value = HUE_1_MODE_CANDLELIGHT; - Candlelight.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; - Candlelight.colors_min = 1; - Candlelight.colors_max = 1; - Candlelight.color_mode = MODE_COLORS_MODE_SPECIFIC; + Candlelight.name = "Candlelight"; + Candlelight.value = HUE_1_MODE_CANDLELIGHT; + Candlelight.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; + Candlelight.colors_min = 1; + Candlelight.colors_max = 1; + Candlelight.color_mode = MODE_COLORS_MODE_SPECIFIC; Candlelight.colors.resize(1); modes.push_back(Candlelight); mode Wings; - Wings.name = "Wings"; - Wings.value = HUE_1_MODE_WINGS; - Wings.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; - Wings.speed_min = HUE_1_SPEED_SLOWEST; - Wings.speed_max = HUE_1_SPEED_FASTEST; - Wings.colors_min = 1; - Wings.colors_max = 1; - Wings.speed = HUE_1_SPEED_NORMAL; - Wings.color_mode = MODE_COLORS_MODE_SPECIFIC; + Wings.name = "Wings"; + Wings.value = HUE_1_MODE_WINGS; + Wings.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; + Wings.speed_min = HUE_1_SPEED_SLOWEST; + Wings.speed_max = HUE_1_SPEED_FASTEST; + Wings.colors_min = 1; + Wings.colors_max = 1; + Wings.speed = HUE_1_SPEED_NORMAL; + Wings.color_mode = MODE_COLORS_MODE_SPECIFIC; Wings.colors.resize(1); modes.push_back(Wings); mode Wave; - Wave.name = "Wave"; - Wave.value = HUE_1_MODE_WAVE; - Wave.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_PER_LED_COLOR; - Wave.speed_min = HUE_1_SPEED_SLOWEST; - Wave.speed_max = HUE_1_SPEED_FASTEST; - Wave.speed = HUE_1_SPEED_NORMAL; - Wave.color_mode = MODE_COLORS_PER_LED; + Wave.name = "Wave"; + Wave.value = HUE_1_MODE_WAVE; + Wave.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_PER_LED_COLOR; + Wave.speed_min = HUE_1_SPEED_SLOWEST; + Wave.speed_max = HUE_1_SPEED_FASTEST; + Wave.speed = HUE_1_SPEED_NORMAL; + Wave.color_mode = MODE_COLORS_PER_LED; modes.push_back(Wave); SetupZones();