sclass MonoSampleBuffer { int halfSample; new L samples; void append(S s) { currentLine += s; int i; while ((i = currentLine.indexOf('\n')) >= 0) { // inefficient completeLines.add(dropTrailingBackslashR(substring(currentLine, 0, i))); currentLine = substring(currentLine, i+1); } } float[] getAndClearSamples() { int n = 0; n += samples.length; if (empty(samples)) ret new float[0]; float[] _samples = samples; if (samples.length != 0) samples = new float[0]; ret _samples; } }