aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Bug 1481 - Hide [ArgumentIs]PascalString argument's lengthSven Gothel2023-12-0219-176/+278
| | | | | | | | Native pascal strings shall be just treated as normal Java strings on the Java side. Hence drop the length parameter across generated API, i.e. - C Function bindings - Java Callbacks
* Bug 1474: Only quote exe-file path on Windows for executionSven Gothel2023-11-282-3/+11
| | | | Double quoting of the exe-file for execution is only allowed and required on Window.
* Bug 1474: Allow temp folder for exe-file test to contain parenthesis on WindowsSven Gothel2023-11-285-11/+20
| | | | | | | | | | | If the temp path contains parenthesis on Windows, e.g. the username or the sub-temp folder, the used exeTestFile.getCanonicalPath() can't be used by 'Runtime.getRuntime().exec( path )'. Example: C:\Users\(ABC)abc\AppData\Local\Temp Output: Exe-Tst: 'C:\Users\' is not recognized as an internal or external command, operable program or batch file. Hence the complete canonical path must be quoted, i.e. Path: "C:\Users\(ABC)abc\AppData\Local\Temp"
* Bug 1479: NativeLibrary: Add getNativeLibraryPath() returning queried used ↵Sven Gothel2023-11-2616-70/+228
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | native library path, supported throughout DynamicLibraryBundle[Info] Motivation: It is helpful to retrieve the actually used native library pathname, since loading a library w/o absolute path but lookup through LD_LIBRARY_PATH may render it hard for the user to determine which library is used. +++ +++ Windows implementation simply can use GetModuleFileNameA() with the native library handle. POSIX implementation may utilize a symbol-name to retrieve its address within the loading native library used to retrieved the library information via dladdr(). To support this feature throughout DynamicLibraryBundle and DynamicLibraryBundleInfo, the custom DynamicLibraryBundleInfo specializations shall provide optional symbol-names per each tool-library-name for the POSIX implementation, see above. public interface DynamicLibraryBundleInfo { ... /** * Returns optional list of optional symbol names per {@link #getToolLibNames()} * in same order for an OS which requires the symbol's address to retrieve * the path of the containing library. */ public List<String> getSymbolForToolLibPath(); ... }
* PTS: Add copy constructorSven Gothel2023-10-161-0/+5
|
* PTS: get(currentMillis): Employ rounding in integer conversionSven Gothel2023-10-161-2/+2
|
* Bug 1472: Enhance AV Sync: Pass through PTS object in AudioSink, tracking ↵Sven Gothel2023-10-154-19/+159
| | | | | | | last PTS value against System Clock Reference (SCR) This allows passing through actual SCR with the PTS when enqueueing audio frames and utilizing it when querying actual time lapsed PTS value (interpolation SCR to currentMillis).
* AudioSink: Rename getQueued{Time->Duration}(), add updateQueue()Sven Gothel2023-10-063-4/+22
|
* AudioSink/TimeFrame1: API doc: Add notes about integer stored milliseconds ↵Sven Gothel2023-10-062-7/+39
| | | | for PTS and duration, i.e. good for 24.855 days
* Clock/Platform: Add currentMillis() analogue to currentNanos(), returning ↵Sven Gothel2023-10-066-10/+279
| | | | | | | | current monotonic milliseconds **since start of this application** Also added TSPrinter, a simple millisecond timestamp prepending `print*()` wrapper for a {@link PrintStream}. Test coverage via TestClock01.
* AudioSink: Just pass a finte buffer size (KISS), add getLastBufferedPTS() to ↵Sven Gothel2023-10-043-67/+52
| | | | access the last buffered audio pts
* build.xml: Fix typo in a target descriptionSven Gothel2023-10-021-1/+1
|
* WorkerThread.start(paused): Merge RUNNING | ACTIVESven Gothel2023-09-221-1/+1
| | | | Last review editting I hope :)
* Uri: Added `Uri tryUriOrFile(final String uri_s)` for convenience / ↵Sven Gothel2023-09-221-0/+56
| | | | usability, as well as getScheme(String), isValidScheme(String), isFileScheme(String) and isHttpxScheme(String)
* WorkerThread: Enhanced testing, added optional StateCallback for state ↵Sven Gothel2023-09-222-134/+605
| | | | changes, using bitfield state (earmarked to be used within GLMediaPlayerImpl etc)
* WorkerThread: Remove minDelayMS field, have it in Runnable branch onlySven Gothel2023-09-211-3/+2
|
* WorkerThread: Fix minDelayMS assignment using validated field valueSven Gothel2023-09-211-1/+1
|
* WorkerThread: Add optional minDelay to throttle excecutionSven Gothel2023-09-212-24/+57
|
* WorkerThread: Move 'streamErr' Exception to local RunnableSven Gothel2023-09-201-1/+1
|
* Add WorkerThread: A re-start'able, pause'able and interrupt'able worker ↵Sven Gothel2023-09-203-1/+492
| | | | thread with an optional minimum execution duration
* Bump 2.6.0-rc-...Sven Gothel2023-08-231-3/+3
|
* InterruptSource.Thread: Add ctor variant w/ sole Runnable argument (was missing)Sven Gothel2023-08-231-0/+7
|
* Bump: 2.5.0 Releasev2.5.0Sven Gothel2023-08-181-2/+2
|
* doc/GlueGen_Mapping.md: Fix GlueGen Manual read consideration ...Sven Gothel2023-08-142-3/+2
|
* Bug 1449: Fix link style in manual refs ..Sven Gothel2023-08-142-5/+1
|
* Bug 1449: Convert manual/index.html to `gfm` (GitHub-Flavored Markdown) ↵Sven Gothel2023-08-147-2322/+4485
| | | | | | | | using markdown -> manual/index.md and add conversion recipes + make/scripts/md2html_update.sh Noyte: Additionally edited 'doc/misc/macos_nativelib_dependencies.md` to include `Use explicit OpenJDK/Temurin JDK `java` executable path` as a workaround to pass `DYLD_LIBRARY_PATH` to `/usr/bin/java`.
* feat(manual): Update configuration documentation.Féry Mathieu (Mathius)2023-08-131-2/+126
| | | | | | | | | | | | | | | | | Add following configuration : * CustomJNICode * ExtendedInterfaceSymbolsIgnore * ExtendedInterfaceSymbolsOnly * ExtendedImplementationSymbolsIgnore * ExtendedImplementationSymbolsOnly * ExtendedIntfAndImplSymbolsIgnore * ExtendedIntfAndImplSymbolsOnly * MaxOneElement * ParentClass * ReturnsStringOnly Update following configuration : * Extends
* Bump JCPP: Use Unix '/' file separator in #line output for UNIFIED_OUTPUTSven Gothel2023-08-123-3/+6
|
* GlueGen: 'from expression' -> 'with expression'Sven Gothel2023-08-101-1/+1
|
* Bug 1450: TestCParser: Enable test10_cc() w/o JCPPSven Gothel2023-08-101-1/+1
|
* Bug 1450: Add test snippets covering the issues: test2.h for Bindingtest2, ↵Sven Gothel2023-08-107-14/+371
| | | | TestJCPP and new TestCParser
* Bug 1450: Be more verbose w/ JavaEmitter comment lines for enums and ↵Sven Gothel2023-08-102-4/+9
| | | | defines, include native expression
* Bug 1450: Widen ConstantDefinition.isConstantExpression() to include ↵Sven Gothel2023-08-101-2/+4
| | | | | | 'patternCPPOperand' i.e. all supported operands used for constant-expression of define macros.
* Bug 1450: Fix 'Number' rule, i.e. only consume positive numbers as ↵Sven Gothel2023-08-101-2/+2
| | | | | | | | | | | | | | | `additiveExpr` and `unaryExpr` consume the '-' operator n GlueGen commit 10032c0115f2794a254cffc2a1cd5e48ca8ff0b8 in branch JOGL_2_SANDBOX Ken hacked in consuming a '-' prefix to have negative numbers covered by 'Number'. This is wrong, as it breaks deduction of `additiveExpr` and 'unaryExpr' rules, which want to consume '-' and '+'. The latter is used to completely resolve constant expressions starting from the 'constExpr' rule. See ISO 9899:202x Programming Language - C https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2596.pdf
* ANTLR Syntax: Add debugging facility for GnuCParser.g and StdCParser.gSven Gothel2023-08-102-9/+29
|
* TestJCPP: Add recursive-include test and include a header file starting with ↵Sven Gothel2023-08-084-9/+53
| | | | '-' and in a subdir containing a '-'
* Merge remote-tracking branch 'Mathieu_Fery/1447-java-wildcard-parsing'Sven Gothel2023-08-081-1/+7
|\
| * feat(generation): Fix generic parsing inside JavaParser.g to allow parsing ↵Mathieu Féry2023-08-081-1/+7
| | | | | | | | of java callback implementation
* | Merge remote-tracking branch ↵Sven Gothel2023-08-081-0/+1
|\ \ | | | | | | | | | 'Mathieu_Fery/1446-parent-class-directives-issue-with-if-and-impl'
| * | feat(generation): Fix CodeGenUtils.emitJavaHeadersMathieu Féry2023-08-081-0/+1
| |/ | | | | | | When both classExtended and interfaces are specified for given class space missing between classExtended and implements keyword
* | Drop PCPP, GlueGen exclusively uses JCPP; Adopt test case Test{P->J}CPPSven Gothel2023-08-088-1492/+45
| |
* | Bump jcpp (merged w/ jcpp upstream v1.4.14) and adopt to changesSven Gothel2023-08-085-18/+54
|/
* JavaCallback: Add Mathieu Féry's detailed git comment regarding ↵Sven Gothel2023-08-052-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | 2abb40b0ca9a6a06bdbe3e66b4235301ed15c693; Updated GlueGen_Mapping.md Original comment of commit 2abb40b0ca9a6a06bdbe3e66b4235301ed15c693 wip(test_case): Example of test case for issue related of 927bbc7160a812bb29c0e7120d4a3009bfb13bbf Revised comment taken from unmerged updated branch f6de3646acf0fdadf55708fd8a1c42fbd8663bc5 wip(test_case): Example of test case for issue related of 927bbc7160a812bb29c0e7120d4a3009bfb13bbf Some short summary of modifications : * Add tests with each emitters for test2, but tests are shared and run for each emitters * Update JavaParser.g to allow parsing of bindings generated after test2 processing * Add basic management of generic type (But not yet retrieved inside classTypeSpec args) * Add basic management of annotations (with or w/o parameter(s)) (Retrieved in statement, classes and interfaces but not used) * Align lexer constants in JavaParser.g * Update JavaParser.g to allow fetching all inner classes and inner interfaces to allow excluding by ExtendedInterfaceSymbolsIgnore * Modify JavaConfiguration::requiresJavaCallbackCode because all callback need to force generation not only callback without user param * Functions not generated w/o JavaConfiguration::requiresJavaCallbackCode : * SetLogCallBack12a * SetLogCallBack12b * MessageCallback11b * alBufferCallback0
* Minor cleanup (includes, spacing)Sven Gothel2023-08-055-12/+1
|
* Add notes `Loading a MacOS Native Library's Dependencies` and use absolute ↵Sven Gothel2023-08-052-6/+44
| | | | path in unit test script for library-path
* Cleanup unit test class names (pt3): Try to start w/ 'Test', remove ↵Sven Gothel2023-08-052-10/+10
| | | | intermediate 'Test' for supporting, non-test classes
* Cleanup unit test class names (pt2): Try to start w/ 'Test', remove ↵Sven Gothel2023-08-0518-25/+25
| | | | intermediate 'Test' for supporting, non-test classes
* Cleanup unit test class names: Try to start w/ 'Test', remove intermediate ↵Sven Gothel2023-08-0510-0/+0
| | | | 'Test' for supporting, non-test classes
* JavaConfiguration.requiresJavaCallbackCode() shall return true for all ↵Sven Gothel2023-08-051-1/+1
| | | | | | JavaCallback cases no just non-userParam case Additional body code for JavaCallback is required for methods it.
* GlueGen Code Unit Tests using a statically linked tool library do not need ↵Sven Gothel2023-08-054-21/+4
| | | | | | to load the tool library dynamically, hence dropped. Just ensure GlueGen itself is initializes via Platform.initSingleton() in common BaseClass