From eb392746edb5f00926013ba9cd03cb932c1bb4b0 Mon Sep 17 00:00:00 2001 From: Deathsbreed Date: Wed, 22 Oct 2014 11:49:38 -0500 Subject: [PATCH] Added comments to Generator code. --- src/freqsample/Generator.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/freqsample/Generator.java b/src/freqsample/Generator.java index 2e6987c..e076ae2 100644 --- a/src/freqsample/Generator.java +++ b/src/freqsample/Generator.java @@ -21,6 +21,7 @@ public class Generator { double fCyclePosition = 0; + // Open Audio Device AudioFormat af = new AudioFormat(SAMPLE_RATE, 16, 1, true, true); DataLine.Info info = new DataLine.Info(SourceDataLine.class, af); @@ -33,16 +34,21 @@ public class Generator { line.open(af); line.start(); + // The audio bytebuffer ByteBuffer cBuf = ByteBuffer.allocate(line.getBufferSize()); + // Set the total samples to loop through if(msecs < 150) msecs = 150; int ctSamplesTotal = (int)(SAMPLE_RATE * (msecs / 1000)); while(ctSamplesTotal > 0) { + // Define the frequency at the given sample rate double fCycleInc = fFreq/SAMPLE_RATE; + // Clear the buffer cBuf.clear(); + // Play the frequency int ctSamplesThisPass = line.available() / SAMPLE_SIZE; for(int i = 0; i < ctSamplesThisPass; i++) { cBuf.putShort((short)(Short.MAX_VALUE * Math.sin(2 * Math.PI * fCyclePosition))); @@ -57,6 +63,7 @@ public class Generator { } } + // Close the audioline line.drain(); line.close(); }