COCKOS
CONFEDERATED FORUMS
Cockos : REAPER : NINJAM : Forums
Forum Home : Register : FAQ : Members List : Search :
Old 02-05-2018, 09:34 AM   #281
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Well, it seems that you broke base project. Can you try building just base project?
No, I have not looked at AAX yet.
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 02-05-2018, 10:55 AM   #282
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

I think that now private parameters should be OK, though, you need to manually inform host about parameter change. For that it is best to call InformHostOfProgramChange on mouse up event.
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 02-05-2018, 10:57 AM   #283
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 341
Default

Ah, yep... I'd replaced the VST3_SDK folder instead of merged. Had got too used to doing that with the AAX folder!

So, IPlugEffect and my own plug are compiling as VST3 now. VST3 host runs them as expected, but in Bitwig they won't load, showing the error message "Could not load plug-in. Plugin host died: End of stream", and Reaper crashes with the following when I load either of them:

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 com.BogusNoise.vst3.Compere 0x000000010fd345f4 IParam::GetNormalized() + 4 (IParam.cpp:105)
1 com.cockos.reaper 0x000000010074c13b VST_HostedPlugin::VST3_Dispatcher(AEffect*, int, int, long long, void*, float) + 5259
2 com.cockos.reaper 0x000000010074acab _VST3_Dispatcher(AEffect*, int, int, long long, void*, float) + 43
3 com.cockos.reaper 0x000000010033a741 VST_HostedPlugin::SaveParamsNew(bool, bool, WDL_HeapBuf*, ProjectStateContext*) + 145
4 com.cockos.reaper 0x0000000100339d38 VST_HostedPlugin::OpenFromUID(char const*, int, char const*) + 9256
5 com.cockos.reaper 0x0000000100360ffc FxDsp::FxDsp(int, char const*, void*) + 1548
6 com.cockos.reaper 0x000000010037a7b1 FxChain::addSelection(HWND__*, bool, int) + 2257
7 com.cockos.reaper 0x00000001003a2ec6 addDialogProc(HWND__*, unsigned int, unsigned long, long) + 14678
Bobflip is offline   Reply With Quote
Old 02-05-2018, 11:01 AM   #284
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Update framework again.
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 02-05-2018, 11:25 AM   #285
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 341
Default

Nice one! That seems to have solved Reaper, but Bitwig's error message has changed to simply "Plug-in crashed".
Bobflip is offline   Reply With Quote
Old 02-05-2018, 11:26 AM   #286
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by Bobflip View Post
Nice one! That seems to have solved Reaper, but Bitwig's error message has changed to simply "Plug-in crashed".
Thanks, I will check!
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 02-05-2018, 01:06 PM   #287
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

It should be fixed now!
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 02-05-2018, 09:46 PM   #288
Opcode 7
Human being with feelings
 
Join Date: Mar 2017
Posts: 79
Default

Woo! Thanks for the new updates & commits

Somewhat unrelated -- but as I'm updating IAutoGUI.h to be resizeable, I found a bug (more so with IAutoGUI.h). I'm a little confounded on how to actually address the bug though.



Notice when I'm on "Page 3", and "Medium Name" is displayed, and I resize the GUI -- the parameter gets hidden and "Gain" from "Page 1" is displayed.

I tracked down the issue to be in IPlugGUIResize.cpp -- ResizeControlRects(),

Code:
isHidden = GetLayoutContainerIsHidden(current_view_mode, pControl);
...
pControl->Hide(resizedRectHidden);
IAutoGUI works by hiding parameters not on the current tab --- and when the window is resized, the resizing logic is hiding and unhiding parameters based on the bounds of the resized parameters...

Commenting out pControl->Hide addresses my issue short term --- but I'm not sure there's some edge case I wont run into later?

I'm just trying to think of what logic to add (and where) to 100% address this....any ideas?!

EDIT : Jesus... sorry, I think posting is my form of rubber duck debugging....I guess I could call GetLayoutContainerIsHidden(current_view_mode, pControl) within IAutoGUI to detemine if a control should be hidden, in conjunction with checking if the control is hidden based on the selected tab...but thats very specific to this situation and not very porta le...

But I guess that leaves me with a new question : for the resizeable view mode (which is what Ill only ever be using), are containers ever hidden?! When are / arent they?!

