Commit Graph

178 Commits

Author SHA1 Message Date
Rémi Verschelde
c21215628d
Merge pull request #59510 from bruvzg/use_woff2_fonts 2022-03-25 11:25:42 +01:00
bruvzg
78051f93a3
Convert the editor and default theme fonts to WOFF2 format to save space. 2022-03-25 11:45:55 +02:00
K. S. Ernest (iFire) Lee
3529141b4b Update basis universal to version 1.16.3.
Enable basis universal uastc internal storage instead of etc1s for better quality.
2022-03-24 22:41:23 -07:00
Hendrik Brucker
2a55f10e8b Add FastNoiseLite / general noise overhaul
- replace OpenSimplexNoise

Co-authored-by: Cory Petkovsek <tinmanjuggernaut@users.noreply.github.com>
2022-03-20 14:53:45 +01:00
bruvzg
e07a8f0aa6
Add brotli decoder and WOFF2 support. 2022-03-18 15:09:38 +02:00
Rémi Verschelde
3d7f155586 Remove unused Bullet module and thirdparty code
It has been disabled in `master` since one year (#45852) and our plan
is for Bullet, and possibly other thirdparty physics engines, to be
implemented via GDExtension so that they can be selected by the users
who need them.
2022-03-09 21:45:47 +01:00
K. S. Ernest (iFire) Lee
f7a809603c ThorVG: Sync with upstream 0.8.0 2022-03-08 06:30:31 -08:00
Bastiaan Olij
65bae5a341 Add OpenXR 1.0.22 to thirdparty libraries
Will be compiled and used in the next commit.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-02-23 11:50:45 +01:00
Rémi Verschelde
04d283dc23
Merge pull request #36198 from Calinou/code-font-jetbrains-mono 2022-01-20 21:43:17 +01:00
Hugo Locurcio
40be15920f
Remove support for PVRTC texture encoding and decoding
On the only platform where PVRTC is supported (iOS),
ETC2 generally supersedes PVRTC in every possible way. The increased
memory usage is not really a problem thanks to modern iOS' devices
processing power being higher than its Android counterparts.
2022-01-14 21:08:22 +01:00
K. S. Ernest (iFire) Lee
8d02759c72
Use ThorVG instead of NanoSVG for importing SVGs
ThorVG is a platform-independent portable library for drawing vector-based
scene and animation.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-01-14 15:49:39 +01:00
Rémi Verschelde
f615926d3c
freetype: Update to upstream version 2.11.1 2022-01-13 08:40:18 +01:00
bruvzg
b63aced768
HarfBuzz: Update to version 3.2.0 2022-01-12 10:17:30 +02:00
Hugo Locurcio
b5f88b1efc
Use JetBrains Mono as the editor's default code font
This recently released font has been gaining popularity thanks to
its readability and aesthetics. It also features font ligatures
(enabled by default, but can be disabled in the Editor Settings).

Its character set isn't as extensive as Hack's, but it should be
sufficient for most uses.

More information at <https://www.jetbrains.com/lp/mono/>.

This also reorders the third-party font notices to be in
alphabetical order.
2022-01-05 01:35:50 +01:00
Rémi Verschelde
fe52458154
Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
Je06jm
20deb0917d Implemented AMD's FSR as a computer shader for upscaling 3D scenes 2021-11-23 14:16:03 -07:00
Rémi Verschelde
bd896bf915
Merge pull request #55122 from akien-mga/zstd-1.5.0 2021-11-20 10:46:41 +01:00
Rémi Verschelde
4f444cc815
Merge pull request #55120 from akien-mga/pcre2-10.39 2021-11-20 10:46:24 +01:00
Rémi Verschelde
e6fd2d550e
Merge pull request #55115 from akien-mga/tinyexr-1.0.1 2021-11-20 10:45:56 +01:00
Rémi Verschelde
5bea1370f0
zstd: Update to upstream version 1.5.0
Release notes: https://github.com/facebook/zstd/releases/tag/v1.5.0
2021-11-19 13:01:58 +01:00
Rémi Verschelde
914b7f825d
pcre2: Update to upstream version 10.39
Changelog: https://github.com/PhilipHazel/pcre2/blob/pcre2-10.39/ChangeLog
2021-11-19 12:47:40 +01:00
Rémi Verschelde
432ac521ef
miniupnpc: Update to version 2.2.3
Library code and public headers are now properly separated, we can fix include paths
to remove the redundant subfolder.
2021-11-19 12:00:37 +01:00
Rémi Verschelde
46d3effa99
tinyexr: Sync with upstream 1.0.1
Removes miniz as a bundled dependency, relies on our own zlib instead.

Includes a couple commits ahead of `v1.0.1` tag to fix MinGW builds.
2021-11-19 11:25:14 +01:00
Rémi Verschelde
ae74e78909
Remove WebM support (and deps libvpx and opus)
We've had many issues with WebM support and specifically the libvpx library
over the years, mostly due to its poor integration in Godot's buildsystem,
but without anyone really interested in improving this state.

With the new GDExtensions in Godot 4.0, we intend to move video decoding to
first-party extensions, and this would likely be done using something like
libvlc to expose more codecs.

Removing the `webm` module means we can remove libsimplewebm, libvpx and
opus, which we were only used for that purpose. Both libvpx and opus were
fairly complex pieces of the buildsystem, so this is a nice cleanup.

This also removes the compile-time dependency on `yasm`.

Fixes lots of compilation or non-working WebM issues which will be linked
in the PR.
2021-10-15 12:09:11 +02:00
Rémi Verschelde
8d5475bd28
doctest: Update to 2.4.6 2021-10-04 11:20:19 +02:00
bruvzg
27e9d07f11 Remove Scene dependency from the TextServer, use scalable hex box font instead of built-in bitmap one. 2021-10-03 00:22:10 +03:00
kobewi
11e7963a14 Refactor and move easing equations 2021-09-24 13:47:13 +02:00
bruvzg
3061e3859d HarfBuzz: Update to version 3.0.0 2021-09-20 09:52:45 +03:00
Ellen Poe
f5d9c7b487 Replace stb_vorbis with libogg+libvorbis 2021-09-09 19:39:04 -07:00
bruvzg
4c3f7d1290 Makes FontData importable resource.
Adds multi-channel SDF font texture generation and rendering support.
Adds per-font oversampling support.
Adds FontData import plugins (for dynamic fonts, BMFonts and monospaced image fonts), font texture cache pre-generation and loading.
Adds BMFont binary format and outline support.
2021-08-27 15:43:18 +03:00
Aaron Franke
ae1702bee5
Replace HTTP links with HTTPS for sites with HTTPS versions 2021-08-22 20:13:11 -05:00
Pedro J. Estébanez
7b7e17a626 Upgrade Vulkan memory allocator 2021-08-13 00:05:41 +02:00
bruvzg
d7957a2a20 Use "volk" instead of statically linked Vulkan loader. 2021-08-12 14:25:15 +03:00
reduz
0d2e02945b Implement shader caching
* Shader compilation is now cached. Subsequent loads take less than a millisecond.
* Improved game, editor and project manager startup time.
* Editor uses .godot/shader_cache to store shaders.
* Game uses user://shader_cache
* Project manager uses $config_dir/shader_cache
* Options to tweak shader caching in project settings.
* Editor path configuration moved from EditorSettings to new class, EditorPaths, so it can be available early on (before shaders are compiled).
* Reworked ShaderCompilerRD to ensure deterministic shader code creation (else shader may change and cache will be invalidated).
* Added shader compression with SMOLV: https://github.com/aras-p/smol-v
2021-05-31 10:13:09 +02:00
Rémi Verschelde
de4c17f716
Merge pull request #48916 from mortarroad/master-convex-hull-ported
Replace QuickHull with Bullet's convex hull computer.
2021-05-22 23:22:48 +02:00
Morris Tabor
d1bc88d426 Replace QuickHull with Bullet's convex hull computer.
The code is based on the current version of thirdparty/vhacd and modified to use Godot's types and code style.

Additional changes:
- extended PagedAllocator to allow leaked objects
- applied patch from https://github.com/bulletphysics/bullet3/pull/3037
2021-05-22 22:35:42 +02:00
jfons
767e374dce Upgrade Embree to the latest official release.
Since Embree v3.13.0 supports AARCH64, switch back to the
official repo instead of using Embree-aarch64.

`thirdparty/embree/patches/godot-changes.patch` should now contain
an accurate diff of the changes done to the library.
2021-05-21 17:00:24 +02:00
jfons
575543ce53 Port changes to the "raycast" module build files from 3.x 2021-05-04 17:21:41 +02:00
bruvzg
b56241f22f
ICU: Update to version 69.1, improve ICU data export process. 2021-04-22 16:56:53 +03:00
Rémi Verschelde
fdf041a466
Merge pull request #47347 from nekomatata/heightmap-support
Heightmap collision shape support in Godot Physics
2021-04-20 17:40:28 +02:00
Hendrik Brucker
9d18610190 update meshoptimizer to 0.16 2021-04-18 18:00:15 +02:00
K. S. Ernest (iFire) Lee
d840165a32
Add etcpak library for faster ETC/ETC2/S3TC imports.
- `etc` module was renamed to `etcpak` and modified to use the new library.
- PKM importer is removed in the process, it's obsolete.
- Old library `etc2comp` is removed.
- S3TC compression no longer done via `squish` (but decompression still is).
- Slight modifications to etcpak sources for MinGW compatibility,
  to fix LLVM `-Wc++11-narrowing` errors, and to allow using vendored or
  system libpng.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-04-13 00:12:12 +02:00
PouleyKetchoupp
c8dd3c7d80 Heightmap collision shape support in Godot Physics 2021-03-25 16:52:41 -07:00
Rémi Verschelde
fa681d04b7
Merge pull request #46937 from nekomatata/soft-body-support
SoftBody support in GodotPhysics 3D
2021-03-20 21:45:20 +01:00
PouleyKetchoupp
d5ea4acd2d SoftBody support in GodotPhysics 3D
- Fixed SoftBody surface update with new rendering system
- Added GodotPhysics implementation for SoftBody
- Added support to get SoftBody rid to interact with the physics server
- Added support to get SoftBody bounds from the physics server
- Removed support for unused get_vertex_position and get_point_offset
from the physics server
- Removed SoftBody properties that are unused in both Bullet and
GodotPhysics (angular and volume stiffness, pose matching)
- Added RenderingServerHandler interface to PhysicsServer3D so the physics servers don't need to reference the class from SoftBody node directly
2021-03-18 09:04:17 -07:00
Rémi Verschelde
69486b1059
miniupnpc: Update to version 2.2.2 2021-03-16 10:54:38 +01:00
PouleyKetchoupp
333f184734 Cylinder support in Godot Physics 3D
Cylinder collision detection uses a mix of SAT and GJKEPA.
GJKEPA is used to find the best separation axis in cases where finding
it analytically is too complex.

Changes in SAT solver:
Added support for generating separation axes for cylinder shape.
Added support for generating contact points with circle feature.

Changes in GJKEPA solver:
Updated from latest Bullet version which includes EPA fixes in some
scenarios.
Setting a lower EPA_ACCURACY to fix accuracy problems with cylinder vs.
cylinder in some cases.
2021-02-10 10:00:53 -07:00
Aaron Franke
ddd6fb37e8
Update PolyPartition / Triangulator library 2021-01-12 13:46:16 -05:00
Marcel Admiraal
933753d80a Update COPYRIGHT.txt to reflect recent file location and name changes,
and a few other minor corrections.
2021-01-10 10:10:10 +00:00
Rémi Verschelde
951ad29c0f
pcre2: Update to upstream version 10.36
Changelog: https://vcs.pcre.org/pcre2/code/tags/pcre2-10.36/ChangeLog?view=markup
2021-01-08 14:10:32 +01:00
Rémi Verschelde
c6802a65c6
COPYRIGHT: Update with recent additions, cleanup
Also include public domain assets in `COPYRIGHT.txt` with Unlicence text or
dual-licensing scheme.

And document commit hashes for most thirdparty code in `thirdparty/README.md`
for clarity, and in case there's no tag matching the included version numbers.
2021-01-08 13:37:16 +01:00
Rémi Verschelde
b5334d14f7
Update copyright statements to 2021
Happy new year to the wonderful Godot community!

2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.

We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)

