per effect smoothing (#456)

* add dynamic smoothing first step
* extend prio muxer to hold smoothing preset id
* add icons for systray
* fix missing changes in prio muxer
*  implement specific smoothing params for effects
* refactoring: std::min/max to qMin/Max
* some code optimization
* fix schema and translation
* revoke change of python include order
* fix eol in effect shemas
* optimize random,candle and fadecandy json schemas
This commit is contained in:
redPanther
2017-08-04 12:01:45 +02:00
committed by GitHub
parent 6625a318ac
commit 6279dcb2a9
44 changed files with 824 additions and 568 deletions

View File

@@ -6,6 +6,11 @@
"sleepTime" : 0.20,
"brightness" : 100,
"color" : [ 255, 138, 0 ],
"candles" : "all"
"candles" : "all",
"smoothing-custom-settings" : true,
"smoothing-time_ms" : 500,
"smoothing-updateDelay" : 0,
"smoothing-updateFrequency" : 20.0,
"smoothing-pause" : false
}
}

View File

@@ -13,12 +13,17 @@ minStepTime = float(hyperion.latchTime)/1000.0
currentR = currentG = currentB = 0
# create color table for fading from start to end color
steps = float(abs(max((colorEnd[0] - colorStart[0]),max((colorEnd[1] - colorStart[1]),(colorEnd[2] - colorStart[2])))))
color_step = (
(colorEnd[0] - colorStart[0]) / steps,
(colorEnd[1] - colorStart[1]) / steps,
(colorEnd[2] - colorStart[2]) / steps
)
steps = float(max(abs(colorEnd[0] - colorStart[0]),max(abs(colorEnd[1] - colorStart[1]),abs(colorEnd[2] - colorStart[2]))))
color_step = (0,0,0)
if steps == 0:
steps = 1
else:
color_step = (
(colorEnd[0] - colorStart[0]) / steps,
(colorEnd[1] - colorStart[1]) / steps,
(colorEnd[2] - colorStart[2]) / steps
)
calcChannel = lambda i: min(max(int(round(colorStart[i] + color_step[i]*step)),0), colorEnd[i] if colorStart[i] < colorEnd[i] else colorStart[i])
colors = []

View File

@@ -4,6 +4,11 @@
"args" :
{
"speed" : 750,
"saturation" : 1.0
"saturation" : 1.0,
"smoothing-custom-settings" : true,
"smoothing-time_ms" : 200,
"smoothing-updateDelay" : 0,
"smoothing-updateFrequency" : 20.0,
"smoothing-pause" : false
}
}

View File

@@ -67,6 +67,70 @@
"step": 0.01,
"append" : "edt_append_s",
"propertyOrder" : 6
},
"smoothing-custom-settings" :
{
"type" : "boolean",
"title" : "edt_eff_smooth_custom_title",
"default" : false,
"propertyOrder" : 7
},
"smoothing-time_ms" :
{
"type" : "integer",
"title" : "edt_eff_smooth_time_ms_title",
"minimum" : 25,
"maximum": 600,
"default" : 200,
"append" : "edt_append_ms",
"options": {
"dependencies": {
"smoothing-custom-settings": true
}
},
"propertyOrder" : 8
},
"smoothing-updateFrequency" :
{
"type" : "number",
"title" : "edt_eff_smooth_updateFrequency_title",
"minimum" : 1.0,
"maximum" : 100.0,
"default" : 25.0,
"append" : "edt_append_hz",
"options": {
"dependencies": {
"smoothing-custom-settings": true
}
},
"propertyOrder" : 9
},
"smoothing-updateDelay" :
{
"type" : "integer",
"title" : "edt_eff_smooth_updateDelay_title",
"minimum" : 0,
"maximum": 2048,
"default" : 0,
"append" : "edt_append_ms",
"options": {
"dependencies": {
"smoothing-custom-settings": true
}
},
"propertyOrder" : 10
},
"smoothing-pause" :
{
"type" : "boolean",
"title" : "edt_eff_smooth_pause_title",
"default" : false,
"options": {
"dependencies": {
"smoothing-custom-settings": true
}
},
"propertyOrder" : 12
}
},
"additionalProperties": false

View File

