Done - Build for older MacOS 17 (High Sierra), 18 Mojave and 19 (Catalina) support
- Detailed update in this forum post - GlueGen Updates - Revised Struct Mapping
- Added JavaCallback features
- Added new documentation covering the above in detail
- JOAL: Update openal-soft to v1.23.1
- Drop openal-soft windows blob
- Use our openal-soft bundled build on windows (like on all other platforms)
- Linux Backends: PipeWire, PulseAudio, ALSA, OSS, SndIO (linked), WaveFile, Null
- Audio/AudioFormat -> GlueGen, ALAudioSink -> JOAL
- Fixed ALAudioSink dequeueing
- Fixed ALHelpers.getALFormat(..) extended types (float, double, ..)
- Sound3D / ALAudioSink consolidation, w/ matched AudioSink + GLMediaPlayer
for spatial sound use-cases etc -> see UISceneDemo20
and https://forum.jogamp.org/JOAL-Update-tp4042614p4042630.html - Added AL_SOFT_events support via GlueGen JavaCallback and using extension in ALAudioSink
- *-java-src.zip now resides in jar subfolder in deployment
- added jogl-demos* and all *-java-src.zip to fat
- Resolved the HighDPI w/ AWT and NEWT
In my humble opinion, I prefer something less ambitious but doable in a reasonable time frame rather than something too much ambitious that won't be done. The two first items might require much time. If you need some more magic, feel free to add relative mouse movements, it would add only two public methods into MouseEvent, it would help me to reconsider repairing JMonkeyEngine 3 JOGL renderer, the rest of the bug report on PointerEvent renaming and controller support can be postponed to another version.
feel free to add relative mouse movements, it would add only two public methods into MouseEvent, it would help me to reconsider repairing JMonkeyEngine 3 JOGL renderer, the rest of the bug report on PointerEvent renaming and controller support can be postponed to another version.
Please be kind to me and provide me with the required interfaces, semantics .. links url.
Then I will add it, if possible.
I look for information to help you to implement this feature under GNU Linux as a first step, I try to rely on Xlib APIs, I need to access raw mouse motion events. This feature is supported by SDL, SFML and GLFW. I'm currently looking at the last one. I assume it uses something called XInputExtension somehow.
OK, openal-soft (1.23.1) is bumped, bundled and build on Linux, Windows and MacOS (x86_64, arm64, macosx >= 10.7 due to libc++).
- The Windows openal-soft has been dropped, our bundled one is named OpenAL32.dll per openal-soft default.
- ALVersion (new) is used to unit tests against this openal-soft version.
The general (all JogAmp modules) validation build for MacOS x86_64 + arm64 for macosx >= 10.5 is underway.
The alternative would be to use NEWT's mouse-jail, where you would always get mouse input. Hmm, but not beyond its window-scope. Yeah, I get it and add it to my list.
Mouse-jail is less accurate and consumes much CPU time than just treating the screen as an unbounded surface and getting the relative mouse coordinates. Moreover, it's easier when porting source code as it's quite common in gaming APIs.
It seems to work but I get this when leaving TUER:
[W][20810.536243] pw.conf | [ conf.c: 939 try_load_conf()] can't load config client-rt.conf: Aucun fichier ou dossier de ce type
[W][20810.536276] pw.conf | [ conf.c: 939 try_load_conf()] can't load config client.conf: Aucun fichier ou dossier de ce type
[E][20810.536280] pw.conf | [ conf.c: 963 pw_conf_load_conf_for_context()] can't load default config client.conf: Aucun fichier ou dossier de ce type
[ALSOFT] (EE) Failed to create PipeWire event context (errno: 2)
[ALSOFT] (WW) Failed to initialize backend "pipewire"
"Aucun fichier ou dossier de ce type" means "No such file or directory".
Actually, Pipewire was not installed on my system despite being under Debian 12 as I use Plasma/KDE as a window manager instead of GNOME. After installing the meta-package named "pipewire-audio", I no longer have the nasty warning messages:
In Debian 12, PipeWire 0.3.65 is available, and is considerably more reliable, and is a comfortable drop-in replacement for many use-cases. PipeWire is the default sound server with GNOME Desktop.