Here's to a great year 2021 for all Godot users 🎆
2021-01-01 20:19:21 +01:00
Rémi Verschelde
6d26ff4eda
Relicense Godot logo from CC-BY-3.0 to CC-BY-4.0
Just a version update to be on the standard version.
This has been approved by the copyright holder Andrea Calabró.
2020-12-03 14:30:06 +01:00
bruvzg
b9f441e81e
[Complex Text Layouts] Add third-party TextServer dependencies (ICU, HarfBuzz, Graphite). 2020-11-26 13:55:27 +02:00
bruvzg
493da99269
[Complex Text Layouts] Implement TextServer interface. Implement Fallback TextServer. 2020-11-26 13:55:26 +02:00
Andrii Doroshenko (Xrayez)
282ac09eef doctest: Update to 2.4.1
Includes a patch for breakpoint inline assembly for macOS.
2020-11-20 13:50:07 +02:00
Rémi Verschelde
148ad49c93
vulkan: Sync loader, headers and glslang to sdk-1.2.154.0
Actually sdk-1.2.154.1 for Vulkan-Loader.

glslang is updated to bacaef3237c515e40d1a24722be48c0a0b30f75f which is the
known-good version for Vulkan-ValidationLayers 1.2.154.0.

COPYRIGHT.txt was synced with the current version of the glslang LICENSE.txt,
and `glslang/register_types.cpp` now uses the upstream definition for its
default builtin resource instead of hardcoding it.
2020-10-15 12:29:42 +02:00
Rémi Verschelde
914591c9ae
zstd: Update to upstream version 1.4.5 2020-09-18 21:47:12 +02:00
Rémi Verschelde
fa35f53dd2
tinyexr: Sync with upstream 1.0.0 2020-09-09 22:07:24 +02:00
Rémi Verschelde
33b2070d2e Remove obsolete GLES2 backend code
This code currently isn't compiled (and cannot compile).

