COCKOS
CONFEDERATED FORUMS
Cockos : REAPER : NINJAM : Forums
Forum Home : Register : FAQ : Members List : Search :
Old 08-19-2017, 11:31 AM   #1
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 537
Default IPlug - Youlean [BUGS]

I would like to write any problem that you have with my repository here.

So far there are some problems regarding changing GUI size using resizing handle. This is broken in some hosts on macOS like Ardour5 or Ableton Live 9 (as Oli mentioned). I have an idea how to solve that so I will experiment with it in the next couple of days. This is definitely high priority for me.
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 08-22-2017, 12:41 AM   #2
mibes
Human being with feelings
 
Join Date: Apr 2017
Posts: 35
Default

I had to go through and add a bunch of brackets around where there were castings to unsigned chars in order to get examples to build. No problem really.
mibes is offline   Reply With Quote
Old 08-24-2017, 10:46 PM   #3
nosonic
Human being with feelings
 
Join Date: Aug 2017
Posts: 6
Default

Just shortly checked examples yesterday. During resizing everything is getting black. Is that intentional?
nosonic is offline   Reply With Quote
Old 08-24-2017, 11:58 PM   #4
Anomaly
Human being with feelings
 
Anomaly's Avatar
 
Join Date: Sep 2007
Posts: 636
Default

Quote:
Originally Posted by nosonic View Post
Just shortly checked examples yesterday. During resizing everything is getting black. Is that intentional?
Not being the developer, I'd venture to say it's normal. Each time you change the gui size, all graphics needs to be recalculated/re-scaled. It may be time consuming especially if you have bitmaps. It's not a "real time" process.
__________________
___________________________
Sonic Anomaly | free JSFX & VST Plugins
Anomaly is offline   Reply With Quote
Old 08-25-2017, 12:35 AM   #5
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 537
Default

Quote:
Originally Posted by Anomaly View Post
Not being the developer, I'd venture to say it's normal. Each time you change the gui size, all graphics needs to be recalculated/re-scaled. It may be time consuming especially if you have bitmaps. It's not a "real time" process.
Indeed, there is setting to disable that but GUI resizing will be significantly slower. If I remove LICE support in the future showing GUI while resizing will be much faster...
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 08-31-2017, 10:21 AM   #6
Anomaly
Human being with feelings
 
Anomaly's Avatar
 
Join Date: Sep 2007
Posts: 636
Default

I have never been able to make presets work with Iplug-Youlean. So I made a following test:

I created a new project from the IPlugEffect template, one with WDL-OL and another with IPlug-Youlean. Then I added the following presets to both of them:

MakePreset("preset 1", 10.);
MakePreset("preset 2", 20.);
MakePreset("preset 3", 30.);
MakePreset("preset 4", 40.);
MakePreset("preset 5", 50.);
MakePreset("preset 6", 60.);
MakePreset("preset 7", 70.);
MakePreset("preset 8", 80.);
MakePreset("preset 9", 90.);
MakePreset("preset 10", 100.);

This is basically just the kGain knob. After compiling both, I tested them in REAPER. The WDL-OL version worked perfectly. The gain knob moves when I switch the presets. But with the IPlug-Youlean version however the gain knob won't change.

So I wanted to add this issue to the bugs list. If this is already a known issue, then my apologies.
__________________
___________________________
Sonic Anomaly | free JSFX & VST Plugins
Anomaly is offline   Reply With Quote
Old 08-31-2017, 12:40 PM   #7
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 537
Default

Quote:
Originally Posted by Anomaly View Post
I have never been able to make presets work with Iplug-Youlean. So I made a following test:

I created a new project from the IPlugEffect template, one with WDL-OL and another with IPlug-Youlean. Then I added the following presets to both of them:

MakePreset("preset 1", 10.);
MakePreset("preset 2", 20.);
MakePreset("preset 3", 30.);
MakePreset("preset 4", 40.);
MakePreset("preset 5", 50.);
MakePreset("preset 6", 60.);
MakePreset("preset 7", 70.);
MakePreset("preset 8", 80.);
MakePreset("preset 9", 90.);
MakePreset("preset 10", 100.);

