Skip to content
Success

Changes

Summary

  1. Promote ALAudioSink from JOGL to JOAL (Common av classes reside in GlueGen, see gluegen commit 270172bcbd91f96d4a38a3d73e23d744f57a25b8) (details)
  2. JoalVersion: Accept null ALC instance (details)
  3. OpenALTest: Drop nonsense LOOPING test on buffer (only applies to a source) (details)
  4. Manual Demos: Add two simple sine wave synthesizer, Synth02AL may be enhanced to a general synth solution (details)
  5. ALAudioSink: Add exclusive locking allowing less context management overhead (details)
  6. ALAudioSink.dequeueBuffer(): wait == true: Fix sleep cycle and use sleep(1) if slept long enough but giving better threading perf for openal-soft (details)
  7. ALAudioSink.toString(): Show hasALC_thread_local_context value ('tlc') (details)
  8. make/scripts/tests.sh: Adjust D_ARGS and add X_ARGS for optional FlightRecorder (details)
  9. ALAudioSink: Enhance using AL_EXT_MCFORMATS (max channels == 8), AL_EXT_FLOAT32, AL_EXT_DOUBLE (details)
  10. README/index.html: Update Web resources & URLs, add details about audio-backens per platform and contained openal-soft library (details)
  11. Synth02AL: Fix API doc re reduces latency (details)
  12. ALAudioSink: Promote to public, be fully functional regarding AudioFormat and OpenAL paremeter. Can be 'plugged' into existing OpenAL logic. (details)
  13. Doc, scripsts/tests.sh: Mentione OpenAL-Soft environment variables (details)
  14. ALAudioSink: Don'e check errors before context; Track method of context-locking and release same way; Destroy shall also release context. (details)
  15. Sound3D: Make all OO wrapper fully transparent and stand-alone, allow mix-and-match; Align Context makeCurrent/release w/ ALAudioSink ... (details)
  16. Sound3D/Context: Use same base ctor to initialize `hasALC_thread_local_context`, benefitting from thread-local-context (details)
  17. ALAudioSink.lockContext(): Only check error state if AL makeContextCurrent()/alcSetThreadContext() fails (returns false) (details)
  18. JoalVersion: List all devices, output devices w/ latency and source count (mono, stereo) using undocumented queries (details)
  19. ALAudioSink: Query latency and re-create context @ init w/ latency (refresh-rate) if frameDuration < defaultLatency (details)
  20. Demos OpenALTest/Synth02AL: Show JoalVersion (details)
  21. JoalVersion: Cleanup dead branches (details)
  22. ALAudioSink: Add getSourceCount() and cleanup error handling and initImpl() locking and exit. (details)
  23. Synth02ALL Use float32 (native openal-soft format) if available (details)
  24. README.{txt -> md) and update text incl. license (details)
  25. ALAudioSink.toString(): Allow null==chosenFormat (pre init string representation) (details)
  26. Synth02AL: Use ALAudioSink's default latency instead of fixed frameDuration, using actual OpenAL frame processing refresh value (details)
  27. build.xml: Fix 7z archive: README.{txt -> md} (details)
Commit 03f4bb63ce8a358b1c2ef303480e1887d72ecb2e by Sven Gothel
Promote ALAudioSink from JOGL to JOAL (Common av classes reside in GlueGen, see gluegen commit 270172bcbd91f96d4a38a3d73e23d744f57a25b8)
The file was addedsrc/java/jogamp/openal/util/ALAudioSink.java (diff)
Commit 00fded51c28a97a463598ca1dc49f042a05bd3f9 by Sven Gothel
JoalVersion: Accept null ALC instance
The file was modifiedsrc/java/com/jogamp/openal/JoalVersion.java (diff)
Commit 2edee76a2c175719e37548d8627dd4b141c39919 by Sven Gothel
OpenALTest: Drop nonsense LOOPING test on buffer (only applies to a source)
The file was modifiedsrc/test/com/jogamp/openal/test/manual/OpenALTest.java (diff)
Commit 1e9e8d108467902b7753c6910f5d1390dbf32edb by Sven Gothel
Manual Demos: Add two simple sine wave synthesizer, Synth02AL may be enhanced to a general synth solution
The file was addedsrc/test/com/jogamp/openal/test/manual/Synth01AL.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/test/com/jogamp/openal/test/manual/Synth02AL.java (diff)
Commit e7f6807d42d9821e42ee4f8ae3ce9fd8ef2d4e31 by Sven Gothel
ALAudioSink: Add exclusive locking allowing less context management overhead
The file was modifiedsrc/java/jogamp/openal/util/ALAudioSink.java (diff)
Commit f1f21406540f74a2d002b11ed039eb8dcf4ff64f by Sven Gothel
ALAudioSink.dequeueBuffer(): wait == true: Fix sleep cycle and use sleep(1) if slept long enough but giving better threading perf for openal-soft

