Some Questions about RNBO Exporting and Compilation

Darling Lee's icon

Hello!

I've recently become very interested in RNBO, especially its ability to directly compile into plugins such as VST3, as well as export C++ source code for custom UI using JUCE to create my own plugins. However, I've encountered some issues and would like to ask for advice:

  1. Issue with Latency: Due to certain requirements, I need to delay audio signals for processing within the RNBO patcher. In order for the DAW to recognize the plugin's latency sample count and apply delay compensation, I haven't found a feature similar to the 'live.thisdevice' object inputting latency parameter in M4L. I'm wondering if there is a solution within RNBO that allows my RNBO patcher exported VST3 plugin to be recognized by the DAW for latency sample count and delay compensation.

  2. MIDI Effect Inquiry: I attempted to create a MIDI effect using RNBO that can be used in Reaper, Bitwig Studio, and Logic (all of which support third-party MIDI effect plugins). I noticed that when exporting plugins directly from RNBO using VST3/AU export functionality, there are no issues in usage. However, when I try to customize the plugin UI by exporting C++ source code and using JUCE to add custom UI (following https://github.com/cycling74/rnbo.example.juce), after compilation, my plugin can only transmit MIDI Note signals. Other MIDI signals like CC, Pitchbend, etc., are not being transmitted, which is causing me distress. Through my testing, I've found that this issue arises not when customizing the UI. Even when I export C++ source code directly and compile using unaltered rnbo.example.juce(I only made modifications to the plugin type in the CMake file to compile it as a MIDI Effect.), the same issue persists. I'm seeking guidance on how to achieve both a custom UI and ensure that my MIDI Effect plugin transmits all MIDI signals (all MIDI signals are processed within RNBO).

Geetha  Mishra's icon

Hello!

It's great that you're exploring RNBO!

For the latency issue, try using the latency attribute within the audio object in your patch. This should help the DAW recognize the latency for compensation. If it doesn't work, check the documentation for any updates.

Regarding your MIDI effect, ensure that your processblock method in JUCE is set up to handle all MIDI events correctly. Double-check your routing within RNBO and JUCE settings to ensure that all MIDI signals are processed.

Good luck, and I hope this helps!