Last edited by Opcode 7; 02-05-2018 at 10:21 PM.
Opcode 7 is offline   Reply With Quote
Old 02-06-2018, 12:23 AM   #289
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 341
Default

Opcode - not quite sure how you're approaching it here, but I'm using IControlGroups and attaching controls to those. I've had a very similar problem in the past (possibly even talked about in this thread!) and it was required to use this instead:

GetGUIResize()->ShowControl(pControl);

And for the control groups:

page1Controls->HideControls();
Bobflip is offline   Reply With Quote
Old 02-06-2018, 04:26 AM   #290
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 341
Default

Quote:
Originally Posted by Youlean View Post
It should be fixed now!
Ok, so the examples now work in both, but the VST3 of my plug doesn't appear in the plugin list in either host! If I open a Reaper project that already contained my plug, I get the following:

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 com.BogusNoise.vst3.Compere 0x09090ab8 IPlugVST3::ResizeGraphics(int, int) + 40 (IPlugVST3.cpp:1095)
1 com.BogusNoise.vst3.Compere 0x0906f3a0 IGraphics::Resize(int, int) + 176 (IGraphics.cpp:490)
2 com.BogusNoise.vst3.Compere 0x0906d11f IGraphicsMac::Resize(int, int) + 63 (IGraphicsMac.mm:534)
3 com.BogusNoise.vst3.Compere 0x0908422b IPlugGUIResize::ResizeGraphics() + 1163 (IPlugGUIResize.cpp:1537)
4 com.BogusNoise.vst3.Compere 0x090121c0 Compere::OnParamChange(int, IPlugBase::ParamChangeFrom) + 3760 (Compere.cpp:2495)
5 com.BogusNoise.vst3.Compere 0x0902e9f6 IPlugBase::UnserializeParams(ByteChunk*, int) + 806 (IPlugBase.cpp:596)
6 com.BogusNoise.vst3.Compere 0x0902daa5 IPlugBase::RestorePreset(int) + 133 (IPlugBase.cpp:868)
7 com.BogusNoise.vst3.Compere 0x0908d3f5 IPlugVST3::initialize(Steinberg::FUnknown*) + 1829 (IPlugVST3.cpp:261)
8 com.BogusNoise.vst3.Compere 0x0908d5ed non-virtual thunk to IPlugVST3::initialize(Steinberg::FUnknown*) + 29 (IPlugVST3.cpp:151)
9 com.cockos.reaper 0x00795863 VST3_WriteIni(VST3Data*, int*, char const*, char const*, WDL_String*, bool*, HWND__*) + 2179
10 com.cockos.reaper 0x003630a9 RunItemScan2(HWND__*, char const*, char const*, FILETIME const*, DirScanInst const*) + 8233
11 com.cockos.reaper 0x00360a45 Run_FXscan(HWND__*) + 1317
12 com.cockos.reaper 0x0035fd35 vst_scandirs(HWND__*, bool) + 2469
13 com.cockos.reaper 0x005e070e Main_InitializeApp() + 1966
14 com.cockos.reaper 0x00040102 -[Controller applicationDidFinishLaunching:] + 50
15 com.apple.Foundation 0x9412c7a2 __57-[NSNotificationCenter addObserver:selector:namebject:]_block_invoke_2 + 50
16 com.apple.CoreFoundation 0x9573f094 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERV ER__ + 20
17 com.apple.CoreFoundation 0x9573f01b ___CFXRegistrationPost_block_invoke + 75
18 com.apple.CoreFoundation 0x9573ef8c _CFXRegistrationPost + 460
19 com.apple.CoreFoundation 0x9573ecc6 ___CFXNotificationPost_block_invoke + 54
20 com.apple.CoreFoundation 0x956f8643 -[_CFXNotificationRegistrar findbjectbserver:enumerator:] + 1715
21 com.apple.CoreFoundation 0x956f7862 _CFXNotificationPost + 626
22 com.apple.Foundation 0x940de8b4 -[NSNotificationCenter postNotificationNamebject:userInfo:] + 92
23 com.apple.AppKit 0x94605794 -[NSApplication _postDidFinishNotification] + 436
24 com.apple.AppKit 0x94605442 -[NSApplication _sendFinishLaunchingNotification] + 249
25 com.apple.AppKit 0x946fab9b -[NSApplication(NSAppleEventHandling) _handleAEOpenDocumentsForURLs:] + 337
26 com.apple.AppKit 0x944af15e -[NSApplication(NSAppleEventHandling) _handleCoreEvent:withReplyEvent:] + 774
27 libobjc.A.dylib 0x9b798db2 -[NSObject performSelector:withObject:withObject:] + 84
28 com.apple.Foundation 0x94130080 __76-[NSAppleEventManager setEventHandler:andSelector:forEventClass:andEvent ID:]_block_invoke + 118
29 com.apple.Foundation 0x9412fbd7 -[NSAppleEventManager dispatchRawAppleEvent:withRawReply:handlerRefCon:] + 451
30 com.apple.Foundation 0x9412f9d2 _NSAppleEventManagerGenericHandler + 211
31 com.apple.AE 0x91e8c281 aeDispatchAppleEvent(AEDesc const*, AEDesc*, unsigned long, unsigned char*) + 595
32 com.apple.AE 0x91e5dca5 dispatchEventAndSendReply(AEDesc const*, AEDesc*) + 44
33 com.apple.AE 0x91e5dbb8 aeProcessAppleEvent + 299
34 com.apple.HIToolbox 0x922e885a AEProcessAppleEvent + 55
35 com.apple.AppKit 0x944aa834 _DPSNextEvent + 2415
36 com.apple.AppKit 0x944a985b -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:deque ue:] + 1057
37 com.apple.AppKit 0x944a9432 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 121
38 com.apple.AppKit 0x9449cb47 -[NSApplication run] + 1063
39 com.apple.AppKit 0x94463469 NSApplicationMain + 1630
40 com.cockos.reaper 0x0000259b _start + 209
41 com.cockos.reaper 0x000024c9 start + 41
Bobflip is offline   Reply With Quote
Old 02-06-2018, 04:30 AM   #291
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by Opcode 7 View Post
Woo! Thanks for the new updates & commits

