A powerful and elegant C# library for Razer Chroma's SDK.
| Branch | CI | Coverage | Codefactor |
|---|---|---|---|
master |
|||
develop |
If you are a new developer and are looking for a helpful guide on how to get started, head on over to the documentation which describes getting Colore installed and running some example code.
For discussing, you can discuss right here in the repo. If you want to join the Slack chat, contact Adam Hellberg (sharparam@sharparam.com).
Contributors are very welcome! If you have code fixes, please submit a pull request here on GitHub.
If you want to join the development team, please contact Sharparam on GitHub.
All authors and contributors are listed in the AUTHORS file.
Feel free to add yourself to this file under a relevant section in your pull request.
Please read the CONTRIBUTING.md file before making a pull request.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Copyright © 2015-2022 by Adam Hellberg and Brandon Scott.
This project is licensed under the MIT license, please see the file LICENSE for more information.
Razer is a trademark and/or a registered trademark of Razer USA Ltd. All other trademarks are property of their respective owners.
Using Colore in your project is simple, all you have to do is install it with NuGet!
Install-Package ColoreOr using the .NET CLI tools:
dotnet add package ColoreYou can also search for it in Visual Studio by right clicking your project and choosing "Manage NuGet Packages..." and install it the GUI way.
New release candidate versions will be uploaded to NuGet and marked as pre-releases there (vX.Y.Z-rcDDDD).
You can also find pre-release versions for Colore and any additional extensions in the GitHub package registry. The GitHub package registry will be the place where you'll always find the most bleeding edge packages.
The WPF and WinForms extension packages for Colore are not yet available for the new Colore version, but will be on NuGet soon™, so stay tuned!
Obtain a reference to an IChroma instance by calling Colore.ColoreProvider.CreateNative().
This instance initializes the Chroma SDK so it is important you save this reference for the lifetime of your application! If you need to dispose of it and obtain a new one later, be sure to call the uninitialize method first!
Colore supports binding to both the native Chroma SDK and the REST API.
To use the REST API, create an IChroma instance by calling Colore.ColoreProvider.CreateRestAsync(AppInfo).
The REST API requires information about your application, so you'll have to pass an instance of AppInfo to CreateRestAsync containing details about your application or game.
For a more in-depth guide on how to get started, check out our wiki.
For more information on the native and REST SDKs that Colore uses, check out Razer's official page for the Chroma SDK and their page about SDK tools.
Colore depends on the Razer Chroma SDK (RzChromaSDK64.dll or RzChromaSDK.dll).
The Razer Chroma SDK is provided by Razer and installed together with the Synapse application. More information can be read on their website.
Other dependencies are installed via NuGet and listed in each project file.
Colore currently builds for .NET Standard 2.1.
Open the solution file (Colore.sln) in Visual Studio or Rider and build it as you would any other project.
You can build Colore from the command line as you would any other .NET project, by running:
dotnet build
(Either from the root of the repo (where Colore.sln is) or inside the project folder for Colore.)
We use Cake primarily to run the CI builds for Colore, which performs all the tasks necessary for building, testing, and generating other artifacts for the project. You can utilize it as well if you want to replicate any of those tasks.
Note that all Cake commands need to be run from the root of the repository.
First install the needed tools:
dotnet tool restore
(From the root of the repository.)
Then you can run dotnet cake from the command line to run the various Cake tasks. By default it will run tasks to build and test the project.
You can use the --configuration parameter to build it in release mode:
dotnet cake --configuration Release
Or use the "CI" build target to generate the same artifacts made available for each release of Colore:
dotnet cake --configuration Release --target CI
You will find the resulting artifact files under the artifacts folder in the root of the repository.
In order to run the Docs task from the Cake script, you need to have installed DocFx locally on your system.
As Colore is built upon the native Chroma SDK for C++, it can be worth taking a look at their documentation.
Colore's REST mode is built on Razer's official REST API, which has its own documentation.
Many of the games and apps featured on the Razer Chroma Workshop have used the Colore library.
The official Razer Chroma Workshop is your one-stop-shop to get the most out of your Chroma devices. Whether it's smart lighting based on in-game events, standalone apps or stunning profiles created by fans around the world, the Chroma Workshop is where you can explore, download and even share your own creations.
The following games (powered by Unity) are using Colore:
Aurora - Unified lighting effects across multiple brands and various games. (GitHub)
There may be others we are unaware of, so please let us know if there are any others.






