Question for those developing 64-bit plugins

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

Hi,

I am developing a VST plugin that has both a 32-bit (x86) and 64-bit (x64) version. I use Sonar x86 and Sonar x64 to test it with. Let's say they are called Plugin x86.dll and Plugin x64.dll. So my questions/commets are:

1. Can both the DLLs be in the same VST folder?

2. Should both plugin file names be the same (and therefore be in different folders?)

3. Should both plugins return the same name and unique ID?

4. What happens if I load the x64 version into a project under Sonar 64, then open the same project in Sonar 32? Would Sonar be smart enough to automatically load the 32-bit version (and vice-versa)?

5. A very strange problem: When I run Sonar under the debugger, it does not find the x64 version during a scan. It only finds the x86 version. But when I run Sonar outside of the debugger, it detects both and both are listed as available plugins. The only way for me currently to debug the 64-bit version is to start Sonar outside of the debugger, and then manually attach the debugger to Sonar.

6. What is the pack value of the data structures under x64? Is it 8 or 4?

7. I searched but did not find any documentation specific to 64-bit VST development. Does anyone know where I can find a good source of info?

Thanks in advance for any help with this.

Post

BitFlipper wrote: 1. Can both the DLLs be in the same VST folder?
32-bit goes in for example "C:\Program Files (x86)\Common Files\Steinberg\VST2"

64-bit in "C:\Program Files\Common Files\Steinberg\VST2"

On english-language systems anyhow.
Jeff

Post

Jeff McClintock wrote:On english-language systems anyhow.
Since Vista, this is language-independent.
"Until you spread your wings, you'll have no idea how far you can walk." Image

Post

Thanks guys, I found the answers to all my questions. Here's what I found in case anyone else run into the same questions:

1. Can both the DLLs be in the same VST folder?
Yes. BTW, they don't need to be under the Program Files folder at all.

2. Should both plugin file names be the same (and therefore be in different folders?)
No.

3. Should both plugins return the same name and unique ID?
Yes.

4. What happens if I load the x64 version into a project under Sonar 64, then open the same project in Sonar 32? Would Sonar be smart enough to automatically load the 32-bit version (and vice-versa)?
In Sonar, it will automatically switch to either the 32-bit or 64-bit version, depending on whether you load the 32-bit or 64-bit version of Sonar.

5. A very strange problem: When I run Sonar under the debugger, it does not find the x64 version during a scan...
This turned out to be my own stupidity: Visual Studio was set to start the 32-bit version of Sonar, not the 64-bit version.

6. What is the pack value of the data structures under x64? Is it 8 or 4?
So far as I can tell, it is 4 byte on both, except of course structures that contain pointers, which will then have a different layout due to the 64-bit pointers.

7. I searched but did not find any documentation specific to 64-bit VST development. Does anyone know where I can find a good source of info?
I still haven't found any but I don't need it anymore...

Thanks,
BitFlipper

Post

BitFlipper wrote: 7. I searched but did not find any documentation specific to 64-bit VST development. Does anyone know where I can find a good source of info?
I still haven't found any but I don't need it anymore...

Thanks,
BitFlipper
Hi,

I want to port one of my 32-bit plugins to x64 (VST2.4, VisualC++Express2008 64-bit enabled). Would you mind share some tips with us? Sort of walk-through?

Thanks!!!

Post Reply

Return to “DSP and Plugin Development”