Help: RNBO VST3 Custom UI

realshafer's icon

I'm running into a problem at the point where I've connected the custom UI I made in JUCE to CustomAudioEditor.h and CustomAudioEditor.cpp. Upon building the VST3, I don't see my custom UI, just the default UI.

A couple questions/comments about the instructions in those two help files:

  • The built VST3 shows up here, correct? Just double-checking: MYPROJECT/build/RNBOAudioPlugin_artefacts/Debug/VST3/

  • The instructions first indicate building the VST using Ninja and later seem to indicate using CMake. I've tried building using both, but neither seem to make a difference.

  • The instructions to add code to some of the files is a bit confusing to me. For example, in Plugin.cmake, I understand adding ui/NewProject/Source/RootComponent.cpp to the end of

target_sources(RNBOAudioPlugin PRIVATE
"${RNBO_CPP_DIR}/adapters/juce/RNBO_JuceAudioProcessor.cpp"
"${RNBO_CPP_DIR}/adapters/juce/RNBO_JuceAudioProcessorEditor.cpp"
"${RNBO_CPP_DIR}/RNBO.cpp"
${RNBO_CLASS_FILE}
src/Plugin.cpp
src/CustomAudioEditor.cpp
src/CustomAudioProcessor.cpp
ui/NewProject/Source/RootComponent.cpp
)

But I don't see this entire block of code in Plugin.cmake, do I add the whole thing or am I missing something:
include_directories(
"${RNBO_CPP_DIR}/"
"${RNBO_CPP_DIR}/common/"
"${RNBO_CPP_DIR}/adapters/juce/"
"${RNBO_CPP_DIR}/src/3rdparty/"
"src"
"ui/NewProject/Source"
)

So, I just added it below the previous block. Is this a problem?

Apologies for the potentially confusing and beginner tier questions. Would love to be able to make this leap to designing VST3s with custom UIs. Any help is greatly appreciated!

realshafer's icon

Having finally made a working version from the custom UI tutorial, I'll answer my own questions:

The built VST3 shows up here, correct? Just double-checking: MYPROJECT/build/RNBOAudioPlugin_artefacts/Debug/VST3/

  • Yes, this is correct

The instructions first indicate building the VST using Ninja and later seem to indicate using CMake. I've tried building using both, but neither seem to make a difference.

  • I'm not sure why the instructions show Ninja in one location and CMake in another, but either supposedly work. I had successful results with CMake.

The instructions to add code to some of the files is a bit confusing to me. For example, in Plugin.cmake, I understand adding ui/NewProject/Source/RootComponent.cpp to the end of

target_sources(RNBOAudioPlugin PRIVATE "${RNBO_CPP_DIR}/adapters/juce/RNBO_JuceAudioProcessor.cpp" "${RNBO_CPP_DIR}/adapters/juce/RNBO_JuceAudioProcessorEditor.cpp" "${RNBO_CPP_DIR}/RNBO.cpp"
${RNBO_CLASS_FILE}
src/Plugin.cpp
src/CustomAudioEditor.cpp
src/CustomAudioProcessor.cpp
ui/NewProject/Source/RootComponent.cpp
)

But I don't see this entire block of code in Plugin.cmake, do I add the whole thing or am I missing something:

include_directories(
"${RNBO_CPP_DIR}/"
"${RNBO_CPP_DIR}/common/"
"${RNBO_CPP_DIR}/adapters/juce/"
"${RNBO_CPP_DIR}/src/3rdparty/"
"src"
"ui/NewProject/Source"
)

So, I just added it below the previous block. Is this a problem?

  • I still don't understand why some lines don't have quotes around them in the vanilla versions of the files and the tutorial asks you to replace those same exact lines now with quotes. I opted to replace the vanilla code with the tutorial's code and it worked fine.


Lastly, I think I identified the main culprit of my inability to attach the UI to the plugin: I skipped the first literal first step where you "Open up CustomAudioProcessor.cpp and modify the section at the bottom so you are using the CustomAudioEditor." Gah! Anyway, it's all working now.