Huenicorn

About

(The content of this page is available on the GitLab Wiki)

Huenicorn allows to compute dominant colors of some computer screen portions and to stream them in real time to desired Philips Hue™ lights

Requirements

In order to operate, Huenicorn requires a Philips Hue Bridge and a Gnu/Linux operating system with X11 graphics server.

Prior to get started with Huenicorn, some entertainment area needs to be registered through the official Philips Hue™ mobile phone application.

Get started

Installation

From source

  git clone https://gitlab.com/openjowelsofts/huenicorn.git
  cd huenicorn
  mkdir build && cd build
  cmake ..
  make

From repository

ArchLinux AUR
  yay -S huenicorn

Initial setup

At first startup, a setup wizard will open in default web browser. This step will help to detect the Hue bridge and gain access to the API.

After the initial setup, Huenicorn invites you to refresh the page. This leads to the light manager interface to setup light profiles.

Setup lights

The light manager interface allows to assign rectangular portions of a screen to registered light channels.

This interface shows a display area and drag-and-drop lists for registered channels. A channel can be activated by being dragged and dropped into the box on the right. Thus, the display area will show a rectangular section with four corners to drag to adjust the desired screen portion to compute and stream.

If multiple entertainment areas are registered, the interface allows to switch between them. By default, a first available entertainment area is arbitrary selected.

Advanced settings

A section can be displayed to set the refresh rate of the color streaming and the image subsample resolution. Beware, high subsample resolution leads to high CPU usage.

License

Huenicorn is a Free Software distributed under the GPLv3 License

Glossary

Channel

A channel is a light unit to which a color can be affected.

Entertainment configurations

An entertainment configuration is a set of lights selected by user to be part of a streaming area. Each of these lights is referenced as channel.