Yes, I’m still getting tripped up by the LP64 symbol. Lots of complaints in the AU Carbon wrapper code. I tried some of the suggestions from otristan, but I obviously have an imperfect understanding. I still couldn’t get past the compile stage.
I had to move the cpps includes (AUCarbonViewBase.cpp AUCarbonViewDispatch.cpp AUCarbonViewControl.cpp CarbonEventHandler.cpp) before the other includes in the juce_AU_wrapper.mm or I had some trouble regarding Point class and stuff like that.
Of course you need to remove those from the project.
I’m going to have to bag this 64-bit attempt for the time being. I have enough link errors and complaints about Carbon stuff that my frustration is outweighing my motivation. I deeply appreciate those of you who will continue to pioneer this and get the juce issues worked out. But I’ve got to go back and work on audio for a while.
Hi,
Im wondering about the status of 64 bit VST on Mac.
Is there a plan to support it?
Cheers
+1
Pete
Will have a look when I get chance, but am focusing more on apps than plugins at the moment, trying to get the jucer going.
I wonder if meanwhile anybody managed to compile a 64 bit VST Plugin on Mac?
I could build VST Plugins 32/64 on Windows and 32/64 AU PLugins on Mac.
I’ve seen many other companies offering 64 VST Plugins for Mac, too, so there must be a way to do that.
The main problem seems to be the window handling in “juce_VST_Wrapper.mm” which uses still a lot of Carbon stuff that obviously does not work for 64 bit builds.
Any suggestions for a workaround???
Maybe I missed something but is there any 64 bit VST host on Mac OSX?
I’ve heard that the only one to date is Studio One by Presonus.
Well, that’s a damn good point - besides Presonus Studio One, I could not find any…
Anyways, it’s just a matter of time, untill you have to offer 64 Bit VST on Mac, too.
I’ve seen this code has been added to juce_IncludeCharacteristics.h
#if __LP64__ // (disable VSTs and RTAS in a 64-bit build)
#undef JucePlugin_Build_VST
#undef JucePlugin_Build_RTAS
#endif
I think that this one could be added too, in the same spirit, because the RTAS SDK does not allow building 64 bits plug-ins on Windows either:
#if _WIN64 // (disable RTAS in a 64-bit build for Windows)
#undef JucePlugin_Build_RTAS
#endif
(Also, specifiying that the first one is MacOS X specific, would help in my opinion)
Good idea, thanks!
[quote=“friscokid”]Well, that’s a damn good point - besides Presonus Studio One, I could not find any…
Anyways, it’s just a matter of time, untill you have to offer 64 Bit VST on Mac, too.[/quote]
For those who doesn’t follow the vst sdk list. Steinberg starts to provide a developper preview of Cubase 64 bit for Mac.
For the moment, they don’t give a release date but it seems that this time is coming
.
[quote=“ke20”][quote=“friscokid”]Well, that’s a damn good point - besides Presonus Studio One, I could not find any…
Anyways, it’s just a matter of time, untill you have to offer 64 Bit VST on Mac, too.[/quote]
For those who doesn’t follow the vst sdk list. Steinberg starts to provide a developper preview of Cubase 64 bit for Mac.
For the moment, they don’t give a release date but it seems that this time is coming
.[/quote]
It would be for vst3 sdk I think?
I don’t think so because Cubase 64 bit on Windows handles vst2 and vst3.
Regarding 64bit compatibilty for VST2.4 on Mac, there was an interesting post on the VST Mailing List:
[quote]In general VST 2.4 is platform independent. There are only three platform dependent opcodes :
effEditOpen
audioMasterGetDirectory
audioMasterOpenFileSelector
Here are the required API changes for 64 bit Mac OS X:
effEditOpen:
the [ptr] argument is a WindowRef on 32 bit Mac.
On 64 bit this is a NSView pointer. The plug-in needs to add its own NSView as subview of it.
audioMasterGetDirectory:
the [return value] is a FSSpec on 32 bit Mac.
On 64 bit this is a char pointer pointing to an UTF-8 encoded string.
audioMasterOpenFileSelector:
the VstFileSelect struct uses FSSpec’s on 32 bit Mac.
On 64 bit Mac these are char pointers pointing to UTF-8 encoded strings.
[/quote]
Maybe this helps, since there are already two 64 bit VST hosts for Mac and this won’t be the last ones, I think.
If it’s as simple as that, then that’s excellent - could be just a few lines of code to get it working.
[quote=“otristan”]I had to move the cpps includes (AUCarbonViewBase.cpp AUCarbonViewDispatch.cpp AUCarbonViewControl.cpp CarbonEventHandler.cpp) before the other includes in the juce_AU_wrapper.mm or I had some trouble regarding Point class and stuff like that.
Of course you need to remove those from the project.[/quote]
Thank you for the hint, was helpful!
However, now that I have my .component binary built, I still can’t get it to be “seen” by Logic in 64 bit mode, nor by auval with the -64 switch which runs it in 64 bit mode. Should it be placed somewhere else than the traditional /Library/Audio/Plug-Ins/Components folder, or is there some particular other switch/option I should add somewhere (.plist file, maybe?)
I solved it by looking at the project generated by Xcode for an Audio Unit plug-in. The problem was that you need to add
-d x86_64_$x86_64 to the OTHER_REZFLAGS compile option.
Besides, regarding the VST support for 64 bit on Mac, also the REAPER daw is now supporting 64 bit plug-ins in beta
