Adding FFTW to your RackAFX core files will allow you to create plugin projects that automatically incorporate the proper FFTW files. When you export an ASPiK project, it will use these windows files specifically for allowing the VST3 Validator software to operate properly. If you are planning on selling plugins made with FFTW be sure to read their licensing agreement. In addition, you will need to make sure your customer’s target computer has FFTW properly installed so that the library will be found when clients (e.g. Reaper, Pro Tools, Logic) load the plugin DLL. This is required for both MacOS and Windows.
Windows Installation
- Download the 32 and 64 bit zip files here
- Unzip each file and identify the fftw3.h and fftw3-3.dll files inside of each folder (the fftw3.h files are identical but the DLLs are not)
- RackAFX needs fftw3.h and BOTH of the 32-bit fftw3-3.dll AND the fftw3-3.lib files to setup plugin projects that need to link to FFTW
- Your OS needs to know the location of the 64-bit fftw3-3.dll so that ASPiK-generated plugins can run properly (NOTE: this is a FFTW requirement for any Windows client and has nothing to do with ASPiK)
- You must build the .lib files manually; first open the Visual Studio Developer Command Prompt (in Win8 and Win10 you can find it from the Apps By Name panel). Then, navigate to the unzipped folder and run the command below (more help here)
32-bit:
lib /machine:x86 /def:libfftw3-3.def
64-bit:
lib /machine:x64 /def:libfftw3-3.def
Your OS needs to know the location of the 64-bit fftw3-3.dll file for FFTW-based plugins. Place that DLL in a location that won’t change and then modify your system environment path variable to add a path to this DLL. There are numerous resources to show you how to do that including this source here.
To facilitate RackAFX project setup, you have five (5) files that need to be copied into the RackAFX FFTW folder. First, start RackAFX v7 (if you haven’t already) and then use the Utilities -> Open FFTW Folder to navigate to the location C:\Users\<you comp>\AppData\Roaming\RackAFX 7.0\FFTW
Now you just need to copy the following files to the following folders:
- copy fftw3.h to the /FFTW folder
- copy the 32-bit versions of fftw3-3.dll and fftw3-3.lib into the /FFTW/x86 folder
- copy the 64-bit versions of fftw3-3.dll and fftw3-3.lib into the /FFTW/x64 folder
At this point you can create new RackAFX projects with the “Link to FFTW” button checked. When you export the ASPiK project, the Visual Studio and XCode projects will be set up to point to the appropriate locations for the fftw3.h (include) file and the correct library file locations.
MacOS Installation
- Install MacPorts from here
- Open terminal and type $ port version and make sure it returns a value (2.5.x)
- In terminal, type $ sudo port install fftw-3
- This will install the FFTW library; make sure that you check the opt/local/include and opt/local/lib folders for the existence of the fftw3.h and libfftw3.a files respectively
You are done – you can now run ASPiK plugin projects that require FFTW. If you use RackAFX to generate those projects then the files will be copied and set in the XCode project for you.
Targeting Customer Computers
If you are packaging a plugin for distribution on Windows or MacOS, you will need to make sure that the libraries are installed properly on the user’s computer. Without the libraries installed properly, the client software can not load your FFTW-based plugin. See the FFTW site for more information on licensing and packaging FFTW materials.