diff --git a/python_payload/apps/audio_passthrough/__init__.py b/python_payload/apps/audio_passthrough/__init__.py index 56036120c07bf354ff111681c8aa0e6d9130a3f0..8408b02ccded951905e6dbc17a0a0d9838ca3b54 100644 --- a/python_payload/apps/audio_passthrough/__init__.py +++ b/python_payload/apps/audio_passthrough/__init__.py @@ -27,6 +27,7 @@ class AudioPassthrough(Application): self._force_mode: str = "AUTO" def on_enter(self, vm: Optional[ViewManager]) -> None: + super().on_enter(vm) self._force_mode = "AUTO" def draw(self, ctx: Context) -> None: @@ -96,6 +97,7 @@ class AudioPassthrough(Application): ctx.text("force line in/out") def on_exit(self) -> None: + super().on_exit() # Mic passthrough has a loopback risk if self._force_mode == "FORCE_MIC": self._force_mode = "FORCE_NONE" diff --git a/python_payload/apps/gay_drums/__init__.py b/python_payload/apps/gay_drums/__init__.py index fadc8affa37062346f3386e6c2fd03f8820697a8..b738ffe993c90b0ec690489e0f4eaacb4e0819e1 100644 --- a/python_payload/apps/gay_drums/__init__.py +++ b/python_payload/apps/gay_drums/__init__.py @@ -562,5 +562,6 @@ class GayDrums(Application): self.ct_prev = ct def on_enter(self, vm: Optional[ViewManager]) -> None: + super().on_enter(vm) self.ct_prev = None self.draw_background_counter = 2 diff --git a/python_payload/apps/harmonic_demo/__init__.py b/python_payload/apps/harmonic_demo/__init__.py index 8a0ca7cf1716db5413458764c1194bcde8403c22..254d20f184d5513969eb2282574c1bb055bb1b67 100644 --- a/python_payload/apps/harmonic_demo/__init__.py +++ b/python_payload/apps/harmonic_demo/__init__.py @@ -5,6 +5,8 @@ import leds from st3m.goose import List from st3m.input import InputState +from st3m.goose import Optional +from st3m.ui.view import ViewManager from ctx import Context import cmath import math @@ -129,7 +131,7 @@ class HarmonicApp(Application): self.cp_prev = cp def on_enter(self, vm: Optional[ViewManager]) -> None: - # super().on_enter(vm) idk not using it in shoegaze, works fine? + super().on_enter(vm) if self.blm is None: self._build_synth() self.blm.foreground = True diff --git a/python_payload/apps/melodic_demo/__init__.py b/python_payload/apps/melodic_demo/__init__.py index 0bef5fea19db9da3f39f552064f35cf222a50675..45a7ab6698c4859842276b5a2feec55da428e19d 100644 --- a/python_payload/apps/melodic_demo/__init__.py +++ b/python_payload/apps/melodic_demo/__init__.py @@ -124,13 +124,14 @@ class MelodicApp(Application): leds.update() def on_enter(self, vm: Optional[ViewManager]) -> None: - # super().on_enter(vm) idk not using it in shoegaze, works fine? + super().on_enter(vm) if self.blm is None: self._build_synth() self.blm.foreground = True self.make_scale() def on_exit(self): + super().on_exit() if self.blm is not None: self.blm.free = True self.blm = None diff --git a/python_payload/apps/nick/__init__.py b/python_payload/apps/nick/__init__.py index 74423757870c08de13e034f77547bfad2a537971..43bd2a4ff659215fbaaf5c39a0265ce2396fea04 100644 --- a/python_payload/apps/nick/__init__.py +++ b/python_payload/apps/nick/__init__.py @@ -163,6 +163,7 @@ class NickApp(Application): # ctx.fill() def on_exit(self) -> None: + super().on_exit() if not self._config.config_errors: self._config.save(self._filename) diff --git a/python_payload/apps/otamatone/__init__.py b/python_payload/apps/otamatone/__init__.py index 10a1ee803f12266b148a6aa9be2d39150ef08ea9..ee988ea8737ab651eb3c011a2562eea12eeac285 100644 --- a/python_payload/apps/otamatone/__init__.py +++ b/python_payload/apps/otamatone/__init__.py @@ -116,6 +116,7 @@ class Otamatone(Application): self._lp.signals.freq = 4000 def on_exit(self): + super().on_exit() if self._blm is not None: self._blm.free = True self._blm = None diff --git a/python_payload/apps/shoegaze/__init__.py b/python_payload/apps/shoegaze/__init__.py index 224f075823265362d5a0725ffef63f8bfb71a71f..a0cb9b4fd77d9f3c4f42276a15a211914ae49948 100644 --- a/python_payload/apps/shoegaze/__init__.py +++ b/python_payload/apps/shoegaze/__init__.py @@ -231,12 +231,14 @@ class ShoegazeApp(Application): self.bass_string.signals.trigger.start() def on_enter(self, vm: Optional[ViewManager]) -> None: + super().on_enter(vm) if self.blm is None: self._build_synth() if self.blm is not None: # silly mypy 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 = None diff --git a/python_payload/apps/tiny_sampler/__init__.py b/python_payload/apps/tiny_sampler/__init__.py index 40031e0d89e10c3c4a150ef8c3cd97839aaa0a99..1501275700825067228629b8f8d8981777ee3a9c 100644 --- a/python_payload/apps/tiny_sampler/__init__.py +++ b/python_payload/apps/tiny_sampler/__init__.py @@ -90,6 +90,7 @@ class TinySampler(Application): self.ct_prev = ct def on_exit(self) -> None: + super().on_exit() for i in range(5): if self.is_recording[i]: self.samplers[i].signals.rec_trigger.stop() diff --git a/python_payload/apps/w1f1/__init__.py b/python_payload/apps/w1f1/__init__.py index 607236843f28a6cefc011be3fa8854b2096c6318..fe4c4de87af4ea0cafe61b34b7b40154f84cc19e 100644 --- a/python_payload/apps/w1f1/__init__.py +++ b/python_payload/apps/w1f1/__init__.py @@ -129,6 +129,7 @@ class WifiApp(Application): leds.set_rgb((direction * 4) + 1, r, g, b) def on_exit(self) -> None: + super().on_exit() leds.set_all_rgb(0, 0, 0) leds.update() diff --git a/python_payload/apps/wurzelitzer/__init__.py b/python_payload/apps/wurzelitzer/__init__.py index cd0b10043d79094ad939b0d2a0c42112ff300ec5..7b6ac5299b3e3ea845b64341827c0538581d8a9c 100644 --- a/python_payload/apps/wurzelitzer/__init__.py +++ b/python_payload/apps/wurzelitzer/__init__.py @@ -55,6 +55,7 @@ class JukeBox(Application): self.load_stream() def on_exit(self): + super().on_exit() media.stop()