Questions about: TestHost, Gui, PLUGIN_TARGET_PATH

A few basic newbie questions - I have a little bit of experience with XCode, etc, but still learning how cmake and xcode and the VST generator work. It’s been years since I’ve done anything with programming.

That being said, I went through all the install tutorials, got cmake working on my machine and have been spending today trying to get the VST generator to work. I managed to run AGain and make that example.

However, after I run the XCode Project and it opens in the test host program, I do not see the GUI. I had the “use VSTGUI” checked off in the Generator so it must be something else. Do I need to specify the folder where the gui graphics are located?

and secondly, the bolded line at the bottom of the script - [SMTG] SMTG_PLUGIN_TARGET_PATH is set to: /Users/margaret/Library/Audio/Plug-Ins/VST3
I’d like to change that to my drive’s Library/Audio/Plug-Ins/VST3. Where do I need to that?


Here’s what the output of the generator looks like:

/Applications/ /private/var/folders/s6/mrcwt56164x1l7n7wg77blpr0000gn/T/AppTranslocation/244B6245-E521-4C4E-AEA5-C481E32B3237/d/ -DSMTG_VST3_SDK_SOURCE_DIR_CLI="/Users/margaret/Documents/VST_SDK/vst3sdk" -DSMTG_GENERATOR_OUTPUT_DIRECTORY_CLI="/Users/margaret/Documents/Development/my_plugins" -DSMTG_PLUGIN_NAME_CLI=“AGain” -DSMTG_PLUGIN_CATEGORY_CLI=“Fx” -DSMTG_CMAKE_PROJECT_NAME_CLI=“AGain” -DSMTG_PLUGIN_BUNDLE_NAME_CLI=“AGain” -DSMTG_PLUGIN_IDENTIFIER_CLI=“com.steinberg.again” -DSMTG_MACOS_DEPLOYMENT_TARGET_CLI=“10.12” -DSMTG_VENDOR_NAME_CLI=“xxxx xxxx” -DSMTG_VENDOR_HOMEPAGE_CLI="" -DSMTG_VENDOR_EMAIL_CLI=“xxxxxxx” -DSMTG_PREFIX_FOR_FILENAMES_CLI="" -DSMTG_PLUGIN_CLASS_NAME_CLI=“AGain” -DSMTG_ENABLE_VSTGUI_SUPPORT_CLI=ON -P /private/var/folders/s6/mrcwt56164x1l7n7wg77blpr0000gn/T/AppTranslocation/244B6245-E521-4C4E-AEA5-C481E32B3237/d/


Steinberg Media Technologies GmbH
VST3 Project Generator


– Found Git: /usr/bin/git (found version “2.32.0 (Apple Git-132)”)
– SMTG_CMAKE_SCRIPT_DIR : /private/var/folders/s6/mrcwt56164x1l7n7wg77blpr0000gn/T/AppTranslocation/244B6245-E521-4C4E-AEA5-C481E32B3237/d/
– SMTG_GENERATOR_OUTPUT_DIRECTORY : /Users/margaret/Documents/Development/my_plugins
– SMTG_TEMPLATE_FILES_PATH : /private/var/folders/s6/mrcwt56164x1l7n7wg77blpr0000gn/T/AppTranslocation/244B6245-E521-4C4E-AEA5-C481E32B3237/d/
– SMTG_VST3_SDK_SOURCE_DIR : /Users/margaret/Documents/VST_SDK/vst3sdk

– SMTG_SOURCE_COPYRIGHT_HEADER: Copyright(c) 2022 xxxxx.
– SMTG_PREFIX_FOR_FILENAMES : e.g. controller.h
– SMTG_PLUGIN_IDENTIFIER : com.steinberg.again, used e.g. in Info.plist

– SMTG_CMAKE_PROJECT_NAME : e.g. AGain will output AGain.vst3
– SMTG_VENDOR_NAMESPACE : e.g. namespace MyCompanyName {…}
– SMTG_PLUGIN_CLASS_NAME : e.g. class AGainProcessor : public AudioEffect {…}

– SMTG_Processor_UUID : 0x8C7633FF, 0x6C145C4C, 0xBE8BDA62, 0x07660C57
– SMTG_Controller_UUID : 0x3A7F84C9, 0x38AA5160, 0x971CF2E6, 0xA40A863F

