Skip to content
Changes
- Eclipse: Use `Android 26 (stripped)` User Library to gluegen/make/lib/android-sdk/26/android-stripped.jar
—
Sven Gothel /
cgit
- Remove maven '-android' aliasing, our make-copy-jars-one handles it
—
Sven Gothel /
cgit
- Fix JVM_JNI6.c #error message
—
Sven Gothel /
cgit
- Bug 1523: JavaRetire src/java/net/highteq/nativetaglet/NativeTaglet.java
—
Sven Gothel /
cgit
- Bug 1523: Documentation for Java8 + adding unit- and bring-up tests
—
Sven Gothel /
cgit
- Bug 1523: Eclipse Java8 settings
—
Sven Gothel /
cgit
- Bug 1523: Java8 build setup using target.releaselevel=8 and target.buildlevel=11
—
Sven Gothel /
cgit
- Bug 1523: Enhance UnsafeUtil: Expose certain get/put methods as well as getDirectBufferAddress
—
Sven Gothel /
cgit
- Bug 1519 - NativeLibrary: `searchPathPrepend` shall act independent of `addToSearchPath`, do a null-check when using (Windows)
—
Sven Gothel /
cgit
- NativeLibrary.LibPath: Use pre-calculated hash code
—
Sven Gothel /
cgit
- NativeLibrary: Simplify system search API doc
—
Sven Gothel /
cgit
- Bug 1520: JNI: Only request min JNI_VERSION_1_6 (Android)
—
Sven Gothel /
cgit
- Bug 1520: Package visibility in Android 11
—
Sven Gothel /
cgit
- TestVersionNumber: Add test w/ an `ES 3.10` version
—
Sven Gothel /
cgit
- Bug 1520: Android 14 (SDK API 34): Fix Writable dex file is not allowed
—
Sven Gothel /
cgit
- Android: Add android-stripped.jar (API 24) less java.* packages, avoiding collisions w/ Eclipse editor
—
Sven Gothel /
cgit
- Eclipse: Use android-stripped.jar in .classpath (via use library)
—
Sven Gothel /
cgit
- JNILibLoaderBase.addNativeJarLibsImpl: Enhance DEBUG output
—
Sven Gothel /
cgit
- jogamp-androidtasks: aapt.signed: Add assets also from {jarbasename}, drop jarbasename suffix '(-android.*$)'
—
Sven Gothel /
cgit
- glibc-compat-symbols: Add GLIBC_COMPAT_SYMBOL for libdl (dladdr, dlclose, dlerror, dlopen and dlsym)
—
Sven Gothel /
cgit
- doc/JogAmpPlatforms: JogAmp's Supported Platforms (Evolved from JogAmpMacOSVersions)
—
Sven Gothel /
cgit
- gluegen-cpptasks-base: Whitespace
—
Sven Gothel /
cgit
- VersionNumber*: toString() drops unused components; Added VersionNumberString ctor for convenience
—
Sven Gothel /
cgit
- glibc-compat-symbols: Add macro `GLIBC_NOVERSION_SYMBOL` for libdl (dladdr, dlclose, dlerror, dlopen and dlsym)
—
Sven Gothel /
cgit
- Eclipse: Bump lang settings
—
Sven Gothel /
cgit
- doc: Use reachable absolute html links
—
Sven Gothel /
cgit
- Android: Min API 24 -> 26
—
Sven Gothel /
cgit
- JogAmpPlatforms: Fix typo
—
Sven Gothel /
cgit
- uses-sdk android:minSdkVersion="24" android:targetSdkVersion="35" (2025-08-31 requirements)
—
Sven Gothel /
cgit
- Bug 1519 - NativeLibrary: Clarify search order, allow added search-path + add property `jogamp.primary.library.path`
—
Sven Gothel /
cgit
- Add doxygen.all.zip and doxygen.public.zip Doxygen targets
—
Sven Gothel /
cgit
- Fix doc/HowToBuild.html: Remove target.* options (we use defaults)
—
Sven Gothel /
cgit
- Doxygen: Realign w/ orig 'javadoc' locations and archive name, to preserve doc-root
—
Sven Gothel /
cgit
- doc/GlueGen_Mapping.md: Add anchors for Doxygen (Mainpage); Use pandoc `markdown+lists_without_preceding_blankline`
—
Sven Gothel /
cgit
- doc/*.md: Fix comment of new source format `markdown+lists_without_preceding_blankline`
—
Sven Gothel /
cgit
- VersionSemanticsUtil: Ignore missing classes, report to stdout and use summary only
—
Sven Gothel /
cgit
- Eclipse Java-11 (min target) setting
—
Sven Gothel /
cgit
- Eclipse: Drop android from build-path, no more working w/ using JRE-11 from JDK-21
—
Sven Gothel /
cgit
- DynamicLookupHelper: Add isOpen()
—
Sven Gothel /
cgit
- DynamicLibraryBundle: Expose `toolGetProcAddressHandle` and add `NativeLibrary getToolLibrary(final int i)`
—
Sven Gothel /
cgit
- DynamicLibraryBundle:loadLibraries(): Allow having toolLibSymbolNames.size() < toolLibNames.size()
—
Sven Gothel /
cgit
- Cleanup android apk task: Only leave aligned-unsigned 'name-unsigned.apk' and aligned-signed 'name.apk'
—
Sven Gothel /
cgit
- InterruptSource.Thread: Add ctor variant w/ sole Runnable argument (was missing)
—
Sven Gothel /
cgit
- Bump 2.6.0-rc-...
—
Sven Gothel /
cgit
- Add WorkerThread: A re-start'able, pause'able and interrupt'able worker thread with an optional minimum execution duration
—
Sven Gothel /
cgit
- WorkerThread: Move 'streamErr' Exception to local Runnable
—
Sven Gothel /
cgit
- WorkerThread: Add optional minDelay to throttle excecution
—
Sven Gothel /
cgit
- WorkerThread: Fix minDelayMS assignment using validated field value
—
Sven Gothel /
cgit
- WorkerThread: Remove minDelayMS field, have it in Runnable branch only
—
Sven Gothel /
cgit
- WorkerThread: Enhanced testing, added optional StateCallback for state changes, using bitfield state (earmarked to be used within GLMediaPlayerImpl etc)
—
Sven Gothel /
cgit
- Uri: Added `Uri tryUriOrFile(final String uri_s)` for convenience / usability, as well as getScheme(String), isValidScheme(String), isFileScheme(String) and isHttpxScheme(String)
—
Sven Gothel /
cgit
- WorkerThread.start(paused): Merge RUNNING | ACTIVE
—
Sven Gothel /
cgit
- build.xml: Fix typo in a target description
—
Sven Gothel /
cgit
- AudioSink: Just pass a finte buffer size (KISS), add getLastBufferedPTS() to access the last buffered audio pts
—
Sven Gothel /
cgit
- Clock/Platform: Add currentMillis() analogue to currentNanos(), returning current monotonic milliseconds **since start of this application**
—
Sven Gothel /
cgit
- AudioSink/TimeFrame1: API doc: Add notes about integer stored milliseconds for PTS and duration, i.e. good for 24.855 days
—
Sven Gothel /
cgit
- AudioSink: Rename getQueued{Time->Duration}(), add updateQueue()
—
Sven Gothel /
cgit
- Bug 1472: Enhance AV Sync: Pass through PTS object in AudioSink, tracking last PTS value against System Clock Reference (SCR)
—
Sven Gothel /
cgit
- PTS: get(currentMillis): Employ rounding in integer conversion
—
Sven Gothel /
cgit
- PTS: Add copy constructor
—
Sven Gothel /
cgit
- Bug 1479: NativeLibrary: Add getNativeLibraryPath() returning queried used native library path, supported throughout DynamicLibraryBundle[Info]
—
Sven Gothel /
cgit
- Bug 1474: Allow temp folder for exe-file test to contain parenthesis on Windows
—
Sven Gothel /
cgit
- Bug 1474: Only quote exe-file path on Windows for execution
—
Sven Gothel /
cgit
- Bug 1481 - Hide [ArgumentIs]PascalString argument's length
—
Sven Gothel /
cgit
- TestStructGen*: Enable standalone testing, enforce Platform.initSingleton()
—
Sven Gothel /
cgit
- Bug 1481 - Remove redundant isPascalLen() branch
—
Sven Gothel /
cgit
- feat(callbackGenerator): Prevent NPE during call of java callback
—
mfery /
cgit
- PTS: Add millisToTimeStr(..) convenient time string representation, also used by added get{SCR, Last, }TimeStr(..) methods
—
Sven Gothel /
cgit
- PTS: Add convenient getCurrent() passing Clock.currentMillis() to get(long).
—
Sven Gothel /
cgit
- PTS: Add toMillis(String), parsing string representation in '[H[H]:]m[m]:s[s][.S*]' using custom DateTimeFormatter to milliseconds, complementing millisToTimeStr(..)
—
Sven Gothel /
cgit
- PTS: Rename millisToTimeStr() -> toTimeStr(), analogue to toMillis()
—
Sven Gothel /
cgit
- Adding StringUtil, containing basic utility functions as well as unicode space (whitespace) and full- and halfwidth tests.
—
Sven Gothel /
cgit
- Bump runtest.sh script w/ StringUtil test
—
Sven Gothel /
cgit
- Rename StringUtil.strip() -> StringUtil.trim(), refine API doc
—
Sven Gothel /
cgit
- feat(manual): Update configuration documentation (all are documented).
—
mfery /
cgit
- Fix casting in Buffers.c
—
sibo.vangool /
cgit
- HowToBuild: Debian 12
—
Sven Gothel /
cgit
- jogamp-env: Default sourcelevel/targetlevel to 1.8
—
Sven Gothel /
cgit
- jogamp-env: Cleanup whitespace
—
Sven Gothel /
cgit
- bump test script
—
Sven Gothel /
cgit
- Eclipse: Bump + Add CDT for native files
—
Sven Gothel /
cgit
- Bug 1510: NativeLibrary shall respect OS library-path environment variable for searching in system-path
—
Sven Gothel /
cgit
- Build/test: Use OpenJDK-21 per default
—
Sven Gothel /
cgit
- JogAmpMacOSVersions: Bump adding MacOS 15 Sequoia testing
—
Sven Gothel /
cgit
- Update md -> html
—
Sven Gothel /
cgit
- Use Java-11 Target and Android SDK 36 / NDK 29 (2025-06-25)
—
Sven Gothel /
cgit
- Android NDK 29 strip is llvm-strip
—
Sven Gothel /
cgit
- Tests: Increase timing/clock tolerance: TestClock01 + TestWorkerThread01
—
Sven Gothel /
cgit
- JDK-8309361: JDK-21 perf-issue (annotation)
—
Sven Gothel /
cgit
- JDK-21 Perf: TestIntIntHashMap: Add 2nd warm-up, increase tolerance to 4x on JDK-21 (1.5 on JDK < 21)
—
Sven Gothel /
cgit
- Replace 'semver' w/ 'japicmp' for Java >= 11 Compatibility
—
Sven Gothel /
cgit
- feat(manual): Update configuration documentation.
—
ferymathieuy /
cgit
- Bug 1449: Convert manual/index.html to `gfm` (GitHub-Flavored Markdown) using markdown -> manual/index.md and add conversion recipes + make/scripts/md2html_update.sh
—
Sven Gothel /
cgit
- Bug 1449: Fix link style in manual refs ..
—
Sven Gothel /
cgit
- doc/GlueGen_Mapping.md: Fix GlueGen Manual read consideration ...
—
Sven Gothel /
cgit
- Bump: 2.5.0 Release
—
Sven Gothel /
cgit
- Bump JCPP: Use Unix '/' file separator in #line output for UNIFIED_OUTPUT
—
Sven Gothel /
cgit
- Add support for riscv64 architecture
—
schwab /
cgit
- glibc-compat-symbols.h: skip versioning on PPC64/PPC64LE
—
tgc /
cgit
- GlueGen Struct [1]: Enhance com.jogamp.common.nio.* to serve a most native-free-code Struct-Code generation
—
Sven Gothel /
cgit
- GlueGen Struct [2]: Add CodeUnit: Representing a generated C or Java file, covering multiple FunctionEmitter allowing to unify output, decoration and dynamic helper code injection per unit
—
Sven Gothel /
cgit
- GlueGen Struct [3]: Adopt to CodeUnit Abstraction (replacing plain PrintWriter...)
—
Sven Gothel /
cgit
- GlueGen Struct [4]: JavaConfiguration Change: Drop 'ManualStaticInitCall', 'ForceStaticInitCode'; Add 'ReturnsStringOnly', 'MaxOneElement' and 'ImmutableAccess'
—
Sven Gothel /
cgit
- GlueGen Struct [5]: Revised Struct Mapping + Documentation
—
Sven Gothel /
cgit
- Buffers.copyNativeToDirectByteBuffer(): Remove unused var
—
Sven Gothel /
cgit
- GlueGen Struct [6]: Simplify adding 'private ElementBuffer _eb*' memory buffer cache once @ 'releaseVal(..)' code creation
—
Sven Gothel /
cgit
- feat(cli): Add --preserveGeneratedCPP option inside GlueGen
—
mfery /
cgit
- feat(feature): Enable pragma once management
—
mfery /
cgit
- feat(CompoundType): Improve error log on CompoundType.addField and CompoundType.setBodyParsed when body is already parsed
—
mfery /
cgit
- feat(translationUnit): Improve logs in case of failure inside translationUnit
—
mfery /
cgit
- feat(constants): Add supports of ~ inside ConstantDefinition
—
mfery /
cgit
- feat(jni): Add directive for dedicated JNI Code with CustomJNICode
—
mfery /
cgit
- GlueGen Struct [7]: Keep struct class non-final (revert), but ensure methods are final. Drop useless 'final' of 'static final'.
—
Sven Gothel /
cgit
- ElementBuffer: Add absolute get/put multi-element with full srcElemPos, destElemPos, elementCount argument set and use it for the single absolute get/put methods.
—
Sven Gothel /
cgit
- GlueGen Struct [8]: Revised setter (resolved shrinking array, using 'subset' flag), added (detailed) JavaDoc in generated code
—
Sven Gothel /
cgit
- doc/JogAmpMacOSVersions.html: Replaced w/ standalone html5 w/ header (utf8)
—
Sven Gothel /
cgit
- doc/GlueGen_Mapping.md: Remove note regarding shrinking array, resolved
—
Sven Gothel /
cgit
- Drop .md -> .html generated docs (ugly), use our cgit md -> html via refined pandoc styles
—
Sven Gothel /
cgit
- JavaType: Add getSignature(..) like Type
—
Sven Gothel /
cgit
- Type: Add hasSize(), change getSignature(..) for const: isConstTypedef() -> "typedef", isConstRaw() -> "native"
—
Sven Gothel /
cgit
- GlueGen Struct [9]: Fix regression which added a pointer referencing type 'void', i.e. exclude if !baseCElemType.hasSize() // like 'void*' -> 'void'
—
Sven Gothel /
cgit
- GlueGen Struct [10]: Don't skip primitive w/ platform dependent sized type in struct (like 'int') ..
—
Sven Gothel /
cgit
- GlueGen Struct [11]: Formalize Ownership (enum) and elaborate generated Java API-Doc
—
Sven Gothel /
cgit
- GlueGen Struct [12]: Throw InternalError(..) for produced code-path where Ownership.Native _and_ native memory potentially gets replaced
—
Sven Gothel /
cgit
- GlueGen Struct [9b]: Add unit test for fixed 'void*' regression commit eec3f21c3597ff9bf9760a06e00dd341214ea90d
—
Sven Gothel /
cgit
- GlueGen Struct [13]: Adopt GlueGen_Mapping.md to changes, added `Struct Java Signature Examples` w/ Java API Doc snippets
—
Sven Gothel /
cgit
- Bring back produced html5 standalone files, having fixed pandoc usage.
—
Sven Gothel /
cgit
- CPP Enable Pragma Once: Use default jcpp branch as its merged now
—
Sven Gothel /
cgit
- CPP Enable Pragma Once: Add GlueGen.run(..) debug output w/ all paramter
—
Sven Gothel /
cgit
- CPP Enable Pragma Once: Default is 'true', since usually all compiler and APIs do support this feature
—
Sven Gothel /
cgit
- CustomJNICode: Fix/complete commit d7bc10d7ff0e3a30d74c4e4c439230f3983bcfb4: Add emitCustomJNICode(..) for JavaEmitter.endFunctions() not just structs and fix the JNI-c stub code
—
Sven Gothel /
cgit
- CustomJNICode: Add missing (separated) test1p1-CustomJNICode.c.stub
—
Sven Gothel /
cgit
- fix(cli): Fix disablePragmaOnce option
—
ferymathieuy /
cgit
- CPP Enable Pragma Once: Remove cli '--enablePragmaOnce' option as it is enabled by default
—
Sven Gothel /
cgit
- GlueGen Struct [14]: Update doc/GlueGen_Mapping.md
—
Sven Gothel /
cgit
- www/index.html: Copy Documentation section into main text for visibility
—
Sven Gothel /
cgit
- Doc: Manual: Adding disclaimer being slightly outdated and hint to GlueGen_Mapping document
—
Sven Gothel /
cgit
- GlueGen Type: Use virt getTargetType() for ArrayType dropping getElementType(); Rename getBase{Elem ->}Type() to align with getTargetType()
—
Sven Gothel /
cgit
- doc/GlueGen_Mapping.md: Place `Struct Setter Pseudo-Code` above 'Signature Table' and add a brief signature to mapping description to the former
—
Sven Gothel /
cgit
- GlueGen Struct [15]: Add FunctionPointer getter and setter support w/ documentation
—
Sven Gothel /
cgit
- GlueGen Struct [15b]: FunctionPointer: Drop is<FuncName>Null() -> use get<FuncName>()
—
Sven Gothel /
cgit
- GlueGen junit test2.h: Add an anonymous struct pointer w/ opaque long config
—
Sven Gothel /
cgit
- JavaEmitter.typeToJavaTypeImpl(): Add targetType in GlueGenException and remove '"' in message
—
Sven Gothel /
cgit
- GlueGen Test: Test2 -> Test2FuncPtr
—
Sven Gothel /
cgit
- NIO NativeBuffer, {Element,Pointer}Buffer: Add limit, clear and flip; Arrange wrap/deref arguments equal; Add equal set of absolute get/set methods
—
Sven Gothel /
cgit
- GlueGen: Type, JavaType: Align getSignature(..) output
—
Sven Gothel /
cgit
- GlueGen: Type: Have get{Base,Target}Type() stop at isFunctionPointer(), enhance API doc; Add getArrayBaseOrPointerTargetType() and getTargetFunction()
—
Sven Gothel /
cgit
- GlueGen: JavaConfiguration.typeInfo(..): Clarify DEBUG_TYPE_INFO output
—
Sven Gothel /
cgit
- GlueGen: JavaConfiguration.promoteTypeInfo(): Fix primitive pointerDepth, i.e. only pass numPointersStripped w/o adding info.pointerDepth()
—
Sven Gothel /
cgit
- GlueGen Struct [16]: Add support for pointer-pointer and function-pointer values
—
Sven Gothel /
cgit
- GlueGen: Expose CMethodBindingEmitter.getJNIMangledArgs() as a public static to be reusable
—
Sven Gothel /
cgit
- GlueGen: Rename GlueEmitter.getConfig{uration->}() and drop JavaEmitter.getConfig(), cleaning up API usage
—
Sven Gothel /
cgit
- GlueGen Fix ProcAddressCMethodBindingEmitter.jniMangle(..) override: Use renamed {jniMangle->getJNIMangledArg}(..)
—
Sven Gothel /
cgit
- GlueGen: Add JavaEmitter(JavaConfiguration) ctor
—
Sven Gothel /
cgit
- JavaEmitter.generateArrayGetterSetterCode(): Place elemCountExpr null check where it could occur -> non-opaque, non-primitive array case
—
Sven Gothel /
cgit
- GlueGen: Fix Type.getSignature(..): Test for isFunctionPointer() to elaborate on FunctionType as getTargetType() only retruns a function-ptr and no more a function-type.
—
Sven Gothel /
cgit
- GlueGen FunctionType: Expose toString(..) w/ 'isPointer' argument
—
Sven Gothel /
cgit
- GlueGen Add JavaType.forObjectClass()
—
Sven Gothel /
cgit
- GlueGen FunctionSymbol: Simplify ctor reusing main-ctor; Be always reachable via type(def)name, ctor: addAliasedName( type.getCName() )
—
Sven Gothel /
cgit
- GlueGen JavaConfiguration: Add 'JavaCallbackDef <funcion-pointer-typedef-name> [user-param-idx]'
—
Sven Gothel /
cgit
- GlueGen JavaConfiguration: Add List<Integer> stringArguments(final AliasedSymbol symbol)
—
Sven Gothel /
cgit
- GlueGen JavaCallback: Add preliminary implementation (WIP): Produces proper interfaces, TODO implementation
—
Sven Gothel /
cgit
- GlueGen JavaCallback: Add more related documentation
—
Sven Gothel /
cgit
- GlueGen JavaType: Add new nature 'String clazzName': Future (not yet generated or existing) Class objects (existing at runtime)
—
Sven Gothel /
cgit
- GlueGen JavaCallback: Use new JavaType nature 'named-class', denoting the generated callback interface mapping the callback function.
—
Sven Gothel /
cgit
- GlueGen JavaCallback: Expose getJNIMethodDescriptor() for JNI mangled method names, used in CMethodBindingEmitter; Use JavaCallback's function-pointer-type capital-name as simple-class-name and its FQN for JNI resolution.
—
Sven Gothel /
cgit
- GlueGen JavaCallback: Move JavaCallback into JavaConfiguration, accessible across *Emitter (needed for CMethodEmitter as well); Add JavaCallback.methodSignature to be passed to native function later on to find the callback jmethodID
—
Sven Gothel /
cgit
- GlueGen JavaCallback: Add JavaCallback.methodSignature to JNI arg-list and pass value at invocation, allowing to find the jmethodID of callback
—
Sven Gothel /
cgit
- GlueGen Struct [17]: Handle void pointers, i.e. `void*`, within a struct as `Opaque` configured pointer-types
—
Sven Gothel /
cgit
- GlueGen doc/GlueGen_Mapping.md: Mentiond OO-Style API mapping and add section for it
—
Sven Gothel /
cgit
- GlueGen LibraryOnLoad Config: Generate `JNI_OnLoad(..)` for dynamic and `JNI_OnLoad_<LibraryBasename>(..)` for static libraries and `JVMUtil_GetJNIEnv(..)` to resolve the `JNIEnv*` as used by JavaCallback
—
Sven Gothel /
cgit
- GlueGen: Move [de]captializeString(..) JavaEmitter -> static in CodeGenUtils
—
Sven Gothel /
cgit
- GlueGen CMethodBindingEmitter: Refactor emitBodyReturnResult() -> emitBodyMapCToJNIType(): Reuse to converting any C-type argument to java JNI type (i.e. native callback to JavaCallback)
—
Sven Gothel /
cgit
- GlueGen FunctionType: Factor out getParameterList(..) from toString(..) and drop 'void' and use typedef-name; MethodBinding: Add getCParameterList(..) and getJavaParameterList(..) for general usage similar to FunctionType.getParameterList()
—
Sven Gothel /
cgit
- GlueGen ProcAddressCMethodBindingEmitter.jniMangle() override: Only add additional params if produced name containes '__', i.e. JNI mangled parameter
—
Sven Gothel /
cgit
- GlueGen JavaCallback: 1st Working Draft: Changed 'JavaCallbackDef' config, added code generation incl. native to Java dispatch and resource management
—
Sven Gothel /
cgit
- Doc: Align GlueGen_Mapping.md intro w/ README.md and www/index.html
—
Sven Gothel /
cgit
- Doc: www/index.html: Fix JOGL UML link
—
Sven Gothel /
cgit
- Doc intro: Fix LibraryOnLoad using generic LibraryBasename
—
Sven Gothel /
cgit
- README.md: Fix links
—
Sven Gothel /
cgit
- GlueGen JavaCallback: Set-Callback: Ensure a previously mapped 'userParam' instance is released before binding new one; Add test changing callback function.
—
Sven Gothel /
cgit
- Test4JavaCallback: Just rename myUserParam -> myUserParam01 for future tests..
—
Sven Gothel /
cgit
- Eclipse classpath
—
Sven Gothel /
cgit
- GlueGen FunctionType/MethodBinding: get*ParameterList(): Use a more flexible way via a ParameterConsumer visitor, also usable for other iterative parameter generator
—
Sven Gothel /
cgit
- GlueGen JavaCallback: Resolve key mapping of callback and associated resources via 'JavaCallbackKey' config and custom `SetCallback-KeyClass`
—
Sven Gothel /
cgit
- GlueGen Intro: Add section about its comprehensive runtime library, shorten the JNI_OnLoad section
—
Sven Gothel /
cgit
- GlueGen JavaCallback: Release the associated data (natively) only after the actual toolkit setCallback call
—
Sven Gothel /
cgit
- GlueGen JavaCallback: Only produce default 'Key' class if keys are used, expose 'Key' to public and use it. Expose release*() and get*Keys() methods
—
Sven Gothel /
cgit
- GlueGen JavaCallback: Use `SetCallback-KeyClass` if manually specified, even if no keys are defined!
—
Sven Gothel /
cgit
- GlueGen JavaCallback: Native callback: Check ObjectRef validity and synchronize (MonitorEnter/Exit) with same Object of Java impl. -> thread safe
—
Sven Gothel /
cgit
- GlueGen JavaCallback: Emphasize all methods are thread-safe
—
Sven Gothel /
cgit
- doc/GlueGen_Mapping.md: Typo
—
Sven Gothel /
cgit
- GlueGen JavaCallback: Document native callback use-after-free potential (caught), zero-mem @ release
—
Sven Gothel /
cgit
- GlueGen JavaCallback: Native Callback: Reduce 'look-ahead' of read-after-free to critical lockObj only
—
Sven Gothel /
cgit
- GlueGen Struct [18]: Drop redundant 'static get*ElemCount() { return 1 }` for: isPrimitive && !isPointer && staticElemCount && maxOneElement
—
Sven Gothel /
cgit
- CMethodBindingEmitter JavaCallback: Use a friendly readable basename for errors
—
Sven Gothel /
cgit
- GlueGen JavaCallback: CMethodBindingEmitter: Check lockObj for NULL before GetObjectRefType(), avoid certain (older) Hotspot issues
—
Sven Gothel /
cgit
- GlueGen JavaCallback: CMethodBindingEmitter: Check, describe & clear exception if occurring - we must assume async off-thread source in general
—
Sven Gothel /
cgit
- GlueGen JavaCallback: Unify native 'T_JavaCallbackGlueData' typedef struct
—
Sven Gothel /
cgit
- GlueGen JavaCallback: Revised: Static Java callback dispatcher, dropping native heap, support Struct UserParam ...
—
Sven Gothel /
cgit
- GlueGen JavaType.appendDescriptor(..): Fix regression: Must return a vanilla descriptor ('/' not '_') i.e. non JNI method-name descriptor to avoid double conversion
—
Sven Gothel /
cgit
- doc/GlueGen_Mapping.md: Quote `void*` correctly ..
—
Sven Gothel /
cgit
- GlueGen JavaCallback/LibraryOnLoad: Always include the `libraryBasename` agnostic 'emitJNIEnvDecl()' (declaration) in JNI code; Detach the thread from the JVM if newly attach in callback!
—
Sven Gothel /
cgit
- GlueGen: Add 'PascalString' string semantics (length + value-ptr), added prelim code for JavaCallback use-case emitBodyMapCToJNIType()
—
Sven Gothel /
cgit
- Manual: Refine `ArgumentIsPascalString`
—
Sven Gothel /
cgit
- GlueGen JavaCallback: Fix `staticCBClazz*` initial setup (only), using a NewGlobalRef() for jclass (not required for static jmethodID)
—
Sven Gothel /
cgit
- GlueGen JavaCallback: Remove ambiguity: Config JavaCallbackDef/JavaCallbackKey: Always define both parameter indices; emitJavaStaticCallback(): Use cbFuncBinding and cbFuncKeyIndices from callback parameter to build key
—
Sven Gothel /
cgit
- GlueGen JavaCallback Doc: Remove reasoning (avoiding ambiguity) to CallbackFunction parameter index
—
Sven Gothel /
cgit
- GlueGen JavaCallback: Add capability to have UserParam as (part of) key
—
Sven Gothel /
cgit
- Manual: Fix ArgumentIsPascalString
—
Sven Gothel /
cgit
- GlueGen JavaCallback: Add optional custom 'Callback-UserParamClass` for non-compound `UserParam` types to have more clarity in resulting API
—
Sven Gothel /
cgit
- doc/GlueGen_Mapping.md: Typos 'UserParam' -> 'UserParamClass'
—
Sven Gothel /
cgit
- doc/GlueGen_Mapping.md: Typos 'UserParam' -> 'UserParamClass' (2 more occassions)
—
Sven Gothel /
cgit
- doc/GlueGen_Mapping.md: Using 'UserParamClass' .. grammar (3 commits for 1 discount today)
—
Sven Gothel /
cgit
- feat(generation): Add setter generation for not constant and not opaque compound attribute
—
mfery /
cgit
- feat(callbackGenerator): Add basic management of callback without userData
—
mfery /
cgit
- doc/GlueGen_Mapping.md: Add some documentation with JavaCallback without userData
—
mfery /
cgit
- feat(arrayAccessor): Allow to use ReturnedArrayLength with getter associated with field with name in PascalCase or camelCase
—
mfery /
cgit
- CMethodBindingEmitter.emitBodyMapCToJNIType(..): Add proper intendation to NIO ByteBuffer generation (isNIOBuffer || isCompoundTypeWrapper)
—
Sven Gothel /
cgit
- JavaCallbackEmitter.{emitCSetFuncPreCall, emitCAdditionalCode}(): Group 'userParamDefined' case (cleanup)
—
Sven Gothel /
cgit
- JavaCallbackEmitter.{emitCSetFuncPreCall, emitCAdditionalCode, emitJavaCallbackBodyPassJavaArguments}(): Use capitalized sub-string 'baseArgName' for (static) callback related entities
—
Sven Gothel /
cgit
- JavaCallbackEmitter.{emitCSetFuncPreCall, emitCAdditionalCode, emitJavaCallbackBodyPassJavaArguments}(): Fix exclusion of ad-hoc compound conversion for userParam
—
Sven Gothel /
cgit
- JavaCallbackEmitter.emitCSetFuncPreCall(): Drop redundant arg 'CMethodBindingEmitter jcbFuncCMethodEmitter', use local 'info.cbFuncBinding'
—
Sven Gothel /
cgit
- JavaCallbackEmitter.emitJavaCallbackBodyPassJavaArguments(): Drop redundant arg 'MethodBinding jcbFuncCMethodBinding', use local 'info.cbFuncBinding'
—
Sven Gothel /
cgit
- JavaCallbackEmitter.emitCAdditionalCode(): Use `info.cbFuncBinding` locally and passed 'jcbFuncCMethodEmitter' only to invoke CMethodBindingEmitter.emitBodyMapCToJNIType(..)
—
Sven Gothel /
cgit
- JavaEmitter: Encapsulate 'needsJavaCallbackCode' query in JavaConfiguration. TBD: Is this even required?
—
Sven Gothel /
cgit
- Fix & Enhance Test4JavaCallback for non-userParam chapter12*: Fix ad-hoc compound equals and add chapter12b for additional parameter with different order
—
Sven Gothel /
cgit
- feat(callbackGenerator): Prevent generation of CallBack interface if setter related isn't present
—
mfery /
cgit
- CMethodBindingEmitter.emitBodyPassCArguments(): Either pass STRING_CHARS_PREFIX or javaCallbackEmitter.emitCOptArgumentSuffix(..)
—
Sven Gothel /
cgit
- JavaEmitter.bindFunction(): Add JavaCallback userParam non-void case (i.e. 'String')
—
Sven Gothel /
cgit
- JavaCallbackEmitter.emitJavaKeyClass(): Use directBufferAddress for compound types in equals and hashCode, i.e. use memory identity
—
Sven Gothel /
cgit
- JavaCallback: Remove non-UserParam JavaConfiguration.requiresJavaCallbackCode()
—
Sven Gothel /
cgit
- doc/GlueGen_Mapping.md: Shorten UserParamIndex '<0' to disable 'UserParam' and produce html page
—
Sven Gothel /
cgit
- wip(test_case): Example of test case for issue related of 927bbc7160a812bb29c0e7120d4a3009bfb13bbf
—
mfery /
cgit
- Revert "JavaCallback: Remove non-UserParam JavaConfiguration.requiresJavaCallbackCode()"
—
Sven Gothel /
cgit
- WIP JavaCallback Tests: Rename test2-gluegen.cfg -> test2-if.cfg
—
Sven Gothel /
cgit
- WIP JavaCallback Tests: Fix: Link library Bindingtest2p1 against library test2 not test1
—
Sven Gothel /
cgit
- WIP JavaCallback Tests: Fix: test2-CustomJavaImplCode.java.stub must be 'IncludeAs' for both implementations, Bindingtest2p1Impl and Bindingtest2p2Impl
—
Sven Gothel /
cgit
- WIP JavaCallback Tests: Fix typo in 'CustomJavaCode' Java class target name
—
Sven Gothel /
cgit
- WIP JavaCallback Tests: Fix Test4p2JavaCallback.chapter__TestLoadLibrary() issue loadBindingtest2p2() not loadBindingtest2p1()
—
Sven Gothel /
cgit
- GlueGen Code Unit Tests using a statically linked tool library do not need to load the tool library dynamically, hence dropped.
—
Sven Gothel /
cgit
- JavaConfiguration.requiresJavaCallbackCode() shall return true for all JavaCallback cases no just non-userParam case
—
Sven Gothel /
cgit
- Cleanup unit test class names: Try to start w/ 'Test', remove intermediate 'Test' for supporting, non-test classes
—
Sven Gothel /
cgit
- Cleanup unit test class names (pt2): Try to start w/ 'Test', remove intermediate 'Test' for supporting, non-test classes
—
Sven Gothel /
cgit
- Cleanup unit test class names (pt3): Try to start w/ 'Test', remove intermediate 'Test' for supporting, non-test classes
—
Sven Gothel /
cgit
- Add notes `Loading a MacOS Native Library's Dependencies` and use absolute path in unit test script for library-path
—
Sven Gothel /
cgit
- Minor cleanup (includes, spacing)
—
Sven Gothel /
cgit
- JavaCallback: Add Mathieu Féry's detailed git comment regarding 2abb40b0ca9a6a06bdbe3e66b4235301ed15c693; Updated GlueGen_Mapping.md
—
Sven Gothel /
cgit
- feat(generation): Fix CodeGenUtils.emitJavaHeaders
—
mfery /
cgit
- feat(generation): Fix generic parsing inside JavaParser.g to allow parsing of java callback implementation
—
mfery /
cgit
- Bump jcpp (merged w/ jcpp upstream v1.4.14) and adopt to changes
—
Sven Gothel /
cgit
- Drop PCPP, GlueGen exclusively uses JCPP; Adopt test case Test{P->J}CPP
—
Sven Gothel /
cgit
- TestJCPP: Add recursive-include test and include a header file starting with '-' and in a subdir containing a '-'
—
Sven Gothel /
cgit
- ANTLR Syntax: Add debugging facility for GnuCParser.g and StdCParser.g
—
Sven Gothel /
cgit
- Bug 1450: Fix 'Number' rule, i.e. only consume positive numbers as `additiveExpr` and `unaryExpr` consume the '-' operator
—
Sven Gothel /
cgit
- Bug 1450: Widen ConstantDefinition.isConstantExpression() to include 'patternCPPOperand'
—
Sven Gothel /
cgit
- Bug 1450: Be more verbose w/ JavaEmitter comment lines for enums and defines, include native expression
—
Sven Gothel /
cgit
- Bug 1450: Add test snippets covering the issues: test2.h for Bindingtest2, TestJCPP and new TestCParser
—
Sven Gothel /
cgit
- Bug 1450: TestCParser: Enable test10_cc() w/o JCPP
—
Sven Gothel /
cgit
- GlueGen: 'from expression' -> 'with expression'
—
Sven Gothel /
cgit
- AudioSink: Enhance description re 'AudioFrame' and 'frameDuration' also using enqueueData() -> 1 AudioFrame
—
Sven Gothel /
cgit
- AudioSink: Add getAvgFrameDuration(); API-Doc: Default*: 'frame' -> AudioFrame; init(): Use getAvgFrameDuration() for queue growth and limit.
—
Sven Gothel /
cgit
- AudioFormat/AudioSink: Use float in seconds for duration to avoid losing precision when dealing with stats, averages etc
—
Sven Gothel /
cgit
- AudioSink: Refine context locking where supported, have a more usable universal API interface
—
Sven Gothel /
cgit
- AudioSink: Drop getMaxSupportedChannels(), use getNativeFormat(), getPreferredFormat() and isSupported(); Add setChannelLimit() impacting
—
Sven Gothel /
cgit
- JarUtil.getRelativeOf(): Make'cutOffInclSubDir' optional, i.e. ignore if null in case no sub-directory is desired
—
Sven Gothel /
cgit
- Promote common av (audio/video) classes (AudioSink, ..) from JOGL to GlueGen for cross module usage in JOAL, JOGL, ...
—
Sven Gothel /
cgit
- AudioSink: Add exclusive locking allowing implementations to short-cut for less management overhead (-> OpenAL + Synthesizer)
—
Sven Gothel /
cgit
- Place AudioFormat in its own file outside AudioSink, JOAL's ALAudioSink has moved to com.jogamp.openal.util.ALAudioSink (public)
—
Sven Gothel /
cgit
- AudioFormat: Fix rounding/int-truncate errors, all millisecond params use type int
—
Sven Gothel /
cgit
- AudioSink: Add latency query, init(..) frameDuration in ms shall be int, fix API doc
—
Sven Gothel /
cgit
- Add AudioSink.getSourceCount(), refine Audio* API doc
—
Sven Gothel /
cgit
- AudioSink.init(): Detail 'frameDuration' intend and impact of underlying JOAL/OpenAL implementation
—
Sven Gothel /
cgit
- doc/JogAmpMacOSVersions.md: Fix 'Build node 12.6.5' row (11 -> 12)
—
Sven Gothel /
cgit
- GlueGen 7z File Layout: Have *-java-src.zip inside jar folder
—
Sven Gothel /
cgit
- Next JogAmp Release to be 2.5.0, mark w/ developer RC + timestamp tag
—
Sven Gothel /
cgit
- Buffers: Add put[34][bsifd](..) and array-put variants for flexibility/performance.
—
Sven Gothel /
cgit
- Add Clock, implementing proper monotonic and wallclock time using Instant (sec + nsec), currentTimeMillis() is also monotonic now, reused by Platform. Dropped Platform.currentTimeMicros()
—
Sven Gothel /
cgit
- Add PerfCounterCtrl, a simple performance counter controller
—
Sven Gothel /
cgit
- Fix Clock for performance counter: Add currentTimeNanos() since module startup, retrievable via getMonotonicStartupTime(). (performance)
—
Sven Gothel /
cgit
- Clock: Rename currentTimeNanos() -> currentNanos() as it represents the duration since module startup and not time.
—
Sven Gothel /
cgit
- Clock: Consider return code on failed native clock_gettime(..) call; Add Win32 clock_gettime() implementation.
—
Sven Gothel /
cgit
- Clock: Use Clock.currentNanos() instead of System.nanoTime()
—
Sven Gothel /
cgit
- IOUtil.copyStream2{File|Stream)(..): Drop unused and misleading 'totalNumBytes' argument, since we have no user-feedback callback passed.
—
Sven Gothel /
cgit
- IOUtil.copyStream2Byte{Array|Buffer}(..): API Doc: Clarify that the complete stream is copied.
—
Sven Gothel /
cgit
- IOUtil.copyStreamChunk2ByteBuffer(..): Added new method to copy a chunk (segment) of the input stream (skipBytes, byteCount)
—
Sven Gothel /
cgit
- HowToBuild: Windows: We use MinGW64 w/ 'posix threads' instead of 'win32 threads', allowing C++ std::mutex etc to be used (openal-soft)
—
Sven Gothel /
cgit
- HowToBuild: MacOS: Detail cmake commandline installation and mention 7-Zip
—
Sven Gothel /
cgit
- Roll back MacOS Min Version Requirement to 10.5 from 11.0 (macosx-version-min)
—
Sven Gothel /
cgit
- MacOS: Using 'Minimum Deployment Target' 10.7 (Lion) and documenting MacOS versions
—
Sven Gothel /
cgit
- doc/JogAmpMacOSVersions.md Fix markdown list
—
Sven Gothel /
cgit
- doc/JogAmpMacOSVersions.md: Spaces (and 2nd attempt to fix the list depth in .. Build Setup ..
—
Sven Gothel /
cgit
- doc/JogAmpMacOSVersions.md: 3rd times a charm (space and list depth)
—
Sven Gothel /
cgit
- doc/JogAmpMacOSVersions.md 4th round (...)
—
Sven Gothel /
cgit
- GlueGen: Mark 2.4.0 as released.
—
Sven Gothel /
cgit