Somewhat unrelated -- but as I'm updating IAutoGUI.h to be resizeable, I found a bug (more so with IAutoGUI.h). I'm a little confounded on how to actually address the bug though.



Notice when I'm on "Page 3", and "Medium Name" is displayed, and I resize the GUI -- the parameter gets hidden and "Gain" from "Page 1" is displayed.

I tracked down the issue to be in IPlugGUIResize.cpp -- ResizeControlRects(),

Code:
isHidden = GetLayoutContainerIsHidden(current_view_mode, pControl);
...
pControl->Hide(resizedRectHidden);
IAutoGUI works by hiding parameters not on the current tab --- and when the window is resized, the resizing logic is hiding and unhiding parameters based on the bounds of the resized parameters...

Commenting out pControl->Hide addresses my issue short term --- but I'm not sure there's some edge case I wont run into later?

I'm just trying to think of what logic to add (and where) to 100% address this....any ideas?!

EDIT : Jesus... sorry, I think posting is my form of rubber duck debugging....I guess I could call GetLayoutContainerIsHidden(current_view_mode, pControl) within IAutoGUI to detemine if a control should be hidden, in conjunction with checking if the control is hidden based on the selected tab...but thats very specific to this situation and not very porta le...

But I guess that leaves me with a new question : for the resizeable view mode (which is what Ill only ever be using), are containers ever hidden?! When are / arent they?!
You should use GetGUIResize()->HideControl if you want to hide control while using gui resize.
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 02-06-2018, 04:32 AM   #292
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by Bobflip View Post
Ok, so the examples now work in both, but the VST3 of my plug doesn't appear in the plugin list in either host! If I open a Reaper project that already contained my plug, I get the following:

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 com.BogusNoise.vst3.Compere 0x09090ab8 IPlugVST3::ResizeGraphics(int, int) + 40 (IPlugVST3.cpp:1095)
1 com.BogusNoise.vst3.Compere 0x0906f3a0 IGraphics::Resize(int, int) + 176 (IGraphics.cpp:490)
2 com.BogusNoise.vst3.Compere 0x0906d11f IGraphicsMac::Resize(int, int) + 63 (IGraphicsMac.mm:534)
3 com.BogusNoise.vst3.Compere 0x0908422b IPlugGUIResize::ResizeGraphics() + 1163 (IPlugGUIResize.cpp:1537)
4 com.BogusNoise.vst3.Compere 0x090121c0 Compere::OnParamChange(int, IPlugBase::ParamChangeFrom) + 3760 (Compere.cpp:2495)
5 com.BogusNoise.vst3.Compere 0x0902e9f6 IPlugBase::UnserializeParams(ByteChunk*, int) + 806 (IPlugBase.cpp:596)
6 com.BogusNoise.vst3.Compere 0x0902daa5 IPlugBase::RestorePreset(int) + 133 (IPlugBase.cpp:868)
7 com.BogusNoise.vst3.Compere 0x0908d3f5 IPlugVST3::initialize(Steinberg::FUnknown*) + 1829 (IPlugVST3.cpp:261)
8 com.BogusNoise.vst3.Compere 0x0908d5ed non-virtual thunk to IPlugVST3::initialize(Steinberg::FUnknown*) + 29 (IPlugVST3.cpp:151)
9 com.cockos.reaper 0x00795863 VST3_WriteIni(VST3Data*, int*, char const*, char const*, WDL_String*, bool*, HWND__*) + 2179
10 com.cockos.reaper 0x003630a9 RunItemScan2(HWND__*, char const*, char const*, FILETIME const*, DirScanInst const*) + 8233
11 com.cockos.reaper 0x00360a45 Run_FXscan(HWND__*) + 1317
12 com.cockos.reaper 0x0035fd35 vst_scandirs(HWND__*, bool) + 2469
13 com.cockos.reaper 0x005e070e Main_InitializeApp() + 1966
14 com.cockos.reaper 0x00040102 -[Controller applicationDidFinishLaunching:] + 50
15 com.apple.Foundation 0x9412c7a2 __57-[NSNotificationCenter addObserver:selector:namebject:]_block_invoke_2 + 50
16 com.apple.CoreFoundation 0x9573f094 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERV ER__ + 20
17 com.apple.CoreFoundation 0x9573f01b ___CFXRegistrationPost_block_invoke + 75
18 com.apple.CoreFoundation 0x9573ef8c _CFXRegistrationPost + 460
19 com.apple.CoreFoundation 0x9573ecc6 ___CFXNotificationPost_block_invoke + 54
20 com.apple.CoreFoundation 0x956f8643 -[_CFXNotificationRegistrar findbjectbserver:enumerator:] + 1715
21 com.apple.CoreFoundation 0x956f7862 _CFXNotificationPost + 626
22 com.apple.Foundation 0x940de8b4 -[NSNotificationCenter postNotificationNamebject:userInfo:] + 92
23 com.apple.AppKit 0x94605794 -[NSApplication _postDidFinishNotification] + 436
24 com.apple.AppKit 0x94605442 -[NSApplication _sendFinishLaunchingNotification] + 249
25 com.apple.AppKit 0x946fab9b -[NSApplication(NSAppleEventHandling) _handleAEOpenDocumentsForURLs:] + 337
26 com.apple.AppKit 0x944af15e -[NSApplication(NSAppleEventHandling) _handleCoreEvent:withReplyEvent:] + 774
27 libobjc.A.dylib 0x9b798db2 -[NSObject performSelector:withObject:withObject:] + 84
28 com.apple.Foundation 0x94130080 __76-[NSAppleEventManager setEventHandler:andSelector:forEventClass:andEvent ID:]_block_invoke + 118
29 com.apple.Foundation 0x9412fbd7 -[NSAppleEventManager dispatchRawAppleEvent:withRawReply:handlerRefCon:] + 451
30 com.apple.Foundation 0x9412f9d2 _NSAppleEventManagerGenericHandler + 211
31 com.apple.AE 0x91e8c281 aeDispatchAppleEvent(AEDesc const*, AEDesc*, unsigned long, unsigned char*) + 595
32 com.apple.AE 0x91e5dca5 dispatchEventAndSendReply(AEDesc const*, AEDesc*) + 44
33 com.apple.AE 0x91e5dbb8 aeProcessAppleEvent + 299
34 com.apple.HIToolbox 0x922e885a AEProcessAppleEvent + 55
35 com.apple.AppKit 0x944aa834 _DPSNextEvent + 2415
36 com.apple.AppKit 0x944a985b -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:deque ue:] + 1057
37 com.apple.AppKit 0x944a9432 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 121
38 com.apple.AppKit 0x9449cb47 -[NSApplication run] + 1063
39 com.apple.AppKit 0x94463469 NSApplicationMain + 1630
40 com.cockos.reaper 0x0000259b _start + 209
41 com.cockos.reaper 0x000024c9 start + 41
It says that your plugin has crashed in IPlugVST3::ResizeGraphics, so put break poing in there and see what is not initialized.
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 02-06-2018, 04:33 AM   #293
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Are you resizing plugin from constructor maybe?
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 02-06-2018, 04:35 AM   #294
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

