Attaching to the Reaper API VST2 vs VST3

Hi Reaper / Juce addicted developers.

I am doing an audio plugin solely for use with Reaper.
I need to use the Reaper API in that plugin.
I found rather old posts by “Xenakios” who did exactly this. But unfortunately Xenakios is not active in that area any more :frowning:
He wrote in this forum and in the Reaper forum, that this is possible “out of the box” when doing a VST2, but JUCE somehow prevents this when trying to do a VST3.
He therefor did a fork of the JUCE code to allow for this with VST3.
Of course I am not inclined to use unsupported code for JUCE with a new project. But OTOH, for multiple reasons, I’d like to do a VST3.
Can anybody provide any additional pointers to me ?

Thanks a lot,

I have not looked into any of this stuff for about a year now. But as far as I have seen, the Juce team still has not added official support that would allow using host specific extensions with VST3.

Great to find you here. (I do remember that you have been very busy getting me up to speed with JSFX programming some Years ago :slight_smile: Thanks again !!!)

As the stuff I did up till now seems to be workable in VST2, as well, it might be not a great problem just do leave it at that.

OTOH (see the other thread) I did not find out how to access the DAW interface at all with JUCE V 6.x.

BTW.: are you affiliated to the development of Camelot (I had some discussions with the team some time ago) ?


What exactly do you need to communicate to/from Reaper about?
Do you need to communicate from your Processor?
Do you need to communicate from your Editor? (Very possible via OSC).

[See my babble about OSC] Triggering abelton live clips from juce plugin? - Audio Plugins - JUCE

Look at the Default.ReaperOSC located at C:\Users\yourusername\AppData\Roaming\REAPER\OSC.
It is (sort of) self documenting.
At a minimum you should be able to discern what is available via Reaper / OSC.

I’d lidk something similar as SWS LiveConfigs. That supposedly includes what is done by MidiToReaControlPath (or ReaLearn, FWIW).
Regarding “remote-controlling” Reaper, in a first shot I’d like to implement the live activities

  • mute/unmute tracks
  • set DAW parameters of plugins
  • maybe pushing presets to pluigins
  • do what LiveConfigs calls “tiny fades” (i.e. controlling some track volume parameter which is not the main slider. I did not yet research on how this is done.)

Later I might want to support the user with configuring their setup

  • set up the Audio and Midi routing
  • install plugins in tracks ad set properties like “ignore delay compensation”

I suppose I need to communicate from the “Processor” when the system is to be working in a live setup: it digests Midi messages and performs the “patch changing” as it had been configured to. I do understand ther with that supposedly both the track’s audio thread an the GUI thread ias involved and this need some kind of internal communication (as MidiToReaControlPath does, but unfortunately that plugin is not open source)

For “configuration support” I suppose communication from the Editor (only the GUI thread involved).

BTW.: In fact I first considered to take over the support for the LiveConfigs part of SWS (which is rather alien to SWS and for understandable reasons for the main supporter of SWS it’s of lesser interest), but it seemed to be quite impossible to separate LifeConfigs form the rest of SWS. Finally ReaLeran inspired me to plan to do a VST instead of a Reaper extension

Thanks for any tips…