aboutsummaryrefslogtreecommitdiffstats
path: root/libs/joal.README.md
diff options
context:
space:
mode:
Diffstat (limited to 'libs/joal.README.md')
-rw-r--r--libs/joal.README.md180
1 files changed, 180 insertions, 0 deletions
diff --git a/libs/joal.README.md b/libs/joal.README.md
new file mode 100644
index 0000000..d566099
--- /dev/null
+++ b/libs/joal.README.md
@@ -0,0 +1,180 @@
+# JOAL, OpenAL API Binding for Java™
+
+[Original document location](https://jogamp.org/cgit/joal.git/about/)
+
+## Git Repository
+This project's canonical repositories is hosted on [JogAmp](https://jogamp.org/cgit/joal.git/).
+
+## Overview
+The [*JOAL Project*](https://jogamp.org/joal/www/) hosts a reference implementation of the
+Java bindings for [OpenAL API](http://www.openal.org/), and is designed to provide
+hardware-supported 3D spatialized audio for applications written in Java.
+
+This project also hosts the Sound3D Toolkit, a high level
+API for spatialized audio built on top of the OpenAL bindings.
+This toolkit is designed to provide access to all the features
+of OpenAL through an intuitive, easy to use, object-oriented interface.
+
+JOAL is part of [the JogAmp project](https://jogamp.org).
+
+**The JogAmp project needs funding and we offer [commercial support](https://jogamp.org/wiki/index.php?title=Maintainer_and_Contacts#Commercial_Support)!**<br/>
+Please contact [Göthel Software (Jausoft)](https://jausoft.com/).
+
+### License
+See [LICENSE.txt](LICENSE.txt).
+
+## Platform Support
+JOAL is tested against [OpenAL-Soft](https://openal-soft.org/) ([github repo](https://github.com/kcat/openal-soft/)),
+the cross-platform, software implementation of the OpenAL 3D audio API.
+
+See OpenAL-Soft [environment variables](https://github.com/kcat/openal-soft/blob/master/docs/env-vars.txt)
+and [configuration example](https://github.com/kcat/openal-soft/blob/master/alsoftrc.sample).
+
+All JOAL platform builds contain a self-build native library of [OpenAL-Soft](https://openal-soft.org/),
+version [**v1.23.1** *from our fork*](https://jogamp.org/cgit/openal-soft.git/).
+
+Our builds expose the following audio backends:
+
+### GNU/Linux
+- PipeWire
+- PulseAudio
+- ALSA
+- OSS
+- SndIO (linked)
+- WaveFile
+- Null
+
+### Android/Linux
+- PipeWire
+- OpenSL
+- WaveFile
+- Null
+
+### Windows
+- WinMM
+- DirectSound
+- WASAPI
+- WaveFile
+- Null
+
+### MacOS
+- CoreAudio
+- WaveFile
+- Null
+
+## Build Requirements
+This project has been built under Win32, GNU/Linux, Android/Linux and MacOS.
+
+Check [GlueGen's HowToBuild](https://jogamp.org/gluegen/doc/HowToBuild.html)
+for basic prerequisites.
+
+Additionally the following packages and tools have been used:
+
+* All Systems:
+ - See [GlueGen's HowToBuild](https://jogamp.org/gluegen/doc/HowToBuild.html)
+ - [OpenAL-Soft](https://openal-soft.org/) ([github repo](https://github.com/kcat/openal-soft/))
+
+* Windows:
+ - [CMake 3.15.2](https://cmake.org/download/)
+ - OpenAL Soft: Audio-Backends: WinMM, DirectSound, WASAPI, WaveFile, Null
+
+* GNU/Linux:
+ - cmake
+ - OpenAL Soft: OpenAL: PipeWire, PulseAudio, ALSA, OSS, SndIO (linked), WaveFile, Null
+```
+ apt-get install cmake autoconf \
+ libpipewire-0.3-dev \
+ libpulse-dev libpulse0:amd64 libpulse0:i386 pulseaudio \
+ libsndio-dev \
+ libasound2-dev libasound2:amd64 libasound2:i386
+```
+ On Debian 11 Bullseye, use bullseye-backports `apt -t bullseye-backports install libpipewire-0.3-dev`
+ to have libpipewire-0.3>=0.3.23, i.e. version 0.3.65.
+
+* Android/Linux:
+ - cmake
+ - OpenAL Soft: Audio-Backends: PipeWire, OpenSL, WaveFile, Null
+
+* OSX
+ - OSX 10.2 or later
+ - OSX Developer Tools Xcode
+ - CMake 3.15.2 <https://cmake.org/download/>
+ and install the commandline tools <https://stackoverflow.com/questions/30668601/installing-cmake-command-line-tools-on-a-mac>
+ - OpenAL Soft: Audio-Backends: CoreAudio, WaveFile, Null
+
+JOAL requires the GlueGen workspace to be checked out as a sibling
+directory to the joal directory.
+See GlueGen's HowToBuild <https://jogamp.org/gluegen/doc/HowToBuild.html>
+
+## Directory Organization:
+```
+make/ Build-related files and the main build.xml
+src/ The actual source for the JOAL APIs.
+src/test/ A couple of small tests
+build/ (generated directory) Where the Jar and DLL files get built to
+www/ JOAL project webpage files
+```
+
+## GIT
+JOAL can be build w/ openal-soft, which is a git submodule of JOAL.
+This is the default for our JogAmp build on all platforms.
+
+Cloning [and pulling] JOAL incl. openal-soft
+can be performed w/ the option '--recurse-submodules'.
+```
+ > cd /home/dude/projects/jogamp/
+ > git clone --recurse-submodules git://jogamp.org/srv/scm/joal.git
+ > cd joal ; git pull --recurse-submodules
+```
+
+## JOAL Build Instructions:
+Change into the joal/make directory
+```
+ > cd /home/dude/projects/jogamp/make/
+```
+
+To clean:
+```
+ > ant clean
+```
+
+To build:
+```
+ > ant -Dtarget.sourcelevel=1.8 -Dtarget.targetlevel=1.8 -Dtarget.rt.jar=/your/openjdk8/lib/rt.jar
+```
+
+To build docs:
+```
+ > ant -Dtarget.sourcelevel=1.8 -Dtarget.targetlevel=1.8 -Dtarget.rt.jar=/your/openjdk8/lib/rt.jar javadoc
+```
+
+To test:
+```
+ > ant -Dtarget.sourcelevel=1.8 -Dtarget.targetlevel=1.8 -Dtarget.rt.jar=/your/openjdk8/lib/rt.jar runtests
+```
+
+Instead of properties, you may also use environment variables,
+see GlueGen's HowToBuild <https://jogamp.org/gluegen/doc/HowToBuild.html>.
+
+## Contact Us
+- JogAmp [http://jogamp.org/](http://jogamp.org/)
+- JOAL Web [http://jogamp.org/](http://jogamp.org/joal/)
+- Forum/Mailinglist [http://forum.jogamp.org/](http://forum.jogamp.org/)
+- Repository [http://jogamp.org/git/](http://jogamp.org/git/)
+- Wiki [https://jogamp.org/wiki/](https://jogamp.org/wiki/)
+- Maintainer [https://jogamp.org/wiki/index.php/Maintainer_and_Contacts](https://jogamp.org/wiki/index.php/Maintainer_and_Contacts)
+- Sven's Blog [https://jausoft.com/blog/tag/jogamp/](https://jausoft.com/blog/tag/jogamp/)
+- Email sgothel _at_ jausoft _dot_ com
+
+## Acknowledgments
+Original JOAL and Sound3D authors
+
+- Athomas Goldberg
+- Wildcard
+- Java Games Initiative
+- Software Advanced Technologies Group
+- Sun Microsystems
+
+Since roughly 2010, JOAL development has been continued
+by individuals of the JogAmp community, see git log for details.
+