You can't resize graphics before AttachGraphics(pGraphics); in constructor.
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 02-06-2018, 04:38 AM   #295
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

I think that you are resizing graphics from OnParamChange on load and you can't do that.
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 02-06-2018, 04:49 AM   #296
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 341
Default

Quote:
Originally Posted by Youlean View Post
I think that you are resizing graphics from OnParamChange on load and you can't do that.
Ah, that is possibly it! Will prevent the buttons that call GetGUIResize()->ResizeGraphics() from doing it on load and report back.
Bobflip is offline   Reply With Quote
Old 02-06-2018, 04:50 AM   #297
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by Bobflip View Post
Ah, that is possibly it! Will prevent the buttons that call GetGUIResize()->ResizeGraphics() from doing it on load and report back.
Pull update, that might fix your problem. But also prevent resizing on load.
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 02-06-2018, 04:53 AM   #298
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 341
Default

Quote:
Originally Posted by Youlean View Post
Pull update, that might fix your problem. But also prevent resizing on load.
Will do both, cheers again!
Bobflip is offline   Reply With Quote
Old 02-06-2018, 05:56 AM   #299
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 341
Default

I've updated the framework and for the moment I've commented all the GetGUIResize()->ResizeGraphics() calls. It shows up in Reaper now, but gives these errors:

