Old 01-19-2017, 06:04 AM   #1
SpiderFox
Human being with feelings
 
Join Date: Jan 2017
Posts: 29
Default New Reaper extension for sharing configs/projects

Hello everyone,

I wanted to start developing a new Reaper extension and I wanted to ask if you think it would make sense.

What will the extension be for?

* Autheticating against Facebook/Google account (should make it easy to use for everyone without the need to setup another account you have to remember a password for). An independent authentication should also be available for those who don't like social networks like Facebook / Google+.
* Storing your reaper settings and loading them on other computers you use and/or sharing them with your friends
* Versioning&Storing project templates and loading them on other computers you use and/or sharing them with your friends
* Versioning&Storing whole projects and loading them on other computers you use and/or sharing them with your friends (maybe with your own server, I'm not sure yet if there will be enough donations for a public server)

What do you think?

Who is interested in helping me (is there someone experienced with Facebook's OAuth support?)

Last edited by SpiderFox; 01-21-2017 at 02:42 PM.
SpiderFox is offline   Reply With Quote
Old 01-19-2017, 08:45 AM   #2
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,687
Default

We just have been donated with ReaPack. And we are very happy about it.

Maybe extensions to same can be suggested, but IMHO it is here to stay !

-Michael
mschnell is online now   Reply With Quote
Old 01-19-2017, 09:09 AM   #3
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

I suppose the bulk of the work will be getting the networking stuff working, so not much to do with the Reaper API. (C++ doesn't have a standard way of accessing the network, so that's your first hurdle. There are of course libraries, for example the jnetlib in Cockos's WDL, but it's always possible there are limitations that prevent you from doing what you are trying to do.)

edit : Actually, getting a GUI working will probably be in the same ballpark as the networking stuff in terms of work needed. Again, no help from the Reaper API for the GUI and there is no really good solution for doing a cross platform GUI for a Reaper plugin with C++.
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.

Last edited by Xenakios; 01-19-2017 at 09:21 AM.
Xenakios is offline   Reply With Quote
Old 01-19-2017, 12:14 PM   #4
SpiderFox
Human being with feelings
 
Join Date: Jan 2017
Posts: 29
Default

Quote:
Originally Posted by mschnell View Post
We just have been donated with ReaPack. And we are very happy about it.

Maybe extensions to same can be suggested, but IMHO it is here to stay !

-Michael
I only can find effects, themes and scripts in ReaPack.

Some use cases I would find useful:

Using my reaper config, project templates and projects on multiple computers (e.g. computers of band members).

Having my projects backed up automatically with using the proposed extension.

I don't see how a package manager like ReaPack can do this.

I think this is not in the scope of a package manager. A package manager, for me installs new software (like scripts, extensions, plugins, maybe also themes) but not production level data.

I'm also not sure how a normal user could distribute his projects via ReaPack.

Anyway, I like ReaPack, too.
SpiderFox is offline   Reply With Quote
Old 01-19-2017, 12:18 PM   #5
SpiderFox
Human being with feelings
 
Join Date: Jan 2017
Posts: 29
Default

Quote:
Originally Posted by Xenakios View Post
I suppose the bulk of the work will be getting the networking stuff working, so not much to do with the Reaper API. (C++ doesn't have a standard way of accessing the network, so that's your first hurdle. There are of course libraries, for example the jnetlib in Cockos's WDL, but it's always possible there are limitations that prevent you from doing what you are trying to do.)

edit : Actually, getting a GUI working will probably be in the same ballpark as the networking stuff in terms of work needed. Again, no help from the Reaper API for the GUI and there is no really good solution for doing a cross platform GUI for a Reaper plugin with C++.
That's true, the most effort would go into UI and networking.

So you would say that it would be easier to implement an additional application that is not integrated into Reaper?

What I wouldn't like about that is that I would have to leave Reaper for sharing the config/projects/project templates. I would prefer a "1-Click" from withing Reaper (after initially setting up my account)

For example it would also be nice to access remote projects from the file menu within Reaper.
SpiderFox is offline   Reply With Quote
Old 01-19-2017, 04:30 PM   #6
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

Quote:
Originally Posted by SpiderFox View Post
So you would say that it would be easier to implement an additional application that is not integrated into Reaper?
Probably, unless you know of a C++ development framework that will seamlessly run inside Reaper within its window hierarchy. (I can say right away that Qt and JUCE do not run seamlessly that way. JUCE is a notch better than Qt, though. JUCE has been designed from the start to be used for plugins running inside other apps but of course that means plugins like VST, AU or AAX and not Reaper extension plugins.)
__________________
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 01-19-2017, 05:19 PM   #7
SpiderFox
Human being with feelings
 
Join Date: Jan 2017
Posts: 29
Default

Quote:
Originally Posted by Xenakios View Post
Probably, unless you know of a C++ development framework that will seamlessly run inside Reaper within its window hierarchy. (I can say right away that Qt and JUCE do not run seamlessly that way. JUCE is a notch better than Qt, though. JUCE has been designed from the start to be used for plugins running inside other apps but of course that means plugins like VST, AU or AAX and not Reaper extension plugins.)
But SWS extension has a lot of UI too, how was it done there?
SpiderFox is offline   Reply With Quote
Old 01-19-2017, 05:51 PM   #8
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

Quote:
Originally Posted by SpiderFox View Post
But SWS extension has a lot of UI too, how was it done there?
With the Windows win32 API, which is horrible to use. (Cockos also has a library called SWELL for macOS that emulates the win32 API there.) You could of course take a look at the SWS source code to see how they are dealing with it. The only good thing IMHO about the win32 API in the context of developing Reaper plugins is that Reaper itself is coded with that, so extension plugins can better integrate with the GUI code.
__________________
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 01-20-2017, 10:03 AM   #9
SpiderFox
Human being with feelings
 
Join Date: Jan 2017
Posts: 29
Default

Quote:
Originally Posted by TonE View Post
Great idea, however facebook is very bad idea. Anything working is great. Analyzing ReaConfizZip's in additional 'portable installs' is fastest way of learning advanced tricks in Reaper, simply by looking what others had for great ideas, then taking over stuff you like, be it custom actions, toolbars, hotkeys and more.
Thanks for the reply. And the useful links Why do you think Facebook is a bad idea?

Last edited by SpiderFox; 01-20-2017 at 03:53 PM.
SpiderFox is offline   Reply With Quote
Old 01-20-2017, 03:09 PM   #10
SpiderFox
Human being with feelings
 
Join Date: Jan 2017
Posts: 29
Default

Quote:
Originally Posted by TonE View Post
Why forcing people having to use facebook? This would be immediate showstopper.
Facebook doesn't have to be the only provider. I thought it would be easier for people who have Facebook because they won't need to have another set of credentials.
SpiderFox is offline   Reply With Quote
Old 01-22-2017, 05:03 AM   #11
SpiderFox
Human being with feelings
 
Join Date: Jan 2017
Posts: 29
Default

Quote:
Originally Posted by Xenakios View Post
Probably, unless you know of a C++ development framework that will seamlessly run inside Reaper within its window hierarchy. (I can say right away that Qt and JUCE do not run seamlessly that way. JUCE is a notch better than Qt, though. JUCE has been designed from the start to be used for plugins running inside other apps but of course that means plugins like VST, AU or AAX and not Reaper extension plugins.)
Can you please explain a few details about why Qt doesn't work?
SpiderFox is offline   Reply With Quote
Old 01-22-2017, 08:54 AM   #12
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

Quote:
Originally Posted by SpiderFox View Post
Can you please explain a few details about why Qt doesn't work?
You might be able to make the now obsolete Qt4 work on Windows, but it's going to be messy and doesn't work really well in the end. (I haven't tested Qt4 on macOS for Reaper extensions.) I haven't looked into Qt5 at all since I've switched over to using JUCE for my C++ projects.

Some problems I ended up experiencing with Qt4 on Windows :

-If it needs to be used from dlls (due to wanting to using the LGPL license), an annoying additional plugin dll needs to be created that doesn't itself depend on Qt but loads the Qt dlls and then the actual extension that uses Qt.
-To be able to achieve at least some level of integration into Reaper's window hierarchy, the qtwinmigrate module needs to be used. (It is not part of the main Qt framework.)

macOS probably brings in additional complications.
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.

Last edited by Xenakios; 01-22-2017 at 09:00 AM.
Xenakios is offline   Reply With Quote
Old 01-22-2017, 10:19 AM   #13
SpiderFox
Human being with feelings
 
Join Date: Jan 2017
Posts: 29
Default

Quote:
Originally Posted by Xenakios View Post
You might be able to make the now obsolete Qt4 work on Windows, but it's going to be messy and doesn't work really well in the end. (I haven't tested Qt4 on macOS for Reaper extensions.) I haven't looked into Qt5 at all since I've switched over to using JUCE for my C++ projects.

Some problems I ended up experiencing with Qt4 on Windows :

-If it needs to be used from dlls (due to wanting to using the LGPL license), an annoying additional plugin dll needs to be created that doesn't itself depend on Qt but loads the Qt dlls and then the actual extension that uses Qt.
-To be able to achieve at least some level of integration into Reaper's window hierarchy, the qtwinmigrate module needs to be used. (It is not part of the main Qt framework.)

macOS probably brings in additional complications.
Why can't I load the Qt dll directly from Reaper?

What are the problems with JUCE in detail?
SpiderFox is offline   Reply With Quote
Old 01-22-2017, 10:47 AM   #14
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

Quote:
Originally Posted by SpiderFox View Post
Why can't I load the Qt dll directly from Reaper?

What are the problems with JUCE in detail?
Well, technically you could maybe put the Qt4 dlls in the folder where reaper.exe itself resides, put that's a very ugly solution.

JUCE is problematic because it doesn't directly support attaching its windows into the Reaper window hierarchy. On Windows with some hacks, half decent integration can be achieved but on macOS it remains quite problematic. (For example I couldn't find a solution so far for supporting the Reaper dockers.)
__________________
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
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 01:21 PM.


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