hyperion.ng/libsrc/hyperion/schema/schema-color.json
xkns 2fb2fc9dd7
Saturation & Brightness/Value Gain using Oklab color space (#1477)
* Imported Oklab reference implementation

* Add Okhsv conversions

* Fixed formatting error

* Add saturation and value gain to schemas

* Add english translation for saturation, value gain

* Created OkhsvTransform

* Make OkhsvTransform configurable

* Apply OkhvsTransform

* Clamped values during transform

* Precalculate isIdentity in OkhsvTransform

* Skip OkhsvTransform if it is the identity function

* Added changelog message

* Allow for full desaturation

* Imported recommended changes by LordGrey

* Fixed typo in constant

* Fixed anti-pattern in ok_color.h

* Correct indentions

* Correct remote-control

* Limited maximum gain settings to practical range

* Renane valueGain to brightnessGain for clarity and understanding

Co-authored-by: LordGrey <lordgrey.emmel@gmail.com>
2022-08-17 23:26:19 +02:00

264 lines
5.9 KiB
JSON

{
"type":"object",
"title" : "edt_conf_color_heading_title",
"required" : true,
"properties":
{
"imageToLedMappingType" :
{
"type" : "string",
"required" : true,
"title" : "edt_conf_color_imageToLedMappingType_title",
"enum" : ["multicolor_mean", "unicolor_mean"],
"default" : "multicolor_mean",
"options" : {
"enum_titles" : ["edt_conf_enum_multicolor_mean", "edt_conf_enum_unicolor_mean"]
},
"propertyOrder" : 1
},
"channelAdjustment" :
{
"type" : "array",
"title" : "edt_conf_color_channelAdjustment_header_title",
"minItems": 1,
"required" : true,
"propertyOrder" : 3,
"items" :
{
"type" : "object",
"required" : true,
"title" : "edt_conf_color_channelAdjustment_header_itemtitle",
"properties" :
{
"id" :
{
"type" : "string",
"title" : "edt_conf_color_id_title",
"required" : true,
"default" : "A userdefined name",
"propertyOrder" : 1
},
"leds" :
{
"type" : "string",
"title" : "edt_conf_color_leds_title",
"required" : true,
"default" : "*",
"propertyOrder" : 2
},
"white" :
{
"type" : "array",
"title" : "edt_conf_color_white_title",
"format" : "colorpicker",
"required" : true,
"default": [255,255,255],
"items" : {
"type" : "integer",
"minimum" : 0,
"maximum" : 255
},
"minItems" : 3,
"maxItems" : 3,
"propertyOrder" : 4
},
"red" :
{
"type" : "array",
"title" : "edt_conf_color_red_title",
"format" : "colorpicker",
"required" : true,
"default": [255,0,0],
"items" : {
"type" : "integer",
"minimum" : 0,
"maximum" : 255
},
"minItems" : 3,
"maxItems" : 3,
"propertyOrder" : 5
},
"green" :
{
"type" : "array",
"title" : "edt_conf_color_green_title",
"format" : "colorpicker",
"required" : true,
"default": [0,255,0],
"items" : {
"type" : "integer",
"minimum" : 0,
"maximum" : 255
},
"minItems" : 3,
"maxItems" : 3,
"propertyOrder" : 6
},
"blue" :
{
"type" : "array",
"title" : "edt_conf_color_blue_title",
"format" : "colorpicker",
"required" : true,
"default": [0,0,255],
"items" : {
"type" : "integer",
"minimum" : 0,
"maximum" : 255
},
"minItems" : 3,
"maxItems" : 3,
"propertyOrder" : 7
},
"cyan" :
{
"type" : "array",
"title" : "edt_conf_color_cyan_title",
"format" : "colorpicker",
"required" : true,
"default": [0,255,255],
"items" : {
"type" : "integer",
"minimum" : 0,
"maximum" : 255
},
"minItems" : 3,
"maxItems" : 3,
"propertyOrder" : 8
},
"magenta" :
{
"type" : "array",
"title" : "edt_conf_color_magenta_title",
"format" : "colorpicker",
"required" : true,
"default": [255,0,255],
"items" : {
"type" : "integer",
"minimum" : 0,
"maximum" : 255
},
"minItems" : 3,
"maxItems" : 3,
"propertyOrder" : 9
},
"yellow" :
{
"type" : "array",
"title" : "edt_conf_color_yellow_title",
"format" : "colorpicker",
"required" : true,
"default": [255,255,0],
"items" : {
"type" : "integer",
"minimum" : 0,
"maximum" : 255
},
"minItems" : 3,
"maxItems" : 3,
"propertyOrder" : 10
},
"saturationGain" :
{
"type" : "number",
"title" : "edt_conf_color_saturationGain_title",
"required" : true,
"minimum" : 0.0,
"maximum": 10.0,
"default" : 1.0,
"step" : 0.1,
"propertyOrder" : 11
},
"backlightThreshold" :
{
"type" : "integer",
"title" : "edt_conf_color_backlightThreshold_title",
"required" : true,
"minimum" : 0,
"maximum": 100,
"default" : 0,
"append" : "edt_append_percent",
"propertyOrder" : 12
},
"backlightColored" :
{
"type" : "boolean",
"title" : "edt_conf_color_backlightColored_title",
"required" : true,
"default" : false,
"propertyOrder" : 13
},
"brightness" :
{
"type" : "integer",
"title" : "edt_conf_color_brightness_title",
"required" : true,
"minimum" : 0,
"maximum": 100,
"default" : 100,
"append" : "edt_append_percent",
"propertyOrder" : 14
},
"brightnessCompensation" :
{
"type" : "integer",
"title" : "edt_conf_color_brightnessComp_title",
"required" : true,
"minimum" : 0,
"maximum": 100,
"default" : 0,
"append" : "edt_append_percent",
"propertyOrder" : 15
},
"brightnessGain" :
{
"type" : "number",
"title" : "edt_conf_color_brightnessGain_title",
"required" : true,
"minimum" : 0.1,
"maximum": 10.0,
"default" : 1.0,
"step" : 0.1,
"propertyOrder" : 16
},
"gammaRed" :
{
"type" : "number",
"title" : "edt_conf_color_gammaRed_title",
"required" : true,
"minimum" : 0.1,
"maximum": 100.0,
"default" : 2.2,
"step" : 0.1,
"propertyOrder" : 17
},
"gammaGreen" :
{
"type" : "number",
"title" : "edt_conf_color_gammaGreen_title",
"required" : true,
"minimum" : 0.1,
"maximum": 100.0,
"default" : 2.2,
"step" : 0.1,
"propertyOrder" : 18
},
"gammaBlue" :
{
"type" : "number",
"title" : "edt_conf_color_gammaBlue_title",
"required" : true,
"minimum" : 0.1,
"maximum": 100.0,
"default" : 2.2,
"step" : 0.1,
"propertyOrder" : 19
}
},
"additionalProperties" : false
}
}
},
"additionalProperties" : false
}