* Use new MediaPipe packages and update version
* Apply updates from MediaPipeUnityPlugin
All while keeping C pointers like `void*` instead of `IntPtr`
and various other practices.
* Add VSCode task to debug tests
* Fix unset freeHGlobal delegate
This can happen because the static code of the NativeMethods class
could have not run, for some reason...
* Fix all examples
* Fix import reordering
* fix incorrect ImageFrame memory ownership handling
* Update runtime package
* Fix PInvoke method name
* Clean ImageFrame code
* Update ImageFrameTest
* Update Mediapipe.Net package version
* Make osu!framework asynchronous
This is to compensate for the performance drop instated by this PR.
Other examples can stay as-is.
Fortunately Mediapipe handles asynchronous code perfectly well.
* Fix linting
Co-authored-by: Speykious <speykious@gmail.com>
* Remove this bool marshal
* Literally remove all bool marshals
* Remove CharSet.Unicode warning
* Remove most FunctionPtr marshals
* Remove `[return: MarshalAs(...)]`
* Replace all `IntPtr`s with `void*`s
* Replace all `void*.Zero`s with `null`s
* Make native method classes unsafe
* U N S A F E
* Replace `PtrToStructure` with pointer arithmetic
* Run `dotnet format`
* Temp ugly Activator fix
* Remove `.ToPointer()`
* Use `byte` to return a `bool`
* Backwards compatibility with `Activator`
Yeah that sucks :(
* Replace `Marshal.Copy` by pointer arithmetic
* Replace `PtrToStringAnsi()` with `new string()`
* Remove unnecessary usings
* Explicitly type string pointers as `sbyte*`
* It actually doesn't hang?
* `MediaPipeException` -> `MediapipeException`
* Simplify `for` loops
* Remove unnecessary `float*` cast
* Some more explicit types for `ImageFrame`
* Remove unnecessary cast
* Looks like we forgor a `using` 💀
* Create `SafeArrayCopy` helper method
* Document `SafeArrayCopy`
* Port test attributes
* Add necessary references
* Port `TimestampTest`
* Port `CalculatorGraphTest`
* Port all `Framework.Tool` tests
* Port all `Framework.Port` tests
* Fix encoding
* Use `CharSet.Ansi` and disable warning CA2101
* Make CI run MediaPipe.NET tests
* Make `#region` names consistent
* Port all `Framework.Packet` tests
* Allow unsafe blocks
* Port `ImageFrameTest`
* Fix linting errors
* Port all `Gpu` tests
* Fix region name inconsistencies
* Fix the only GPU-side error in existence
* GPU works like a charm! (We'll have to find a way to correctly separate CPU and GPU tests.)
* `GpuOnly`: when they forgor 💀
* CI: Add tmate session for debugging
* Use corresponding runtime on tests
* Setup tmate session *after* tests
* Only setup the tmate session if previous step failed
* Fix `failure` word
* Ignore SignalAbort tests on Windows
* Circumvent OS differences for `DebugTypeName()` (Not even sure it's fine to do but anyway)
* Label some throw-exception tests as `SignalAbort`
* Maybe that's why...
* Install FFmpeg on MacOS to fix undefined symbols
* Remove MacOS test from CI
* Fix test result path