This with exclusive context gives us no distortion at 3x 12ms frames,
reduced from 3x 16ms. See Synth02AL.
The file was modifiedsrc/java/jogamp/openal/util/ALAudioSink.java (diff)
The file was modifiedsrc/test/com/jogamp/openal/test/manual/Synth02AL.java (diff)
Commit fa18fe0eac1e454f7543fb5934aa9dc630df6573 by Sven Gothel
ALAudioSink.toString(): Show hasALC_thread_local_context value ('tlc')
The file was modifiedsrc/java/jogamp/openal/util/ALAudioSink.java (diff)
Commit b2b90538c2727709da4ed4efde84268700e2b7f8 by Sven Gothel
make/scripts/tests.sh: Adjust D_ARGS and add X_ARGS for optional FlightRecorder
The file was modifiedmake/scripts/tests.sh (diff)
Commit 518ae3b1432f43ea6659f0622536fb2135eec9fa by Sven Gothel
ALAudioSink: Enhance using AL_EXT_MCFORMATS (max channels == 8), AL_EXT_FLOAT32, AL_EXT_DOUBLE

Note: AL_SOFT_buffer_samples is n/a since openal-soft 1.18.0

ALHelpers.getALFormat(..) uses cached booleans for optionally used available extensions.

Add DEBUG output for ALAudioSink.init() and ALAudioSink.isSupported(),
allowing to track supported and used formats.
The file was modifiedsrc/java/com/jogamp/openal/util/ALHelpers.java (diff)
The file was modifiedsrc/java/jogamp/openal/util/ALAudioSink.java (diff)
Commit c572424330af380b4b087ae9318be6db5f0252d7 by Sven Gothel
README/index.html: Update Web resources & URLs, add details about audio-backens per platform and contained openal-soft library
The file was modifiedwww/index.html (diff)
The file was modifiedREADME.txt (diff)
Commit 5320233de825b5e3c2131c9303ef94990a40fcb4 by Sven Gothel
Synth02AL: Fix API doc re reduces latency
The file was modifiedsrc/test/com/jogamp/openal/test/manual/Synth02AL.java (diff)
Commit d5daaaab3544d9af49056f57a1fcf53abef17deb by Sven Gothel
ALAudioSink: Promote to public, be fully functional regarding AudioFormat and OpenAL paremeter. Can be 'plugged' into existing OpenAL logic.
The file was addedsrc/java/com/jogamp/openal/util/ALAudioSink.java (diff)
The file was removedsrc/java/jogamp/openal/util/ALAudioSink.java (diff)
The file was modifiedsrc/test/com/jogamp/openal/test/manual/Synth02AL.java (diff)
The file was modifiedsrc/java/com/jogamp/openal/util/ALHelpers.java (diff)
Commit 869d2eb0ff78bd2bdfafbc8778c9fd38dd991b34 by Sven Gothel
Doc, scripsts/tests.sh: Mentione OpenAL-Soft environment variables
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedwww/index.html (diff)
Commit 2e800ac4277d6234cb9dba2afe01a4d8c75fc989 by Sven Gothel
ALAudioSink: Don'e check errors before context; Track method of context-locking and release same way; Destroy shall also release context.

Result is 'ALSOFT(WW)' free.
The file was modifiedsrc/java/com/jogamp/openal/util/ALAudioSink.java (diff)
Commit 7f73d50c90d05cf7388f23977ca956a4933019ad by Sven Gothel
Sound3D: Make all OO wrapper fully transparent and stand-alone, allow mix-and-match; Align Context makeCurrent/release w/ ALAudioSink ...

Align Context makeCurrent/release w/ ALAudioSink
- use ALC_EXT_thread_local_context if available
- use a recursive lock
- same release method as makeCurrent
  - ALC_EXT_thread_local_context or traditional