We plan to re-add OpenGL ES-based renderer(s) in Godot 4.0 alongside Vulkan
(probably ES 3.0, possibly also a low-end ES 2.0), but the code will be quite
different so it's not relevant to keep this old Godot 3.2 code.

The `drivers/gles2` code from the `3.2` branch can be used as a reference for
a potential new implementation.
2020-08-13 10:04:53 +02:00
RevoluPowered
579342810f t Add unit testing to Godot using DocTest and added to GitHub Actions CI
Implements exit codes into the engine so tests can return their statuses.
Ideally we don't do this, and we use FIXUP logic to 'begin' and 'end' the engine execution for tests specifically.

Since realistically we're initialising the engine here we don't want to do that, since String should not require an engine startup to test a single header.

This lowers the complexity of running the unit tests and even for
physics should be possible to implement such a fix.
2020-07-24 13:05:33 +01:00
Rémi Verschelde
38a200f1e3 oidn: Fix build for VS 2017
Backporting this upstream patch:
1e42e6db81

Fixes #39186.
2020-06-06 21:27:32 +02:00
Rémi Verschelde
59780fd046 xatlas: Sync with upstream 470576d 2020-05-20 13:51:15 +02:00
Hugo Locurcio
d935a4348d
Remove HQ2X and the Image.expand_2x_hq2x() method
As of Godot 3.0, HQ2X is no longer used to upscale the editor theme
and icons on hiDPI displays, which limited its effective uses.
HQ2X was also used to upscale the project theme when the "Use Hidpi"
project setting was enabled, but results were often less than ideal.
The new StyleBoxFlat and SVG support also make HQ2X less important
to have as a core feature.

