summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xmake/joal-alc-CustomJavaCode.java4
-rwxr-xr-xmake/joal-alc-impl-CustomJavaCode.java12
2 files changed, 15 insertions, 1 deletions
diff --git a/make/joal-alc-CustomJavaCode.java b/make/joal-alc-CustomJavaCode.java
index 8efba6e..53696f4 100755
--- a/make/joal-alc-CustomJavaCode.java
+++ b/make/joal-alc-CustomJavaCode.java
@@ -4,3 +4,7 @@ public java.lang.String alcGetString(ALCdevice device, int param);
/** Fetches the names of the available ALC device specifiers.
Equivalent to the C call alcGetString(NULL, ALC_DEVICE_SPECIFIER). */
public java.lang.String[] alcGetDeviceSpecifiers();
+
+/** Fetches the names of the available ALC capture device specifiers.
+ Equivalent to the C call alcGetString(NULL, ALC_CAPTURE_DEVICE_SPECIFIER). */
+public java.lang.String[] alcGetCaptureDeviceSpecifiers();
diff --git a/make/joal-alc-impl-CustomJavaCode.java b/make/joal-alc-impl-CustomJavaCode.java
index a2f23c9..a9ec6ee 100755
--- a/make/joal-alc-impl-CustomJavaCode.java
+++ b/make/joal-alc-impl-CustomJavaCode.java
@@ -19,7 +19,17 @@ public java.lang.String alcGetString(ALCdevice device, int param) {
/** Fetches the names of the available ALC device specifiers.
Equivalent to the C call alcGetString(NULL, ALC_DEVICE_SPECIFIER). */
public java.lang.String[] alcGetDeviceSpecifiers() {
- ByteBuffer buf = alcGetStringImpl(null, ALC_DEVICE_SPECIFIER);
+ return getDoubleNullTerminatedString(ALC_DEVICE_SPECIFIER);
+}
+
+/** Fetches the names of the available ALC capture device specifiers.
+ Equivalent to the C call alcGetString(NULL, ALC_CAPTURE_DEVICE_SPECIFIER). */
+public java.lang.String[] alcGetCaptureDeviceSpecifiers() {
+ return getDoubleNullTerminatedString(ALC_CAPTURE_DEVICE_SPECIFIER);
+}
+
+private java.lang.String[] getDoubleNullTerminatedString(int which) {
+ ByteBuffer buf = alcGetStringImpl(null, which);
if (buf == null) {
return null;
}