This is basically just the kGain knob. After compiling both, I tested them in REAPER. The WDL-OL version worked perfectly. The gain knob moves when I switch the presets. But with the IPlug-Youlean version however the gain knob won't change.

So I wanted to add this issue to the bugs list. If this is already a known issue, then my apologies.
Thanks. I definitely should look at this. I will try to fix that ASAP.
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 09-08-2017, 11:23 AM   #8
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 149
Default

Quote:
Originally Posted by Youlean View Post
Thanks. I definitely should look at this. I will try to fix that ASAP.
I was going to ask about this as well! Thought I was getting the code wrong in some way, but as itís non-critical it kept getting pushed down the priority list.

Also on OSX, it seems that a controlís OnMouseOut is not called if the mouse pointer is moved off the plugin window - for example if a control is right next to the edge of the window and the mouse is moved quickly in that direction. Appears to be ok in Windows though.
Bobflip is offline   Reply With Quote
Old 09-09-2017, 09:31 AM   #9
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 537
Default

Quote:
Originally Posted by Bobflip View Post
Also on OSX, it seems that a controlís OnMouseOut is not called if the mouse pointer is moved off the plugin window - for example if a control is right next to the edge of the window and the mouse is moved quickly in that direction. Appears to be ok in Windows though.
Thanks, I will check this out too.
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 09-09-2017, 02:14 PM   #10
Anomaly
Human being with feelings
 
Anomaly's Avatar
 
Join Date: Sep 2007
Posts: 636
Default

I'd like to report couple issues with VST3:

- Private parameters are getting displayed to the host (Reaper) with vst3.

- It is not possible to set up more input/output channels than 6 with VST3. Anything higher than that causes the plugin I/O to "disappear". By disappear I mean that Reaper can't access the I/O layout of that plugin.
__________________
___________________________
Sonic Anomaly | free JSFX & VST Plugins
Anomaly is offline   Reply With Quote
Old 09-09-2017, 07:40 PM   #11
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 149
Default

Quote:
Originally Posted by Anomaly View Post
I'd like to report couple issues with VST3:

- Private parameters are getting displayed to the host (Reaper) with vst3.

- It is not possible to set up more input/output channels than 6 with VST3. Anything higher than that causes the plugin I/O to "disappear". By disappear I mean that Reaper can't access the I/O layout of that plugin.
I'm wondering if I've been having trouble with private parameters as well. I thought it was partially my code and partially not fully understanding what theyíre to be used for. Are they meant to be left alone when the host saves/loads presets and projects, and not supposed to be automatable? If so then I think Iím experiencing similar problems with them with OSX/Logic.




I've also spotted a typo in the IPlugConfigFile class, SetEncriptionKey should be SetEncryptionKey
Bobflip is offline   Reply With Quote
Old 09-09-2017, 11:54 PM   #12
Anomaly
Human being with feelings
 
Anomaly's Avatar
 
Join Date: Sep 2007
Posts: 636
Default

Quote:
Originally Posted by Bobflip View Post
Are they meant to be left alone when the host saves/loads presets and projects, and not supposed to be automatable?
Yes, I believe that is the idea. Comparing to VST2, the private parameters are not exposed to host at all, nor recalled by presets.
__________________
___________________________
Sonic Anomaly | free JSFX & VST Plugins
Anomaly is offline   Reply With Quote
Old 09-10-2017, 02:55 AM   #13
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 537
Default

Quote:
Originally Posted by Anomaly View Post
Yes, I believe that is the idea. Comparing to VST2, the private parameters are not exposed to host at all, nor recalled by presets.
Idea for private presets is to be hidden from the host like chunks but to be easy to work on unlike chunks. I will definitely need to check this out.
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 09-10-2017, 03:08 AM   #14
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 537
Default

I have tested the private presets and it seems that you were right. I will try to fix that ASAP in package with making presets.

Thanks for the reporting bugs guys, it really speeds up a development!
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 09-10-2017, 07:16 AM   #15
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 149
Default

No problem! Thanks again for all your work on the framework, it's speeds development up for me even more, hahah :-)

