Go Back   Cockos Incorporated Forums > REAPER Forums > ReaScript, JSFX, REAPER Plug-in Extensions, Developer Forum

Reply
 
Thread Tools Display Modes
Old 06-30-2018, 02:41 AM   #41
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

Quote:
Originally Posted by Geoff Waddington View Post
Yeah, that's why, in the end, decided against using JUCE on the CSI project, one too many moving targets
I honestly don't understand how you came to that conclusion. My JUCE based projects that don't rely on an altered JUCE code base have had very few problems using the latest latest JUCE versions from the develop branch from their git repo. I do a git pull on the JUCE develop branch almost every day and it happens only a few times a year I actually have to change/fix something in my own code because of that or I need to report a bug in their forum. Things would be even more stable if one doesn't live on the edge and just uses their master branch which they don't update that often.

The project that is the topic of this thread is obviously an exception. It simply does things that are not supported by JUCE and relies on keeping an internally modified JUCE version in sync. (Which is a very non-ideal situation.)
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.

Last edited by Xenakios; 06-30-2018 at 02:49 AM.
Xenakios is offline   Reply With Quote
Old 06-30-2018, 04:52 AM   #42
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

Quote:
Originally Posted by mschnell View Post
But it seems once I (or whoever) might decide to start a project (e.g. doing a VST3 based JUCE enabled Reaper extension), they will need to ask for your help on then current questions.
I don't recommend people generally would even do anything with VST plugins that requires using the Reaper API. This forum thread and the git repo are provided to show that it is possible to do, but it isn't straightforward and will be a maintenance burden for development.

If you think you want to use the Reaper API from VST plugins, consider very carefully if it actually is what you want to be doing.
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
Xenakios is offline   Reply With Quote
Old 06-30-2018, 05:06 AM   #43
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,183
Default

Quote:
Originally Posted by Xenakios View Post
I honestly don't understand how you came to that conclusion. My JUCE based projects that don't rely on an altered JUCE code base have had very few problems using the latest latest JUCE versions from the develop branch from their git repo. I do a git pull on the JUCE develop branch almost every day and it happens only a few times a year I actually have to change/fix something in my own code because of that or I need to report a bug in their forum. Things would be even more stable if one doesn't live on the edge and just uses their master branch which they don't update that often.

The project that is the topic of this thread is obviously an exception. It simply does things that are not supported by JUCE and relies on keeping an internally modified JUCE version in sync. (Which is a very non-ideal situation.)
I guess I found myself in the same exceptional position as you, as far as needing to modify JUCE internals

Maybe I'm wrong, who knows, I ain't the smartest dude on the block, just an old guy still having fun
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
Geoff Waddington is offline   Reply With Quote
Old 06-30-2018, 05:26 AM   #44
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

Quote:
Originally Posted by Geoff Waddington View Post
needing to modify JUCE internals
Right, if a framework seems to require modifying its code extensively, then it probably isn't the right framework for you. (I ended up in that situation with IPlug, effectively starting a rewrite of it and ultimately decided JUCE is a better fit for me.)

Apart from this mess with VST plugins using the Reaper API, I've had very little need to change things in JUCE myself. (My JUCE version probably has under 100 lines of differences compared to the official version and I can manage things pretty well with git.)

Would you mind going into the specifics of why you had to attempt to modify the JUCE internals?
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.

Last edited by Xenakios; 06-30-2018 at 06:02 AM.
Xenakios is offline   Reply With Quote
Old 06-30-2018, 05:51 AM   #45
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Is the JUCE community not open to accept modifications to open the framework for those purposes ?

-Michael
mschnell is online now   Reply With Quote
Old 06-30-2018, 06:05 AM   #46
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

Quote:
Originally Posted by mschnell View Post
Is the JUCE community not open to accept modifications to open the framework for those purposes ?
There are very few people who need the Reaper API interoperability within VST plugins, so it's not a priority for the Roli company to make the needed changes. (They rarely, if ever, accept patches directly, preferring to write the changes themselves. There is no "community" as such, the code is owned and maintained by the Roli company and they make the decisions regarding the code in the official repository.)

Since JUCE is open source, it is of course possible for outside parties to maintain their own open source JUCE forks, but it's not ideal.
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.

