ASIO in Tenacity¶
Prior to 1.3.4, the only way you could get ASIO support in Tenacity was through compiling an ASIO-enabled PortAudio DLL yourself and replacing the default one shipped with Tenacity. Starting in 1.3.4, you can now build Tenacity without having to build an ASIO-enabled PortAudio DLL first.
Keep in mind that this page is mainly intended for advanced users. If you know nothing about compiling software, you should go learn how to compile Tenacity from source first. Then come back to this page once you are confident enough. Remember that we are here to help you.
Warning
The ASIO SDK license imposes restrictions on the resulting build of Tenacity. Therefore, you cannot distribute ASIO-enabled builds.
Building Tenacity with ASIO support (1.3.4+)¶
This method only works if you’re building 1.3.4 or any later version.
Unfortunately, at this time of writing, you must use our vcpkg fork (found at https://codeberg.org/tenacityteam/vcpkg) for this to work. This only matters if you are using upstream vcpkg or another custom fork.
First, follow the instructions in BUILDING.md
for cloning the Tenacity source
tree. Don’t forget to clone the submodules too. If you’ve previously built
Tenacity before, it is recommended to start with a new build folder. Then, open
vcpkg.json
in your favorite text editor (Notepad works fine) and find this
line:
"portaudio",
Once you’ve found that line, change it to the following:
{
"name": "portaudio",
"features": ["asio"]
}
Save your changes and then proceed to build Tenacity as usual. You can
optionally build an installer (cmake --build C:\path\to\build\dir
) to make
builds more easily available to you.
Replacing the Stock PortAudio DLL in an Existing Installation (<1.3.4)¶
Alternatively, you can also build PortAudio separately and replace an existing
installation’s portaudio.dll
with a custom version. This works for any
version, but it is highly recommend to follow the above instructions instead as
this is an unsupported method. In addition, the above method is easier as the
correct version of PortAudio is already provided for you, eliminating the need
to find the proper version.
To enable a Tenacity build with ASIO support, follow the instructions below:
Build PortAudio with ASIO support. It is assumed that you know how to set up the build environment. If not, you will need to learn how to set up a proper build environment. We will not accept support requests for building PortAudio.
In an existing Tenacity installation, rename
portaudio.dll
toportaudio.dll.bak
.Copy the custom
portaudio.dll
to the build folder.
It is also recommended that you copy your custom portaudio.dll
to a separate
folder when you update or reinstall Tenacity as the installer will overwrite
your custom version.
Note
At the time of writing, for step 1, it is currently recommended to build the latest git version of PortAudio if you need to record desktop audio. Once PortAudio 19.8 is released, it is recommended you use that version instead.
Distributing Builds¶
Warning
The ASIO SDK imposes additional restrictions on distribution. We cannot legally
distribute builds with ASIO support enabled. Requests for ASIO-enabled builds
will be ignored and closed as wontfix
.
You cannot distribute custom ASIO-enabled builds for the same reasons we cannot distribute such builds either.