This decreases binary sizes slightly (-150 KB on most platforms,
-212 KB on WebAssembly release).

This partially addresses #12419.
2020-05-16 16:10:50 +02:00
Rémi Verschelde
83b630b8c2 thirdparty: Cleanup after #38386, document provenance and copyright
Also renamed `delaunay.h` to `delaunay_2d.h` to match the class name.
2020-05-11 14:50:06 +02:00
Rémi Verschelde
9c1b20eab6 freetype: Update to upstream version 2.10.2 2020-05-09 13:24:14 +02:00
Rémi Verschelde
8e819ae4c1
Merge pull request #38360 from akien-mga/drop-unused-curl_hostcheck
Drop now unused curl_hostcheck.c
2020-04-30 16:26:24 +02:00
Rémi Verschelde
05cf8b7c63 Drop now unused curl_hostcheck.c
One less thirdparty library to document \o/
2020-04-30 14:35:25 +02:00
Rémi Verschelde
5167c9186a FastLZ: Update to upstream version 0.5.0
Upstream development restarted after 13 years. Changes:

2020-02-02: Version 0.5.0

    Minor speed improvement on the decompressor.
    Prevent memory violation when decompressing corrupted input.

2020-01-10: Version 0.4.0

    Only code & infrastructure clean-up, no new functionality.
