Forráskód Böngészése

change deafult effects

tuanchris 3 hónapja
szülő
commit
84a63ba328
2 módosított fájl, 20 hozzáadás és 12 törlés
  1. 4 4
      modules/core/state.py
  2. 16 8
      modules/led/hyperion_controller.py

+ 4 - 4
modules/core/state.py

@@ -44,8 +44,8 @@ class AppState:
         self.hyperion_port = 8090
         self.hyperion_port = 8090
         self.led_provider = "none"  # "wled", "hyperion", or "none"
         self.led_provider = "none"  # "wled", "hyperion", or "none"
         self.led_controller = None
         self.led_controller = None
-        self.hyperion_idle_effect = None  # Effect to show when idle (None = clear priority)
-        self.hyperion_playing_effect = None  # Effect to show when playing (None = clear priority)
+        self.hyperion_idle_effect = "Candle"  # Effect to show when idle ("off" = clear priority)
+        self.hyperion_playing_effect = "Rainbow swirl fast"  # Effect to show when playing ("off" = clear priority)
         self.skip_requested = False
         self.skip_requested = False
         self.table_type = None
         self.table_type = None
         self._playlist_mode = "loop"
         self._playlist_mode = "loop"
@@ -242,8 +242,8 @@ class AppState:
         self.hyperion_ip = data.get('hyperion_ip', None)
         self.hyperion_ip = data.get('hyperion_ip', None)
         self.hyperion_port = data.get('hyperion_port', 8090)
         self.hyperion_port = data.get('hyperion_port', 8090)
         self.led_provider = data.get('led_provider', "none")
         self.led_provider = data.get('led_provider', "none")
-        self.hyperion_idle_effect = data.get('hyperion_idle_effect', None)
-        self.hyperion_playing_effect = data.get('hyperion_playing_effect', None)
+        self.hyperion_idle_effect = data.get('hyperion_idle_effect', "Candle")
+        self.hyperion_playing_effect = data.get('hyperion_playing_effect', "Rainbow swirl fast")
         self.app_name = data.get("app_name", "Dune Weaver")
         self.app_name = data.get("app_name", "Dune Weaver")
         self.auto_play_enabled = data.get("auto_play_enabled", False)
         self.auto_play_enabled = data.get("auto_play_enabled", False)
         self.auto_play_playlist = data.get("auto_play_playlist", None)
         self.auto_play_playlist = data.get("auto_play_playlist", None)

+ 16 - 8
modules/led/hyperion_controller.py

@@ -206,18 +206,22 @@ def effect_loading(hyperion_controller: HyperionController) -> bool:
     return res.get('connected', False)
     return res.get('connected', False)
 
 
 
 
-def effect_idle(hyperion_controller: HyperionController, effect_name: str = None) -> bool:
-    """Show idle effect - use configured effect or clear priority to return to default"""
+def effect_idle(hyperion_controller: HyperionController, effect_name: str = "off") -> bool:
+    """Show idle effect - use configured effect or clear priority to return to default
+
+    Args:
+        effect_name: Effect name to show, "off" to clear priority (default), or None for off
+    """
     # Turn on Hyperion first
     # Turn on Hyperion first
     hyperion_controller.set_power(1)
     hyperion_controller.set_power(1)
     time.sleep(0.2)  # Give Hyperion time to power on
     time.sleep(0.2)  # Give Hyperion time to power on
     # Clear priority before setting new effect
     # Clear priority before setting new effect
     hyperion_controller.clear_priority()
     hyperion_controller.clear_priority()
-    if effect_name:
+    if effect_name and effect_name != "off":
         time.sleep(0.1)  # Give Hyperion time to clear
         time.sleep(0.1)  # Give Hyperion time to clear
         res = hyperion_controller.set_effect(effect_name)
         res = hyperion_controller.set_effect(effect_name)
     else:
     else:
-        # Already cleared above
+        # "off" or None - already cleared above, return to default state
         res = {"connected": True}
         res = {"connected": True}
     return res.get('connected', False)
     return res.get('connected', False)
 
 
@@ -239,17 +243,21 @@ def effect_connected(hyperion_controller: HyperionController) -> bool:
     return res.get('connected', False)
     return res.get('connected', False)
 
 
 
 
-def effect_playing(hyperion_controller: HyperionController, effect_name: str = None) -> bool:
-    """Show playing effect - use configured effect or clear to show default"""
+def effect_playing(hyperion_controller: HyperionController, effect_name: str = "off") -> bool:
+    """Show playing effect - use configured effect or clear to show default
+
+    Args:
+        effect_name: Effect name to show, "off" to clear priority (default), or None for off
+    """
     # Turn on Hyperion first
     # Turn on Hyperion first
     hyperion_controller.set_power(1)
     hyperion_controller.set_power(1)
     time.sleep(0.2)  # Give Hyperion time to power on
     time.sleep(0.2)  # Give Hyperion time to power on
     # Clear priority before setting new effect
     # Clear priority before setting new effect
     hyperion_controller.clear_priority()
     hyperion_controller.clear_priority()
-    if effect_name:
+    if effect_name and effect_name != "off":
         time.sleep(0.1)  # Give Hyperion time to clear
         time.sleep(0.1)  # Give Hyperion time to clear
         res = hyperion_controller.set_effect(effect_name)
         res = hyperion_controller.set_effect(effect_name)
     else:
     else:
-        # Already cleared above - show user's configured effect/color
+        # "off" or None - already cleared above, show user's configured effect/color
         res = {"connected": True}
         res = {"connected": True}
     return res.get('connected', False)
     return res.get('connected', False)