I can't for the life of me figure out what I'm doing wrong when exporting for VST.
First, I hit make VST in RackAFX, and save it as stereoDelay1. I have VST SDK 6.5.5, and have made sure I have that version selected in RackAFX preferences.
Second, I find the subfolder for my plugin in "VST Files", and copy it to the proper folder hierarchy, based on the information in these threads: http://www.willpirkle.com/foru.....hierarchy/
Third, I run the stereoDelay1 VC++ Project file, and when prompted to upgrade the files to the 2015 version of visual studio, I choose yes.
Fourth, in Visual Studio, I select build > build stereoDelay1. The project compiles, with some warnings about doubles being converted to floats, and things being initialized but not being referenced. But no errors.
Finally, I select debug > start debug, and receive the error:
"Unable to start program 'D:\Downloads\vstsdk365_12_11_2015_build_67\VST3 SDK\public.sdk\MyProject\FX Projects\Windows\stereoDelay1\Win32\Debug\stereoDelay1.dll'. The system cannot find the file specified."
I manually tried to copy and paste my stereoDelay1.dll file from the plugins folder of RackAFX, and I then receive a different error when trying to debug.
"Unable to start program 'D:\Downloads\vstsdk365_12_11_2015_build_67\VST3 SDK\public.sdk\MyProject\FX Projects\Windows\stereoDelay1\Win32\Debug\stereoDelay1.dll'
'D:\Downloads\vstsdk365_12_11_2015_build_67\VST3 SDK\public.sdk\MyProject\FX Projects\Windows\stereoDelay1\Win32\Debug\stereoDelay1.dll is not a valid Win32 application."
I need to have this working within a few days for my final project of the quarter, and am slightly panicking! I'm not sure what to do next. Any help is hugely appreciated.
First, if you are using the Beta version of RAFX you need the 3.6.6 version of the SDK. It looks like you are not using that because you compiled without errors.
Next, the warnings you get are normal. Some come from the VST3 SDK itself, and others from the RAFX core, but none are mission-critical.
The VST3 plugin is not in the RackAFX plugins folder. It is in the Win32 or x64 subfolder of your VST3 project directory, it will be named .vst3 -- there will be a Debug and Release sub folder that contains the .vst3, depending on how you compiled in VS.
To test it, copy (don't move) the .vst3 plugin to your VST3 folder for your particular VST3 client. This will depend on the client, but usually C:/Program Files (x86)/Common Files/VST3 (for 32-bit plugins) or C:/Program Files/Common Files/VST3 (for 64 bit version on a 64 bit OS) are baked into many clients, including Reaper. You can then run the client and select the VST3 plugin to test. If you are using the VST3 plugin as a VST2 plugin (in Ableton, for example) then you only need to rename it to .dll and of course place it in the proper VST2 plugin folder.
It appears that you have not debugged a DLL in Visual Studio before, other than perhaps with RackAFX, in which case the software sets up the debugger information for you (one of the benefits of using RackAFX). For any other project (Windows or MacOS) you have to set that up manually.
To do so, you need to tell Visual Studio what client you want to use. In the Solution Explorer, right click on the Project and choose Properties (do this for the plugin project, not the base library project). Then, choose Debugging. In the Command field, choose Browse and then find the .exe for your VST client. For Reaper, that would be C:/Program Files (x86)/REAPER/reaper.exe (for the 32-bit version). Then, in the Attach field, choose YES.
Next, start your VST client. Then, hit the Run button in Visual Studio to start the debugger. It will attach to the executable, which must be running first. Then, place a breakpoint in the constructor of the Processor object. Finally, load the plugin in your client. If all is done correctly, the breakpoint will be hit in Visual Studio and then you can debug as usual.
One other question - why are you bothering with Make VST for a Windows plugin? Your RackAFX DLL will also work as a VST2 or VST3 plugin in any 32-bit VST client. If you are using the Beta version, you can compile your RackAFX DLL as a 64-bit plugin and use it with 64-bit clients too. You only need to copy (not move) the DLL into your VST2 or VST3 plugin folder for your client. For VST2, there is nothing to do. For VST3, you need to rename the .DLL to .vst3
You can follow the same instructions for debugging your RAFX-as-VST-DLL in Visual Studio. In this case, you will see that RackAFX.exe has automatically been selected as your Debugging client, and that Attach has automatically been set to YES.
It is usually after having to go through the chore of manually setting up the debugger in Visual Studio or XCode a few times, and debug with a cient, that people realize why RackAFX rocks, If you debug your plugin in RackAFX and it works properly; then it will be guaranteed to work in a VST client.
Thank you Will!
This was very helpful. Much of my problems are due to not being a super fluent programmer, and mostly an audio engineer with only about a years experience coding. I appreciate you taking the time to explain things that may seem simple.
I had just copied my .dll into Audacity before, and it worked. I was confused as to why it wasn't working with ableton, so thought I would try making a VST. However, now that you've clarified that the RackAFX version i'm using only creates 32-bit plugins, it makes much more sense to me.
Is it possible to make a Mac-compatible VST on windows? Or do I need to do that on a Mac?
You can only compile the Mac version on a Mac. The binaries aren't compatible across the two platforms. I am currently on OS10.9.5 and using XCode 6.2 for my VST/Mac and AU projects. Others are on 10.10 and reporting no issues there.
You might also want to check out the Steinberg Forums here:
Although they tend to be geared towards more advanced users, you can often get information about compatibility with OS's and different compilers quickly as users will report these issues each time a new SDK is released.
Most Users Ever Online: 55
Currently Browsing this Page:
Guest Posters: 1
Newest Members:frankthetank, dhodgson, Wanderer, mister1234, Evan Galvanek, Rowan Fraser, patrickbarr1984, Ray C., Jon R., Pat
Moderators: W Pirkle: 344
Administrators: Tom: 69, JD Young: 80, Will Pirkle: 0, W Pirkle: 344