rgb_net - RGB.NET.Brushes 0.0.1.66

Brushes-Presets of RGB.NET

PM> Install-Package RGB.NET.Brushes -Version 0.0.1.66 -Source https://www.myget.org/F/rgb_net/api/v3/index.json

Copy to clipboard

> nuget.exe install RGB.NET.Brushes -Version 0.0.1.66 -Source https://www.myget.org/F/rgb_net/api/v3/index.json

Copy to clipboard

> dotnet add package RGB.NET.Brushes --version 0.0.1.66 --source https://www.myget.org/F/rgb_net/api/v3/index.json

Copy to clipboard
<PackageReference Include="RGB.NET.Brushes" Version="0.0.1.66" />
Copy to clipboard
source https://www.myget.org/F/rgb_net/api/v3/index.json

nuget RGB.NET.Brushes  ~> 0.0.1.66
Copy to clipboard

> choco install RGB.NET.Brushes --version 0.0.1.66 --source https://www.myget.org/F/rgb_net/api/v2

Copy to clipboard
Import-Module PowerShellGet
Register-PSRepository -Name "rgb_net" -SourceLocation "https://www.myget.org/F/rgb_net/api/v2"
Install-Module -Name "RGB.NET.Brushes" -RequiredVersion "0.0.1.66" -Repository "rgb_net" 
Copy to clipboard

Browse the sources in this package using Visual Studio or WinDbg by configuring the following legacy symbol server URL: https://www.myget.org/F/rgb_net/symbols/


RGB.NET

GitHub release (latest by date) Nuget GitHub GitHub Repo stars Discord

IMPORTANT NOTE
This is a library to integrate RGB-devices into your own application. It does not contain any executables!
If you're looking for a full blown software solution to manage your RGB-devices, take a look at Artemis.

Getting Started

Setup

  1. Add the RGB.NET.Core and Devices-Nugets for all devices you want to use.
  2. For some of the vendors SDK-libraries are needed. Check the contained Readmes for more information in that case.
  3. Create a new RGBSurface.
RGBSurface surface = new RGBSurface();
  1. Initialize the providers for all devices you want to use and add the devices to the surface. For example:
CorsairDeviceProvider.Instance.Initialize(throwExceptions: true);
surface.Attach(CorsairDeviceProvider.Instance.Devices);

The Initialize-method allows to load only devices of specific types by setting a filter and for debugging purposes allows to enable exception throwing. (By default they are catched and provided through the Exception-event.) You can also use the Load-Extension on the surface.

surface.Load(CorsairDeviceProvider.Instance);

While most device-providers are implemented in a way that supports fast loading like this some may have a different loading procedures. (For example the WS281XDeviceProvider requires device-definitions before loading.)

  1. Add an update-trigger. In most cases the TimerUpdateTrigger is preferable, but you can also implement your own to fit your needs.
surface.RegisterUpdateTrigger(new TimerUpdateTrigger());

If you want to trigger updates manually the ManualUpdateTrigger should be used.

  1. This step is optional but recommended. For rendering the location of each LED on the surface can be important. Since not all SDKs provide useful layout-information you might want to add Layouts to your devices. (TODO: add wiki article for this) Same goes for the location of the device on the surface. If you don't care about the exact location of the devices you can use:
surface.AlignDevices();

The basic setup is now complete and you can start setting up your rendering.

Basic Rendering

As an example we'll add a moving rainbow over all devices on the surface.

  1. Create a led-group containing all leds on the surface (all devices)
ILedGroup allLeds = new ListLedGroup(surface, surface.Leds);
  1. Create a rainbow-gradient.
