Make number of parallel tasks settable in FluidSliceCorpus, and manage small sets, resolves #61

nix
Owen Green 6 years ago
parent 7f6453be18
commit 36f0fca453

@ -56,7 +56,7 @@ FluidSliceCorpus {
^super.newCopyArgs(sliceFunc,labelFunc); ^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; var counter, tmpIndices,perf,jobs,total,uid, completed, pointstotal;
uid = UniqueID.next; uid = UniqueID.next;
sourceBuffer ?? {"No buffer to slice".error; ^nil}; sourceBuffer ?? {"No buffer to slice".error; ^nil};
@ -111,7 +111,8 @@ FluidSliceCorpus {
FreeSelfWhenDone.kr(onsets); FreeSelfWhenDone.kr(onsets);
}.play; }.play;
}; };
4.do{perf.value(Buffer.new)}; tasks ?? {tasks = 4};
tasks.asInteger.min(jobs.size).do{perf.value(Buffer.new)};
} }
} }

Loading…
Cancel
Save