Support building ASIO driver with MinGW toolchain #5
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hey, stumbled across this project the other day, good to see the effort.
This PR aims to introduce suport for compiling the ASIO driver using the MinGW toolchain.
Code to support MinGW is behind a
if(MSVC)check, so it should not impact building with the MS Visual Studio toolchain.There's two parts to the solution:
extern "C" __declspec(dlexport)to DllRegisterServer & DllUnregisterServer's headers. This should not interfere with VS compiler.pwarASIO.defachieves inwindows/asio/CMakeLists.txtusing a bunch of cmake and linker directivesContext:
I wanted to use this software on a setup with Archlinux + a Windows VM (with the dockur/windows docker image), but wasn't ablet to run either the nix flake, nor the pre-built ASIO driver, so i resorted to build them myself.
While there were no issues building the linux executable, I wanted to avoid setting up Visual Studio on the VM, something i'm not familiar with, and seemed like a much longer process than installing the MinGW toolchain.
Some questions after my experience:
kDefaultBlockFrames = 128. Tried increasing it to 512, things got a bit better. Tried increasing thekBlockFramesGranularityfrom 64 to 128, got no audio at all. What do you recommend changing, in order to trade off latency for audio quality (i.e. no artifacts)?