Issues building functioning plugins with RackAFX 7.0.3.5 | Installing and Using RackAFX7 | 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
Issues building functioning plugins with RackAFX 7.0.3.5
Avatar
Member
Members
March 3, 2022 - 12:41 am
Member Since: August 9, 2021
Forum Posts: 9
sp_UserOfflineSmall Offline

I'm new to plugin development and RackAFX (I have a background in DSP math), but I've managed to use the second edition textbook to build a RackAFX project that implements one of my DSP designs. I'm now trying to export to VST/AU plugins, and I'm running into some issues.

I am able to export the Universal project from RackAFX (with only the VST and AU build flags on) and build for both VS 2019 and Xcode compilers, and I am able to compile a VST plugin in Windows, and both VST and AU plugins in MacOS. Unfortunately, although the validation tests are passed, I cannot get the plugins to load into plugin hosts (Reaper on both platforms, and Audio Hijack on MacOS.) The VST plugins are simply not detected by Reaper on either OS; the AU plugin is visible in both Reaper and Audio Hijack but attempting to load the AU causes both programs to crash (with very similar-looking crash reports.)

I'm using the latest VST SDK (3.7.4) from the Steinberg website, the AU SDK bundle in the downloads section of this site (link in CMake_8B.pdf), cmake 3.23, and RackAFX 7.0.3.5. I've made sure to copy the vstgui4 folder from the latest VST SDK into the ALL_SDK/myprojects folder, and into my RackAFX projects folder.

I'm certain that I've missed some detail somewhere that is causing the plugins to compile and pass validation without being loadable by a host, but I can't figure out what it is. Any help would be greatly appreciated.

Avatar
Admin
March 3, 2022 - 9:50 am
Member Since: January 29, 2017
Forum Posts: 693
sp_UserOfflineSmall Offline

We found that Reaper won't recognize the vst3 that is inside the physical plugin bundle on Windows (this happens with the Steinberg SDK sample plugins as well). For now the solution is to move the .vst3 out of the bundle and directly into the plugin folder (same with the Steinberg SDK sample plugins if you try to use the physical bundles). Other DAWs such as Studio One have no issues with the VST3 in the bundle (or outside of it).

James (the Admin here) did some experiments and found that it has something to do with the vst3 icon that is glued onto the bundle folder, which is done in the last step of the build as a post-build event. 

And, the default mechanism for the VST3 SDK samples is to place a shortcut to the physical bundle, and not the bundle itself, into the plugins folder. I found that out last summer on the previous SDK. I also did experiments swapping the SDK sample bundles and shortcuts, as well as generating new shortcuts to the bundles. Trying to use the newly made shortcuts, that still pointed to the same physical bundles, did NOT work in Reaper (but did in Studio One). I'm scratching my head on this still. 

As for the AUs: usually if it passes validation there is a 95% chance it will work in the DAW so that is uncommon. Is you mac a new M1 with Apple Silicon? If so, that isn't supported in the current ASPiK release. 

If it is not a new M1, then the thing to do is attach the DAW instance to the debugger in Xcode and place a breakpoint at the top of the constructor for the AUFXPlugin instance. Then, load the plugin into the running-attached host. As soon as you open the plugin, the constructor will be hit and you can trace from there. You can do the same with VST3 by placing the breakpoint in the VST3Plugin::initialize( ) method. 

When we figure out the issue with VST3 and windows bundles/shortcuts I'll post a new revision as well. There is already a new ASPiK SDK in merge right now but the VST3 folder thing remains. 

Will 

Avatar
Member
Members
March 4, 2022 - 12:28 am
Member Since: August 9, 2021
Forum Posts: 9
sp_UserOfflineSmall Offline

Thanks for the helpful response. I've tried placing a shortcut to the VST3 into the appropriate Common Files folder, but it's still not recognized by Reaper.

I managed to miss the detail that a specific command was required post-build to validate AU plugins, so my earlier statement wasn't entirely true: the VST validation is passed on Windows (and maybe also Xcode; I can't figure out how to look at the complete build log output), but the AU validation command fails.

Here's the (truncated) output from the successful VST3 validation in VS 2019:

12>-------------------------------------------------------------
12>Result: 47 tests passed, 0 tests failed
12>-------------------------------------------------------------
12>[SMTG] Validator finished.
12>Done building project "crosstalk_reduction_a_VST.vcxproj".
13>------ Skipped Rebuild All: Project: ALL_BUILD, Configuration: Debug x64 ------
13>Project not selected to build for this solution configuration
========== Rebuild All: 12 succeeded, 0 failed, 1 skipped ==========

Avatar
Member
Members
March 4, 2022 - 12:29 am
Member Since: August 9, 2021
Forum Posts: 9
sp_UserOfflineSmall Offline

And here's the output of the failed 'auval -v aumF' command:

 

AU Validation Tool

Version: 1.10.0

    Copyright 2003-2019, Apple Inc. All Rights Reserved.

Specify -h (-help) for command options

 

--------------------------------------------------

VALIDATING AUDIO UNIT: 'aumF' - 'CTR1' - 'ESPP'

--------------------------------------------------

ERROR: Cannot get Component's Name strings

ERROR: Error from retrieving Component Version: -50

 

* * FAIL

--------------------------------------------------

TESTING OPEN TIMES:

FATAL ERROR: didn't find the component

Avatar
Member
Members
March 4, 2022 - 1:30 am
Member Since: August 9, 2021
Forum Posts: 9
sp_UserOfflineSmall Offline

Here's the output from the 'Run validator' report in the Xcode report navigator:

 

VST 3.7.2 Plug-in Validator:

-help           | Print help

-version        | Print version

-l              | Use local instance per test

-suite          | [name] Only run a special test suite

-e              | Run extensive tests [may take a long time]

-q              | Only print errors

-cid            | Only test processor with specified class ID

-test-component | [path] Path to an additional component which includes custom tests

-list           | Show all installed Plug-Ins

-snapshots      | List snapshots from all installed Plug-Ins

 

Usage: vstvalidator [options] vst3module

 

Program ended with exit code: 1

Forum Timezone: America/New_York

Most Users Ever Online: 152

Currently Online:
4 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: 782

Moderators: 1

Admins: 6

Forum Stats:

Groups: 13

Forums: 42

Topics: 849

Posts: 3370

Moderators: W Pirkle: 693