I would like to help out with the development of IPlug at some point, once I've got my own project completed (or at least at 1.0) it'd be nice to give something back. Not sure what I can do at this stage, but then again I think I should probably have more confidence in my abilities!
Bobflip is offline   Reply With Quote
Old 09-10-2017, 12:22 PM   #16
Anomaly
Human being with feelings
 
Anomaly's Avatar
 
Join Date: Sep 2007
Posts: 636
Default

Thanks to you Youlean for your hard work!
__________________
___________________________
Sonic Anomaly | free JSFX & VST Plugins
Anomaly is offline   Reply With Quote
Old 09-11-2017, 06:07 AM   #17
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 149
Default

I'm experiencing a problem with resizing and showing/hiding controls, I've poked around enough that I think it could be a bug with WDL-Youlean, but we'll see...

Basically, I have a control that I want to show when another button is pressed. At first I had the following code in the constructor and in OnParamChange, which was all good:

Code:
    bitmap = pGraphics->LoadPointerToBitmap(IBUTTON_TEST_ID, IBUTTON_TEST_FN, 1);
    mTestControl = pGraphics->AttachControl(pTestControl = new ISwitchControl(this, 50, 10, kTestControl, bitmap));
    pTestControl->Hide(true);
    hideFlag = true;
    
    bitmap = pGraphics->LoadPointerToBitmap(IBUTTON_SHOW_ID, IBUTTON_SHOW_FN, 2);
    mShowSwitch = pGraphics->AttachControl(pShowSwitch = new ISwitchControl(this, 10, 10, kShowSwitch, bitmap));


        case kShowSwitch:
            if (GetParam(kShowSwitch)->Value() == true) {
                pTestControl->Hide(false);
            }
            else {
                pTestControl->Hide(true);
            }
However, trying to put that into a plugin with a resizable window is causing problems. If I have clicked the button to show the control, every time I resize the GUI, the newly shown control will disappear again when I release the mouse button. Iíve included the if(hideFlag) check in all the view modes. It seems like itís being redrawn elsewhere? Interestingly, if I comment out pTestControl->Hide(true) and hideFlag = true, the problem happens in reverse, where the control will be unhidden after releasing the mouse button.

Code:
    bitmap = pGraphics->LoadPointerToBitmap(IBUTTON_TEST_ID, IBUTTON_TEST_FN, 1);
    mTestControl = pGraphics->AttachControl(pTestControl = new ISwitchControl(this, 50, 10, kTestControl, bitmap));
    pTestControl->Hide(true);
    hideFlag = true;
    
    bitmap = pGraphics->LoadPointerToBitmap(IBUTTON_SHOW_ID, IBUTTON_SHOW_FN, 2);
    mShowSwitch = pGraphics->AttachControl(pShowSwitch = new ISwitchControl(this, 10, 10, kShowSwitch, bitmap));


        case kShowSwitch:
            if (GetParam(kShowSwitch)->Value() == true) {
                hideFlag = false;
                pTestControl->Hide(false);
            }
            else {
                hideFlag = true;
                pTestControl->Hide(true);
            }

    if (viewMode == defaultView)
    {
        GetGUIResize()->MoveControlHorizontally(*knobIndex, windowWidth - 200);
        GetGUIResize()->MoveControlHorizontally(*helloIPlugIndex, windowWidth - 220);
        GetGUIResize()->MoveControlHorizontally(*miniViewIndex, windowWidth - 220);
        GetGUIResize()->MoveControlHorizontally(*defaultViewIndex, windowWidth - 220);
        GetGUIResize()->MoveControlHorizontally(*hugeViewIndex, windowWidth - 220);
        GetGUIResize()->MoveControlHorizontally(*handleSelectorIndex, windowWidth - 220);
        
        if (hideFlag == true)
            pTestControl->Hide(true);
        else
            pTestControl->Hide(false);
        
    }
Bobflip is offline   Reply With Quote
Old 09-11-2017, 06:41 AM   #18
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 537
Default

You will need to use GuiResize hide/show control method for that.
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 09-11-2017, 06:52 AM   #19
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 149
Default

D'oh, thanks! I'll go implement that now instead.
Bobflip is offline   Reply With Quote
Old 09-11-2017, 06:56 AM   #20
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 537
Default