– Configured: /Users/margaret/Documents/Development/my_plugins/AGain/CMakeLists.txt
– Configured: /Users/margaret/Documents/Development/my_plugins/AGain/resource/Info.plist
– Copied : /Users/margaret/Documents/Development/my_plugins/AGain/resource/8C7633FF6C145C4CBE8BDA6207660C57_snapshot.png
– Copied : /Users/margaret/Documents/Development/my_plugins/AGain/resource/8C7633FF6C145C4CBE8BDA6207660C57_snapshot_2.0x.png
– Configured: /Users/margaret/Documents/Development/my_plugins/AGain/resource/editor.uidesc
– Configured: /Users/margaret/Documents/Development/my_plugins/AGain/resource/win32resource.rc
– Configured: /Users/margaret/Documents/Development/my_plugins/AGain/source/version.h
– Configured: /Users/margaret/Documents/Development/my_plugins/AGain/source/cids.h
– Configured: /Users/margaret/Documents/Development/my_plugins/AGain/source/controller.cpp
– Configured: /Users/margaret/Documents/Development/my_plugins/AGain/source/controller.h
– Configured: /Users/margaret/Documents/Development/my_plugins/AGain/source/entry.cpp
– Configured: /Users/margaret/Documents/Development/my_plugins/AGain/source/processor.cpp
– Configured: /Users/margaret/Documents/Development/my_plugins/AGain/source/processor.h

/Applications/ -G Xcode -S /Users/margaret/Documents/Development/my_plugins/AGain -B /Users/margaret/Documents/Development/my_plugins/AGain/build -DSMTG_ADD_VSTGUI=ON
– The C compiler identification is AppleClang
– The CXX compiler identification is AppleClang
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Check for working C compiler: /Applications/ - skipped
– Detecting C compile features
– Detecting C compile features - done
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Check for working CXX compiler: /Applications/ - skipped
– Detecting CXX compile features
– Detecting CXX compile features - done
– [SMTG] Building with Xcode version: 13.3.1
– [SMTG] macOS Deployment Target: 12.2
– [SMTG] CMAKE_SOURCE_DIR is set to: /Users/margaret/Documents/Development/my_plugins/AGain
– [SMTG] CMAKE_CURRENT_LIST_DIR is set to: /Users/margaret/Documents/VST_SDK/vst3sdk
– [SMTG] Disable all VST3 samples
– Found EXPAT: /Applications/ (found version “2.4.1”)
– [SMTG] SMTG_VSTGUI_ROOT is set to: /Users/margaret/Documents/VST_SDK/vst3sdk
– [SMTG] SMTG_COREAUDIO_SDK_PATH is not set. If you need it, please download the COREAUDIO SDK!
– [SMTG] SMTG_AAX_SDK_PATH is not set. If you need it, please download the AAX SDK!
– Looking for C++ include stdatomic.h
– Looking for C++ include stdatomic.h - found
– [SMTG] Codesign validator for local machine only
– [SMTG] Codesign AGain for local machine only
– [SMTG] Setup running validator for AGain
**– [SMTG] SMTG_PLUGIN_TARGET_PATH is set to: /Users/margaret/Library/Audio/Plug-Ins/VST3**
– Configuring done
– Generating done
– Build files have been written to: /Users/margaret/Documents/Development/my_plugins/AGain/build

If this setting is off, then you should not get a UI.

You cannot change this as there are only two public folders supported with VST3. The one on the main hard drive and the one in the user directory.
Why do you want to change this. The target path is only used to create a symlink to your actual build of the plug-in. It’s not the installation directory of your plug-in.

Hi Arne,

Sorry, what I meant to say was the use VSTGUI was checked, so it should generating a GUI. Instead, I just see a black screen.

Thank you for the clarification - I wasn’t sure if it NEEDED to be where all my other plugins needed to be, in installed versions (for example, the same VST3 folder with my FabFilter EQ, etc).

Just press the right mouse button on the black screen on select “Open UIDescription Editor” to edit the UI of your plug-in.

thanks, that worked! now i can edit it.