Closed frikksol closed 2 years ago
Turns out this was in fact a M1 issue with Ableton, and has nothing to do with vst-rs at all. If someone else finds themselves here I'll write a guide on how to solve this:
In my case the problem was that Ableton is x86 while I build my VST for Arm.
You can verify that Ableton is x86 by going to ~/Applications
and right click on Ableton and choose Get Info
. If Application (Intel)
is the value for Kind
then your instance of Ableton is x86
Now I chose to build the VST for intel instead, and this makes it possible for Ableton to find the VST. Luckily rust is awesome at cross compiling so this was a breeze.
To install the apple x86 toolchain run the following terminal command
rustup target install x86_64-apple-darwin
Now you have to choose to use the x86 toolchain. You can EITHER set the default to x86 by running the following terminal command
rustup default stable-x86_64-apple-darwin
then compile again by running
cargo build --release
OR
define the target on build time by running
cargo build --target x86_64-apple-darwin --release
PS: when defining the target on build time, the output folder of the built library changes to target/x86_64-apple-darwin/release
so the osx bundling script will no longer work unless you update it to reflect this change.
Now all you need to do is bundle the package and copy it to the VST location on your Mac, rescan for plugins and you're ready to go.
Turns out this was in fact a M1 issue with Ableton, and has nothing to do with vst-rs at all. If someone else finds themselves here I'll write a guide on how to solve this:
In my case the problem was that Ableton is x86 while I build my VST for Arm.
You can verify that Ableton is x86 by going to
~/Applications
and right click on Ableton and chooseGet Info
. IfApplication (Intel)
is the value forKind
then your instance of Ableton is x86Now I chose to build the VST for intel instead, and this makes it possible for Ableton to find the VST. Luckily rust is awesome at cross compiling so this was a breeze.
To install the apple x86 toolchain run the following terminal command
rustup target install x86_64-apple-darwin
Now you have to choose to use the x86 toolchain. You can EITHER set the default to x86 by running the following terminal command
rustup default stable-x86_64-apple-darwin
then compile again by runningcargo build --release
OR
define the target on build time by running
cargo build --target x86_64-apple-darwin --release
PS: when defining the target on build time, the output folder of the built library changes totarget/x86_64-apple-darwin/release
so the osx bundling script will no longer work unless you update it to reflect this change.Now all you need to do is bundle the package and copy it to the VST location on your Mac, rescan for plugins and you're ready to go.
Problems solved.
Hello,
I just started a project where I wanted to write a VST in Rust, and found this library, which first of all I think is really great! Kudos guys :)
I do however have an issue with Ableton 11.0.2 where the sample VST does not show up. I have of course rescanned Plugins, verified that I place the VST in the correct folder, used the
osx_vst_bundler.sh
script and restarted Ableton etc. I tested using PluginDoctor and it works perfectly there.Could there be an issue here related to M1 macs? I am happy to help out with debugging that if that might be the case, but I am a bit unsure where to start. Apart from that I am not sure what can be possible issues, but happy to help out if needed.
Thanks for the awesome work!