Quote:
Originally Posted by Bobflip View Post
D'oh, thanks! I'll go implement that now instead.
No problem. This is indeed little bit confusing so I might try to find a way to make that better implemented...
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 09-11-2017, 07:11 AM   #21
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 149
Default

And now itís working great! Thereís a couple of minor issues still, but Iím pretty certain thatíll be my own code (and probably something Iíve changed while trying to get it to work the other way, lol)

Iím certainly finding it easier to read using ShowControl and HideControl over the Hide(true) and Hide(false) methods :-)
Bobflip is offline   Reply With Quote
Old 09-11-2017, 02:24 PM   #22
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 149
Default

One extra question regarding this - is it possible to show/hide a control on a view other than the current view?
Bobflip is offline   Reply With Quote
Old 09-11-2017, 02:28 PM   #23
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 537
Default

Quote:
Originally Posted by Bobflip View Post
One extra question regarding this - is it possible to show/hide a control on a view other than the current view?
Not for now. Why would you need that?
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 09-11-2017, 02:39 PM   #24
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 149
Default

I have a Prefs window that is shown when you click on the plugin logo, and on that window are buttons for two view modes. When I clicked on the second view mode, the Preference window was disappearing. The solution in mind was to show the prefs window on both views in two separate lines, only as I check back now it doesn't appear to be doing this any more! The logo switch value seems to be remembering the old state though.
Bobflip is offline   Reply With Quote
Old 09-11-2017, 02:49 PM   #25
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 537
Default

Quote:
Originally Posted by Bobflip View Post
I have a Prefs window that is shown when you click on the plugin logo, and on that window are buttons for two view modes. When I clicked on the second view mode, the Preference window was disappearing. The solution in mind was to show the prefs window on both views in two separate lines, only as I check back now it doesn't appear to be doing this any more! The logo switch value seems to be remembering the old state though.
Views are separated one from another. You can use SelectViewMode method to select other view and change position/show/hide and switch back to current view. GUI won't be changed unless you call ResizeGraphics method.
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 09-11-2017, 03:00 PM   #26
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 149
Default

Ah excellent, that'll do the trick, thanks again!
Bobflip is offline   Reply With Quote
Old 09-14-2017, 08:58 AM   #27
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 537
Default

Good news, I found what is problem with presets, now only I need to implement that...
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 09-14-2017, 09:53 AM   #28
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 149
Default

Excellent news! :-D
Bobflip is offline   Reply With Quote
Old 10-19-2017, 10:07 AM   #29
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 149
Default

Iíve just spotted that if you accidentally add a control to a control group twice, any GUI resizing is applied to that control twice.

Of course this would really be a bug with the plugin code rather than the framework, but wonder if there should be a check or warning?
Bobflip is offline   Reply With Quote
Old 11-09-2017, 02:06 PM   #30
random_id
Human being with feelings
 
random_id's Avatar
 
Join Date: May 2012
Location: PA, USA
Posts: 313
Default

Is anyone trying VST3 SDK 3.6.8?

I am trying it on Xcode, but I get an error in IPlugVST3.h. It is specific to IUnitInfo.

If everyone is still on 3.6.7, it might be easier for me to just switch to that.

Thanks
__________________
Website: LVC-Audio
random_id is offline   Reply With Quote
Old 11-09-2017, 03:40 PM   #31
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 537
Default

I am using 3.6.7. I will check this until end of week...
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 11-13-2017, 03:19 PM   #32
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 149
Default

Spotted a typo in ycairo.h and ycairo.cpp

With ycairo_text_w_aligement and ycairo_text_h_aligement, aligement should be alignment.
Bobflip is offline   Reply With Quote
Old 11-17-2017, 07:37 PM   #33
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 537
Default

Quote:
Originally Posted by Bobflip View Post
Spotted a typo in ycairo.h and ycairo.cpp

With ycairo_text_w_aligement and ycairo_text_h_aligement, aligement should be alignment.
Hahahah, indeed.
__________________
Website | Facebook Page | IPlug-Youlean
Youlean 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 04:01 AM.


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