mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2023-10-10 13:36:59 +02:00
new effect plasma (#792)
Signed-off-by: Paulchen-Panther <Paulchen-Panter@protonmail.com>
This commit is contained in:
parent
510bb903ae
commit
9e149308f4
@ -808,6 +808,8 @@
|
|||||||
"edt_conf_net_localAdminAuth_expl": "",
|
"edt_conf_net_localAdminAuth_expl": "",
|
||||||
"edt_eff_collision_header": "",
|
"edt_eff_collision_header": "",
|
||||||
"edt_eff_collision_header_desc": "",
|
"edt_eff_collision_header_desc": "",
|
||||||
|
"edt_eff_plasma_header": "",
|
||||||
|
"edt_eff_plasma_header_desc": "",
|
||||||
"edt_eff_explodeRadius": "",
|
"edt_eff_explodeRadius": "",
|
||||||
"edt_dev_spec_printTimeStamp_title": "",
|
"edt_dev_spec_printTimeStamp_title": "",
|
||||||
"edt_eff_ledtest_header": "",
|
"edt_eff_ledtest_header": "",
|
||||||
|
@ -710,7 +710,9 @@
|
|||||||
"edt_eff_flag_header_desc": "Verpasse deinen LEDs die Farben deines Landes. Du kannst mehr als eine Flagge auswählen, je nach Intervall werden diese dann abwechselnd angezeigt.",
|
"edt_eff_flag_header_desc": "Verpasse deinen LEDs die Farben deines Landes. Du kannst mehr als eine Flagge auswählen, je nach Intervall werden diese dann abwechselnd angezeigt.",
|
||||||
"edt_eff_collision_header": "Farbkollision",
|
"edt_eff_collision_header": "Farbkollision",
|
||||||
"edt_eff_collision_header_desc": "Zwei Farbprojektile werden von zufälligen Positionen gesendet und kollidieren miteinander",
|
"edt_eff_collision_header_desc": "Zwei Farbprojektile werden von zufälligen Positionen gesendet und kollidieren miteinander",
|
||||||
"edt_eff_explodeRadius": "Detonationsreichweite ",
|
"edt_eff_plasma_header": "Plasma",
|
||||||
|
"edt_eff_plasma_header_desc": "Farbverzerrungen in verschiedenen Richtungen",
|
||||||
|
"edt_eff_explodeRadius": "Detonationsreichweite",
|
||||||
"edt_eff_enum_all": "Alle",
|
"edt_eff_enum_all": "Alle",
|
||||||
"edt_eff_enum_all-together": "Alle zusammen",
|
"edt_eff_enum_all-together": "Alle zusammen",
|
||||||
"edt_eff_enum_list": "LED Liste",
|
"edt_eff_enum_list": "LED Liste",
|
||||||
|
@ -709,6 +709,8 @@
|
|||||||
"edt_eff_flag_header_desc" : "Let your leds shine bright in the colours of your country. You can select more than one flag and they will change based on the interval time.",
|
"edt_eff_flag_header_desc" : "Let your leds shine bright in the colours of your country. You can select more than one flag and they will change based on the interval time.",
|
||||||
"edt_eff_collision_header": "colour collision",
|
"edt_eff_collision_header": "colour collision",
|
||||||
"edt_eff_collision_header_desc": "Two colour projectiles are sent from random positions and collide with each other",
|
"edt_eff_collision_header_desc": "Two colour projectiles are sent from random positions and collide with each other",
|
||||||
|
"edt_eff_plasma_header": "Plasma",
|
||||||
|
"edt_eff_plasma_header_desc": "Color distortion in different directions",
|
||||||
"edt_eff_explodeRadius": "Detonation Range ",
|
"edt_eff_explodeRadius": "Detonation Range ",
|
||||||
"edt_eff_enum_all" : "All",
|
"edt_eff_enum_all" : "All",
|
||||||
"edt_eff_enum_all-together" : "All together",
|
"edt_eff_enum_all-together" : "All together",
|
||||||
|
@ -808,6 +808,8 @@
|
|||||||
"edt_conf_net_localAdminAuth_expl": "Cuando está habilitado, el acceso de administración desde tu red doméstica necesita una contraseña.",
|
"edt_conf_net_localAdminAuth_expl": "Cuando está habilitado, el acceso de administración desde tu red doméstica necesita una contraseña.",
|
||||||
"edt_eff_collision_header": "colisión de colores",
|
"edt_eff_collision_header": "colisión de colores",
|
||||||
"edt_eff_collision_header_desc": "Dos proyectiles de color se envían desde posiciones aleatorias y chocan entre sí",
|
"edt_eff_collision_header_desc": "Dos proyectiles de color se envían desde posiciones aleatorias y chocan entre sí",
|
||||||
|
"edt_eff_plasma_header": "",
|
||||||
|
"edt_eff_plasma_header_desc": "",
|
||||||
"edt_eff_explodeRadius": "Rango de detonación",
|
"edt_eff_explodeRadius": "Rango de detonación",
|
||||||
"edt_dev_spec_printTimeStamp_title": "Añadir marca de tiempo",
|
"edt_dev_spec_printTimeStamp_title": "Añadir marca de tiempo",
|
||||||
"edt_eff_ledtest_header": "Prueba de Led",
|
"edt_eff_ledtest_header": "Prueba de Led",
|
||||||
|
@ -808,6 +808,8 @@
|
|||||||
"edt_conf_net_localAdminAuth_expl": "Quando abilitato, l'accesso da amministratore dal tuo network domestico necessita di password",
|
"edt_conf_net_localAdminAuth_expl": "Quando abilitato, l'accesso da amministratore dal tuo network domestico necessita di password",
|
||||||
"edt_eff_collision_header": "collisione colore",
|
"edt_eff_collision_header": "collisione colore",
|
||||||
"edt_eff_collision_header_desc": "Due proiettili colorati partono da due posizioni casuali e collidono tra loro",
|
"edt_eff_collision_header_desc": "Due proiettili colorati partono da due posizioni casuali e collidono tra loro",
|
||||||
|
"edt_eff_plasma_header": "",
|
||||||
|
"edt_eff_plasma_header_desc": "",
|
||||||
"edt_eff_explodeRadius": "Raggio di detonazione ",
|
"edt_eff_explodeRadius": "Raggio di detonazione ",
|
||||||
"edt_dev_spec_printTimeStamp_title": "Aggiungi timestamp",
|
"edt_dev_spec_printTimeStamp_title": "Aggiungi timestamp",
|
||||||
"edt_eff_ledtest_header": "",
|
"edt_eff_ledtest_header": "",
|
||||||
|
@ -808,6 +808,8 @@
|
|||||||
"edt_conf_net_localAdminAuth_expl": "",
|
"edt_conf_net_localAdminAuth_expl": "",
|
||||||
"edt_eff_collision_header": "",
|
"edt_eff_collision_header": "",
|
||||||
"edt_eff_collision_header_desc": "",
|
"edt_eff_collision_header_desc": "",
|
||||||
|
"edt_eff_plasma_header": "",
|
||||||
|
"edt_eff_plasma_header_desc": "",
|
||||||
"edt_eff_explodeRadius": "",
|
"edt_eff_explodeRadius": "",
|
||||||
"edt_dev_spec_printTimeStamp_title": "",
|
"edt_dev_spec_printTimeStamp_title": "",
|
||||||
"edt_eff_ledtest_header": "",
|
"edt_eff_ledtest_header": "",
|
||||||
|
@ -808,6 +808,8 @@
|
|||||||
"edt_conf_net_localAdminAuth_expl": "",
|
"edt_conf_net_localAdminAuth_expl": "",
|
||||||
"edt_eff_collision_header": "",
|
"edt_eff_collision_header": "",
|
||||||
"edt_eff_collision_header_desc": "",
|
"edt_eff_collision_header_desc": "",
|
||||||
|
"edt_eff_plasma_header": "",
|
||||||
|
"edt_eff_plasma_header_desc": "",
|
||||||
"edt_eff_explodeRadius": "",
|
"edt_eff_explodeRadius": "",
|
||||||
"edt_dev_spec_printTimeStamp_title": "",
|
"edt_dev_spec_printTimeStamp_title": "",
|
||||||
"edt_eff_ledtest_header": "",
|
"edt_eff_ledtest_header": "",
|
||||||
|
@ -808,6 +808,8 @@
|
|||||||
"edt_conf_net_localAdminAuth_expl": "",
|
"edt_conf_net_localAdminAuth_expl": "",
|
||||||
"edt_eff_collision_header": "",
|
"edt_eff_collision_header": "",
|
||||||
"edt_eff_collision_header_desc": "",
|
"edt_eff_collision_header_desc": "",
|
||||||
|
"edt_eff_plasma_header": "",
|
||||||
|
"edt_eff_plasma_header_desc": "",
|
||||||
"edt_eff_explodeRadius": "",
|
"edt_eff_explodeRadius": "",
|
||||||
"edt_dev_spec_printTimeStamp_title": "",
|
"edt_dev_spec_printTimeStamp_title": "",
|
||||||
"edt_eff_ledtest_header": "",
|
"edt_eff_ledtest_header": "",
|
||||||
|
@ -808,6 +808,8 @@
|
|||||||
"edt_conf_net_localAdminAuth_expl": "När aktiverad, behövs ett lösenord för administrering i nätverket.",
|
"edt_conf_net_localAdminAuth_expl": "När aktiverad, behövs ett lösenord för administrering i nätverket.",
|
||||||
"edt_eff_collision_header": "färgkollision",
|
"edt_eff_collision_header": "färgkollision",
|
||||||
"edt_eff_collision_header_desc": "Två färgprojektiler skickas från slumpmässiga positioner och kolliderar med varandra",
|
"edt_eff_collision_header_desc": "Två färgprojektiler skickas från slumpmässiga positioner och kolliderar med varandra",
|
||||||
|
"edt_eff_plasma_header": "",
|
||||||
|
"edt_eff_plasma_header_desc": "",
|
||||||
"edt_eff_explodeRadius": "Detonationsområde",
|
"edt_eff_explodeRadius": "Detonationsområde",
|
||||||
"edt_dev_spec_printTimeStamp_title": "Lägg till tidsstämpel",
|
"edt_dev_spec_printTimeStamp_title": "Lägg till tidsstämpel",
|
||||||
"edt_eff_ledtest_header": "LED-test",
|
"edt_eff_ledtest_header": "LED-test",
|
||||||
|
8
effects/plasma.json
Normal file
8
effects/plasma.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"name" : "Plasma",
|
||||||
|
"script" : "plasma.py",
|
||||||
|
"args" :
|
||||||
|
{
|
||||||
|
"sleepTime" : 0.20
|
||||||
|
}
|
||||||
|
}
|
35
effects/plasma.py
Normal file
35
effects/plasma.py
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
import hyperion, time, colorsys, math
|
||||||
|
|
||||||
|
hyperion.imageMinSize(64, 64)
|
||||||
|
width = hyperion.imageWidth()
|
||||||
|
height = hyperion.imageHeight()
|
||||||
|
sleepTime = float(hyperion.args.get('sleepTime', 0.2))
|
||||||
|
|
||||||
|
def mapto(x, in_min, in_max, out_min, out_max):
|
||||||
|
return float((x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min)
|
||||||
|
|
||||||
|
pal = []
|
||||||
|
for h in range(256):
|
||||||
|
r, g, b = colorsys.hsv_to_rgb(mapto(h, 0.0, 255.0, 0.0, 1.0), 1.0, 1.0)
|
||||||
|
pal.append( bytearray( (int(r*255), int(g*255), int(b*255)) ) )
|
||||||
|
|
||||||
|
plasma = [[]]
|
||||||
|
for x in range(width):
|
||||||
|
plasma.append([])
|
||||||
|
for y in range(height):
|
||||||
|
color = int(128.0 + (128.0 * math.sin(x / 16.0)) + \
|
||||||
|
128.0 + (128.0 * math.sin(y / 8.0)) + \
|
||||||
|
128.0 + (128.0 * math.sin((x+y)) / 16.0) + \
|
||||||
|
128.0 + (128.0 * math.sin(math.sqrt(x**2.0 + y**2.0) / 8.0))) / 4
|
||||||
|
plasma[x].append(color)
|
||||||
|
|
||||||
|
while not hyperion.abort():
|
||||||
|
ledData = bytearray()
|
||||||
|
mod = time.clock() * 100
|
||||||
|
for x in range(height):
|
||||||
|
for y in range(width):
|
||||||
|
ledData += pal[int((plasma[y][x] + mod) % 256)]
|
||||||
|
|
||||||
|
hyperion.setImage(width,height,ledData)
|
||||||
|
time.sleep(sleepTime)
|
||||||
|
|
18
effects/schema/plasma.schema.json
Normal file
18
effects/schema/plasma.schema.json
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"type":"object",
|
||||||
|
"script" : "plasma.py",
|
||||||
|
"title": "edt_eff_plasma_header",
|
||||||
|
"required": true,
|
||||||
|
"properties": {
|
||||||
|
"sleepTime": {
|
||||||
|
"type": "number",
|
||||||
|
"title":"edt_eff_sleeptime",
|
||||||
|
"default": 0.20,
|
||||||
|
"minimum" : 0.01,
|
||||||
|
"step": 0.01,
|
||||||
|
"append" : "edt_append_s",
|
||||||
|
"propertyOrder" : 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"additionalProperties": false
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user