diff --git a/python_payload/apps/gay_drums/__init__.py b/python_payload/apps/gay_drums/__init__.py index f544c7135c1e5ac68fb3273b87db57fe18c7bbf1..364ed5f745fc4c3e43a35c6fa49ba42dabf9844e 100644 --- a/python_payload/apps/gay_drums/__init__.py +++ b/python_payload/apps/gay_drums/__init__.py @@ -319,14 +319,12 @@ class GayDrums(Application): return 0 else: state = self.seq.trigger_state(sequencer_track, step) - if state == 0: + if state <= 0: return 0 - elif state == 32767: - return 3 - elif state < 16384: + elif state < 17000: return 1 else: - return 2 + return 3 def track_set_state(self, track, step, state): # lol @@ -368,23 +366,27 @@ class GayDrums(Application): self.seq.trigger_clear(3, step) step += 16 else: - state = self.seq.trigger_state(sequencer_track, step) + state = self.track_get_state(track, step) if track == 3: if state == 0: new_state = 10000 - elif state > 16500: - new_state = 0 - else: + elif state == 1: new_state = 20000 + else: + new_state = 0 else: if state == 0: new_state = 16000 - elif state == 32767: - new_state = 0 - else: + elif state == 1: new_state = 32767 - self.seq.trigger_start(sequencer_track, step, new_state) - self.seq.trigger_start(sequencer_track, step + 16, new_state) + else: + new_state = 0 + if new_state <= 0: + self.seq.trigger_clear(sequencer_track, step) + self.seq.trigger_clear(sequencer_track, step + 16) + else: + self.seq.trigger_start(sequencer_track, step, new_state) + self.seq.trigger_start(sequencer_track, step + 16, new_state) def draw_track_step_marker(self, ctx: Context, data: Tuple[int, int]) -> None: track, step = data