RainbowGradient rainbow = new RainbowGradient();
  1. Add a decorator to the gradient to make it move. (Decorators are
rainbow.AddDecorator(new MoveGradientDecorator(surface));
  1. Create a texture (the size - in this example 10, 10 - is not important here since the gradient shoukd be stretched anyway)
ITexture texture = new ConicalGradientTexture(new Size(10, 10), rainbow);
  1. Add a brush rendering the texture to the led-group
allLeds.Brush = new TextureBrush(texture);

Full example

RGBSurface surface = new RGBSurface();
surface.Load(CorsairDeviceProvider.Instance);
surface.AlignDevices();

surface.RegisterUpdateTrigger(new TimerUpdateTrigger());

ILedGroup allLeds = new ListLedGroup(surface, surface.Leds);
RainbowGradient rainbow = new RainbowGradient();
rainbow.AddDecorator(new MoveGradientDecorator(surface));
ITexture texture = new ConicalGradientTexture(new Size(10, 10), rainbow);
allLeds.Brush = new TextureBrush(texture);
  • .NETFramework 4.5
    • RGB.NET.Core (>= 0.0.1.66)
    • System.ValueTuple (>= 4.4.0)
  • .NETStandard 2.0
    • RGB.NET.Core (>= 0.0.1.66)
  • .NETFramework 4.5: 4.5.0.0
  • .NETStandard 2.0: 2.0.0.0

                        
Assembly Assembly hash Match
/lib/netstandard2.0/rgb.net.brushes.dll aaca90e1d30643938ad24d8e778f52271

Owners

Darth Affe

Authors

Darth Affe

Project URL

https://github.com/DarthAffe/RGB.NET

License

LGPL-2.1

Info

216 total downloads
0 downloads for version 0.0.1.66
Download (21.57 KB)
Download legacy symbols (54.6 KB)
Found on the current feed only

Package history

Version Size Last updated Downloads Mirrored?
0.0.1.78 21.57 KB Sat, 05 Jan 2019 12:00:39 GMT 5
0.0.1.77 21.57 KB Sat, 05 Jan 2019 10:27:40 GMT 0
0.0.1.76 21.57 KB Tue, 25 Dec 2018 22:12:00 GMT 3
0.0.1.75 21.57 KB Tue, 25 Dec 2018 17:59:18 GMT 0
0.0.1.74 21.57 KB Thu, 20 Dec 2018 13:46:51 GMT 2
0.0.1.73 21.57 KB Wed, 12 Dec 2018 21:44:29 GMT 4
0.0.1.72 21.57 KB Mon, 29 Oct 2018 19:03:49 GMT 9
0.0.1.71 21.57 KB Fri, 12 Oct 2018 20:48:36 GMT 7
0.0.1.70 21.57 KB Sat, 06 Oct 2018 08:40:18 GMT 4
0.0.1.67 21.57 KB Sun, 29 Jul 2018 12:43:26 GMT 14
0.0.1.66 21.57 KB Thu, 26 Jul 2018 19:48:28 GMT 0
0.0.1.65 21.58 KB Sun, 15 Jul 2018 15:28:46 GMT 4
0.0.1.64 21.57 KB Sun, 15 Jul 2018 15:08:02 GMT 0
0.0.1.63 21.58 KB Sat, 14 Jul 2018 13:54:20 GMT 0
0.0.1.62 21.57 KB Tue, 10 Jul 2018 19:00:46 GMT 0
0.0.1.61 21.57 KB Tue, 10 Jul 2018 18:07:27 GMT 0
0.0.1.60 21.58 KB Mon, 09 Jul 2018 19:51:29 GMT 1
0.0.1.59 21.57 KB Sun, 08 Jul 2018 18:18:46 GMT 3
0.0.1.56 21.57 KB Sun, 10 Jun 2018 15:22:17 GMT 4
0.0.1.55 21.57 KB Wed, 06 Jun 2018 18:47:55 GMT 3
0.0.1.54 21.57 KB Sun, 03 Jun 2018 08:27:33 GMT 4
0.0.1.53 21.57 KB Sun, 03 Jun 2018 08:04:00 GMT 0
0.0.1.52 21.57 KB Thu, 19 Apr 2018 18:09:42 GMT 4
0.0.1.51 21.57 KB Wed, 11 Apr 2018 16:18:04 GMT 6
0.0.1.50 21.57 KB Sun, 08 Apr 2018 09:59:09 GMT 3
0.0.1.49 21.58 KB Sat, 07 Apr 2018 08:47:35 GMT 2
0.0.1.48 21.57 KB Mon, 02 Apr 2018 08:18:41 GMT 5
0.0.1.47 21.58 KB Sun, 01 Apr 2018 22:00:18 GMT 0
0.0.1.45 21.57 KB Sun, 01 Apr 2018 21:03:48 GMT 1
0.0.1.44 21.58 KB Sun, 01 Apr 2018 20:14:20 GMT 0
0.0.1.42 11.77 KB Sun, 25 Mar 2018 15:53:33 GMT 0
0.0.1.41 11.77 KB Sun, 25 Mar 2018 13:54:51 GMT 0
0.0.1.40 11.77 KB Thu, 08 Mar 2018 19:23:29 GMT 0
0.0.1.39 11.77 KB Thu, 08 Mar 2018 18:44:22 GMT 128
0.0.1-CI00009 10.61 KB Sat, 09 Dec 2017 08:34:01 GMT 0
0.0.1-CI00008 10.61 KB Sat, 09 Dec 2017 08:23:56 GMT 0
0.0.1-CI00007 10.61 KB Thu, 07 Dec 2017 20:42:21 GMT 0
0.0.1-CI00006 10.61 KB Thu, 07 Dec 2017 18:28:06 GMT 0
0.0.1-CI00005 10.61 KB Thu, 07 Dec 2017 12:38:57 GMT 0