@@ -1,40 +1,40 @@
{
"type":"object",
"script" : "knight-rider.py",
"title":"edt_eff_knightrider_header",
"required":true,
"properties":{
"color": {
"type": "array",
"title":"edt_eff_color",
"format":"colorpicker",
"default": [255,0,0],
"items" : {
"type": "integer",
"minimum": 0,
"maximum": 255
},
"minItems": 3,
"maxItems": 3,
"propertyOrder" : 1
},
"speed": {
"type": "number",
"title":"edt_eff_speed",
"default": 1.0,
"minimum": 0.1,
"step" : 0.1,
"propertyOrder" : 2
},
"fadeFactor": {
"type": "number",
"title":"edt_eff_fadefactor",
"default": 0.7,
"minimum" : 0.0,
"maximum" : 0.9,
"step" : 0.1,
"propertyOrder" : 3
}
},
"additionalProperties": false
}
{
"type":"object",
"script" : "knight-rider.py",
"title":"edt_eff_knightrider_header",
"required":true,
"properties":{
"color": {
"type": "array",
"title":"edt_eff_color",
"format":"colorpicker",
"default": [255,0,0],
"items" : {
"type": "integer",
"minimum": 0,
"maximum": 255
},
"minItems": 3,
"maxItems": 3,
"propertyOrder" : 1
},
"speed": {
"type": "number",
"title":"edt_eff_speed",
"default": 1.0,
"minimum": 0.1,
"step" : 0.1,
"propertyOrder" : 2
},
"fadeFactor": {
"type": "number",
"title":"edt_eff_fadefactor",
"default": 0.7,
"minimum" : 0.0,
"maximum" : 0.9,
"step" : 0.1,
"propertyOrder" : 3
}
},
"additionalProperties": false
}

View File

