|
03-12-2017, 11:39 AM
|
#1
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
IPlug - Youlean
Hi guys, here is the initial release of IPlug-Youlean. Some examples are removed but it will be added later.
This framework adds over WDL-OL:
-GUI resize/rescale
-GUI live edit; This could be easily added to WDL-OL too if someone wants to play with it.
-Cairo graphics support; This will allow you to use LICE + cairo in your plugin with great performance. All libs for MSVC2015 and 10.7+ XCode are included.
This framework will get many update in the future, and some API will likely be changed, but everything will be logged, so don't worry.
API change from WDL-OL:
mRECT to mDrawRECT
GetRECT to GetDrawRECT
LoadBitmap to LoadPointerToBitmap
Try it and enjoy. If you want to port your plugin to mine framework, just clone IPlugExample and the add your sources. That will be the fastest way for doing it...
https://github.com/Youlean/IPlug-Youlean
Last edited by Youlean; 06-14-2017 at 10:29 AM.
|
|
|
03-12-2017, 12:09 PM
|
#2
|
Human being with feelings
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
|
great!
|
|
|
03-12-2017, 01:37 PM
|
#3
|
Human being with feelings
Join Date: Dec 2015
Posts: 39
|
Best wishes with IPlug Youlean, following with much interest...
|
|
|
03-13-2017, 05:06 AM
|
#4
|
Human being with feelings
Join Date: Apr 2014
Posts: 84
|
awesome, thank you
|
|
|
03-13-2017, 08:51 AM
|
#5
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,653
|
Cool, thanks for sharing!
|
|
|
03-13-2017, 10:49 AM
|
#6
|
Banned
Join Date: Sep 2015
Posts: 1,650
|
+1, looking forward to checking out the Cairo integration! Thanks!
|
|
|
03-13-2017, 12:50 PM
|
#7
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Thanks guys! There are some warnings in visual studio for cairo, but it is nothing to worry about. It will be fixed in the future...
|
|
|
03-13-2017, 10:52 PM
|
#8
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
Big thanks for this! Will experiment and let you know how it goes :-)
|
|
|
03-14-2017, 06:26 AM
|
#9
|
Banned
Join Date: Sep 2015
Posts: 1,650
|
Are there supposed to be pre-built Cairo libraries included? There aren't any in the master branch and no project files to build them.
|
|
|
03-14-2017, 06:41 AM
|
#10
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by snooks
Are there supposed to be pre-built Cairo libraries included? There aren't any in the master branch and no project files to build them.
|
Sorry, it seams that windows libs are missing. I will reupload it tomorrow...
|
|
|
03-14-2017, 07:03 AM
|
#11
|
Banned
Join Date: Sep 2015
Posts: 1,650
|
Cool, good man!
|
|
|
03-14-2017, 04:05 PM
|
#12
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
Ok, so I used the Cairo Windows libs in the 19th post here - http://forum.cockos.com/showthread.php?t=178581, and with those I got the IPlugEffect, IPlugCairoEffect and IPlugLiveEdit example projects compiling and running in Windows 10 with VC2015 absolutely fine - LiveEdit looks really useful btw!. The IPlugEffectGUIResize project compiles without issue, but the app isn't resizing, it currently just has an adjustable window size while the knob retains its size and place.
XCode is still bringing issues. Tried compiling the examples with 8.1, but it gives the error "linker command failed with exit code 1 (use -v to see invocation)" and "ld: library not found for -lpng16". Was using the 10.11 SDK, but tried some others and didn't get it working with those either.
Getting my existing project to compile in Windows was also problematic.
The duplicate.py script isn't renaming some of the files if you try to duplicate a project other than IPlugEffect - I tried duplicating the IPlugEffectCairoGraphics project, but it left a few of the files with the previous project name instead of the new one.
To get my existing project to compile, I went along with adding my files to a duplicated IPlugEffect and made the following changes to my code:
changed all "#include "Youlean_Cairo.h" to "#include "ycairo.h"
changed all "youlean_cairo_base" to "ycairo_base"
changed all "ycairo_prepare_draw()" to ycairo_prepare_draw(mDrawRECT)""
Went into iautogui.h and replaced all occurences of mRECT with mDrawRECT
Removed ycairo = new ycairo_base();
changed "ycairo->attach_background(pGraphics, ycairo, IColor(255, 50, 50, 50))" to "ycairo->attach_background(pGraphics, IColor(255, 50, 50, 50))"
At this point it compiled, but on running it crashed with an Assertion Failed saying "Expression: imgResourceNotFound". I'd added the ID and FN values into resource.h and copied the png to the resources/img folder, but if I try to add the png to the project, it would say 'The operation could not be completed'
|
|
|
03-14-2017, 04:25 PM
|
#13
|
Banned
Join Date: Sep 2015
Posts: 1,650
|
Thanks both of you for the links to the libs. That's it working now.
Re the duplicate.py, Youlean wrote Youlean_W-DLicate.exe because of issues with it. Python is a PITA with version compatibility anyway. Here's the link to the thread...
http://forum.cockos.com/showthread.php?t=169429
|
|
|
03-14-2017, 04:34 PM
|
#14
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
Ahhh, I didn't know about that, thanks for the heads up! I'll have a go on that this evening and report back.
|
|
|
03-14-2017, 06:18 PM
|
#15
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
Ok, yeah that's definitely kicked things off! Thanks to you and Youlean :-)
I've solved the crashing I was getting while trying to load in my custom images, and it makes perfect sense now I found the solution. Although I had changed LoadIBitmap to LoadPointerToBitmap, I had to change:
Code:
IBitmap knob = pGraphics->LoadPointerToBitmap(KNOB_ID, KNOB_FN, kKnobFrames);
pGraphics->AttachControl(new IKnobMultiControl(this, kGainX, kGainY, kGain, &knob));
to:
Code:
IBitmap* knob = pGraphics->LoadPointerToBitmap(KNOB_ID, KNOB_FN, kKnobFrames);
pGraphics->AttachControl(new IKnobMultiControl(this, kGainX, kGainY, kGain, knob));
Basically just removing the ampersand from in front of 'knob' and adding an asterisk after 'IBitmap'. Hope this information ends up being useful to people out there!
|
|
|
03-15-2017, 09:30 AM
|
#16
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
OK. All libs are uploaded now. IPlugEffectGUIResize will be updated with more features later...
|
|
|
03-15-2017, 10:56 AM
|
#17
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
Do you have any thoughts on what might be preventing things things from compiling with XCode?
|
|
|
03-15-2017, 11:48 AM
|
#18
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Bobflip
Do you have any thoughts on what might be preventing things things from compiling with XCode?
|
There shouldn't be a problem. IPlugEffect compiles OK here. Did you tried IPlugEffect?
|
|
|
03-15-2017, 12:13 PM
|
#19
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
Yeah, went straight for IPlugEffect, figure it's always best to start with that and work up!
Which version of XCode and which SDK did you have selected? I've tried 8.1 on El Capitan and 6.2 on Mavericks and various iterations of SDK combinations but no luck.
I either get a bunch of parse errors with NSObject.h, NSEnumerator etc, or a linker error saying "linker command failed with exit code 1 (use -v to see invocation)" and "ld: library not found for -lpng16"
|
|
|
03-15-2017, 12:18 PM
|
#20
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Bobflip
Yeah, went straight for IPlugEffect, figure it's always best to start with that and work up!
Which version of XCode and which SDK did you have selected? I've tried 8.1 on El Capitan and 6.2 on Mavericks and various iterations of SDK combinations but no luck.
I either get a bunch of parse errors with NSObject.h, NSEnumerator etc, or a linker error saying "linker command failed with exit code 1 (use -v to see invocation)" and "ld: library not found for -lpng16"
|
I am using Xcode 8.3 so there might be a problem... 10.11 SDK.
The problem might be in link order. Look at this picture. lpng16 must be above all cairo stuff...
https://drive.google.com/file/d/0B1l...ew?usp=sharing
EDIT: lice.a must be at the lowest place!
Last edited by Youlean; 03-15-2017 at 12:25 PM.
|
|
|
03-15-2017, 12:25 PM
|
#21
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
I grabbed the 10.11 SDK and copied into the Developer folder in XCode's Package Contents, but I guess I'd need to upgrade to Sierra to get XCode 8.3 going! I'll reboot into El Capitan now and try out your link order suggestion though.
|
|
|
03-15-2017, 02:57 PM
|
#22
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
Ok, this appears to be one of those situation where it doesn't work until you ask, and then it's absolutely fine!
Not sure what I was doing wrong before... I'd fiddled around a bit so had maybe changed another setting by accident, or was only changing settings on one project instead of all of them. Managed to solve it by redownloading your branch from GitHub and starting afresh. It compiled first time.
Booted back into Mavericks to test XCode 6.2 with the same project, but that doesn't seem to work. No matter though... Now I need to try and get my files into the XCode project and compiling!
Thanks again for your work on this :-)
|
|
|
03-16-2017, 11:47 AM
|
#23
|
Human being with feelings
Join Date: Dec 2016
Posts: 51
|
Looking forward to having a go with this tonight - hopefully it fixes some issues I've had with Cairo plugins not working in Ableton... will check it later
|
|
|
03-16-2017, 04:27 PM
|
#24
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
Well, getting my sources into OSX is going well but slowly. Caught up on FFT at the moment, keep on getting Undefined Symbol errors, even though I've dragged a reference to fft.h into the Project Headers section. Tried it at the top and bottom as well! Have you got FFT going ok over there?
Undefined symbols for architecture x86_64:
"_WDL_fft_init", referenced from:
SpectralDisplay::SpectralDisplay(IPlugBase*, ycairo_base*, IRECT) in Compere.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
|
|
|
03-16-2017, 04:31 PM
|
#25
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Bobflip
Well, getting my sources into OSX is going well but slowly. Caught up on FFT at the moment, keep on getting linker errors, even though I've dragged a reference to fft.h into the Project Headers section. Tried it at the top and bottom as well! Have you got FFT going ok over there?
|
What are you getting? DId you included c source also?
|
|
|
03-16-2017, 04:33 PM
|
#26
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
Argh, that was it... sorry for the noobish mistake, having a rough time of things around here and not thinking fully clearly.
Thanks for the swift reply, before I'd even edited in the error message!
|
|
|
03-16-2017, 04:35 PM
|
#27
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Bobflip
Argh, that was it... sorry for the noobish mistake, having a rough time of things around here and not thinking fully clearly.
Thanks for the swift reply, before I'd even edited in the error message!
|
No problem.
|
|
|
03-21-2017, 07:41 AM
|
#28
|
Human being with feelings
Join Date: Jan 2017
Posts: 11
|
example projects
I have downloaded the latest IPlug-Youlean-Master and built all example projects with VS2015 in Win10 without issue, but two of the projects are not operating as expected. IPlugEffectCairoGraphics: When opening initially, 3 objects appear on gui(2 green and1 blue). After minimizing and maximizing the screen, 4 objects appear (3green and 1 blue). After repeating the process of minimizing/maximizing, all 4 objects are green.
IPlugEffectGUILiveEdit: Background resizes properly. Controls move but do not appear to resize properly. When trying to resize the knob, the vertically stitched knob image is revealed.
I have only tested the projects in savihost so far.
Also, are the modifier keys (E,B,T,etc...) still working? Resizing/moving only snaps to grid.
|
|
|
03-22-2017, 06:13 AM
|
#29
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by David S
I have downloaded the latest IPlug-Youlean-Master and built all example projects with VS2015 in Win10 without issue, but two of the projects are not operating as expected. IPlugEffectCairoGraphics: When opening initially, 3 objects appear on gui(2 green and1 blue). After minimizing and maximizing the screen, 4 objects appear (3green and 1 blue). After repeating the process of minimizing/maximizing, all 4 objects are green.
IPlugEffectGUILiveEdit: Background resizes properly. Controls move but do not appear to resize properly. When trying to resize the knob, the vertically stitched knob image is revealed.
I have only tested the projects in savihost so far.
Also, are the modifier keys (E,B,T,etc...) still working? Resizing/moving only snaps to grid.
|
IPlugEffectCairoGraphics: This is because of cairo_translate. If you do cairo_translate you must undo it before next frame...
IPlugEffectGUILiveEdit: You shouldn't resize knob as it must have fixed size depending on number of frames and bitmap width. This is stripped down version of previous IPlugGUILiveResize, it will gain many functions in the future...
|
|
|
03-22-2017, 07:11 AM
|
#30
|
Human being with feelings
Join Date: Jan 2017
Posts: 11
|
Thank you for replying. Even as is, Gui Live Edit is very useful.
|
|
|
03-26-2017, 02:11 PM
|
#31
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,109
|
Hi,
first of all thank you and congrats for your IPlug-Youlean release.
While trying this out I found I seem to have a problem with 'baked in' presets ( = not using chunks).
I simply copied your IPlugEffect example (using W-DLicate) and changed the following to make some presets (see screenshot). Result: Only first preset is shown (screenshot shows Reaper, but I get the same result in Tobybear's Minihost).
Hm, any idea what's going on ? Has anyone tried this, is it supposed to work ? (I used this method in WDL-OL without problems)
Thanks.
edit:
Hm...now I get the same result (only first preset showing up) also when I try with WDL-OL (I've recently pulled the latest commits), not sure what's going on.
At least it doesn't seem to be something with WDL-Y alone, need to investigate...
Last edited by nofish; 03-26-2017 at 03:18 PM.
|
|
|
03-26-2017, 02:13 PM
|
#32
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
I will check this out...
|
|
|
03-26-2017, 05:06 PM
|
#33
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,109
|
Thanks Youlean.
But meanwhile I think it probably has nothing to do with your IPlug version as I now have this problem also on some older projects, so I think it's something on my side.
But if you (or anyone) could confirm it's working as it should with your version that can at least narrow the cause.
edit:
To not spam your thread I've a new one here:
http://forum.cockos.com/showthread.php?t=190011
Last edited by nofish; 03-27-2017 at 07:25 AM.
|
|
|
03-30-2017, 01:20 PM
|
#34
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
Quote:
Originally Posted by Youlean
IPlugEffectCairoGraphics: This is because of cairo_translate. If you do cairo_translate you must undo it before next frame...
IPlugEffectGUILiveEdit: You shouldn't resize knob as it must have fixed size depending on number of frames and bitmap width. This is stripped down version of previous IPlugGUILiveResize, it will gain many functions in the future...
|
Hi there, I'm wondering if there's something we're meant to tweak to get the GUIResize to work correctly? I understand that it's stripped back for now, but over here only the edge of the window can be changed, but the controls stay in place. However David S's post says that for him the controls are moving.
I've pulled the latest WDL-Y to test, but the same results. I've tested both the VST and App versions with VS2015. I'd previously also tested with XCode with the same results, but not at home to check the latest version or check that I'd tested all three of App, VST and AU (I probably missed out VST).
Edit - Still on PC, noticed that Ableton doesn't appear to recognise the VST, though Reaper does. Compiled as 64 bit so that's not the issue!
Last edited by Bobflip; 03-30-2017 at 02:19 PM.
|
|
|
03-30-2017, 04:36 PM
|
#35
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
GUIResize example is not finished at all. For now you can only resize window. I will make it more complex soon. For now you can do your own experimenting...
|
|
|
03-30-2017, 04:49 PM
|
#36
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
Quote:
Originally Posted by Youlean
GUIResize example is not finished at all. For now you can only resize window. I will make it more complex soon. For now you can do your own experimenting...
|
Ah, fair enough! David S's post saying the controls themselves were moving threw me completely, but I'll 100% take your word for it that they're not, hahah.
Are there any pointers to how I might be able to experiment? I'm considering doing most of my controls as vector graphics so bitmap resizing won't be such an issue at this point. I could try and help beta test as well if you want. I already beta test for a number of high profile audio software companies, but haven't beta tested an entire framework before, lol.
|
|
|
03-30-2017, 04:55 PM
|
#37
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Bobflip
Ah, fair enough! David S's post saying the controls themselves were moving threw me completely, but I'll 100% take your word for it that they're not, hahah.
Are there any pointers to how I might be able to experiment? I'm considering doing most of my controls as vector graphics so bitmap resizing won't be such an issue at this point. I could try and help beta test as well if you want. I already beta test for a number of high profile audio software companies, but haven't beta tested an entire framework before, lol.
|
You can resize window in IPlugEffectGUILiveEdit...
For now look at IPlugGUIResize.h. I will try to add something for the weekend...
|
|
|
03-30-2017, 05:12 PM
|
#38
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
I'll see about giving it a bit of a prod on the long train journey home tomorrow. Thanks!
|
|
|
04-01-2017, 04:14 PM
|
#39
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
I have updated IPlugEffectGUIResize. Now you can see how it resizes or scales the window.
|
|
|
04-02-2017, 11:57 AM
|
#40
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
Thanks for that! I've compiled the test project and starting to have a little fiddle about, looks very well featured, lots of options.
One thing so far - spotted a typo in IPlugGUIResize with the naming of the functions GetWidnowSizeWidthRatio and GetWidnowSizeHeightRatio.
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 12:56 AM.
|