Releases: sparten11740/allmylights
10 - All my wallpapers
Sinks
- Enable
Wallpaper
sink to receive objects, where file paths are keyed by
screen index, to set individual wallpapers for different screens (supported
from Windows 8 upwards)
Transformations
- Enable
Mapping
transformation to return objects (which are provided as
JObject
to succeeding transformations)
9 - Profile mangement fixes
Sinks
- Fix profile loading for later OpenRGB versions
8 - All my routes
This release introduces the concept of routes to allow for defining explicit data flows (relevant for more complex scenarios where some sinks are meant to receive values from certain sources but not from others).
7 - OpenRGB as source of truth
This release aims to support use cases in which colors applied to OpenRGB devices are synchronized to a home automation framework such as OpenHAB, or HomeAssistant (the reverse flow of what was possible in the initial MVP, where a value consumed from an MQTT message was applied to OpenRGB devices).
Sources
- Add
OpenRGB
source that emits the state of all devices whenever a color is updated in OpenRGB.
Sinks
- Add
Mqtt
sink that publishes any received value to all configured topics
6 - Chroma control
Sinks
- Add
Chroma
sink to control Chroma enabled devices
5 - OpenRGB profiles and changing backgrounds
General
- Rename cli argument
--list-devices
to--info
as it evolved into a more generic way of showing dynamic information on configured sinks (such as available profiles in case of OpenRGB or file names in theRelativeTo
directory of the Wallpaper sink) - Parameter
--config
is no longer required. If not provided, the default config fileallmylightsrc.json
will be assumed in the same directory where the executable resides.
OpenRGBSink
- The OpenRGBSink now supports loading of profiles. Any string ending in
.orp
consumed by the sink will be sent as a load profile request to your OpenRGB instance.
Sinks
- Add
Wallpaper
sink that applies a desktop background based on the input value received (file path)
Transformations
- Add
Expression
transformation to support use cases that require advanced logic
4 - Logging and robustness
This release fixes some bugs, improves logging, and adds minor quality of life features.
General
- Add command-line flag to export a schema representation of the configuration file (OpenAPI 3 format).
- Add command-line flag to generate a systemd service definition and enable autostart (Linux) or create a shortcut in the user's startup folder (Windows)
- Introduce verbose logging for all transformations (log level debug)
Transformations
- Add Mapping transformation to map matching input strings to output value. Supports regular expressions.
3 - Cleanup architecture to support future use cases
This release changes the format of the config and aims for a cleaner architecture by moving transformation logic out of the connectors (sources/sinks). It will therefore ease the implementation of future use cases (for example if one wanted to use an MqttSource to select a profile in OpenRGB one wouldn't want to apply the Color decoding that was previously inherent to the MqttSource)
The Sources
and Sinks
properties in the config file are now arrays that contain sources or sinks respectively of all types (discriminated by a type attribute).
The MqttSource no longer deals with the value transformation itself - meaning the extraction of a hex string from the response json and decoding thereof to a Color type.
For that purpose two transformations were added (JsonPath
, Color
). Transformations can be added in an array to both, sources and sinks, and will be executed in order. Each transformation is applied to the value that is returned from the previous transformation (if there is one) or the value emitted from the source in case of the first transformation. Sink transformations transform any value received by the sink before the value is passed on to the sink.
2 - Increased configurabilty and structure
Changes (v0.2.0)
General
- Introduce the concept of sources where multiple sources can be used as a color signal (breaking config schema changes)
- Introduce the concept of sinks where all configured sinks will consume a color signal (breaking config schema changes)
OpenRGBSink
- Add option to ignore a device
- Add option to ignore a zone of a device
- Add option to override the channel layout of a device
- Add option to override the channel layout of a zone
1 - Laying the foundations
First release containing framework dependant binaries for Windowx (x64) and Linux (ARM + x64).
The .NET Core runtime is required to run the binaries.