diff --git a/RGB.NET.Core/Devices/IRGBDeviceInfo.cs b/RGB.NET.Core/Devices/IRGBDeviceInfo.cs
index 61cc868..68bb9dc 100644
--- a/RGB.NET.Core/Devices/IRGBDeviceInfo.cs
+++ b/RGB.NET.Core/Devices/IRGBDeviceInfo.cs
@@ -14,6 +14,11 @@ namespace RGB.NET.Core
///
RGBDeviceType DeviceType { get; }
+ ///
+ /// Unique name of the .
+ ///
+ string DeviceName { get; }
+
///
/// Gets the manufacturer-name of the .
///
diff --git a/RGB.NET.Devices.Asus/Generic/AsusRGBDeviceInfo.cs b/RGB.NET.Devices.Asus/Generic/AsusRGBDeviceInfo.cs
index 488a2b7..7c6ff69 100644
--- a/RGB.NET.Devices.Asus/Generic/AsusRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Asus/Generic/AsusRGBDeviceInfo.cs
@@ -14,6 +14,9 @@ namespace RGB.NET.Devices.Asus
///
public RGBDeviceType DeviceType { get; }
+ ///
+ public string DeviceName { get; }
+
///
public string Manufacturer { get; }
@@ -51,6 +54,8 @@ namespace RGB.NET.Devices.Asus
this.Handle = handle;
this.Model = model;
this.Manufacturer = manufacturer;
+
+ DeviceName = $"{Manufacturer} {Model}";
}
#endregion
diff --git a/RGB.NET.Devices.CoolerMaster/Generic/CoolerMasterRGBDeviceInfo.cs b/RGB.NET.Devices.CoolerMaster/Generic/CoolerMasterRGBDeviceInfo.cs
index b9790ca..d10eb01 100644
--- a/RGB.NET.Devices.CoolerMaster/Generic/CoolerMasterRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.CoolerMaster/Generic/CoolerMasterRGBDeviceInfo.cs
@@ -15,6 +15,9 @@ namespace RGB.NET.Devices.CoolerMaster
///
public RGBDeviceType DeviceType { get; }
+ ///
+ public string DeviceName { get; }
+
///
public string Manufacturer => "Cooler Master";
@@ -50,6 +53,7 @@ namespace RGB.NET.Devices.CoolerMaster
this.DeviceIndex = deviceIndex;
Model = deviceIndex.GetDescription();
+ DeviceName = $"{Manufacturer} {Model}";
}
#endregion
diff --git a/RGB.NET.Devices.Corsair/CorsairDeviceProvider.cs b/RGB.NET.Devices.Corsair/CorsairDeviceProvider.cs
index 017f735..dde9077 100644
--- a/RGB.NET.Devices.Corsair/CorsairDeviceProvider.cs
+++ b/RGB.NET.Devices.Corsair/CorsairDeviceProvider.cs
@@ -129,6 +129,7 @@ namespace RGB.NET.Devices.Corsair
if (!_CUESDK.CorsairSetLayerPriority(127))
throw new CUEException(LastError);
+ Dictionary modelCounter = new Dictionary();
IList devices = new List();
int deviceCount = _CUESDK.CorsairGetDeviceCount();
for (int i = 0; i < deviceCount; i++)
@@ -136,12 +137,12 @@ namespace RGB.NET.Devices.Corsair
try
{
_CorsairDeviceInfo nativeDeviceInfo = (_CorsairDeviceInfo)Marshal.PtrToStructure(_CUESDK.CorsairGetDeviceInfo(i), typeof(_CorsairDeviceInfo));
- CorsairRGBDeviceInfo info = new CorsairRGBDeviceInfo(i, RGBDeviceType.Unknown, nativeDeviceInfo);
+ CorsairRGBDeviceInfo info = new CorsairRGBDeviceInfo(i, RGBDeviceType.Unknown, nativeDeviceInfo, modelCounter);
if (!info.CapsMask.HasFlag(CorsairDeviceCaps.Lighting))
continue; // Everything that doesn't support lighting control is useless
CorsairDeviceUpdateQueue deviceUpdateQueue = null;
- foreach (ICorsairRGBDevice device in GetRGBDevice(info, i, nativeDeviceInfo))
+ foreach (ICorsairRGBDevice device in GetRGBDevice(info, i, nativeDeviceInfo, modelCounter))
{
if ((device == null) || !loadFilter.HasFlag(device.DeviceInfo.DeviceType)) continue;
@@ -176,28 +177,28 @@ namespace RGB.NET.Devices.Corsair
return true;
}
- private static IEnumerable GetRGBDevice(CorsairRGBDeviceInfo info, int i, _CorsairDeviceInfo nativeDeviceInfo)
+ private static IEnumerable GetRGBDevice(CorsairRGBDeviceInfo info, int i, _CorsairDeviceInfo nativeDeviceInfo, Dictionary modelCounter)
{
switch (info.CorsairDeviceType)
{
case CorsairDeviceType.Keyboard:
- yield return new CorsairKeyboardRGBDevice(new CorsairKeyboardRGBDeviceInfo(i, nativeDeviceInfo));
+ yield return new CorsairKeyboardRGBDevice(new CorsairKeyboardRGBDeviceInfo(i, nativeDeviceInfo, modelCounter));
break;
case CorsairDeviceType.Mouse:
- yield return new CorsairMouseRGBDevice(new CorsairMouseRGBDeviceInfo(i, nativeDeviceInfo));
+ yield return new CorsairMouseRGBDevice(new CorsairMouseRGBDeviceInfo(i, nativeDeviceInfo, modelCounter));
break;
case CorsairDeviceType.Headset:
- yield return new CorsairHeadsetRGBDevice(new CorsairHeadsetRGBDeviceInfo(i, nativeDeviceInfo));
+ yield return new CorsairHeadsetRGBDevice(new CorsairHeadsetRGBDeviceInfo(i, nativeDeviceInfo, modelCounter));
break;
case CorsairDeviceType.Mousepad:
- yield return new CorsairMousepadRGBDevice(new CorsairMousepadRGBDeviceInfo(i, nativeDeviceInfo));
+ yield return new CorsairMousepadRGBDevice(new CorsairMousepadRGBDeviceInfo(i, nativeDeviceInfo, modelCounter));
break;
case CorsairDeviceType.HeadsetStand:
- yield return new CorsairHeadsetStandRGBDevice(new CorsairHeadsetStandRGBDeviceInfo(i, nativeDeviceInfo));
+ yield return new CorsairHeadsetStandRGBDevice(new CorsairHeadsetStandRGBDeviceInfo(i, nativeDeviceInfo, modelCounter));
break;
case CorsairDeviceType.CommanderPro:
@@ -220,7 +221,7 @@ namespace RGB.NET.Devices.Corsair
{
_CorsairChannelDeviceInfo channelDeviceInfo = (_CorsairChannelDeviceInfo)Marshal.PtrToStructure(channelDeviceInfoPtr, typeof(_CorsairChannelDeviceInfo));
- yield return new CorsairCustomRGBDevice(new CorsairCustomRGBDeviceInfo(info.CorsairDeviceIndex, nativeDeviceInfo, channelDeviceInfo, referenceLed));
+ yield return new CorsairCustomRGBDevice(new CorsairCustomRGBDeviceInfo(info.CorsairDeviceIndex, nativeDeviceInfo, channelDeviceInfo, referenceLed, modelCounter));
referenceLed += channelDeviceInfo.deviceLedCount;
channelDeviceInfoPtr = new IntPtr(channelDeviceInfoPtr.ToInt64() + channelDeviceInfoStructSize);
diff --git a/RGB.NET.Devices.Corsair/Custom/CorsairCustomRGBDeviceInfo.cs b/RGB.NET.Devices.Corsair/Custom/CorsairCustomRGBDeviceInfo.cs
index eac5d13..fe2a6e8 100644
--- a/RGB.NET.Devices.Corsair/Custom/CorsairCustomRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Corsair/Custom/CorsairCustomRGBDeviceInfo.cs
@@ -2,6 +2,7 @@
// ReSharper disable UnusedMember.Global
using System;
+using System.Collections.Generic;
using RGB.NET.Core;
using RGB.NET.Devices.Corsair.Native;
@@ -31,8 +32,10 @@ namespace RGB.NET.Devices.Corsair
/// The native -struct
/// The native representing this device.
/// The id of the first led of this device.
- internal CorsairCustomRGBDeviceInfo(int deviceIndex, _CorsairDeviceInfo nativeInfo, _CorsairChannelDeviceInfo channelDeviceInfo, CorsairLedId referenceCorsairLed)
- : base(deviceIndex, channelDeviceInfo.type == CorsairChannelDeviceType.Strip ? RGBDeviceType.LedStripe : RGBDeviceType.Fan, nativeInfo, GetModelName(channelDeviceInfo.type))
+ internal CorsairCustomRGBDeviceInfo(int deviceIndex, _CorsairDeviceInfo nativeInfo, _CorsairChannelDeviceInfo channelDeviceInfo,
+ CorsairLedId referenceCorsairLed, Dictionary modelCounter)
+ : base(deviceIndex, channelDeviceInfo.type == CorsairChannelDeviceType.Strip ? RGBDeviceType.LedStripe : RGBDeviceType.Fan, nativeInfo,
+ GetModelName(channelDeviceInfo.type), modelCounter)
{
this.ReferenceCorsairLed = referenceCorsairLed;
diff --git a/RGB.NET.Devices.Corsair/Generic/CorsairRGBDeviceInfo.cs b/RGB.NET.Devices.Corsair/Generic/CorsairRGBDeviceInfo.cs
index 012cfb5..88e6600 100644
--- a/RGB.NET.Devices.Corsair/Generic/CorsairRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Corsair/Generic/CorsairRGBDeviceInfo.cs
@@ -1,4 +1,5 @@
using System;
+using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text.RegularExpressions;
using RGB.NET.Core;
@@ -27,6 +28,9 @@ namespace RGB.NET.Devices.Corsair
///
public RGBDeviceType DeviceType { get; }
+ ///
+ public string DeviceName { get; }
+
///
public string Manufacturer => "Corsair";
@@ -57,13 +61,16 @@ namespace RGB.NET.Devices.Corsair
/// The index of the .
/// The type of the .
/// The native -struct
- internal CorsairRGBDeviceInfo(int deviceIndex, RGBDeviceType deviceType, _CorsairDeviceInfo nativeInfo)
+ /// A dictionary containing counters to create unique names for equal devices models.
+ internal CorsairRGBDeviceInfo(int deviceIndex, RGBDeviceType deviceType, _CorsairDeviceInfo nativeInfo, Dictionary modelCounter)
{
this.CorsairDeviceIndex = deviceIndex;
this.DeviceType = deviceType;
this.CorsairDeviceType = nativeInfo.type;
this.Model = nativeInfo.model == IntPtr.Zero ? null : Regex.Replace(Marshal.PtrToStringAnsi(nativeInfo.model) ?? string.Empty, " ?DEMO", string.Empty, RegexOptions.IgnoreCase);
this.CapsMask = (CorsairDeviceCaps)nativeInfo.capsMask;
+
+ DeviceName = GetUniqueModelName(modelCounter);
}
///
@@ -73,13 +80,34 @@ namespace RGB.NET.Devices.Corsair
/// The type of the .
/// The native -struct
/// The name of the device-model (overwrites the one provided with the device info).
- internal CorsairRGBDeviceInfo(int deviceIndex, RGBDeviceType deviceType, _CorsairDeviceInfo nativeInfo, string modelName)
+ /// A dictionary containing counters to create unique names for equal devices models.
+ internal CorsairRGBDeviceInfo(int deviceIndex, RGBDeviceType deviceType, _CorsairDeviceInfo nativeInfo, string modelName, Dictionary modelCounter)
{
this.CorsairDeviceIndex = deviceIndex;
this.DeviceType = deviceType;
this.CorsairDeviceType = nativeInfo.type;
this.Model = modelName;
this.CapsMask = (CorsairDeviceCaps)nativeInfo.capsMask;
+
+ DeviceName = GetUniqueModelName(modelCounter);
+ }
+
+ #endregion
+
+ #region Methods
+
+ private string GetUniqueModelName(Dictionary modelCounter)
+ {
+ if (modelCounter.TryGetValue(Model, out int counter))
+ {
+ counter = ++modelCounter[Model];
+ return $"{Manufacturer} {Model} {counter}";
+ }
+ else
+ {
+ modelCounter.Add(Model, 1);
+ return $"{Manufacturer} {Model}";
+ }
}
#endregion
diff --git a/RGB.NET.Devices.Corsair/Headset/CorsairHeadsetRGBDeviceInfo.cs b/RGB.NET.Devices.Corsair/Headset/CorsairHeadsetRGBDeviceInfo.cs
index 560077a..993d17d 100644
--- a/RGB.NET.Devices.Corsair/Headset/CorsairHeadsetRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Corsair/Headset/CorsairHeadsetRGBDeviceInfo.cs
@@ -1,4 +1,5 @@
-using RGB.NET.Core;
+using System.Collections.Generic;
+using RGB.NET.Core;
using RGB.NET.Devices.Corsair.Native;
namespace RGB.NET.Devices.Corsair
@@ -17,8 +18,9 @@ namespace RGB.NET.Devices.Corsair
///
/// The index of the .
/// The native -struct
- internal CorsairHeadsetRGBDeviceInfo(int deviceIndex, _CorsairDeviceInfo nativeInfo)
- : base(deviceIndex, RGBDeviceType.Headset, nativeInfo)
+ /// A dictionary containing counters to create unique names for equal devices models.
+ internal CorsairHeadsetRGBDeviceInfo(int deviceIndex, _CorsairDeviceInfo nativeInfo, Dictionary modelCounter)
+ : base(deviceIndex, RGBDeviceType.Headset, nativeInfo, modelCounter)
{ }
#endregion
diff --git a/RGB.NET.Devices.Corsair/HeadsetStand/CorsairHeadsetStandRGBDeviceInfo.cs b/RGB.NET.Devices.Corsair/HeadsetStand/CorsairHeadsetStandRGBDeviceInfo.cs
index e5237ac..50ebbb3 100644
--- a/RGB.NET.Devices.Corsair/HeadsetStand/CorsairHeadsetStandRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Corsair/HeadsetStand/CorsairHeadsetStandRGBDeviceInfo.cs
@@ -1,4 +1,5 @@
-using RGB.NET.Core;
+using System.Collections.Generic;
+using RGB.NET.Core;
using RGB.NET.Devices.Corsair.Native;
namespace RGB.NET.Devices.Corsair
@@ -17,8 +18,9 @@ namespace RGB.NET.Devices.Corsair
///
/// The index of the .
/// The native -struct
- internal CorsairHeadsetStandRGBDeviceInfo(int deviceIndex, _CorsairDeviceInfo nativeInfo)
- : base(deviceIndex, RGBDeviceType.HeadsetStand, nativeInfo)
+ /// A dictionary containing counters to create unique names for equal devices models.
+ internal CorsairHeadsetStandRGBDeviceInfo(int deviceIndex, _CorsairDeviceInfo nativeInfo, Dictionary modelCounter)
+ : base(deviceIndex, RGBDeviceType.HeadsetStand, nativeInfo, modelCounter)
{ }
#endregion
diff --git a/RGB.NET.Devices.Corsair/Keyboard/CorsairKeyboardRGBDeviceInfo.cs b/RGB.NET.Devices.Corsair/Keyboard/CorsairKeyboardRGBDeviceInfo.cs
index 32f7fbf..fe6d699 100644
--- a/RGB.NET.Devices.Corsair/Keyboard/CorsairKeyboardRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Corsair/Keyboard/CorsairKeyboardRGBDeviceInfo.cs
@@ -1,6 +1,7 @@
// ReSharper disable MemberCanBePrivate.Global
// ReSharper disable UnusedMember.Global
+using System.Collections.Generic;
using RGB.NET.Core;
using RGB.NET.Devices.Corsair.Native;
@@ -34,8 +35,9 @@ namespace RGB.NET.Devices.Corsair
///
/// The index of the .
/// The native -struct
- internal CorsairKeyboardRGBDeviceInfo(int deviceIndex, _CorsairDeviceInfo nativeInfo)
- : base(deviceIndex, RGBDeviceType.Keyboard, nativeInfo)
+ /// A dictionary containing counters to create unique names for equal devices models.
+ internal CorsairKeyboardRGBDeviceInfo(int deviceIndex, _CorsairDeviceInfo nativeInfo, Dictionary modelCounter)
+ : base(deviceIndex, RGBDeviceType.Keyboard, nativeInfo, modelCounter)
{
this.PhysicalLayout = (CorsairPhysicalKeyboardLayout)nativeInfo.physicalLayout;
this.LogicalLayout = (CorsairLogicalKeyboardLayout)nativeInfo.logicalLayout;
diff --git a/RGB.NET.Devices.Corsair/Mouse/CorsairMouseRGBDeviceInfo.cs b/RGB.NET.Devices.Corsair/Mouse/CorsairMouseRGBDeviceInfo.cs
index 346fc5e..be37040 100644
--- a/RGB.NET.Devices.Corsair/Mouse/CorsairMouseRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Corsair/Mouse/CorsairMouseRGBDeviceInfo.cs
@@ -1,4 +1,5 @@
-using RGB.NET.Core;
+using System.Collections.Generic;
+using RGB.NET.Core;
using RGB.NET.Devices.Corsair.Native;
namespace RGB.NET.Devices.Corsair
@@ -26,8 +27,9 @@ namespace RGB.NET.Devices.Corsair
///
/// The index of the .
/// The native -struct
- internal CorsairMouseRGBDeviceInfo(int deviceIndex, _CorsairDeviceInfo nativeInfo)
- : base(deviceIndex, RGBDeviceType.Mouse, nativeInfo)
+ /// A dictionary containing counters to create unique names for equal devices models.
+ internal CorsairMouseRGBDeviceInfo(int deviceIndex, _CorsairDeviceInfo nativeInfo, Dictionary modelCounter)
+ : base(deviceIndex, RGBDeviceType.Mouse, nativeInfo, modelCounter)
{
this.PhysicalLayout = (CorsairPhysicalMouseLayout)nativeInfo.physicalLayout;
}
diff --git a/RGB.NET.Devices.Corsair/Mousepad/CorsairMousepadRGBDeviceInfo.cs b/RGB.NET.Devices.Corsair/Mousepad/CorsairMousepadRGBDeviceInfo.cs
index c5e5823..86ef31f 100644
--- a/RGB.NET.Devices.Corsair/Mousepad/CorsairMousepadRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Corsair/Mousepad/CorsairMousepadRGBDeviceInfo.cs
@@ -1,4 +1,5 @@
-using RGB.NET.Core;
+using System.Collections.Generic;
+using RGB.NET.Core;
using RGB.NET.Devices.Corsair.Native;
namespace RGB.NET.Devices.Corsair
@@ -17,8 +18,9 @@ namespace RGB.NET.Devices.Corsair
///
/// The index if the .
/// The native -struct
- internal CorsairMousepadRGBDeviceInfo(int deviceIndex, _CorsairDeviceInfo nativeInfo)
- : base(deviceIndex, RGBDeviceType.Mousepad, nativeInfo)
+ /// A dictionary containing counters to create unique names for equal devices models.
+ internal CorsairMousepadRGBDeviceInfo(int deviceIndex, _CorsairDeviceInfo nativeInfo, Dictionary modelCounter)
+ : base(deviceIndex, RGBDeviceType.Mousepad, nativeInfo, modelCounter)
{ }
#endregion
diff --git a/RGB.NET.Devices.DMX/E131/E131DeviceInfo.cs b/RGB.NET.Devices.DMX/E131/E131DeviceInfo.cs
index 8da933e..2401f58 100644
--- a/RGB.NET.Devices.DMX/E131/E131DeviceInfo.cs
+++ b/RGB.NET.Devices.DMX/E131/E131DeviceInfo.cs
@@ -24,6 +24,9 @@ namespace RGB.NET.Devices.DMX.E131
///
public RGBDeviceType DeviceType { get; }
+ ///
+ public string DeviceName { get; }
+
///
public string Manufacturer { get; }
@@ -78,6 +81,8 @@ namespace RGB.NET.Devices.DMX.E131
CID = new byte[CID_LENGTH];
new Random().NextBytes(CID);
}
+
+ DeviceName = $"{Manufacturer} {Model}";
}
#endregion
diff --git a/RGB.NET.Devices.Debug/DebugRGBDeviceInfo.cs b/RGB.NET.Devices.Debug/DebugRGBDeviceInfo.cs
index 10ad430..e3e6205 100644
--- a/RGB.NET.Devices.Debug/DebugRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Debug/DebugRGBDeviceInfo.cs
@@ -14,6 +14,9 @@ namespace RGB.NET.Devices.Debug
///
public RGBDeviceType DeviceType { get; }
+ ///
+ public string DeviceName { get; }
+
///
public string Manufacturer { get; }
@@ -41,13 +44,15 @@ namespace RGB.NET.Devices.Debug
/// The model of the device.
/// The of the device.
/// True if the device supports syncback; false if not.
- internal DebugRGBDeviceInfo(RGBDeviceType deviceType, string manufacturer, string model, RGBDeviceLighting lighting, bool supportsSyncBack)
+ internal DebugRGBDeviceInfo(RGBDeviceType deviceType, string manufacturer, string model, RGBDeviceLighting lighting, bool supportsSyncBack, string deviceName = null)
{
this.DeviceType = deviceType;
this.Manufacturer = manufacturer;
this.Model = model;
this.Lighting = lighting;
this.SupportsSyncBack = supportsSyncBack;
+
+ DeviceName = deviceName ?? $"{Manufacturer} {Model}";
}
#endregion
diff --git a/RGB.NET.Devices.Logitech/Generic/LogitechRGBDeviceInfo.cs b/RGB.NET.Devices.Logitech/Generic/LogitechRGBDeviceInfo.cs
index 3fc5017..ae13908 100644
--- a/RGB.NET.Devices.Logitech/Generic/LogitechRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Logitech/Generic/LogitechRGBDeviceInfo.cs
@@ -14,6 +14,9 @@ namespace RGB.NET.Devices.Logitech
///
public RGBDeviceType DeviceType { get; }
+ ///
+ public string DeviceName { get; }
+
///
public string Manufacturer => "Logitech";
@@ -76,6 +79,8 @@ namespace RGB.NET.Devices.Logitech
this.DeviceCaps = deviceCaps;
this.ImageLayout = imageLayout;
this.LayoutPath = layoutPath;
+
+ DeviceName = $"{Manufacturer} {Model}";
}
#endregion
diff --git a/RGB.NET.Devices.Msi/Generic/MsiRGBDeviceInfo.cs b/RGB.NET.Devices.Msi/Generic/MsiRGBDeviceInfo.cs
index f0d5c15..1d8e942 100644
--- a/RGB.NET.Devices.Msi/Generic/MsiRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Msi/Generic/MsiRGBDeviceInfo.cs
@@ -19,6 +19,9 @@ namespace RGB.NET.Devices.Msi
///
public string MsiDeviceType { get; }
+ ///
+ public string DeviceName { get; }
+
///
public string Manufacturer { get; }
@@ -51,6 +54,8 @@ namespace RGB.NET.Devices.Msi
this.MsiDeviceType = msiDeviceType;
this.Manufacturer = manufacturer;
this.Model = model;
+
+ DeviceName = $"{Manufacturer} {Model}";
}
#endregion
diff --git a/RGB.NET.Devices.Novation/Generic/NovationRGBDeviceInfo.cs b/RGB.NET.Devices.Novation/Generic/NovationRGBDeviceInfo.cs
index c419719..2240500 100644
--- a/RGB.NET.Devices.Novation/Generic/NovationRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Novation/Generic/NovationRGBDeviceInfo.cs
@@ -14,6 +14,9 @@ namespace RGB.NET.Devices.Novation
///
public RGBDeviceType DeviceType { get; }
+ ///
+ public string DeviceName { get; }
+
///
public string Manufacturer => "Novation";
@@ -56,6 +59,8 @@ namespace RGB.NET.Devices.Novation
this.Model = model;
this.DeviceId = deviceId;
this.ColorCapabilities = colorCapabilities;
+
+ DeviceName = $"{Manufacturer} {Model}";
}
#endregion
diff --git a/RGB.NET.Devices.Razer/Generic/RazerRGBDeviceInfo.cs b/RGB.NET.Devices.Razer/Generic/RazerRGBDeviceInfo.cs
index 2385b01..3b1f241 100644
--- a/RGB.NET.Devices.Razer/Generic/RazerRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Razer/Generic/RazerRGBDeviceInfo.cs
@@ -19,6 +19,9 @@ namespace RGB.NET.Devices.Razer
///
public RGBDeviceType DeviceType { get; }
+ ///
+ public string DeviceName { get; }
+
///
public string Manufacturer => "Razer";
@@ -49,6 +52,8 @@ namespace RGB.NET.Devices.Razer
this.DeviceId = deviceId;
this.DeviceType = deviceType;
this.Model = model;
+
+ DeviceName = $"{Manufacturer} {Model}";
}
#endregion
diff --git a/RGB.NET.Devices.SoIP/Client/SoIPClientRGBDeviceInfo.cs b/RGB.NET.Devices.SoIP/Client/SoIPClientRGBDeviceInfo.cs
index a878d09..99f8099 100644
--- a/RGB.NET.Devices.SoIP/Client/SoIPClientRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.SoIP/Client/SoIPClientRGBDeviceInfo.cs
@@ -14,6 +14,9 @@ namespace RGB.NET.Devices.SoIP.Client
///
public RGBDeviceType DeviceType => RGBDeviceType.Unknown;
+ ///
+ public string DeviceName { get; }
+
///
public string Manufacturer { get; }
@@ -49,6 +52,8 @@ namespace RGB.NET.Devices.SoIP.Client
this.Model = deviceDefinition.Model;
this.Hostname = deviceDefinition.Hostname;
this.Port = deviceDefinition.Port;
+
+ DeviceName = $"{Manufacturer} {Model}";
}
#endregion
diff --git a/RGB.NET.Devices.SoIP/Server/SoIPServerRGBDeviceInfo.cs b/RGB.NET.Devices.SoIP/Server/SoIPServerRGBDeviceInfo.cs
index 25db97e..10ff143 100644
--- a/RGB.NET.Devices.SoIP/Server/SoIPServerRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.SoIP/Server/SoIPServerRGBDeviceInfo.cs
@@ -14,6 +14,9 @@ namespace RGB.NET.Devices.SoIP.Server
///
public RGBDeviceType DeviceType => RGBDeviceType.Unknown;
+ ///
+ public string DeviceName { get; }
+
///
public string Manufacturer { get; }
@@ -43,6 +46,8 @@ namespace RGB.NET.Devices.SoIP.Server
this.Manufacturer = deviceDefinition.Manufacturer;
this.Model = deviceDefinition.Model;
this.Port = deviceDefinition.Port;
+
+ DeviceName = $"{Manufacturer} {Model}";
}
#endregion