Code:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.BogusNoise.vst3.Compere   	0x00000001098297e7 IPlugBase::UnserializeParams(ByteChunk*, int) + 295 (IParam.h:40)
1   com.BogusNoise.vst3.Compere   	0x0000000109887bb5 IPlugVST3::setComponentState(Steinberg::IBStream*) + 133 (IPlugVST3.cpp:668)
2   com.cockos.reaper             	0x0000000100759c9e VST_HostedPlugin::VST3_Init(int, char const*) + 4190
3   com.cockos.reaper             	0x0000000100337b1c VST_HostedPlugin::OpenFromUID(char const*, int, char const*) + 524
4   com.cockos.reaper             	0x0000000100360ffc FxDsp::FxDsp(int, char const*, void*) + 1548
5   com.cockos.reaper             	0x000000010037a7b1 FxChain::addSelection(HWND__*, bool, int) + 2257
6   com.cockos.reaper             	0x00000001003a2ec6 addDialogProc(HWND__*, unsigned int, unsigned long, long) + 14678
And in Bitwig I found a way to clear the plugin caches. It still doesn't show in the plugin list but it's in the "Plugins with errors" section, with the following information:

Code:
com.bitwig.flt.library.metadata.reader.exception.CouldNotReadMetadataException: could not read metadata: Could not read VST plug-in metadata
64 bit plugin host reported errors: Pluginhost returned non zero exit code 139
Error messages:

F2AEE70D00DE4F4E42674E73424E6370
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile

32 bit plugin host reported errors: Pluginhost returned non zero exit code 139
Error messages:

F2AEE70D00DE4F4E42674E73424E6370
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
Bobflip is offline   Reply With Quote
Old 02-06-2018, 05:58 AM   #300
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Bob, you need to learn to debug you plugin. What does Reaper say?
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 02-06-2018, 06:16 AM   #301
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 341
Default

Sorry, I have done a fair bit of debugging while working on it so far and will usually try everything I can think of before asking, but as VST3 was working in both these hosts with the previous framework, I thought this was a process of finding bugs with the updated framework.

The resize bug wasn’t causing problems in any of the hosts I’d tested it in until this release, but I’m glad to know about it now so I can fix it.

The first list of errors is what Reaper gave, and I haven’t touched UnserializeParams at all so thought this was something to do with the recently changed preset management.
Bobflip is offline   Reply With Quote
Old 02-06-2018, 06:25 AM   #302
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Apologies from my side too, but it would help me a lot to know what exactly is wrong. If you look at Reaper debug info plugin crashes in IPlugBase::UnserializeParams(ByteChunk*, int) + 295 (IParam.h:40), so you can try putting a breakpoint in IPlugBase::UnserializeParams and look what is going on.

Anyways, are you loading clean projects, or project where you had your plugin already saved?

Also, I have pushed an update. Please try now!
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 02-06-2018, 06:47 AM   #303
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 341
Default

