M1 Macs and ASPiK | Getting Started with ASPiK | Forum

Avatar

Please consider registering
guest

sp_LogInOut Log In sp_Registration Register

Register | Lost password?
Advanced Search

— Forum Scope —




— Match —





— Forum Options —





Minimum search word length is 3 characters - maximum search word length is 84 characters

sp_Feed Topic RSS sp_TopicIcon
M1 Macs and ASPiK
Avatar
Member
Members
August 23, 2021 - 12:22 pm
Member Since: August 23, 2021
Forum Posts: 5
sp_UserOfflineSmall Offline

Hi! I've just gotten started with ASPiK using my M1 Macbook Air running MacOS Big Sur. I'm not looking to work with AAX right now so my experience has mostly been with using ASPiK to make either Universal Projects for AU and VST3 or making individual VST3 or AU projects. I've run into the following two issues with VU and VST3 so I was wondering if I could get some help:

1) For AU, I noticed that the SDK in the videos and the FX book was arranged very differently compared to the latest SDK (https://github.com/apple/AudioUnitSDK) I can download from Apple in that, there's no AUPublic and PublicUtility folders in the latest one and there's a lot of other files in the SDK root folder as well. I'm assuming that this change occurred when Apple transitioned their machines and software to ARM with Apple Silicon. For now, I've managed to download and use the same version that Will used in his videos and books and I've been able to code, export, and make GUI's for AU with that version, giving me plugins that do work correctly in Logic. But I'm just wondering, that version is from 2017 so is there a plan to support the latest version that doesn't have those two folders (AUPublic and PublicUtility)?

 

2) For VST3, my problems are actually a fair bit more frustrating. For reference, the VST3 SDK I downloaded was directly from Steinberg and all my DAW's (Ableton 11.0.6, Fl studio 20.8.3, and Reaper 6.34) are all the latest versions downloaded from the manufacturer directly (using the trial versions of Ableton and FL since I dont have a use for them beyond testing VST3 plugins). When I make a VST3 project in ASPiK and compile it, it never shows up in any of my DAWs. I'm able to see the VST3 file in my Library->Audio->Plug-ins->VST3 folder so I just thought I was doing something wrong and the project had some errors in it. But even the example projects included in ASPiK didn't show up in my DAWs (despite compiling successfully) and neither did a stock, newly created project which had nothing in it besides the stock code that ASPiK obviously generates automatically. Now I came across this VST3PluginTestHost developed for Apple Silicon machines (https://forums.steinberg.net/t/vstplugintesthost-for-apple-silicon/202081) and thankfully, all my VST3 ASPiK compiled projects showed up and functioned as expected. But now I'm even more confused as to why they continue to not show up in any of my DAW's. I tried downloading some random free VST3 plugins like Voxenago's SPAN and it shows up in all DAWs without any issues. I'd like to test future plugins in a DAW rather than the VST3 test host since its somewhat limited so I'm wondering if someone could help me out as to why they don't show in any DAW.

Avatar
Member
Members
August 24, 2021 - 9:32 am
Member Since: June 16, 2021
Forum Posts: 43
sp_UserOfflineSmall Offline

G'day, Nep. I can't comment on AU or the nature of apple silicone, but I have had problems with VST 3's container-like nature not showing up or loading in some hosts. Try opening the vst 3 file (on windows you just open it like a folder, but I think there's an extra step on the mac) and extract the actual plugin from the inner "contents" folder. Just put that in your DAW's VST directory; no need for the extra stuff. That solves my issues so far, at least on windows.

For your AU problems, I couldn't really tell you; except perhaps to go read up on the official AU example projects from Apple if any exist, and compare them to ASPiK's AU plugin shell code/projects. ASPiK is really just a shell (manually created plugins in each API, that need to be changed -- usually by Will -- every time the API makes a game breaking change) which load and interface with your PluginCore object and the PluginGUI. So in the worst case scenario, you might end up having to make your own shell plugin. (something I want to try out with the FL native plugin format. ) . . . I'm also interested to see how Steinberg implemented their VST-to-AAX/AU wrapper. I wonder if it works similarly to Will's approach, or if it adds even more overhead, or if it's just an all around good way to write the plugin once and export to those other formats. Not sure.

The key to most of these problems, I'm finding, is just a whole mess of reading documentation, taking a break, reading more docs and example code, swear at the machine, more breaks, more docs. . . Eventually the solution turns up. (eventually could mean months. ) But we're here to talk to/help in the meantime. 🙂

Avatar
Member
Members
August 24, 2021 - 11:17 pm
Member Since: August 23, 2021
Forum Posts: 5
sp_UserOfflineSmall Offline

Hey. So I tried the VST3 trick you said and unfortunately my DAWs still refuse to recognize my plugins. However I installed a trial version of cubase and I think I seem to have narrowed down the VST3 issue. It says all my plugins are 32 bit which does explain why most daws dont recognize them as 32 bit VST plugins on macOS are generally a big no go. Just wondering if someone could let me know if this is likely an ASPiK-being-32-bit issue or perhaps my vst3sdk being a 32 bit version issue? Here's the image Cubase shows for reference https://ibb.co/NTfxTD7