- destroy also releases the context and fully unwinds lock
The file was modifiedsrc/test/com/jogamp/openal/test/manual/Sound3DTest.java (diff)
The file was modifiedsrc/java/com/jogamp/openal/sound3d/Vec3f.java (diff)
The file was modifiedsrc/java/com/jogamp/openal/sound3d/Context.java (diff)
The file was modifiedsrc/java/com/jogamp/openal/sound3d/Buffer.java (diff)
The file was modifiedsrc/java/com/jogamp/openal/sound3d/Device.java (diff)
The file was modifiedsrc/java/com/jogamp/openal/sound3d/AudioSystem3D.java (diff)
The file was modifiedsrc/java/com/jogamp/openal/sound3d/Listener.java (diff)
The file was modifiedsrc/java/com/jogamp/openal/sound3d/Source.java (diff)
Commit 64b40bd4359cad46ebf62751ea342d80205bd98b by Sven Gothel
Sound3D/Context: Use same base ctor to initialize `hasALC_thread_local_context`, benefitting from thread-local-context
The file was modifiedsrc/java/com/jogamp/openal/sound3d/Context.java (diff)
The file was modifiedsrc/test/com/jogamp/openal/test/manual/Sound3DTest.java (diff)
Commit b9d73b0d8d8384c19b3827cb2fc270d6d5ed6578 by Sven Gothel
ALAudioSink.lockContext(): Only check error state if AL makeContextCurrent()/alcSetThreadContext() fails (returns false)
The file was modifiedsrc/java/com/jogamp/openal/util/ALAudioSink.java (diff)
Commit 6bfeb7c338f2ffbcc0b4b82c2a3e84f32c783fe3 by Sven Gothel
JoalVersion: List all devices, output devices w/ latency and source count (mono, stereo) using undocumented queries
The file was modifiedsrc/java/com/jogamp/openal/JoalVersion.java (diff)
Commit 25b56116accbe68f4de2fb26213cc16df80abad1 by Sven Gothel
ALAudioSink: Query latency and re-create context @ init w/ latency (refresh-rate) if frameDuration < defaultLatency
The file was modifiedsrc/java/com/jogamp/openal/util/ALAudioSink.java (diff)
Commit 55caa3fb79352f85d52804bcf354c66e85a05071 by Sven Gothel
Demos OpenALTest/Synth02AL: Show JoalVersion
The file was modifiedsrc/test/com/jogamp/openal/test/manual/OpenALTest.java (diff)
The file was modifiedsrc/test/com/jogamp/openal/test/manual/Synth02AL.java (diff)
Commit dc6c3901e345c72ec028cc06952e3e243067f949 by Sven Gothel
JoalVersion: Cleanup dead branches
The file was modifiedwww/index.html (diff)
The file was modifiedsrc/java/com/jogamp/openal/JoalVersion.java (diff)
Commit 4d9f6bd4a65d2ab60c32502e90d43cb3bcb10d45 by Sven Gothel
ALAudioSink: Add getSourceCount() and cleanup error handling and initImpl() locking and exit.

initImpl() shall just return false, not throwing an exception.
The file was modifiedsrc/java/com/jogamp/openal/util/ALAudioSink.java (diff)
Commit 5df104b34e3d299bdcfe3827121b4f9e9cc64229 by Sven Gothel
Synth02ALL Use float32 (native openal-soft format) if available
The file was modifiedsrc/test/com/jogamp/openal/test/manual/Synth02AL.java (diff)
Commit 4610f9a65a0527d5a03614a052a72373d2315a7d by Sven Gothel
README.{txt -> md) and update text incl. license
The file was modifiedLICENSE.txt (diff)
The file was removedREADME.txt (diff)
The file was addedREADME.md (diff)
Commit cac165073439beac80088a8b1aacbb53cf7c321d by Sven Gothel
ALAudioSink.toString(): Allow null==chosenFormat (pre init string representation)
The file was modifiedsrc/java/com/jogamp/openal/util/ALAudioSink.java (diff)
Commit 4fffef2ca42494526254029279b56016efe176f6 by Sven Gothel
Synth02AL: Use ALAudioSink's default latency instead of fixed frameDuration, using actual OpenAL frame processing refresh value

Also pre-allocate sampleBuffer to 30ms actual format, using AudioFormat.getDurationsByteSize(..)
The file was modifiedsrc/test/com/jogamp/openal/test/manual/Synth02AL.java (diff)
Commit 72b08cf8fbf51c1467975b9e1213e38a2c7a9516 by Sven Gothel
build.xml: Fix 7z archive: README.{txt -> md}
The file was modifiedmake/build.xml (diff)