@@ -76,7 +76,7 @@
"type": "integer",
"title": "edt_eff_markerDepth",
"default": 5,
"minimum" : 1,
"minimum" : 0,
"maximum" : 50,
"append" : "edt_append_percent",
"options": {

View File

@@ -1,104 +1,104 @@
{
"type":"object",
"script" : "mood-blobs.py",
"title":"edt_eff_moodblobs_header",
"required":true,
"properties":{
"color": {
"type": "array",
"title":"edt_eff_color",
"format":"colorpicker",
"default": [255,0,0],
"items" : {
"type": "integer",
"minimum": 0,
"maximum": 255
},
"minItems": 3,
"maxItems": 3,
"propertyOrder" : 1
},
"blobs": {
"type": "integer",
"title":"edt_eff_blobcount",
"default": 5,
"minimum" : 1,
"propertyOrder" : 2
},
"rotationTime": {
"type": "number",
"title":"edt_eff_rotationtime",
"default": 20.0,
"minimum" : 1.0,
"append" : "edt_append_s",
"propertyOrder" : 3
},
"hueChange": {
"type": "number",
"title":"edt_eff_huechange",
"default": 60.0,
"minimum" : 1.0,
"propertyOrder" : 4
},
"reverse": {
"type": "boolean",
"title":"edt_eff_reversedirection",
"default": false,
"propertyOrder" : 5
},
"colorRandom": {
"type": "boolean",
"title":"edt_eff_colorrandom",
"default": false,
"propertyOrder" : 6
},
"baseChange": {
"type": "boolean",
"title":"edt_eff_basecolorchange",
"default": false,
"propertyOrder" : 7
},
"baseColorRangeLeft": {
"type": "number",
"title":"edt_eff_basecolorrangeleft",
"default": 0.0,
"minimum" : 0.0,
"maximum" : 360.0,
"append" : "edt_append_degree",
"options": {
"dependencies": {
"baseChange": true
}
},
"propertyOrder" : 9
},
"baseColorRangeRight": {
"type": "number",
"title":"edt_eff_basecolorrangeright",
"default": 360.0,
"minimum" : 0.0,
"maximum" : 360.0,
"append" : "edt_append_degree",
"options": {
"dependencies": {
"baseChange": true
}
},
"propertyOrder" : 10
},
"baseColorChangeRate": {
"type": "number",
"title":"edt_eff_basecolorchangerate",
"default": 2.0,
"minimum" : 0.0,
"append" : "edt_append_sdegree",
"options": {
"dependencies": {
"baseChange": true
}
},
"propertyOrder" : 8
}
},
"additionalProperties": false
}
{
"type":"object",
"script" : "mood-blobs.py",
"title":"edt_eff_moodblobs_header",
"required":true,
"properties":{
"color": {
"type": "array",
"title":"edt_eff_color",
"format":"colorpicker",
"default": [255,0,0],
"items" : {
"type": "integer",
"minimum": 0,
"maximum": 255
},
"minItems": 3,
"maxItems": 3,
"propertyOrder" : 1
},
"blobs": {
"type": "integer",
"title":"edt_eff_blobcount",
"default": 5,
"minimum" : 1,
"propertyOrder" : 2
},
"rotationTime": {
"type": "number",
"title":"edt_eff_rotationtime",
"default": 20.0,
"minimum" : 1.0,
"append" : "edt_append_s",
"propertyOrder" : 3
},
"hueChange": {
"type": "number",
"title":"edt_eff_huechange",
"default": 60.0,
"minimum" : 1.0,
"propertyOrder" : 4
},
"reverse": {
"type": "boolean",
"title":"edt_eff_reversedirection",
"default": false,
"propertyOrder" : 5
},
"colorRandom": {
"type": "boolean",
"title":"edt_eff_colorrandom",
"default": false,
"propertyOrder" : 6
},
"baseChange": {
"type": "boolean",
"title":"edt_eff_basecolorchange",
"default": false,
"propertyOrder" : 7
},
"baseColorRangeLeft": {
"type": "number",
"title":"edt_eff_basecolorrangeleft",
"default": 0.0,
"minimum" : 0.0,
"maximum" : 360.0,
"append" : "edt_append_degree",
"options": {
"dependencies": {
"baseChange": true
}
},
"propertyOrder" : 9
},
"baseColorRangeRight": {
"type": "number",
"title":"edt_eff_basecolorrangeright",
"default": 360.0,
"minimum" : 0.0,
"maximum" : 360.0,
"append" : "edt_append_degree",
"options": {
"dependencies": {
"baseChange": true
}
},
"propertyOrder" : 10
},
"baseColorChangeRate": {
"type": "number",
"title":"edt_eff_basecolorchangerate",
"default": 2.0,
"minimum" : 0.0,
"append" : "edt_append_sdegree",
"options": {
"dependencies": {
"baseChange": true
}
},
"propertyOrder" : 8
}
},
"additionalProperties": false
}

View File

@@ -1,58 +1,58 @@
{
"type":"object",
"script" : "police.py",
"title":"edt_eff_police_header",
"required":true,
"properties":{
"color_one": {
"type": "array",
"title":"edt_eff_colorone",
"format":"colorpicker",
"default": [255,0,0],
"items" : {
"type": "integer",
"minimum": 0,
"maximum": 255
},
"minItems": 3,
"maxItems": 3,
"propertyOrder" : 1
},
"color_two": {
"type": "array",
"title":"edt_eff_colortwo",
"format":"colorpicker",
"default": [0,0,255],
"items" : {
"type": "integer",
"minimum": 0,
"maximum": 255
},
"minItems": 3,
"maxItems": 3,
"propertyOrder" : 2
},
"colors_count": {
"type": "integer",
"title":"edt_eff_colorcount",
"default": 10,
"minimum" : 0,
"propertyOrder" : 3
},
"rotation-time": {
"type": "number",
"title":"edt_eff_rotationtime",
"default": 2.0,
"minimum" : 0.1,
"append" : "edt_append_s",
"propertyOrder" : 4
},
"reverse": {
"type": "boolean",
"title":"edt_eff_reversedirection",
"default": false,
"propertyOrder" : 5
}
},
"additionalProperties": false
}
{
"type":"object",
"script" : "police.py",
"title":"edt_eff_police_header",
"required":true,
"properties":{
"color_one": {
"type": "array",
"title":"edt_eff_colorone",
"format":"colorpicker",
"default": [255,0,0],
"items" : {
"type": "integer",
"minimum": 0,
"maximum": 255
},
"minItems": 3,
"maxItems": 3,
"propertyOrder" : 1
},
"color_two": {
"type": "array",
"title":"edt_eff_colortwo",
"format":"colorpicker",
"default": [0,0,255],
"items" : {
"type": "integer",
"minimum": 0,
"maximum": 255
},
"minItems": 3,
"maxItems": 3,
"propertyOrder" : 2
},
"colors_count": {
"type": "integer",
"title":"edt_eff_colorcount",
"default": 10,
"minimum" : 0,
"propertyOrder" : 3
},
"rotation-time": {
"type": "number",
"title":"edt_eff_rotationtime",
"default": 2.0,
"minimum" : 0.1,
"append" : "edt_append_s",
"propertyOrder" : 4
},
"reverse": {
"type": "boolean",
"title":"edt_eff_reversedirection",
"default": false,
"propertyOrder" : 5
}
},
"additionalProperties": false
}

View File

@@ -1,26 +1,90 @@
{
"type":"object",
"script" : "random.py",
"title":"edt_eff_random_header",
"required":true,
"properties":{
"speed": {
"type": "number",
"title":"edt_eff_speed",
"default": 1000,
"minimum" : 10,
"append" : "edt_append_ms",
"propertyOrder" : 1
},
"saturation": {
"type": "number",
"title":"edt_eff_saturation",
"default": 1.0,
"minimum" : 0.1,
"maximum" : 1.0,
"step" : 0.1,
"propertyOrder" : 2
}
},
"additionalProperties": false
}
{
"type":"object",
"script" : "random.py",
"title":"edt_eff_random_header",
"required":true,
"properties":{
"speed": {
"type": "number",
"title":"edt_eff_speed",
"default": 1000,
"minimum" : 10,
"append" : "edt_append_ms",
"propertyOrder" : 1
},
"saturation": {
"type": "number",
"title":"edt_eff_saturation",
"default": 1.0,
"minimum" : 0.1,
"maximum" : 1.0,
"step" : 0.1,
"propertyOrder" : 2
},
"smoothing-custom-settings" :
{
"type" : "boolean",
"title" : "edt_eff_smooth_custom_title",
"default" : false,
"propertyOrder" : 3
},
"smoothing-time_ms" :
{
"type" : "integer",
"title" : "edt_eff_smooth_time_ms_title",
"minimum" : 25,
"maximum": 600,
"default" : 200,
"append" : "edt_append_ms",
"options": {
"dependencies": {
"smoothing-custom-settings": true
}
},
"propertyOrder" : 4
},
"smoothing-updateFrequency" :
{
"type" : "number",
"title" : "edt_eff_smooth_updateFrequency_title",
"minimum" : 1.0,
"maximum" : 100.0,
"default" : 25.0,
"append" : "edt_append_hz",
"options": {
"dependencies": {
"smoothing-custom-settings": true
}
},
"propertyOrder" : 5
},
"smoothing-updateDelay" :
{
"type" : "integer",
"title" : "edt_eff_smooth_updateDelay_title",
"minimum" : 0,
"maximum": 2048,
"default" : 0,
"append" : "edt_append_ms",
"options": {
"dependencies": {
"smoothing-custom-settings": true
}
},
"propertyOrder" : 6
},
"smoothing-pause" :
{
"type" : "boolean",
"title" : "edt_eff_smooth_pause_title",
"default" : false,
"options": {
"dependencies": {
"smoothing-custom-settings": true
}
},
"propertyOrder" : 7
}
},
"additionalProperties": false
}

View File

@@ -1,32 +1,32 @@
{
"type":"object",
"script" : "running_dots.py",
"title":"edt_eff_runningdots_header",
"required":true,
"properties":{
"speed": {
"type": "number",
"title":"edt_eff_speed",
"default": 1.5,
"minimum" : 0.1,
"propertyOrder" : 1
},
"colorLevel": {
"type": "integer",
"title":"edt_eff_colorevel",
"default": 220,
"minimium" : 0,
"maximum" : 255,
"propertyOrder" : 2
},
"whiteLevel": {
"type": "integer",
"title":"edt_eff_whitelevel",
"default": 0,
"minimium" : 0,
"maximum" : 254,
"propertyOrder" : 3
}
},
"additionalProperties": false
}
{
"type":"object",
"script" : "running_dots.py",
"title":"edt_eff_runningdots_header",
"required":true,
"properties":{
"speed": {
"type": "number",
"title":"edt_eff_speed",
"default": 1.5,
"minimum" : 0.1,
"propertyOrder" : 1
},
"colorLevel": {
"type": "integer",
"title":"edt_eff_colorevel",
"default": 220,
"minimium" : 0,
"maximum" : 255,
"propertyOrder" : 2
},
"whiteLevel": {
"type": "integer",
"title":"edt_eff_whitelevel",
"default": 0,
"minimium" : 0,
"maximum" : 254,
"propertyOrder" : 3
}
},
"additionalProperties": false
}

View File

@@ -1,38 +1,38 @@
{
"type":"object",
"script" : "snake.py",
"title":"edt_eff_snake_header",
"required":true,
"properties":{
"color": {
"type": "array",
"title":"edt_eff_color",
"format":"colorpicker",
"default": [255,0,0],
"items" : {
"type": "integer",
"minimum": 0,
"maximum": 255
},
"minItems": 3,
"maxItems": 3,
"propertyOrder" : 1
},
"rotation-time": {
"type": "number",
"title":"edt_eff_rotationtime",
"default": 12.0,
"minimum" : 0.1,
"append" : "edt_append_s",
"propertyOrder" : 2
},
"percentage": {
"type": "integer",
"title":"edt_eff_length",
"default": 10,
"append" : "edt_append_percent",
"propertyOrder" : 3
}
},
"additionalProperties": false
}
{
"type":"object",
"script" : "snake.py",
"title":"edt_eff_snake_header",
"required":true,
"properties":{
"color": {
"type": "array",
"title":"edt_eff_color",
"format":"colorpicker",
"default": [255,0,0],
"items" : {
"type": "integer",
"minimum": 0,
"maximum": 255
},
"minItems": 3,
"maxItems": 3,
"propertyOrder" : 1
},
"rotation-time": {
"type": "number",
"title":"edt_eff_rotationtime",
"default": 12.0,
"minimum" : 0.1,
"append" : "edt_append_s",
"propertyOrder" : 2
},
"percentage": {
"type": "integer",
"title":"edt_eff_length",
"default": 10,
"append" : "edt_append_percent",
"propertyOrder" : 3
}
},
"additionalProperties": false
}

View File

@@ -1,69 +1,69 @@
{
"type":"object",
"script" : "sparks.py",
"title":"edt_eff_sparks_header",
"required":true,
"properties":{
"color": {
"type": "array",
"title":"edt_eff_color",
"format":"colorpicker",
"default": [255,0,0],
"items" : {
"type": "integer",
"minimum": 0,
"maximum": 255
},
"minItems": 3,
"maxItems": 3,
"options": {
"dependencies": {
"random-color": false
}
},
"propertyOrder" : 1
},
"rotation-time": {
"type": "number",
"title":"edt_eff_rotationtime",
"default": 2.0,
"minimum" : 0.1,
"append" : "edt_append_s",
"propertyOrder" : 2
},
"sleep-time": {
"type": "number",
"title":"edt_eff_sleeptime",
"default": 0.05,
"minimum" : 0.01,
"propertyOrder" : 3
},
"brightness": {
"type": "integer",
"title":"edt_eff_brightness",
"default": 100,
"minimum" : 0,
"maximum" : 100,
"step" : 10,
"append" : "edt_append_percent",
"propertyOrder" : 4
},
"saturation": {
"type": "integer",
"title":"edt_eff_saturation",
"default": 100,
"minimum" : 0,
"maximum" : 100,
"step" : 10,
"append" : "edt_append_percent",
"propertyOrder" : 5
},
"random-color": {
"type": "boolean",
"title":"edt_eff_colorrandom",
"default": false,
"propertyOrder" : 6
}
},
"additionalProperties": false
}
{
"type":"object",
"script" : "sparks.py",
"title":"edt_eff_sparks_header",
"required":true,
"properties":{
"color": {
"type": "array",
"title":"edt_eff_color",
"format":"colorpicker",
"default": [255,0,0],
"items" : {
"type": "integer",
"minimum": 0,
"maximum": 255
},
"minItems": 3,
"maxItems": 3,
"options": {
"dependencies": {
"random-color": false
}
},
"propertyOrder" : 1
},
"rotation-time": {
"type": "number",
"title":"edt_eff_rotationtime",
"default": 2.0,
"minimum" : 0.1,
"append" : "edt_append_s",
"propertyOrder" : 2
},
"sleep-time": {
"type": "number",
"title":"edt_eff_sleeptime",
"default": 0.05,
"minimum" : 0.01,
"propertyOrder" : 3
},
"brightness": {
"type": "integer",
"title":"edt_eff_brightness",
"default": 100,
"minimum" : 0,
"maximum" : 100,
"step" : 10,
"append" : "edt_append_percent",
"propertyOrder" : 4
},
"saturation": {
"type": "integer",
"title":"edt_eff_saturation",
"default": 100,
"minimum" : 0,
"maximum" : 100,
"step" : 10,
"append" : "edt_append_percent",
"propertyOrder" : 5
},
"random-color": {
"type": "boolean",
"title":"edt_eff_colorrandom",
"default": false,
"propertyOrder" : 6
}
},
"additionalProperties": false
}