aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Bug 1481 - Hide [ArgumentIs]PascalString argument's lengthSven Gothel2023-12-0216-166/+267
| | | | | | | | 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-281-1/+9
| | | | 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-282-3/+10
| | | | | | | | | | | 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-2615-68/+226
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-065-9/+277
| | | | | | | | 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
* 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-202-0/+490
| | | | thread with an optional minimum execution duration
* InterruptSource.Thread: Add ctor variant w/ sole Runnable argument (was missing)Sven Gothel2023-08-231-0/+7
|
* 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-105-11/+367
| | | | 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-085-1426/+26
| |
* | Bump jcpp (merged w/ jcpp upstream v1.4.14) and adopt to changesSven Gothel2023-08-081-2/+5
|/
* Minor cleanup (includes, spacing)Sven Gothel2023-08-055-12/+1
|
* Cleanup unit test class names (pt3): Try to start w/ 'Test', remove ↵Sven Gothel2023-08-051-3/+3
| | | | intermediate 'Test' for supporting, non-test classes
* Cleanup unit test class names (pt2): Try to start w/ 'Test', remove ↵Sven Gothel2023-08-0516-23/+23
| | | | intermediate 'Test' for supporting, non-test classes
* Cleanup unit test class names: Try to start w/ 'Test', remove intermediate ↵Sven Gothel2023-08-059-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
* WIP JavaCallback Tests: Fix Test4p2JavaCallback.chapter__TestLoadLibrary() ↵Sven Gothel2023-08-051-1/+1
| | | | issue loadBindingtest2p2() not loadBindingtest2p1()
* WIP JavaCallback Tests: Fix typo in 'CustomJavaCode' Java class target nameSven Gothel2023-08-051-1/+1
|
* WIP JavaCallback Tests: Fix: test2-CustomJavaImplCode.java.stub must be ↵Sven Gothel2023-08-051-2/+3
| | | | 'IncludeAs' for both implementations, Bindingtest2p1Impl and Bindingtest2p2Impl
* WIP JavaCallback Tests: Rename test2-gluegen.cfg -> test2-if.cfgSven Gothel2023-08-051-0/+0
|
* Merge remote-tracking branch 'Mathieu_Fery/wip/test_case_callback_emission'Sven Gothel2023-08-0418-295/+835
|\
| * wip(test_case): Example of test case for issue related of ↵Mathieu Féry2023-08-0418-295/+835
| | | | | | | | | | | | 927bbc7160a812bb29c0e7120d4a3009bfb13bbf Almost done
* | Merge remote-tracking branch ↵Sven Gothel2023-08-045-7/+19
|\ \ | | | | | | | | | 'Mathieu_Fery/feature/prevent_callback_generation_if_setter_is_absent'
| * | feat(callbackGenerator): Prevent generation of CallBack interface if setter ↵Mathieu Féry2023-08-045-7/+19
| | | | | | | | | | | | related isn't present
* | | Merge remote-tracking branch ↵Sven Gothel2023-08-041-4/+15
|\ \ \ | | | | | | | | | | | | 'Mathieu_Fery/feat/array_accessor_with_getter_of_field_in_pascal_case'
| * | | feat(arrayAccessor): Allow to use ReturnedArrayLength with getter associated ↵Mathieu Féry2023-08-031-4/+15
| |/ / | | | | | | | | | with field with name in PascalCase or camelCase