From a05892e677ed31b851a458bf5bbf4eb96d08fbc2 Mon Sep 17 00:00:00 2001 From: DaniTheSkunk Date: Fri, 14 Oct 2022 17:29:57 +0000 Subject: [PATCH] added audio sample class --- .../skunkworks/audio/ISample.java | 16 +++++++ .../skunkworks/audio/Samplei.java | 42 +++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 com/danitheskunk/skunkworks/audio/ISample.java create mode 100644 com/danitheskunk/skunkworks/audio/Samplei.java diff --git a/com/danitheskunk/skunkworks/audio/ISample.java b/com/danitheskunk/skunkworks/audio/ISample.java new file mode 100644 index 0000000..e9f4b6e --- /dev/null +++ b/com/danitheskunk/skunkworks/audio/ISample.java @@ -0,0 +1,16 @@ +package com.danitheskunk.skunkworks.audio; + +//todo: samplerate stuffs? +public interface ISample { + int getLength(); + + double getSampleLeft(int pos); + + double getSampleRight(int pos); + + void setSample(int pos, int left); + + void setSample(int pos, int left, int right); + + void isStereo(); +} diff --git a/com/danitheskunk/skunkworks/audio/Samplei.java b/com/danitheskunk/skunkworks/audio/Samplei.java new file mode 100644 index 0000000..84db8ce --- /dev/null +++ b/com/danitheskunk/skunkworks/audio/Samplei.java @@ -0,0 +1,42 @@ +package com.danitheskunk.skunkworks.audio; + +public class Samplei implements ISample { + private double[] left; + private double[] right; + + public Samplei(int length, boolean stereo) { + left = new double[length]; + right = stereo ? new double[length] : left; + } + + @Override + public int getLength() { + return left.length; + } + + @Override + public double getSampleLeft(int pos) { + return left[pos]; + } + + @Override + public double getSampleRight(int pos) { + return right[pos]; + } + + @Override + public void setSample(int pos, int left) { + this.left[pos] = left; + } + + @Override + public void setSample(int pos, int left, int right) { + this.left[pos] = left; + this.right[pos] = right; + } + + @Override + public void isStereo() { + + } +}