From 36f0fca45348deea9090d549612b3a1cade865c0 Mon Sep 17 00:00:00 2001 From: Owen Green Date: Mon, 6 Jul 2020 13:31:04 +0100 Subject: [PATCH] Make number of parallel tasks settable in FluidSliceCorpus, and manage small sets, resolves #61 --- release-packaging/Classes/FluidCorpusBuilders.sc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/release-packaging/Classes/FluidCorpusBuilders.sc b/release-packaging/Classes/FluidCorpusBuilders.sc index 8a16df1..e629743 100644 --- a/release-packaging/Classes/FluidCorpusBuilders.sc +++ b/release-packaging/Classes/FluidCorpusBuilders.sc @@ -56,7 +56,7 @@ FluidSliceCorpus { ^super.newCopyArgs(sliceFunc,labelFunc); } - play{ |server,sourceBuffer,bufIdx, action| + play{ |server,sourceBuffer,bufIdx, action, tasks = 4| var counter, tmpIndices,perf,jobs,total,uid, completed, pointstotal; uid = UniqueID.next; sourceBuffer ?? {"No buffer to slice".error; ^nil}; @@ -111,7 +111,8 @@ FluidSliceCorpus { FreeSelfWhenDone.kr(onsets); }.play; }; - 4.do{perf.value(Buffer.new)}; + tasks ?? {tasks = 4}; + tasks.asInteger.min(jobs.size).do{perf.value(Buffer.new)}; } }