Skip to content
forked from chroma-sdk/Colore

Simplistic C# framework for Razer Chroma's SDK

License

Notifications You must be signed in to change notification settings

Sharparam/Colore

 
 

Repository files navigation

Colore

MIT License GitHub release version NuGet version NuGet downloads

Develop: Build status Coverage Status

Master: Master build status Master coverage Status

A powerful and elegant C# library for Razer Chroma's SDK

Contributing

Gitter

For discussing, you can join the Gitter chat using the badge above. If you want to join the Slack chat, contact Brandon Scott (brandon@brandonscott.co.uk) or Adam Hellberg (sharparam@sharparam.com).

Contributors are very welcome! If you got code fixes, please submit a pull request here on GitHub.

If you want to join the development team, please contact Sharparam or Brandon on GitHub.

All authors and contributors are listed in the AUTHORS file.

Please read the CONTRIBUTING.md file before making a pull request.

License

Copyright © 2015 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.

This project is in no way endorsed, sponsored or approved by Razer.

Dependencies

Colore depends on the Razer Chroma SDK (RzChromaSDK64.dll or RzChromaSDK.dll).

The Razer Chroma SDK is provided by Razer and can be obtained from their website.

Building

It's important to note that the platform under which this project is built plays a huge role on the usability of the library.

When compiling with the x86 or x64 platform set in build configuration, Colore will only work on the respective system platform (32-bit if compiled using x86, and 64-bit if compiled using x64).

The native methods are imported using DllImport when Colore is compiled in x86 or x64, which is why the setting matters for deployment, as this cannot be changed at runtime.

However, if compiling with the "Any CPU" configuration, Colore will dynamically load functions relevant for the current executing platform, making it run on both 32- and 64-bit systems without any work having to be done by the dev.

For non-performance critical applications, the "Any CPU" mode should be fine (this is also what the NuGet package is compiled against).

For applications that require peak performance, we recommend shipping separate 32- and 64-bit builds of your application, using the relevant build configurations in Colore.

The below example compiles Colore in Release mode for the x86 (32-bit) platform.

msbuild Colore.sln /p:Configuration=Release;Platform=x86

(Replace x86 with x64 if compiling for Win64, or "Any CPU" if compiling cross-platform)

Make sure that your projects using Colore are also compiled against a matching platform.

Razer's SDK installer will only install the library relevant for your platform.

This means that your apps will need to be compiled twice, once for x86 platforms, and once for x64, unless you are using "Any CPU". They must both be provided when you distribute your application, depending on what platform the user has.

Projects

Current projects utilizing this or modified versions of this library:

None right now!

(If you want your project listed, just contact Sharparam or Brandon)