From 36b7c600cd2f2cbba0f4ce7aa6519ae312299316 Mon Sep 17 00:00:00 2001 From: junofern Date: Fri, 4 Aug 2023 10:31:17 +0100 Subject: [PATCH 1/4] #368 hacky fix using clear() --- max-package/jsui/fluid.waveform~.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/max-package/jsui/fluid.waveform~.js b/max-package/jsui/fluid.waveform~.js index 67b441a..b01ae17 100644 --- a/max-package/jsui/fluid.waveform~.js +++ b/max-package/jsui/fluid.waveform~.js @@ -269,7 +269,7 @@ function getBuffer(name) function bufexists(name) { var b = getBuffer(name) - if (b.framecount() === -1 || b === null) return false + if (b === null || b.framecount() === -1) return false return true } @@ -296,6 +296,18 @@ function err(msg) error('fluid.waveform~: ' + msg + '\n') } +function checkalllayers() { + alllayers.forEach(function (source) + { + if (!bufexists(source)) { + err('buffer' + ' "' + source + '" ' + 'no longer exists'); + clear(); //calling clear does fix the buffer renaming bug but it's hacky + redrawNeeded = true; + return + } + }) +} + function addlayer(type, source, r, g, b, a) { if (!type || !source) err('layer must have a type (symbol) and a source (buffer name)'); @@ -329,6 +341,7 @@ function addlayer(type, source, r, g, b, a) // discern if a new or existing layer if (index < 0) { // new + checkalllayers(); var l = new LayerSpec(); l.type = translatedType; l.source = source; From 77fddff744f9b0837c092a60ff256d67854e58e7 Mon Sep 17 00:00:00 2001 From: junofern Date: Fri, 4 Aug 2023 10:38:39 +0100 Subject: [PATCH 2/4] duplicate redrawNeeded asignment removed --- max-package/jsui/fluid.waveform~.js | 1 - 1 file changed, 1 deletion(-) diff --git a/max-package/jsui/fluid.waveform~.js b/max-package/jsui/fluid.waveform~.js index b01ae17..38efaa4 100644 --- a/max-package/jsui/fluid.waveform~.js +++ b/max-package/jsui/fluid.waveform~.js @@ -302,7 +302,6 @@ function checkalllayers() { if (!bufexists(source)) { err('buffer' + ' "' + source + '" ' + 'no longer exists'); clear(); //calling clear does fix the buffer renaming bug but it's hacky - redrawNeeded = true; return } }) From 2b86a1aa12a198aee795931e1d46561ad168bfbf Mon Sep 17 00:00:00 2001 From: junofern Date: Fri, 4 Aug 2023 11:09:28 +0100 Subject: [PATCH 3/4] unecessary return --- max-package/jsui/fluid.waveform~.js | 1 - 1 file changed, 1 deletion(-) diff --git a/max-package/jsui/fluid.waveform~.js b/max-package/jsui/fluid.waveform~.js index 38efaa4..da21d11 100644 --- a/max-package/jsui/fluid.waveform~.js +++ b/max-package/jsui/fluid.waveform~.js @@ -302,7 +302,6 @@ function checkalllayers() { if (!bufexists(source)) { err('buffer' + ' "' + source + '" ' + 'no longer exists'); clear(); //calling clear does fix the buffer renaming bug but it's hacky - return } }) } From c41fd515cd440940be57235dd1967a515430d376 Mon Sep 17 00:00:00 2001 From: junofern Date: Fri, 4 Aug 2023 11:10:16 +0100 Subject: [PATCH 4/4] catching same bug from another function --- max-package/jsui/fluid.waveform~.js | 1 + 1 file changed, 1 insertion(+) diff --git a/max-package/jsui/fluid.waveform~.js b/max-package/jsui/fluid.waveform~.js index da21d11..1bfc19c 100644 --- a/max-package/jsui/fluid.waveform~.js +++ b/max-package/jsui/fluid.waveform~.js @@ -464,6 +464,7 @@ function addmarkers(source, reference) const index = find(source); if (index < 0) { + checkalllayers(); var l = new MarkersSpec(source, reference) //markerdata,fs,referenceLength) l.type = 'markers'; markerlayers.push(l);