No problem! I always try to give as much relevant information as possible, but unfortunately it's a bit sparser with this issue. I have to say wasn't that impressed with Bitwig's error reporting…

I'm generally starting with the clean projects - when it's an issue like this I don't want any old settings or data there that could possibly interfere with things. That last case was an exception but a handy way of finding more info when the plugin wasn't accessible any other way.



But anyway, just tried the new update, and I’m happy to report that it’s made my plugin visible in both Bigwig and Reaper’s plugin lists, thanks for sorting that!

There is now an issue where the plugin interface size is 0x0 pixels, but I’m pretty sure that’ll be because I commented out all the resizing code, haha! I’ll crack on with that myself ;-)
Bobflip is offline   Reply With Quote
Old 02-06-2018, 06:51 AM   #304
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by Bobflip View Post
No problem! I always try to give as much relevant information as possible, but unfortunately it's a bit sparser with this issue. I have to say wasn't that impressed with Bitwig's error reporting…

I'm generally starting with the clean projects - when it's an issue like this I don't want any old settings or data there that could possibly interfere with things. That last case was an exception but a handy way of finding more info when the plugin wasn't accessible any other way.



But anyway, just tried the new update, and I’m happy to report that it’s made my plugin visible in both Bigwig and Reaper’s plugin lists, thanks for sorting that!

There is now an issue where the plugin interface size is 0x0 pixels, but I’m pretty sure that’ll be because I commented out all the resizing code, haha! I’ll crack on with that myself ;-)
Great! This is probably because you have loaded the old project. Unfortunately, this can't be avoided, but you can reset all parameters and resize plugin GUI in UnserializeState if you have info that user is coming from an earlier version.
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 02-06-2018, 07:04 AM   #305
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 341
Default

Nah, it was definitely because that resize code was commented out, I was loading an empty project and loading the plug into that, I also got the 0x0 size within VST3PluginTestHost! Uncommented the lines and everything looks as expected, but I'll refine the code so it doesn't call GetGUIResize()->ResizeGraphics() on load.
Bobflip is offline   Reply With Quote
Old 02-06-2018, 07:17 AM   #306
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by Bobflip View Post
Nah, it was definitely because that resize code was commented out, I was loading an empty project and loading the plug into that, I also got the 0x0 size within VST3PluginTestHost! Uncommented the lines and everything looks as expected, but I'll refine the code so it doesn't call GetGUIResize()->ResizeGraphics() on load.
Just use if (changeFrom != ParamChangeFrom::kLoading)
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 02-06-2018, 07:44 AM   #307
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 341
Default

Quote:
Originally Posted by Youlean View Post
Just use if (changeFrom != ParamChangeFrom::kLoading)
Aha... nice new addition, cheers!
Bobflip is offline   Reply With Quote
Old 02-07-2018, 09:05 AM   #308
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Examples now build on windows with AAX format. You just need to disable warrning treating as error in visual studio 2017
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 02-07-2018, 02:24 PM   #309
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 341
Default

Quote:
Originally Posted by Youlean View Post
Examples now build on windows with AAX format. You just need to disable warrning treating as error in visual studio 2017
Ah, great stuff, thanks for that! Will investigate asap.

One more thing - it seems like AU private parameters are still not private. In VST2 they work as expected, not sure about VST3 atm as I’m redoing a bunch of that right now.
Bobflip is offline   Reply With Quote
Old 02-07-2018, 02:41 PM   #310
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by Bobflip View Post
Ah, great stuff, thanks for that! Will investigate asap.

One more thing - it seems like AU private parameters are still not private. In VST2 they work as expected, not sure about VST3 atm as I’m redoing a bunch of that right now.
AU should be private, or at least with my plugin it is.
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 02-07-2018, 11:21 PM   #311
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 341
Default

Ok, here's some unexpected weirdness, spent a while trying to fix it in my own plug before finding out it happens with freshly downloaded version of the framework, and a cleaned and freshly compiled IPlugEffect! Auval is failing with this error:

Code:
PUBLISHED PARAMETER INFO:

# # # 1 Global Scope Parameters:
ERROR: Cannot retrieve consistent parameter flag info for published parameter ID:0

Testing that parameters retain value across reset and initialization
  PASS

