JOAL v2.6.0-rc-20250712
JOAL, OpenAL® API Binding for Java™ (public API).
Source.java
Go to the documentation of this file.
1/**
2* Copyright (c) 2010-2023 JogAmp Community. All rights reserved.
3* Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved.
4*
5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met:
7*
8* -Redistribution of source code must retain the above copyright notice,
9* this list of conditions and the following disclaimer.
10*
11* -Redistribution in binary form must reproduce the above copyright notice,
12* this list of conditions and the following disclaimer in the documentation
13* and/or other materials provided with the distribution.
14*
15* Neither the name of Sun Microsystems, Inc. or the names of contributors may
16* be used to endorse or promote products derived from this software without
17* specific prior written permission.
18*
19* This software is provided "AS IS," without a warranty of any kind.
20* ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING
21* ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
22* NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS
23* LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A
24* RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
25* IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT
26* OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR
27* PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
28* ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS
29* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
30*
31* You acknowledge that this software is not designed or intended for use in the
32* design, construction, operation or maintenance of any nuclear facility.
33*/
34
35package com.jogamp.openal.sound3d;
36
37import com.jogamp.openal.ALConstants;
38import com.jogamp.openal.ALException;
39
40/**
41 * This class is used to represent sound-producing objects in the Sound3D
42 * environment. It contains methods for setting the position, direction, pitch,
43 * gain and other properties along with methods for starting, pausing, rewinding
44 * and stopping sudio projecting from a source.
45 *
46 * @author Athomas Goldberg, Sven Gothel, et al.
47 */
48public final class Source {
49 private int sourceID;
50 private Buffer buffer;
51
52 /** Create a new instance with an invalid OpenAL source ID */
53 public Source() {
54 sourceID = -1;
55 }
56
57 /**
58 * Create a new instance with a given OpenAL source ID
59 * @param sourceID an OpenAL source ID, pass -1 for an invalid value for lazy creation
60 */
61 public Source(final int sourceID) {
62 this.sourceID = sourceID;
63 }
64
65 /**
66 * Creates a new OpenAL source ID if {@link #isValid()} == false.
67 * @return true if a new ID has been successfully created, otherwise false
68 */
69 public boolean create() {
70 if( isValid() ) {
71 return false;
72 }
73 final int[] val = { -1 };
74 AudioSystem3D.al.alGenSources(1, val, 0);
75 if( 0 <= val[0] && AudioSystem3D.al.alIsSource(val[0]) ) {
76 sourceID = val[0];
77 return true;
78 } else {
79 sourceID = -1;
80 return false;
81 }
82 }
83
84 /** Return the OpenAL source ID, -1 if invalid. */
85 public int getID() { return sourceID; }
86
87 /** Returns whether {@link #getID()} is valid, i.e. not {@link #delete()}'ed */
88 public boolean isValid() {
89 return 0 <= sourceID && AudioSystem3D.al.alIsSource(sourceID);
90 }
91
92 /**
93 * Delete this source, freeing its resources.
94 */
95 public void delete() {
96 if( 0 <= sourceID ) {
97 final Buffer b = buffer;
98 stop();
99 if( null != b ) {
100 setBuffer(null); // buffer = null
101 }
102 AudioSystem3D.al.alDeleteSources(1, new int[] { sourceID }, 0);
103 if( null != b ) {
104 b.delete();
105 }
106 sourceID = -1;
107 } else if( null != buffer ) {
108 buffer.delete();
109 buffer = null;
110 }
111 }
112
113 /**
114 * Beginning playing the audio in this source.
115 */
116 public void play() {
117 AudioSystem3D.al.alSourcePlay(sourceID);
118 }
119
120 /**
121 * pauses the audio in this Source.
122 */
123 public void pause() {
124 AudioSystem3D.al.alSourcePause(sourceID);
125 }
126
127 /**
128 * Stops the audio in this Source
129 */
130 public void stop() {
131 AudioSystem3D.al.alSourceStop(sourceID);
132 }
133
134 /**
135 * Rewinds the audio in this source
136 */
137 public void rewind() {
138 AudioSystem3D.al.alSourceRewind(sourceID);
139 }
140
141 /**
142 * Determines whether or not this source is playing.
143 *
144 * @return {@code true} if this source is playing.
145 */
146 public boolean isPlaying() {
147 final int[] result = new int[1];
148 AudioSystem3D.al.alGetSourcei(sourceID, ALConstants.AL_SOURCE_STATE, result, 0);
149 return result[0] == ALConstants.AL_PLAYING;
150 }
151
152 /**
153 * Sets the pitch of the audio on this source. The pitch may be modified
154 * without altering the playback speed of the audio.
155 *
156 * @param pitch the pitch value of this source.
157 */
158 public void setPitch(final float pitch) {
159 AudioSystem3D.al.alSourcef(sourceID, ALConstants.AL_PITCH, pitch);
160 }
161
162 /**
163 * Gets the pitch of the audio on this source. The pitch may be modified
164 * without altering the playback speed of the audio.
165 *
166 * @return the pitch value of this source.
167 */
168 public float getPitch() {
169 final float[] result = new float[1];
170 AudioSystem3D.al.alGetSourcef(sourceID, ALConstants.AL_PITCH, result, 0);
171
172 return result[0];
173 }
174
175 /**
176 * Sets the gain of the audio on this source. This can be used to contro
177 * the volume of the source.
178 *
179 * @param gain the gain of the audio on this source
180 */
181 public void setGain(final float gain) {
182 AudioSystem3D.al.alSourcef(sourceID, ALConstants.AL_GAIN, gain);
183 }
184
185 /**
186 * Gets the gain of the audio on this source. This can be used to contro
187 * the volume of the source.
188 *
189 * @return the gain of the audio on this source
190 */
191 public float getGain() {
192 final float[] result = new float[1];
193 AudioSystem3D.al.alGetSourcef(sourceID, ALConstants.AL_GAIN, result, 0);
194
195 return result[0];
196 }
197
198 /**
199 * Sets the max distance where there will no longer be any attenuation of
200 * the source.
201 *
202 * @param maxDistance the max ditance for source attentuation.
203 */
204 public void setMaxDistance(final float maxDistance) {
205 AudioSystem3D.al.alSourcef(sourceID, ALConstants.AL_MAX_DISTANCE, maxDistance);
206 }
207
208 /**
209 * Gets the max distance where there will no longer be any attenuation of
210 * the source.
211 *
212 * @return the max ditance for source attentuation.
213 */
214 public float getMaxDistance() {
215 final float[] result = new float[1];
216 AudioSystem3D.al.alGetSourcef(sourceID, ALConstants.AL_MAX_DISTANCE, result, 0);
217
218 return result[0];
219 }
220
221 /**
222 * Sets the rolloff rate of the source. The default value is 1.0
223 *
224 * @param rolloffFactor the rolloff rate of the source.
225 */
226 public void setRolloffFactor(final float rolloffFactor) {
227 AudioSystem3D.al.alSourcef(sourceID, ALConstants.AL_ROLLOFF_FACTOR, rolloffFactor);
228 }
229
230 /**
231 * Gets the rolloff rate of the source. The default value is 1.0
232 *
233 * @return the rolloff rate of the source.
234 */
235 public float getRolloffFactor() {
236 final float[] result = new float[1];
238
239 return result[0];
240 }
241
242 /**
243 * Sets the distance under which the volume for the source would normally
244 * drop by half, before being influenced by rolloff factor or max distance.
245 *
246 * @param referenceDistance the reference distance for the source.
247 */
248 public void setReferenceDistance(final float referenceDistance) {
249 AudioSystem3D.al.alSourcef(sourceID, ALConstants.AL_REFERENCE_DISTANCE, referenceDistance);
250 }
251
252 /**
253 * Gets the distance under which the volume for the source would normally
254 * drop by half, before being influenced by rolloff factor or max distance.
255 *
256 * @return the reference distance for the source.
257 */
258 public float getReferenceDistance() {
259 final float[] result = new float[1];
261
262 return result[0];
263 }
264
265 /**
266 * Sets the minimum gain for this source.
267 *
268 * @param minGain the minimum gain for this source.
269 */
270 public void setMinGain(final float minGain) {
271 AudioSystem3D.al.alSourcef(sourceID, ALConstants.AL_MIN_GAIN, minGain);
272 }
273
274 /**
275 * Gets the minimum gain for this source.
276 *
277 * @return the minimum gain for this source.
278 */
279 public float getMinGain() {
280 final float[] result = new float[1];
281 AudioSystem3D.al.alGetSourcef(sourceID, ALConstants.AL_MIN_GAIN, result, 0);
282
283 return result[0];
284 }
285
286 /**
287 * Sets the maximum gain for this source.
288 *
289 * @param maxGain the maximum gain for this source
290 */
291 public void setMaxGain(final float maxGain) {
292 AudioSystem3D.al.alSourcef(sourceID, ALConstants.AL_MAX_GAIN, maxGain);
293 }
294
295 /**
296 * SGets the maximum gain for this source.
297 *
298 * @return the maximum gain for this source
299 */
300 public float getMaxGain() {
301 final float[] result = new float[1];
302 AudioSystem3D.al.alGetSourcef(sourceID, ALConstants.AL_MAX_GAIN, result, 0);
303
304 return result[0];
305 }
306
307 /**
308 * Sets the gain when outside the oriented cone.
309 *
310 * @param coneOuterGain the gain when outside the oriented cone.
311 */
312 public void setConeOuterGain(final float coneOuterGain) {
313 AudioSystem3D.al.alSourcef(sourceID, ALConstants.AL_CONE_OUTER_GAIN, coneOuterGain);
314 }
315
316 /**
317 * Gets the gain when outside the oriented cone.
318 *
319 * @return the gain when outside the oriented cone.
320 */
321 public float getConeOuterGain() {
322 final float[] result = new float[1];
324
325 return result[0];
326 }
327
328 /**
329 * Sets the x,y,z position of the source.
330 *
331 * @param position a Vec3f object containing the x,y,z position of the
332 * source.
333 */
334 public void setPosition(final Vec3f position) {
336 sourceID,
338 position.v1,
339 position.v2,
340 position.v3);
341 }
342
343 /**
344 * Sets the x,y,z position of the source.
345 *
346 * @param x the x position of the source.
347 * @param y the y position of the source.
348 * @param z the z position of the source.
349 */
350 public void setPosition(final float x, final float y, final float z) {
351 AudioSystem3D.al.alSource3f(sourceID, ALConstants.AL_POSITION, x, y, z);
352 }
353
354 /**
355 * Gets the x,y,z position of the source.
356 *
357 * @return a Vec3f object containing the x,y,z position of the
358 * source.
359 */
361 Vec3f result = null;
362 final float[] pos = new float[3];
364 result = new Vec3f(pos[0], pos[1], pos[2]);
365
366 return result;
367 }
368
369 /**
370 * Sets the velocity vector of the source.
371 *
372 * @param velocity the velocity vector of the source
373 */
374 public void setVelocity(final Vec3f velocity) {
376 sourceID,
378 velocity.v1,
379 velocity.v2,
380 velocity.v3);
381 }
382
383 /**
384 * Sets the velocity vector of the source.
385 *
386 * @param x the x velocity of the source.
387 * @param y the y velocity of the source.
388 * @param z the z velocity of the source.
389 */
390 public void setVelocity(final float x, final float y, final float z) {
391 AudioSystem3D.al.alSource3f(sourceID, ALConstants.AL_VELOCITY, x, y, z);
392 }
393
394 /**
395 * Gets the velocity vector of the source.
396 *
397 * @return the velocity vector of the source
398 */
400 Vec3f result = null;
401 final float[] vel = new float[3];
403 result = new Vec3f(vel[0], vel[1], vel[2]);
404
405 return result;
406 }
407
408 /**
409 * Sets the direction vector of the source.
410 *
411 * @param direction the direction vector of the source.
412 */
413 public void setDirection(final Vec3f direction) {
415 sourceID,
417 direction.v1,
418 direction.v2,
419 direction.v3);
420 }
421
422 /**
423 * Sets the direction vector of the source.
424 *
425 * @param x the x direction of the source.
426 * @param y the y direction of the source.
427 * @param z the z direction of the source.
428 */
429 public void setDirection(final float x, final float y, final float z) {
430 AudioSystem3D.al.alSource3f(sourceID, ALConstants.AL_DIRECTION, x, y, z);
431 }
432
433 /**
434 * Gets the direction vector of the source.
435 *
436 * @return the direction vector of the source.
437 */
439 Vec3f result = null;
440 final float[] dir = new float[3];
442 result = new Vec3f(dir[0], dir[1], dir[2]);
443
444 return result;
445 }
446
447 /**
448 * Determines if the position of the source is relative to the listener.
449 * The default is false.
450 * @param isRelative true if the position of the source is relative
451 * to the listener, false if the position of the source is relative to the
452 * world.
453 */
454 public void setSourceRelative(final boolean isRelative) {
455 final int rel = isRelative ? 1 : 0;
457 }
458
459 /**
460 * Determines if the position of the source is relative to the listener.
461 * The default is false.
462 * @return true if the position of the source is relative
463 * to the listener, false if the position of the source is relative to the
464 * world.
465 */
466 public boolean isSourceRelative() {
467 final int[] result = new int[1];
469
470 return result[0] == 1;
471 }
472
473 /**
474 * turns looping on or off.
475 *
476 * @param isLooping true-looping is on, false-looping is off
477 */
478 public void setLooping(final boolean isLooping) {
479 final int loop = isLooping ? 1 : 0;
480 AudioSystem3D.al.alSourcei(sourceID, ALConstants.AL_LOOPING, loop);
481 }
482
483 /**
484 * indicates whether looping is turned on or off.
485 *
486 * @return true-looping is on, false-looping is off
487 */
488 public boolean getLooping() {
489 final int[] tmp = new int[1];
490 AudioSystem3D.al.alGetSourcei(sourceID, ALConstants.AL_LOOPING, tmp, 0);
491 return tmp[0] == ALConstants.AL_TRUE;
492 }
493
494
495 /**
496 * Gets the number of buffers currently queued on this source.
497 * @return the number of buffers currently queued on this source.
498 * @throws ALException on AL error
499 */
500 public int getBuffersQueued() throws ALException {
501 final int[] result = new int[1];
503 AudioSystem3D.checkALError("Query AL_BUFFERS_QUEUED", true, true);
504 return result[0];
505 }
506
507 /**
508 * Gets the number of buffers already processed on this source.
509 * @return the number of buffers already processed on this source.
510 * @throws ALException on AL error
511 */
512 public int getBuffersProcessed() throws ALException {
513 final int[] result = new int[1];
515 AudioSystem3D.checkALError("Query AL_BUFFERS_PROCESSED", true, true);
516 return result[0];
517 }
518
519 /**
520 * Associates the buffer with this source if buffer is not null,
521 * otherwise disassociates the previously associated buffer from this source.
522 *
523 * @param buffer the buffer to be associated with this source if not null.
524 * If null, disassociates the current buffer from this source.
525 */
526 public void setBuffer(final Buffer buffer) {
527 if( null != buffer ) {
528 AudioSystem3D.al.alSourcei(sourceID, ALConstants.AL_BUFFER, buffer.getID());
529 } else {
531 }
532 this.buffer = buffer;
533 }
534
535 /**
536 * Gets the buffer associated with this source.
537 *
538 * @return the buffer associated with this source
539 */
540 public Buffer getBuffer() {
541 return buffer;
542 }
543
544 /**
545 * Queues one or more buffers on a source. Useful for streaming audio,
546 * buffers will be played in the order they are queued.
547 *
548 * @param buffers a set of initialized (loaded) buffers.
549 * @throws ALException on AL error
550 */
551 public void queueBuffers(final Buffer[] buffers) throws ALException {
552 final int numBuffers = buffers.length;
553 final int[] arr = new int[numBuffers];
554
555 for (int i = 0; i < numBuffers; i++) {
556 arr[i] = buffers[i].getID();
557 }
558 AudioSystem3D.al.alSourceQueueBuffers(sourceID, numBuffers, arr, 0);
559 AudioSystem3D.checkALError("alSourceQueueBuffers", true, true);
560 }
561
562 /**
563 * Queues `bufferIDs.length` OpenAL buffers on a source.
564 *
565 * @param bufferIDs array of to be queued OpenAL buffer IDs
566 * @throws ALException on AL error
567 */
568 public void queueBuffers(final int[] bufferIDs) throws ALException {
569 AudioSystem3D.al.alSourceQueueBuffers(sourceID, bufferIDs.length, bufferIDs, 0);
570 AudioSystem3D.checkALError("alSourceQueueBuffers", true, true);
571 }
572
573 /**
574 * Unqueues one or more buffers on a source.
575 *
576 * @param buffers a set of previously queued buffers.
577 * @throws ALException on AL error
578 */
579 public void unqueueBuffers(final Buffer[] buffers) throws ALException {
580 final int numBuffers = buffers.length;
581 final int[] arr = new int[numBuffers];
582
583 for (int i = 0; i < numBuffers; i++) {
584 arr[i] = buffers[i].getID();
585 }
586 AudioSystem3D.al.alSourceUnqueueBuffers(sourceID, numBuffers, arr, 0);
587 AudioSystem3D.checkALError("alSourceUnqueueBuffers", true, true);
588 }
589
590 /**
591 * Unqueues `bufferIDs.length` OpenAL buffers on a source.
592 *
593 * @param bufferIDs array of resulting unqueued OpenAL buffer IDs of previously queued buffers.
594 * @throws ALException on AL error
595 */
596 public void unqueueBuffers(final int[] bufferIDs) throws ALException {
597 AudioSystem3D.al.alSourceUnqueueBuffers(sourceID, bufferIDs.length, bufferIDs, 0);
598 AudioSystem3D.checkALError("alSourceUnqueueBuffers", true, true);
599 }
600
601 @Override
602 public String toString() {
603 return "ALSource[id "+sourceID+", buffer "+buffer+"]";
604 }
605}
A generic exception for OpenAL errors used throughout the binding as a substitute for RuntimeExceptio...
The AudioSystem3D class provides a set of methods for creating and manipulating a 3D audio environmen...
static boolean checkALError(final String prefix, final boolean verbose, final boolean throwException)
Returns true if an OpenAL AL error occurred, otherwise false.
The Sound3D Buffer is a container for audio data used in the Sound3D environment.
Definition: Buffer.java:48
void delete()
Delete this buffer, and free its resources.
Definition: Buffer.java:75
int getID()
Return the OpenAL buffer ID, -1 if invalid.
Definition: Buffer.java:65
This class is used to represent sound-producing objects in the Sound3D environment.
Definition: Source.java:48
boolean isValid()
Returns whether getID() is valid, i.e.
Definition: Source.java:88
void unqueueBuffers(final int[] bufferIDs)
Unqueues bufferIDs.length OpenAL buffers on a source.
Definition: Source.java:596
Vec3f getPosition()
Gets the x,y,z position of the source.
Definition: Source.java:360
Vec3f getVelocity()
Gets the velocity vector of the source.
Definition: Source.java:399
float getMaxGain()
SGets the maximum gain for this source.
Definition: Source.java:300
Source(final int sourceID)
Create a new instance with a given OpenAL source ID.
Definition: Source.java:61
void rewind()
Rewinds the audio in this source.
Definition: Source.java:137
int getBuffersProcessed()
Gets the number of buffers already processed on this source.
Definition: Source.java:512
void queueBuffers(final int[] bufferIDs)
Queues bufferIDs.length OpenAL buffers on a source.
Definition: Source.java:568
void unqueueBuffers(final Buffer[] buffers)
Unqueues one or more buffers on a source.
Definition: Source.java:579
Source()
Create a new instance with an invalid OpenAL source ID.
Definition: Source.java:53
float getPitch()
Gets the pitch of the audio on this source.
Definition: Source.java:168
void setPitch(final float pitch)
Sets the pitch of the audio on this source.
Definition: Source.java:158
boolean create()
Creates a new OpenAL source ID if isValid() == false.
Definition: Source.java:69
float getMinGain()
Gets the minimum gain for this source.
Definition: Source.java:279
void setConeOuterGain(final float coneOuterGain)
Sets the gain when outside the oriented cone.
Definition: Source.java:312
float getGain()
Gets the gain of the audio on this source.
Definition: Source.java:191
float getMaxDistance()
Gets the max distance where there will no longer be any attenuation of the source.
Definition: Source.java:214
void stop()
Stops the audio in this Source.
Definition: Source.java:130
void setMaxGain(final float maxGain)
Sets the maximum gain for this source.
Definition: Source.java:291
void delete()
Delete this source, freeing its resources.
Definition: Source.java:95
void setSourceRelative(final boolean isRelative)
Determines if the position of the source is relative to the listener.
Definition: Source.java:454
boolean isPlaying()
Determines whether or not this source is playing.
Definition: Source.java:146
void setGain(final float gain)
Sets the gain of the audio on this source.
Definition: Source.java:181
void setVelocity(final Vec3f velocity)
Sets the velocity vector of the source.
Definition: Source.java:374
Vec3f getDirection()
Gets the direction vector of the source.
Definition: Source.java:438
void setMaxDistance(final float maxDistance)
Sets the max distance where there will no longer be any attenuation of the source.
Definition: Source.java:204
void setRolloffFactor(final float rolloffFactor)
Sets the rolloff rate of the source.
Definition: Source.java:226
float getReferenceDistance()
Gets the distance under which the volume for the source would normally drop by half,...
Definition: Source.java:258
float getConeOuterGain()
Gets the gain when outside the oriented cone.
Definition: Source.java:321
boolean isSourceRelative()
Determines if the position of the source is relative to the listener.
Definition: Source.java:466
int getBuffersQueued()
Gets the number of buffers currently queued on this source.
Definition: Source.java:500
void setVelocity(final float x, final float y, final float z)
Sets the velocity vector of the source.
Definition: Source.java:390
void pause()
pauses the audio in this Source.
Definition: Source.java:123
float getRolloffFactor()
Gets the rolloff rate of the source.
Definition: Source.java:235
int getID()
Return the OpenAL source ID, -1 if invalid.
Definition: Source.java:85
void play()
Beginning playing the audio in this source.
Definition: Source.java:116
void setPosition(final float x, final float y, final float z)
Sets the x,y,z position of the source.
Definition: Source.java:350
void queueBuffers(final Buffer[] buffers)
Queues one or more buffers on a source.
Definition: Source.java:551
void setPosition(final Vec3f position)
Sets the x,y,z position of the source.
Definition: Source.java:334
void setReferenceDistance(final float referenceDistance)
Sets the distance under which the volume for the source would normally drop by half,...
Definition: Source.java:248
void setLooping(final boolean isLooping)
turns looping on or off.
Definition: Source.java:478
void setBuffer(final Buffer buffer)
Associates the buffer with this source if buffer is not null, otherwise disassociates the previously ...
Definition: Source.java:526
boolean getLooping()
indicates whether looping is turned on or off.
Definition: Source.java:488
void setMinGain(final float minGain)
Sets the minimum gain for this source.
Definition: Source.java:270
Buffer getBuffer()
Gets the buffer associated with this source.
Definition: Source.java:540
void setDirection(final Vec3f direction)
Sets the direction vector of the source.
Definition: Source.java:413
void setDirection(final float x, final float y, final float z)
Sets the direction vector of the source.
Definition: Source.java:429
A convenience class representing a 3-element float vector.
Definition: Vec3f.java:42
final float v3
the first element in the vector
Definition: Vec3f.java:50
final float v2
the first element in the vector
Definition: Vec3f.java:47
final float v1
the first element in the vector
Definition: Vec3f.java:44
static final int AL_BUFFERS_PROCESSED
Define "AL_BUFFERS_PROCESSED" with expression '0x1016', CType: int.
static final int AL_MAX_GAIN
Define "AL_MAX_GAIN" with expression '0x100E', CType: int.
static final int AL_BUFFER
Define "AL_BUFFER" with expression '0x1009', CType: int.
static final int AL_PITCH
Define "AL_PITCH" with expression '0x1003', CType: int.
static final int AL_MAX_DISTANCE
Define "AL_MAX_DISTANCE" with expression '0x1023', CType: int.
static final int AL_PLAYING
Define "AL_PLAYING" with expression '0x1012', CType: int.
static final int AL_TRUE
Define "AL_TRUE" with expression '1', CType: int.
static final int AL_MIN_GAIN
Define "AL_MIN_GAIN" with expression '0x100D', CType: int.
static final int AL_REFERENCE_DISTANCE
Define "AL_REFERENCE_DISTANCE" with expression '0x1020', CType: int.
static final int AL_LOOPING
Define "AL_LOOPING" with expression '0x1007', CType: int.
static final int AL_GAIN
Define "AL_GAIN" with expression '0x100A', CType: int.
static final int AL_BUFFERS_QUEUED
Define "AL_BUFFERS_QUEUED" with expression '0x1015', CType: int.
static final int AL_VELOCITY
Define "AL_VELOCITY" with expression '0x1006', CType: int.
static final int AL_SOURCE_RELATIVE
Define "AL_SOURCE_RELATIVE" with expression '0x202', CType: int.
static final int AL_ROLLOFF_FACTOR
Define "AL_ROLLOFF_FACTOR" with expression '0x1021', CType: int.
static final int AL_SOURCE_STATE
Define "AL_SOURCE_STATE" with expression '0x1010', CType: int.
static final int AL_CONE_OUTER_GAIN
Define "AL_CONE_OUTER_GAIN" with expression '0x1022', CType: int.
static final int AL_DIRECTION
Define "AL_DIRECTION" with expression '0x1005', CType: int.
static final int AL_POSITION
Define "AL_POSITION" with expression '0x1004', CType: int.
void alSourcef(int source, int param, float value)
Entry point (through function pointer) to C language function: void alSourcef(ALuint source,...
void alSourcePause(int source)
Entry point (through function pointer) to C language function: void alSourcePause(ALuint source)
void alSource3f(int source, int param, float value1, float value2, float value3)
Entry point (through function pointer) to C language function: void alSource3f(ALuint source,...
void alGetSourcefv(int source, int param, FloatBuffer values)
Entry point (through function pointer) to C language function: void alGetSourcefv(ALuint source,...
void alDeleteSources(int n, IntBuffer sources)
Entry point (through function pointer) to C language function: void alDeleteSources(ALsizei n,...
void alSourcePlay(int source)
Entry point (through function pointer) to C language function: void alSourcePlay(ALuint source)
void alGetSourcei(int source, int param, IntBuffer value)
Entry point (through function pointer) to C language function: void alGetSourcei(ALuint source,...
void alSourcei(int source, int param, int value)
Entry point (through function pointer) to C language function: void alSourcei(ALuint source,...
void alGetSourcef(int source, int param, FloatBuffer value)
Entry point (through function pointer) to C language function: void alGetSourcef(ALuint source,...
void alSourceRewind(int source)
Entry point (through function pointer) to C language function: void alSourceRewind(ALuint source)
void alSourceUnqueueBuffers(int source, int nb, IntBuffer buffers)
Entry point (through function pointer) to C language function: void alSourceUnqueueBuffers(ALuint s...
void alGenSources(int n, IntBuffer sources)
Entry point (through function pointer) to C language function: void alGenSources(ALsizei n,...
boolean alIsSource(int source)
Entry point (through function pointer) to C language function: ALboolean alIsSource(ALuint source)
void alSourceStop(int source)
Entry point (through function pointer) to C language function: void alSourceStop(ALuint source)
void alSourceQueueBuffers(int source, int nb, IntBuffer buffers)
Entry point (through function pointer) to C language function: void alSourceQueueBuffers(ALuint sou...