aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Sound3D/Context: Use same base ctor to initialize ↵Sven Gothel2023-05-182-3/+2
| | | | `hasALC_thread_local_context`, benefitting from thread-local-context
* Sound3D: Make all OO wrapper fully transparent and stand-alone, allow ↵Sven Gothel2023-05-188-154/+330
| | | | | | | | | | | 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
* ALAudioSink: Don'e check errors before context; Track method of ↵Sven Gothel2023-05-181-4/+11
| | | | | | context-locking and release same way; Destroy shall also release context. Result is 'ALSOFT(WW)' free.
* ALAudioSink: Promote to public, be fully functional regarding AudioFormat ↵Sven Gothel2023-05-183-104/+390
| | | | and OpenAL paremeter. Can be 'plugged' into existing OpenAL logic.
* Synth02AL: Fix API doc re reduces latencySven Gothel2023-05-171-2/+2
|
* ALAudioSink: Enhance using AL_EXT_MCFORMATS (max channels == 8), ↵Sven Gothel2023-05-172-11/+67
| | | | | | | | | | | 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.
* ALAudioSink.toString(): Show hasALC_thread_local_context value ('tlc')Sven Gothel2023-05-171-1/+1
|
* ALAudioSink.dequeueBuffer(): wait == true: Fix sleep cycle and use sleep(1) ↵Sven Gothel2023-05-172-28/+68
| | | | | | | 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.
* ALAudioSink: Add exclusive locking allowing less context management overheadSven Gothel2023-05-171-0/+23
|
* Manual Demos: Add two simple sine wave synthesizer, Synth02AL may be ↵Sven Gothel2023-05-172-0/+683
| | | | enhanced to a general synth solution
* OpenALTest: Drop nonsense LOOPING test on buffer (only applies to a source)Sven Gothel2023-05-171-4/+0
|
* JoalVersion: Accept null ALC instanceSven Gothel2023-05-171-0/+4
|
* Promote ALAudioSink from JOGL to JOAL (Common av classes reside in GlueGen, ↵Sven Gothel2023-05-171-0/+1013
| | | | see gluegen commit 270172bcbd91f96d4a38a3d73e23d744f57a25b8)
* Add ALVersion, i.e. retrieve vendor, renderer, version and vendor-version. ↵Sven Gothel2023-05-044-14/+302
| | | | Test against OpenAL-Soft data >= 1.23.0
* Windows: Drop using soft_oal.dll blobs, use own bundled openal-soft instead.Sven Gothel2023-05-041-2/+3
| | | | Note: This requires mingw-w64 w/ posix-threads to allow using C++ std::mutex etc.
* Fix Bug 1280: WAVData.loadFromStream(..) *API Change*: Only take expected ↵Sven Gothel2023-05-044-16/+12
| | | | | | | | | | byteCount (2nd arg) using IOUtil.copyStreamChunk2ByteBuffer(..) This fix is inspired by Bug 1280, <https://github.com/sgothel/joal/pull/16>, 'copy only needed bytes' for JOAL's com.jogamp.openal.util.WAVData.loadFromStream(..). This GlueGen IOUtil.copyStreamChunk2ByteBuffer() method is a revised version of the proposed IOHelpers.copyFromStream2ByteBuffer(..), see <https://github.com/OndrejSpanel/joal/commit/1616659e98904270af4faca25b770d0983609735>
* Replace AccessController.doPrivileged() w/ SecurityUtil.doPrivileged()Sven Gothel2023-01-142-5/+4
|
* Bug 1367: Adapt to TempFileCache & TempJarCache ChangesSven Gothel2019-04-031-1/+1
|
* Ensure that only the size of sample data chunk is loaded, rather than entire ↵Matthew Harris2016-01-064-10/+15
| | | | remaining buffer. Copes with WAV files that have metadata appended to the end after the data RIFF chunk.
* Bug 1270 - Fix OSX El Capitan 10.11 stuttering ; Prefer provided OpenAL ↵Sven Gothel2015-11-151-6/+11
| | | | | | | | | | | | | | | | | | library over system (default) Default is to utilize provided openal-soft library if possible and if not overridden by property 'joal.openal.lib'. Hence returning ALFactory.PREFER_SYSTEM_OPENAL (default: false) in ALDynamicLibraryBundleInfo.searchToolLibSystemPathFirst(). +++ This also resolves issues w/ OSX El Capitan 10.11, which provides OpenAL via 'openal' library name (same as openal-soft) and causes stuttering w/ GLMediaPlayer's ALAudioSink! +++
* Bug 1237: Adopt GlueGen's clarification of IOUtil.getResource(..), commit ↵v2.3.2Sven Gothel2015-10-031-1/+1
| | | | d78bb1be0a6290cb94918b21865a023c01825048
* WAVLoader: Adopt to GlueGen's Bitstream commit ↵Sven Gothel2015-01-281-11/+11
| | | | 9e13e8c78ed69bb7afcd49abe8bf69340dc06223
* Bug 1024: Add fallback for native-jar-file location via classpathv2.2.0Sven Gothel2014-07-112-34/+22
| | | | Adapt to GlueGen commit f5c48efcf546ba4e08e197ccced6df83b57e1755
* Bug 1023, Bug 1024: Adapt to GlueGen commit ↵Sven Gothel2014-07-051-1/+1
| | | | 46faa59d439ef235d7691fc64d56eedc600ffa1a
* Code Clean-Up based on our Recommended Settings (jogamp-scripting ↵Sven Gothel2014-07-0332-590/+602
| | | | | | | | | | | | | c47bc86ae2ee268a1f38c5580d11f93d7f8d6e74) - Change non static accesses to static members using declaring type - Change indirect accesses to static members to direct accesses (accesses through subtypes) - Add final modifier to private fields - Add final modifier to method parameters - Add final modifier to local variables - Remove unnecessary casts - Remove unnecessary '$NON-NLS$' tags - Remove trailing white spaces on all lines
* Adapt to GlueGen commit c3054a01990e55ab35756ea23ab7d7c05f24dd37 (compount ↵Sven Gothel2014-06-171-15/+15
| | | | call-by-value extension)
* ALFactory.PREFER_SYSTEM_OPENAL: Defaults to false for all platforms (i.e. ↵Sven Gothel2014-06-101-15/+15
| | | | Use openal-soft on OSX as well now)
* Fix ALExtLoopbackDeviceSOFTTestv2.1.5Sven Gothel2014-02-221-67/+186
| | | | | | | | | | | | - Use max 4k to test - Remove redundant default device/context - Add AL source and assign buffer - issue buffer play - Only fail if certain accuracy is not met - Stereo 0.8 (passes w/ ~ 0.9) - Mono 0.4 !!! FIXME !!! (Only passes w/ ~ 0.49) Tests are passing, however - have to check the MONO case.
* Tests: Add UITestCase unit test super class (print start/end, singletion ↵Sven Gothel2014-02-223-4/+163
| | | | test); Add @FixMethodOrder(MethodSorters.NAME_ASCENDING)
* ALExtLoopbackDeviceSOFTTest: Remove ↵Sven Gothel2014-02-211-8/+7
| | | | javax.sound.sampled.UnsupportedAudioFileException dependency
* WAVLoader: Use Bitstream and support big-endian RIFX; Fix ALutWAVLoaderTestSven Gothel2014-02-213-122/+96
|
* Add support for clangSven Gothel2013-09-131-0/+1
|
* ALHelpers: Shorten returned string representationsSven Gothel2013-08-261-12/+12
|
* Add util class ALHelpers - Ported to Java from OpenAL-Soft from (c) 2011 ↵Sven Gothel2013-08-261-0/+376
| | | | | | | Chris Robinson (BSD'ish) - Renamed type conversion methods - Added generic type -> AL types
* ALFactory: Remove unused importsSven Gothel2013-08-261-3/+0
|
* Remedy for Bug 782: Issue Debug.initSingleton() or Debug.debug(..) before ↵Sven Gothel2013-07-171-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | calling 'PropertyAccess.isPropertyDefined(propName, default)' through Debug class. Calling 'Debug.isPropertyDefined(propName, default)' may be 'optimized' to 'PropertyAccess.isPropertyDefined(propName, default)', which would skip the modules Debug's class initialization. Iff that happens, an AccessControlException may happen, due to requesting an insecure property, since modules own Debug class has not been added it's trusted prefixes from within it's init block yet. This seems to be a bug of the JVM .. to me, however .. the above description is the only able to explain the issue at hand. +++ Fix calls Debug class own static methods, either Debug.initSingleton() or Debug.debug(), before calling 'isPropertyDefined(propName, default)'. +++ Also mark Debug class static methods final! +++
* ALutWAVLoaderTest: Test WAV decoder impl. Bug 684Xerxes Rånby2013-07-141-0/+89
| | | | Signed-off-by: Xerxes Rånby <[email protected]>
* Merge remote-tracking branch 'gouessej/master'Xerxes Rånby2013-07-092-31/+94
|\
| * Removes all references to javax.sound.* in order to allow JOAL to work in ↵Julien Gouesse2013-03-272-31/+94
| | | | | | | | non-J2SE environments
* | ALDynamicLibraryBundleInfo: Inherit security considerations in API docSven Gothel2013-06-211-1/+8
| |
* | Security: Tighten DynamicLinker*, NativeLibrary and DynamicLibraryBundle access.Sven Gothel2013-06-201-8/+11
| |
* | Adapt to GlueGen commit 1a01dce6c42b398cdd68d405828774a3ab366456Sven Gothel2013-06-112-10/+12
|/
* Fix 76c6916631a7386457fa260bf7856dea4d461a31: Replace TAB w/ 4 SPACEsSven Gothel2013-03-271-2/+2
|
* Supports soft_oal.dll (OpenAL-soft) that might be installedJulien Gouesse2013-03-221-0/+2
|
* Merge pull request #9 from magnen/masterSven Gothel2013-03-211-0/+11
|\ | | | | Adding method for retrieving the playing state of a Source.
| * Adding method for determining the playing state of an audio source.Magne Nordtveit2013-03-071-0/+11
| |
* | Catches ExceptionInInitializerError instances when initializing ALFactoryJulien Gouesse2013-03-181-0/+2
|/
* OpenAL Library Selection (Bug 662): Use String value of new property ↵Sven Gothel2013-02-012-36/+80
| | | | | | | | | | | | | | | | 'joal.openal.lib'. OSX: Prefer system OpenAL (nou OpenAL-Soft output device support) + * Select preferred OpenAL native library type via system properties, + * i.e. System-OpenAL or bundled Soft-OpenAL.<br/> + * If the preferred choice fails, implementation falls back to the other. + * <PRE> + -Djoal.openal.lib=auto Prefer System-OpenAL over bundled Soft-OpenAL for OSX. Prefer bundled Soft-OpenAL over System-OpenAL for all others. This is the default. + -Djoal.openal.lib=system Prefer System-OpenAL over bundled Soft-OpenAL for all. + -Djoal.openal.lib=soft Prefer bundled Soft-OpenAL over System-OpenAL for all. + </PRE> + * Note: You may use the 'jnlp.' prefix, allowing using above property names w/ Applets and WebStart, + * e.g. 'jnlp.joal.openal.lib=system'. + * </p>
* WavData.loadFromStream: Uses IOUtil.copyStream2ByteBuffer which fixes ↵Sven Gothel2013-02-017-21/+69
| | | | | | | loading on Android; Adding proper byteOrder swapping depending on input format. - Also added a few more test streams - Working Android test activity
* Fix regression .. now use 'com.jogamp.openal.UnsupportedAudioFileException'Sven Gothel2013-01-311-3/+8
|