From 8c0099565f6ffceb2f191bafa130e50fdf1a8383 Mon Sep 17 00:00:00 2001 From: Owen Green Date: Thu, 25 Jul 2019 11:12:24 +0100 Subject: [PATCH] Improve (well, fix) the SC process-wait-query-action code for NMF --- release-packaging/Classes/FluidBufNMF.sc | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/release-packaging/Classes/FluidBufNMF.sc b/release-packaging/Classes/FluidBufNMF.sc index 1a37e85..a29488a 100644 --- a/release-packaging/Classes/FluidBufNMF.sc +++ b/release-packaging/Classes/FluidBufNMF.sc @@ -20,7 +20,6 @@ FluidBufNMF : UGen { *process { |server, source, startFrame = 0, numFrames = -1, startChan = 0, numChans = -1, destination, bases, basesMode = 0, activations, actMode = 0, components = 1, iterations = 100, windowSize = 1024, hopSize = -1, fftSize = -1, windowType = 0, randomSeed = -1, action| - var synth; source = source.asUGenInput; destination = destination.asUGenInput; bases = bases.asUGenInput; @@ -32,9 +31,8 @@ FluidBufNMF : UGen { bases = bases ? -1; activations = activations ? -1; - synth = {FluidBufNMF.kr(source, startFrame, numFrames, startChan, numChans, destination, bases, basesMode, activations, actMode, components, iterations, windowSize, hopSize, fftSize, doneAction: Done.freeSelf)}.play(server); - - synth.waitForFree({ forkIfNeeded{ + forkIfNeeded{ + {FluidBufNMF.kr(source, startFrame, numFrames, startChan, numChans, destination, bases, basesMode, activations, actMode, components,iterations, windowSize, hopSize, fftSize, doneAction: Done.freeSelf)}.play(server).waitForFree; server.sync; if (destination != -1) { destination = server.cachedBufferAt(destination); @@ -52,6 +50,6 @@ FluidBufNMF : UGen { server.sync; } {activations = nil}; action.value(destination, bases, activations); - }}); + }; } }