2020-04-30 14:25:00 +02:00
Rémi Verschelde
ebe38044fd enet: Update to upstream version 1.3.15 2020-04-21 12:27:11 +02:00
Rémi Verschelde
da1f80c1f2 Revert "assimp: Sync with upstream 0201fc5"
This reverts commit 78b22393a8.

It caused a regression in FBX import leading to crashes.
Fixes #36908.
2020-03-09 10:42:18 +01:00
Rémi Verschelde
78b22393a8 assimp: Sync with upstream 0201fc5 2020-03-06 14:43:31 +01:00
Rémi Verschelde
3dea5fd631 Remove incomplete battery status/power API
It was initially implemented in #5871 for Godot 3.0, but never really
completed or thoroughly tested for most platforms. It then stayed in
limbo and nobody seems really keen to finish it, so it's better to
remove it in 4.0, and re-add eventually (possibly with a different API)
if there's demand and an implementation confirmed working on all
platforms.

Closes #8770.
2020-02-14 13:43:32 +01:00
Rémi Verschelde
db81928e08 Vulkan: Move thirdparty code out of drivers, style fixes
- `vk_enum_string_helper.h` is a generated file taken from the SDK
  (Vulkan-ValidationLayers).
- `vk_mem_alloc.h` is a library from GPUOpen:
  https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator
2020-02-11 14:08:44 +01:00
Rémi Verschelde
7458a601ce basis_universal: Fix py3 build and document license and provenance
Also drop unneeded files.

Fix build with MinGW. Closes #32384.
2020-02-11 12:02:45 +01:00
bruvzg
eb48be51db Add static Vulkan loader.
Initial Vulkan support for Windows.
Initial Vulkan support for macOS.
2020-02-11 11:57:11 +01:00
Andrea Catania
e6be3f68da - Integrated NavigationServer and Navigation2DServer.
- Added Navigation Agents and Obstacles.
- Integrated Collision Avoidance.

This work has been kindly sponsored by IMVU.
2020-02-10 14:38:52 +01:00
Rémi Verschelde
a7f49ac9a1 Update copyright statements to 2020
Happy new year to the wonderful Godot community!

We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.

Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
Rémi Verschelde
f111d1aaed Drop b2d_convexdecomp. no longer necessary.
We now use `thirdparty/misc/triangulator.h` for all physics-related
(collision, navigation) triangulation needs.

Follow-up to #34293.
2019-12-13 23:29:52 +01:00
Hugo Locurcio
379e1789dd
Remove unused stb_truetype-based DynamicFont implementation
The DynamicFont implementation currently in use is based on
FreeType, which provides much better visual quality.

This old implementation wasn't exposed anywhere, so this shouldn't
break compatibility.

