Skip to content

Commit fab0c20

Browse files
Paulchen PantherredPanther
authored andcommitted
Create Effect configuration files (.json) with JSON RPC (#277)
* Add getEffectSchemas and loadEffectSchema function * Add getEffectSchemas function * add effect schema files to internal resources * Add loadEffectSchema and getEffectSchemas function * add effect schema resources * add getEffectSchemas function * extend handleSchemaGetCommand to get ... ... all available effect schemas add handleCreateEffectCommand function * add handleCreateEffectCommand function * include schema-create-effect.json file * add create-effect schema * Add schema-create-effect.json file * Add createEffect to hyperion-remote * Add createEffect function * add createEffect function * Create fade.schema.json * Add files via upload * Add files via upload * Update police.schema.json * Update EffectEngine.qrc.in * Update CMakeLists.txt
1 parent 4faa505 commit fab0c20

29 files changed

+915
-12
lines changed

effects/schema/fade.schema.json

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
{
2+
"type":"object",
3+
"script" : "fade.py",
4+
"title":"Fade",
5+
"required":true,
6+
"properties":{
7+
"fade-time": {
8+
"type": "number",
9+
"title":"Fade Time",
10+
"default": 5.0,
11+
"minimum" : 0.1,
12+
"propertyOrder" : 1
13+
},
14+
"color-start": {
15+
"type": "array",
16+
"title":"Color Start",
17+
"default": "255,174,11",
18+
"items" : {
19+
"type": "integer",
20+
"minimum": 0,
21+
"maximum": 255
22+
},
23+
"minItems": 3,
24+
"maxItems": 3,
25+
"propertyOrder" : 2
26+
},
27+
"color-end": {
28+
"type": "array",
29+
"title":"Color End",
30+
"default": "100,100,100",
31+
"items" : {
32+
"type": "integer",
33+
"minimum": 0,
34+
"maximum": 255
35+
},
36+
"minItems": 3,
37+
"maxItems": 3,
38+
"propertyOrder" : 3
39+
}
40+
},
41+
"additionalProperties": false
42+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
{
2+
"type":"object",
3+
"script" : "knight-rider.py",
4+
"title":"Knight Rider",
5+
"required":true,
6+
"properties":{
7+
"speed": {
8+
"type": "number",
9+
"title":"Speed",
10+
"default": 1.0,
11+
"minimum": 0.1,
12+
"propertyOrder" : 1
13+
},
14+
"fadeFactor": {
15+
"type": "number",
16+
"title":"Fade Factor",
17+
"default": 0.7,
18+
"minimum" : 0.0,
19+
"propertyOrder" : 1
20+
},
21+
"color": {
22+
"type": "array",
23+
"title":"Color",
24+
"default": "255,0,0",
25+
"items" : {
26+
"type": "integer",
27+
"minimum": 0,
28+
"maximum": 255
29+
},
30+
"minItems": 3,
31+
"maxItems": 3,
32+
"propertyOrder" : 3
33+
}
34+
},
35+
"additionalProperties": false
36+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"type":"object",
3+
"script" : "light-clock.py",
4+
"title":"Light clock",
5+
"required":true,
6+
"properties":{
7+
"show_seconds": {
8+
"type": "boolean",
9+
"title":"Show seconds",
10+
"default": true,
11+
"propertyOrder" : 1
12+
}
13+
},
14+
"additionalProperties": false
15+
}
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
{
2+
"type":"object",
3+
"script" : "mood-blobs.py",
4+
"title":"Mood Blobs",
5+
"required":true,
6+
"properties":{
7+
"color": {
8+
"type": "array",
9+
"title":"Color",
10+
"default": "255,0,0",
11+
"items" : {
12+
"type": "integer",
13+
"minimum": 0,
14+
"maximum": 255
15+
},
16+
"minItems": 3,
17+
"maxItems": 3,
18+
"propertyOrder" : 1
19+
},
20+
"blobs": {
21+
"type": "integer",
22+
"title":"Blob count",
23+
"default": 5,
24+
"minimum" : 1,
25+
"propertyOrder" : 2
26+
},
27+
"rotationTime": {
28+
"type": "number",
29+
"title":"Rotation time",
30+
"default": 20.0,
31+
"minimum" : 1.0,
32+
"propertyOrder" : 3
33+
},
34+
"hueChange": {
35+
"type": "number",
36+
"title":"Hue change",
37+
"default": 60.0,
38+
"minimum" : 1.0,
39+
"propertyOrder" : 4
40+
},
41+
"reverse": {
42+
"type": "boolean",
43+
"title":"Reverse direction",
44+
"default": false,
45+
"propertyOrder" : 5
46+
},
47+
"colorRandom": {
48+
"type": "boolean",
49+
"title":"Random color",
50+
"default": false,
51+
"propertyOrder" : 6
52+
},
53+
"baseChange": {
54+
"type": "boolean",
55+
"title":"Base color change",
56+
"default": false,
57+
"propertyOrder" : 7
58+
},
59+
"baseColorRangeLeft": {
60+
"type": "number",
61+
"title":"baseColorRangeLeft",
62+
"default": 0.0,
63+
"minimum" : 0.0,
64+
"maximum" : 360.0,
65+
"append" : "° (Degree)",
66+
"propertyOrder" : 8
67+
},
68+
"baseColorRangeRight": {
69+
"type": "number",
70+
"title":"baseColorRangeRight",
71+
"default": 360.0,
72+
"minimum" : 0.0,
73+
"maximum" : 360.0,
74+
"append" : "° (Degree)",
75+
"propertyOrder" : 9
76+
},
77+
"baseColorChangeRate": {
78+
"type": "number",
79+
"title":"baseColorChangeRate",
80+
"default": 2.0,
81+
"minimum" : 0.0,
82+
"append" : "Seconds for one degree",
83+
"propertyOrder" : 10
84+
}
85+
},
86+
"additionalProperties": false
87+
}

effects/schema/police.schema.json

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
{
2+
"type":"object",
3+
"script" : "police.py",
4+
"title":"Police",
5+
"required":true,
6+
"properties":{
7+
"color_one": {
8+
"type": "array",
9+
"title":"Color one",
10+
"default": "255,0,0",
11+
"items" : {
12+
"type": "integer",
13+
"minimum": 0,
14+
"maximum": 255
15+
},
16+
"minItems": 3,
17+
"maxItems": 3,
18+
"propertyOrder" : 1
19+
},
20+
"color_two": {
21+
"type": "array",
22+
"title":"Color two",
23+
"default": "0,0,255",
24+
"items" : {
25+
"type": "integer",
26+
"minimum": 0,
27+
"maximum": 255
28+
},
29+
"minItems": 3,
30+
"maxItems": 3,
31+
"propertyOrder" : 2
32+
},
33+
"colors_count": {
34+
"type": "integer",
35+
"title":"Colors count",
36+
"default": "10",
37+
"propertyOrder" : 3
38+
},
39+
"rotation-time": {
40+
"type": "number",
41+
"title":"Rotation time",
42+
"default": 2.0,
43+
"minimum" : 0.1,
44+
"propertyOrder" : 4
45+
},
46+
"reverse": {
47+
"type": "boolean",
48+
"title":"Reverse direction",
49+
"default": false,
50+
"propertyOrder" : 5
51+
}
52+
},
53+
"additionalProperties": false
54+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"type":"object",
3+
"script" : "rainbow-mood.py",
4+
"title":"Rainbow mood",
5+
"required":true,
6+
"properties":{
7+
"rotation-time": {
8+
"type": "number",
9+
"title":"Rotation time",
10+
"default": 60.0,
11+
"minimum" : 0.1,
12+
"propertyOrder" : 1
13+
},
14+
"brightness": {
15+
"type": "number",
16+
"title":"Brightness",
17+
"default": 1.0,
18+
"minimum" : 0.0,
19+
"propertyOrder" : 2
20+
},
21+
"reverse": {
22+
"type": "boolean",
23+
"title":"Reverse",
24+
"default": false,
25+
"propertyOrder" : 3
26+
}
27+
},
28+
"additionalProperties": false
29+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
{
2+
"type":"object",
3+
"script" : "rainbow-swirl.py",
4+
"title":"Rainbow swirl",
5+
"required":true,
6+
"properties":{
7+
"rotation-time": {
8+
"type": "number",
9+
"title":"Rotation Time",
10+
"default": 20.0,
11+
"minimum" : 0.1,
12+
"propertyOrder" : 1
13+
},
14+
"center_x": {
15+
"type": "number",
16+
"title":"Center X",
17+
"default": 0.5,
18+
"minimum" : 0.0,
19+
"propertyOrder" : 2
20+
},
21+
"center_y": {
22+
"type": "number",
23+
"title":"Center Y",
24+
"default": 0.5,
25+
"minimum" : 0.0,
26+
"propertyOrder" : 3
27+
},
28+
"reverse": {
29+
"type": "boolean",
30+
"title":"Reverse",
31+
"default": false,
32+
"propertyOrder" : 4
33+
}
34+
},
35+
"additionalProperties": false
36+
}

effects/schema/random.schema.json

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"type":"object",
3+
"script" : "random.py",
4+
"title":"Random",
5+
"required":true,
6+
"properties":{
7+
"speed": {
8+
"type": "number",
9+
"title":"Speed",
10+
"default": 1.0,
11+
"minimum" : 0.0,
12+
"propertyOrder" : 1
13+
},
14+
"saturation": {
15+
"type": "number",
16+
"title":"Saturation",
17+
"default": 1.0,
18+
"minimum" : 0.0,
19+
"propertyOrder" : 2
20+
}
21+
},
22+
"additionalProperties": false
23+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
{
2+
"type":"object",
3+
"script" : "running_dots.py",
4+
"title":"Running dots",
5+
"required":true,
6+
"properties":{
7+
"speed": {
8+
"type": "number",
9+
"title":"Runner speed",
10+
"default": 1.5,
11+
"minimum" : 0.1,
12+
"propertyOrder" : 1
13+
},
14+
"colorLevel": {
15+
"type": "integer",
16+
"title":"Color",
17+
"default": 220,
18+
"minimium" : 0,
19+
"maximum" : 255,
20+
"propertyOrder" : 2
21+
},
22+
"whiteLevel": {
23+
"type": "integer",
24+
"title":"White",
25+
"default": 0,
26+
"minimium" : 0,
27+
"maximum" : 254,
28+
"propertyOrder" : 3
29+
}
30+
},
31+
"additionalProperties": false
32+
}

0 commit comments

Comments
 (0)