diff --git a/python_payload/apps/shoegaze/__init__.py b/python_payload/apps/shoegaze/__init__.py index d3b9b32cb053c1b4c48def592b131b70e79e6359..aac0dfa0ca2d4c429c04185a5a2b862d7647a93d 100644 --- a/python_payload/apps/shoegaze/__init__.py +++ b/python_payload/apps/shoegaze/__init__.py @@ -44,6 +44,7 @@ class ShoegazeApp(Application): self._rand_rot = 0.0 self.delay_on = True self.fuzz_on = True + self._lofi = False def _build_synth(self) -> None: if self.blm is None: @@ -209,6 +210,8 @@ class ShoegazeApp(Application): if buttons.app.left.pressed: pass # self.fuzz_toggle() + if buttons.app.middle.pressed: + self.lofi = not self.lofi for i in range(1, 10, 2): if petals[i].whole.pressed: @@ -232,18 +235,30 @@ class ShoegazeApp(Application): self.bass_string.decay = 1000 self.bass_string.signals.trigger.start() + @property + def lofi(self): + return self._lofi + + @lofi.setter + def lofi(self, val): + self._lofi = bool(val) + if self._lofi: + sys_display.set_mode(2313) + else: + sys_display.set_mode(912) + def on_enter(self, vm: Optional[ViewManager]) -> None: super().on_enter(vm) - sys_display.set_mode(2313) + self.lofi = self.lofi if self.blm is None: self._build_synth() - if self.blm is not None: # silly mypy - self.blm.foreground = True + self.blm.foreground = True def on_exit(self) -> None: super().on_exit() if self.blm is not None: - self.blm.free = True # yeeting the channel in the backend + self.blm.clear() + self.blm.free = True self.blm = None