/** * Accepts all the same {@link AL10#alGetIntegerv GetIntegerv} queries, in addition to some new ones. * * <p>Note that the size parameter is the number of {@code ALCint64SOFT} elements in the buffer provided, not the number of bytes.</p> * * @param pname <table class=striped> * <tr><td>{@link #ALC_DEVICE_CLOCK_SOFT DEVICE_CLOCK_SOFT}</td><td>The audio device clock time, expressed in nanoseconds. {@code NULL} is an invalid device.</td></tr> * <tr><td>{@link #ALC_DEVICE_LATENCY_SOFT DEVICE_LATENCY_SOFT}</td><td>The current audio device latency, in nanoseconds. This is effectively the delay for the samples rendered at the the device's current * clock time fromreaching the physical output. {@code NULL} is an invalid device.</td></tr> * <tr><td>{@link #ALC_DEVICE_CLOCK_LATENCY_SOFT DEVICE_CLOCK_LATENCY_SOFT}</td><td>Expects a destination size of 2, and provides both the audio device clock time and latency, both in nanoseconds. The two values are * measured atomically with respect to one another (i.e. the latency value was measured at the same time the device clock value was * retrieved). {@code NULL} is an invalid device.</td></tr> * </table> */ @NativeType("ALCvoid") public static void alcGetInteger64vSOFT(@NativeType("ALCdevice *") long device, @NativeType("ALCenum") int pname, @NativeType("ALCint64SOFT *") LongBuffer values) { nalcGetInteger64vSOFT(device, pname, values.remaining(), memAddress(values)); }
ALC_EXT_thread_local_context = ext.contains("ALC_EXT_thread_local_context") && checkExtension("ALC_EXT_thread_local_context", EXTThreadLocalContext.isAvailable(this)); ALC_LOKI_audio_channel = ext.contains("ALC_LOKI_audio_channel"); ALC_SOFT_device_clock = ext.contains("ALC_SOFT_device_clock") && checkExtension("ALC_SOFT_device_clock", SOFTDeviceClock.isAvailable(this)); ALC_SOFT_HRTF = ext.contains("ALC_SOFT_HRTF") && checkExtension("ALC_SOFT_HRTF", SOFTHRTF.isAvailable(this)); ALC_SOFT_loopback = ext.contains("ALC_SOFT_loopback") && checkExtension("ALC_SOFT_loopback", SOFTLoopback.isAvailable(this));
/** * Accepts all the same {@link AL10#alGetIntegerv GetIntegerv} queries, in addition to some new ones. * * <p>Note that the size parameter is the number of {@code ALCint64SOFT} elements in the buffer provided, not the number of bytes.</p> * * @param pname <table class=striped> * <tr><td>{@link #ALC_DEVICE_CLOCK_SOFT DEVICE_CLOCK_SOFT}</td><td>The audio device clock time, expressed in nanoseconds. {@code NULL} is an invalid device.</td></tr> * <tr><td>{@link #ALC_DEVICE_LATENCY_SOFT DEVICE_LATENCY_SOFT}</td><td>The current audio device latency, in nanoseconds. This is effectively the delay for the samples rendered at the the device's current * clock time fromreaching the physical output. {@code NULL} is an invalid device.</td></tr> * <tr><td>{@link #ALC_DEVICE_CLOCK_LATENCY_SOFT DEVICE_CLOCK_LATENCY_SOFT}</td><td>Expects a destination size of 2, and provides both the audio device clock time and latency, both in nanoseconds. The two values are * measured atomically with respect to one another (i.e. the latency value was measured at the same time the device clock value was * retrieved). {@code NULL} is an invalid device.</td></tr> * </table> */ @NativeType("ALCvoid") public static long alcGetInteger64vSOFT(@NativeType("ALCdevice *") long device, @NativeType("ALCenum") int pname) { MemoryStack stack = stackGet(); int stackPointer = stack.getPointer(); try { LongBuffer values = stack.callocLong(1); nalcGetInteger64vSOFT(device, pname, 1, memAddress(values)); return values.get(0); } finally { stack.setPointer(stackPointer); } }