* * FAIL
Bobflip is offline   Reply With Quote
Old 02-08-2018, 05:37 AM   #312
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by Bobflip View Post
Ok, here's some unexpected weirdness, spent a while trying to fix it in my own plug before finding out it happens with freshly downloaded version of the framework, and a cleaned and freshly compiled IPlugEffect! Auval is failing with this error:

Code:
PUBLISHED PARAMETER INFO:

# # # 1 Global Scope Parameters:
ERROR: Cannot retrieve consistent parameter flag info for published parameter ID:0

Testing that parameters retain value across reset and initialization
  PASS

* * FAIL
Well, that is bad I guess... I will check.
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 02-08-2018, 06:01 AM   #313
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Fixed!
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 02-08-2018, 10:27 AM   #314
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 341
Default

Yep, that’s sorted now, thanks once again!


Been looking at the private parameters, and they appear to be being recalled from host projects on VST3 and AU, but they’re not showing up on the parameter list on the auval result, so it’s some of the way there. You mentioned using InformHostOfProgramChange, and I added that to a couple of my custom controls, but not sure how that links in to public/private parameters?


Also, that GetGui->ResizeGraphics() problem from before was the result of a complete mistake I made with the structure of my plugin and I had to tear it apart and start again. Basically I’d been using two views for slightly different layouts when all I needed to do was automatically show, hide and move some controls. Instead I gave myself all sorts of trouble with trying to retain the UI size between the two views! I spent last night and this morning gradually re-adding all of my code to a freshly duplicated IPlugEffectGUIResize. Now that that’s sorted, it’s working much better, and I suspect this will solve a mysterious problem one customer had with the controls not showing up, as I had a similar looking error while adapting it to VST3.


However, I’m afraid this has brought up another issue - the IPlugEffectGUIResize VST2 format doesn’t recall its size, while the AU and VST3 versions do.
Bobflip is offline   Reply With Quote
Old 02-09-2018, 09:48 AM   #315
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

InformHostOfProgramChange will tell the host that you changed something and host should require the saving of the project before exit.

I am thinking about private parameters though. AAX really don't like it, so I am tryin to find a fix, or I might remove private params all together... That will be unfortunate, but I think this is likely to be.

So DON'T release your plugin yet!
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 02-09-2018, 10:06 AM   #316
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 341
Default

Erk, that's awkward news, I'm pushing to get the new update out asap! Was hoping for this evening but as there's been a few hiccups I'm thinking Monday is probably more realistic.

As private parameters are still being recalled from host projects and presets over here, I was thinking of finding a place to just set them to the desired values whenever the plugin is loaded or the preset changes.
Bobflip is offline   Reply With Quote
Old 02-09-2018, 10:36 AM   #317
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by Bobflip View Post
Erk, that's awkward news, I'm pushing to get the new update out asap! Was hoping for this evening but as there's been a few hiccups I'm thinking Monday is probably more realistic.

As private parameters are still being recalled from host projects and presets over here, I was thinking of finding a place to just set them to the desired values whenever the plugin is loaded or the preset changes.
I know, I am sad too, but I think this might be changed. On the other hand, I might make it compatible with an old version. Just tell me are you using just private parameters, or do you have a combination of private and public?
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 02-09-2018, 10:44 AM   #318
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 341
Default

Quote:
Originally Posted by Youlean View Post
I know, I am sad too, but I think this might be changed. On the other hand, I might make it compatible with an old version. Just tell me are you using just private parameters, or do you have a combination of private and public?
I'm using a combination. There's public ones that store things like the oscilloscope range, master gain, filter cutoff etc. Then there's private ones - all of the preferences are in there, a lot of them are only used for triggering buttons, and some are handles for display scales, and a couple of copy protection things.
Bobflip is offline   Reply With Quote
Old 02-09-2018, 11:35 AM   #319
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by Bobflip View Post
I'm using a combination. There's public ones that store things like the oscilloscope range, master gain, filter cutoff etc. Then there's private ones - all of the preferences are in there, a lot of them are only used for triggering buttons, and some are handles for display scales, and a couple of copy protection things.
OK. I will try not to break everything again, but wait until the Monday, please!
__________________
Website | Facebook Page | IPlug-Youlean
Youlean is offline   Reply With Quote
Old 02-09-2018, 11:38 AM   #320
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 341
Default

Quote:
Originally Posted by Youlean View Post
OK. I will try not to break everything again, but wait until the Monday, please!
Ok, sure, will do.
Bobflip 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 08:52 AM.


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