Last edited by Xenakios; 06-30-2018 at 09:22 AM.
Xenakios is offline   Reply With Quote
Old 06-30-2018, 11:31 AM   #47
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Quote:
Originally Posted by Xenakios View Post
There are very few people who need the Reaper API interoperability within VST plugins, so it's not a priority for the Roli company to make the needed changes.
I did not think of dedicated Reaper API related changes, but of a kind of open "plugin" features available without modifying the source code of the main tree.

-Michael
mschnell is online now   Reply With Quote
Old 06-30-2018, 11:40 AM   #48
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

Quote:
Originally Posted by mschnell View Post
I did not think of dedicated Reaper API related changes, but of a kind of open "plugin" features available without modifying the source code of the main tree.
The changes needed for using the Reaper API are trivial (still quite a pain the ass to deal with) and would cover other similar use cases too. It's just about being able to access a few pointers currently hidden in the JUCE abstractions, but they just haven't wanted to allow access to those yet.
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.

Last edited by Xenakios; 06-30-2018 at 11:48 AM.
Xenakios is offline   Reply With Quote
Old 06-30-2018, 12:43 PM   #49
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Quote:
Originally Posted by Xenakios View Post
they just haven't wanted to allow access to those yet.
Silly

-Michael
mschnell is online now   Reply With Quote
Old 08-07-2018, 04:53 AM   #50
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

Roli has now apparently added a way for VST2 plugins to use the necessary functionality to use things like the Reaper API. But unfortunately no similar thing for VST3.

edit : I updated the repo to use the new JUCE facilities and (hopefully only temporarily) removed VST3 support.
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.

Last edited by Xenakios; 08-07-2018 at 05:51 AM.
Xenakios is offline   Reply With Quote
Old 08-07-2018, 06:41 AM   #51
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Finally, things seem to be improving in this area...
-Michael
mschnell is online now   Reply With Quote
Old 10-12-2019, 09:02 PM   #52
shadowstorm
Human being with feelings
 
Join Date: May 2017
Posts: 1
Default Need help getting Reaper API to work with JUCE

Hi All, I’m trying to use Reaper C++ API in a JUCE VST3 audio plugin (or does it not work with VST3?). The main issue that I’m currently having is that VSTCallbackHandler::handleVstHostCallbackAvailable (std::function<VstHostCallbackType>&& callback) is not getting called at all. I am relying on this function to get the reference to the Host (Reaper) which I could then (hopefully) load the Reaper API. I see that it’s a virtual function and I am overriding it in my AudioProcessor class as well as providing the implementation. If anyone has any advice or example on how I can go about getting this to work I would greatly appreciate the help! I'm super new to all this so not quite sure if I'm going about it the right way.
shadowstorm is offline   Reply With Quote
Old 10-12-2019, 10:49 PM   #53
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

The only example of a dll I know that uses both the the VST API specification as the Reaper API specification at the same time is MidiToReaControlPath by SWS (so this is possible). But AFAIK this is neither open source nor VST3 nor Juce enabled.

-Michael
mschnell is online now   Reply With Quote
Old 10-13-2019, 02:57 AM   #54
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

Quote:
Originally Posted by shadowstorm View Post
VSTCallbackHandler::handleVstHostCallbackAvailable (std::function<VstHostCallbackType>&& callback) is not getting called at all.
That only works for VST2 plugins. Getting access to the Reaper API with VST3 plugins done with JUCE still requires changing the JUCE source code. Roli has been reluctant to add official support.
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
Xenakios is offline   Reply With Quote
Old 08-04-2020, 06:15 PM   #55
lexomir
Human being with feelings
 
lexomir's Avatar
 
Join Date: Oct 2018
Posts: 39
Default

Does anybody have the original example code provided by xenakios? The repository seems to be down.

I'm just trying to figure out how to get access to Reaper's api from the hostContext pointer given to me in a vst3 "Intialize" call.

Edit:
found the answer here by jeffos: https://forum.cockos.com/archive/ind.../t-165890.html

Last edited by lexomir; 08-04-2020 at 06:33 PM.
lexomir is offline   Reply With Quote
Old 10-06-2020, 02:38 PM   #56
Auricula
Human being with feelings
 
Join Date: Oct 2020
Posts: 1
Default More please...

[QUOTE=lexomir;2328260]Does anybody have the original example code provided by xenakios? The repository seems to be down.

That didn't seem provide enough info for me. Did you ever get this figured out or find all the code ?
Auricula is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 03:11 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.