/** * Initializes ALC with the specified {@link FunctionProviderLocal}. This method can be used to implement custom ALC library loading. * * @param functionProvider the provider of ALC function addresses */ public static void create(FunctionProviderLocal functionProvider) { if (ALC.functionProvider != null) { throw new IllegalStateException("ALC has already been created."); } ALC.functionProvider = functionProvider; icd = new ALCCapabilities(functionProvider, NULL, Collections.emptySet()); AL.init(); }
alcDeviceResumeSOFT = provider.getFunctionAddress(device, "alcDeviceResumeSOFT"); OpenALC10 = ext.contains("OpenALC10") && checkExtension("OpenALC10", ALC10.isAvailable(this)); OpenALC11 = ext.contains("OpenALC11") && checkExtension("OpenALC11", ALC11.isAvailable(this)); ALC_ENUMERATE_ALL_EXT = ext.contains("ALC_ENUMERATE_ALL_EXT"); ALC_ENUMERATION_EXT = ext.contains("ALC_ENUMERATION_EXT"); ALC_EXT_CAPTURE = ext.contains("ALC_EXT_CAPTURE") && checkExtension("ALC_EXT_CAPTURE", EXTCapture.isAvailable(this)); ALC_EXT_DEDICATED = ext.contains("ALC_EXT_DEDICATED"); ALC_EXT_DEFAULT_FILTER_ORDER = ext.contains("ALC_EXT_DEFAULT_FILTER_ORDER"); ALC_EXT_disconnect = ext.contains("ALC_EXT_disconnect"); ALC_EXT_EFX = ext.contains("ALC_EXT_EFX"); 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)); ALC_SOFT_output_limiter = ext.contains("ALC_SOFT_output_limiter"); ALC_SOFT_pause_device = ext.contains("ALC_SOFT_pause_device") && checkExtension("ALC_SOFT_pause_device", SOFTPauseDevice.isAvailable(this));
return new ALCCapabilities(functionProvider, device, supportedExtensions);