Skip to content
This repository was archived by the owner on Aug 6, 2021. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions CUE.NET.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,10 @@
<Compile Include="ColorCorrection\GammaCorrection.cs" />
<Compile Include="ColorCorrection\IColorCorrection.cs" />
<Compile Include="CueSDKAutoUpdate.cs" />
<Compile Include="Devices\CommanderPro\CorsairCommanderPro.cs" />
<Compile Include="Devices\CommanderPro\CorsairCommanderProDeviceInfo.cs" />
<Compile Include="Devices\Cooler\CorsairCooler.cs" />
<Compile Include="Devices\Cooler\CorsairCoolerDeviceInfo.cs" />
<Compile Include="Devices\Generic\CorsairColor.cs" />
<Compile Include="Devices\Generic\Enums\CorsairAccessMode.cs" />
<Compile Include="Devices\Generic\Enums\CorsairDeviceCaps.cs" />
Expand All @@ -73,6 +77,10 @@
<Compile Include="Devices\HeadsetStand\Enums\CorsairHeadsetStandLedId.cs" />
<Compile Include="Devices\Keyboard\Enums\BrushCalculationMode.cs" />
<Compile Include="Devices\Keyboard\Enums\CorsairKeyboardKeyId.cs" />
<Compile Include="Devices\LightingNodePro\CorsairLightingNodePro.cs" />
<Compile Include="Devices\LightingNodePro\CorsairLightingNodeProDeviceInfo.cs" />
<Compile Include="Devices\MemoryModule\CorsairMemoryModule.cs" />
<Compile Include="Devices\MemoryModule\CorsairMemoryModuleDeviceInfo.cs" />
<Compile Include="Devices\Mouse\Enums\CorsairMouseKeyId.cs" />
<Compile Include="Effects\AbstractLedGroupEffect.cs" />
<Compile Include="Effects\AbstractBrushEffect.cs" />
Expand Down
61 changes: 59 additions & 2 deletions CUE.NET.sln
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
# Visual Studio 15
VisualStudioVersion = 15.0.28010.2050
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CUE.NET", "CUE.NET.csproj", "{70A266B5-E9D4-4EAA-A91A-947C0039FFB6}"
EndProject
Expand Down Expand Up @@ -36,28 +36,81 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ambilight", "Ambilight", "{
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Example_Ambilight_full", "Examples\Ambilight\Example_Ambilight_full\Example_Ambilight_full.csproj", "{6D7BAF89-A705-4FFA-A3A2-AF93EC3A909C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Demo", "Demo\Demo.csproj", "{D0214090-DD72-4316-8BF7-08A02293ADD2}"
ProjectSection(ProjectDependencies) = postProject
{70A266B5-E9D4-4EAA-A91A-947C0039FFB6} = {70A266B5-E9D4-4EAA-A91A-947C0039FFB6}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{70A266B5-E9D4-4EAA-A91A-947C0039FFB6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{70A266B5-E9D4-4EAA-A91A-947C0039FFB6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{70A266B5-E9D4-4EAA-A91A-947C0039FFB6}.Debug|x64.ActiveCfg = Debug|Any CPU
{70A266B5-E9D4-4EAA-A91A-947C0039FFB6}.Debug|x64.Build.0 = Debug|Any CPU
{70A266B5-E9D4-4EAA-A91A-947C0039FFB6}.Debug|x86.ActiveCfg = Debug|Any CPU
{70A266B5-E9D4-4EAA-A91A-947C0039FFB6}.Debug|x86.Build.0 = Debug|Any CPU
{70A266B5-E9D4-4EAA-A91A-947C0039FFB6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{70A266B5-E9D4-4EAA-A91A-947C0039FFB6}.Release|Any CPU.Build.0 = Release|Any CPU
{70A266B5-E9D4-4EAA-A91A-947C0039FFB6}.Release|x64.ActiveCfg = Release|Any CPU
{70A266B5-E9D4-4EAA-A91A-947C0039FFB6}.Release|x64.Build.0 = Release|Any CPU
{70A266B5-E9D4-4EAA-A91A-947C0039FFB6}.Release|x86.ActiveCfg = Release|Any CPU
{70A266B5-E9D4-4EAA-A91A-947C0039FFB6}.Release|x86.Build.0 = Release|Any CPU
{7FD88256-5E14-4D7C-862B-7BC2CD04081A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7FD88256-5E14-4D7C-862B-7BC2CD04081A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7FD88256-5E14-4D7C-862B-7BC2CD04081A}.Debug|x64.ActiveCfg = Debug|Any CPU
{7FD88256-5E14-4D7C-862B-7BC2CD04081A}.Debug|x64.Build.0 = Debug|Any CPU
{7FD88256-5E14-4D7C-862B-7BC2CD04081A}.Debug|x86.ActiveCfg = Debug|Any CPU
{7FD88256-5E14-4D7C-862B-7BC2CD04081A}.Debug|x86.Build.0 = Debug|Any CPU
{7FD88256-5E14-4D7C-862B-7BC2CD04081A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7FD88256-5E14-4D7C-862B-7BC2CD04081A}.Release|Any CPU.Build.0 = Release|Any CPU
{7FD88256-5E14-4D7C-862B-7BC2CD04081A}.Release|x64.ActiveCfg = Release|Any CPU
{7FD88256-5E14-4D7C-862B-7BC2CD04081A}.Release|x64.Build.0 = Release|Any CPU
{7FD88256-5E14-4D7C-862B-7BC2CD04081A}.Release|x86.ActiveCfg = Release|Any CPU
{7FD88256-5E14-4D7C-862B-7BC2CD04081A}.Release|x86.Build.0 = Release|Any CPU
{E06B4E1D-9735-4CB4-BC11-9ECDF27A0972}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E06B4E1D-9735-4CB4-BC11-9ECDF27A0972}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E06B4E1D-9735-4CB4-BC11-9ECDF27A0972}.Debug|x64.ActiveCfg = Debug|Any CPU
{E06B4E1D-9735-4CB4-BC11-9ECDF27A0972}.Debug|x64.Build.0 = Debug|Any CPU
{E06B4E1D-9735-4CB4-BC11-9ECDF27A0972}.Debug|x86.ActiveCfg = Debug|Any CPU
{E06B4E1D-9735-4CB4-BC11-9ECDF27A0972}.Debug|x86.Build.0 = Debug|Any CPU
{E06B4E1D-9735-4CB4-BC11-9ECDF27A0972}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E06B4E1D-9735-4CB4-BC11-9ECDF27A0972}.Release|Any CPU.Build.0 = Release|Any CPU
{E06B4E1D-9735-4CB4-BC11-9ECDF27A0972}.Release|x64.ActiveCfg = Release|Any CPU
{E06B4E1D-9735-4CB4-BC11-9ECDF27A0972}.Release|x64.Build.0 = Release|Any CPU
{E06B4E1D-9735-4CB4-BC11-9ECDF27A0972}.Release|x86.ActiveCfg = Release|Any CPU
{E06B4E1D-9735-4CB4-BC11-9ECDF27A0972}.Release|x86.Build.0 = Release|Any CPU
{6D7BAF89-A705-4FFA-A3A2-AF93EC3A909C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6D7BAF89-A705-4FFA-A3A2-AF93EC3A909C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6D7BAF89-A705-4FFA-A3A2-AF93EC3A909C}.Debug|x64.ActiveCfg = Debug|Any CPU
{6D7BAF89-A705-4FFA-A3A2-AF93EC3A909C}.Debug|x64.Build.0 = Debug|Any CPU
{6D7BAF89-A705-4FFA-A3A2-AF93EC3A909C}.Debug|x86.ActiveCfg = Debug|Any CPU
{6D7BAF89-A705-4FFA-A3A2-AF93EC3A909C}.Debug|x86.Build.0 = Debug|Any CPU
{6D7BAF89-A705-4FFA-A3A2-AF93EC3A909C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6D7BAF89-A705-4FFA-A3A2-AF93EC3A909C}.Release|Any CPU.Build.0 = Release|Any CPU
{6D7BAF89-A705-4FFA-A3A2-AF93EC3A909C}.Release|x64.ActiveCfg = Release|Any CPU
{6D7BAF89-A705-4FFA-A3A2-AF93EC3A909C}.Release|x64.Build.0 = Release|Any CPU
{6D7BAF89-A705-4FFA-A3A2-AF93EC3A909C}.Release|x86.ActiveCfg = Release|Any CPU
{6D7BAF89-A705-4FFA-A3A2-AF93EC3A909C}.Release|x86.Build.0 = Release|Any CPU
{D0214090-DD72-4316-8BF7-08A02293ADD2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D0214090-DD72-4316-8BF7-08A02293ADD2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D0214090-DD72-4316-8BF7-08A02293ADD2}.Debug|x64.ActiveCfg = Debug|Any CPU
{D0214090-DD72-4316-8BF7-08A02293ADD2}.Debug|x64.Build.0 = Debug|Any CPU
{D0214090-DD72-4316-8BF7-08A02293ADD2}.Debug|x86.ActiveCfg = Debug|Any CPU
{D0214090-DD72-4316-8BF7-08A02293ADD2}.Debug|x86.Build.0 = Debug|Any CPU
{D0214090-DD72-4316-8BF7-08A02293ADD2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D0214090-DD72-4316-8BF7-08A02293ADD2}.Release|Any CPU.Build.0 = Release|Any CPU
{D0214090-DD72-4316-8BF7-08A02293ADD2}.Release|x64.ActiveCfg = Release|Any CPU
{D0214090-DD72-4316-8BF7-08A02293ADD2}.Release|x64.Build.0 = Release|Any CPU
{D0214090-DD72-4316-8BF7-08A02293ADD2}.Release|x86.ActiveCfg = Release|Any CPU
{D0214090-DD72-4316-8BF7-08A02293ADD2}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -71,5 +124,9 @@ Global
{E06B4E1D-9735-4CB4-BC11-9ECDF27A0972} = {BE16A0BF-6794-4718-AF27-F2A50078D880}
{1ABADCA4-AC96-4E9F-91C5-232EB824D6DE} = {1F52DDC9-E9D0-4A7B-8E78-930528203EE6}
{6D7BAF89-A705-4FFA-A3A2-AF93EC3A909C} = {1ABADCA4-AC96-4E9F-91C5-232EB824D6DE}
{D0214090-DD72-4316-8BF7-08A02293ADD2} = {1F52DDC9-E9D0-4A7B-8E78-930528203EE6}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {5D334488-15A0-4E15-A168-2D27075111A7}
EndGlobalSection
EndGlobal
68 changes: 62 additions & 6 deletions CueSDK.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@
using CUE.NET.Devices.Keyboard;
using CUE.NET.Devices.Mouse;
using CUE.NET.Devices.Mousemat;
using CUE.NET.Devices.Cooler;
using CUE.NET.Devices.LightingNodePro;
using CUE.NET.Devices.CommanderPro;
using CUE.NET.Devices.MemoryModule;
using CUE.NET.EventArgs;
using CUE.NET.Exceptions;
using CUE.NET.Native;
Expand All @@ -32,13 +36,13 @@ public static partial class CueSDK
/// Gets a modifiable list of paths used to find the native SDK-dlls for x86 applications.
/// The first match will be used.
/// </summary>
public static List<string> PossibleX86NativePaths { get; } = new List<string> { "x86/CUESDK_2015.dll", "x86/CUESDK.dll" };
public static List<string> PossibleX86NativePaths { get; } = new List<string> { "CorsairSDK/x86/CUESDK_2015.dll", "CorsairSDK/x86/CUESDK.dll" };

/// <summary>
/// Gets a modifiable list of paths used to find the native SDK-dlls for x64 applications.
/// The first match will be used.
/// </summary>
public static List<string> PossibleX64NativePaths { get; } = new List<string> { "x64/CUESDK_2015.dll", "x64/CUESDK.dll" };
public static List<string> PossibleX64NativePaths { get; } = new List<string> { "CorsairSDK/x64/CUESDK_2015.dll", "CorsairSDK/x64/CUESDK.dll" };

/// <summary>
/// Indicates if the SDK is initialized and ready to use.
Expand Down Expand Up @@ -100,6 +104,14 @@ public static partial class CueSDK
/// </summary>
public static CorsairHeadsetStand HeadsetStandSDK { get; private set; }

public static CorsairCommanderPro CommanderProSDK { get; private set; }

public static CorsairLightingNodePro LightingNodeProSDK { get; private set; }

public static CorsairMemoryModule MemoryModuleSDK { get; private set; }

public static CorsairCooler CoolerSDK { get; private set; }

// ReSharper restore UnusedAutoPropertyAccessor.Global

[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
Expand Down Expand Up @@ -147,6 +159,14 @@ public static bool IsSDKAvailable(CorsairDeviceType? sdkType = null)
return MousematSDK != null;
case CorsairDeviceType.HeadsetStand:
return HeadsetStandSDK != null;
case CorsairDeviceType.CommanderPro:
return CommanderProSDK != null;
case CorsairDeviceType.Cooler:
return CoolerSDK != null;
case CorsairDeviceType.MemoryModule:
return MemoryModuleSDK != null;
case CorsairDeviceType.LightingNodePro:
return LightingNodeProSDK != null;
default:
return true;
}
Expand Down Expand Up @@ -214,8 +234,8 @@ public static void Initialize(bool exclusiveAccess = false)
{
_CorsairDeviceInfo nativeDeviceInfo = (_CorsairDeviceInfo)Marshal.PtrToStructure(_CUESDK.CorsairGetDeviceInfo(i), typeof(_CorsairDeviceInfo));
GenericDeviceInfo info = new GenericDeviceInfo(nativeDeviceInfo);
if (!info.CapsMask.HasFlag(CorsairDeviceCaps.Lighting))
continue; // Everything that doesn't support lighting control is useless
// if (!info.CapsMask.HasFlag(CorsairDeviceCaps.Lighting))
// continue; // Everything that doesn't support lighting control is useless

ICueDevice device;
switch (info.Type)
Expand All @@ -235,6 +255,18 @@ public static void Initialize(bool exclusiveAccess = false)
case CorsairDeviceType.HeadsetStand:
device = HeadsetStandSDK = new CorsairHeadsetStand(new CorsairHeadsetStandDeviceInfo(nativeDeviceInfo));
break;
case CorsairDeviceType.Cooler:
device = CoolerSDK = new CorsairCooler(new CorsairCoolerDeviceInfo(nativeDeviceInfo));
break;
case CorsairDeviceType.CommanderPro:
device = CommanderProSDK = new CorsairCommanderPro(new CorsairCommanderProDeviceInfo(nativeDeviceInfo));
break;
case CorsairDeviceType.LightingNodePro:
device = LightingNodeProSDK = new CorsairLightingNodePro(new CorsairLightingNodeProDeviceInfo(nativeDeviceInfo));
break;
case CorsairDeviceType.MemoryModule:
device = MemoryModuleSDK = new CorsairMemoryModule(new CorsairMemoryModuleDeviceInfo(nativeDeviceInfo));
break;
// ReSharper disable once RedundantCaseLabel
case CorsairDeviceType.Unknown:
default:
Expand Down Expand Up @@ -310,6 +342,10 @@ public static void Reinitialize(bool exclusiveAccess)
HeadsetSDK?.ResetLeds();
MousematSDK?.ResetLeds();
HeadsetStandSDK?.ResetLeds();
CommanderProSDK?.ResetLeds();
LightingNodeProSDK?.ResetLeds();
MemoryModuleSDK?.ResetLeds();
CoolerSDK?.ResetLeds();

_CUESDK.Reload();

Expand All @@ -334,8 +370,8 @@ public static void Reinitialize(bool exclusiveAccess)
for (int i = 0; i < deviceCount; i++)
{
GenericDeviceInfo info = new GenericDeviceInfo((_CorsairDeviceInfo)Marshal.PtrToStructure(_CUESDK.CorsairGetDeviceInfo(i), typeof(_CorsairDeviceInfo)));
if (!info.CapsMask.HasFlag(CorsairDeviceCaps.Lighting))
continue; // Everything that doesn't support lighting control is useless
//if (!info.CapsMask.HasFlag(CorsairDeviceCaps.Lighting))
// continue; // Everything that doesn't support lighting control is useless

reloadedDevices.Add(info.Type, info);

Expand Down Expand Up @@ -364,6 +400,22 @@ public static void Reinitialize(bool exclusiveAccess)
if (!reloadedDevices.ContainsKey(CorsairDeviceType.HeadsetStand)
|| HeadsetStandSDK.HeadsetStandDeviceInfo.Model != reloadedDevices[CorsairDeviceType.HeadsetStand].Model)
throw new WrapperException("The previously loaded Headset Stand got disconnected.");
if (CoolerSDK != null)
if (!reloadedDevices.ContainsKey(CorsairDeviceType.Cooler)
|| CoolerSDK.CoolerDeviceInfo.Model != reloadedDevices[CorsairDeviceType.Cooler].Model)
throw new WrapperException("The previously loaded Cooler got disconnected.");
if (CommanderProSDK != null)
if (!reloadedDevices.ContainsKey(CorsairDeviceType.CommanderPro)
|| CommanderProSDK.CommanderProDeviceInfo.Model != reloadedDevices[CorsairDeviceType.CommanderPro].Model)
throw new WrapperException("The previously loaded Commander Pro got disconnected.");
if (MemoryModuleSDK != null)
if (!reloadedDevices.ContainsKey(CorsairDeviceType.MemoryModule)
|| MemoryModuleSDK.MemoryModuleDeviceInfo.Model != reloadedDevices[CorsairDeviceType.MemoryModule].Model)
throw new WrapperException("The previously loaded Memory Module got disconnected.");
if (LightingNodeProSDK != null)
if (!reloadedDevices.ContainsKey(CorsairDeviceType.LightingNodePro)
|| LightingNodeProSDK.LightingNodeProDeviceInfo.Model != reloadedDevices[CorsairDeviceType.LightingNodePro].Model)
throw new WrapperException("The previously loaded Lighting Node Pro got disconnected.");

error = LastError;
if (error != CorsairError.Success)
Expand All @@ -383,6 +435,10 @@ private static void Throw(CorsairError error, bool reset)
HeadsetSDK = null;
MousematSDK = null;
HeadsetStandSDK = null;
CommanderProSDK = null;
LightingNodeProSDK = null;
CoolerSDK = null;
MemoryModuleSDK = null;
IsInitialized = false;
}

Expand Down
6 changes: 6 additions & 0 deletions Demo/App.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
</configuration>
58 changes: 58 additions & 0 deletions Demo/Demo.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{D0214090-DD72-4316-8BF7-08A02293ADD2}</ProjectGuid>
<OutputType>Exe</OutputType>
<RootNamespace>Demo</RootNamespace>
<AssemblyName>Demo</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="CUE.NET, Version=1.2.0.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\bin\CUE.NET.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
30 changes: 30 additions & 0 deletions Demo/Program.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
using CUE.NET;
using CUE.NET.Brushes;
using CUE.NET.Devices.LightingNodePro;
using CUE.NET.Devices.HeadsetStand;
using CUE.NET.Gradients;
using CUE.NET.Groups;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Demo
{
class Program
{
static void Main(string[] args)
{
CueSDK.IsSDKAvailable();
CueSDK.Initialize(false);
CorsairLightingNodePro commander = CueSDK.LightingNodeProSDK;
CueSDK.LightingNodeProSDK.Brush = (SolidColorBrush)Color.Black;
ILedGroup rainbowLeds = new ListLedGroup(CueSDK.LightingNodeProSDK, CueSDK.LightingNodeProSDK);
rainbowLeds.Brush = new LinearGradientBrush(new RainbowGradient());
CueSDK.LightingNodeProSDK.Update();
Console.Write("LightingNodePro: " + commander); Console.ReadLine();
}
}
}
Loading