COCKOS
CONFEDERATED FORUMS
Cockos : REAPER : NINJAM : Forums
Forum Home : Register : FAQ : Members List : Search :
Old 01-23-2020, 01:13 PM   #1
Nikolaos
Human being with feelings
 
Join Date: Dec 2019
Posts: 29
Default IPlug2 or JUCE

My question is whether to make the effort to laboriously convert my project IPlug (1) (with many custom-made controls that work perfect) to move to IPlug2 or go definitely to JUCE (whose changes in the initial license even make it convenient since it allows code closed source etc ...).
Nikolaos is offline   Reply With Quote
Old 01-23-2020, 03:06 PM   #2
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,059
Default

Quote:
Originally Posted by Nikolaos View Post
to JUCE (whose changes in the initial license even make it convenient since it allows code closed source etc ...).
Note that the Juce licensing is not at all straightforward for closed source projects, there are licensing payments or other obligations involved. It's completely free to use only for GPL3 (open source) projects.
__________________
For info on SWS Reaper extension plugin (including Xenakios' previous extension/actions) :
http://www.sws-extension.org/
https://github.com/Jeff0S/sws
--
Xenakios blog (about HourGlass, Paul(X)Stretch and λ) :
http://xenakios.wordpress.com/
Xenakios is online now   Reply With Quote
Old 01-23-2020, 04:15 PM   #3
Nikolaos
Human being with feelings
 
Join Date: Dec 2019
Posts: 29
Default

Quote:
Originally Posted by Xenakios View Post
Note that the Juce licensing is not at all straightforward for closed source projects, there are licensing payments or other obligations involved. It's completely free to use only for GPL3 (open source) projects.
"We are introducing the Personal license, which is completely free and allows to release closed source applications as long as total yearly revenue is less than USD $50k.Apr 26, 2017"

__________________________________________________ _______________________________

I am very grateful to WDL, IPlug, and all who collaborate with this project.

But some changes in IPlug2 are too different, large, I do not say that arbitrary but one spent years learning the clear mechanism of operation of IPlug 1, and those of IPlug2 surely in view of expanding its possibilities are very unilateral changes and different from those that We were using.

Try to adapt for weeks a smaller project just to understand that I would have been happy using IPlug1 but with a more powerful alternative graphics engine, especially to deal with retina / hidpi.

At this point I am doubting whether to go to the mainstream.
Nikolaos is offline   Reply With Quote
Old 01-23-2020, 06:21 PM   #4
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,059
Default

Quote:
Originally Posted by Nikolaos View Post
"We are introducing the Personal license, which is completely free and allows to release closed source applications as long as total yearly revenue is less than USD $50k.Apr 26, 2017"
"Free" as in you don't need to pay them money, but then the other obligations come into play. Your Juce based software will need to have the Juce splash logo visible and you must allow the software to send analytics data over the internet from the end user's computer.
__________________
For info on SWS Reaper extension plugin (including Xenakios' previous extension/actions) :
http://www.sws-extension.org/
https://github.com/Jeff0S/sws
--
Xenakios blog (about HourGlass, Paul(X)Stretch and λ) :
http://xenakios.wordpress.com/
Xenakios is online now   Reply With Quote
Old 01-24-2020, 08:27 AM   #5
olilarkin
Human being with feelings
 
Join Date: Apr 2009
Location: UK
Posts: 1,208
Default

I would have thought it would be a lot easier to port an iPlug1 plugin to iPlug2 than to port to JUCE. Saying that i've seen all sorts of crazy stuff people have done with iPlug1 code (including myself 10 years ago). You cannot just expect it to work - you're going to have to be methodical and beta test your plugin all over again whatever.

here are some out of date docs i wrote for upgrading a project:

https://github.com/iPlug2/iPlug2/blo...ion/upgrade.md

good luck
__________________
VirtualCZ | pMix | Endless Series | iPlug2 | Linkedin | Facebook
Available for Audio Dev tuition via Skype (IPlug/JUCE/C++)
olilarkin is online now   Reply With Quote
Old 01-24-2020, 10:59 AM   #6
Nonlinear
Human being with feelings
 
Join Date: Apr 2018
Posts: 293
Default

Quote:
Originally Posted by olilarkin View Post
I would have thought it would be a lot easier to port an iPlug1 plugin to iPlug2 than to port to JUCE. Saying that i've seen all sorts of crazy stuff people have done with iPlug1 code (including myself 10 years ago). You cannot just expect it to work - you're going to have to be methodical and beta test your plugin all over again whatever.

here are some out of date docs i wrote for upgrading a project:

https://github.com/iPlug2/iPlug2/blo...ion/upgrade.md

good luck
Oli - this is some very helpful info. Please consider posting this as a "sticky" at the top of this forum.
Nonlinear is offline   Reply With Quote
Old 01-25-2020, 04:25 AM   #7
Nikolaos
Human being with feelings
 
Join Date: Dec 2019
Posts: 29
Default

Quote:
Originally Posted by olilarkin View Post
I would have thought it would be a lot easier to port an iPlug1 plugin to iPlug2 than to port to JUCE. Saying that i've seen all sorts of crazy stuff people have done with iPlug1 code (including myself 10 years ago). You cannot just expect it to work - you're going to have to be methodical and beta test your plugin all over again whatever.

here are some out of date docs i wrote for upgrading a project:

https://github.com/iPlug2/iPlug2/blo...ion/upgrade.md

good luck
Using IGRAPHICS_NANOVG

Now I try to load a PNG via #define control_fn "control.png" in "config.h"

The PNG is in /img of course.

But all the time I get an error (division by zero) in this line:

/ ** @return Height of a single frame in pixels * /
int FH () const {return (mFramesAreHorizontal? mH: mH / mN); } ...



It's frustrating..
Nikolaos is offline   Reply With Quote
Old 01-25-2020, 04:50 AM   #8
olilarkin
Human being with feelings
 
Join Date: Apr 2009
Location: UK
Posts: 1,208
Default

Your image is invalid for some reason. How tall/wide is your bitmap? NanoVG is a GPU backend and loads images in to textures. There is a hard limit on the dimensions of textures (seems to be 16384px). That might be the issue. We should probably bail out at an earlier stage, rather than failing when trying to read the null bitmap
__________________
VirtualCZ | pMix | Endless Series | iPlug2 | Linkedin | Facebook
Available for Audio Dev tuition via Skype (IPlug/JUCE/C++)
olilarkin is online now   Reply With Quote
Old 01-25-2020, 12:21 PM   #9
Nikolaos
Human being with feelings
 
Join Date: Dec 2019
Posts: 29
Default

Quote:
Originally Posted by olilarkin View Post
Your image is invalid for some reason. How tall/wide is your bitmap? NanoVG is a GPU backend and loads images in to textures. There is a hard limit on the dimensions of textures (seems to be 16384px). That might be the issue. We should probably bail out at an earlier stage, rather than failing when trying to read the null bitmap
I tried a bitmap that comes in an example project: switch.png
(60 x 40) and continue giving the same error.

IVcontrols work, but bitmaps give this error.

Apparently he always thinks it's a horizontal button.
Nikolaos is offline   Reply With Quote
Old 01-26-2020, 04:52 AM   #10
olilarkin
Human being with feelings
 
Join Date: Apr 2009
Location: UK
Posts: 1,208
Default

can you try with another graphics backend?

https://github.com/iPlug2/iPlug2/wik...ching_graphics

try IGRAPHICS_LICE
__________________
VirtualCZ | pMix | Endless Series | iPlug2 | Linkedin | Facebook
Available for Audio Dev tuition via Skype (IPlug/JUCE/C++)
olilarkin is online now   Reply With Quote
Old 01-26-2020, 10:45 AM   #11
Nikolaos
Human being with feelings
 
Join Date: Dec 2019
Posts: 29
Default

Quote:
Originally Posted by olilarkin View Post
can you try with another graphics backend?

https://github.com/iPlug2/iPlug2/wik...ching_graphics

try IGRAPHICS_LICE
Thanks Oli, I don't know what I changed, but now it works with NANO.

I just need to see how to adapt the entire code where I used
bytechunk un / serialize,
and how to graph a signal that is not in the buffer output pointer. ( no longer works: variable = pGraphics-> Control) and then: variable = f; in the audio thread.

I am slightly hopeful again.
Nikolaos 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 09:00 AM.


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