mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2025-03-01 10:33:28 +00:00
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
This commit is contained in:
committed by
redPanther
parent
4faa505fa4
commit
fab0c208fe
42
effects/schema/fade.schema.json
Normal file
42
effects/schema/fade.schema.json
Normal file
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"type":"object",
|
||||
"script" : "fade.py",
|
||||
"title":"Fade",
|
||||
"required":true,
|
||||
"properties":{
|
||||
"fade-time": {
|
||||
"type": "number",
|
||||
"title":"Fade Time",
|
||||
"default": 5.0,
|
||||
"minimum" : 0.1,
|
||||
"propertyOrder" : 1
|
||||
},
|
||||
"color-start": {
|
||||
"type": "array",
|
||||
"title":"Color Start",
|
||||
"default": "255,174,11",
|
||||
"items" : {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 255
|
||||
},
|
||||
"minItems": 3,
|
||||
"maxItems": 3,
|
||||
"propertyOrder" : 2
|
||||
},
|
||||
"color-end": {
|
||||
"type": "array",
|
||||
"title":"Color End",
|
||||
"default": "100,100,100",
|
||||
"items" : {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 255
|
||||
},
|
||||
"minItems": 3,
|
||||
"maxItems": 3,
|
||||
"propertyOrder" : 3
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
36
effects/schema/knight-rider.schema.json
Normal file
36
effects/schema/knight-rider.schema.json
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"type":"object",
|
||||
"script" : "knight-rider.py",
|
||||
"title":"Knight Rider",
|
||||
"required":true,
|
||||
"properties":{
|
||||
"speed": {
|
||||
"type": "number",
|
||||
"title":"Speed",
|
||||
"default": 1.0,
|
||||
"minimum": 0.1,
|
||||
"propertyOrder" : 1
|
||||
},
|
||||
"fadeFactor": {
|
||||
"type": "number",
|
||||
"title":"Fade Factor",
|
||||
"default": 0.7,
|
||||
"minimum" : 0.0,
|
||||
"propertyOrder" : 1
|
||||
},
|
||||
"color": {
|
||||
"type": "array",
|
||||
"title":"Color",
|
||||
"default": "255,0,0",
|
||||
"items" : {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 255
|
||||
},
|
||||
"minItems": 3,
|
||||
"maxItems": 3,
|
||||
"propertyOrder" : 3
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
15
effects/schema/light-clock.schema.json
Normal file
15
effects/schema/light-clock.schema.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"type":"object",
|
||||
"script" : "light-clock.py",
|
||||
"title":"Light clock",
|
||||
"required":true,
|
||||
"properties":{
|
||||
"show_seconds": {
|
||||
"type": "boolean",
|
||||
"title":"Show seconds",
|
||||
"default": true,
|
||||
"propertyOrder" : 1
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
87
effects/schema/mood-blobs.schema.json
Normal file
87
effects/schema/mood-blobs.schema.json
Normal file
@@ -0,0 +1,87 @@
|
||||
{
|
||||
"type":"object",
|
||||
"script" : "mood-blobs.py",
|
||||
"title":"Mood Blobs",
|
||||
"required":true,
|
||||
"properties":{
|
||||
"color": {
|
||||
"type": "array",
|
||||
"title":"Color",
|
||||
"default": "255,0,0",
|
||||
"items" : {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 255
|
||||
},
|
||||
"minItems": 3,
|
||||
"maxItems": 3,
|
||||
"propertyOrder" : 1
|
||||
},
|
||||
"blobs": {
|
||||
"type": "integer",
|
||||
"title":"Blob count",
|
||||
"default": 5,
|
||||
"minimum" : 1,
|
||||
"propertyOrder" : 2
|
||||
},
|
||||
"rotationTime": {
|
||||
"type": "number",
|
||||
"title":"Rotation time",
|
||||
"default": 20.0,
|
||||
"minimum" : 1.0,
|
||||
"propertyOrder" : 3
|
||||
},
|
||||
"hueChange": {
|
||||
"type": "number",
|
||||
"title":"Hue change",
|
||||
"default": 60.0,
|
||||
"minimum" : 1.0,
|
||||
"propertyOrder" : 4
|
||||
},
|
||||
"reverse": {
|
||||
"type": "boolean",
|
||||
"title":"Reverse direction",
|
||||
"default": false,
|
||||
"propertyOrder" : 5
|
||||
},
|
||||
"colorRandom": {
|
||||
"type": "boolean",
|
||||
"title":"Random color",
|
||||
"default": false,
|
||||
"propertyOrder" : 6
|
||||
},
|
||||
"baseChange": {
|
||||
"type": "boolean",
|
||||
"title":"Base color change",
|
||||
"default": false,
|
||||
"propertyOrder" : 7
|
||||
},
|
||||
"baseColorRangeLeft": {
|
||||
"type": "number",
|
||||
"title":"baseColorRangeLeft",
|
||||
"default": 0.0,
|
||||
"minimum" : 0.0,
|
||||
"maximum" : 360.0,
|
||||
"append" : "° (Degree)",
|
||||
"propertyOrder" : 8
|
||||
},
|
||||
"baseColorRangeRight": {
|
||||
"type": "number",
|
||||
"title":"baseColorRangeRight",
|
||||
"default": 360.0,
|
||||
"minimum" : 0.0,
|
||||
"maximum" : 360.0,
|
||||
"append" : "° (Degree)",
|
||||
"propertyOrder" : 9
|
||||
},
|
||||
"baseColorChangeRate": {
|
||||
"type": "number",
|
||||
"title":"baseColorChangeRate",
|
||||
"default": 2.0,
|
||||
"minimum" : 0.0,
|
||||
"append" : "Seconds for one degree",
|
||||
"propertyOrder" : 10
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
54
effects/schema/police.schema.json
Normal file
54
effects/schema/police.schema.json
Normal file
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"type":"object",
|
||||
"script" : "police.py",
|
||||
"title":"Police",
|
||||
"required":true,
|
||||
"properties":{
|
||||
"color_one": {
|
||||
"type": "array",
|
||||
"title":"Color one",
|
||||
"default": "255,0,0",
|
||||
"items" : {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 255
|
||||
},
|
||||
"minItems": 3,
|
||||
"maxItems": 3,
|
||||
"propertyOrder" : 1
|
||||
},
|
||||
"color_two": {
|
||||
"type": "array",
|
||||
"title":"Color two",
|
||||
"default": "0,0,255",
|
||||
"items" : {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 255
|
||||
},
|
||||
"minItems": 3,
|
||||
"maxItems": 3,
|
||||
"propertyOrder" : 2
|
||||
},
|
||||
"colors_count": {
|
||||
"type": "integer",
|
||||
"title":"Colors count",
|
||||
"default": "10",
|
||||
"propertyOrder" : 3
|
||||
},
|
||||
"rotation-time": {
|
||||
"type": "number",
|
||||
"title":"Rotation time",
|
||||
"default": 2.0,
|
||||
"minimum" : 0.1,
|
||||
"propertyOrder" : 4
|
||||
},
|
||||
"reverse": {
|
||||
"type": "boolean",
|
||||
"title":"Reverse direction",
|
||||
"default": false,
|
||||
"propertyOrder" : 5
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
29
effects/schema/rainbow-mood.schema.json
Normal file
29
effects/schema/rainbow-mood.schema.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"type":"object",
|
||||
"script" : "rainbow-mood.py",
|
||||
"title":"Rainbow mood",
|
||||
"required":true,
|
||||
"properties":{
|
||||
"rotation-time": {
|
||||
"type": "number",
|
||||
"title":"Rotation time",
|
||||
"default": 60.0,
|
||||
"minimum" : 0.1,
|
||||
"propertyOrder" : 1
|
||||
},
|
||||
"brightness": {
|
||||
"type": "number",
|
||||
"title":"Brightness",
|
||||
"default": 1.0,
|
||||
"minimum" : 0.0,
|
||||
"propertyOrder" : 2
|
||||
},
|
||||
"reverse": {
|
||||
"type": "boolean",
|
||||
"title":"Reverse",
|
||||
"default": false,
|
||||
"propertyOrder" : 3
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
36
effects/schema/rainbow-swirl.schema.json
Normal file
36
effects/schema/rainbow-swirl.schema.json
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"type":"object",
|
||||
"script" : "rainbow-swirl.py",
|
||||
"title":"Rainbow swirl",
|
||||
"required":true,
|
||||
"properties":{
|
||||
"rotation-time": {
|
||||
"type": "number",
|
||||
"title":"Rotation Time",
|
||||
"default": 20.0,
|
||||
"minimum" : 0.1,
|
||||
"propertyOrder" : 1
|
||||
},
|
||||
"center_x": {
|
||||
"type": "number",
|
||||
"title":"Center X",
|
||||
"default": 0.5,
|
||||
"minimum" : 0.0,
|
||||
"propertyOrder" : 2
|
||||
},
|
||||
"center_y": {
|
||||
"type": "number",
|
||||
"title":"Center Y",
|
||||
"default": 0.5,
|
||||
"minimum" : 0.0,
|
||||
"propertyOrder" : 3
|
||||
},
|
||||
"reverse": {
|
||||
"type": "boolean",
|
||||
"title":"Reverse",
|
||||
"default": false,
|
||||
"propertyOrder" : 4
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
23
effects/schema/random.schema.json
Normal file
23
effects/schema/random.schema.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"type":"object",
|
||||
"script" : "random.py",
|
||||
"title":"Random",
|
||||
"required":true,
|
||||
"properties":{
|
||||
"speed": {
|
||||
"type": "number",
|
||||
"title":"Speed",
|
||||
"default": 1.0,
|
||||
"minimum" : 0.0,
|
||||
"propertyOrder" : 1
|
||||
},
|
||||
"saturation": {
|
||||
"type": "number",
|
||||
"title":"Saturation",
|
||||
"default": 1.0,
|
||||
"minimum" : 0.0,
|
||||
"propertyOrder" : 2
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
32
effects/schema/running_dots.schema.json
Normal file
32
effects/schema/running_dots.schema.json
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"type":"object",
|
||||
"script" : "running_dots.py",
|
||||
"title":"Running dots",
|
||||
"required":true,
|
||||
"properties":{
|
||||
"speed": {
|
||||
"type": "number",
|
||||
"title":"Runner speed",
|
||||
"default": 1.5,
|
||||
"minimum" : 0.1,
|
||||
"propertyOrder" : 1
|
||||
},
|
||||
"colorLevel": {
|
||||
"type": "integer",
|
||||
"title":"Color",
|
||||
"default": 220,
|
||||
"minimium" : 0,
|
||||
"maximum" : 255,
|
||||
"propertyOrder" : 2
|
||||
},
|
||||
"whiteLevel": {
|
||||
"type": "integer",
|
||||
"title":"White",
|
||||
"default": 0,
|
||||
"minimium" : 0,
|
||||
"maximum" : 254,
|
||||
"propertyOrder" : 3
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
48
effects/schema/shutdown.schema.json
Normal file
48
effects/schema/shutdown.schema.json
Normal file
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"type":"object",
|
||||
"script" : "shutdown.py",
|
||||
"title":"System Shutdown",
|
||||
"required":true,
|
||||
"properties":{
|
||||
"speed": {
|
||||
"type": "number",
|
||||
"title":"Speed",
|
||||
"default": 1.0,
|
||||
"minimum" : 0.1,
|
||||
"propertyOrder" : 1
|
||||
},
|
||||
"alarm-color": {
|
||||
"type": "array",
|
||||
"title":"Alarm color",
|
||||
"default": "255,0,0",
|
||||
"items" : {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 255
|
||||
},
|
||||
"minItems": 3,
|
||||
"maxItems": 3,
|
||||
"propertyOrder" : 2
|
||||
},
|
||||
"post-color": {
|
||||
"type": "array",
|
||||
"title":"Post color",
|
||||
"default": "255,174,11",
|
||||
"items" : {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 255
|
||||
},
|
||||
"minItems": 3,
|
||||
"maxItems": 3,
|
||||
"propertyOrder" : 3
|
||||
},
|
||||
"shutdown-enabled": {
|
||||
"type": "boolean",
|
||||
"title":"Shutdown enabled",
|
||||
"default": false,
|
||||
"propertyOrder" : 4
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
35
effects/schema/snake.schema.json
Normal file
35
effects/schema/snake.schema.json
Normal file
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"type":"object",
|
||||
"script" : "snake.py",
|
||||
"title":"Snake",
|
||||
"required":true,
|
||||
"properties":{
|
||||
"color": {
|
||||
"type": "array",
|
||||
"title":"Color",
|
||||
"default": "255,0,0",
|
||||
"items" : {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 255
|
||||
},
|
||||
"minItems": 3,
|
||||
"maxItems": 3,
|
||||
"propertyOrder" : 1
|
||||
},
|
||||
"rotation-time": {
|
||||
"type": "number",
|
||||
"title":"Rotation time",
|
||||
"default": 12.0,
|
||||
"minimum" : 0.1,
|
||||
"propertyOrder" : 2
|
||||
},
|
||||
"percentage": {
|
||||
"type": "integer",
|
||||
"title":"Percentage",
|
||||
"default": 10,
|
||||
"propertyOrder" : 3
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
62
effects/schema/sparks.schema.json
Normal file
62
effects/schema/sparks.schema.json
Normal file
@@ -0,0 +1,62 @@
|
||||
{
|
||||
"type":"object",
|
||||
"script" : "sparks.py",
|
||||
"title":"Sparks",
|
||||
"required":true,
|
||||
"properties":{
|
||||
"color_one": {
|
||||
"type": "array",
|
||||
"title":"Color",
|
||||
"default": "255,0,0",
|
||||
"items" : {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 255
|
||||
},
|
||||
"minItems": 3,
|
||||
"maxItems": 3,
|
||||
"propertyOrder" : 1
|
||||
},
|
||||
"rotation-time": {
|
||||
"type": "number",
|
||||
"title":"Rotation time",
|
||||
"default": 2.0,
|
||||
"minimum" : 0.1,
|
||||
"propertyOrder" : 2
|
||||
},
|
||||
"sleep-time": {
|
||||
"type": "number",
|
||||
"title":"Rotation time",
|
||||
"default": 0.05,
|
||||
"minimum" : 0.01,
|
||||
"propertyOrder" : 3
|
||||
},
|
||||
"brightness": {
|
||||
"type": "number",
|
||||
"title":"Rotation time",
|
||||
"default": 1.0,
|
||||
"minimum" : 0.01,
|
||||
"propertyOrder" : 4
|
||||
},
|
||||
"saturation": {
|
||||
"type": "number",
|
||||
"title":"Rotation time",
|
||||
"default": 1.0,
|
||||
"minimum" : 0.01,
|
||||
"propertyOrder" : 5
|
||||
},
|
||||
"reverse": {
|
||||
"type": "boolean",
|
||||
"title":"Reverse direction",
|
||||
"default": false,
|
||||
"propertyOrder" : 6
|
||||
},
|
||||
"random-color": {
|
||||
"type": "boolean",
|
||||
"title":"Random color",
|
||||
"default": false,
|
||||
"propertyOrder" : 7
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
30
effects/schema/strobe.schema.json
Normal file
30
effects/schema/strobe.schema.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"type":"object",
|
||||
"script" : "strobe.py",
|
||||
"title":"Strobe",
|
||||
"required":true,
|
||||
"properties":{
|
||||
"color": {
|
||||
"type": "array",
|
||||
"title":"Color",
|
||||
"default": "255,0,0",
|
||||
"items" : {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 255
|
||||
},
|
||||
"minItems": 3,
|
||||
"maxItems": 3,
|
||||
"propertyOrder" : 1
|
||||
},
|
||||
"frequency": {
|
||||
"type": "number",
|
||||
"title":"Frequency",
|
||||
"default": 10.0,
|
||||
"minimum" : 0.1,
|
||||
"append" : "Hz",
|
||||
"propertyOrder" : 2
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
16
effects/schema/traces.schema.json
Normal file
16
effects/schema/traces.schema.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"type":"object",
|
||||
"script" : "traces.py",
|
||||
"title":"Color traces",
|
||||
"required":true,
|
||||
"properties":{
|
||||
"speed": {
|
||||
"type": "number",
|
||||
"title":"Speed",
|
||||
"default": 1.0,
|
||||
"minimum" : 0.1,
|
||||
"propertyOrder" : 1
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
22
effects/schema/udp.schema.json
Normal file
22
effects/schema/udp.schema.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"type":"object",
|
||||
"script" : "udp.py",
|
||||
"title":"UDP listener",
|
||||
"required":true,
|
||||
"properties":{
|
||||
"ListenPort": {
|
||||
"type": "Integer",
|
||||
"title":"Listen Port",
|
||||
"default": 2801,
|
||||
"minimum" : 1,
|
||||
"propertyOrder" : 1
|
||||
},
|
||||
"ListenIP": {
|
||||
"type": "string",
|
||||
"title":"Listen IP",
|
||||
"default": "",
|
||||
"propertyOrder" : 2
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
16
effects/schema/x-mas.schema.json
Normal file
16
effects/schema/x-mas.schema.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"type":"object",
|
||||
"script" : "x-mas.py",
|
||||
"title":"X-Mas",
|
||||
"required":true,
|
||||
"properties":{
|
||||
"sleepTime": {
|
||||
"type": "number",
|
||||
"title":"Sleep Time",
|
||||
"default": 1.0,
|
||||
"minimum" : 0.1,
|
||||
"propertyOrder" : 1
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
Reference in New Issue
Block a user