diff --git a/animation.py b/animation.py index f131be8..d20750c 100644 --- a/animation.py +++ b/animation.py @@ -239,6 +239,29 @@ class RotatingRainbowKitchenWhite(Animation): def name(self): return "kitchenlight" +class RotatingRainbowBeamerBlack(Animation): + def __init__(self, looptime=50.0): + super(RotatingRainbowBeamerBlack, self).__init__() + self.looptime = looptime + pass + + def update(self, index, count): + """ + Same as RotatingRainbow but the lights on the projector side are mapped to black + """ + if (index in [2, 4, 5, 6]): + rgb = (0, 0, 0) + else: + hue = (time() / self.looptime + (index + 0.0) / count) % 1.0 + rgb = hsv_to_rgb(hue, 1, 1) + return rgb + + def __str__(self): + return f"{type(self).__name__}" + + def name(self): + return "beamermode" + class Chase(Steady): def __init__(self, color, looptime=1.0): @@ -306,4 +329,4 @@ def hsv_to_rgb(h, s, v): return [int(r * 255), int(g * 255), int(b * 255)] def rgb_to_hsv(r, g, b): - return colorsys.rgb_to_hsv(r/255,g/255,b/255) \ No newline at end of file + return colorsys.rgb_to_hsv(r/255,g/255,b/255) diff --git a/dmx.py b/dmx.py index edafb2f..e7fdd5c 100644 --- a/dmx.py +++ b/dmx.py @@ -6,7 +6,7 @@ from time import sleep from typing import Union from animation import Animation, Off, RandomSingle, Steady, FadeTo, RotatingRainbow, Chase, TwoColor, Caramelldansen, \ - Hackertours, RotatingRainbowKitchenWhite + Hackertours, RotatingRainbowKitchenWhite, RotatingRainbowBeamerBlack def ledlog(value): @@ -154,6 +154,8 @@ class DMX: animation = Hackertours(self._color) elif animation == "kitchenlight": animation = RotatingRainbowKitchenWhite() + elif animation == "beamermode": + animation = RotatingRainbowBeamerBlack() else: raise ValueError(f"No such animation {animation}") self._animation = animation diff --git a/poetry.lock b/poetry.lock index 362ac06..0fdf274 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 2.3.4 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand. [[package]] name = "bottle" @@ -6,25 +6,12 @@ version = "0.12.25" description = "Fast and simple WSGI-framework for small web-applications." optional = false python-versions = "*" -groups = ["main"] files = [ {file = "bottle-0.12.25-py3-none-any.whl", hash = "sha256:d6f15f9d422670b7c073d63bd8d287b135388da187a0f3e3c19293626ce034ea"}, {file = "bottle-0.12.25.tar.gz", hash = "sha256:e1a9c94970ae6d710b3fb4526294dfeb86f2cb4a81eff3a4b98dc40fb0e5e021"}, ] -[[package]] -name = "legacy-cgi" -version = "2.6.4" -description = "Fork of the standard library cgi and cgitb modules removed in Python 3.13" -optional = false -python-versions = ">=3.8" -groups = ["main"] -files = [ - {file = "legacy_cgi-2.6.4-py3-none-any.whl", hash = "sha256:7e235ce58bf1e25d1fc9b2d299015e4e2cd37305eccafec1e6bac3fc04b878cd"}, - {file = "legacy_cgi-2.6.4.tar.gz", hash = "sha256:abb9dfc7835772f7c9317977c63253fd22a7484b5c9bbcdca60a29dcce97c577"}, -] - [metadata] -lock-version = "2.1" +lock-version = "2.0" python-versions = "^3.9" -content-hash = "19caa4a129f9c7cc8e35e26de5edb2eb372f191ab9dfa0c5cc57b75dc04a8d9a" +content-hash = "861e3ad9d0b00deb876d2ca7797a608f215c7b91ec9b38f367b24bd096a28478" diff --git a/pyproject.toml b/pyproject.toml index 72af8fe..01bb425 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,12 +3,13 @@ name = "foobazdmx" version = "0.1.0" description = "" authors = ["Stefan Bethke "] -package-mode = false +#package-mode = false [tool.poetry.dependencies] python = "^3.9" bottle = "^0.12.21" -legacy-cgi = "^2.6.4" + +[tool.poetry.dev-dependencies] [build-system] requires = ["poetry-core>=1.0.0"] diff --git a/views/index.tpl b/views/index.tpl index 02d19f1..07c0b15 100644 --- a/views/index.tpl +++ b/views/index.tpl @@ -25,6 +25,10 @@
+
+
+ +
% end
@@ -50,4 +54,4 @@
- \ No newline at end of file +