|
02-05-2018, 09:34 AM
|
#281
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Well, it seems that you broke base project. Can you try building just base project?
No, I have not looked at AAX yet.
|
|
|
02-05-2018, 10:55 AM
|
#282
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
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.
|
|
|
02-05-2018, 10:57 AM
|
#283
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
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
|
|
|
02-05-2018, 11:01 AM
|
#284
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Update framework again.
|
|
|
02-05-2018, 11:25 AM
|
#285
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
Nice one! That seems to have solved Reaper, but Bitwig's error message has changed to simply "Plug-in crashed".
|
|
|
02-05-2018, 11:26 AM
|
#286
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Bobflip
Nice one! That seems to have solved Reaper, but Bitwig's error message has changed to simply "Plug-in crashed".
|
Thanks, I will check!
|
|
|
02-05-2018, 01:06 PM
|
#287
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
It should be fixed now!
|
|
|
02-05-2018, 09:46 PM
|
#288
|
Human being with feelings
Join Date: Mar 2017
Posts: 79
|
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.
|
|
|
02-06-2018, 12:23 AM
|
#289
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
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();
|
|
|
02-06-2018, 04:26 AM
|
#290
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
Quote:
Originally Posted by Youlean
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:name bject:]_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 find bject bserver:enumerator:] + 1715
21 com.apple.CoreFoundation 0x956f7862 _CFXNotificationPost + 626
22 com.apple.Foundation 0x940de8b4 -[NSNotificationCenter postNotificationName bject: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
|
|
|
02-06-2018, 04:30 AM
|
#291
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Opcode 7
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.
|
|
|
02-06-2018, 04:32 AM
|
#292
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Bobflip
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:name bject:]_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 find bject bserver:enumerator:] + 1715
21 com.apple.CoreFoundation 0x956f7862 _CFXNotificationPost + 626
22 com.apple.Foundation 0x940de8b4 -[NSNotificationCenter postNotificationName bject: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.
|
|
|
02-06-2018, 04:33 AM
|
#293
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Are you resizing plugin from constructor maybe?
|
|
|
02-06-2018, 04:35 AM
|
#294
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
You can't resize graphics before AttachGraphics(pGraphics); in constructor.
|
|
|
02-06-2018, 04:38 AM
|
#295
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
I think that you are resizing graphics from OnParamChange on load and you can't do that.
|
|
|
02-06-2018, 04:49 AM
|
#296
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
Quote:
Originally Posted by Youlean
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.
|
|
|
02-06-2018, 04:50 AM
|
#297
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Bobflip
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.
|
|
|
02-06-2018, 04:53 AM
|
#298
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
Quote:
Originally Posted by Youlean
Pull update, that might fix your problem. But also prevent resizing on load.
|
Will do both, cheers again!
|
|
|
02-06-2018, 05:56 AM
|
#299
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
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
|
|
|
02-06-2018, 05:58 AM
|
#300
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Bob, you need to learn to debug you plugin. What does Reaper say?
|
|
|
02-06-2018, 06:16 AM
|
#301
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
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.
|
|
|
02-06-2018, 06:25 AM
|
#302
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
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!
|
|
|
02-06-2018, 06:47 AM
|
#303
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
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 ;-)
|
|
|
02-06-2018, 06:51 AM
|
#304
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Bobflip
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.
|
|
|
02-06-2018, 07:04 AM
|
#305
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
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.
|
|
|
02-06-2018, 07:17 AM
|
#306
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Bobflip
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)
|
|
|
02-06-2018, 07:44 AM
|
#307
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
Quote:
Originally Posted by Youlean
Just use if (changeFrom != ParamChangeFrom::kLoading)
|
Aha... nice new addition, cheers!
|
|
|
02-07-2018, 09:05 AM
|
#308
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Examples now build on windows with AAX format. You just need to disable warrning treating as error in visual studio 2017
|
|
|
02-07-2018, 02:24 PM
|
#309
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
Quote:
Originally Posted by Youlean
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.
|
|
|
02-07-2018, 02:41 PM
|
#310
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Bobflip
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.
|
|
|
02-07-2018, 11:21 PM
|
#311
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
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
|
|
|
02-08-2018, 05:37 AM
|
#312
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Bobflip
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.
|
|
|
02-08-2018, 06:01 AM
|
#313
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Fixed!
|
|
|
02-08-2018, 10:27 AM
|
#314
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
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.
|
|
|
02-09-2018, 09:48 AM
|
#315
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
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!
|
|
|
02-09-2018, 10:06 AM
|
#316
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
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.
|
|
|
02-09-2018, 10:36 AM
|
#317
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Bobflip
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?
|
|
|
02-09-2018, 10:44 AM
|
#318
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
Quote:
Originally Posted by Youlean
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.
|
|
|
02-09-2018, 11:35 AM
|
#319
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Bobflip
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!
|
|
|
02-09-2018, 11:38 AM
|
#320
|
Human being with feelings
Join Date: Nov 2016
Posts: 341
|
Quote:
Originally Posted by Youlean
OK. I will try not to break everything again, but wait until the Monday, please!
|
Ok, sure, will do.
|
|
|
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 08:52 AM.
|