From 0f83b325b677130d1ae61a176cef2d19510de180 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Langa?= Date: Wed, 5 Nov 2025 20:55:41 +0100 Subject: [PATCH] Reset modulation value when modulation source removed --- lib/matrix.lua | 6 ++++++ lib/menu.lua | 3 +++ 2 files changed, 9 insertions(+) diff --git a/lib/matrix.lua b/lib/matrix.lua index 3087562..95bb333 100644 --- a/lib/matrix.lua +++ b/lib/matrix.lua @@ -271,6 +271,12 @@ function ModMatrix:set_depth(param_id, modulation_id, depth) self.matrix[modulation_id] = nil end end + if p.modulation ~= nil then + p.modulation[modulation_id] = nil + end + if p.t ~= params.tTRIGGER then + self:defer_bang(p.id, p.priority) + end else if self.matrix[modulation_id] == nil then self.matrix[modulation_id] = {} diff --git a/lib/menu.lua b/lib/menu.lua index b0fd8f6..0c38374 100644 --- a/lib/menu.lua +++ b/lib/menu.lua @@ -141,6 +141,9 @@ m.key = function(n,z) local source = matrix:lookup_source(i) -- print("setting depth", m.param_id, i, source.id, 0) matrix:set_depth(m.param_id, i, nil) + if not matrix:used(source.id) then + matrix:set(source.id, 0) + end m.calculated = false end end