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