Avatar
Member
Members
August 25, 2021 - 9:36 am
Member Since: June 16, 2021
Forum Posts: 43
sp_UserOfflineSmall Offline

NepAJ said
... It says all my plugins are 32 bit which does explain why most daws dont recognize them as 32 bit VST plugins on macOS are generally a big no go. Just wondering if someone could let me know if this is likely an ASPiK-being-32-bit issue or perhaps my vst3sdk being a 32 bit version issue?

. . . Why are your ASPiK projects 32 bit at all? All the example projects and newly created projects build for 64 bit here on windows (and it's easy to change that in your configuration settings)

Avatar
Member
Members
August 25, 2021 - 1:51 pm
Member Since: August 23, 2021
Forum Posts: 5
sp_UserOfflineSmall Offline

Nickolai said

NepAJ said
... It says all my plugins are 32 bit which does explain why most daws dont recognize them as 32 bit VST plugins on macOS are generally a big no go. Just wondering if someone could let me know if this is likely an ASPiK-being-32-bit issue or perhaps my vst3sdk being a 32 bit version issue?

. . . Why are your ASPiK projects 32 bit at all? All the example projects and newly created projects build for 64 bit here on windows (and it's easy to change that in your configuration settings)  

Hi! Thanks for the reply and I'm quite relieved that ASPiK isnt a 32-bit-only thing. As for your point, could you please let me know how I could go about changing that in my configuration settings? Like, I didn't get to choose any 32 or 64 bit option for my aspik projects at any point so I'm really not sure why they're defaulting to 32 bit.

Avatar
Member
Members
August 26, 2021 - 9:20 pm
Member Since: June 16, 2021
Forum Posts: 43
sp_UserOfflineSmall Offline

NepAJ said

Hi! Thanks for the reply and I'm quite relieved that ASPiK isnt a 32-bit-only thing. As for your point, could you please let me know how I could go about changing that in my configuration settings? Like, I didn't get to choose any 32 or 64 bit option for my aspik projects at any point so I'm really not sure why they're defaulting to 32 bit.  

Sorry for the delayed (and honestly kinda not as helpful as I'd like) reply. Time got away from me.

I don't know very much about Xcode, but on visual studio, changing your build target is pretty easy, and all newly created ASPiK projects automatically start up with the x64 configuration. I can't speak for Rack FX projects that export ASPiK plugins though. I believe that (but know very very little about) Rack FX projects are 32 bit by default. But surely the exported Xcode project and Visual studio solutions that Rack FX generates are 64 bit by default.

It's curious to me that creating a new ASPiK project somehow builds a 32 bit plugin rather than a 64 bit plugin. Does this happen if you use the ASPiK project generator? Do you have an intel mac or PC to try building with?

Avatar
Member
Members
August 26, 2021 - 10:20 pm
Member Since: August 23, 2021
Forum Posts: 5
sp_UserOfflineSmall Offline

Nickolai said

Sorry for the delayed (and honestly kinda not as helpful as I'd like) reply. Time got away from me.

I don't know very much about Xcode, but on visual studio, changing your build target is pretty easy, and all newly created ASPiK projects automatically start up with the x64 configuration. I can't speak for Rack FX projects that export ASPiK plugins though. I believe that (but know very very little about) Rack FX projects are 32 bit by default. But surely the exported Xcode project and Visual studio solutions that Rack FX generates are 64 bit by default.

It's curious to me that creating a new ASPiK project somehow builds a 32 bit plugin rather than a 64 bit plugin. Does this happen if you use the ASPiK project generator? Do you have an intel mac or PC to try building with?  

Yep, I'll try and mess around with xcode build settings since that might be where it's messing up (but idk, XCode doesnt even support 32 bit anymore afaik, so its a bit weird for it to be doing that). Anyhow, could you help me out with this, I can't seem to find/download the pluginobjects zip https://www.willpirkle.com/forum/recent-uploads-activity/fxobjects-zip-5-20-20-new-version/#p2658

Avatar
Member
Members
August 28, 2021 - 10:28 am
Member Since: June 16, 2021
Forum Posts: 43
sp_UserOfflineSmall Offline

NepAJ said

... Anyhow, could you help me out with this, I can't seem to find/download the pluginobjects zip https://www.willpirkle.com/forum/recent-uploads-activity/fxobjects-zip-5-20-20-new-version/#p2658  

Yeah, mate. I dunno if this one is the updated one Will talks about in this post (it should be) but you can find it by going to the support drop-down on this website and clicking the JUCE/iPlug user's button. You'll find the fxObects1.1 file on that page.

You can also download almost any of the demo projects and find (presumably) the most up to date file in there. I dunno if all of the projects are fully bug free though. (the versions I have won't let you run more than one instance -- an ASPiK update fixes this for new projects, but I think you have to apply it manually to these plugins. But don't quote me on that. 😛 Shouldn't get in your way for studying and tinkering though. )

Avatar
Anglia
Member
Members
December 7, 2021 - 7:40 pm
Member Since: June 2, 2014
Forum Posts: 46
sp_UserOfflineSmall Offline

NepAJ said

2) For VST3, my problems are actually a fair bit more frustrating. ...When I make a VST3 project in ASPiK and compile it, it never shows up in any of my DAWs. ...I'd like to test future plugins in a DAW rather than the VST3 test host since its somewhat limited so I'm wondering if someone could help me out as to why they don't show in any DAW.  

Hi Nep, I've just bought an M1 MB Pro, with the intention of building plugins for Mac users. This is my first ever Mac, so I've been getting to know the Mac itself, as well as Xcode. I'm comfortable with shell scripting on Linux, so that helps.

I found exactly the same problem you're having. I've built quite a few plugins, working on my trusty Windows workhorse and starting in RackAFX, and, after exporting to ASPiK and building the ASPiK projects, I can load them all in both Reaper and Ableton Live Lite, without any issues.

So you can imagine my frustration after having forked out thirteen hundred quid for this fantastic M1 MB Pro, then not seeing any plugins loading! That's the reason I bought the damned thing!

The other day however, I built a Juce plugin, as part of Eric Tarr's workshop on analog modelling, and was surprised to find that this plugin did load in both Reaper and Ableton Live Lite on the Mac. Having a bit of a peek in the VST3 directory in my library, I noticed that the ASPiK plugins, as well as those created when building the VST_SDK sample projects, had all been created with ln (i.e. a symbolic link), whereas the Juce plugin had been copied (with cp).

I'm running a script around the Xcode build anyway, so I changed my script to copy the generated VST3 file to your library, and remove the symbolic link. You could also change the CMake PostBuild Rules to do this as well, in the Build Phases tab of your Project Settings in Xcode.

So basically, you need to copy the VST3 to your library, and not use a symbolic link.

My Plugins are now successfully loading in Reaper (Arm), although I've not managed to see my plugins yet in Ableton Live Lite, that'll be some research for another day. I plan to get Cubase before too long, and will see how that fares. I'll update in this thread once I make any new discoveries.

I'm also hoping to build VST3s to run on Intel based Macs, building on my M1 Silicon Mac, so if anyone has any pointers for me on how to do that, this would be massively appreciated! (That's assuming it's even possible)

Avatar
Admin
December 8, 2021 - 9:49 am
Member Since: January 29, 2017
Forum Posts: 698
sp_UserOfflineSmall Offline

I thought I'd chime in here with some background on the VST3 symbolic link thing. In old versions of ASPiK and before (RackAFX6) I copied the plugin proper into the target folders, not the shortcut to it. Later on I changed that. 

For the VST3 CMake files, I try to use as much of the built-in CMake modules as possible (Steinberg files in the SDK CMake folder) and let those files most of the work, matching as best I can to the program-flow of the CMake files that come with the SDK sample projects. When a new SDK comes out, I always build the sample projects first and check their CMake files to find out if anything has changed. The ASPiK CMake scripts are based very closely on the SDK sample files. (the AAX and AU CMake scripts were written "from scratch" for those APIs only and are not the same).

Their sample project CMake files make symbolic links to the plugins in MacOS, rather than copying the bundles directly. This is why ASPiK uses that method. And, if you build the SDK Sample projects, you will see that they also copy symbolic links rather than actual plugins. 

And, yes the script is pretty easy to hack - you will also see that the AU builds copy the plugin directly as they don't use any other CMake modules. 

Will

Avatar
Anglia
Member
Members
January 20, 2022 - 4:49 pm
Member Since: June 2, 2014
Forum Posts: 46
sp_UserOfflineSmall Offline

Cubase hasn't yet been released for the M1, so it's running (in Rosetta?) as an Intel app, so all your plugins need to be built as Intel VST3s. The same goes for Ableton Live

Once you've run your cmake command, try the following from your mac_build directory and see if that helps:

xcodebuild -configuration Release -arch x86_64
Avatar
Anglia
Member
Members
January 20, 2022 - 4:54 pm
Member Since: June 2, 2014
Forum Posts: 46
sp_UserOfflineSmall Offline

Plus, FL Studio expects to find the VST3s in the system-wide library, /Library/Audio/Plug-Ins/VST3 and won't find them in your home directory, i.e. ~/Library/Audio/Plug-Ins/VST3, so, despite supporting arm64 VST3, if they're not in the right location, they won't be found.

I've listed some of this weirdness here:

https://github.com/DoomyDwyer/ASPiKProjects/releases/tag/1.0.3

Forum Timezone: America/New_York

Most Users Ever Online: 152

Currently Online:
8 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

Chaes: 56

Skyler: 48

StevieD: 46

Derek: 46

Frodson: 45

Peter: 43

TheSmile: 43

Nickolai: 43

clau_ste: 39

jeanlecode: 37

Member Stats:

Guest Posters: 2

Members: 786

Moderators: 1

Admins: 6

Forum Stats:

Groups: 13

Forums: 42

Topics: 853

Posts: 3385

Moderators: W Pirkle: 698