Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Rename StringUtil.strip() -> StringUtil.trim(), refine API docHEADmaster | Sven Göthel | 2024-02-04 | 2 | -43/+45 |
| | |||||
* | Adding StringUtil, containing basic utility functions as well as unicode ↵ | Sven Göthel | 2024-02-04 | 2 | -0/+504 |
| | | | | space (whitespace) and full- and halfwidth tests. | ||||
* | PTS: Rename millisToTimeStr() -> toTimeStr(), analogue to toMillis() | Sven Göthel | 2024-02-02 | 1 | -10/+10 |
| | |||||
* | PTS: Add toMillis(String), parsing string representation in ↵ | Sven Göthel | 2024-02-02 | 1 | -3/+28 |
| | | | | '[H[H]:]m[m]:s[s][.S*]' using custom DateTimeFormatter to milliseconds, complementing millisToTimeStr(..) | ||||
* | PTS: Add convenient getCurrent() passing Clock.currentMillis() to get(long). | Sven Göthel | 2024-01-31 | 1 | -0/+2 |
| | |||||
* | Merge remote-tracking branch ↵ | Sven Göthel | 2024-01-05 | 1 | -1/+2 |
|\ | | | | | | | 'Mathieu_Fery/1482-npe-on-java-callback-call-with-native-null-ptr' | ||||
| * | feat(callbackGenerator): Prevent NPE during call of java callback | Mathieu Féry | 2023-12-06 | 1 | -1/+2 |
| | | | | | | | | NPE can occured when argument supplied by native api are compoundTypeWrapper but pointer are NULL | ||||
* | | PTS: Add millisToTimeStr(..) convenient time string representation, also ↵ | Sven Gothel | 2023-12-30 | 1 | -0/+67 |
|/ | | | | used by added get{SCR, Last, }TimeStr(..) methods | ||||
* | Bug 1481 - Remove redundant isPascalLen() branch | Sven Gothel | 2023-12-02 | 1 | -2/+0 |
| | |||||
* | TestStructGen*: Enable standalone testing, enforce Platform.initSingleton() | Sven Gothel | 2023-12-02 | 2 | -0/+4 |
| | |||||
* | Bug 1481 - Hide [ArgumentIs]PascalString argument's length | Sven Gothel | 2023-12-02 | 16 | -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 execution | Sven Gothel | 2023-11-28 | 1 | -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 Windows | Sven Gothel | 2023-11-28 | 2 | -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 Gothel | 2023-11-26 | 15 | -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 constructor | Sven Gothel | 2023-10-16 | 1 | -0/+5 |
| | |||||
* | PTS: get(currentMillis): Employ rounding in integer conversion | Sven Gothel | 2023-10-16 | 1 | -2/+2 |
| | |||||
* | Bug 1472: Enhance AV Sync: Pass through PTS object in AudioSink, tracking ↵ | Sven Gothel | 2023-10-15 | 4 | -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 Gothel | 2023-10-06 | 3 | -4/+22 |
| | |||||
* | AudioSink/TimeFrame1: API doc: Add notes about integer stored milliseconds ↵ | Sven Gothel | 2023-10-06 | 2 | -7/+39 |
| | | | | for PTS and duration, i.e. good for 24.855 days | ||||
* | Clock/Platform: Add currentMillis() analogue to currentNanos(), returning ↵ | Sven Gothel | 2023-10-06 | 5 | -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 Gothel | 2023-10-04 | 3 | -67/+52 |
| | | | | access the last buffered audio pts | ||||
* | WorkerThread.start(paused): Merge RUNNING | ACTIVE | Sven Gothel | 2023-09-22 | 1 | -1/+1 |
| | | | | Last review editting I hope :) | ||||
* | Uri: Added `Uri tryUriOrFile(final String uri_s)` for convenience / ↵ | Sven Gothel | 2023-09-22 | 1 | -0/+56 |
| | | | | usability, as well as getScheme(String), isValidScheme(String), isFileScheme(String) and isHttpxScheme(String) | ||||
* | WorkerThread: Enhanced testing, added optional StateCallback for state ↵ | Sven Gothel | 2023-09-22 | 2 | -134/+605 |
| | | | | changes, using bitfield state (earmarked to be used within GLMediaPlayerImpl etc) | ||||
* | WorkerThread: Remove minDelayMS field, have it in Runnable branch only | Sven Gothel | 2023-09-21 | 1 | -3/+2 |
| | |||||
* | WorkerThread: Fix minDelayMS assignment using validated field value | Sven Gothel | 2023-09-21 | 1 | -1/+1 |
| | |||||
* | WorkerThread: Add optional minDelay to throttle excecution | Sven Gothel | 2023-09-21 | 2 | -24/+57 |
| | |||||
* | WorkerThread: Move 'streamErr' Exception to local Runnable | Sven Gothel | 2023-09-20 | 1 | -1/+1 |
| | |||||
* | Add WorkerThread: A re-start'able, pause'able and interrupt'able worker ↵ | Sven Gothel | 2023-09-20 | 2 | -0/+490 |
| | | | | thread with an optional minimum execution duration | ||||
* | InterruptSource.Thread: Add ctor variant w/ sole Runnable argument (was missing) | Sven Gothel | 2023-08-23 | 1 | -0/+7 |
| | |||||
* | GlueGen: 'from expression' -> 'with expression' | Sven Gothel | 2023-08-10 | 1 | -1/+1 |
| | |||||
* | Bug 1450: TestCParser: Enable test10_cc() w/o JCPP | Sven Gothel | 2023-08-10 | 1 | -1/+1 |
| | |||||
* | Bug 1450: Add test snippets covering the issues: test2.h for Bindingtest2, ↵ | Sven Gothel | 2023-08-10 | 5 | -11/+367 |
| | | | | TestJCPP and new TestCParser | ||||
* | Bug 1450: Be more verbose w/ JavaEmitter comment lines for enums and ↵ | Sven Gothel | 2023-08-10 | 2 | -4/+9 |
| | | | | defines, include native expression | ||||
* | Bug 1450: Widen ConstantDefinition.isConstantExpression() to include ↵ | Sven Gothel | 2023-08-10 | 1 | -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 Gothel | 2023-08-10 | 1 | -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.g | Sven Gothel | 2023-08-10 | 2 | -9/+29 |
| | |||||
* | TestJCPP: Add recursive-include test and include a header file starting with ↵ | Sven Gothel | 2023-08-08 | 4 | -9/+53 |
| | | | | '-' and in a subdir containing a '-' | ||||
* | Merge remote-tracking branch 'Mathieu_Fery/1447-java-wildcard-parsing' | Sven Gothel | 2023-08-08 | 1 | -1/+7 |
|\ | |||||
| * | feat(generation): Fix generic parsing inside JavaParser.g to allow parsing ↵ | Mathieu Féry | 2023-08-08 | 1 | -1/+7 |
| | | | | | | | | of java callback implementation | ||||
* | | Merge remote-tracking branch ↵ | Sven Gothel | 2023-08-08 | 1 | -0/+1 |
|\ \ | | | | | | | | | | 'Mathieu_Fery/1446-parent-class-directives-issue-with-if-and-impl' | ||||
| * | | feat(generation): Fix CodeGenUtils.emitJavaHeaders | Mathieu Féry | 2023-08-08 | 1 | -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}CPP | Sven Gothel | 2023-08-08 | 5 | -1426/+26 |
| | | |||||
* | | Bump jcpp (merged w/ jcpp upstream v1.4.14) and adopt to changes | Sven Gothel | 2023-08-08 | 1 | -2/+5 |
|/ | |||||
* | Minor cleanup (includes, spacing) | Sven Gothel | 2023-08-05 | 5 | -12/+1 |
| | |||||
* | Cleanup unit test class names (pt3): Try to start w/ 'Test', remove ↵ | Sven Gothel | 2023-08-05 | 1 | -3/+3 |
| | | | | intermediate 'Test' for supporting, non-test classes | ||||
* | Cleanup unit test class names (pt2): Try to start w/ 'Test', remove ↵ | Sven Gothel | 2023-08-05 | 16 | -23/+23 |
| | | | | intermediate 'Test' for supporting, non-test classes | ||||
* | Cleanup unit test class names: Try to start w/ 'Test', remove intermediate ↵ | Sven Gothel | 2023-08-05 | 9 | -0/+0 |
| | | | | 'Test' for supporting, non-test classes | ||||
* | JavaConfiguration.requiresJavaCallbackCode() shall return true for all ↵ | Sven Gothel | 2023-08-05 | 1 | -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 Gothel | 2023-08-05 | 4 | -21/+4 |
| | | | | | | to load the tool library dynamically, hence dropped. Just ensure GlueGen itself is initializes via Platform.initSingleton() in common BaseClass |