static CloseableItIt decodeWAVToMonoSamples_iterator(File wavFile) ctex { WAVDecoder decoder = new(newFileInputStream(wavFile)); ret combineAutoCloseables(decodeWAVToMonoSamples_iterator(decoder), decoder); } static CloseableItIt decodeWAVToMonoSamples_iterator(WAVDecoder decoder) { ret iteratorFromFunction_f0_autoCloseable(func -> short[] { short[] buf = new short[4096]; int n = decoder.readMonoSamples(buf); if (n <= 0) null; ret subArray(buf, 0, n); }); }