This decreases binary sizes by a few kilobytes.
2019-10-03 01:19:02 +02:00
Rémi Verschelde
8a1dc8393a
Merge pull request #30515 from akien-mga/tinyexr-a685e33
tinyexr: Sync with upstream a685e33
2019-07-11 13:45:43 +02:00
Rémi Verschelde
41c28aae9a
Merge pull request #30514 from akien-mga/pcre2-10.33
pcre2: Update to upstream version 10.33
2019-07-11 13:45:27 +02:00
Rémi Verschelde
60c6cf9f71
Merge pull request #30513 from akien-mga/stb_vorbis-1.16
stb_vorbis: Update to upstream version 1.16
2019-07-11 13:45:14 +02:00
Rémi Verschelde
36d587fc7f
Merge pull request #30512 from akien-mga/glad-0.1.31
glad: Sync with upstream 0.1.31
2019-07-11 13:45:02 +02:00
Rémi Verschelde
3e727bc659 stb_vorbis: Update to upstream version 1.16 2019-07-11 10:37:28 +02:00
Rémi Verschelde
ca71f7d3d0 freetype: Update to upstream version 2.10.1 2019-07-11 10:36:54 +02:00
Rémi Verschelde
2bbcc521b6 glad: Sync with upstream 0.1.31 2019-07-11 10:36:32 +02:00
Rémi Verschelde
518e23424e pcre2: Update to upstream version 10.33 2019-07-11 10:35:39 +02:00
Rémi Verschelde
b5b3aa920b tinyexr: Sync with upstream a685e33 2019-07-11 10:34:40 +02:00
Fabio Alessandrelli
aae6c075aa Remove libwebsocket. No longer used, yay! 2019-07-04 15:03:04 +02:00
Fabio Alessandrelli
9e303ef71c WebSocket module now uses wslay library.
Both client and server are supported on native builds (as usual).

SSL server is still not supported, but will soon be possible with this
new library.

The API stays the same, we just need to work out potential issues due to
this big library switch.
2019-07-04 15:03:04 +02:00
Fabio Alessandrelli
564d93ff10 CryptoCore class to access to base crypto utils.
Godot core needs MD5/SHA256/AES/Base64 which used to be provided by
separate libraries.
Since we bundle mbedtls in most cases, and we can easily only include
the needed sources if we so desire, let's use it.

To simplify library changes in the future, and better isolate header
dependencies all functions have been wrapped around inside a class in
`core/math/crypto_base.h`.

If the mbedtls module is disabled, we only bundle the needed source
files independently of the `builtin_mbedtls` option.
If the module is enabled, the `builtin_mbedtls` option works as usual.

Also remove some unused headers from StreamPeerMbedTLS which were
causing build issues.
2019-07-02 12:36:27 +02:00
Rémi Verschelde
225b61ab2a libpng: Update to upstream 1.6.37
Fixes CVE-2019-7317.
2019-04-26 10:37:22 +02:00
Rémi Verschelde
8269ed9cdf
Merge pull request #28196 from akien-mga/xatlas-cleanup
xatlas: Document provenance, copyright and custom changes
2019-04-19 12:59:41 +02:00
Rémi Verschelde
1e39fee140 xatlas: Revert to unmodified upstream code, add to COPYRIGHT
Imported by @reduz from b8ec29b6b6
Custom changes will be remade properly in the next commit.
2019-04-19 12:39:26 +02:00
Rémi Verschelde
6640f397f1 Drop unused thekla_atlas dependency
Since f12cb82 @reduz dropped the use of the thirdparty thekla_atlas
library, which is replaced by xatlas.

Fixes #28180.
Fixes #28182.
2019-04-19 11:42:58 +02:00
Rémi Verschelde
531b158897 vhacd: Recommit unmodified upstream code without style changes
Godot-specific changes will then be redone without touching upstream formatting.
Also documented current state in thirdparty/README.md and added LICENSE.

Add vhacd to COPYRIGHT.txt.
2019-04-11 18:11:59 +02:00
K. S. Ernest (iFire) Lee
793b0de197 Add Assimp library in thirdparty
From https://github.com/assimp/assimp repo at d2b45377e4b09a1f43be95e45553afcc06b03f4b
2019-04-05 07:17:52 -07:00
Rémi Verschelde
a9e48b981d Updates to thirdparty README and COPYRIGHT
Notably, we now track stable Bullet 2.88, so distros can
unbundle it again.
2019-03-04 14:51:16 +01:00
Rémi Verschelde
51c9ffaec0 Drop RtAudio driver on Windows
We've been defaulting to WASAPI since 3.0 and it's superior to RtAudio
in all aspects.

Obsoletes and closes #25503.

Also enable WINMIDI on MinGW, this had been missed initially.

Fix os_windows.cpp and crash_handler_windows.cpp which had weird
dependencies on RtAudio.h's includes (ugh).
2019-02-20 13:47:01 +01:00