svoid audio_makeSampleFromSources(L> sources, double[] pair, double gain, VF1> removeSource) { double l = 0, r = 0; int len = syncSize(sources); for (int i = 0; i < len; i++) { // synchro-safe, garbage-free iteration VF1 source = syncGet(sources, i); continue if source == null; callF(source, pair); if (isNaN(pair[0])) continue with callF(removeSource, source); l += pair[0]; r += pair[1]; } pair[0] = l*gain; pair[1] = r*gain; }