rgb-master-team / RGBMaster

A .NET app that runs in the background and synchronises the matching colour of the background sound to both Razer Chroma's devices & Xiaomi Yeelight bulbs.
MIT License
63 stars 3 forks source link
asus chroma corsair csharp dotnet gamesense gigabyte iot logitech magichome phillipshue razer rgb shelly smarthome steelseries uwp wpf xaml-islands yeelight

RGBMaster

RGB Master

A .NET app that runs in the background and synchronises colours to different integratable devices. i.e Razer Chroma devices, Xiaomi Yeelight bulbs.

Discord Percentage of issues still open Average time to resolve an issue GitHub stars Donate Downloads

About

The project, created by Dean Kevorkian and joined by Ben Selbiger, attempts to use official libraries when possible and focuses on the synchronisation between the devices, rather than the way we integrate with the device and its API/SDK. i.e - Razer's Colore library for syncing colours via Razer's SDK through .NET bindings, and YeelightAPI for controlling Yeelight bulbs and led strips. We aspire to bring support to as many vendors (code-named "Providers") as we can from both growing worlds of RGB peripherals and RGB IoT devices, and allow synchronizing them together with colors, sounds, effects we support - and even let users define their own effects (code-named "Flows").

Development

Currently only available to Windows 10 but built with expectations for future Mac & Linux ports, this project contains the wrappers for several SDKs (code-named "Providers") and the UI (which is a mix of WPF and UWP in order to achieve WPF's complete access and integration to Windows APIs, along with UWP's latest WinUI used in Windows 10 apps by Microsoft, via Xaml Islands experimental technology).

TODO - Write a simple explanation of the project structure, how to build it, UI / Providers logic seperation.

Table of Contents

Supported integrations

An updated list of integrations

Prerequisites

In order to use any of the available providers, make sure you've done the required early steps, as follows -

Razer

Yeelight

Logitech

MagicHome

SteelSeries

Installation Instructions

  1. Download the latest release.
  2. Extract the files to a folder.
  3. Run SignAndInstallApp.bat as Administrator (This script will install the application and it's certification).
  4. Launch the RGBMasterWap application.

Supported "Effects"

RGBMaster allows choosing a desired effect for the way colors are chosen.

"Flows"

RGBMaster should allow choosing a flow, which is our codename for custom pre-defined effects created by anyone who wants to. These effects ought to be exportable and importable to ensure community sharing around this project in order to help it evolve and reach its potential :)

Contribution

Feel free to suggest any idea you have for this app, or even make one yourself and open a PR. I'll review it and continue maintaining this small app :) If you find any bug, let us know. It is hard for us to reproduce many of the issues, since some of them do not occure to everyone and depend on system configuration, firewall settings, specific device configurations, operating system settings, etc..

Donation

Support the project by donating! This helps us fund more RGB peripherals to support and test for RGBMaster, and extend its features.

TODOs

Credits

This project was heavily inspired and utilizes the amazing work of several open-source projects and libraries -