NMFCross: add continuity constraint

nix
Gerard 5 years ago
parent 2eb0a0aaa3
commit 0a7649f63e

@ -1,19 +1,19 @@
FluidBufNMFCross : FluidBufProcessor { FluidBufNMFCross : FluidBufProcessor {
*kr { |source, target, output , timeSparsity = 10, polyphony = 7, iterations = 50, windowSize = 1024, hopSize = -1, fftSize = -1, trig = 1, blocking = 0| *kr { |source, target, output , timeSparsity = 7, polyphony = 10, continuity = 7, iterations = 50, windowSize = 1024, hopSize = -1, fftSize = -1, trig = 1, blocking = 0|
source = source.asUGenInput; source = source.asUGenInput;
target = target.asUGenInput; target = target.asUGenInput;
output = output.asUGenInput; output = output.asUGenInput;
source.isNil.if {"FluidBufNMFCross: Invalid source buffer".throw}; source.isNil.if {"FluidBufNMFCross: Invalid source buffer".throw};
target.isNil.if {"FluidBufNMFCross: Invalid target buffer".throw}; target.isNil.if {"FluidBufNMFCross: Invalid target buffer".throw};
output.isNil.if {"FluidBufNMFCross: Invalid output buffer".throw}; output.isNil.if {"FluidBufNMFCross: Invalid output buffer".throw};
^FluidProxyUgen.kr(\FluidBufNMFCrossTrigger, -1, source, target, output, timeSparsity, polyphony, iterations, windowSize, hopSize, fftSize, trig, blocking); ^FluidProxyUgen.kr(\FluidBufNMFCrossTrigger, -1, source, target, output, timeSparsity, polyphony, continuity, iterations, windowSize, hopSize, fftSize, trig, blocking);
} }
*process { |server, source, target, output , timeSparsity = 10, polyphony = 7, iterations = 50, windowSize = 1024, hopSize = -1, fftSize = -1, freeWhenDone = true, action| *process { |server, source, target, output , timeSparsity = 7, polyphony = 10, continuity = 7, iterations = 50, windowSize = 1024, hopSize = -1, fftSize = -1, freeWhenDone = true, action|
source = source.asUGenInput; source = source.asUGenInput;
target = target.asUGenInput; target = target.asUGenInput;
output = output.asUGenInput; output = output.asUGenInput;
@ -21,16 +21,16 @@ FluidBufNMFCross : FluidBufProcessor {
target.isNil.if {"FluidBufNMFCross: Invalid target buffer".throw}; target.isNil.if {"FluidBufNMFCross: Invalid target buffer".throw};
output.isNil.if {"FluidBufNMFCross: Invalid output buffer".throw}; output.isNil.if {"FluidBufNMFCross: Invalid output buffer".throw};
^this.new( ^this.new(
server, nil, [output] server, nil, [output]
).processList( ).processList(
[source, target, output, timeSparsity, polyphony, iterations, windowSize, hopSize, fftSize,0],freeWhenDone, action [source, target, output, timeSparsity, polyphony, continuity, iterations, windowSize, hopSize, fftSize,0],freeWhenDone, action
); );
} }
*processBlocking { |server, source, target, output , timeSparsity = 10, polyphony = 7, iterations = 50, windowSize = 1024, hopSize = -1, fftSize = -1, freeWhenDone = true, action| *processBlocking { |server, source, target, output , timeSparsity = 7, polyphony = 10, continuity = 7, iterations = 50, windowSize = 1024, hopSize = -1, fftSize = -1, freeWhenDone = true, action|
source = source.asUGenInput; source = source.asUGenInput;
target = target.asUGenInput; target = target.asUGenInput;
output = output.asUGenInput; output = output.asUGenInput;
@ -38,11 +38,11 @@ FluidBufNMFCross : FluidBufProcessor {
target.isNil.if {"FluidBufNMFCross: Invalid target buffer".throw}; target.isNil.if {"FluidBufNMFCross: Invalid target buffer".throw};
output.isNil.if {"FluidBufNMFCross: Invalid output buffer".throw}; output.isNil.if {"FluidBufNMFCross: Invalid output buffer".throw};
^this.new( ^this.new(
server, nil, [output] server, nil, [output]
).processList( ).processList(
[source, target, output, timeSparsity, polyphony, iterations, windowSize, hopSize, fftSize,1],freeWhenDone, action [source, target, output, timeSparsity, polyphony, continuity, iterations, windowSize, hopSize, fftSize,1],freeWhenDone, action
); );
} }
} }

Loading…
Cancel
Save