All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.lwjgl.openal.SOFTSourceStartDelay Maven / Gradle / Ivy

Go to download

A cross-platform 3D audio API appropriate for use with gaming applications and many other types of audio applications.

The newest version!
/*
 * Copyright LWJGL. All rights reserved.
 * License terms: https://www.lwjgl.org/license
 * MACHINE GENERATED FILE, DO NOT EDIT
 */
package org.lwjgl.openal;

import java.nio.*;

import org.lwjgl.system.*;

import static org.lwjgl.system.Checks.*;
import static org.lwjgl.system.JNI.*;
import static org.lwjgl.system.MemoryUtil.*;

/**
 * Native bindings to the SOFT_source_start_delay extension.
 * 
 * 

This extension allows applications to play a source at a particular future time.

* *

With standard OpenAL, an application can play a source with the {@link AL10#alSourcePlay SourcePlay} or {@link AL10#alSourcePlayv SourcePlayv} functions which causes sources to start playing as soon * as possible, but the actual start time is left to the implementation to deal with (which could be on the next 10ms or 20ms boundary, or whenever the * mixer can start processing the source).

* *

Aside from {@code alSourcePlayv} starting all given sources in sync, there is no way to start playing sources at particular times relative to each * other, or synchronized to some specific time point.

* *

This extension adds functionality to start source playback at an absolute device clock time, as well as to start with a relative delay.

* *

Requires {@link SOFTDeviceClock SOFT_device_clock}.

*/ public class SOFTSourceStartDelay { protected SOFTSourceStartDelay() { throw new UnsupportedOperationException(); } // --- [ alSourcePlayAtTimeSOFT ] --- @NativeType("ALvoid") public static void alSourcePlayAtTimeSOFT(@NativeType("ALuint") int source, @NativeType("ALint64SOFT") long start_time) { long __functionAddress = AL.getICD().alSourcePlayAtTimeSOFT; if (CHECKS) { check(__functionAddress); } invokeJV(source, start_time, __functionAddress); } // --- [ alSourcePlayAtTimevSOFT ] --- public static void nalSourcePlayAtTimevSOFT(int n, long sources, long start_time) { long __functionAddress = AL.getICD().alSourcePlayAtTimevSOFT; if (CHECKS) { check(__functionAddress); } invokePJV(n, sources, start_time, __functionAddress); } @NativeType("ALvoid") public static void alSourcePlayAtTimevSOFT(@NativeType("ALuint const *") IntBuffer sources, @NativeType("ALint64SOFT") long start_time) { nalSourcePlayAtTimevSOFT(sources.remaining(), memAddress(sources), start_time); } /** Array version of: {@link #alSourcePlayAtTimevSOFT SourcePlayAtTimevSOFT} */ @NativeType("ALvoid") public static void alSourcePlayAtTimevSOFT(@NativeType("ALuint const *") int[] sources, @NativeType("ALint64SOFT") long start_time) { long __functionAddress = AL.getICD().alSourcePlayAtTimevSOFT; if (CHECKS) { check(__functionAddress); } invokePJV(sources.length, sources, start_time, __functionAddress); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy